From 13c3572d26e0868b9665513e4646ade860ae7810 Mon Sep 17 00:00:00 2001 From: Siep Kroonenberg Date: Wed, 3 Mar 2021 11:04:20 +0000 Subject: Updated tlperl git-svn-id: svn://tug.org/texlive/trunk@58075 c570f23f-e606-0410-a88d-b1316a301751 --- Master/tlpkg/tlperl/README.TEXLIVE | 4 +- Master/tlpkg/tlperl/bin/perl.exe | Bin 19456 -> 19456 bytes Master/tlpkg/tlperl/bin/perl5.30.1.exe | Bin 19456 -> 0 bytes Master/tlpkg/tlperl/bin/perl530.dll | Bin 2742272 -> 0 bytes Master/tlpkg/tlperl/bin/perl532.dll | Bin 0 -> 2884096 bytes Master/tlpkg/tlperl/bin/perlglob.exe | Bin 14848 -> 15360 bytes Master/tlpkg/tlperl/bin/wperl.exe | Bin 19456 -> 19456 bytes Master/tlpkg/tlperl/lib/.packlist | 3321 +- Master/tlpkg/tlperl/lib/App/Cpan.pm | 43 +- Master/tlpkg/tlperl/lib/Archive/Tar.pm | 72 +- Master/tlpkg/tlperl/lib/Archive/Tar/Constant.pm | 13 +- Master/tlpkg/tlperl/lib/Archive/Tar/File.pm | 2 +- Master/tlpkg/tlperl/lib/B.pm | 2 +- Master/tlpkg/tlperl/lib/B/Deparse.pm | 346 +- Master/tlpkg/tlperl/lib/B/Op_private.pm | 31 +- Master/tlpkg/tlperl/lib/Benchmark.pm | 4 +- Master/tlpkg/tlperl/lib/CORE/EXTERN.h | 2 +- Master/tlpkg/tlperl/lib/CORE/XSUB.h | 46 +- Master/tlpkg/tlperl/lib/CORE/av.h | 6 +- Master/tlpkg/tlperl/lib/CORE/charclass_invlists.h | 42577 ++++-- Master/tlpkg/tlperl/lib/CORE/config.h | 38 +- Master/tlpkg/tlperl/lib/CORE/cop.h | 106 +- Master/tlpkg/tlperl/lib/CORE/cv.h | 8 +- Master/tlpkg/tlperl/lib/CORE/dosish.h | 5 +- Master/tlpkg/tlperl/lib/CORE/dquote_inline.h | 67 - Master/tlpkg/tlperl/lib/CORE/ebcdic_tables.h | 20 +- Master/tlpkg/tlperl/lib/CORE/embed.h | 505 +- Master/tlpkg/tlperl/lib/CORE/embedvar.h | 117 +- Master/tlpkg/tlperl/lib/CORE/feature.h | 208 +- Master/tlpkg/tlperl/lib/CORE/handy.h | 967 +- Master/tlpkg/tlperl/lib/CORE/hv.h | 18 +- Master/tlpkg/tlperl/lib/CORE/hv_func.h | 34 +- Master/tlpkg/tlperl/lib/CORE/hv_macro.h | 60 +- Master/tlpkg/tlperl/lib/CORE/inline.h | 411 +- Master/tlpkg/tlperl/lib/CORE/intrpvar.h | 167 +- Master/tlpkg/tlperl/lib/CORE/invlist_inline.h | 158 +- Master/tlpkg/tlperl/lib/CORE/iperlsys.h | 38 +- Master/tlpkg/tlperl/lib/CORE/keywords.h | 293 +- Master/tlpkg/tlperl/lib/CORE/l1_char_class_tab.h | 408 +- Master/tlpkg/tlperl/lib/CORE/libperl530.a | Bin 1025100 -> 0 bytes Master/tlpkg/tlperl/lib/CORE/libperl532.a | Bin 0 -> 963632 bytes Master/tlpkg/tlperl/lib/CORE/metaconfig.h | 15 +- Master/tlpkg/tlperl/lib/CORE/op.h | 121 +- Master/tlpkg/tlperl/lib/CORE/opcode.h | 175 +- Master/tlpkg/tlperl/lib/CORE/opnames.h | 5 +- Master/tlpkg/tlperl/lib/CORE/pad.h | 48 +- Master/tlpkg/tlperl/lib/CORE/parser.h | 12 +- Master/tlpkg/tlperl/lib/CORE/patchlevel.h | 4 +- Master/tlpkg/tlperl/lib/CORE/perl.h | 856 +- Master/tlpkg/tlperl/lib/CORE/perlapi.h | 72 +- Master/tlpkg/tlperl/lib/CORE/perlhost.h | 13 +- Master/tlpkg/tlperl/lib/CORE/perlio.h | 3 + Master/tlpkg/tlperl/lib/CORE/perllibst.h | 14 - Master/tlpkg/tlperl/lib/CORE/perlvars.h | 74 +- Master/tlpkg/tlperl/lib/CORE/perly.h | 171 +- Master/tlpkg/tlperl/lib/CORE/pp.h | 28 +- Master/tlpkg/tlperl/lib/CORE/pp_proto.h | 8 +- Master/tlpkg/tlperl/lib/CORE/proto.h | 2140 +- Master/tlpkg/tlperl/lib/CORE/reentr.h | 2612 +- Master/tlpkg/tlperl/lib/CORE/regcharclass.h | 458 +- Master/tlpkg/tlperl/lib/CORE/regcomp.h | 287 +- Master/tlpkg/tlperl/lib/CORE/regexp.h | 30 +- Master/tlpkg/tlperl/lib/CORE/regnodes.h | 426 +- Master/tlpkg/tlperl/lib/CORE/scope.h | 12 +- Master/tlpkg/tlperl/lib/CORE/stadtx_hash.h | 52 - Master/tlpkg/tlperl/lib/CORE/sv.h | 173 +- Master/tlpkg/tlperl/lib/CORE/sys/errno2.h | 7 +- Master/tlpkg/tlperl/lib/CORE/sys/socket.h | 157 +- Master/tlpkg/tlperl/lib/CORE/time64.h | 13 - Master/tlpkg/tlperl/lib/CORE/uconfig.h | 42 +- Master/tlpkg/tlperl/lib/CORE/uni_keywords.h | 14683 +- Master/tlpkg/tlperl/lib/CORE/unicode_constants.h | 10 +- Master/tlpkg/tlperl/lib/CORE/unixish.h | 4 +- Master/tlpkg/tlperl/lib/CORE/utf8.h | 366 +- Master/tlpkg/tlperl/lib/CORE/utfebcdic.h | 73 +- Master/tlpkg/tlperl/lib/CORE/util.h | 30 +- Master/tlpkg/tlperl/lib/CORE/vdir.h | 8 +- Master/tlpkg/tlperl/lib/CORE/vmem.h | 2 - Master/tlpkg/tlperl/lib/CORE/warnings.h | 96 + Master/tlpkg/tlperl/lib/CORE/win32.h | 29 +- Master/tlpkg/tlperl/lib/CORE/win32iop-o.h | 327 - Master/tlpkg/tlperl/lib/CORE/win32iop.h | 155 +- Master/tlpkg/tlperl/lib/CORE/wince.h | 146 - Master/tlpkg/tlperl/lib/CORE/zaphod32_hash.h | 35 - Master/tlpkg/tlperl/lib/CPAN.pm | 109 +- Master/tlpkg/tlperl/lib/CPAN/Bundle.pm | 16 +- Master/tlpkg/tlperl/lib/CPAN/Distribution.pm | 415 +- Master/tlpkg/tlperl/lib/CPAN/FTP.pm | 19 +- Master/tlpkg/tlperl/lib/CPAN/FirstTime.pm | 83 +- Master/tlpkg/tlperl/lib/CPAN/HandleConfig.pm | 12 +- Master/tlpkg/tlperl/lib/CPAN/Mirrors.pm | 119 +- Master/tlpkg/tlperl/lib/CPAN/Queue.pm | 13 +- Master/tlpkg/tlperl/lib/CPAN/Shell.pm | 9 +- Master/tlpkg/tlperl/lib/CPAN/Tarzip.pm | 21 +- Master/tlpkg/tlperl/lib/Class/Struct.pm | 4 +- Master/tlpkg/tlperl/lib/Compress/Raw/Bzip2.pm | 10 +- Master/tlpkg/tlperl/lib/Compress/Raw/Zlib.pm | 8 +- Master/tlpkg/tlperl/lib/Compress/Zlib.pm | 20 +- Master/tlpkg/tlperl/lib/Config.pm | 14 +- Master/tlpkg/tlperl/lib/Config.pm.orig | 24 +- Master/tlpkg/tlperl/lib/Config.pod | 114 +- Master/tlpkg/tlperl/lib/Config_heavy.pl | 41 +- Master/tlpkg/tlperl/lib/Config_heavy.pl.orig | 123 +- Master/tlpkg/tlperl/lib/Data/Dumper.pm | 4 +- Master/tlpkg/tlperl/lib/Devel/PPPort.pm | 15385 ++- Master/tlpkg/tlperl/lib/Digest/MD5.pm | 2 +- Master/tlpkg/tlperl/lib/Dumpvalue.pm | 19 +- Master/tlpkg/tlperl/lib/DynaLoader.pm | 11 +- Master/tlpkg/tlperl/lib/Encode.pm | 6 +- Master/tlpkg/tlperl/lib/Encode/Guess.pm | 4 +- Master/tlpkg/tlperl/lib/Encode/encode.h | 8 + Master/tlpkg/tlperl/lib/English.pm | 4 +- Master/tlpkg/tlperl/lib/Errno.pm | 26 +- Master/tlpkg/tlperl/lib/Exporter.pm | 2 +- Master/tlpkg/tlperl/lib/Exporter/Heavy.pm | 4 +- Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm | 6 +- Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm | 2 +- .../tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm | 2 +- .../tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm | 2 +- .../lib/ExtUtils/CBuilder/Platform/Windows.pm | 2 +- .../lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm | 2 +- .../lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm | 2 +- .../lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm | 2 +- .../tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm | 2 +- .../lib/ExtUtils/CBuilder/Platform/android.pm | 2 +- .../lib/ExtUtils/CBuilder/Platform/cygwin.pm | 2 +- .../lib/ExtUtils/CBuilder/Platform/darwin.pm | 2 +- .../lib/ExtUtils/CBuilder/Platform/dec_osf.pm | 2 +- .../tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm | 2 +- Master/tlpkg/tlperl/lib/ExtUtils/Command.pm | 4 +- Master/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm | 4 +- Master/tlpkg/tlperl/lib/ExtUtils/Liblist.pm | 4 +- Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm | 18 +- Master/tlpkg/tlperl/lib/ExtUtils/MM.pm | 8 +- Master/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm | 12 +- Master/tlpkg/tlperl/lib/ExtUtils/MM_Any.pm | 27 +- Master/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm | 8 +- Master/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm | 22 +- Master/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm | 8 +- Master/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm | 6 +- Master/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm | 4 +- Master/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm | 8 +- Master/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm | 6 +- Master/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm | 8 +- Master/tlpkg/tlperl/lib/ExtUtils/MM_UWIN.pm | 8 +- Master/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm | 162 +- Master/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm | 26 +- Master/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm | 8 +- Master/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm | 22 +- Master/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm | 6 +- Master/tlpkg/tlperl/lib/ExtUtils/MY.pm | 6 +- Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm | 70 +- .../tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm | 4 +- Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod | 32 +- .../tlpkg/tlperl/lib/ExtUtils/MakeMaker/Locale.pm | 16 +- .../tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod | 7 +- .../tlpkg/tlperl/lib/ExtUtils/MakeMaker/version.pm | 6 +- Master/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm | 6 +- Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm | 6 +- Master/tlpkg/tlperl/lib/ExtUtils/testlib.pm | 4 +- Master/tlpkg/tlperl/lib/Fatal.pm | 34 +- Master/tlpkg/tlperl/lib/File/Find.pm | 2 +- Master/tlpkg/tlperl/lib/File/Glob.pm | 9 +- Master/tlpkg/tlperl/lib/File/Spec/Win32.pm | 4 +- Master/tlpkg/tlperl/lib/File/stat.pm | 5 +- Master/tlpkg/tlperl/lib/Filter/Simple.pm | 3 +- Master/tlpkg/tlperl/lib/Getopt/Long.pm | 33 +- Master/tlpkg/tlperl/lib/Hash/Util.pm | 4 +- Master/tlpkg/tlperl/lib/I18N/LangTags.pm | 16 +- Master/tlpkg/tlperl/lib/I18N/LangTags/Detect.pm | 8 +- Master/tlpkg/tlperl/lib/I18N/Langinfo.pm | 4 +- Master/tlpkg/tlperl/lib/IO.pm | 4 +- .../tlpkg/tlperl/lib/IO/Compress/Adapter/Bzip2.pm | 6 +- .../tlperl/lib/IO/Compress/Adapter/Deflate.pm | 6 +- .../tlperl/lib/IO/Compress/Adapter/Identity.pm | 4 +- Master/tlpkg/tlperl/lib/IO/Compress/Base.pm | 10 +- Master/tlpkg/tlperl/lib/IO/Compress/Base/Common.pm | 2 +- Master/tlpkg/tlperl/lib/IO/Compress/Bzip2.pm | 52 +- Master/tlpkg/tlperl/lib/IO/Compress/Deflate.pm | 50 +- Master/tlpkg/tlperl/lib/IO/Compress/FAQ.pod | 6 + Master/tlpkg/tlperl/lib/IO/Compress/Gzip.pm | 52 +- .../tlpkg/tlperl/lib/IO/Compress/Gzip/Constants.pm | 2 +- Master/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm | 52 +- Master/tlpkg/tlperl/lib/IO/Compress/Zip.pm | 460 +- .../tlpkg/tlperl/lib/IO/Compress/Zip/Constants.pm | 2 +- .../tlpkg/tlperl/lib/IO/Compress/Zlib/Constants.pm | 2 +- Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Extra.pm | 4 +- Master/tlpkg/tlperl/lib/IO/Dir.pm | 2 +- Master/tlpkg/tlperl/lib/IO/File.pm | 2 +- Master/tlpkg/tlperl/lib/IO/Handle.pm | 22 +- Master/tlpkg/tlperl/lib/IO/Pipe.pm | 2 +- Master/tlpkg/tlperl/lib/IO/Poll.pm | 2 +- Master/tlpkg/tlperl/lib/IO/Seekable.pm | 2 +- Master/tlpkg/tlperl/lib/IO/Select.pm | 18 +- Master/tlpkg/tlperl/lib/IO/Socket.pm | 572 +- Master/tlpkg/tlperl/lib/IO/Socket/INET.pm | 2 +- Master/tlpkg/tlperl/lib/IO/Socket/UNIX.pm | 2 +- .../tlperl/lib/IO/Uncompress/Adapter/Bunzip2.pm | 6 +- .../tlperl/lib/IO/Uncompress/Adapter/Identity.pm | 8 +- .../tlperl/lib/IO/Uncompress/Adapter/Inflate.pm | 6 +- .../tlpkg/tlperl/lib/IO/Uncompress/AnyInflate.pm | 35 +- .../tlperl/lib/IO/Uncompress/AnyUncompress.pm | 67 +- Master/tlpkg/tlperl/lib/IO/Uncompress/Base.pm | 17 +- Master/tlpkg/tlperl/lib/IO/Uncompress/Bunzip2.pm | 27 +- Master/tlpkg/tlperl/lib/IO/Uncompress/Gunzip.pm | 29 +- Master/tlpkg/tlperl/lib/IO/Uncompress/Inflate.pm | 25 +- .../tlpkg/tlperl/lib/IO/Uncompress/RawInflate.pm | 27 +- Master/tlpkg/tlperl/lib/IO/Uncompress/Unzip.pm | 64 +- Master/tlpkg/tlperl/lib/IPC/Cmd.pm | 4 +- Master/tlpkg/tlperl/lib/IPC/Open2.pm | 46 +- Master/tlpkg/tlperl/lib/IPC/Open3.pm | 69 +- Master/tlpkg/tlperl/lib/JSON/PP.pm | 4 +- Master/tlpkg/tlperl/lib/JSON/PP/Boolean.pm | 2 +- Master/tlpkg/tlperl/lib/List/Util.pm | 105 +- Master/tlpkg/tlperl/lib/List/Util/XS.pm | 4 +- Master/tlpkg/tlperl/lib/Locale/Maketext.pod | 6 +- .../tlpkg/tlperl/lib/Locale/Maketext/Cookbook.pod | 2 +- Master/tlpkg/tlperl/lib/Locale/Maketext/TPJ13.pod | 6 +- Master/tlpkg/tlperl/lib/Math/BigFloat.pm | 471 +- Master/tlpkg/tlperl/lib/Math/BigInt.pm | 399 +- Master/tlpkg/tlperl/lib/Math/BigInt/Calc.pm | 609 +- Master/tlpkg/tlperl/lib/Math/BigInt/FastCalc.pm | 2 +- Master/tlpkg/tlperl/lib/Math/BigInt/Lib.pm | 93 +- Master/tlpkg/tlperl/lib/Module/CoreList.pm | 1686 +- Master/tlpkg/tlperl/lib/Module/CoreList/Utils.pm | 129 +- Master/tlpkg/tlperl/lib/Module/Load/Conditional.pm | 18 +- Master/tlpkg/tlperl/lib/Module/Metadata.pm | 46 +- Master/tlpkg/tlperl/lib/Net/Ping.pm | 2 +- Master/tlpkg/tlperl/lib/Opcode.pm | 14 +- Master/tlpkg/tlperl/lib/POSIX.pm | 2 +- Master/tlpkg/tlperl/lib/POSIX.pod | 151 +- Master/tlpkg/tlperl/lib/PerlIO.pm | 274 +- Master/tlpkg/tlperl/lib/PerlIO/encoding.pm | 2 +- Master/tlpkg/tlperl/lib/PerlIO/via.pm | 2 +- Master/tlpkg/tlperl/lib/Pod/Find.pm | 553 - Master/tlpkg/tlperl/lib/Pod/Html.pm | 27 +- Master/tlpkg/tlperl/lib/Pod/InputObjects.pm | 946 - Master/tlpkg/tlperl/lib/Pod/Man.pm | 25 +- Master/tlpkg/tlperl/lib/Pod/ParseLink.pm | 8 +- Master/tlpkg/tlperl/lib/Pod/ParseUtils.pm | 861 - Master/tlpkg/tlperl/lib/Pod/Parser.pm | 1836 - Master/tlpkg/tlperl/lib/Pod/PlainText.pm | 748 - Master/tlpkg/tlperl/lib/Pod/Select.pm | 756 - Master/tlpkg/tlperl/lib/Pod/Simple.pm | 40 +- Master/tlpkg/tlperl/lib/Pod/Simple.pod | 27 +- Master/tlpkg/tlperl/lib/Pod/Simple/BlackBox.pm | 732 +- Master/tlpkg/tlperl/lib/Pod/Simple/Checker.pm | 6 +- Master/tlpkg/tlperl/lib/Pod/Simple/Debug.pm | 2 +- Master/tlpkg/tlperl/lib/Pod/Simple/DumpAsText.pm | 2 +- Master/tlpkg/tlperl/lib/Pod/Simple/DumpAsXML.pm | 2 +- Master/tlpkg/tlperl/lib/Pod/Simple/HTML.pm | 4 +- Master/tlpkg/tlperl/lib/Pod/Simple/HTMLBatch.pm | 30 +- Master/tlpkg/tlperl/lib/Pod/Simple/JustPod.pm | 362 + Master/tlpkg/tlperl/lib/Pod/Simple/LinkSection.pm | 4 +- Master/tlpkg/tlperl/lib/Pod/Simple/Methody.pm | 2 +- Master/tlpkg/tlperl/lib/Pod/Simple/Progress.pm | 2 +- Master/tlpkg/tlperl/lib/Pod/Simple/PullParser.pm | 2 +- .../tlperl/lib/Pod/Simple/PullParserEndToken.pm | 2 +- .../tlperl/lib/Pod/Simple/PullParserStartToken.pm | 2 +- .../tlperl/lib/Pod/Simple/PullParserTextToken.pm | 2 +- .../tlpkg/tlperl/lib/Pod/Simple/PullParserToken.pm | 2 +- Master/tlpkg/tlperl/lib/Pod/Simple/RTF.pm | 179 +- Master/tlpkg/tlperl/lib/Pod/Simple/Search.pm | 35 +- Master/tlpkg/tlperl/lib/Pod/Simple/SimpleTree.pm | 2 +- Master/tlpkg/tlperl/lib/Pod/Simple/Subclassing.pod | 14 +- Master/tlpkg/tlperl/lib/Pod/Simple/Text.pm | 2 +- Master/tlpkg/tlperl/lib/Pod/Simple/TextContent.pm | 2 +- Master/tlpkg/tlperl/lib/Pod/Simple/TiedOutFH.pm | 2 +- Master/tlpkg/tlperl/lib/Pod/Simple/Transcode.pm | 2 +- .../tlpkg/tlperl/lib/Pod/Simple/TranscodeDumb.pm | 2 +- .../tlpkg/tlperl/lib/Pod/Simple/TranscodeSmart.pm | 2 +- Master/tlpkg/tlperl/lib/Pod/Simple/XHTML.pm | 10 +- Master/tlpkg/tlperl/lib/Pod/Simple/XMLOutStream.pm | 2 +- Master/tlpkg/tlperl/lib/Pod/Text.pm | 35 +- Master/tlpkg/tlperl/lib/Pod/Text/Color.pm | 9 +- Master/tlpkg/tlperl/lib/Pod/Text/Overstrike.pm | 6 +- Master/tlpkg/tlperl/lib/Pod/Text/Termcap.pm | 72 +- Master/tlpkg/tlperl/lib/Safe.pm | 11 +- Master/tlpkg/tlperl/lib/Scalar/Util.pm | 13 +- Master/tlpkg/tlperl/lib/SelfLoader.pm | 4 +- Master/tlpkg/tlperl/lib/Socket.pm | 2 +- Master/tlpkg/tlperl/lib/Storable.pm | 23 +- Master/tlpkg/tlperl/lib/Sub/Util.pm | 10 +- Master/tlpkg/tlperl/lib/Sys/Hostname.pm | 4 +- Master/tlpkg/tlperl/lib/Term/ANSIColor.pm | 354 +- Master/tlpkg/tlperl/lib/Test/Builder.pm | 9 +- Master/tlpkg/tlperl/lib/Test/Builder/Formatter.pm | 8 +- Master/tlpkg/tlperl/lib/Test/Builder/Module.pm | 9 +- Master/tlpkg/tlperl/lib/Test/Builder/Tester.pm | 2 +- .../tlpkg/tlperl/lib/Test/Builder/Tester/Color.pm | 2 +- Master/tlpkg/tlperl/lib/Test/Builder/TodoDiag.pm | 2 +- Master/tlpkg/tlperl/lib/Test/More.pm | 6 +- Master/tlpkg/tlperl/lib/Test/Simple.pm | 2 +- Master/tlpkg/tlperl/lib/Test/Tester.pm | 4 +- Master/tlpkg/tlperl/lib/Test/Tester/Capture.pm | 16 +- .../tlpkg/tlperl/lib/Test/Tester/CaptureRunner.pm | 2 +- Master/tlpkg/tlperl/lib/Test/Tester/Delegate.pm | 2 +- Master/tlpkg/tlperl/lib/Test/use/ok.pm | 2 +- Master/tlpkg/tlperl/lib/Test2.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/API.pm | 95 +- Master/tlpkg/tlperl/lib/Test2/API/Breakage.pm | 6 +- Master/tlpkg/tlperl/lib/Test2/API/Context.pm | 8 +- Master/tlpkg/tlperl/lib/Test2/API/Instance.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/API/Stack.pm | 8 +- Master/tlpkg/tlperl/lib/Test2/Event.pm | 6 +- Master/tlpkg/tlperl/lib/Test2/Event/Bail.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/Event/Diag.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/Event/Encoding.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/Event/Exception.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/Event/Fail.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/Event/Generic.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/Event/Note.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/Event/Ok.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/Event/Pass.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/Event/Plan.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/Event/Skip.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/Event/Subtest.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/Event/TAP/Version.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/Event/V2.pm | 6 +- Master/tlpkg/tlperl/lib/Test2/Event/Waiting.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/EventFacet.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/EventFacet/About.pm | 2 +- .../tlpkg/tlperl/lib/Test2/EventFacet/Amnesty.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/EventFacet/Assert.pm | 2 +- .../tlpkg/tlperl/lib/Test2/EventFacet/Control.pm | 11 +- Master/tlpkg/tlperl/lib/Test2/EventFacet/Error.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/EventFacet/Hub.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/EventFacet/Info.pm | 2 +- .../tlperl/lib/Test2/EventFacet/Info/Table.pm | 2 + Master/tlpkg/tlperl/lib/Test2/EventFacet/Meta.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/EventFacet/Parent.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/EventFacet/Plan.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/EventFacet/Render.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/EventFacet/Trace.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/Formatter.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/Formatter/TAP.pm | 26 +- Master/tlpkg/tlperl/lib/Test2/Hub.pm | 6 +- Master/tlpkg/tlperl/lib/Test2/Hub/Interceptor.pm | 2 +- .../tlperl/lib/Test2/Hub/Interceptor/Terminator.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/Hub/Subtest.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/IPC.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/IPC/Driver.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/IPC/Driver/Files.pm | 28 +- Master/tlpkg/tlperl/lib/Test2/Tools/Tiny.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/Transition.pod | 22 +- Master/tlpkg/tlperl/lib/Test2/Util.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/Util/ExternalMeta.pm | 2 +- .../tlpkg/tlperl/lib/Test2/Util/Facets2Legacy.pm | 2 +- Master/tlpkg/tlperl/lib/Test2/Util/HashBase.pm | 72 +- Master/tlpkg/tlperl/lib/Test2/Util/Trace.pm | 2 +- Master/tlpkg/tlperl/lib/Thread.pm | 6 +- Master/tlpkg/tlperl/lib/Thread/Queue.pm | 6 +- Master/tlpkg/tlperl/lib/Tie/File.pm | 41 +- Master/tlpkg/tlperl/lib/Tie/Hash/NamedCapture.pm | 8 +- Master/tlpkg/tlperl/lib/Tie/Scalar.pm | 4 +- Master/tlpkg/tlperl/lib/Tie/StdHandle.pm | 4 +- Master/tlpkg/tlperl/lib/Time/HiRes.pm | 141 +- Master/tlpkg/tlperl/lib/Time/Piece.pm | 23 +- Master/tlpkg/tlperl/lib/Time/Seconds.pm | 2 +- Master/tlpkg/tlperl/lib/Unicode/Normalize.pm | 14 +- Master/tlpkg/tlperl/lib/Unicode/UCD.pm | 745 +- Master/tlpkg/tlperl/lib/Win32.pm | 2 +- Master/tlpkg/tlperl/lib/Win32API/File.pm | 2 +- Master/tlpkg/tlperl/lib/_charnames.pm | 110 +- Master/tlpkg/tlperl/lib/auto/B/B.dll | Bin 78336 -> 78336 bytes .../tlperl/lib/auto/Compress/Raw/Bzip2/Bzip2.dll | Bin 84480 -> 84480 bytes .../tlperl/lib/auto/Compress/Raw/Zlib/Zlib.dll | Bin 124416 -> 124416 bytes Master/tlpkg/tlperl/lib/auto/Cwd/Cwd.dll | Bin 22016 -> 22016 bytes .../tlpkg/tlperl/lib/auto/Data/Dumper/Dumper.dll | Bin 44032 -> 43008 bytes Master/tlpkg/tlperl/lib/auto/Devel/Peek/Peek.dll | Bin 23040 -> 23040 bytes Master/tlpkg/tlperl/lib/auto/Digest/MD5/MD5.dll | Bin 24064 -> 24064 bytes Master/tlpkg/tlperl/lib/auto/Digest/SHA/SHA.dll | Bin 47616 -> 47616 bytes Master/tlpkg/tlperl/lib/auto/Encode/Byte/Byte.dll | Bin 115200 -> 115200 bytes Master/tlpkg/tlperl/lib/auto/Encode/CN/CN.dll | Bin 749568 -> 749568 bytes .../tlpkg/tlperl/lib/auto/Encode/EBCDIC/EBCDIC.dll | Bin 25088 -> 25088 bytes Master/tlpkg/tlperl/lib/auto/Encode/Encode.dll | Bin 44544 -> 45056 bytes Master/tlpkg/tlperl/lib/auto/Encode/JP/JP.dll | Bin 865280 -> 865280 bytes Master/tlpkg/tlperl/lib/auto/Encode/KR/KR.dll | Bin 820736 -> 820736 bytes .../tlpkg/tlperl/lib/auto/Encode/Symbol/Symbol.dll | Bin 28672 -> 28672 bytes Master/tlpkg/tlperl/lib/auto/Encode/TW/TW.dll | Bin 766464 -> 766464 bytes .../tlperl/lib/auto/Encode/Unicode/Unicode.dll | Bin 25088 -> 25088 bytes Master/tlpkg/tlperl/lib/auto/Fcntl/Fcntl.dll | Bin 20992 -> 20992 bytes .../tlpkg/tlperl/lib/auto/File/DosGlob/DosGlob.dll | Bin 14848 -> 14848 bytes Master/tlpkg/tlperl/lib/auto/File/Glob/Glob.dll | Bin 29184 -> 29184 bytes .../tlperl/lib/auto/Filter/Util/Call/Call.dll | Bin 19456 -> 19456 bytes .../lib/auto/Hash/Util/FieldHash/FieldHash.dll | Bin 22016 -> 22016 bytes Master/tlpkg/tlperl/lib/auto/Hash/Util/Util.dll | Bin 24064 -> 24064 bytes .../tlperl/lib/auto/I18N/Langinfo/Langinfo.dll | Bin 17920 -> 17920 bytes Master/tlpkg/tlperl/lib/auto/IO/IO.dll | Bin 24064 -> 24576 bytes Master/tlpkg/tlperl/lib/auto/List/Util/Util.dll | Bin 51712 -> 55296 bytes .../tlpkg/tlperl/lib/auto/MIME/Base64/Base64.dll | Bin 21504 -> 21504 bytes .../lib/auto/Math/BigInt/FastCalc/FastCalc.dll | Bin 20992 -> 20992 bytes Master/tlpkg/tlperl/lib/auto/Opcode/Opcode.dll | Bin 24576 -> 24576 bytes Master/tlpkg/tlperl/lib/auto/POSIX/POSIX.dll | Bin 113152 -> 112640 bytes .../tlperl/lib/auto/PerlIO/encoding/encoding.dll | Bin 28160 -> 27136 bytes Master/tlpkg/tlperl/lib/auto/PerlIO/mmap/mmap.dll | Bin 14336 -> 14336 bytes .../tlpkg/tlperl/lib/auto/PerlIO/scalar/scalar.dll | Bin 20992 -> 20992 bytes Master/tlpkg/tlperl/lib/auto/PerlIO/via/via.dll | Bin 25088 -> 25088 bytes .../tlpkg/tlperl/lib/auto/SDBM_File/SDBM_File.dll | Bin 32256 -> 32256 bytes Master/tlpkg/tlperl/lib/auto/Socket/Socket.dll | Bin 31232 -> 33280 bytes Master/tlpkg/tlperl/lib/auto/Storable/Storable.dll | Bin 95744 -> 93696 bytes .../tlperl/lib/auto/Sys/Hostname/Hostname.dll | Bin 14336 -> 14336 bytes .../auto/Tie/Hash/NamedCapture/NamedCapture.dll | Bin 18432 -> 0 bytes Master/tlpkg/tlperl/lib/auto/Time/HiRes/HiRes.dll | Bin 27648 -> 29184 bytes Master/tlpkg/tlperl/lib/auto/Time/Piece/Piece.dll | Bin 28160 -> 28160 bytes .../tlperl/lib/auto/Unicode/Collate/Collate.dll | Bin 640000 -> 639488 bytes .../lib/auto/Unicode/Normalize/Normalize.dll | Bin 231936 -> 236032 bytes Master/tlpkg/tlperl/lib/auto/Win32/Win32.dll | Bin 53760 -> 54784 bytes .../tlpkg/tlperl/lib/auto/Win32API/File/File.dll | Bin 76288 -> 75776 bytes .../tlperl/lib/auto/attributes/attributes.dll | Bin 18432 -> 18432 bytes Master/tlpkg/tlperl/lib/auto/mro/mro.dll | Bin 24576 -> 24576 bytes Master/tlpkg/tlperl/lib/auto/re/re.dll | Bin 638976 -> 794624 bytes .../tlperl/lib/auto/threads/shared/shared.dll | Bin 38912 -> 38912 bytes Master/tlpkg/tlperl/lib/auto/threads/threads.dll | Bin 37888 -> 37376 bytes Master/tlpkg/tlperl/lib/autodie.pm | 38 +- Master/tlpkg/tlperl/lib/autodie/Scope/Guard.pm | 2 +- .../tlpkg/tlperl/lib/autodie/Scope/GuardStack.pm | 2 +- Master/tlpkg/tlperl/lib/autodie/Util.pm | 2 +- Master/tlpkg/tlperl/lib/autodie/exception.pm | 2 +- .../tlpkg/tlperl/lib/autodie/exception/system.pm | 2 +- Master/tlpkg/tlperl/lib/autodie/hints.pm | 4 +- Master/tlpkg/tlperl/lib/autodie/skip.pm | 2 +- Master/tlpkg/tlperl/lib/charnames.pm | 4 +- Master/tlpkg/tlperl/lib/diagnostics.pm | 8 +- Master/tlpkg/tlperl/lib/encoding.pm | 4 +- Master/tlpkg/tlperl/lib/feature.pm | 66 +- Master/tlpkg/tlperl/lib/mro.pm | 24 +- Master/tlpkg/tlperl/lib/ok.pm | 2 +- Master/tlpkg/tlperl/lib/open.pm | 144 +- Master/tlpkg/tlperl/lib/overload.pm | 30 +- Master/tlpkg/tlperl/lib/parent.pm | 12 +- Master/tlpkg/tlperl/lib/perl5db.pl | 9 +- Master/tlpkg/tlperl/lib/perlfaq.pm | 2 +- Master/tlpkg/tlperl/lib/perllocal.pod | 190 +- Master/tlpkg/tlperl/lib/re.pm | 124 +- Master/tlpkg/tlperl/lib/threads.pm | 22 +- Master/tlpkg/tlperl/lib/threads/shared.pm | 4 +- Master/tlpkg/tlperl/lib/unicore/Blocks.txt | 12 +- Master/tlpkg/tlperl/lib/unicore/CombiningClass.pl | 14 +- Master/tlpkg/tlperl/lib/unicore/Decomposition.pl | 14 +- Master/tlpkg/tlperl/lib/unicore/Heavy.pl | 7392 - Master/tlpkg/tlperl/lib/unicore/Name.pl | 130448 +++++++++++++----- Master/tlpkg/tlperl/lib/unicore/Name.pm | 133 +- Master/tlpkg/tlperl/lib/unicore/NamedSequences.txt | 44 +- Master/tlpkg/tlperl/lib/unicore/SpecialCasing.txt | 4 +- Master/tlpkg/tlperl/lib/unicore/To/Age.pl | 67 +- Master/tlpkg/tlperl/lib/unicore/To/Bc.pl | 60 +- Master/tlpkg/tlperl/lib/unicore/To/Bmg.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/To/Bpb.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/To/Bpt.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/To/Cf.pl | 15 +- Master/tlpkg/tlperl/lib/unicore/To/Digit.pl | 28 +- Master/tlpkg/tlperl/lib/unicore/To/Ea.pl | 39 +- Master/tlpkg/tlperl/lib/unicore/To/EqUIdeo.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/To/Fold.pl | 15 +- Master/tlpkg/tlperl/lib/unicore/To/GCB.pl | 185 +- Master/tlpkg/tlperl/lib/unicore/To/Gc.pl | 108 +- Master/tlpkg/tlperl/lib/unicore/To/Hst.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/To/Identif2.pl | 1599 + Master/tlpkg/tlperl/lib/unicore/To/Identifi.pl | 394 + Master/tlpkg/tlperl/lib/unicore/To/InPC.pl | 35 +- Master/tlpkg/tlperl/lib/unicore/To/InSC.pl | 34 +- Master/tlpkg/tlperl/lib/unicore/To/Isc.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/To/Jg.pl | 15 +- Master/tlpkg/tlperl/lib/unicore/To/Jt.pl | 37 +- Master/tlpkg/tlperl/lib/unicore/To/Lb.pl | 79 +- Master/tlpkg/tlperl/lib/unicore/To/Lc.pl | 15 +- Master/tlpkg/tlperl/lib/unicore/To/Lower.pl | 15 +- Master/tlpkg/tlperl/lib/unicore/To/NFCQC.pl | 9 +- Master/tlpkg/tlperl/lib/unicore/To/NFDQC.pl | 9 +- Master/tlpkg/tlperl/lib/unicore/To/NFKCCF.pl | 26 +- Master/tlpkg/tlperl/lib/unicore/To/NFKCQC.pl | 11 +- Master/tlpkg/tlperl/lib/unicore/To/NFKDQC.pl | 11 +- Master/tlpkg/tlperl/lib/unicore/To/Na1.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/To/NameAlia.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/To/Nt.pl | 11 +- Master/tlpkg/tlperl/lib/unicore/To/Nv.pl | 14 +- Master/tlpkg/tlperl/lib/unicore/To/PerlDeci.pl | 10 +- Master/tlpkg/tlperl/lib/unicore/To/SB.pl | 69 +- Master/tlpkg/tlperl/lib/unicore/To/Sc.pl | 105 +- Master/tlpkg/tlperl/lib/unicore/To/Scx.pl | 120 +- Master/tlpkg/tlperl/lib/unicore/To/Tc.pl | 15 +- Master/tlpkg/tlperl/lib/unicore/To/Title.pl | 15 +- Master/tlpkg/tlperl/lib/unicore/To/Uc.pl | 15 +- Master/tlpkg/tlperl/lib/unicore/To/Upper.pl | 15 +- Master/tlpkg/tlperl/lib/unicore/To/Vo.pl | 62 +- Master/tlpkg/tlperl/lib/unicore/To/WB.pl | 220 +- Master/tlpkg/tlperl/lib/unicore/To/_PerlLB.pl | 104 +- Master/tlpkg/tlperl/lib/unicore/To/_PerlSCX.pl | 120 +- Master/tlpkg/tlperl/lib/unicore/UCD.pl | 8034 +- Master/tlpkg/tlperl/lib/unicore/lib/Age/NA.pl | 122 +- Master/tlpkg/tlperl/lib/unicore/lib/Age/V100.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Age/V11.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Age/V110.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Age/V120.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Age/V130.pl | 132 + Master/tlpkg/tlperl/lib/unicore/lib/Age/V20.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Age/V30.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Age/V31.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Age/V32.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Age/V40.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Age/V41.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Age/V50.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Age/V51.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Age/V52.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Age/V60.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Age/V61.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Age/V70.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Age/V80.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Age/V90.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Alpha/Y.pl | 66 +- Master/tlpkg/tlperl/lib/unicore/lib/Bc/AL.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Bc/AN.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Bc/B.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Bc/BN.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Bc/CS.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Bc/EN.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Bc/ES.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Bc/ET.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Bc/L.pl | 72 +- Master/tlpkg/tlperl/lib/unicore/lib/Bc/NSM.pl | 24 +- Master/tlpkg/tlperl/lib/unicore/lib/Bc/ON.pl | 52 +- Master/tlpkg/tlperl/lib/unicore/lib/Bc/R.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Bc/WS.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/BidiC/Y.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/BidiM/Y.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Blk/NB.pl | 18 +- Master/tlpkg/tlperl/lib/unicore/lib/Bpt/C.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Bpt/N.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Bpt/O.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/CE/Y.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/CI/Y.pl | 28 +- Master/tlpkg/tlperl/lib/unicore/lib/CWCF/Y.pl | 10 +- Master/tlpkg/tlperl/lib/unicore/lib/CWCM/Y.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/lib/CWKCF/Y.pl | 14 +- Master/tlpkg/tlperl/lib/unicore/lib/CWL/Y.pl | 10 +- Master/tlpkg/tlperl/lib/unicore/lib/CWT/Y.pl | 10 +- Master/tlpkg/tlperl/lib/unicore/lib/CWU/Y.pl | 10 +- Master/tlpkg/tlperl/lib/unicore/lib/Cased/Y.pl | 10 +- Master/tlpkg/tlperl/lib/unicore/lib/Ccc/A.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AL.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AR.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATAR.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Ccc/B.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BR.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DB.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NK.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NR.pl | 16 +- Master/tlpkg/tlperl/lib/unicore/lib/Ccc/OV.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Ccc/VR.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/lib/CompEx/Y.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/DI/Y.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Dash/Y.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Dep/Y.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Dia/Y.pl | 14 +- Master/tlpkg/tlperl/lib/unicore/lib/Dt/Com.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Dt/Enc.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fin.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Dt/Font.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Dt/Init.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Dt/Iso.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Dt/Med.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nar.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nb.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Dt/NonCanon.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sqr.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sub.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sup.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Dt/Vert.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/EBase/Y.pl | 90 + Master/tlpkg/tlperl/lib/unicore/lib/EComp/Y.pl | 34 + Master/tlpkg/tlperl/lib/unicore/lib/EPres/Y.pl | 176 + Master/tlpkg/tlperl/lib/unicore/lib/Ea/A.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Ea/H.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Ea/N.pl | 46 +- Master/tlpkg/tlperl/lib/unicore/lib/Ea/Na.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Ea/W.pl | 46 +- Master/tlpkg/tlperl/lib/unicore/lib/Emoji/Y.pl | 318 + Master/tlpkg/tlperl/lib/unicore/lib/Ext/Y.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/ExtPict/Y.pl | 170 + Master/tlpkg/tlperl/lib/unicore/lib/GCB/CN.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/GCB/EX.pl | 26 +- Master/tlpkg/tlperl/lib/unicore/lib/GCB/LV.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/GCB/LVT.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/GCB/PP.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/lib/GCB/SM.pl | 18 +- Master/tlpkg/tlperl/lib/unicore/lib/GCB/XX.pl | 26 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/C.pl | 122 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cf.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cn.pl | 122 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/L.pl | 54 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/LC.pl | 10 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ll.pl | 12 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lm.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lo.pl | 48 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lu.pl | 10 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/M.pl | 30 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mc.pl | 18 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/Me.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mn.pl | 24 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/N.pl | 10 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/Nd.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/Nl.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/No.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/P.pl | 12 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pc.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pd.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pe.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pf.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pi.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/Po.pl | 10 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ps.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/S.pl | 52 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sc.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sk.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sm.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/So.pl | 50 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/Z.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zs.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/GrBase/Y.pl | 118 +- Master/tlpkg/tlperl/lib/unicore/lib/GrExt/Y.pl | 26 +- Master/tlpkg/tlperl/lib/unicore/lib/Hex/Y.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Hst/NA.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Hyphen/T.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/IDC/Y.pl | 74 +- Master/tlpkg/tlperl/lib/unicore/lib/IDS/Y.pl | 54 +- .../tlperl/lib/unicore/lib/IdStatus/Allowed.pl | 762 + .../tlperl/lib/unicore/lib/IdStatus/Restrict.pl | 763 + .../tlperl/lib/unicore/lib/IdType/DefaultI.pl | 52 + .../tlperl/lib/unicore/lib/IdType/Exclusio.pl | 438 + .../tlperl/lib/unicore/lib/IdType/Inclusio.pl | 44 + .../tlperl/lib/unicore/lib/IdType/LimitedU.pl | 184 + .../tlperl/lib/unicore/lib/IdType/NotChara.pl | 1371 + .../tlpkg/tlperl/lib/unicore/lib/IdType/NotNFKC.pl | 516 + .../tlpkg/tlperl/lib/unicore/lib/IdType/NotXID.pl | 704 + .../tlperl/lib/unicore/lib/IdType/Obsolete.pl | 220 + .../tlperl/lib/unicore/lib/IdType/Recommen.pl | 746 + .../tlperl/lib/unicore/lib/IdType/Technica.pl | 204 + .../tlperl/lib/unicore/lib/IdType/Uncommon.pl | 166 + Master/tlpkg/tlperl/lib/unicore/lib/Ideo/Y.pl | 18 +- Master/tlpkg/tlperl/lib/unicore/lib/In/10_0.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/In/11_0.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/In/12_0.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/In/12_1.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/In/13_0.pl | 1386 + Master/tlpkg/tlperl/lib/unicore/lib/In/2_0.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/In/2_1.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/In/3_0.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/In/3_1.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/In/3_2.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/In/4_0.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/In/4_1.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/In/5_0.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/In/5_1.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/In/5_2.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/In/6_0.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/In/6_1.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/In/6_2.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/In/6_3.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/In/7_0.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/In/8_0.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/In/9_0.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/InPC/Bottom.pl | 8 +- .../tlpkg/tlperl/lib/unicore/lib/InPC/BottomAn.pl | 22 + Master/tlpkg/tlperl/lib/unicore/lib/InPC/Left.pl | 10 +- .../tlpkg/tlperl/lib/unicore/lib/InPC/LeftAndR.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/InPC/NA.pl | 34 +- .../tlpkg/tlperl/lib/unicore/lib/InPC/Overstru.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/InPC/Right.pl | 14 +- Master/tlpkg/tlperl/lib/unicore/lib/InPC/Top.pl | 24 +- .../tlpkg/tlperl/lib/unicore/lib/InPC/TopAndBo.pl | 2 +- .../tlpkg/tlperl/lib/unicore/lib/InPC/TopAndL2.pl | 2 +- .../tlpkg/tlperl/lib/unicore/lib/InPC/TopAndLe.pl | 2 +- .../tlpkg/tlperl/lib/unicore/lib/InPC/TopAndRi.pl | 2 +- .../tlpkg/tlperl/lib/unicore/lib/InPC/VisualOr.pl | 2 +- .../tlpkg/tlperl/lib/unicore/lib/InSC/Avagraha.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/InSC/Bindu.pl | 12 +- .../tlpkg/tlperl/lib/unicore/lib/InSC/Cantilla.pl | 2 +- .../tlpkg/tlperl/lib/unicore/lib/InSC/Consona2.pl | 2 +- .../tlpkg/tlperl/lib/unicore/lib/InSC/Consona3.pl | 2 +- .../tlpkg/tlperl/lib/unicore/lib/InSC/Consona4.pl | 8 +- .../tlpkg/tlperl/lib/unicore/lib/InSC/Consona5.pl | 36 +- .../tlpkg/tlperl/lib/unicore/lib/InSC/Consona6.pl | 58 +- .../tlpkg/tlperl/lib/unicore/lib/InSC/Consona7.pl | 42 +- .../tlpkg/tlperl/lib/unicore/lib/InSC/Consona8.pl | 22 + .../tlpkg/tlperl/lib/unicore/lib/InSC/Consona9.pl | 22 + .../tlpkg/tlperl/lib/unicore/lib/InSC/Consonan.pl | 12 +- .../tlpkg/tlperl/lib/unicore/lib/InSC/Invisibl.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/InSC/Nukta.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/InSC/Number.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/InSC/Other.pl | 34 +- .../tlpkg/tlperl/lib/unicore/lib/InSC/PureKill.pl | 8 +- .../tlpkg/tlperl/lib/unicore/lib/InSC/Syllable.pl | 2 +- .../tlpkg/tlperl/lib/unicore/lib/InSC/ToneMark.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/InSC/Virama.pl | 2 +- .../tlpkg/tlperl/lib/unicore/lib/InSC/Visarga.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/InSC/Vowel.pl | 2 +- .../tlpkg/tlperl/lib/unicore/lib/InSC/VowelDep.pl | 12 +- .../tlpkg/tlperl/lib/unicore/lib/InSC/VowelInd.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/lib/Jg/Ain.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alef.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beh.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Jg/Dal.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Jg/FarsiYeh.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Jg/Feh.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gaf.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Jg/Hah.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/lib/Jg/HanifiRo.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Jg/Kaf.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lam.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Jg/NoJoinin.pl | 4 +- Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaf.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reh.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Jg/Sad.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Jg/Seen.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Jg/Waw.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yeh.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Jt/C.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Jt/D.pl | 22 +- Master/tlpkg/tlperl/lib/unicore/lib/Jt/L.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Jt/R.pl | 16 +- Master/tlpkg/tlperl/lib/unicore/lib/Jt/T.pl | 24 +- Master/tlpkg/tlperl/lib/unicore/lib/Jt/U.pl | 38 +- Master/tlpkg/tlperl/lib/unicore/lib/Lb/AI.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Lb/AL.pl | 52 +- Master/tlpkg/tlperl/lib/unicore/lib/Lb/BA.pl | 10 +- Master/tlpkg/tlperl/lib/unicore/lib/Lb/BB.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Lb/CJ.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Lb/CL.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Lb/CM.pl | 28 +- Master/tlpkg/tlperl/lib/unicore/lib/Lb/EB.pl | 86 - Master/tlpkg/tlperl/lib/unicore/lib/Lb/EX.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Lb/GL.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Lb/ID.pl | 16 +- Master/tlpkg/tlperl/lib/unicore/lib/Lb/IN.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Lb/IS.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Lb/NS.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Lb/NU.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/lib/Lb/OP.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Lb/PO.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Lb/PR.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Lb/QU.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Lb/SA.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Lb/XX.pl | 78 +- Master/tlpkg/tlperl/lib/unicore/lib/Lower/Y.pl | 12 +- Master/tlpkg/tlperl/lib/unicore/lib/Math/Y.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/NFCQC/M.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/NFCQC/Y.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/N.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/Y.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/N.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/Y.pl | 10 +- Master/tlpkg/tlperl/lib/unicore/lib/NFKDQC/N.pl | 10 +- Master/tlpkg/tlperl/lib/unicore/lib/NFKDQC/Y.pl | 10 +- Master/tlpkg/tlperl/lib/unicore/lib/Nt/Di.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nt/None.pl | 10 +- Master/tlpkg/tlperl/lib/unicore/lib/Nt/Nu.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/0.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/1.pl | 10 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/10.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/100.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/1000.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/100000.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/11.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/12.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/13.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/14.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/15.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/16.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/17.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/18.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/19.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_16.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_2.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_3.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_4.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_6.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_8.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/2.pl | 10 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/20.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/200.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/2000.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/20000.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_3.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/3.pl | 10 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/30.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/300.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/3000.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/30000.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_16.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_4.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/4.pl | 10 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/40.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/400.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/4000.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/40000.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/5.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/50.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/500.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/5000.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/50000.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/6.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/60.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/600.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/6000.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/60000.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/7.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/70.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/700.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/7000.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/70000.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/8.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/80.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/800.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/8000.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/80000.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/9.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/90.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/900.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/9000.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Nv/90000.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/PCM/Y.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/PatSyn/Y.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Perl/Alnum.pl | 70 +- .../tlpkg/tlperl/lib/unicore/lib/Perl/Assigned.pl | 122 +- Master/tlpkg/tlperl/lib/unicore/lib/Perl/Blank.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Perl/Graph.pl | 122 +- .../tlpkg/tlperl/lib/unicore/lib/Perl/PerlWord.pl | 2 +- .../tlpkg/tlperl/lib/unicore/lib/Perl/PosixPun.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Perl/Print.pl | 122 +- .../tlpkg/tlperl/lib/unicore/lib/Perl/SpacePer.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Perl/Title.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Perl/Word.pl | 74 +- .../tlpkg/tlperl/lib/unicore/lib/Perl/XPosixPu.pl | 12 +- .../tlpkg/tlperl/lib/unicore/lib/Perl/_PerlAny.pl | 8 +- .../tlpkg/tlperl/lib/unicore/lib/Perl/_PerlCh2.pl | 74 +- .../tlpkg/tlperl/lib/unicore/lib/Perl/_PerlCha.pl | 54 +- .../tlpkg/tlperl/lib/unicore/lib/Perl/_PerlFol.pl | 2 +- .../tlpkg/tlperl/lib/unicore/lib/Perl/_PerlIDC.pl | 74 +- .../tlpkg/tlperl/lib/unicore/lib/Perl/_PerlIDS.pl | 54 +- .../tlpkg/tlperl/lib/unicore/lib/Perl/_PerlIsI.pl | 2 +- .../tlpkg/tlperl/lib/unicore/lib/Perl/_PerlNch.pl | 2 +- .../tlpkg/tlperl/lib/unicore/lib/Perl/_PerlNon.pl | 52 - .../tlpkg/tlperl/lib/unicore/lib/Perl/_PerlPat.pl | 2 +- .../tlpkg/tlperl/lib/unicore/lib/Perl/_PerlPr2.pl | 2 +- .../tlpkg/tlperl/lib/unicore/lib/Perl/_PerlPro.pl | 2 +- .../tlpkg/tlperl/lib/unicore/lib/Perl/_PerlQuo.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/QMark/Y.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/SB/AT.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/SB/CL.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/SB/EX.pl | 30 +- Master/tlpkg/tlperl/lib/unicore/lib/SB/FO.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/SB/LE.pl | 50 +- Master/tlpkg/tlperl/lib/unicore/lib/SB/LO.pl | 12 +- Master/tlpkg/tlperl/lib/unicore/lib/SB/NU.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/lib/SB/SC.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/SB/ST.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/lib/SB/Sp.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/SB/UP.pl | 10 +- Master/tlpkg/tlperl/lib/unicore/lib/SB/XX.pl | 76 +- Master/tlpkg/tlperl/lib/unicore/lib/SD/Y.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/STerm/Y.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Arab.pl | 4 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Armn.pl | 24 - Master/tlpkg/tlperl/lib/unicore/lib/Sc/Beng.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cprt.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cyrl.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Deva.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Dupl.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Geor.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Glag.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Gong.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Gonm.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Gran.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Grek.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Gujr.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Guru.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Han.pl | 14 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hang.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hira.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kana.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Knda.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Latn.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Limb.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Linb.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mlym.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mong.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mult.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Orya.pl | 4 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sinh.pl | 4 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Syrc.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Taml.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Telu.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zinh.pl | 4 +- Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zyyy.pl | 56 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Adlm.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Arab.pl | 4 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Armn.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Beng.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Bhks.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Bopo.pl | 4 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cakm.pl | 4 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cham.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Copt.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cprt.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cyrl.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Deva.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Diak.pl | 30 + Master/tlpkg/tlperl/lib/unicore/lib/Scx/Dupl.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Ethi.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Geor.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Glag.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Gong.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Gonm.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Gran.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Grek.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Gujr.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Guru.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Han.pl | 16 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hang.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hebr.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hira.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hmng.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hmnp.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Kana.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Khar.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Khmr.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Khoj.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Knda.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Kthi.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Lana.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Lao.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Latn.pl | 12 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Limb.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Lina.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Linb.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mlym.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mong.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mult.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mymr.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Nand.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Orya.pl | 4 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Phlp.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Rohg.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Shrd.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Sind.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Sinh.pl | 4 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Syrc.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tagb.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Takr.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Talu.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Taml.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tang.pl | 22 + Master/tlpkg/tlperl/lib/unicore/lib/Scx/Telu.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Thaa.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tibt.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tirh.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Xsux.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Yezi.pl | 28 + Master/tlpkg/tlperl/lib/unicore/lib/Scx/Yi.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Zinh.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Zyyy.pl | 56 +- Master/tlpkg/tlperl/lib/unicore/lib/Scx/Zzzz.pl | 122 +- Master/tlpkg/tlperl/lib/unicore/lib/Term/Y.pl | 10 +- Master/tlpkg/tlperl/lib/unicore/lib/UIdeo/Y.pl | 12 +- Master/tlpkg/tlperl/lib/unicore/lib/Upper/Y.pl | 10 +- Master/tlpkg/tlperl/lib/unicore/lib/Vo/R.pl | 12 +- Master/tlpkg/tlperl/lib/unicore/lib/Vo/Tr.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Vo/Tu.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/Vo/U.pl | 12 +- Master/tlpkg/tlperl/lib/unicore/lib/WB/EX.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/WB/Extend.pl | 30 +- Master/tlpkg/tlperl/lib/unicore/lib/WB/FO.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/WB/HL.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/WB/KA.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/WB/LE.pl | 50 +- Master/tlpkg/tlperl/lib/unicore/lib/WB/MB.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/WB/ML.pl | 6 +- Master/tlpkg/tlperl/lib/unicore/lib/WB/MN.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/WB/NU.pl | 8 +- Master/tlpkg/tlperl/lib/unicore/lib/WB/WSegSpac.pl | 2 +- Master/tlpkg/tlperl/lib/unicore/lib/WB/XX.pl | 72 +- Master/tlpkg/tlperl/lib/unicore/lib/XIDC/Y.pl | 74 +- Master/tlpkg/tlperl/lib/unicore/lib/XIDS/Y.pl | 54 +- Master/tlpkg/tlperl/lib/unicore/uni_keywords.pl | 2536 +- Master/tlpkg/tlperl/lib/unicore/version | 2 +- Master/tlpkg/tlperl/lib/utf8_heavy.pl | 623 - Master/tlpkg/tlperl/lib/warnings.pm | 23 +- Master/tlpkg/tlperl/site/lib/Cpanel/JSON/XS.pm | 40 +- Master/tlpkg/tlperl/site/lib/Date/Format.pm | 403 + Master/tlpkg/tlperl/site/lib/Date/Language.pm | 145 + Master/tlpkg/tlperl/site/lib/Date/Language/Afar.pm | 49 + .../tlpkg/tlperl/site/lib/Date/Language/Amharic.pm | 87 + .../tlperl/site/lib/Date/Language/Austrian.pm | 36 + .../tlperl/site/lib/Date/Language/Brazilian.pm | 35 + .../tlperl/site/lib/Date/Language/Bulgarian.pm | 92 + .../tlpkg/tlperl/site/lib/Date/Language/Chinese.pm | 36 + .../tlperl/site/lib/Date/Language/Chinese_GB.pm | 36 + .../tlpkg/tlperl/site/lib/Date/Language/Czech.pm | 58 + .../tlpkg/tlperl/site/lib/Date/Language/Danish.pm | 36 + .../tlpkg/tlperl/site/lib/Date/Language/Dutch.pm | 40 + .../tlpkg/tlperl/site/lib/Date/Language/English.pm | 37 + .../tlpkg/tlperl/site/lib/Date/Language/Finnish.pm | 45 + .../tlpkg/tlperl/site/lib/Date/Language/French.pm | 37 + .../tlpkg/tlperl/site/lib/Date/Language/Gedeo.pm | 51 + .../tlpkg/tlperl/site/lib/Date/Language/German.pm | 37 + .../tlpkg/tlperl/site/lib/Date/Language/Greek.pm | 91 + .../tlperl/site/lib/Date/Language/Hungarian.pm | 88 + .../tlperl/site/lib/Date/Language/Icelandic.pm | 36 + .../tlpkg/tlperl/site/lib/Date/Language/Italian.pm | 36 + .../tlperl/site/lib/Date/Language/Norwegian.pm | 36 + .../tlpkg/tlperl/site/lib/Date/Language/Occitan.pm | 36 + .../tlpkg/tlperl/site/lib/Date/Language/Oromo.pm | 37 + .../tlperl/site/lib/Date/Language/Romanian.pm | 37 + .../tlpkg/tlperl/site/lib/Date/Language/Russian.pm | 49 + .../site/lib/Date/Language/Russian_cp1251.pm | 39 + .../tlperl/site/lib/Date/Language/Russian_koi8r.pm | 39 + .../tlpkg/tlperl/site/lib/Date/Language/Sidama.pm | 37 + .../tlpkg/tlperl/site/lib/Date/Language/Somali.pm | 62 + .../tlpkg/tlperl/site/lib/Date/Language/Spanish.pm | 35 + .../tlpkg/tlperl/site/lib/Date/Language/Swedish.pm | 41 + .../tlperl/site/lib/Date/Language/Tigrinya.pm | 58 + .../site/lib/Date/Language/TigrinyaEritrean.pm | 93 + .../site/lib/Date/Language/TigrinyaEthiopian.pm | 93 + .../tlpkg/tlperl/site/lib/Date/Language/Turkish.pm | 59 + Master/tlpkg/tlperl/site/lib/Date/Parse.pm | 388 + Master/tlpkg/tlperl/site/lib/Digest/SHA.pm | 820 + Master/tlpkg/tlperl/site/lib/Digest/SHA1.pm | 246 - Master/tlpkg/tlperl/site/lib/File/Listing.pm | 463 +- Master/tlpkg/tlperl/site/lib/HTML/Entities.pm | 13 +- Master/tlpkg/tlperl/site/lib/HTML/Filter.pm | 6 +- Master/tlpkg/tlperl/site/lib/HTML/HeadParser.pm | 7 +- Master/tlpkg/tlperl/site/lib/HTML/LinkExtor.pm | 4 +- Master/tlpkg/tlperl/site/lib/HTML/Parser.pm | 166 +- Master/tlpkg/tlperl/site/lib/HTML/PullParser.pm | 7 +- Master/tlpkg/tlperl/site/lib/HTML/TokeParser.pm | 9 +- Master/tlpkg/tlperl/site/lib/HTTP/Config.pm | 6 +- Master/tlpkg/tlperl/site/lib/HTTP/Cookies.pm | 9 +- .../tlperl/site/lib/HTTP/Cookies/Microsoft.pm | 6 +- .../tlpkg/tlperl/site/lib/HTTP/Cookies/Netscape.pm | 7 +- Master/tlpkg/tlperl/site/lib/HTTP/Daemon.pm | 140 +- Master/tlpkg/tlperl/site/lib/HTTP/Headers.pm | 13 +- Master/tlpkg/tlperl/site/lib/HTTP/Headers/Auth.pm | 6 +- Master/tlpkg/tlperl/site/lib/HTTP/Headers/ETag.pm | 6 +- Master/tlpkg/tlperl/site/lib/HTTP/Headers/Util.pm | 6 +- Master/tlpkg/tlperl/site/lib/HTTP/Message.pm | 6 +- Master/tlpkg/tlperl/site/lib/HTTP/Request.pm | 6 +- .../tlpkg/tlperl/site/lib/HTTP/Request/Common.pm | 6 +- Master/tlpkg/tlperl/site/lib/HTTP/Response.pm | 6 +- Master/tlpkg/tlperl/site/lib/HTTP/Status.pm | 46 +- Master/tlpkg/tlperl/site/lib/IO/HTML.pm | 98 +- Master/tlpkg/tlperl/site/lib/JSON/MaybeXS.pm | 13 +- Master/tlpkg/tlperl/site/lib/LWP.pm | 2 +- Master/tlpkg/tlperl/site/lib/LWP/Authen/Basic.pm | 14 +- Master/tlpkg/tlperl/site/lib/LWP/Authen/Digest.pm | 14 +- Master/tlpkg/tlperl/site/lib/LWP/Authen/Ntlm.pm | 2 +- Master/tlpkg/tlperl/site/lib/LWP/ConnCache.pm | 2 +- Master/tlpkg/tlperl/site/lib/LWP/Debug.pm | 2 +- .../tlpkg/tlperl/site/lib/LWP/Debug/TraceHTTP.pm | 2 +- Master/tlpkg/tlperl/site/lib/LWP/DebugFile.pm | 2 +- Master/tlpkg/tlperl/site/lib/LWP/MemberMixin.pm | 2 +- Master/tlpkg/tlperl/site/lib/LWP/Protocol.pm | 2 +- Master/tlpkg/tlperl/site/lib/LWP/Protocol/cpan.pm | 2 +- Master/tlpkg/tlperl/site/lib/LWP/Protocol/data.pm | 2 +- Master/tlpkg/tlperl/site/lib/LWP/Protocol/file.pm | 2 +- Master/tlpkg/tlperl/site/lib/LWP/Protocol/ftp.pm | 2 +- .../tlpkg/tlperl/site/lib/LWP/Protocol/gopher.pm | 2 +- Master/tlpkg/tlperl/site/lib/LWP/Protocol/http.pm | 2 +- .../tlpkg/tlperl/site/lib/LWP/Protocol/loopback.pm | 2 +- .../tlpkg/tlperl/site/lib/LWP/Protocol/mailto.pm | 2 +- Master/tlpkg/tlperl/site/lib/LWP/Protocol/nntp.pm | 2 +- Master/tlpkg/tlperl/site/lib/LWP/Protocol/nogo.pm | 2 +- Master/tlpkg/tlperl/site/lib/LWP/RobotUA.pm | 2 +- Master/tlpkg/tlperl/site/lib/LWP/Simple.pm | 2 +- Master/tlpkg/tlperl/site/lib/LWP/UserAgent.pm | 64 +- Master/tlpkg/tlperl/site/lib/Mozilla/CA.pm | 2 +- Master/tlpkg/tlperl/site/lib/Mozilla/CA/cacert.pem | 745 +- .../tlpkg/tlperl/site/lib/Mozilla/mk-ca-bundle.pl | 76 +- Master/tlpkg/tlperl/site/lib/Net/HTTP.pm | 10 +- Master/tlpkg/tlperl/site/lib/Net/HTTP/Methods.pm | 4 +- Master/tlpkg/tlperl/site/lib/Net/HTTP/NB.pm | 4 +- Master/tlpkg/tlperl/site/lib/Net/HTTPS.pm | 6 +- Master/tlpkg/tlperl/site/lib/Socket.pm | 28 +- Master/tlpkg/tlperl/site/lib/Test/Fatal.pm | 109 +- Master/tlpkg/tlperl/site/lib/Time/Zone.pm | 291 + Master/tlpkg/tlperl/site/lib/TimeDate.pm | 16 + Master/tlpkg/tlperl/site/lib/URI.pm | 10 +- Master/tlpkg/tlperl/site/lib/URI/Escape.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/Heuristic.pm | 4 +- Master/tlpkg/tlperl/site/lib/URI/IRI.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/QueryParam.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/Split.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/URL.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/WithBase.pm | 6 +- Master/tlpkg/tlperl/site/lib/URI/_foreign.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/_generic.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/_idna.pm | 4 +- Master/tlpkg/tlperl/site/lib/URI/_ldap.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/_login.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/_punycode.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/_query.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/_segment.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/_server.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/_userpass.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/data.pm | 6 +- Master/tlpkg/tlperl/site/lib/URI/file.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/file/Base.pm | 4 +- Master/tlpkg/tlperl/site/lib/URI/file/FAT.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/file/Mac.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/file/OS2.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/file/QNX.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/file/Unix.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/file/Win32.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/ftp.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/gopher.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/http.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/https.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/ldap.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/ldapi.pm | 4 +- Master/tlpkg/tlperl/site/lib/URI/ldaps.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/mailto.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/mms.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/news.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/nntp.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/pop.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/rlogin.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/rsync.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/rtsp.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/rtspu.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/sftp.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/sip.pm | 4 +- Master/tlpkg/tlperl/site/lib/URI/sips.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/snews.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/ssh.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/telnet.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/tn3270.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/urn.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/urn/isbn.pm | 2 +- Master/tlpkg/tlperl/site/lib/URI/urn/oid.pm | 2 +- .../tlperl/site/lib/auto/Cpanel/JSON/XS/.packlist | 12 +- .../tlperl/site/lib/auto/Cpanel/JSON/XS/XS.dll | Bin 84992 -> 84992 bytes .../tlperl/site/lib/auto/Date/Parse/.packlist | 39 + .../tlperl/site/lib/auto/Digest/SHA/.packlist | 4 + .../tlpkg/tlperl/site/lib/auto/Digest/SHA/SHA.dll | Bin 0 -> 47616 bytes .../tlperl/site/lib/auto/Digest/SHA1/.packlist | 2 - .../tlperl/site/lib/auto/Digest/SHA1/SHA1.dll | Bin 24064 -> 0 bytes .../tlperl/site/lib/auto/Encode/Locale/.packlist | 2 +- .../tlperl/site/lib/auto/Encode/compat/.packlist | 8 +- .../tlperl/site/lib/auto/File/Listing/.packlist | 2 +- .../tlperl/site/lib/auto/File/Which/.packlist | 2 +- .../tlperl/site/lib/auto/HTML/Parser/.packlist | 16 +- .../tlperl/site/lib/auto/HTML/Parser/Parser.dll | Bin 52224 -> 50688 bytes .../tlperl/site/lib/auto/HTML/Tagset/.packlist | 2 +- .../tlperl/site/lib/auto/HTTP/Cookies/.packlist | 6 +- .../tlperl/site/lib/auto/HTTP/Daemon/.packlist | 2 +- .../tlpkg/tlperl/site/lib/auto/HTTP/Date/.packlist | 2 +- .../tlperl/site/lib/auto/HTTP/Message/.packlist | 20 +- .../tlperl/site/lib/auto/HTTP/Negotiate/.packlist | 2 +- .../tlpkg/tlperl/site/lib/auto/IO/HTML/.packlist | 2 +- .../tlpkg/tlperl/site/lib/auto/IO/String/.packlist | 2 +- .../tlperl/site/lib/auto/JSON/MaybeXS/.packlist | 2 +- .../tlperl/site/lib/auto/LWP/MediaTypes/.packlist | 4 +- .../tlperl/site/lib/auto/Math/Int64/.packlist | 10 +- .../tlperl/site/lib/auto/Math/Int64/Int64.dll | Bin 70656 -> 70144 bytes .../tlperl/site/lib/auto/Mozilla/CA/.packlist | 6 +- .../tlpkg/tlperl/site/lib/auto/Net/HTTP/.packlist | 8 +- Master/tlpkg/tlperl/site/lib/auto/Socket/.packlist | 4 +- .../tlpkg/tlperl/site/lib/auto/Socket/Socket.dll | Bin 40448 -> 40448 bytes .../tlperl/site/lib/auto/Test/Fatal/.packlist | 2 +- .../tlperl/site/lib/auto/Test/Needs/.packlist | 2 +- .../site/lib/auto/Test/RequiresInternet/.packlist | 2 +- .../tlpkg/tlperl/site/lib/auto/Try/Tiny/.packlist | 2 +- Master/tlpkg/tlperl/site/lib/auto/URI/.packlist | 106 +- .../tlperl/site/lib/auto/WWW/RobotRules/.packlist | 4 +- .../tlpkg/tlperl/site/lib/auto/Win32/API/.packlist | 14 +- .../tlpkg/tlperl/site/lib/auto/Win32/API/API.dll | Bin 31744 -> 31744 bytes .../site/lib/auto/Win32/API/Callback/Callback.dll | Bin 25600 -> 25600 bytes .../tlperl/site/lib/auto/Win32/Console/.packlist | 4 +- .../tlperl/site/lib/auto/Win32/Console/Console.dll | Bin 50176 -> 49664 bytes .../tlperl/site/lib/auto/Win32/Shortcut/.packlist | 4 +- .../site/lib/auto/Win32/Shortcut/Shortcut.dll | Bin 52224 -> 52224 bytes .../site/lib/auto/Win32/TieRegistry/.packlist | 4 +- .../site/lib/auto/Win32API/Registry/.packlist | 6 +- .../site/lib/auto/Win32API/Registry/Registry.dll | Bin 157184 -> 156160 bytes .../tlperl/site/lib/auto/libwww/perl/.packlist | 66 +- 1186 files changed, 196761 insertions(+), 83862 deletions(-) delete mode 100755 Master/tlpkg/tlperl/bin/perl5.30.1.exe delete mode 100755 Master/tlpkg/tlperl/bin/perl530.dll create mode 100755 Master/tlpkg/tlperl/bin/perl532.dll delete mode 100644 Master/tlpkg/tlperl/lib/CORE/dquote_inline.h delete mode 100755 Master/tlpkg/tlperl/lib/CORE/libperl530.a create mode 100644 Master/tlpkg/tlperl/lib/CORE/libperl532.a delete mode 100755 Master/tlpkg/tlperl/lib/CORE/perllibst.h delete mode 100644 Master/tlpkg/tlperl/lib/CORE/win32iop-o.h delete mode 100644 Master/tlpkg/tlperl/lib/CORE/wince.h delete mode 100644 Master/tlpkg/tlperl/lib/Pod/Find.pm delete mode 100644 Master/tlpkg/tlperl/lib/Pod/InputObjects.pm delete mode 100644 Master/tlpkg/tlperl/lib/Pod/ParseUtils.pm delete mode 100644 Master/tlpkg/tlperl/lib/Pod/Parser.pm delete mode 100644 Master/tlpkg/tlperl/lib/Pod/PlainText.pm delete mode 100644 Master/tlpkg/tlperl/lib/Pod/Select.pm create mode 100644 Master/tlpkg/tlperl/lib/Pod/Simple/JustPod.pm delete mode 100755 Master/tlpkg/tlperl/lib/auto/Tie/Hash/NamedCapture/NamedCapture.dll delete mode 100644 Master/tlpkg/tlperl/lib/unicore/Heavy.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/To/Identif2.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/To/Identifi.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/lib/Age/V130.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/lib/EBase/Y.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/lib/EComp/Y.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/lib/EPres/Y.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/lib/Emoji/Y.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/lib/ExtPict/Y.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/lib/IdStatus/Allowed.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/lib/IdStatus/Restrict.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/lib/IdType/DefaultI.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/lib/IdType/Exclusio.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/lib/IdType/Inclusio.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/lib/IdType/LimitedU.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/lib/IdType/NotChara.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/lib/IdType/NotNFKC.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/lib/IdType/NotXID.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/lib/IdType/Obsolete.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/lib/IdType/Recommen.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/lib/IdType/Technica.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/lib/IdType/Uncommon.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/lib/In/13_0.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/lib/InPC/BottomAn.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/lib/InSC/Consona8.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/lib/InSC/Consona9.pl delete mode 100755 Master/tlpkg/tlperl/lib/unicore/lib/Lb/EB.pl delete mode 100755 Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlNon.pl delete mode 100644 Master/tlpkg/tlperl/lib/unicore/lib/Sc/Armn.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/lib/Scx/Diak.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tang.pl create mode 100644 Master/tlpkg/tlperl/lib/unicore/lib/Scx/Yezi.pl delete mode 100644 Master/tlpkg/tlperl/lib/utf8_heavy.pl create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Format.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Afar.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Amharic.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Austrian.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Brazilian.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Bulgarian.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Chinese.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Chinese_GB.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Czech.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Danish.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Dutch.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/English.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Finnish.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/French.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Gedeo.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/German.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Greek.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Hungarian.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Icelandic.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Italian.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Norwegian.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Occitan.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Oromo.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Romanian.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Russian.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Russian_cp1251.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Russian_koi8r.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Sidama.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Somali.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Spanish.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Swedish.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Tigrinya.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/TigrinyaEritrean.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/TigrinyaEthiopian.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Language/Turkish.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Date/Parse.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Digest/SHA.pm delete mode 100644 Master/tlpkg/tlperl/site/lib/Digest/SHA1.pm create mode 100644 Master/tlpkg/tlperl/site/lib/Time/Zone.pm create mode 100644 Master/tlpkg/tlperl/site/lib/TimeDate.pm create mode 100644 Master/tlpkg/tlperl/site/lib/auto/Date/Parse/.packlist create mode 100644 Master/tlpkg/tlperl/site/lib/auto/Digest/SHA/.packlist create mode 100755 Master/tlpkg/tlperl/site/lib/auto/Digest/SHA/SHA.dll delete mode 100644 Master/tlpkg/tlperl/site/lib/auto/Digest/SHA1/.packlist delete mode 100755 Master/tlpkg/tlperl/site/lib/auto/Digest/SHA1/SHA1.dll (limited to 'Master/tlpkg/tlperl') diff --git a/Master/tlpkg/tlperl/README.TEXLIVE b/Master/tlpkg/tlperl/README.TEXLIVE index 82bf8a52993..89d30186913 100644 --- a/Master/tlpkg/tlperl/README.TEXLIVE +++ b/Master/tlpkg/tlperl/README.TEXLIVE @@ -1,8 +1,8 @@ (This file public domain.) -This directory contains Perl 5.30.1 compiled for Windows. +This directory contains Perl 5.32.1 compiled for Windows. The only purpose of this Perl is to provide support on Windows for -Perl scripts shipped with TeX Live. It's not intended for general use. +Perl scripts shipped with TeX Live. It is not intended for general use. The sources and notes on compilation can be found in Master/source/tlperl. diff --git a/Master/tlpkg/tlperl/bin/perl.exe b/Master/tlpkg/tlperl/bin/perl.exe index 6fbfb81f7e9..4b9f593a3b6 100755 Binary files a/Master/tlpkg/tlperl/bin/perl.exe and b/Master/tlpkg/tlperl/bin/perl.exe differ diff --git a/Master/tlpkg/tlperl/bin/perl5.30.1.exe b/Master/tlpkg/tlperl/bin/perl5.30.1.exe deleted file mode 100755 index 6fbfb81f7e9..00000000000 Binary files a/Master/tlpkg/tlperl/bin/perl5.30.1.exe and /dev/null differ diff --git a/Master/tlpkg/tlperl/bin/perl530.dll b/Master/tlpkg/tlperl/bin/perl530.dll deleted file mode 100755 index 51cdfefc3a4..00000000000 Binary files a/Master/tlpkg/tlperl/bin/perl530.dll and /dev/null differ diff --git a/Master/tlpkg/tlperl/bin/perl532.dll b/Master/tlpkg/tlperl/bin/perl532.dll new file mode 100755 index 00000000000..76b99dcbfc7 Binary files /dev/null and b/Master/tlpkg/tlperl/bin/perl532.dll differ diff --git a/Master/tlpkg/tlperl/bin/perlglob.exe b/Master/tlpkg/tlperl/bin/perlglob.exe index 020e3a031c5..b251171d8b2 100755 Binary files a/Master/tlpkg/tlperl/bin/perlglob.exe and b/Master/tlpkg/tlperl/bin/perlglob.exe differ diff --git a/Master/tlpkg/tlperl/bin/wperl.exe b/Master/tlpkg/tlperl/bin/wperl.exe index 9d87e850040..a8f9f017cbc 100755 Binary files a/Master/tlpkg/tlperl/bin/wperl.exe and b/Master/tlpkg/tlperl/bin/wperl.exe differ diff --git a/Master/tlpkg/tlperl/lib/.packlist b/Master/tlpkg/tlperl/lib/.packlist index b10a21594af..873c58f961f 100644 --- a/Master/tlpkg/tlperl/lib/.packlist +++ b/Master/tlpkg/tlperl/lib/.packlist @@ -1,1651 +1,1670 @@ -d:\tlperl\bin/corelist.bat type=file -d:\tlperl\bin/cpan.bat type=file -d:\tlperl\bin/enc2xs.bat type=file -d:\tlperl\bin/encguess.bat type=file -d:\tlperl\bin/h2ph.bat type=file -d:\tlperl\bin/h2xs.bat type=file -d:\tlperl\bin/instmodsh.bat type=file -d:\tlperl\bin/json_pp.bat type=file -d:\tlperl\bin/libnetcfg.bat type=file -d:\tlperl\bin/perl.exe from=d:\tlperl\bin/perl5.30.1.exe type=link -d:\tlperl\bin/perl5.30.1.exe type=file -d:\tlperl\bin/perl530.dll type=file -d:\tlperl\bin/perlbug.bat type=file -d:\tlperl\bin/perldoc.bat type=file -d:\tlperl\bin/perlivp.bat type=file -d:\tlperl\bin/perlthanks.bat from=d:\tlperl\bin/perlbug.bat type=link -d:\tlperl\bin/piconv.bat type=file -d:\tlperl\bin/pl2pm.bat type=file -d:\tlperl\bin/pod2html.bat type=file -d:\tlperl\bin/pod2man.bat type=file -d:\tlperl\bin/pod2text.bat type=file -d:\tlperl\bin/pod2usage.bat type=file -d:\tlperl\bin/podchecker.bat type=file -d:\tlperl\bin/podselect.bat type=file -d:\tlperl\bin/prove.bat type=file -d:\tlperl\bin/ptar.bat type=file -d:\tlperl\bin/ptardiff.bat type=file -d:\tlperl\bin/ptargrep.bat type=file -d:\tlperl\bin/shasum.bat type=file -d:\tlperl\bin/splain.bat type=file -d:\tlperl\bin/xsubpp.bat type=file -d:\tlperl\bin/zipdetails.bat type=file -d:\tlperl\lib/AnyDBM_File.pm type=file -d:\tlperl\lib/App/Cpan.pm type=file -d:\tlperl\lib/App/Prove.pm type=file -d:\tlperl\lib/App/Prove/State.pm type=file -d:\tlperl\lib/App/Prove/State/Result.pm type=file -d:\tlperl\lib/App/Prove/State/Result/Test.pm type=file -d:\tlperl\lib/Archive/Tar.pm type=file -d:\tlperl\lib/Archive/Tar/Constant.pm type=file -d:\tlperl\lib/Archive/Tar/File.pm type=file -d:\tlperl\lib/Attribute/Handlers.pm type=file -d:\tlperl\lib/AutoLoader.pm type=file -d:\tlperl\lib/AutoSplit.pm type=file -d:\tlperl\lib/B.pm type=file -d:\tlperl\lib/B/Concise.pm type=file -d:\tlperl\lib/B/Deparse.pm type=file -d:\tlperl\lib/B/Op_private.pm type=file -d:\tlperl\lib/B/Showlex.pm type=file -d:\tlperl\lib/B/Terse.pm type=file -d:\tlperl\lib/B/Xref.pm type=file -d:\tlperl\lib/Benchmark.pm type=file -d:\tlperl\lib/CORE.pod type=file -d:\tlperl\lib/CORE/EXTERN.h type=file -d:\tlperl\lib/CORE/INTERN.h type=file -d:\tlperl\lib/CORE/XSUB.h type=file -d:\tlperl\lib/CORE/arpa/inet.h type=file -d:\tlperl\lib/CORE/av.h type=file -d:\tlperl\lib/CORE/bitcount.h type=file -d:\tlperl\lib/CORE/charclass_invlists.h type=file -d:\tlperl\lib/CORE/config.h type=file -d:\tlperl\lib/CORE/cop.h type=file -d:\tlperl\lib/CORE/cv.h type=file -d:\tlperl\lib/CORE/dirent.h type=file -d:\tlperl\lib/CORE/dosish.h type=file -d:\tlperl\lib/CORE/dquote_inline.h type=file -d:\tlperl\lib/CORE/ebcdic_tables.h type=file -d:\tlperl\lib/CORE/embed.h type=file -d:\tlperl\lib/CORE/embedvar.h type=file -d:\tlperl\lib/CORE/fakesdio.h type=file -d:\tlperl\lib/CORE/feature.h type=file -d:\tlperl\lib/CORE/form.h type=file -d:\tlperl\lib/CORE/git_version.h type=file -d:\tlperl\lib/CORE/gv.h type=file -d:\tlperl\lib/CORE/handy.h type=file -d:\tlperl\lib/CORE/hv.h type=file -d:\tlperl\lib/CORE/hv_func.h type=file -d:\tlperl\lib/CORE/hv_macro.h type=file -d:\tlperl\lib/CORE/inline.h type=file -d:\tlperl\lib/CORE/intrpvar.h type=file -d:\tlperl\lib/CORE/invlist_inline.h type=file -d:\tlperl\lib/CORE/iperlsys.h type=file -d:\tlperl\lib/CORE/keywords.h type=file -d:\tlperl\lib/CORE/l1_char_class_tab.h type=file -d:\tlperl\lib/CORE/libperl530.a type=file -d:\tlperl\lib/CORE/malloc_ctl.h type=file -d:\tlperl\lib/CORE/metaconfig.h type=file -d:\tlperl\lib/CORE/mg.h type=file -d:\tlperl\lib/CORE/mg_data.h type=file -d:\tlperl\lib/CORE/mg_raw.h type=file -d:\tlperl\lib/CORE/mg_vtable.h type=file -d:\tlperl\lib/CORE/mydtrace.h type=file -d:\tlperl\lib/CORE/netdb.h type=file -d:\tlperl\lib/CORE/nostdio.h type=file -d:\tlperl\lib/CORE/op.h type=file -d:\tlperl\lib/CORE/op_reg_common.h type=file -d:\tlperl\lib/CORE/opcode.h type=file -d:\tlperl\lib/CORE/opnames.h type=file -d:\tlperl\lib/CORE/overload.h type=file -d:\tlperl\lib/CORE/pad.h type=file -d:\tlperl\lib/CORE/parser.h type=file -d:\tlperl\lib/CORE/patchlevel.h type=file -d:\tlperl\lib/CORE/perl.h type=file -d:\tlperl\lib/CORE/perl_inc_macro.h type=file -d:\tlperl\lib/CORE/perl_langinfo.h type=file -d:\tlperl\lib/CORE/perlapi.h type=file -d:\tlperl\lib/CORE/perlhost.h type=file -d:\tlperl\lib/CORE/perlio.h type=file -d:\tlperl\lib/CORE/perliol.h type=file -d:\tlperl\lib/CORE/perllibst.h type=file -d:\tlperl\lib/CORE/perlsdio.h type=file -d:\tlperl\lib/CORE/perlvars.h type=file -d:\tlperl\lib/CORE/perly.h type=file -d:\tlperl\lib/CORE/pp.h type=file -d:\tlperl\lib/CORE/pp_proto.h type=file -d:\tlperl\lib/CORE/proto.h type=file -d:\tlperl\lib/CORE/reentr.h type=file -d:\tlperl\lib/CORE/regcharclass.h type=file -d:\tlperl\lib/CORE/regcomp.h type=file -d:\tlperl\lib/CORE/regexp.h type=file -d:\tlperl\lib/CORE/regnodes.h type=file -d:\tlperl\lib/CORE/sbox32_hash.h type=file -d:\tlperl\lib/CORE/scope.h type=file -d:\tlperl\lib/CORE/stadtx_hash.h type=file -d:\tlperl\lib/CORE/sv.h type=file -d:\tlperl\lib/CORE/sys/errno2.h type=file -d:\tlperl\lib/CORE/sys/socket.h type=file -d:\tlperl\lib/CORE/thread.h type=file -d:\tlperl\lib/CORE/time64.h type=file -d:\tlperl\lib/CORE/time64_config.h type=file -d:\tlperl\lib/CORE/uconfig.h type=file -d:\tlperl\lib/CORE/uni_keywords.h type=file -d:\tlperl\lib/CORE/unicode_constants.h type=file -d:\tlperl\lib/CORE/unixish.h type=file -d:\tlperl\lib/CORE/utf8.h type=file -d:\tlperl\lib/CORE/utfebcdic.h type=file -d:\tlperl\lib/CORE/util.h type=file -d:\tlperl\lib/CORE/uudmap.h type=file -d:\tlperl\lib/CORE/vdir.h type=file -d:\tlperl\lib/CORE/vmem.h type=file -d:\tlperl\lib/CORE/vutil.h type=file -d:\tlperl\lib/CORE/warnings.h type=file -d:\tlperl\lib/CORE/win32.h type=file -d:\tlperl\lib/CORE/win32iop-o.h type=file -d:\tlperl\lib/CORE/win32iop.h type=file -d:\tlperl\lib/CORE/win32thread.h type=file -d:\tlperl\lib/CORE/wince.h type=file -d:\tlperl\lib/CORE/zaphod32_hash.h type=file -d:\tlperl\lib/CPAN.pm type=file -d:\tlperl\lib/CPAN/API/HOWTO.pod type=file -d:\tlperl\lib/CPAN/Author.pm type=file -d:\tlperl\lib/CPAN/Bundle.pm type=file -d:\tlperl\lib/CPAN/CacheMgr.pm type=file -d:\tlperl\lib/CPAN/Complete.pm type=file -d:\tlperl\lib/CPAN/Debug.pm type=file -d:\tlperl\lib/CPAN/DeferredCode.pm type=file -d:\tlperl\lib/CPAN/Distribution.pm type=file -d:\tlperl\lib/CPAN/Distroprefs.pm type=file -d:\tlperl\lib/CPAN/Distrostatus.pm type=file -d:\tlperl\lib/CPAN/Exception/RecursiveDependency.pm type=file -d:\tlperl\lib/CPAN/Exception/blocked_urllist.pm type=file -d:\tlperl\lib/CPAN/Exception/yaml_not_installed.pm type=file -d:\tlperl\lib/CPAN/Exception/yaml_process_error.pm type=file -d:\tlperl\lib/CPAN/FTP.pm type=file -d:\tlperl\lib/CPAN/FTP/netrc.pm type=file -d:\tlperl\lib/CPAN/FirstTime.pm type=file -d:\tlperl\lib/CPAN/HTTP/Client.pm type=file -d:\tlperl\lib/CPAN/HTTP/Credentials.pm type=file -d:\tlperl\lib/CPAN/HandleConfig.pm type=file -d:\tlperl\lib/CPAN/Index.pm type=file -d:\tlperl\lib/CPAN/InfoObj.pm type=file -d:\tlperl\lib/CPAN/Kwalify.pm type=file -d:\tlperl\lib/CPAN/Kwalify/distroprefs.dd type=file -d:\tlperl\lib/CPAN/Kwalify/distroprefs.yml type=file -d:\tlperl\lib/CPAN/LWP/UserAgent.pm type=file -d:\tlperl\lib/CPAN/Meta.pm type=file -d:\tlperl\lib/CPAN/Meta/Converter.pm type=file -d:\tlperl\lib/CPAN/Meta/Feature.pm type=file -d:\tlperl\lib/CPAN/Meta/History.pm type=file -d:\tlperl\lib/CPAN/Meta/History/Meta_1_0.pod type=file -d:\tlperl\lib/CPAN/Meta/History/Meta_1_1.pod type=file -d:\tlperl\lib/CPAN/Meta/History/Meta_1_2.pod type=file -d:\tlperl\lib/CPAN/Meta/History/Meta_1_3.pod type=file -d:\tlperl\lib/CPAN/Meta/History/Meta_1_4.pod type=file -d:\tlperl\lib/CPAN/Meta/Merge.pm type=file -d:\tlperl\lib/CPAN/Meta/Prereqs.pm type=file -d:\tlperl\lib/CPAN/Meta/Requirements.pm type=file -d:\tlperl\lib/CPAN/Meta/Spec.pm type=file -d:\tlperl\lib/CPAN/Meta/Validator.pm type=file -d:\tlperl\lib/CPAN/Meta/YAML.pm type=file -d:\tlperl\lib/CPAN/Mirrors.pm type=file -d:\tlperl\lib/CPAN/Module.pm type=file -d:\tlperl\lib/CPAN/Nox.pm type=file -d:\tlperl\lib/CPAN/Plugin.pm type=file -d:\tlperl\lib/CPAN/Plugin/Specfile.pm type=file -d:\tlperl\lib/CPAN/Prompt.pm type=file -d:\tlperl\lib/CPAN/Queue.pm type=file -d:\tlperl\lib/CPAN/Shell.pm type=file -d:\tlperl\lib/CPAN/Tarzip.pm type=file -d:\tlperl\lib/CPAN/URL.pm type=file -d:\tlperl\lib/CPAN/Version.pm type=file -d:\tlperl\lib/Carp.pm type=file -d:\tlperl\lib/Carp/Heavy.pm type=file -d:\tlperl\lib/Class/Struct.pm type=file -d:\tlperl\lib/Compress/Raw/Bzip2.pm type=file -d:\tlperl\lib/Compress/Raw/Zlib.pm type=file -d:\tlperl\lib/Compress/Zlib.pm type=file -d:\tlperl\lib/Config.pm type=file -d:\tlperl\lib/Config.pod type=file -d:\tlperl\lib/Config/Extensions.pm type=file -d:\tlperl\lib/Config/Perl/V.pm type=file -d:\tlperl\lib/Config_git.pl type=file -d:\tlperl\lib/Config_heavy.pl type=file -d:\tlperl\lib/Cwd.pm type=file -d:\tlperl\lib/DB.pm type=file -d:\tlperl\lib/DBM_Filter.pm type=file -d:\tlperl\lib/DBM_Filter/compress.pm type=file -d:\tlperl\lib/DBM_Filter/encode.pm type=file -d:\tlperl\lib/DBM_Filter/int32.pm type=file -d:\tlperl\lib/DBM_Filter/null.pm type=file -d:\tlperl\lib/DBM_Filter/utf8.pm type=file -d:\tlperl\lib/Data/Dumper.pm type=file -d:\tlperl\lib/Devel/PPPort.pm type=file -d:\tlperl\lib/Devel/Peek.pm type=file -d:\tlperl\lib/Devel/SelfStubber.pm type=file -d:\tlperl\lib/Digest.pm type=file -d:\tlperl\lib/Digest/MD5.pm type=file -d:\tlperl\lib/Digest/SHA.pm type=file -d:\tlperl\lib/Digest/base.pm type=file -d:\tlperl\lib/Digest/file.pm type=file -d:\tlperl\lib/DirHandle.pm type=file -d:\tlperl\lib/Dumpvalue.pm type=file -d:\tlperl\lib/DynaLoader.pm type=file -d:\tlperl\lib/Encode.pm type=file -d:\tlperl\lib/Encode/Alias.pm type=file -d:\tlperl\lib/Encode/Byte.pm type=file -d:\tlperl\lib/Encode/CJKConstants.pm type=file -d:\tlperl\lib/Encode/CN.pm type=file -d:\tlperl\lib/Encode/CN/HZ.pm type=file -d:\tlperl\lib/Encode/Changes.e2x type=file -d:\tlperl\lib/Encode/Config.pm type=file -d:\tlperl\lib/Encode/ConfigLocal_PM.e2x type=file -d:\tlperl\lib/Encode/EBCDIC.pm type=file -d:\tlperl\lib/Encode/Encoder.pm type=file -d:\tlperl\lib/Encode/Encoding.pm type=file -d:\tlperl\lib/Encode/GSM0338.pm type=file -d:\tlperl\lib/Encode/Guess.pm type=file -d:\tlperl\lib/Encode/JP.pm type=file -d:\tlperl\lib/Encode/JP/H2Z.pm type=file -d:\tlperl\lib/Encode/JP/JIS7.pm type=file -d:\tlperl\lib/Encode/KR.pm type=file -d:\tlperl\lib/Encode/KR/2022_KR.pm type=file -d:\tlperl\lib/Encode/MIME/Header.pm type=file -d:\tlperl\lib/Encode/MIME/Header/ISO_2022_JP.pm type=file -d:\tlperl\lib/Encode/MIME/Name.pm type=file -d:\tlperl\lib/Encode/Makefile_PL.e2x type=file -d:\tlperl\lib/Encode/PerlIO.pod type=file -d:\tlperl\lib/Encode/README.e2x type=file -d:\tlperl\lib/Encode/Supported.pod type=file -d:\tlperl\lib/Encode/Symbol.pm type=file -d:\tlperl\lib/Encode/TW.pm type=file -d:\tlperl\lib/Encode/Unicode.pm type=file -d:\tlperl\lib/Encode/Unicode/UTF7.pm type=file -d:\tlperl\lib/Encode/_PM.e2x type=file -d:\tlperl\lib/Encode/_T.e2x type=file -d:\tlperl\lib/Encode/encode.h type=file -d:\tlperl\lib/English.pm type=file -d:\tlperl\lib/Env.pm type=file -d:\tlperl\lib/Errno.pm type=file -d:\tlperl\lib/Exporter.pm type=file -d:\tlperl\lib/Exporter/Heavy.pm type=file -d:\tlperl\lib/ExtUtils/CBuilder.pm type=file -d:\tlperl\lib/ExtUtils/CBuilder/Base.pm type=file -d:\tlperl\lib/ExtUtils/CBuilder/Platform/Unix.pm type=file -d:\tlperl\lib/ExtUtils/CBuilder/Platform/VMS.pm type=file -d:\tlperl\lib/ExtUtils/CBuilder/Platform/Windows.pm type=file -d:\tlperl\lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm type=file -d:\tlperl\lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm type=file -d:\tlperl\lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm type=file -d:\tlperl\lib/ExtUtils/CBuilder/Platform/aix.pm type=file -d:\tlperl\lib/ExtUtils/CBuilder/Platform/android.pm type=file -d:\tlperl\lib/ExtUtils/CBuilder/Platform/cygwin.pm type=file -d:\tlperl\lib/ExtUtils/CBuilder/Platform/darwin.pm type=file -d:\tlperl\lib/ExtUtils/CBuilder/Platform/dec_osf.pm type=file -d:\tlperl\lib/ExtUtils/CBuilder/Platform/os2.pm type=file -d:\tlperl\lib/ExtUtils/Command.pm type=file -d:\tlperl\lib/ExtUtils/Command/MM.pm type=file -d:\tlperl\lib/ExtUtils/Constant.pm type=file -d:\tlperl\lib/ExtUtils/Constant/Base.pm type=file -d:\tlperl\lib/ExtUtils/Constant/ProxySubs.pm type=file -d:\tlperl\lib/ExtUtils/Constant/Utils.pm type=file -d:\tlperl\lib/ExtUtils/Constant/XS.pm type=file -d:\tlperl\lib/ExtUtils/Embed.pm type=file -d:\tlperl\lib/ExtUtils/Install.pm type=file -d:\tlperl\lib/ExtUtils/Installed.pm type=file -d:\tlperl\lib/ExtUtils/Liblist.pm type=file -d:\tlperl\lib/ExtUtils/Liblist/Kid.pm type=file -d:\tlperl\lib/ExtUtils/MANIFEST.SKIP type=file -d:\tlperl\lib/ExtUtils/MM.pm type=file -d:\tlperl\lib/ExtUtils/MM_AIX.pm type=file -d:\tlperl\lib/ExtUtils/MM_Any.pm type=file -d:\tlperl\lib/ExtUtils/MM_BeOS.pm type=file -d:\tlperl\lib/ExtUtils/MM_Cygwin.pm type=file -d:\tlperl\lib/ExtUtils/MM_DOS.pm type=file -d:\tlperl\lib/ExtUtils/MM_Darwin.pm type=file -d:\tlperl\lib/ExtUtils/MM_MacOS.pm type=file -d:\tlperl\lib/ExtUtils/MM_NW5.pm type=file -d:\tlperl\lib/ExtUtils/MM_OS2.pm type=file -d:\tlperl\lib/ExtUtils/MM_QNX.pm type=file -d:\tlperl\lib/ExtUtils/MM_UWIN.pm type=file -d:\tlperl\lib/ExtUtils/MM_Unix.pm type=file -d:\tlperl\lib/ExtUtils/MM_VMS.pm type=file -d:\tlperl\lib/ExtUtils/MM_VOS.pm type=file -d:\tlperl\lib/ExtUtils/MM_Win32.pm type=file -d:\tlperl\lib/ExtUtils/MM_Win95.pm type=file -d:\tlperl\lib/ExtUtils/MY.pm type=file -d:\tlperl\lib/ExtUtils/MakeMaker.pm type=file -d:\tlperl\lib/ExtUtils/MakeMaker/Config.pm type=file -d:\tlperl\lib/ExtUtils/MakeMaker/FAQ.pod type=file -d:\tlperl\lib/ExtUtils/MakeMaker/Locale.pm type=file -d:\tlperl\lib/ExtUtils/MakeMaker/Tutorial.pod type=file -d:\tlperl\lib/ExtUtils/MakeMaker/version.pm type=file -d:\tlperl\lib/ExtUtils/Manifest.pm type=file -d:\tlperl\lib/ExtUtils/Miniperl.pm type=file -d:\tlperl\lib/ExtUtils/Mkbootstrap.pm type=file -d:\tlperl\lib/ExtUtils/Mksymlists.pm type=file -d:\tlperl\lib/ExtUtils/Packlist.pm type=file -d:\tlperl\lib/ExtUtils/ParseXS.pm type=file -d:\tlperl\lib/ExtUtils/ParseXS.pod type=file -d:\tlperl\lib/ExtUtils/ParseXS/Constants.pm type=file -d:\tlperl\lib/ExtUtils/ParseXS/CountLines.pm type=file -d:\tlperl\lib/ExtUtils/ParseXS/Eval.pm type=file -d:\tlperl\lib/ExtUtils/ParseXS/Utilities.pm type=file -d:\tlperl\lib/ExtUtils/Typemaps.pm type=file -d:\tlperl\lib/ExtUtils/Typemaps/Cmd.pm type=file -d:\tlperl\lib/ExtUtils/Typemaps/InputMap.pm type=file -d:\tlperl\lib/ExtUtils/Typemaps/OutputMap.pm type=file -d:\tlperl\lib/ExtUtils/Typemaps/Type.pm type=file -d:\tlperl\lib/ExtUtils/testlib.pm type=file -d:\tlperl\lib/ExtUtils/typemap type=file -d:\tlperl\lib/ExtUtils/xsubpp type=file -d:\tlperl\lib/Fatal.pm type=file -d:\tlperl\lib/Fcntl.pm type=file -d:\tlperl\lib/File/Basename.pm type=file -d:\tlperl\lib/File/Compare.pm type=file -d:\tlperl\lib/File/Copy.pm type=file -d:\tlperl\lib/File/DosGlob.pm type=file -d:\tlperl\lib/File/Fetch.pm type=file -d:\tlperl\lib/File/Find.pm type=file -d:\tlperl\lib/File/Glob.pm type=file -d:\tlperl\lib/File/GlobMapper.pm type=file -d:\tlperl\lib/File/Path.pm type=file -d:\tlperl\lib/File/Spec.pm type=file -d:\tlperl\lib/File/Spec/AmigaOS.pm type=file -d:\tlperl\lib/File/Spec/Cygwin.pm type=file -d:\tlperl\lib/File/Spec/Epoc.pm type=file -d:\tlperl\lib/File/Spec/Functions.pm type=file -d:\tlperl\lib/File/Spec/Mac.pm type=file -d:\tlperl\lib/File/Spec/OS2.pm type=file -d:\tlperl\lib/File/Spec/Unix.pm type=file -d:\tlperl\lib/File/Spec/VMS.pm type=file -d:\tlperl\lib/File/Spec/Win32.pm type=file -d:\tlperl\lib/File/Temp.pm type=file -d:\tlperl\lib/File/stat.pm type=file -d:\tlperl\lib/FileCache.pm type=file -d:\tlperl\lib/FileHandle.pm type=file -d:\tlperl\lib/Filter/Simple.pm type=file -d:\tlperl\lib/Filter/Util/Call.pm type=file -d:\tlperl\lib/FindBin.pm type=file -d:\tlperl\lib/Getopt/Long.pm type=file -d:\tlperl\lib/Getopt/Std.pm type=file -d:\tlperl\lib/HTTP/Tiny.pm type=file -d:\tlperl\lib/Hash/Util.pm type=file -d:\tlperl\lib/Hash/Util/FieldHash.pm type=file -d:\tlperl\lib/I18N/Collate.pm type=file -d:\tlperl\lib/I18N/LangTags.pm type=file -d:\tlperl\lib/I18N/LangTags/Detect.pm type=file -d:\tlperl\lib/I18N/LangTags/List.pm type=file -d:\tlperl\lib/I18N/Langinfo.pm type=file -d:\tlperl\lib/IO.pm type=file -d:\tlperl\lib/IO/Compress/Adapter/Bzip2.pm type=file -d:\tlperl\lib/IO/Compress/Adapter/Deflate.pm type=file -d:\tlperl\lib/IO/Compress/Adapter/Identity.pm type=file -d:\tlperl\lib/IO/Compress/Base.pm type=file -d:\tlperl\lib/IO/Compress/Base/Common.pm type=file -d:\tlperl\lib/IO/Compress/Bzip2.pm type=file -d:\tlperl\lib/IO/Compress/Deflate.pm type=file -d:\tlperl\lib/IO/Compress/FAQ.pod type=file -d:\tlperl\lib/IO/Compress/Gzip.pm type=file -d:\tlperl\lib/IO/Compress/Gzip/Constants.pm type=file -d:\tlperl\lib/IO/Compress/RawDeflate.pm type=file -d:\tlperl\lib/IO/Compress/Zip.pm type=file -d:\tlperl\lib/IO/Compress/Zip/Constants.pm type=file -d:\tlperl\lib/IO/Compress/Zlib/Constants.pm type=file -d:\tlperl\lib/IO/Compress/Zlib/Extra.pm type=file -d:\tlperl\lib/IO/Dir.pm type=file -d:\tlperl\lib/IO/File.pm type=file -d:\tlperl\lib/IO/Handle.pm type=file -d:\tlperl\lib/IO/Pipe.pm type=file -d:\tlperl\lib/IO/Poll.pm type=file -d:\tlperl\lib/IO/Seekable.pm type=file -d:\tlperl\lib/IO/Select.pm type=file -d:\tlperl\lib/IO/Socket.pm type=file -d:\tlperl\lib/IO/Socket/INET.pm type=file -d:\tlperl\lib/IO/Socket/IP.pm type=file -d:\tlperl\lib/IO/Socket/UNIX.pm type=file -d:\tlperl\lib/IO/Uncompress/Adapter/Bunzip2.pm type=file -d:\tlperl\lib/IO/Uncompress/Adapter/Identity.pm type=file -d:\tlperl\lib/IO/Uncompress/Adapter/Inflate.pm type=file -d:\tlperl\lib/IO/Uncompress/AnyInflate.pm type=file -d:\tlperl\lib/IO/Uncompress/AnyUncompress.pm type=file -d:\tlperl\lib/IO/Uncompress/Base.pm type=file -d:\tlperl\lib/IO/Uncompress/Bunzip2.pm type=file -d:\tlperl\lib/IO/Uncompress/Gunzip.pm type=file -d:\tlperl\lib/IO/Uncompress/Inflate.pm type=file -d:\tlperl\lib/IO/Uncompress/RawInflate.pm type=file -d:\tlperl\lib/IO/Uncompress/Unzip.pm type=file -d:\tlperl\lib/IO/Zlib.pm type=file -d:\tlperl\lib/IPC/Cmd.pm type=file -d:\tlperl\lib/IPC/Open2.pm type=file -d:\tlperl\lib/IPC/Open3.pm type=file -d:\tlperl\lib/Internals.pod type=file -d:\tlperl\lib/JSON/PP.pm type=file -d:\tlperl\lib/JSON/PP/Boolean.pm type=file -d:\tlperl\lib/List/Util.pm type=file -d:\tlperl\lib/List/Util/XS.pm type=file -d:\tlperl\lib/Locale/Maketext.pm type=file -d:\tlperl\lib/Locale/Maketext.pod type=file -d:\tlperl\lib/Locale/Maketext/Cookbook.pod type=file -d:\tlperl\lib/Locale/Maketext/Guts.pm type=file -d:\tlperl\lib/Locale/Maketext/GutsLoader.pm type=file -d:\tlperl\lib/Locale/Maketext/Simple.pm type=file -d:\tlperl\lib/Locale/Maketext/TPJ13.pod type=file -d:\tlperl\lib/MIME/Base64.pm type=file -d:\tlperl\lib/MIME/QuotedPrint.pm type=file -d:\tlperl\lib/Math/BigFloat.pm type=file -d:\tlperl\lib/Math/BigFloat/Trace.pm type=file -d:\tlperl\lib/Math/BigInt.pm type=file -d:\tlperl\lib/Math/BigInt/Calc.pm type=file -d:\tlperl\lib/Math/BigInt/FastCalc.pm type=file -d:\tlperl\lib/Math/BigInt/Lib.pm type=file -d:\tlperl\lib/Math/BigInt/Trace.pm type=file -d:\tlperl\lib/Math/BigRat.pm type=file -d:\tlperl\lib/Math/Complex.pm type=file -d:\tlperl\lib/Math/Trig.pm type=file -d:\tlperl\lib/Memoize.pm type=file -d:\tlperl\lib/Memoize/AnyDBM_File.pm type=file -d:\tlperl\lib/Memoize/Expire.pm type=file -d:\tlperl\lib/Memoize/ExpireFile.pm type=file -d:\tlperl\lib/Memoize/ExpireTest.pm type=file -d:\tlperl\lib/Memoize/NDBM_File.pm type=file -d:\tlperl\lib/Memoize/SDBM_File.pm type=file -d:\tlperl\lib/Memoize/Storable.pm type=file -d:\tlperl\lib/Module/CoreList.pm type=file -d:\tlperl\lib/Module/CoreList.pod type=file -d:\tlperl\lib/Module/CoreList/Utils.pm type=file -d:\tlperl\lib/Module/Load.pm type=file -d:\tlperl\lib/Module/Load/Conditional.pm type=file -d:\tlperl\lib/Module/Loaded.pm type=file -d:\tlperl\lib/Module/Metadata.pm type=file -d:\tlperl\lib/NEXT.pm type=file -d:\tlperl\lib/Net/Cmd.pm type=file -d:\tlperl\lib/Net/Config.pm type=file -d:\tlperl\lib/Net/Domain.pm type=file -d:\tlperl\lib/Net/FTP.pm type=file -d:\tlperl\lib/Net/FTP/A.pm type=file -d:\tlperl\lib/Net/FTP/E.pm type=file -d:\tlperl\lib/Net/FTP/I.pm type=file -d:\tlperl\lib/Net/FTP/L.pm type=file -d:\tlperl\lib/Net/FTP/dataconn.pm type=file -d:\tlperl\lib/Net/NNTP.pm type=file -d:\tlperl\lib/Net/Netrc.pm type=file -d:\tlperl\lib/Net/POP3.pm type=file -d:\tlperl\lib/Net/Ping.pm type=file -d:\tlperl\lib/Net/SMTP.pm type=file -d:\tlperl\lib/Net/Time.pm type=file -d:\tlperl\lib/Net/hostent.pm type=file -d:\tlperl\lib/Net/libnetFAQ.pod type=file -d:\tlperl\lib/Net/netent.pm type=file -d:\tlperl\lib/Net/protoent.pm type=file -d:\tlperl\lib/Net/servent.pm type=file -d:\tlperl\lib/O.pm type=file -d:\tlperl\lib/Opcode.pm type=file -d:\tlperl\lib/POSIX.pm type=file -d:\tlperl\lib/POSIX.pod type=file -d:\tlperl\lib/Params/Check.pm type=file -d:\tlperl\lib/Parse/CPAN/Meta.pm type=file -d:\tlperl\lib/Perl/OSType.pm type=file -d:\tlperl\lib/PerlIO.pm type=file -d:\tlperl\lib/PerlIO/encoding.pm type=file -d:\tlperl\lib/PerlIO/mmap.pm type=file -d:\tlperl\lib/PerlIO/scalar.pm type=file -d:\tlperl\lib/PerlIO/via.pm type=file -d:\tlperl\lib/PerlIO/via/QuotedPrint.pm type=file -d:\tlperl\lib/Pod/Checker.pm type=file -d:\tlperl\lib/Pod/Escapes.pm type=file -d:\tlperl\lib/Pod/Find.pm type=file -d:\tlperl\lib/Pod/Functions.pm type=file -d:\tlperl\lib/Pod/Html.pm type=file -d:\tlperl\lib/Pod/InputObjects.pm type=file -d:\tlperl\lib/Pod/Man.pm type=file -d:\tlperl\lib/Pod/ParseLink.pm type=file -d:\tlperl\lib/Pod/ParseUtils.pm type=file -d:\tlperl\lib/Pod/Parser.pm type=file -d:\tlperl\lib/Pod/Perldoc.pm type=file -d:\tlperl\lib/Pod/Perldoc/BaseTo.pm type=file -d:\tlperl\lib/Pod/Perldoc/GetOptsOO.pm type=file -d:\tlperl\lib/Pod/Perldoc/ToANSI.pm type=file -d:\tlperl\lib/Pod/Perldoc/ToChecker.pm type=file -d:\tlperl\lib/Pod/Perldoc/ToMan.pm type=file -d:\tlperl\lib/Pod/Perldoc/ToNroff.pm type=file -d:\tlperl\lib/Pod/Perldoc/ToPod.pm type=file -d:\tlperl\lib/Pod/Perldoc/ToRtf.pm type=file -d:\tlperl\lib/Pod/Perldoc/ToTerm.pm type=file -d:\tlperl\lib/Pod/Perldoc/ToText.pm type=file -d:\tlperl\lib/Pod/Perldoc/ToTk.pm type=file -d:\tlperl\lib/Pod/Perldoc/ToXml.pm type=file -d:\tlperl\lib/Pod/PlainText.pm type=file -d:\tlperl\lib/Pod/Select.pm type=file -d:\tlperl\lib/Pod/Simple.pm type=file -d:\tlperl\lib/Pod/Simple.pod type=file -d:\tlperl\lib/Pod/Simple/BlackBox.pm type=file -d:\tlperl\lib/Pod/Simple/Checker.pm type=file -d:\tlperl\lib/Pod/Simple/Debug.pm type=file -d:\tlperl\lib/Pod/Simple/DumpAsText.pm type=file -d:\tlperl\lib/Pod/Simple/DumpAsXML.pm type=file -d:\tlperl\lib/Pod/Simple/HTML.pm type=file -d:\tlperl\lib/Pod/Simple/HTMLBatch.pm type=file -d:\tlperl\lib/Pod/Simple/HTMLLegacy.pm type=file -d:\tlperl\lib/Pod/Simple/LinkSection.pm type=file -d:\tlperl\lib/Pod/Simple/Methody.pm type=file -d:\tlperl\lib/Pod/Simple/Progress.pm type=file -d:\tlperl\lib/Pod/Simple/PullParser.pm type=file -d:\tlperl\lib/Pod/Simple/PullParserEndToken.pm type=file -d:\tlperl\lib/Pod/Simple/PullParserStartToken.pm type=file -d:\tlperl\lib/Pod/Simple/PullParserTextToken.pm type=file -d:\tlperl\lib/Pod/Simple/PullParserToken.pm type=file -d:\tlperl\lib/Pod/Simple/RTF.pm type=file -d:\tlperl\lib/Pod/Simple/Search.pm type=file -d:\tlperl\lib/Pod/Simple/SimpleTree.pm type=file -d:\tlperl\lib/Pod/Simple/Subclassing.pod type=file -d:\tlperl\lib/Pod/Simple/Text.pm type=file -d:\tlperl\lib/Pod/Simple/TextContent.pm type=file -d:\tlperl\lib/Pod/Simple/TiedOutFH.pm type=file -d:\tlperl\lib/Pod/Simple/Transcode.pm type=file -d:\tlperl\lib/Pod/Simple/TranscodeDumb.pm type=file -d:\tlperl\lib/Pod/Simple/TranscodeSmart.pm type=file -d:\tlperl\lib/Pod/Simple/XHTML.pm type=file -d:\tlperl\lib/Pod/Simple/XMLOutStream.pm type=file -d:\tlperl\lib/Pod/Text.pm type=file -d:\tlperl\lib/Pod/Text/Color.pm type=file -d:\tlperl\lib/Pod/Text/Overstrike.pm type=file -d:\tlperl\lib/Pod/Text/Termcap.pm type=file -d:\tlperl\lib/Pod/Usage.pm type=file -d:\tlperl\lib/SDBM_File.pm type=file -d:\tlperl\lib/Safe.pm type=file -d:\tlperl\lib/Scalar/Util.pm type=file -d:\tlperl\lib/Search/Dict.pm type=file -d:\tlperl\lib/SelectSaver.pm type=file -d:\tlperl\lib/SelfLoader.pm type=file -d:\tlperl\lib/Socket.pm type=file -d:\tlperl\lib/Storable.pm type=file -d:\tlperl\lib/Sub/Util.pm type=file -d:\tlperl\lib/Symbol.pm type=file -d:\tlperl\lib/Sys/Hostname.pm type=file -d:\tlperl\lib/TAP/Base.pm type=file -d:\tlperl\lib/TAP/Formatter/Base.pm type=file -d:\tlperl\lib/TAP/Formatter/Color.pm type=file -d:\tlperl\lib/TAP/Formatter/Console.pm type=file -d:\tlperl\lib/TAP/Formatter/Console/ParallelSession.pm type=file -d:\tlperl\lib/TAP/Formatter/Console/Session.pm type=file -d:\tlperl\lib/TAP/Formatter/File.pm type=file -d:\tlperl\lib/TAP/Formatter/File/Session.pm type=file -d:\tlperl\lib/TAP/Formatter/Session.pm type=file -d:\tlperl\lib/TAP/Harness.pm type=file -d:\tlperl\lib/TAP/Harness/Beyond.pod type=file -d:\tlperl\lib/TAP/Harness/Env.pm type=file -d:\tlperl\lib/TAP/Object.pm type=file -d:\tlperl\lib/TAP/Parser.pm type=file -d:\tlperl\lib/TAP/Parser/Aggregator.pm type=file -d:\tlperl\lib/TAP/Parser/Grammar.pm type=file -d:\tlperl\lib/TAP/Parser/Iterator.pm type=file -d:\tlperl\lib/TAP/Parser/Iterator/Array.pm type=file -d:\tlperl\lib/TAP/Parser/Iterator/Process.pm type=file -d:\tlperl\lib/TAP/Parser/Iterator/Stream.pm type=file -d:\tlperl\lib/TAP/Parser/IteratorFactory.pm type=file -d:\tlperl\lib/TAP/Parser/Multiplexer.pm type=file -d:\tlperl\lib/TAP/Parser/Result.pm type=file -d:\tlperl\lib/TAP/Parser/Result/Bailout.pm type=file -d:\tlperl\lib/TAP/Parser/Result/Comment.pm type=file -d:\tlperl\lib/TAP/Parser/Result/Plan.pm type=file -d:\tlperl\lib/TAP/Parser/Result/Pragma.pm type=file -d:\tlperl\lib/TAP/Parser/Result/Test.pm type=file -d:\tlperl\lib/TAP/Parser/Result/Unknown.pm type=file -d:\tlperl\lib/TAP/Parser/Result/Version.pm type=file -d:\tlperl\lib/TAP/Parser/Result/YAML.pm type=file -d:\tlperl\lib/TAP/Parser/ResultFactory.pm type=file -d:\tlperl\lib/TAP/Parser/Scheduler.pm type=file -d:\tlperl\lib/TAP/Parser/Scheduler/Job.pm type=file -d:\tlperl\lib/TAP/Parser/Scheduler/Spinner.pm type=file -d:\tlperl\lib/TAP/Parser/Source.pm type=file -d:\tlperl\lib/TAP/Parser/SourceHandler.pm type=file -d:\tlperl\lib/TAP/Parser/SourceHandler/Executable.pm type=file -d:\tlperl\lib/TAP/Parser/SourceHandler/File.pm type=file -d:\tlperl\lib/TAP/Parser/SourceHandler/Handle.pm type=file -d:\tlperl\lib/TAP/Parser/SourceHandler/Perl.pm type=file -d:\tlperl\lib/TAP/Parser/SourceHandler/RawTAP.pm type=file -d:\tlperl\lib/TAP/Parser/YAMLish/Reader.pm type=file -d:\tlperl\lib/TAP/Parser/YAMLish/Writer.pm type=file -d:\tlperl\lib/Term/ANSIColor.pm type=file -d:\tlperl\lib/Term/Cap.pm type=file -d:\tlperl\lib/Term/Complete.pm type=file -d:\tlperl\lib/Term/ReadLine.pm type=file -d:\tlperl\lib/Test.pm type=file -d:\tlperl\lib/Test/Builder.pm type=file -d:\tlperl\lib/Test/Builder/Formatter.pm type=file -d:\tlperl\lib/Test/Builder/IO/Scalar.pm type=file -d:\tlperl\lib/Test/Builder/Module.pm type=file -d:\tlperl\lib/Test/Builder/Tester.pm type=file -d:\tlperl\lib/Test/Builder/Tester/Color.pm type=file -d:\tlperl\lib/Test/Builder/TodoDiag.pm type=file -d:\tlperl\lib/Test/Harness.pm type=file -d:\tlperl\lib/Test/More.pm type=file -d:\tlperl\lib/Test/Simple.pm type=file -d:\tlperl\lib/Test/Tester.pm type=file -d:\tlperl\lib/Test/Tester/Capture.pm type=file -d:\tlperl\lib/Test/Tester/CaptureRunner.pm type=file -d:\tlperl\lib/Test/Tester/Delegate.pm type=file -d:\tlperl\lib/Test/Tutorial.pod type=file -d:\tlperl\lib/Test/use/ok.pm type=file -d:\tlperl\lib/Test2.pm type=file -d:\tlperl\lib/Test2/API.pm type=file -d:\tlperl\lib/Test2/API/Breakage.pm type=file -d:\tlperl\lib/Test2/API/Context.pm type=file -d:\tlperl\lib/Test2/API/Instance.pm type=file -d:\tlperl\lib/Test2/API/Stack.pm type=file -d:\tlperl\lib/Test2/Event.pm type=file -d:\tlperl\lib/Test2/Event/Bail.pm type=file -d:\tlperl\lib/Test2/Event/Diag.pm type=file -d:\tlperl\lib/Test2/Event/Encoding.pm type=file -d:\tlperl\lib/Test2/Event/Exception.pm type=file -d:\tlperl\lib/Test2/Event/Fail.pm type=file -d:\tlperl\lib/Test2/Event/Generic.pm type=file -d:\tlperl\lib/Test2/Event/Note.pm type=file -d:\tlperl\lib/Test2/Event/Ok.pm type=file -d:\tlperl\lib/Test2/Event/Pass.pm type=file -d:\tlperl\lib/Test2/Event/Plan.pm type=file -d:\tlperl\lib/Test2/Event/Skip.pm type=file -d:\tlperl\lib/Test2/Event/Subtest.pm type=file -d:\tlperl\lib/Test2/Event/TAP/Version.pm type=file -d:\tlperl\lib/Test2/Event/V2.pm type=file -d:\tlperl\lib/Test2/Event/Waiting.pm type=file -d:\tlperl\lib/Test2/EventFacet.pm type=file -d:\tlperl\lib/Test2/EventFacet/About.pm type=file -d:\tlperl\lib/Test2/EventFacet/Amnesty.pm type=file -d:\tlperl\lib/Test2/EventFacet/Assert.pm type=file -d:\tlperl\lib/Test2/EventFacet/Control.pm type=file -d:\tlperl\lib/Test2/EventFacet/Error.pm type=file -d:\tlperl\lib/Test2/EventFacet/Hub.pm type=file -d:\tlperl\lib/Test2/EventFacet/Info.pm type=file -d:\tlperl\lib/Test2/EventFacet/Info/Table.pm type=file -d:\tlperl\lib/Test2/EventFacet/Meta.pm type=file -d:\tlperl\lib/Test2/EventFacet/Parent.pm type=file -d:\tlperl\lib/Test2/EventFacet/Plan.pm type=file -d:\tlperl\lib/Test2/EventFacet/Render.pm type=file -d:\tlperl\lib/Test2/EventFacet/Trace.pm type=file -d:\tlperl\lib/Test2/Formatter.pm type=file -d:\tlperl\lib/Test2/Formatter/TAP.pm type=file -d:\tlperl\lib/Test2/Hub.pm type=file -d:\tlperl\lib/Test2/Hub/Interceptor.pm type=file -d:\tlperl\lib/Test2/Hub/Interceptor/Terminator.pm type=file -d:\tlperl\lib/Test2/Hub/Subtest.pm type=file -d:\tlperl\lib/Test2/IPC.pm type=file -d:\tlperl\lib/Test2/IPC/Driver.pm type=file -d:\tlperl\lib/Test2/IPC/Driver/Files.pm type=file -d:\tlperl\lib/Test2/Tools/Tiny.pm type=file -d:\tlperl\lib/Test2/Transition.pod type=file -d:\tlperl\lib/Test2/Util.pm type=file -d:\tlperl\lib/Test2/Util/ExternalMeta.pm type=file -d:\tlperl\lib/Test2/Util/Facets2Legacy.pm type=file -d:\tlperl\lib/Test2/Util/HashBase.pm type=file -d:\tlperl\lib/Test2/Util/Trace.pm type=file -d:\tlperl\lib/Text/Abbrev.pm type=file -d:\tlperl\lib/Text/Balanced.pm type=file -d:\tlperl\lib/Text/ParseWords.pm type=file -d:\tlperl\lib/Text/Tabs.pm type=file -d:\tlperl\lib/Text/Wrap.pm type=file -d:\tlperl\lib/Thread.pm type=file -d:\tlperl\lib/Thread/Queue.pm type=file -d:\tlperl\lib/Thread/Semaphore.pm type=file -d:\tlperl\lib/Tie/Array.pm type=file -d:\tlperl\lib/Tie/File.pm type=file -d:\tlperl\lib/Tie/Handle.pm type=file -d:\tlperl\lib/Tie/Hash.pm type=file -d:\tlperl\lib/Tie/Hash/NamedCapture.pm type=file -d:\tlperl\lib/Tie/Memoize.pm type=file -d:\tlperl\lib/Tie/RefHash.pm type=file -d:\tlperl\lib/Tie/Scalar.pm type=file -d:\tlperl\lib/Tie/StdHandle.pm type=file -d:\tlperl\lib/Tie/SubstrHash.pm type=file -d:\tlperl\lib/Time/HiRes.pm type=file -d:\tlperl\lib/Time/Local.pm type=file -d:\tlperl\lib/Time/Piece.pm type=file -d:\tlperl\lib/Time/Seconds.pm type=file -d:\tlperl\lib/Time/gmtime.pm type=file -d:\tlperl\lib/Time/localtime.pm type=file -d:\tlperl\lib/Time/tm.pm type=file -d:\tlperl\lib/UNIVERSAL.pm type=file -d:\tlperl\lib/Unicode/Collate.pm type=file -d:\tlperl\lib/Unicode/Collate/CJK/Big5.pm type=file -d:\tlperl\lib/Unicode/Collate/CJK/GB2312.pm type=file -d:\tlperl\lib/Unicode/Collate/CJK/JISX0208.pm type=file -d:\tlperl\lib/Unicode/Collate/CJK/Korean.pm type=file -d:\tlperl\lib/Unicode/Collate/CJK/Pinyin.pm type=file -d:\tlperl\lib/Unicode/Collate/CJK/Stroke.pm type=file -d:\tlperl\lib/Unicode/Collate/CJK/Zhuyin.pm type=file -d:\tlperl\lib/Unicode/Collate/Locale.pm type=file -d:\tlperl\lib/Unicode/Collate/Locale/af.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/ar.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/as.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/az.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/be.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/bn.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/ca.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/cs.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/cu.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/cy.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/da.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/de_at_ph.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/de_phone.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/dsb.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/ee.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/eo.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/es.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/es_trad.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/et.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/fa.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/fi.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/fi_phone.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/fil.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/fo.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/fr_ca.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/gu.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/ha.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/haw.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/he.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/hi.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/hr.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/hu.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/hy.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/ig.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/is.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/ja.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/kk.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/kl.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/kn.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/ko.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/kok.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/lkt.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/ln.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/lt.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/lv.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/mk.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/ml.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/mr.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/mt.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/nb.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/nn.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/nso.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/om.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/or.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/pa.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/pl.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/ro.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/sa.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/se.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/si.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/si_dict.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/sk.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/sl.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/sq.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/sr.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/sv.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/sv_refo.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/ta.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/te.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/th.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/tn.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/to.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/tr.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/ug_cyrl.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/uk.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/ur.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/vi.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/vo.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/wae.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/wo.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/yo.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/zh.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/zh_big5.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/zh_gb.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/zh_pin.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/zh_strk.pl type=file -d:\tlperl\lib/Unicode/Collate/Locale/zh_zhu.pl type=file -d:\tlperl\lib/Unicode/Collate/allkeys.txt type=file -d:\tlperl\lib/Unicode/Collate/keys.txt type=file -d:\tlperl\lib/Unicode/Normalize.pm type=file -d:\tlperl\lib/Unicode/UCD.pm type=file -d:\tlperl\lib/User/grent.pm type=file -d:\tlperl\lib/User/pwent.pm type=file -d:\tlperl\lib/Win32.pm type=file -d:\tlperl\lib/Win32API/File.pm type=file -d:\tlperl\lib/Win32API/File/cFile.pc type=file -d:\tlperl\lib/Win32CORE.pm type=file -d:\tlperl\lib/XSLoader.pm type=file -d:\tlperl\lib/_charnames.pm type=file -d:\tlperl\lib/attributes.pm type=file -d:\tlperl\lib/auto/B/B.dll type=file -d:\tlperl\lib/auto/Compress/Raw/Bzip2/Bzip2.dll type=file -d:\tlperl\lib/auto/Compress/Raw/Zlib/Zlib.dll type=file -d:\tlperl\lib/auto/Cwd/Cwd.dll type=file -d:\tlperl\lib/auto/Data/Dumper/Dumper.dll type=file -d:\tlperl\lib/auto/Devel/Peek/Peek.dll type=file -d:\tlperl\lib/auto/Digest/MD5/MD5.dll type=file -d:\tlperl\lib/auto/Digest/SHA/SHA.dll type=file -d:\tlperl\lib/auto/Encode/Byte/Byte.dll type=file -d:\tlperl\lib/auto/Encode/CN/CN.dll type=file -d:\tlperl\lib/auto/Encode/EBCDIC/EBCDIC.dll type=file -d:\tlperl\lib/auto/Encode/Encode.dll type=file -d:\tlperl\lib/auto/Encode/JP/JP.dll type=file -d:\tlperl\lib/auto/Encode/KR/KR.dll type=file -d:\tlperl\lib/auto/Encode/Symbol/Symbol.dll type=file -d:\tlperl\lib/auto/Encode/TW/TW.dll type=file -d:\tlperl\lib/auto/Encode/Unicode/Unicode.dll type=file -d:\tlperl\lib/auto/Fcntl/Fcntl.dll type=file -d:\tlperl\lib/auto/File/DosGlob/DosGlob.dll type=file -d:\tlperl\lib/auto/File/Glob/Glob.dll type=file -d:\tlperl\lib/auto/Filter/Util/Call/Call.dll type=file -d:\tlperl\lib/auto/Hash/Util/FieldHash/FieldHash.dll type=file -d:\tlperl\lib/auto/Hash/Util/Util.dll type=file -d:\tlperl\lib/auto/I18N/Langinfo/Langinfo.dll type=file -d:\tlperl\lib/auto/IO/IO.dll type=file -d:\tlperl\lib/auto/List/Util/Util.dll type=file -d:\tlperl\lib/auto/MIME/Base64/Base64.dll type=file -d:\tlperl\lib/auto/Math/BigInt/FastCalc/FastCalc.dll type=file -d:\tlperl\lib/auto/Opcode/Opcode.dll type=file -d:\tlperl\lib/auto/POSIX/POSIX.dll type=file -d:\tlperl\lib/auto/PerlIO/encoding/encoding.dll type=file -d:\tlperl\lib/auto/PerlIO/mmap/mmap.dll type=file -d:\tlperl\lib/auto/PerlIO/scalar/scalar.dll type=file -d:\tlperl\lib/auto/PerlIO/via/via.dll type=file -d:\tlperl\lib/auto/SDBM_File/SDBM_File.dll type=file -d:\tlperl\lib/auto/Socket/Socket.dll type=file -d:\tlperl\lib/auto/Storable/Storable.dll type=file -d:\tlperl\lib/auto/Sys/Hostname/Hostname.dll type=file -d:\tlperl\lib/auto/Tie/Hash/NamedCapture/NamedCapture.dll type=file -d:\tlperl\lib/auto/Time/HiRes/HiRes.dll type=file -d:\tlperl\lib/auto/Time/Piece/Piece.dll type=file -d:\tlperl\lib/auto/Unicode/Collate/Collate.dll type=file -d:\tlperl\lib/auto/Unicode/Normalize/Normalize.dll type=file -d:\tlperl\lib/auto/Win32/Win32.dll type=file -d:\tlperl\lib/auto/Win32API/File/File.dll type=file -d:\tlperl\lib/auto/Win32CORE/extralibs.ld type=file -d:\tlperl\lib/auto/attributes/attributes.dll type=file -d:\tlperl\lib/auto/mro/mro.dll type=file -d:\tlperl\lib/auto/re/re.dll type=file -d:\tlperl\lib/auto/threads/shared/shared.dll type=file -d:\tlperl\lib/auto/threads/threads.dll type=file -d:\tlperl\lib/autodie.pm type=file -d:\tlperl\lib/autodie/Scope/Guard.pm type=file -d:\tlperl\lib/autodie/Scope/GuardStack.pm type=file -d:\tlperl\lib/autodie/Util.pm type=file -d:\tlperl\lib/autodie/exception.pm type=file -d:\tlperl\lib/autodie/exception/system.pm type=file -d:\tlperl\lib/autodie/hints.pm type=file -d:\tlperl\lib/autodie/skip.pm type=file -d:\tlperl\lib/autouse.pm type=file -d:\tlperl\lib/base.pm type=file -d:\tlperl\lib/bigint.pm type=file -d:\tlperl\lib/bignum.pm type=file -d:\tlperl\lib/bigrat.pm type=file -d:\tlperl\lib/blib.pm type=file -d:\tlperl\lib/bytes.pm type=file -d:\tlperl\lib/bytes_heavy.pl type=file -d:\tlperl\lib/charnames.pm type=file -d:\tlperl\lib/constant.pm type=file -d:\tlperl\lib/deprecate.pm type=file -d:\tlperl\lib/diagnostics.pm type=file -d:\tlperl\lib/dumpvar.pl type=file -d:\tlperl\lib/encoding.pm type=file -d:\tlperl\lib/encoding/warnings.pm type=file -d:\tlperl\lib/experimental.pm type=file -d:\tlperl\lib/feature.pm type=file -d:\tlperl\lib/fields.pm type=file -d:\tlperl\lib/filetest.pm type=file -d:\tlperl\lib/if.pm type=file -d:\tlperl\lib/integer.pm type=file -d:\tlperl\lib/less.pm type=file -d:\tlperl\lib/lib.pm type=file -d:\tlperl\lib/locale.pm type=file -d:\tlperl\lib/meta_notation.pm type=file -d:\tlperl\lib/mro.pm type=file -d:\tlperl\lib/ok.pm type=file -d:\tlperl\lib/open.pm type=file -d:\tlperl\lib/ops.pm type=file -d:\tlperl\lib/overload.pm type=file -d:\tlperl\lib/overload/numbers.pm type=file -d:\tlperl\lib/overloading.pm type=file -d:\tlperl\lib/parent.pm type=file -d:\tlperl\lib/perl5db.pl type=file -d:\tlperl\lib/perlfaq.pm type=file -d:\tlperl\lib/pods/perl.pod type=file -d:\tlperl\lib/pods/perl5004delta.pod type=file -d:\tlperl\lib/pods/perl5005delta.pod type=file -d:\tlperl\lib/pods/perl5100delta.pod type=file -d:\tlperl\lib/pods/perl5101delta.pod type=file -d:\tlperl\lib/pods/perl5120delta.pod type=file -d:\tlperl\lib/pods/perl5121delta.pod type=file -d:\tlperl\lib/pods/perl5122delta.pod type=file -d:\tlperl\lib/pods/perl5123delta.pod type=file -d:\tlperl\lib/pods/perl5124delta.pod type=file -d:\tlperl\lib/pods/perl5125delta.pod type=file -d:\tlperl\lib/pods/perl5140delta.pod type=file -d:\tlperl\lib/pods/perl5141delta.pod type=file -d:\tlperl\lib/pods/perl5142delta.pod type=file -d:\tlperl\lib/pods/perl5143delta.pod type=file -d:\tlperl\lib/pods/perl5144delta.pod type=file -d:\tlperl\lib/pods/perl5160delta.pod type=file -d:\tlperl\lib/pods/perl5161delta.pod type=file -d:\tlperl\lib/pods/perl5162delta.pod type=file -d:\tlperl\lib/pods/perl5163delta.pod type=file -d:\tlperl\lib/pods/perl5180delta.pod type=file -d:\tlperl\lib/pods/perl5181delta.pod type=file -d:\tlperl\lib/pods/perl5182delta.pod type=file -d:\tlperl\lib/pods/perl5184delta.pod type=file -d:\tlperl\lib/pods/perl5200delta.pod type=file -d:\tlperl\lib/pods/perl5201delta.pod type=file -d:\tlperl\lib/pods/perl5202delta.pod type=file -d:\tlperl\lib/pods/perl5203delta.pod type=file -d:\tlperl\lib/pods/perl5220delta.pod type=file -d:\tlperl\lib/pods/perl5221delta.pod type=file -d:\tlperl\lib/pods/perl5222delta.pod type=file -d:\tlperl\lib/pods/perl5223delta.pod type=file -d:\tlperl\lib/pods/perl5224delta.pod type=file -d:\tlperl\lib/pods/perl5240delta.pod type=file -d:\tlperl\lib/pods/perl5241delta.pod type=file -d:\tlperl\lib/pods/perl5242delta.pod type=file -d:\tlperl\lib/pods/perl5243delta.pod type=file -d:\tlperl\lib/pods/perl5244delta.pod type=file -d:\tlperl\lib/pods/perl5260delta.pod type=file -d:\tlperl\lib/pods/perl5261delta.pod type=file -d:\tlperl\lib/pods/perl5262delta.pod type=file -d:\tlperl\lib/pods/perl5263delta.pod type=file -d:\tlperl\lib/pods/perl5280delta.pod type=file -d:\tlperl\lib/pods/perl5281delta.pod type=file -d:\tlperl\lib/pods/perl5282delta.pod type=file -d:\tlperl\lib/pods/perl5300delta.pod type=file -d:\tlperl\lib/pods/perl5301delta.pod type=file -d:\tlperl\lib/pods/perl561delta.pod type=file -d:\tlperl\lib/pods/perl56delta.pod type=file -d:\tlperl\lib/pods/perl581delta.pod type=file -d:\tlperl\lib/pods/perl582delta.pod type=file -d:\tlperl\lib/pods/perl583delta.pod type=file -d:\tlperl\lib/pods/perl584delta.pod type=file -d:\tlperl\lib/pods/perl585delta.pod type=file -d:\tlperl\lib/pods/perl586delta.pod type=file -d:\tlperl\lib/pods/perl587delta.pod type=file -d:\tlperl\lib/pods/perl588delta.pod type=file -d:\tlperl\lib/pods/perl589delta.pod type=file -d:\tlperl\lib/pods/perl58delta.pod type=file -d:\tlperl\lib/pods/perlaix.pod type=file -d:\tlperl\lib/pods/perlamiga.pod type=file -d:\tlperl\lib/pods/perlandroid.pod type=file -d:\tlperl\lib/pods/perlapi.pod type=file -d:\tlperl\lib/pods/perlapio.pod type=file -d:\tlperl\lib/pods/perlartistic.pod type=file -d:\tlperl\lib/pods/perlbook.pod type=file -d:\tlperl\lib/pods/perlboot.pod type=file -d:\tlperl\lib/pods/perlbot.pod type=file -d:\tlperl\lib/pods/perlbs2000.pod type=file -d:\tlperl\lib/pods/perlcall.pod type=file -d:\tlperl\lib/pods/perlce.pod type=file -d:\tlperl\lib/pods/perlcheat.pod type=file -d:\tlperl\lib/pods/perlclib.pod type=file -d:\tlperl\lib/pods/perlcn.pod type=file -d:\tlperl\lib/pods/perlcommunity.pod type=file -d:\tlperl\lib/pods/perlcygwin.pod type=file -d:\tlperl\lib/pods/perldata.pod type=file -d:\tlperl\lib/pods/perldbmfilter.pod type=file -d:\tlperl\lib/pods/perldebguts.pod type=file -d:\tlperl\lib/pods/perldebtut.pod type=file -d:\tlperl\lib/pods/perldebug.pod type=file -d:\tlperl\lib/pods/perldelta.pod type=file -d:\tlperl\lib/pods/perldeprecation.pod type=file -d:\tlperl\lib/pods/perldiag.pod type=file -d:\tlperl\lib/pods/perldoc.pod type=file -d:\tlperl\lib/pods/perldos.pod type=file -d:\tlperl\lib/pods/perldsc.pod type=file -d:\tlperl\lib/pods/perldtrace.pod type=file -d:\tlperl\lib/pods/perlebcdic.pod type=file -d:\tlperl\lib/pods/perlembed.pod type=file -d:\tlperl\lib/pods/perlexperiment.pod type=file -d:\tlperl\lib/pods/perlfaq.pod type=file -d:\tlperl\lib/pods/perlfaq1.pod type=file -d:\tlperl\lib/pods/perlfaq2.pod type=file -d:\tlperl\lib/pods/perlfaq3.pod type=file -d:\tlperl\lib/pods/perlfaq4.pod type=file -d:\tlperl\lib/pods/perlfaq5.pod type=file -d:\tlperl\lib/pods/perlfaq6.pod type=file -d:\tlperl\lib/pods/perlfaq7.pod type=file -d:\tlperl\lib/pods/perlfaq8.pod type=file -d:\tlperl\lib/pods/perlfaq9.pod type=file -d:\tlperl\lib/pods/perlfilter.pod type=file -d:\tlperl\lib/pods/perlfork.pod type=file -d:\tlperl\lib/pods/perlform.pod type=file -d:\tlperl\lib/pods/perlfreebsd.pod type=file -d:\tlperl\lib/pods/perlfunc.pod type=file -d:\tlperl\lib/pods/perlgit.pod type=file -d:\tlperl\lib/pods/perlglossary.pod type=file -d:\tlperl\lib/pods/perlgpl.pod type=file -d:\tlperl\lib/pods/perlguts.pod type=file -d:\tlperl\lib/pods/perlhack.pod type=file -d:\tlperl\lib/pods/perlhacktips.pod type=file -d:\tlperl\lib/pods/perlhacktut.pod type=file -d:\tlperl\lib/pods/perlhaiku.pod type=file -d:\tlperl\lib/pods/perlhist.pod type=file -d:\tlperl\lib/pods/perlhpux.pod type=file -d:\tlperl\lib/pods/perlhurd.pod type=file -d:\tlperl\lib/pods/perlintern.pod type=file -d:\tlperl\lib/pods/perlinterp.pod type=file -d:\tlperl\lib/pods/perlintro.pod type=file -d:\tlperl\lib/pods/perliol.pod type=file -d:\tlperl\lib/pods/perlipc.pod type=file -d:\tlperl\lib/pods/perlirix.pod type=file -d:\tlperl\lib/pods/perljp.pod type=file -d:\tlperl\lib/pods/perlko.pod type=file -d:\tlperl\lib/pods/perllexwarn.pod type=file -d:\tlperl\lib/pods/perllinux.pod type=file -d:\tlperl\lib/pods/perllocale.pod type=file -d:\tlperl\lib/pods/perllol.pod type=file -d:\tlperl\lib/pods/perlmacos.pod type=file -d:\tlperl\lib/pods/perlmacosx.pod type=file -d:\tlperl\lib/pods/perlmod.pod type=file -d:\tlperl\lib/pods/perlmodinstall.pod type=file -d:\tlperl\lib/pods/perlmodlib.pod type=file -d:\tlperl\lib/pods/perlmodstyle.pod type=file -d:\tlperl\lib/pods/perlmroapi.pod type=file -d:\tlperl\lib/pods/perlnetware.pod type=file -d:\tlperl\lib/pods/perlnewmod.pod type=file -d:\tlperl\lib/pods/perlnumber.pod type=file -d:\tlperl\lib/pods/perlobj.pod type=file -d:\tlperl\lib/pods/perlootut.pod type=file -d:\tlperl\lib/pods/perlop.pod type=file -d:\tlperl\lib/pods/perlopenbsd.pod type=file -d:\tlperl\lib/pods/perlopentut.pod type=file -d:\tlperl\lib/pods/perlos2.pod type=file -d:\tlperl\lib/pods/perlos390.pod type=file -d:\tlperl\lib/pods/perlos400.pod type=file -d:\tlperl\lib/pods/perlpacktut.pod type=file -d:\tlperl\lib/pods/perlperf.pod type=file -d:\tlperl\lib/pods/perlplan9.pod type=file -d:\tlperl\lib/pods/perlpod.pod type=file -d:\tlperl\lib/pods/perlpodspec.pod type=file -d:\tlperl\lib/pods/perlpodstyle.pod type=file -d:\tlperl\lib/pods/perlpolicy.pod type=file -d:\tlperl\lib/pods/perlport.pod type=file -d:\tlperl\lib/pods/perlpragma.pod type=file -d:\tlperl\lib/pods/perlqnx.pod type=file -d:\tlperl\lib/pods/perlre.pod type=file -d:\tlperl\lib/pods/perlreapi.pod type=file -d:\tlperl\lib/pods/perlrebackslash.pod type=file -d:\tlperl\lib/pods/perlrecharclass.pod type=file -d:\tlperl\lib/pods/perlref.pod type=file -d:\tlperl\lib/pods/perlreftut.pod type=file -d:\tlperl\lib/pods/perlreguts.pod type=file -d:\tlperl\lib/pods/perlrepository.pod type=file -d:\tlperl\lib/pods/perlrequick.pod type=file -d:\tlperl\lib/pods/perlreref.pod type=file -d:\tlperl\lib/pods/perlretut.pod type=file -d:\tlperl\lib/pods/perlriscos.pod type=file -d:\tlperl\lib/pods/perlrun.pod type=file -d:\tlperl\lib/pods/perlsec.pod type=file -d:\tlperl\lib/pods/perlsolaris.pod type=file -d:\tlperl\lib/pods/perlsource.pod type=file -d:\tlperl\lib/pods/perlstyle.pod type=file -d:\tlperl\lib/pods/perlsub.pod type=file -d:\tlperl\lib/pods/perlsymbian.pod type=file -d:\tlperl\lib/pods/perlsyn.pod type=file -d:\tlperl\lib/pods/perlsynology.pod type=file -d:\tlperl\lib/pods/perlthrtut.pod type=file -d:\tlperl\lib/pods/perltie.pod type=file -d:\tlperl\lib/pods/perltoc.pod type=file -d:\tlperl\lib/pods/perltodo.pod type=file -d:\tlperl\lib/pods/perltooc.pod type=file -d:\tlperl\lib/pods/perltoot.pod type=file -d:\tlperl\lib/pods/perltrap.pod type=file -d:\tlperl\lib/pods/perltru64.pod type=file -d:\tlperl\lib/pods/perltw.pod type=file -d:\tlperl\lib/pods/perlunicode.pod type=file -d:\tlperl\lib/pods/perlunicook.pod type=file -d:\tlperl\lib/pods/perlunifaq.pod type=file -d:\tlperl\lib/pods/perluniintro.pod type=file -d:\tlperl\lib/pods/perluniprops.pod type=file -d:\tlperl\lib/pods/perlunitut.pod type=file -d:\tlperl\lib/pods/perlutil.pod type=file -d:\tlperl\lib/pods/perlvar.pod type=file -d:\tlperl\lib/pods/perlvms.pod type=file -d:\tlperl\lib/pods/perlvos.pod type=file -d:\tlperl\lib/pods/perlwin32.pod type=file -d:\tlperl\lib/pods/perlxs.pod type=file -d:\tlperl\lib/pods/perlxstut.pod type=file -d:\tlperl\lib/pods/perlxstypemap.pod type=file -d:\tlperl\lib/re.pm type=file -d:\tlperl\lib/sigtrap.pm type=file -d:\tlperl\lib/sort.pm type=file -d:\tlperl\lib/strict.pm type=file -d:\tlperl\lib/subs.pm type=file -d:\tlperl\lib/threads.pm type=file -d:\tlperl\lib/threads/shared.pm type=file -d:\tlperl\lib/unicore/Blocks.txt type=file -d:\tlperl\lib/unicore/CombiningClass.pl type=file -d:\tlperl\lib/unicore/Decomposition.pl type=file -d:\tlperl\lib/unicore/Heavy.pl type=file -d:\tlperl\lib/unicore/Name.pl type=file -d:\tlperl\lib/unicore/Name.pm type=file -d:\tlperl\lib/unicore/NamedSequences.txt type=file -d:\tlperl\lib/unicore/SpecialCasing.txt type=file -d:\tlperl\lib/unicore/To/Age.pl type=file -d:\tlperl\lib/unicore/To/Bc.pl type=file -d:\tlperl\lib/unicore/To/Bmg.pl type=file -d:\tlperl\lib/unicore/To/Bpb.pl type=file -d:\tlperl\lib/unicore/To/Bpt.pl type=file -d:\tlperl\lib/unicore/To/Cf.pl type=file -d:\tlperl\lib/unicore/To/Digit.pl type=file -d:\tlperl\lib/unicore/To/Ea.pl type=file -d:\tlperl\lib/unicore/To/EqUIdeo.pl type=file -d:\tlperl\lib/unicore/To/Fold.pl type=file -d:\tlperl\lib/unicore/To/GCB.pl type=file -d:\tlperl\lib/unicore/To/Gc.pl type=file -d:\tlperl\lib/unicore/To/Hst.pl type=file -d:\tlperl\lib/unicore/To/InPC.pl type=file -d:\tlperl\lib/unicore/To/InSC.pl type=file -d:\tlperl\lib/unicore/To/Isc.pl type=file -d:\tlperl\lib/unicore/To/Jg.pl type=file -d:\tlperl\lib/unicore/To/Jt.pl type=file -d:\tlperl\lib/unicore/To/Lb.pl type=file -d:\tlperl\lib/unicore/To/Lc.pl type=file -d:\tlperl\lib/unicore/To/Lower.pl type=file -d:\tlperl\lib/unicore/To/NFCQC.pl type=file -d:\tlperl\lib/unicore/To/NFDQC.pl type=file -d:\tlperl\lib/unicore/To/NFKCCF.pl type=file -d:\tlperl\lib/unicore/To/NFKCQC.pl type=file -d:\tlperl\lib/unicore/To/NFKDQC.pl type=file -d:\tlperl\lib/unicore/To/Na1.pl type=file -d:\tlperl\lib/unicore/To/NameAlia.pl type=file -d:\tlperl\lib/unicore/To/Nt.pl type=file -d:\tlperl\lib/unicore/To/Nv.pl type=file -d:\tlperl\lib/unicore/To/PerlDeci.pl type=file -d:\tlperl\lib/unicore/To/SB.pl type=file -d:\tlperl\lib/unicore/To/Sc.pl type=file -d:\tlperl\lib/unicore/To/Scx.pl type=file -d:\tlperl\lib/unicore/To/Tc.pl type=file -d:\tlperl\lib/unicore/To/Title.pl type=file -d:\tlperl\lib/unicore/To/Uc.pl type=file -d:\tlperl\lib/unicore/To/Upper.pl type=file -d:\tlperl\lib/unicore/To/Vo.pl type=file -d:\tlperl\lib/unicore/To/WB.pl type=file -d:\tlperl\lib/unicore/To/_PerlLB.pl type=file -d:\tlperl\lib/unicore/To/_PerlSCX.pl type=file -d:\tlperl\lib/unicore/UCD.pl type=file -d:\tlperl\lib/unicore/lib/Age/NA.pl type=file -d:\tlperl\lib/unicore/lib/Age/V100.pl type=file -d:\tlperl\lib/unicore/lib/Age/V11.pl type=file -d:\tlperl\lib/unicore/lib/Age/V110.pl type=file -d:\tlperl\lib/unicore/lib/Age/V120.pl type=file -d:\tlperl\lib/unicore/lib/Age/V20.pl type=file -d:\tlperl\lib/unicore/lib/Age/V30.pl type=file -d:\tlperl\lib/unicore/lib/Age/V31.pl type=file -d:\tlperl\lib/unicore/lib/Age/V32.pl type=file -d:\tlperl\lib/unicore/lib/Age/V40.pl type=file -d:\tlperl\lib/unicore/lib/Age/V41.pl type=file -d:\tlperl\lib/unicore/lib/Age/V50.pl type=file -d:\tlperl\lib/unicore/lib/Age/V51.pl type=file -d:\tlperl\lib/unicore/lib/Age/V52.pl type=file -d:\tlperl\lib/unicore/lib/Age/V60.pl type=file -d:\tlperl\lib/unicore/lib/Age/V61.pl type=file -d:\tlperl\lib/unicore/lib/Age/V70.pl type=file -d:\tlperl\lib/unicore/lib/Age/V80.pl type=file -d:\tlperl\lib/unicore/lib/Age/V90.pl type=file -d:\tlperl\lib/unicore/lib/Alpha/Y.pl type=file -d:\tlperl\lib/unicore/lib/Bc/AL.pl type=file -d:\tlperl\lib/unicore/lib/Bc/AN.pl type=file -d:\tlperl\lib/unicore/lib/Bc/B.pl type=file -d:\tlperl\lib/unicore/lib/Bc/BN.pl type=file -d:\tlperl\lib/unicore/lib/Bc/CS.pl type=file -d:\tlperl\lib/unicore/lib/Bc/EN.pl type=file -d:\tlperl\lib/unicore/lib/Bc/ES.pl type=file -d:\tlperl\lib/unicore/lib/Bc/ET.pl type=file -d:\tlperl\lib/unicore/lib/Bc/L.pl type=file -d:\tlperl\lib/unicore/lib/Bc/NSM.pl type=file -d:\tlperl\lib/unicore/lib/Bc/ON.pl type=file -d:\tlperl\lib/unicore/lib/Bc/R.pl type=file -d:\tlperl\lib/unicore/lib/Bc/WS.pl type=file -d:\tlperl\lib/unicore/lib/BidiC/Y.pl type=file -d:\tlperl\lib/unicore/lib/BidiM/Y.pl type=file -d:\tlperl\lib/unicore/lib/Blk/NB.pl type=file -d:\tlperl\lib/unicore/lib/Bpt/C.pl type=file -d:\tlperl\lib/unicore/lib/Bpt/N.pl type=file -d:\tlperl\lib/unicore/lib/Bpt/O.pl type=file -d:\tlperl\lib/unicore/lib/CE/Y.pl type=file -d:\tlperl\lib/unicore/lib/CI/Y.pl type=file -d:\tlperl\lib/unicore/lib/CWCF/Y.pl type=file -d:\tlperl\lib/unicore/lib/CWCM/Y.pl type=file -d:\tlperl\lib/unicore/lib/CWKCF/Y.pl type=file -d:\tlperl\lib/unicore/lib/CWL/Y.pl type=file -d:\tlperl\lib/unicore/lib/CWT/Y.pl type=file -d:\tlperl\lib/unicore/lib/CWU/Y.pl type=file -d:\tlperl\lib/unicore/lib/Cased/Y.pl type=file -d:\tlperl\lib/unicore/lib/Ccc/A.pl type=file -d:\tlperl\lib/unicore/lib/Ccc/AL.pl type=file -d:\tlperl\lib/unicore/lib/Ccc/AR.pl type=file -d:\tlperl\lib/unicore/lib/Ccc/ATAR.pl type=file -d:\tlperl\lib/unicore/lib/Ccc/B.pl type=file -d:\tlperl\lib/unicore/lib/Ccc/BR.pl type=file -d:\tlperl\lib/unicore/lib/Ccc/DB.pl type=file -d:\tlperl\lib/unicore/lib/Ccc/NK.pl type=file -d:\tlperl\lib/unicore/lib/Ccc/NR.pl type=file -d:\tlperl\lib/unicore/lib/Ccc/OV.pl type=file -d:\tlperl\lib/unicore/lib/Ccc/VR.pl type=file -d:\tlperl\lib/unicore/lib/CompEx/Y.pl type=file -d:\tlperl\lib/unicore/lib/DI/Y.pl type=file -d:\tlperl\lib/unicore/lib/Dash/Y.pl type=file -d:\tlperl\lib/unicore/lib/Dep/Y.pl type=file -d:\tlperl\lib/unicore/lib/Dia/Y.pl type=file -d:\tlperl\lib/unicore/lib/Dt/Com.pl type=file -d:\tlperl\lib/unicore/lib/Dt/Enc.pl type=file -d:\tlperl\lib/unicore/lib/Dt/Fin.pl type=file -d:\tlperl\lib/unicore/lib/Dt/Font.pl type=file -d:\tlperl\lib/unicore/lib/Dt/Init.pl type=file -d:\tlperl\lib/unicore/lib/Dt/Iso.pl type=file -d:\tlperl\lib/unicore/lib/Dt/Med.pl type=file -d:\tlperl\lib/unicore/lib/Dt/Nar.pl type=file -d:\tlperl\lib/unicore/lib/Dt/Nb.pl type=file -d:\tlperl\lib/unicore/lib/Dt/NonCanon.pl type=file -d:\tlperl\lib/unicore/lib/Dt/Sqr.pl type=file -d:\tlperl\lib/unicore/lib/Dt/Sub.pl type=file -d:\tlperl\lib/unicore/lib/Dt/Sup.pl type=file -d:\tlperl\lib/unicore/lib/Dt/Vert.pl type=file -d:\tlperl\lib/unicore/lib/Ea/A.pl type=file -d:\tlperl\lib/unicore/lib/Ea/H.pl type=file -d:\tlperl\lib/unicore/lib/Ea/N.pl type=file -d:\tlperl\lib/unicore/lib/Ea/Na.pl type=file -d:\tlperl\lib/unicore/lib/Ea/W.pl type=file -d:\tlperl\lib/unicore/lib/Ext/Y.pl type=file -d:\tlperl\lib/unicore/lib/GCB/CN.pl type=file -d:\tlperl\lib/unicore/lib/GCB/EX.pl type=file -d:\tlperl\lib/unicore/lib/GCB/LV.pl type=file -d:\tlperl\lib/unicore/lib/GCB/LVT.pl type=file -d:\tlperl\lib/unicore/lib/GCB/PP.pl type=file -d:\tlperl\lib/unicore/lib/GCB/SM.pl type=file -d:\tlperl\lib/unicore/lib/GCB/XX.pl type=file -d:\tlperl\lib/unicore/lib/Gc/C.pl type=file -d:\tlperl\lib/unicore/lib/Gc/Cf.pl type=file -d:\tlperl\lib/unicore/lib/Gc/Cn.pl type=file -d:\tlperl\lib/unicore/lib/Gc/L.pl type=file -d:\tlperl\lib/unicore/lib/Gc/LC.pl type=file -d:\tlperl\lib/unicore/lib/Gc/Ll.pl type=file -d:\tlperl\lib/unicore/lib/Gc/Lm.pl type=file -d:\tlperl\lib/unicore/lib/Gc/Lo.pl type=file -d:\tlperl\lib/unicore/lib/Gc/Lu.pl type=file -d:\tlperl\lib/unicore/lib/Gc/M.pl type=file -d:\tlperl\lib/unicore/lib/Gc/Mc.pl type=file -d:\tlperl\lib/unicore/lib/Gc/Me.pl type=file -d:\tlperl\lib/unicore/lib/Gc/Mn.pl type=file -d:\tlperl\lib/unicore/lib/Gc/N.pl type=file -d:\tlperl\lib/unicore/lib/Gc/Nd.pl type=file -d:\tlperl\lib/unicore/lib/Gc/Nl.pl type=file -d:\tlperl\lib/unicore/lib/Gc/No.pl type=file -d:\tlperl\lib/unicore/lib/Gc/P.pl type=file -d:\tlperl\lib/unicore/lib/Gc/Pc.pl type=file -d:\tlperl\lib/unicore/lib/Gc/Pd.pl type=file -d:\tlperl\lib/unicore/lib/Gc/Pe.pl type=file -d:\tlperl\lib/unicore/lib/Gc/Pf.pl type=file -d:\tlperl\lib/unicore/lib/Gc/Pi.pl type=file -d:\tlperl\lib/unicore/lib/Gc/Po.pl type=file -d:\tlperl\lib/unicore/lib/Gc/Ps.pl type=file -d:\tlperl\lib/unicore/lib/Gc/S.pl type=file -d:\tlperl\lib/unicore/lib/Gc/Sc.pl type=file -d:\tlperl\lib/unicore/lib/Gc/Sk.pl type=file -d:\tlperl\lib/unicore/lib/Gc/Sm.pl type=file -d:\tlperl\lib/unicore/lib/Gc/So.pl type=file -d:\tlperl\lib/unicore/lib/Gc/Z.pl type=file -d:\tlperl\lib/unicore/lib/Gc/Zs.pl type=file -d:\tlperl\lib/unicore/lib/GrBase/Y.pl type=file -d:\tlperl\lib/unicore/lib/GrExt/Y.pl type=file -d:\tlperl\lib/unicore/lib/Hex/Y.pl type=file -d:\tlperl\lib/unicore/lib/Hst/NA.pl type=file -d:\tlperl\lib/unicore/lib/Hyphen/T.pl type=file -d:\tlperl\lib/unicore/lib/IDC/Y.pl type=file -d:\tlperl\lib/unicore/lib/IDS/Y.pl type=file -d:\tlperl\lib/unicore/lib/Ideo/Y.pl type=file -d:\tlperl\lib/unicore/lib/In/10_0.pl type=file -d:\tlperl\lib/unicore/lib/In/11_0.pl type=file -d:\tlperl\lib/unicore/lib/In/12_0.pl type=file -d:\tlperl\lib/unicore/lib/In/12_1.pl type=file -d:\tlperl\lib/unicore/lib/In/2_0.pl type=file -d:\tlperl\lib/unicore/lib/In/2_1.pl type=file -d:\tlperl\lib/unicore/lib/In/3_0.pl type=file -d:\tlperl\lib/unicore/lib/In/3_1.pl type=file -d:\tlperl\lib/unicore/lib/In/3_2.pl type=file -d:\tlperl\lib/unicore/lib/In/4_0.pl type=file -d:\tlperl\lib/unicore/lib/In/4_1.pl type=file -d:\tlperl\lib/unicore/lib/In/5_0.pl type=file -d:\tlperl\lib/unicore/lib/In/5_1.pl type=file -d:\tlperl\lib/unicore/lib/In/5_2.pl type=file -d:\tlperl\lib/unicore/lib/In/6_0.pl type=file -d:\tlperl\lib/unicore/lib/In/6_1.pl type=file -d:\tlperl\lib/unicore/lib/In/6_2.pl type=file -d:\tlperl\lib/unicore/lib/In/6_3.pl type=file -d:\tlperl\lib/unicore/lib/In/7_0.pl type=file -d:\tlperl\lib/unicore/lib/In/8_0.pl type=file -d:\tlperl\lib/unicore/lib/In/9_0.pl type=file -d:\tlperl\lib/unicore/lib/InPC/Bottom.pl type=file -d:\tlperl\lib/unicore/lib/InPC/Left.pl type=file -d:\tlperl\lib/unicore/lib/InPC/LeftAndR.pl type=file -d:\tlperl\lib/unicore/lib/InPC/NA.pl type=file -d:\tlperl\lib/unicore/lib/InPC/Overstru.pl type=file -d:\tlperl\lib/unicore/lib/InPC/Right.pl type=file -d:\tlperl\lib/unicore/lib/InPC/Top.pl type=file -d:\tlperl\lib/unicore/lib/InPC/TopAndBo.pl type=file -d:\tlperl\lib/unicore/lib/InPC/TopAndL2.pl type=file -d:\tlperl\lib/unicore/lib/InPC/TopAndLe.pl type=file -d:\tlperl\lib/unicore/lib/InPC/TopAndRi.pl type=file -d:\tlperl\lib/unicore/lib/InPC/VisualOr.pl type=file -d:\tlperl\lib/unicore/lib/InSC/Avagraha.pl type=file -d:\tlperl\lib/unicore/lib/InSC/Bindu.pl type=file -d:\tlperl\lib/unicore/lib/InSC/Cantilla.pl type=file -d:\tlperl\lib/unicore/lib/InSC/Consona2.pl type=file -d:\tlperl\lib/unicore/lib/InSC/Consona3.pl type=file -d:\tlperl\lib/unicore/lib/InSC/Consona4.pl type=file -d:\tlperl\lib/unicore/lib/InSC/Consona5.pl type=file -d:\tlperl\lib/unicore/lib/InSC/Consona6.pl type=file -d:\tlperl\lib/unicore/lib/InSC/Consona7.pl type=file -d:\tlperl\lib/unicore/lib/InSC/Consonan.pl type=file -d:\tlperl\lib/unicore/lib/InSC/Invisibl.pl type=file -d:\tlperl\lib/unicore/lib/InSC/Nukta.pl type=file -d:\tlperl\lib/unicore/lib/InSC/Number.pl type=file -d:\tlperl\lib/unicore/lib/InSC/Other.pl type=file -d:\tlperl\lib/unicore/lib/InSC/PureKill.pl type=file -d:\tlperl\lib/unicore/lib/InSC/Syllable.pl type=file -d:\tlperl\lib/unicore/lib/InSC/ToneMark.pl type=file -d:\tlperl\lib/unicore/lib/InSC/Virama.pl type=file -d:\tlperl\lib/unicore/lib/InSC/Visarga.pl type=file -d:\tlperl\lib/unicore/lib/InSC/Vowel.pl type=file -d:\tlperl\lib/unicore/lib/InSC/VowelDep.pl type=file -d:\tlperl\lib/unicore/lib/InSC/VowelInd.pl type=file -d:\tlperl\lib/unicore/lib/Jg/Ain.pl type=file -d:\tlperl\lib/unicore/lib/Jg/Alef.pl type=file -d:\tlperl\lib/unicore/lib/Jg/Beh.pl type=file -d:\tlperl\lib/unicore/lib/Jg/Dal.pl type=file -d:\tlperl\lib/unicore/lib/Jg/FarsiYeh.pl type=file -d:\tlperl\lib/unicore/lib/Jg/Feh.pl type=file -d:\tlperl\lib/unicore/lib/Jg/Gaf.pl type=file -d:\tlperl\lib/unicore/lib/Jg/Hah.pl type=file -d:\tlperl\lib/unicore/lib/Jg/HanifiRo.pl type=file -d:\tlperl\lib/unicore/lib/Jg/Kaf.pl type=file -d:\tlperl\lib/unicore/lib/Jg/Lam.pl type=file -d:\tlperl\lib/unicore/lib/Jg/NoJoinin.pl type=file -d:\tlperl\lib/unicore/lib/Jg/Qaf.pl type=file -d:\tlperl\lib/unicore/lib/Jg/Reh.pl type=file -d:\tlperl\lib/unicore/lib/Jg/Sad.pl type=file -d:\tlperl\lib/unicore/lib/Jg/Seen.pl type=file -d:\tlperl\lib/unicore/lib/Jg/Waw.pl type=file -d:\tlperl\lib/unicore/lib/Jg/Yeh.pl type=file -d:\tlperl\lib/unicore/lib/Jt/C.pl type=file -d:\tlperl\lib/unicore/lib/Jt/D.pl type=file -d:\tlperl\lib/unicore/lib/Jt/L.pl type=file -d:\tlperl\lib/unicore/lib/Jt/R.pl type=file -d:\tlperl\lib/unicore/lib/Jt/T.pl type=file -d:\tlperl\lib/unicore/lib/Jt/U.pl type=file -d:\tlperl\lib/unicore/lib/Lb/AI.pl type=file -d:\tlperl\lib/unicore/lib/Lb/AL.pl type=file -d:\tlperl\lib/unicore/lib/Lb/BA.pl type=file -d:\tlperl\lib/unicore/lib/Lb/BB.pl type=file -d:\tlperl\lib/unicore/lib/Lb/CJ.pl type=file -d:\tlperl\lib/unicore/lib/Lb/CL.pl type=file -d:\tlperl\lib/unicore/lib/Lb/CM.pl type=file -d:\tlperl\lib/unicore/lib/Lb/EB.pl type=file -d:\tlperl\lib/unicore/lib/Lb/EX.pl type=file -d:\tlperl\lib/unicore/lib/Lb/GL.pl type=file -d:\tlperl\lib/unicore/lib/Lb/ID.pl type=file -d:\tlperl\lib/unicore/lib/Lb/IN.pl type=file -d:\tlperl\lib/unicore/lib/Lb/IS.pl type=file -d:\tlperl\lib/unicore/lib/Lb/NS.pl type=file -d:\tlperl\lib/unicore/lib/Lb/NU.pl type=file -d:\tlperl\lib/unicore/lib/Lb/OP.pl type=file -d:\tlperl\lib/unicore/lib/Lb/PO.pl type=file -d:\tlperl\lib/unicore/lib/Lb/PR.pl type=file -d:\tlperl\lib/unicore/lib/Lb/QU.pl type=file -d:\tlperl\lib/unicore/lib/Lb/SA.pl type=file -d:\tlperl\lib/unicore/lib/Lb/XX.pl type=file -d:\tlperl\lib/unicore/lib/Lower/Y.pl type=file -d:\tlperl\lib/unicore/lib/Math/Y.pl type=file -d:\tlperl\lib/unicore/lib/NFCQC/M.pl type=file -d:\tlperl\lib/unicore/lib/NFCQC/Y.pl type=file -d:\tlperl\lib/unicore/lib/NFDQC/N.pl type=file -d:\tlperl\lib/unicore/lib/NFDQC/Y.pl type=file -d:\tlperl\lib/unicore/lib/NFKCQC/N.pl type=file -d:\tlperl\lib/unicore/lib/NFKCQC/Y.pl type=file -d:\tlperl\lib/unicore/lib/NFKDQC/N.pl type=file -d:\tlperl\lib/unicore/lib/NFKDQC/Y.pl type=file -d:\tlperl\lib/unicore/lib/Nt/Di.pl type=file -d:\tlperl\lib/unicore/lib/Nt/None.pl type=file -d:\tlperl\lib/unicore/lib/Nt/Nu.pl type=file -d:\tlperl\lib/unicore/lib/Nv/0.pl type=file -d:\tlperl\lib/unicore/lib/Nv/1.pl type=file -d:\tlperl\lib/unicore/lib/Nv/10.pl type=file -d:\tlperl\lib/unicore/lib/Nv/100.pl type=file -d:\tlperl\lib/unicore/lib/Nv/1000.pl type=file -d:\tlperl\lib/unicore/lib/Nv/10000.pl type=file -d:\tlperl\lib/unicore/lib/Nv/100000.pl type=file -d:\tlperl\lib/unicore/lib/Nv/11.pl type=file -d:\tlperl\lib/unicore/lib/Nv/12.pl type=file -d:\tlperl\lib/unicore/lib/Nv/13.pl type=file -d:\tlperl\lib/unicore/lib/Nv/14.pl type=file -d:\tlperl\lib/unicore/lib/Nv/15.pl type=file -d:\tlperl\lib/unicore/lib/Nv/16.pl type=file -d:\tlperl\lib/unicore/lib/Nv/17.pl type=file -d:\tlperl\lib/unicore/lib/Nv/18.pl type=file -d:\tlperl\lib/unicore/lib/Nv/19.pl type=file -d:\tlperl\lib/unicore/lib/Nv/1_16.pl type=file -d:\tlperl\lib/unicore/lib/Nv/1_2.pl type=file -d:\tlperl\lib/unicore/lib/Nv/1_3.pl type=file -d:\tlperl\lib/unicore/lib/Nv/1_4.pl type=file -d:\tlperl\lib/unicore/lib/Nv/1_6.pl type=file -d:\tlperl\lib/unicore/lib/Nv/1_8.pl type=file -d:\tlperl\lib/unicore/lib/Nv/2.pl type=file -d:\tlperl\lib/unicore/lib/Nv/20.pl type=file -d:\tlperl\lib/unicore/lib/Nv/200.pl type=file -d:\tlperl\lib/unicore/lib/Nv/2000.pl type=file -d:\tlperl\lib/unicore/lib/Nv/20000.pl type=file -d:\tlperl\lib/unicore/lib/Nv/2_3.pl type=file -d:\tlperl\lib/unicore/lib/Nv/3.pl type=file -d:\tlperl\lib/unicore/lib/Nv/30.pl type=file -d:\tlperl\lib/unicore/lib/Nv/300.pl type=file -d:\tlperl\lib/unicore/lib/Nv/3000.pl type=file -d:\tlperl\lib/unicore/lib/Nv/30000.pl type=file -d:\tlperl\lib/unicore/lib/Nv/3_16.pl type=file -d:\tlperl\lib/unicore/lib/Nv/3_4.pl type=file -d:\tlperl\lib/unicore/lib/Nv/4.pl type=file -d:\tlperl\lib/unicore/lib/Nv/40.pl type=file -d:\tlperl\lib/unicore/lib/Nv/400.pl type=file -d:\tlperl\lib/unicore/lib/Nv/4000.pl type=file -d:\tlperl\lib/unicore/lib/Nv/40000.pl type=file -d:\tlperl\lib/unicore/lib/Nv/5.pl type=file -d:\tlperl\lib/unicore/lib/Nv/50.pl type=file -d:\tlperl\lib/unicore/lib/Nv/500.pl type=file -d:\tlperl\lib/unicore/lib/Nv/5000.pl type=file -d:\tlperl\lib/unicore/lib/Nv/50000.pl type=file -d:\tlperl\lib/unicore/lib/Nv/6.pl type=file -d:\tlperl\lib/unicore/lib/Nv/60.pl type=file -d:\tlperl\lib/unicore/lib/Nv/600.pl type=file -d:\tlperl\lib/unicore/lib/Nv/6000.pl type=file -d:\tlperl\lib/unicore/lib/Nv/60000.pl type=file -d:\tlperl\lib/unicore/lib/Nv/7.pl type=file -d:\tlperl\lib/unicore/lib/Nv/70.pl type=file -d:\tlperl\lib/unicore/lib/Nv/700.pl type=file -d:\tlperl\lib/unicore/lib/Nv/7000.pl type=file -d:\tlperl\lib/unicore/lib/Nv/70000.pl type=file -d:\tlperl\lib/unicore/lib/Nv/8.pl type=file -d:\tlperl\lib/unicore/lib/Nv/80.pl type=file -d:\tlperl\lib/unicore/lib/Nv/800.pl type=file -d:\tlperl\lib/unicore/lib/Nv/8000.pl type=file -d:\tlperl\lib/unicore/lib/Nv/80000.pl type=file -d:\tlperl\lib/unicore/lib/Nv/9.pl type=file -d:\tlperl\lib/unicore/lib/Nv/90.pl type=file -d:\tlperl\lib/unicore/lib/Nv/900.pl type=file -d:\tlperl\lib/unicore/lib/Nv/9000.pl type=file -d:\tlperl\lib/unicore/lib/Nv/90000.pl type=file -d:\tlperl\lib/unicore/lib/PCM/Y.pl type=file -d:\tlperl\lib/unicore/lib/PatSyn/Y.pl type=file -d:\tlperl\lib/unicore/lib/Perl/Alnum.pl type=file -d:\tlperl\lib/unicore/lib/Perl/Assigned.pl type=file -d:\tlperl\lib/unicore/lib/Perl/Blank.pl type=file -d:\tlperl\lib/unicore/lib/Perl/Graph.pl type=file -d:\tlperl\lib/unicore/lib/Perl/PerlWord.pl type=file -d:\tlperl\lib/unicore/lib/Perl/PosixPun.pl type=file -d:\tlperl\lib/unicore/lib/Perl/Print.pl type=file -d:\tlperl\lib/unicore/lib/Perl/SpacePer.pl type=file -d:\tlperl\lib/unicore/lib/Perl/Title.pl type=file -d:\tlperl\lib/unicore/lib/Perl/Word.pl type=file -d:\tlperl\lib/unicore/lib/Perl/XPosixPu.pl type=file -d:\tlperl\lib/unicore/lib/Perl/_PerlAny.pl type=file -d:\tlperl\lib/unicore/lib/Perl/_PerlCh2.pl type=file -d:\tlperl\lib/unicore/lib/Perl/_PerlCha.pl type=file -d:\tlperl\lib/unicore/lib/Perl/_PerlFol.pl type=file -d:\tlperl\lib/unicore/lib/Perl/_PerlIDC.pl type=file -d:\tlperl\lib/unicore/lib/Perl/_PerlIDS.pl type=file -d:\tlperl\lib/unicore/lib/Perl/_PerlIsI.pl type=file -d:\tlperl\lib/unicore/lib/Perl/_PerlNch.pl type=file -d:\tlperl\lib/unicore/lib/Perl/_PerlNon.pl type=file -d:\tlperl\lib/unicore/lib/Perl/_PerlPat.pl type=file -d:\tlperl\lib/unicore/lib/Perl/_PerlPr2.pl type=file -d:\tlperl\lib/unicore/lib/Perl/_PerlPro.pl type=file -d:\tlperl\lib/unicore/lib/Perl/_PerlQuo.pl type=file -d:\tlperl\lib/unicore/lib/QMark/Y.pl type=file -d:\tlperl\lib/unicore/lib/SB/AT.pl type=file -d:\tlperl\lib/unicore/lib/SB/CL.pl type=file -d:\tlperl\lib/unicore/lib/SB/EX.pl type=file -d:\tlperl\lib/unicore/lib/SB/FO.pl type=file -d:\tlperl\lib/unicore/lib/SB/LE.pl type=file -d:\tlperl\lib/unicore/lib/SB/LO.pl type=file -d:\tlperl\lib/unicore/lib/SB/NU.pl type=file -d:\tlperl\lib/unicore/lib/SB/SC.pl type=file -d:\tlperl\lib/unicore/lib/SB/ST.pl type=file -d:\tlperl\lib/unicore/lib/SB/Sp.pl type=file -d:\tlperl\lib/unicore/lib/SB/UP.pl type=file -d:\tlperl\lib/unicore/lib/SB/XX.pl type=file -d:\tlperl\lib/unicore/lib/SD/Y.pl type=file -d:\tlperl\lib/unicore/lib/STerm/Y.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Arab.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Armn.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Beng.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Cprt.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Cyrl.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Deva.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Dupl.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Geor.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Glag.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Gong.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Gonm.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Gran.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Grek.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Gujr.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Guru.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Han.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Hang.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Hira.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Kana.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Knda.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Latn.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Limb.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Linb.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Mlym.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Mong.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Mult.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Orya.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Sinh.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Syrc.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Taml.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Telu.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Zinh.pl type=file -d:\tlperl\lib/unicore/lib/Sc/Zyyy.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Adlm.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Arab.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Armn.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Beng.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Bhks.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Bopo.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Cakm.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Cham.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Copt.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Cprt.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Cyrl.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Deva.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Dupl.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Ethi.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Geor.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Glag.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Gong.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Gonm.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Gran.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Grek.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Gujr.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Guru.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Han.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Hang.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Hebr.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Hira.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Hmng.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Hmnp.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Kana.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Khar.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Khmr.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Khoj.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Knda.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Kthi.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Lana.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Lao.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Latn.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Limb.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Lina.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Linb.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Mlym.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Mong.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Mult.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Mymr.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Nand.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Orya.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Phlp.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Rohg.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Shrd.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Sind.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Sinh.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Syrc.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Tagb.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Takr.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Talu.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Taml.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Telu.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Thaa.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Tibt.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Tirh.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Xsux.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Yi.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Zinh.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Zyyy.pl type=file -d:\tlperl\lib/unicore/lib/Scx/Zzzz.pl type=file -d:\tlperl\lib/unicore/lib/Term/Y.pl type=file -d:\tlperl\lib/unicore/lib/UIdeo/Y.pl type=file -d:\tlperl\lib/unicore/lib/Upper/Y.pl type=file -d:\tlperl\lib/unicore/lib/Vo/R.pl type=file -d:\tlperl\lib/unicore/lib/Vo/Tr.pl type=file -d:\tlperl\lib/unicore/lib/Vo/Tu.pl type=file -d:\tlperl\lib/unicore/lib/Vo/U.pl type=file -d:\tlperl\lib/unicore/lib/WB/EX.pl type=file -d:\tlperl\lib/unicore/lib/WB/Extend.pl type=file -d:\tlperl\lib/unicore/lib/WB/FO.pl type=file -d:\tlperl\lib/unicore/lib/WB/HL.pl type=file -d:\tlperl\lib/unicore/lib/WB/KA.pl type=file -d:\tlperl\lib/unicore/lib/WB/LE.pl type=file -d:\tlperl\lib/unicore/lib/WB/MB.pl type=file -d:\tlperl\lib/unicore/lib/WB/ML.pl type=file -d:\tlperl\lib/unicore/lib/WB/MN.pl type=file -d:\tlperl\lib/unicore/lib/WB/NU.pl type=file -d:\tlperl\lib/unicore/lib/WB/WSegSpac.pl type=file -d:\tlperl\lib/unicore/lib/WB/XX.pl type=file -d:\tlperl\lib/unicore/lib/XIDC/Y.pl type=file -d:\tlperl\lib/unicore/lib/XIDS/Y.pl type=file -d:\tlperl\lib/unicore/uni_keywords.pl type=file -d:\tlperl\lib/unicore/version type=file -d:\tlperl\lib/utf8.pm type=file -d:\tlperl\lib/utf8_heavy.pl type=file -d:\tlperl\lib/vars.pm type=file -d:\tlperl\lib/version.pm type=file -d:\tlperl\lib/version.pod type=file -d:\tlperl\lib/version/Internals.pod type=file -d:\tlperl\lib/version/regex.pm type=file -d:\tlperl\lib/vmsish.pm type=file -d:\tlperl\lib/warnings.pm type=file -d:\tlperl\lib/warnings/register.pm type=file +e:\tlperl\bin/corelist.bat type=file +e:\tlperl\bin/cpan.bat type=file +e:\tlperl\bin/enc2xs.bat type=file +e:\tlperl\bin/encguess.bat type=file +e:\tlperl\bin/h2ph.bat type=file +e:\tlperl\bin/h2xs.bat type=file +e:\tlperl\bin/instmodsh.bat type=file +e:\tlperl\bin/json_pp.bat type=file +e:\tlperl\bin/libnetcfg.bat type=file +e:\tlperl\bin/perl.exe from=e:\tlperl\bin/perl5.32.1.exe type=link +e:\tlperl\bin/perl5.32.1.exe type=file +e:\tlperl\bin/perl532.dll type=file +e:\tlperl\bin/perlbug.bat type=file +e:\tlperl\bin/perldoc.bat type=file +e:\tlperl\bin/perlivp.bat type=file +e:\tlperl\bin/perlthanks.bat from=e:\tlperl\bin/perlbug.bat type=link +e:\tlperl\bin/piconv.bat type=file +e:\tlperl\bin/pl2pm.bat type=file +e:\tlperl\bin/pod2html.bat type=file +e:\tlperl\bin/pod2man.bat type=file +e:\tlperl\bin/pod2text.bat type=file +e:\tlperl\bin/pod2usage.bat type=file +e:\tlperl\bin/podchecker.bat type=file +e:\tlperl\bin/prove.bat type=file +e:\tlperl\bin/ptar.bat type=file +e:\tlperl\bin/ptardiff.bat type=file +e:\tlperl\bin/ptargrep.bat type=file +e:\tlperl\bin/shasum.bat type=file +e:\tlperl\bin/splain.bat type=file +e:\tlperl\bin/streamzip.bat type=file +e:\tlperl\bin/xsubpp.bat type=file +e:\tlperl\bin/zipdetails.bat type=file +e:\tlperl\lib/AnyDBM_File.pm type=file +e:\tlperl\lib/App/Cpan.pm type=file +e:\tlperl\lib/App/Prove.pm type=file +e:\tlperl\lib/App/Prove/State.pm type=file +e:\tlperl\lib/App/Prove/State/Result.pm type=file +e:\tlperl\lib/App/Prove/State/Result/Test.pm type=file +e:\tlperl\lib/Archive/Tar.pm type=file +e:\tlperl\lib/Archive/Tar/Constant.pm type=file +e:\tlperl\lib/Archive/Tar/File.pm type=file +e:\tlperl\lib/Attribute/Handlers.pm type=file +e:\tlperl\lib/AutoLoader.pm type=file +e:\tlperl\lib/AutoSplit.pm type=file +e:\tlperl\lib/B.pm type=file +e:\tlperl\lib/B/Concise.pm type=file +e:\tlperl\lib/B/Deparse.pm type=file +e:\tlperl\lib/B/Op_private.pm type=file +e:\tlperl\lib/B/Showlex.pm type=file +e:\tlperl\lib/B/Terse.pm type=file +e:\tlperl\lib/B/Xref.pm type=file +e:\tlperl\lib/Benchmark.pm type=file +e:\tlperl\lib/CORE.pod type=file +e:\tlperl\lib/CORE/EXTERN.h type=file +e:\tlperl\lib/CORE/INTERN.h type=file +e:\tlperl\lib/CORE/XSUB.h type=file +e:\tlperl\lib/CORE/arpa/inet.h type=file +e:\tlperl\lib/CORE/av.h type=file +e:\tlperl\lib/CORE/bitcount.h type=file +e:\tlperl\lib/CORE/charclass_invlists.h type=file +e:\tlperl\lib/CORE/config.h type=file +e:\tlperl\lib/CORE/cop.h type=file +e:\tlperl\lib/CORE/cv.h type=file +e:\tlperl\lib/CORE/dirent.h type=file +e:\tlperl\lib/CORE/dosish.h type=file +e:\tlperl\lib/CORE/ebcdic_tables.h type=file +e:\tlperl\lib/CORE/embed.h type=file +e:\tlperl\lib/CORE/embedvar.h type=file +e:\tlperl\lib/CORE/fakesdio.h type=file +e:\tlperl\lib/CORE/feature.h type=file +e:\tlperl\lib/CORE/form.h type=file +e:\tlperl\lib/CORE/git_version.h type=file +e:\tlperl\lib/CORE/gv.h type=file +e:\tlperl\lib/CORE/handy.h type=file +e:\tlperl\lib/CORE/hv.h type=file +e:\tlperl\lib/CORE/hv_func.h type=file +e:\tlperl\lib/CORE/hv_macro.h type=file +e:\tlperl\lib/CORE/inline.h type=file +e:\tlperl\lib/CORE/intrpvar.h type=file +e:\tlperl\lib/CORE/invlist_inline.h type=file +e:\tlperl\lib/CORE/iperlsys.h type=file +e:\tlperl\lib/CORE/keywords.h type=file +e:\tlperl\lib/CORE/l1_char_class_tab.h type=file +e:\tlperl\lib/CORE/libperl532.a type=file +e:\tlperl\lib/CORE/malloc_ctl.h type=file +e:\tlperl\lib/CORE/metaconfig.h type=file +e:\tlperl\lib/CORE/mg.h type=file +e:\tlperl\lib/CORE/mg_data.h type=file +e:\tlperl\lib/CORE/mg_raw.h type=file +e:\tlperl\lib/CORE/mg_vtable.h type=file +e:\tlperl\lib/CORE/mydtrace.h type=file +e:\tlperl\lib/CORE/netdb.h type=file +e:\tlperl\lib/CORE/nostdio.h type=file +e:\tlperl\lib/CORE/op.h type=file +e:\tlperl\lib/CORE/op_reg_common.h type=file +e:\tlperl\lib/CORE/opcode.h type=file +e:\tlperl\lib/CORE/opnames.h type=file +e:\tlperl\lib/CORE/overload.h type=file +e:\tlperl\lib/CORE/pad.h type=file +e:\tlperl\lib/CORE/parser.h type=file +e:\tlperl\lib/CORE/patchlevel.h type=file +e:\tlperl\lib/CORE/perl.h type=file +e:\tlperl\lib/CORE/perl_inc_macro.h type=file +e:\tlperl\lib/CORE/perl_langinfo.h type=file +e:\tlperl\lib/CORE/perlapi.h type=file +e:\tlperl\lib/CORE/perlhost.h type=file +e:\tlperl\lib/CORE/perlio.h type=file +e:\tlperl\lib/CORE/perliol.h type=file +e:\tlperl\lib/CORE/perlsdio.h type=file +e:\tlperl\lib/CORE/perlvars.h type=file +e:\tlperl\lib/CORE/perly.h type=file +e:\tlperl\lib/CORE/pp.h type=file +e:\tlperl\lib/CORE/pp_proto.h type=file +e:\tlperl\lib/CORE/proto.h type=file +e:\tlperl\lib/CORE/reentr.h type=file +e:\tlperl\lib/CORE/regcharclass.h type=file +e:\tlperl\lib/CORE/regcomp.h type=file +e:\tlperl\lib/CORE/regexp.h type=file +e:\tlperl\lib/CORE/regnodes.h type=file +e:\tlperl\lib/CORE/sbox32_hash.h type=file +e:\tlperl\lib/CORE/scope.h type=file +e:\tlperl\lib/CORE/stadtx_hash.h type=file +e:\tlperl\lib/CORE/sv.h type=file +e:\tlperl\lib/CORE/sys/errno2.h type=file +e:\tlperl\lib/CORE/sys/socket.h type=file +e:\tlperl\lib/CORE/thread.h type=file +e:\tlperl\lib/CORE/time64.h type=file +e:\tlperl\lib/CORE/time64_config.h type=file +e:\tlperl\lib/CORE/uconfig.h type=file +e:\tlperl\lib/CORE/uni_keywords.h type=file +e:\tlperl\lib/CORE/unicode_constants.h type=file +e:\tlperl\lib/CORE/unixish.h type=file +e:\tlperl\lib/CORE/utf8.h type=file +e:\tlperl\lib/CORE/utfebcdic.h type=file +e:\tlperl\lib/CORE/util.h type=file +e:\tlperl\lib/CORE/uudmap.h type=file +e:\tlperl\lib/CORE/vdir.h type=file +e:\tlperl\lib/CORE/vmem.h type=file +e:\tlperl\lib/CORE/vutil.h type=file +e:\tlperl\lib/CORE/warnings.h type=file +e:\tlperl\lib/CORE/win32.h type=file +e:\tlperl\lib/CORE/win32iop.h type=file +e:\tlperl\lib/CORE/win32thread.h type=file +e:\tlperl\lib/CORE/zaphod32_hash.h type=file +e:\tlperl\lib/CPAN.pm type=file +e:\tlperl\lib/CPAN/API/HOWTO.pod type=file +e:\tlperl\lib/CPAN/Author.pm type=file +e:\tlperl\lib/CPAN/Bundle.pm type=file +e:\tlperl\lib/CPAN/CacheMgr.pm type=file +e:\tlperl\lib/CPAN/Complete.pm type=file +e:\tlperl\lib/CPAN/Debug.pm type=file +e:\tlperl\lib/CPAN/DeferredCode.pm type=file +e:\tlperl\lib/CPAN/Distribution.pm type=file +e:\tlperl\lib/CPAN/Distroprefs.pm type=file +e:\tlperl\lib/CPAN/Distrostatus.pm type=file +e:\tlperl\lib/CPAN/Exception/RecursiveDependency.pm type=file +e:\tlperl\lib/CPAN/Exception/blocked_urllist.pm type=file +e:\tlperl\lib/CPAN/Exception/yaml_not_installed.pm type=file +e:\tlperl\lib/CPAN/Exception/yaml_process_error.pm type=file +e:\tlperl\lib/CPAN/FTP.pm type=file +e:\tlperl\lib/CPAN/FTP/netrc.pm type=file +e:\tlperl\lib/CPAN/FirstTime.pm type=file +e:\tlperl\lib/CPAN/HTTP/Client.pm type=file +e:\tlperl\lib/CPAN/HTTP/Credentials.pm type=file +e:\tlperl\lib/CPAN/HandleConfig.pm type=file +e:\tlperl\lib/CPAN/Index.pm type=file +e:\tlperl\lib/CPAN/InfoObj.pm type=file +e:\tlperl\lib/CPAN/Kwalify.pm type=file +e:\tlperl\lib/CPAN/Kwalify/distroprefs.dd type=file +e:\tlperl\lib/CPAN/Kwalify/distroprefs.yml type=file +e:\tlperl\lib/CPAN/LWP/UserAgent.pm type=file +e:\tlperl\lib/CPAN/Meta.pm type=file +e:\tlperl\lib/CPAN/Meta/Converter.pm type=file +e:\tlperl\lib/CPAN/Meta/Feature.pm type=file +e:\tlperl\lib/CPAN/Meta/History.pm type=file +e:\tlperl\lib/CPAN/Meta/History/Meta_1_0.pod type=file +e:\tlperl\lib/CPAN/Meta/History/Meta_1_1.pod type=file +e:\tlperl\lib/CPAN/Meta/History/Meta_1_2.pod type=file +e:\tlperl\lib/CPAN/Meta/History/Meta_1_3.pod type=file +e:\tlperl\lib/CPAN/Meta/History/Meta_1_4.pod type=file +e:\tlperl\lib/CPAN/Meta/Merge.pm type=file +e:\tlperl\lib/CPAN/Meta/Prereqs.pm type=file +e:\tlperl\lib/CPAN/Meta/Requirements.pm type=file +e:\tlperl\lib/CPAN/Meta/Spec.pm type=file +e:\tlperl\lib/CPAN/Meta/Validator.pm type=file +e:\tlperl\lib/CPAN/Meta/YAML.pm type=file +e:\tlperl\lib/CPAN/Mirrors.pm type=file +e:\tlperl\lib/CPAN/Module.pm type=file +e:\tlperl\lib/CPAN/Nox.pm type=file +e:\tlperl\lib/CPAN/Plugin.pm type=file +e:\tlperl\lib/CPAN/Plugin/Specfile.pm type=file +e:\tlperl\lib/CPAN/Prompt.pm type=file +e:\tlperl\lib/CPAN/Queue.pm type=file +e:\tlperl\lib/CPAN/Shell.pm type=file +e:\tlperl\lib/CPAN/Tarzip.pm type=file +e:\tlperl\lib/CPAN/URL.pm type=file +e:\tlperl\lib/CPAN/Version.pm type=file +e:\tlperl\lib/Carp.pm type=file +e:\tlperl\lib/Carp/Heavy.pm type=file +e:\tlperl\lib/Class/Struct.pm type=file +e:\tlperl\lib/Compress/Raw/Bzip2.pm type=file +e:\tlperl\lib/Compress/Raw/Zlib.pm type=file +e:\tlperl\lib/Compress/Zlib.pm type=file +e:\tlperl\lib/Config.pm type=file +e:\tlperl\lib/Config.pod type=file +e:\tlperl\lib/Config/Extensions.pm type=file +e:\tlperl\lib/Config/Perl/V.pm type=file +e:\tlperl\lib/Config_git.pl type=file +e:\tlperl\lib/Config_heavy.pl type=file +e:\tlperl\lib/Cwd.pm type=file +e:\tlperl\lib/DB.pm type=file +e:\tlperl\lib/DBM_Filter.pm type=file +e:\tlperl\lib/DBM_Filter/compress.pm type=file +e:\tlperl\lib/DBM_Filter/encode.pm type=file +e:\tlperl\lib/DBM_Filter/int32.pm type=file +e:\tlperl\lib/DBM_Filter/null.pm type=file +e:\tlperl\lib/DBM_Filter/utf8.pm type=file +e:\tlperl\lib/Data/Dumper.pm type=file +e:\tlperl\lib/Devel/PPPort.pm type=file +e:\tlperl\lib/Devel/Peek.pm type=file +e:\tlperl\lib/Devel/SelfStubber.pm type=file +e:\tlperl\lib/Digest.pm type=file +e:\tlperl\lib/Digest/MD5.pm type=file +e:\tlperl\lib/Digest/SHA.pm type=file +e:\tlperl\lib/Digest/base.pm type=file +e:\tlperl\lib/Digest/file.pm type=file +e:\tlperl\lib/DirHandle.pm type=file +e:\tlperl\lib/Dumpvalue.pm type=file +e:\tlperl\lib/DynaLoader.pm type=file +e:\tlperl\lib/Encode.pm type=file +e:\tlperl\lib/Encode/Alias.pm type=file +e:\tlperl\lib/Encode/Byte.pm type=file +e:\tlperl\lib/Encode/CJKConstants.pm type=file +e:\tlperl\lib/Encode/CN.pm type=file +e:\tlperl\lib/Encode/CN/HZ.pm type=file +e:\tlperl\lib/Encode/Changes.e2x type=file +e:\tlperl\lib/Encode/Config.pm type=file +e:\tlperl\lib/Encode/ConfigLocal_PM.e2x type=file +e:\tlperl\lib/Encode/EBCDIC.pm type=file +e:\tlperl\lib/Encode/Encoder.pm type=file +e:\tlperl\lib/Encode/Encoding.pm type=file +e:\tlperl\lib/Encode/GSM0338.pm type=file +e:\tlperl\lib/Encode/Guess.pm type=file +e:\tlperl\lib/Encode/JP.pm type=file +e:\tlperl\lib/Encode/JP/H2Z.pm type=file +e:\tlperl\lib/Encode/JP/JIS7.pm type=file +e:\tlperl\lib/Encode/KR.pm type=file +e:\tlperl\lib/Encode/KR/2022_KR.pm type=file +e:\tlperl\lib/Encode/MIME/Header.pm type=file +e:\tlperl\lib/Encode/MIME/Header/ISO_2022_JP.pm type=file +e:\tlperl\lib/Encode/MIME/Name.pm type=file +e:\tlperl\lib/Encode/Makefile_PL.e2x type=file +e:\tlperl\lib/Encode/PerlIO.pod type=file +e:\tlperl\lib/Encode/README.e2x type=file +e:\tlperl\lib/Encode/Supported.pod type=file +e:\tlperl\lib/Encode/Symbol.pm type=file +e:\tlperl\lib/Encode/TW.pm type=file +e:\tlperl\lib/Encode/Unicode.pm type=file +e:\tlperl\lib/Encode/Unicode/UTF7.pm type=file +e:\tlperl\lib/Encode/_PM.e2x type=file +e:\tlperl\lib/Encode/_T.e2x type=file +e:\tlperl\lib/Encode/encode.h type=file +e:\tlperl\lib/English.pm type=file +e:\tlperl\lib/Env.pm type=file +e:\tlperl\lib/Errno.pm type=file +e:\tlperl\lib/Exporter.pm type=file +e:\tlperl\lib/Exporter/Heavy.pm type=file +e:\tlperl\lib/ExtUtils/CBuilder.pm type=file +e:\tlperl\lib/ExtUtils/CBuilder/Base.pm type=file +e:\tlperl\lib/ExtUtils/CBuilder/Platform/Unix.pm type=file +e:\tlperl\lib/ExtUtils/CBuilder/Platform/VMS.pm type=file +e:\tlperl\lib/ExtUtils/CBuilder/Platform/Windows.pm type=file +e:\tlperl\lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm type=file +e:\tlperl\lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm type=file +e:\tlperl\lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm type=file +e:\tlperl\lib/ExtUtils/CBuilder/Platform/aix.pm type=file +e:\tlperl\lib/ExtUtils/CBuilder/Platform/android.pm type=file +e:\tlperl\lib/ExtUtils/CBuilder/Platform/cygwin.pm type=file +e:\tlperl\lib/ExtUtils/CBuilder/Platform/darwin.pm type=file +e:\tlperl\lib/ExtUtils/CBuilder/Platform/dec_osf.pm type=file +e:\tlperl\lib/ExtUtils/CBuilder/Platform/os2.pm type=file +e:\tlperl\lib/ExtUtils/Command.pm type=file +e:\tlperl\lib/ExtUtils/Command/MM.pm type=file +e:\tlperl\lib/ExtUtils/Constant.pm type=file +e:\tlperl\lib/ExtUtils/Constant/Base.pm type=file +e:\tlperl\lib/ExtUtils/Constant/ProxySubs.pm type=file +e:\tlperl\lib/ExtUtils/Constant/Utils.pm type=file +e:\tlperl\lib/ExtUtils/Constant/XS.pm type=file +e:\tlperl\lib/ExtUtils/Embed.pm type=file +e:\tlperl\lib/ExtUtils/Install.pm type=file +e:\tlperl\lib/ExtUtils/Installed.pm type=file +e:\tlperl\lib/ExtUtils/Liblist.pm type=file +e:\tlperl\lib/ExtUtils/Liblist/Kid.pm type=file +e:\tlperl\lib/ExtUtils/MANIFEST.SKIP type=file +e:\tlperl\lib/ExtUtils/MM.pm type=file +e:\tlperl\lib/ExtUtils/MM_AIX.pm type=file +e:\tlperl\lib/ExtUtils/MM_Any.pm type=file +e:\tlperl\lib/ExtUtils/MM_BeOS.pm type=file +e:\tlperl\lib/ExtUtils/MM_Cygwin.pm type=file +e:\tlperl\lib/ExtUtils/MM_DOS.pm type=file +e:\tlperl\lib/ExtUtils/MM_Darwin.pm type=file +e:\tlperl\lib/ExtUtils/MM_MacOS.pm type=file +e:\tlperl\lib/ExtUtils/MM_NW5.pm type=file +e:\tlperl\lib/ExtUtils/MM_OS2.pm type=file +e:\tlperl\lib/ExtUtils/MM_QNX.pm type=file +e:\tlperl\lib/ExtUtils/MM_UWIN.pm type=file +e:\tlperl\lib/ExtUtils/MM_Unix.pm type=file +e:\tlperl\lib/ExtUtils/MM_VMS.pm type=file +e:\tlperl\lib/ExtUtils/MM_VOS.pm type=file +e:\tlperl\lib/ExtUtils/MM_Win32.pm type=file +e:\tlperl\lib/ExtUtils/MM_Win95.pm type=file +e:\tlperl\lib/ExtUtils/MY.pm type=file +e:\tlperl\lib/ExtUtils/MakeMaker.pm type=file +e:\tlperl\lib/ExtUtils/MakeMaker/Config.pm type=file +e:\tlperl\lib/ExtUtils/MakeMaker/FAQ.pod type=file +e:\tlperl\lib/ExtUtils/MakeMaker/Locale.pm type=file +e:\tlperl\lib/ExtUtils/MakeMaker/Tutorial.pod type=file +e:\tlperl\lib/ExtUtils/MakeMaker/version.pm type=file +e:\tlperl\lib/ExtUtils/Manifest.pm type=file +e:\tlperl\lib/ExtUtils/Miniperl.pm type=file +e:\tlperl\lib/ExtUtils/Mkbootstrap.pm type=file +e:\tlperl\lib/ExtUtils/Mksymlists.pm type=file +e:\tlperl\lib/ExtUtils/Packlist.pm type=file +e:\tlperl\lib/ExtUtils/ParseXS.pm type=file +e:\tlperl\lib/ExtUtils/ParseXS.pod type=file +e:\tlperl\lib/ExtUtils/ParseXS/Constants.pm type=file +e:\tlperl\lib/ExtUtils/ParseXS/CountLines.pm type=file +e:\tlperl\lib/ExtUtils/ParseXS/Eval.pm type=file +e:\tlperl\lib/ExtUtils/ParseXS/Utilities.pm type=file +e:\tlperl\lib/ExtUtils/Typemaps.pm type=file +e:\tlperl\lib/ExtUtils/Typemaps/Cmd.pm type=file +e:\tlperl\lib/ExtUtils/Typemaps/InputMap.pm type=file +e:\tlperl\lib/ExtUtils/Typemaps/OutputMap.pm type=file +e:\tlperl\lib/ExtUtils/Typemaps/Type.pm type=file +e:\tlperl\lib/ExtUtils/testlib.pm type=file +e:\tlperl\lib/ExtUtils/typemap type=file +e:\tlperl\lib/ExtUtils/xsubpp type=file +e:\tlperl\lib/Fatal.pm type=file +e:\tlperl\lib/Fcntl.pm type=file +e:\tlperl\lib/File/Basename.pm type=file +e:\tlperl\lib/File/Compare.pm type=file +e:\tlperl\lib/File/Copy.pm type=file +e:\tlperl\lib/File/DosGlob.pm type=file +e:\tlperl\lib/File/Fetch.pm type=file +e:\tlperl\lib/File/Find.pm type=file +e:\tlperl\lib/File/Glob.pm type=file +e:\tlperl\lib/File/GlobMapper.pm type=file +e:\tlperl\lib/File/Path.pm type=file +e:\tlperl\lib/File/Spec.pm type=file +e:\tlperl\lib/File/Spec/AmigaOS.pm type=file +e:\tlperl\lib/File/Spec/Cygwin.pm type=file +e:\tlperl\lib/File/Spec/Epoc.pm type=file +e:\tlperl\lib/File/Spec/Functions.pm type=file +e:\tlperl\lib/File/Spec/Mac.pm type=file +e:\tlperl\lib/File/Spec/OS2.pm type=file +e:\tlperl\lib/File/Spec/Unix.pm type=file +e:\tlperl\lib/File/Spec/VMS.pm type=file +e:\tlperl\lib/File/Spec/Win32.pm type=file +e:\tlperl\lib/File/Temp.pm type=file +e:\tlperl\lib/File/stat.pm type=file +e:\tlperl\lib/FileCache.pm type=file +e:\tlperl\lib/FileHandle.pm type=file +e:\tlperl\lib/Filter/Simple.pm type=file +e:\tlperl\lib/Filter/Util/Call.pm type=file +e:\tlperl\lib/FindBin.pm type=file +e:\tlperl\lib/Getopt/Long.pm type=file +e:\tlperl\lib/Getopt/Std.pm type=file +e:\tlperl\lib/HTTP/Tiny.pm type=file +e:\tlperl\lib/Hash/Util.pm type=file +e:\tlperl\lib/Hash/Util/FieldHash.pm type=file +e:\tlperl\lib/I18N/Collate.pm type=file +e:\tlperl\lib/I18N/LangTags.pm type=file +e:\tlperl\lib/I18N/LangTags/Detect.pm type=file +e:\tlperl\lib/I18N/LangTags/List.pm type=file +e:\tlperl\lib/I18N/Langinfo.pm type=file +e:\tlperl\lib/IO.pm type=file +e:\tlperl\lib/IO/Compress/Adapter/Bzip2.pm type=file +e:\tlperl\lib/IO/Compress/Adapter/Deflate.pm type=file +e:\tlperl\lib/IO/Compress/Adapter/Identity.pm type=file +e:\tlperl\lib/IO/Compress/Base.pm type=file +e:\tlperl\lib/IO/Compress/Base/Common.pm type=file +e:\tlperl\lib/IO/Compress/Bzip2.pm type=file +e:\tlperl\lib/IO/Compress/Deflate.pm type=file +e:\tlperl\lib/IO/Compress/FAQ.pod type=file +e:\tlperl\lib/IO/Compress/Gzip.pm type=file +e:\tlperl\lib/IO/Compress/Gzip/Constants.pm type=file +e:\tlperl\lib/IO/Compress/RawDeflate.pm type=file +e:\tlperl\lib/IO/Compress/Zip.pm type=file +e:\tlperl\lib/IO/Compress/Zip/Constants.pm type=file +e:\tlperl\lib/IO/Compress/Zlib/Constants.pm type=file +e:\tlperl\lib/IO/Compress/Zlib/Extra.pm type=file +e:\tlperl\lib/IO/Dir.pm type=file +e:\tlperl\lib/IO/File.pm type=file +e:\tlperl\lib/IO/Handle.pm type=file +e:\tlperl\lib/IO/Pipe.pm type=file +e:\tlperl\lib/IO/Poll.pm type=file +e:\tlperl\lib/IO/Seekable.pm type=file +e:\tlperl\lib/IO/Select.pm type=file +e:\tlperl\lib/IO/Socket.pm type=file +e:\tlperl\lib/IO/Socket/INET.pm type=file +e:\tlperl\lib/IO/Socket/IP.pm type=file +e:\tlperl\lib/IO/Socket/UNIX.pm type=file +e:\tlperl\lib/IO/Uncompress/Adapter/Bunzip2.pm type=file +e:\tlperl\lib/IO/Uncompress/Adapter/Identity.pm type=file +e:\tlperl\lib/IO/Uncompress/Adapter/Inflate.pm type=file +e:\tlperl\lib/IO/Uncompress/AnyInflate.pm type=file +e:\tlperl\lib/IO/Uncompress/AnyUncompress.pm type=file +e:\tlperl\lib/IO/Uncompress/Base.pm type=file +e:\tlperl\lib/IO/Uncompress/Bunzip2.pm type=file +e:\tlperl\lib/IO/Uncompress/Gunzip.pm type=file +e:\tlperl\lib/IO/Uncompress/Inflate.pm type=file +e:\tlperl\lib/IO/Uncompress/RawInflate.pm type=file +e:\tlperl\lib/IO/Uncompress/Unzip.pm type=file +e:\tlperl\lib/IO/Zlib.pm type=file +e:\tlperl\lib/IPC/Cmd.pm type=file +e:\tlperl\lib/IPC/Open2.pm type=file +e:\tlperl\lib/IPC/Open3.pm type=file +e:\tlperl\lib/Internals.pod type=file +e:\tlperl\lib/JSON/PP.pm type=file +e:\tlperl\lib/JSON/PP/Boolean.pm type=file +e:\tlperl\lib/List/Util.pm type=file +e:\tlperl\lib/List/Util/XS.pm type=file +e:\tlperl\lib/Locale/Maketext.pm type=file +e:\tlperl\lib/Locale/Maketext.pod type=file +e:\tlperl\lib/Locale/Maketext/Cookbook.pod type=file +e:\tlperl\lib/Locale/Maketext/Guts.pm type=file +e:\tlperl\lib/Locale/Maketext/GutsLoader.pm type=file +e:\tlperl\lib/Locale/Maketext/Simple.pm type=file +e:\tlperl\lib/Locale/Maketext/TPJ13.pod type=file +e:\tlperl\lib/MIME/Base64.pm type=file +e:\tlperl\lib/MIME/QuotedPrint.pm type=file +e:\tlperl\lib/Math/BigFloat.pm type=file +e:\tlperl\lib/Math/BigFloat/Trace.pm type=file +e:\tlperl\lib/Math/BigInt.pm type=file +e:\tlperl\lib/Math/BigInt/Calc.pm type=file +e:\tlperl\lib/Math/BigInt/FastCalc.pm type=file +e:\tlperl\lib/Math/BigInt/Lib.pm type=file +e:\tlperl\lib/Math/BigInt/Trace.pm type=file +e:\tlperl\lib/Math/BigRat.pm type=file +e:\tlperl\lib/Math/Complex.pm type=file +e:\tlperl\lib/Math/Trig.pm type=file +e:\tlperl\lib/Memoize.pm type=file +e:\tlperl\lib/Memoize/AnyDBM_File.pm type=file +e:\tlperl\lib/Memoize/Expire.pm type=file +e:\tlperl\lib/Memoize/ExpireFile.pm type=file +e:\tlperl\lib/Memoize/ExpireTest.pm type=file +e:\tlperl\lib/Memoize/NDBM_File.pm type=file +e:\tlperl\lib/Memoize/SDBM_File.pm type=file +e:\tlperl\lib/Memoize/Storable.pm type=file +e:\tlperl\lib/Module/CoreList.pm type=file +e:\tlperl\lib/Module/CoreList.pod type=file +e:\tlperl\lib/Module/CoreList/Utils.pm type=file +e:\tlperl\lib/Module/Load.pm type=file +e:\tlperl\lib/Module/Load/Conditional.pm type=file +e:\tlperl\lib/Module/Loaded.pm type=file +e:\tlperl\lib/Module/Metadata.pm type=file +e:\tlperl\lib/NEXT.pm type=file +e:\tlperl\lib/Net/Cmd.pm type=file +e:\tlperl\lib/Net/Config.pm type=file +e:\tlperl\lib/Net/Domain.pm type=file +e:\tlperl\lib/Net/FTP.pm type=file +e:\tlperl\lib/Net/FTP/A.pm type=file +e:\tlperl\lib/Net/FTP/E.pm type=file +e:\tlperl\lib/Net/FTP/I.pm type=file +e:\tlperl\lib/Net/FTP/L.pm type=file +e:\tlperl\lib/Net/FTP/dataconn.pm type=file +e:\tlperl\lib/Net/NNTP.pm type=file +e:\tlperl\lib/Net/Netrc.pm type=file +e:\tlperl\lib/Net/POP3.pm type=file +e:\tlperl\lib/Net/Ping.pm type=file +e:\tlperl\lib/Net/SMTP.pm type=file +e:\tlperl\lib/Net/Time.pm type=file +e:\tlperl\lib/Net/hostent.pm type=file +e:\tlperl\lib/Net/libnetFAQ.pod type=file +e:\tlperl\lib/Net/netent.pm type=file +e:\tlperl\lib/Net/protoent.pm type=file +e:\tlperl\lib/Net/servent.pm type=file +e:\tlperl\lib/O.pm type=file +e:\tlperl\lib/Opcode.pm type=file +e:\tlperl\lib/POSIX.pm type=file +e:\tlperl\lib/POSIX.pod type=file +e:\tlperl\lib/Params/Check.pm type=file +e:\tlperl\lib/Parse/CPAN/Meta.pm type=file +e:\tlperl\lib/Perl/OSType.pm type=file +e:\tlperl\lib/PerlIO.pm type=file +e:\tlperl\lib/PerlIO/encoding.pm type=file +e:\tlperl\lib/PerlIO/mmap.pm type=file +e:\tlperl\lib/PerlIO/scalar.pm type=file +e:\tlperl\lib/PerlIO/via.pm type=file +e:\tlperl\lib/PerlIO/via/QuotedPrint.pm type=file +e:\tlperl\lib/Pod/Checker.pm type=file +e:\tlperl\lib/Pod/Escapes.pm type=file +e:\tlperl\lib/Pod/Functions.pm type=file +e:\tlperl\lib/Pod/Html.pm type=file +e:\tlperl\lib/Pod/Man.pm type=file +e:\tlperl\lib/Pod/ParseLink.pm type=file +e:\tlperl\lib/Pod/Perldoc.pm type=file +e:\tlperl\lib/Pod/Perldoc/BaseTo.pm type=file +e:\tlperl\lib/Pod/Perldoc/GetOptsOO.pm type=file +e:\tlperl\lib/Pod/Perldoc/ToANSI.pm type=file +e:\tlperl\lib/Pod/Perldoc/ToChecker.pm type=file +e:\tlperl\lib/Pod/Perldoc/ToMan.pm type=file +e:\tlperl\lib/Pod/Perldoc/ToNroff.pm type=file +e:\tlperl\lib/Pod/Perldoc/ToPod.pm type=file +e:\tlperl\lib/Pod/Perldoc/ToRtf.pm type=file +e:\tlperl\lib/Pod/Perldoc/ToTerm.pm type=file +e:\tlperl\lib/Pod/Perldoc/ToText.pm type=file +e:\tlperl\lib/Pod/Perldoc/ToTk.pm type=file +e:\tlperl\lib/Pod/Perldoc/ToXml.pm type=file +e:\tlperl\lib/Pod/Simple.pm type=file +e:\tlperl\lib/Pod/Simple.pod type=file +e:\tlperl\lib/Pod/Simple/BlackBox.pm type=file +e:\tlperl\lib/Pod/Simple/Checker.pm type=file +e:\tlperl\lib/Pod/Simple/Debug.pm type=file +e:\tlperl\lib/Pod/Simple/DumpAsText.pm type=file +e:\tlperl\lib/Pod/Simple/DumpAsXML.pm type=file +e:\tlperl\lib/Pod/Simple/HTML.pm type=file +e:\tlperl\lib/Pod/Simple/HTMLBatch.pm type=file +e:\tlperl\lib/Pod/Simple/HTMLLegacy.pm type=file +e:\tlperl\lib/Pod/Simple/JustPod.pm type=file +e:\tlperl\lib/Pod/Simple/LinkSection.pm type=file +e:\tlperl\lib/Pod/Simple/Methody.pm type=file +e:\tlperl\lib/Pod/Simple/Progress.pm type=file +e:\tlperl\lib/Pod/Simple/PullParser.pm type=file +e:\tlperl\lib/Pod/Simple/PullParserEndToken.pm type=file +e:\tlperl\lib/Pod/Simple/PullParserStartToken.pm type=file +e:\tlperl\lib/Pod/Simple/PullParserTextToken.pm type=file +e:\tlperl\lib/Pod/Simple/PullParserToken.pm type=file +e:\tlperl\lib/Pod/Simple/RTF.pm type=file +e:\tlperl\lib/Pod/Simple/Search.pm type=file +e:\tlperl\lib/Pod/Simple/SimpleTree.pm type=file +e:\tlperl\lib/Pod/Simple/Subclassing.pod type=file +e:\tlperl\lib/Pod/Simple/Text.pm type=file +e:\tlperl\lib/Pod/Simple/TextContent.pm type=file +e:\tlperl\lib/Pod/Simple/TiedOutFH.pm type=file +e:\tlperl\lib/Pod/Simple/Transcode.pm type=file +e:\tlperl\lib/Pod/Simple/TranscodeDumb.pm type=file +e:\tlperl\lib/Pod/Simple/TranscodeSmart.pm type=file +e:\tlperl\lib/Pod/Simple/XHTML.pm type=file +e:\tlperl\lib/Pod/Simple/XMLOutStream.pm type=file +e:\tlperl\lib/Pod/Text.pm type=file +e:\tlperl\lib/Pod/Text/Color.pm type=file +e:\tlperl\lib/Pod/Text/Overstrike.pm type=file +e:\tlperl\lib/Pod/Text/Termcap.pm type=file +e:\tlperl\lib/Pod/Usage.pm type=file +e:\tlperl\lib/SDBM_File.pm type=file +e:\tlperl\lib/Safe.pm type=file +e:\tlperl\lib/Scalar/Util.pm type=file +e:\tlperl\lib/Search/Dict.pm type=file +e:\tlperl\lib/SelectSaver.pm type=file +e:\tlperl\lib/SelfLoader.pm type=file +e:\tlperl\lib/Socket.pm type=file +e:\tlperl\lib/Storable.pm type=file +e:\tlperl\lib/Sub/Util.pm type=file +e:\tlperl\lib/Symbol.pm type=file +e:\tlperl\lib/Sys/Hostname.pm type=file +e:\tlperl\lib/TAP/Base.pm type=file +e:\tlperl\lib/TAP/Formatter/Base.pm type=file +e:\tlperl\lib/TAP/Formatter/Color.pm type=file +e:\tlperl\lib/TAP/Formatter/Console.pm type=file +e:\tlperl\lib/TAP/Formatter/Console/ParallelSession.pm type=file +e:\tlperl\lib/TAP/Formatter/Console/Session.pm type=file +e:\tlperl\lib/TAP/Formatter/File.pm type=file +e:\tlperl\lib/TAP/Formatter/File/Session.pm type=file +e:\tlperl\lib/TAP/Formatter/Session.pm type=file +e:\tlperl\lib/TAP/Harness.pm type=file +e:\tlperl\lib/TAP/Harness/Beyond.pod type=file +e:\tlperl\lib/TAP/Harness/Env.pm type=file +e:\tlperl\lib/TAP/Object.pm type=file +e:\tlperl\lib/TAP/Parser.pm type=file +e:\tlperl\lib/TAP/Parser/Aggregator.pm type=file +e:\tlperl\lib/TAP/Parser/Grammar.pm type=file +e:\tlperl\lib/TAP/Parser/Iterator.pm type=file +e:\tlperl\lib/TAP/Parser/Iterator/Array.pm type=file +e:\tlperl\lib/TAP/Parser/Iterator/Process.pm type=file +e:\tlperl\lib/TAP/Parser/Iterator/Stream.pm type=file +e:\tlperl\lib/TAP/Parser/IteratorFactory.pm type=file +e:\tlperl\lib/TAP/Parser/Multiplexer.pm type=file +e:\tlperl\lib/TAP/Parser/Result.pm type=file +e:\tlperl\lib/TAP/Parser/Result/Bailout.pm type=file +e:\tlperl\lib/TAP/Parser/Result/Comment.pm type=file +e:\tlperl\lib/TAP/Parser/Result/Plan.pm type=file +e:\tlperl\lib/TAP/Parser/Result/Pragma.pm type=file +e:\tlperl\lib/TAP/Parser/Result/Test.pm type=file +e:\tlperl\lib/TAP/Parser/Result/Unknown.pm type=file +e:\tlperl\lib/TAP/Parser/Result/Version.pm type=file +e:\tlperl\lib/TAP/Parser/Result/YAML.pm type=file +e:\tlperl\lib/TAP/Parser/ResultFactory.pm type=file +e:\tlperl\lib/TAP/Parser/Scheduler.pm type=file +e:\tlperl\lib/TAP/Parser/Scheduler/Job.pm type=file +e:\tlperl\lib/TAP/Parser/Scheduler/Spinner.pm type=file +e:\tlperl\lib/TAP/Parser/Source.pm type=file +e:\tlperl\lib/TAP/Parser/SourceHandler.pm type=file +e:\tlperl\lib/TAP/Parser/SourceHandler/Executable.pm type=file +e:\tlperl\lib/TAP/Parser/SourceHandler/File.pm type=file +e:\tlperl\lib/TAP/Parser/SourceHandler/Handle.pm type=file +e:\tlperl\lib/TAP/Parser/SourceHandler/Perl.pm type=file +e:\tlperl\lib/TAP/Parser/SourceHandler/RawTAP.pm type=file +e:\tlperl\lib/TAP/Parser/YAMLish/Reader.pm type=file +e:\tlperl\lib/TAP/Parser/YAMLish/Writer.pm type=file +e:\tlperl\lib/Term/ANSIColor.pm type=file +e:\tlperl\lib/Term/Cap.pm type=file +e:\tlperl\lib/Term/Complete.pm type=file +e:\tlperl\lib/Term/ReadLine.pm type=file +e:\tlperl\lib/Test.pm type=file +e:\tlperl\lib/Test/Builder.pm type=file +e:\tlperl\lib/Test/Builder/Formatter.pm type=file +e:\tlperl\lib/Test/Builder/IO/Scalar.pm type=file +e:\tlperl\lib/Test/Builder/Module.pm type=file +e:\tlperl\lib/Test/Builder/Tester.pm type=file +e:\tlperl\lib/Test/Builder/Tester/Color.pm type=file +e:\tlperl\lib/Test/Builder/TodoDiag.pm type=file +e:\tlperl\lib/Test/Harness.pm type=file +e:\tlperl\lib/Test/More.pm type=file +e:\tlperl\lib/Test/Simple.pm type=file +e:\tlperl\lib/Test/Tester.pm type=file +e:\tlperl\lib/Test/Tester/Capture.pm type=file +e:\tlperl\lib/Test/Tester/CaptureRunner.pm type=file +e:\tlperl\lib/Test/Tester/Delegate.pm type=file +e:\tlperl\lib/Test/Tutorial.pod type=file +e:\tlperl\lib/Test/use/ok.pm type=file +e:\tlperl\lib/Test2.pm type=file +e:\tlperl\lib/Test2/API.pm type=file +e:\tlperl\lib/Test2/API/Breakage.pm type=file +e:\tlperl\lib/Test2/API/Context.pm type=file +e:\tlperl\lib/Test2/API/Instance.pm type=file +e:\tlperl\lib/Test2/API/Stack.pm type=file +e:\tlperl\lib/Test2/Event.pm type=file +e:\tlperl\lib/Test2/Event/Bail.pm type=file +e:\tlperl\lib/Test2/Event/Diag.pm type=file +e:\tlperl\lib/Test2/Event/Encoding.pm type=file +e:\tlperl\lib/Test2/Event/Exception.pm type=file +e:\tlperl\lib/Test2/Event/Fail.pm type=file +e:\tlperl\lib/Test2/Event/Generic.pm type=file +e:\tlperl\lib/Test2/Event/Note.pm type=file +e:\tlperl\lib/Test2/Event/Ok.pm type=file +e:\tlperl\lib/Test2/Event/Pass.pm type=file +e:\tlperl\lib/Test2/Event/Plan.pm type=file +e:\tlperl\lib/Test2/Event/Skip.pm type=file +e:\tlperl\lib/Test2/Event/Subtest.pm type=file +e:\tlperl\lib/Test2/Event/TAP/Version.pm type=file +e:\tlperl\lib/Test2/Event/V2.pm type=file +e:\tlperl\lib/Test2/Event/Waiting.pm type=file +e:\tlperl\lib/Test2/EventFacet.pm type=file +e:\tlperl\lib/Test2/EventFacet/About.pm type=file +e:\tlperl\lib/Test2/EventFacet/Amnesty.pm type=file +e:\tlperl\lib/Test2/EventFacet/Assert.pm type=file +e:\tlperl\lib/Test2/EventFacet/Control.pm type=file +e:\tlperl\lib/Test2/EventFacet/Error.pm type=file +e:\tlperl\lib/Test2/EventFacet/Hub.pm type=file +e:\tlperl\lib/Test2/EventFacet/Info.pm type=file +e:\tlperl\lib/Test2/EventFacet/Info/Table.pm type=file +e:\tlperl\lib/Test2/EventFacet/Meta.pm type=file +e:\tlperl\lib/Test2/EventFacet/Parent.pm type=file +e:\tlperl\lib/Test2/EventFacet/Plan.pm type=file +e:\tlperl\lib/Test2/EventFacet/Render.pm type=file +e:\tlperl\lib/Test2/EventFacet/Trace.pm type=file +e:\tlperl\lib/Test2/Formatter.pm type=file +e:\tlperl\lib/Test2/Formatter/TAP.pm type=file +e:\tlperl\lib/Test2/Hub.pm type=file +e:\tlperl\lib/Test2/Hub/Interceptor.pm type=file +e:\tlperl\lib/Test2/Hub/Interceptor/Terminator.pm type=file +e:\tlperl\lib/Test2/Hub/Subtest.pm type=file +e:\tlperl\lib/Test2/IPC.pm type=file +e:\tlperl\lib/Test2/IPC/Driver.pm type=file +e:\tlperl\lib/Test2/IPC/Driver/Files.pm type=file +e:\tlperl\lib/Test2/Tools/Tiny.pm type=file +e:\tlperl\lib/Test2/Transition.pod type=file +e:\tlperl\lib/Test2/Util.pm type=file +e:\tlperl\lib/Test2/Util/ExternalMeta.pm type=file +e:\tlperl\lib/Test2/Util/Facets2Legacy.pm type=file +e:\tlperl\lib/Test2/Util/HashBase.pm type=file +e:\tlperl\lib/Test2/Util/Trace.pm type=file +e:\tlperl\lib/Text/Abbrev.pm type=file +e:\tlperl\lib/Text/Balanced.pm type=file +e:\tlperl\lib/Text/ParseWords.pm type=file +e:\tlperl\lib/Text/Tabs.pm type=file +e:\tlperl\lib/Text/Wrap.pm type=file +e:\tlperl\lib/Thread.pm type=file +e:\tlperl\lib/Thread/Queue.pm type=file +e:\tlperl\lib/Thread/Semaphore.pm type=file +e:\tlperl\lib/Tie/Array.pm type=file +e:\tlperl\lib/Tie/File.pm type=file +e:\tlperl\lib/Tie/Handle.pm type=file +e:\tlperl\lib/Tie/Hash.pm type=file +e:\tlperl\lib/Tie/Hash/NamedCapture.pm type=file +e:\tlperl\lib/Tie/Memoize.pm type=file +e:\tlperl\lib/Tie/RefHash.pm type=file +e:\tlperl\lib/Tie/Scalar.pm type=file +e:\tlperl\lib/Tie/StdHandle.pm type=file +e:\tlperl\lib/Tie/SubstrHash.pm type=file +e:\tlperl\lib/Time/HiRes.pm type=file +e:\tlperl\lib/Time/Local.pm type=file +e:\tlperl\lib/Time/Piece.pm type=file +e:\tlperl\lib/Time/Seconds.pm type=file +e:\tlperl\lib/Time/gmtime.pm type=file +e:\tlperl\lib/Time/localtime.pm type=file +e:\tlperl\lib/Time/tm.pm type=file +e:\tlperl\lib/UNIVERSAL.pm type=file +e:\tlperl\lib/Unicode/Collate.pm type=file +e:\tlperl\lib/Unicode/Collate/CJK/Big5.pm type=file +e:\tlperl\lib/Unicode/Collate/CJK/GB2312.pm type=file +e:\tlperl\lib/Unicode/Collate/CJK/JISX0208.pm type=file +e:\tlperl\lib/Unicode/Collate/CJK/Korean.pm type=file +e:\tlperl\lib/Unicode/Collate/CJK/Pinyin.pm type=file +e:\tlperl\lib/Unicode/Collate/CJK/Stroke.pm type=file +e:\tlperl\lib/Unicode/Collate/CJK/Zhuyin.pm type=file +e:\tlperl\lib/Unicode/Collate/Locale.pm type=file +e:\tlperl\lib/Unicode/Collate/Locale/af.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/ar.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/as.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/az.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/be.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/bn.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/ca.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/cs.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/cu.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/cy.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/da.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/de_at_ph.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/de_phone.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/dsb.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/ee.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/eo.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/es.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/es_trad.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/et.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/fa.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/fi.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/fi_phone.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/fil.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/fo.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/fr_ca.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/gu.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/ha.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/haw.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/he.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/hi.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/hr.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/hu.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/hy.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/ig.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/is.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/ja.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/kk.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/kl.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/kn.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/ko.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/kok.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/lkt.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/ln.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/lt.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/lv.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/mk.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/ml.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/mr.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/mt.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/nb.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/nn.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/nso.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/om.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/or.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/pa.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/pl.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/ro.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/sa.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/se.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/si.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/si_dict.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/sk.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/sl.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/sq.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/sr.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/sv.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/sv_refo.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/ta.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/te.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/th.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/tn.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/to.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/tr.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/ug_cyrl.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/uk.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/ur.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/vi.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/vo.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/wae.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/wo.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/yo.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/zh.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/zh_big5.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/zh_gb.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/zh_pin.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/zh_strk.pl type=file +e:\tlperl\lib/Unicode/Collate/Locale/zh_zhu.pl type=file +e:\tlperl\lib/Unicode/Collate/allkeys.txt type=file +e:\tlperl\lib/Unicode/Collate/keys.txt type=file +e:\tlperl\lib/Unicode/Normalize.pm type=file +e:\tlperl\lib/Unicode/UCD.pm type=file +e:\tlperl\lib/User/grent.pm type=file +e:\tlperl\lib/User/pwent.pm type=file +e:\tlperl\lib/Win32.pm type=file +e:\tlperl\lib/Win32API/File.pm type=file +e:\tlperl\lib/Win32API/File/cFile.pc type=file +e:\tlperl\lib/Win32CORE.pm type=file +e:\tlperl\lib/XSLoader.pm type=file +e:\tlperl\lib/_charnames.pm type=file +e:\tlperl\lib/attributes.pm type=file +e:\tlperl\lib/auto/B/B.dll type=file +e:\tlperl\lib/auto/Compress/Raw/Bzip2/Bzip2.dll type=file +e:\tlperl\lib/auto/Compress/Raw/Zlib/Zlib.dll type=file +e:\tlperl\lib/auto/Cwd/Cwd.dll type=file +e:\tlperl\lib/auto/Data/Dumper/Dumper.dll type=file +e:\tlperl\lib/auto/Devel/Peek/Peek.dll type=file +e:\tlperl\lib/auto/Digest/MD5/MD5.dll type=file +e:\tlperl\lib/auto/Digest/SHA/SHA.dll type=file +e:\tlperl\lib/auto/Encode/Byte/Byte.dll type=file +e:\tlperl\lib/auto/Encode/CN/CN.dll type=file +e:\tlperl\lib/auto/Encode/EBCDIC/EBCDIC.dll type=file +e:\tlperl\lib/auto/Encode/Encode.dll type=file +e:\tlperl\lib/auto/Encode/JP/JP.dll type=file +e:\tlperl\lib/auto/Encode/KR/KR.dll type=file +e:\tlperl\lib/auto/Encode/Symbol/Symbol.dll type=file +e:\tlperl\lib/auto/Encode/TW/TW.dll type=file +e:\tlperl\lib/auto/Encode/Unicode/Unicode.dll type=file +e:\tlperl\lib/auto/Fcntl/Fcntl.dll type=file +e:\tlperl\lib/auto/File/DosGlob/DosGlob.dll type=file +e:\tlperl\lib/auto/File/Glob/Glob.dll type=file +e:\tlperl\lib/auto/Filter/Util/Call/Call.dll type=file +e:\tlperl\lib/auto/Hash/Util/FieldHash/FieldHash.dll type=file +e:\tlperl\lib/auto/Hash/Util/Util.dll type=file +e:\tlperl\lib/auto/I18N/Langinfo/Langinfo.dll type=file +e:\tlperl\lib/auto/IO/IO.dll type=file +e:\tlperl\lib/auto/List/Util/Util.dll type=file +e:\tlperl\lib/auto/MIME/Base64/Base64.dll type=file +e:\tlperl\lib/auto/Math/BigInt/FastCalc/FastCalc.dll type=file +e:\tlperl\lib/auto/Opcode/Opcode.dll type=file +e:\tlperl\lib/auto/POSIX/POSIX.dll type=file +e:\tlperl\lib/auto/PerlIO/encoding/encoding.dll type=file +e:\tlperl\lib/auto/PerlIO/mmap/mmap.dll type=file +e:\tlperl\lib/auto/PerlIO/scalar/scalar.dll type=file +e:\tlperl\lib/auto/PerlIO/via/via.dll type=file +e:\tlperl\lib/auto/SDBM_File/SDBM_File.dll type=file +e:\tlperl\lib/auto/Socket/Socket.dll type=file +e:\tlperl\lib/auto/Storable/Storable.dll type=file +e:\tlperl\lib/auto/Sys/Hostname/Hostname.dll type=file +e:\tlperl\lib/auto/Time/HiRes/HiRes.dll type=file +e:\tlperl\lib/auto/Time/Piece/Piece.dll type=file +e:\tlperl\lib/auto/Unicode/Collate/Collate.dll type=file +e:\tlperl\lib/auto/Unicode/Normalize/Normalize.dll type=file +e:\tlperl\lib/auto/Win32/Win32.dll type=file +e:\tlperl\lib/auto/Win32API/File/File.dll type=file +e:\tlperl\lib/auto/Win32CORE/extralibs.ld type=file +e:\tlperl\lib/auto/attributes/attributes.dll type=file +e:\tlperl\lib/auto/mro/mro.dll type=file +e:\tlperl\lib/auto/re/re.dll type=file +e:\tlperl\lib/auto/threads/shared/shared.dll type=file +e:\tlperl\lib/auto/threads/threads.dll type=file +e:\tlperl\lib/autodie.pm type=file +e:\tlperl\lib/autodie/Scope/Guard.pm type=file +e:\tlperl\lib/autodie/Scope/GuardStack.pm type=file +e:\tlperl\lib/autodie/Util.pm type=file +e:\tlperl\lib/autodie/exception.pm type=file +e:\tlperl\lib/autodie/exception/system.pm type=file +e:\tlperl\lib/autodie/hints.pm type=file +e:\tlperl\lib/autodie/skip.pm type=file +e:\tlperl\lib/autouse.pm type=file +e:\tlperl\lib/base.pm type=file +e:\tlperl\lib/bigint.pm type=file +e:\tlperl\lib/bignum.pm type=file +e:\tlperl\lib/bigrat.pm type=file +e:\tlperl\lib/blib.pm type=file +e:\tlperl\lib/bytes.pm type=file +e:\tlperl\lib/bytes_heavy.pl type=file +e:\tlperl\lib/charnames.pm type=file +e:\tlperl\lib/constant.pm type=file +e:\tlperl\lib/deprecate.pm type=file +e:\tlperl\lib/diagnostics.pm type=file +e:\tlperl\lib/dumpvar.pl type=file +e:\tlperl\lib/encoding.pm type=file +e:\tlperl\lib/encoding/warnings.pm type=file +e:\tlperl\lib/experimental.pm type=file +e:\tlperl\lib/feature.pm type=file +e:\tlperl\lib/fields.pm type=file +e:\tlperl\lib/filetest.pm type=file +e:\tlperl\lib/if.pm type=file +e:\tlperl\lib/integer.pm type=file +e:\tlperl\lib/less.pm type=file +e:\tlperl\lib/lib.pm type=file +e:\tlperl\lib/locale.pm type=file +e:\tlperl\lib/meta_notation.pm type=file +e:\tlperl\lib/mro.pm type=file +e:\tlperl\lib/ok.pm type=file +e:\tlperl\lib/open.pm type=file +e:\tlperl\lib/ops.pm type=file +e:\tlperl\lib/overload.pm type=file +e:\tlperl\lib/overload/numbers.pm type=file +e:\tlperl\lib/overloading.pm type=file +e:\tlperl\lib/parent.pm type=file +e:\tlperl\lib/perl5db.pl type=file +e:\tlperl\lib/perlfaq.pm type=file +e:\tlperl\lib/pods/perl.pod type=file +e:\tlperl\lib/pods/perl5004delta.pod type=file +e:\tlperl\lib/pods/perl5005delta.pod type=file +e:\tlperl\lib/pods/perl5100delta.pod type=file +e:\tlperl\lib/pods/perl5101delta.pod type=file +e:\tlperl\lib/pods/perl5120delta.pod type=file +e:\tlperl\lib/pods/perl5121delta.pod type=file +e:\tlperl\lib/pods/perl5122delta.pod type=file +e:\tlperl\lib/pods/perl5123delta.pod type=file +e:\tlperl\lib/pods/perl5124delta.pod type=file +e:\tlperl\lib/pods/perl5125delta.pod type=file +e:\tlperl\lib/pods/perl5140delta.pod type=file +e:\tlperl\lib/pods/perl5141delta.pod type=file +e:\tlperl\lib/pods/perl5142delta.pod type=file +e:\tlperl\lib/pods/perl5143delta.pod type=file +e:\tlperl\lib/pods/perl5144delta.pod type=file +e:\tlperl\lib/pods/perl5160delta.pod type=file +e:\tlperl\lib/pods/perl5161delta.pod type=file +e:\tlperl\lib/pods/perl5162delta.pod type=file +e:\tlperl\lib/pods/perl5163delta.pod type=file +e:\tlperl\lib/pods/perl5180delta.pod type=file +e:\tlperl\lib/pods/perl5181delta.pod type=file +e:\tlperl\lib/pods/perl5182delta.pod type=file +e:\tlperl\lib/pods/perl5184delta.pod type=file +e:\tlperl\lib/pods/perl5200delta.pod type=file +e:\tlperl\lib/pods/perl5201delta.pod type=file +e:\tlperl\lib/pods/perl5202delta.pod type=file +e:\tlperl\lib/pods/perl5203delta.pod type=file +e:\tlperl\lib/pods/perl5220delta.pod type=file +e:\tlperl\lib/pods/perl5221delta.pod type=file +e:\tlperl\lib/pods/perl5222delta.pod type=file +e:\tlperl\lib/pods/perl5223delta.pod type=file +e:\tlperl\lib/pods/perl5224delta.pod type=file +e:\tlperl\lib/pods/perl5240delta.pod type=file +e:\tlperl\lib/pods/perl5241delta.pod type=file +e:\tlperl\lib/pods/perl5242delta.pod type=file +e:\tlperl\lib/pods/perl5243delta.pod type=file +e:\tlperl\lib/pods/perl5244delta.pod type=file +e:\tlperl\lib/pods/perl5260delta.pod type=file +e:\tlperl\lib/pods/perl5261delta.pod type=file +e:\tlperl\lib/pods/perl5262delta.pod type=file +e:\tlperl\lib/pods/perl5263delta.pod type=file +e:\tlperl\lib/pods/perl5280delta.pod type=file +e:\tlperl\lib/pods/perl5281delta.pod type=file +e:\tlperl\lib/pods/perl5282delta.pod type=file +e:\tlperl\lib/pods/perl5283delta.pod type=file +e:\tlperl\lib/pods/perl5300delta.pod type=file +e:\tlperl\lib/pods/perl5301delta.pod type=file +e:\tlperl\lib/pods/perl5302delta.pod type=file +e:\tlperl\lib/pods/perl5303delta.pod type=file +e:\tlperl\lib/pods/perl5320delta.pod type=file +e:\tlperl\lib/pods/perl5321delta.pod type=file +e:\tlperl\lib/pods/perl561delta.pod type=file +e:\tlperl\lib/pods/perl56delta.pod type=file +e:\tlperl\lib/pods/perl581delta.pod type=file +e:\tlperl\lib/pods/perl582delta.pod type=file +e:\tlperl\lib/pods/perl583delta.pod type=file +e:\tlperl\lib/pods/perl584delta.pod type=file +e:\tlperl\lib/pods/perl585delta.pod type=file +e:\tlperl\lib/pods/perl586delta.pod type=file +e:\tlperl\lib/pods/perl587delta.pod type=file +e:\tlperl\lib/pods/perl588delta.pod type=file +e:\tlperl\lib/pods/perl589delta.pod type=file +e:\tlperl\lib/pods/perl58delta.pod type=file +e:\tlperl\lib/pods/perlaix.pod type=file +e:\tlperl\lib/pods/perlamiga.pod type=file +e:\tlperl\lib/pods/perlandroid.pod type=file +e:\tlperl\lib/pods/perlapi.pod type=file +e:\tlperl\lib/pods/perlapio.pod type=file +e:\tlperl\lib/pods/perlartistic.pod type=file +e:\tlperl\lib/pods/perlbook.pod type=file +e:\tlperl\lib/pods/perlboot.pod type=file +e:\tlperl\lib/pods/perlbot.pod type=file +e:\tlperl\lib/pods/perlbs2000.pod type=file +e:\tlperl\lib/pods/perlcall.pod type=file +e:\tlperl\lib/pods/perlcheat.pod type=file +e:\tlperl\lib/pods/perlclib.pod type=file +e:\tlperl\lib/pods/perlcn.pod type=file +e:\tlperl\lib/pods/perlcommunity.pod type=file +e:\tlperl\lib/pods/perlcygwin.pod type=file +e:\tlperl\lib/pods/perldata.pod type=file +e:\tlperl\lib/pods/perldbmfilter.pod type=file +e:\tlperl\lib/pods/perldebguts.pod type=file +e:\tlperl\lib/pods/perldebtut.pod type=file +e:\tlperl\lib/pods/perldebug.pod type=file +e:\tlperl\lib/pods/perldelta.pod type=file +e:\tlperl\lib/pods/perldeprecation.pod type=file +e:\tlperl\lib/pods/perldiag.pod type=file +e:\tlperl\lib/pods/perldoc.pod type=file +e:\tlperl\lib/pods/perldos.pod type=file +e:\tlperl\lib/pods/perldsc.pod type=file +e:\tlperl\lib/pods/perldtrace.pod type=file +e:\tlperl\lib/pods/perlebcdic.pod type=file +e:\tlperl\lib/pods/perlembed.pod type=file +e:\tlperl\lib/pods/perlexperiment.pod type=file +e:\tlperl\lib/pods/perlfaq.pod type=file +e:\tlperl\lib/pods/perlfaq1.pod type=file +e:\tlperl\lib/pods/perlfaq2.pod type=file +e:\tlperl\lib/pods/perlfaq3.pod type=file +e:\tlperl\lib/pods/perlfaq4.pod type=file +e:\tlperl\lib/pods/perlfaq5.pod type=file +e:\tlperl\lib/pods/perlfaq6.pod type=file +e:\tlperl\lib/pods/perlfaq7.pod type=file +e:\tlperl\lib/pods/perlfaq8.pod type=file +e:\tlperl\lib/pods/perlfaq9.pod type=file +e:\tlperl\lib/pods/perlfilter.pod type=file +e:\tlperl\lib/pods/perlfork.pod type=file +e:\tlperl\lib/pods/perlform.pod type=file +e:\tlperl\lib/pods/perlfreebsd.pod type=file +e:\tlperl\lib/pods/perlfunc.pod type=file +e:\tlperl\lib/pods/perlgit.pod type=file +e:\tlperl\lib/pods/perlglossary.pod type=file +e:\tlperl\lib/pods/perlgov.pod type=file +e:\tlperl\lib/pods/perlgpl.pod type=file +e:\tlperl\lib/pods/perlguts.pod type=file +e:\tlperl\lib/pods/perlhack.pod type=file +e:\tlperl\lib/pods/perlhacktips.pod type=file +e:\tlperl\lib/pods/perlhacktut.pod type=file +e:\tlperl\lib/pods/perlhaiku.pod type=file +e:\tlperl\lib/pods/perlhist.pod type=file +e:\tlperl\lib/pods/perlhpux.pod type=file +e:\tlperl\lib/pods/perlhurd.pod type=file +e:\tlperl\lib/pods/perlintern.pod type=file +e:\tlperl\lib/pods/perlinterp.pod type=file +e:\tlperl\lib/pods/perlintro.pod type=file +e:\tlperl\lib/pods/perliol.pod type=file +e:\tlperl\lib/pods/perlipc.pod type=file +e:\tlperl\lib/pods/perlirix.pod type=file +e:\tlperl\lib/pods/perljp.pod type=file +e:\tlperl\lib/pods/perlko.pod type=file +e:\tlperl\lib/pods/perllexwarn.pod type=file +e:\tlperl\lib/pods/perllinux.pod type=file +e:\tlperl\lib/pods/perllocale.pod type=file +e:\tlperl\lib/pods/perllol.pod type=file +e:\tlperl\lib/pods/perlmacos.pod type=file +e:\tlperl\lib/pods/perlmacosx.pod type=file +e:\tlperl\lib/pods/perlmod.pod type=file +e:\tlperl\lib/pods/perlmodinstall.pod type=file +e:\tlperl\lib/pods/perlmodlib.pod type=file +e:\tlperl\lib/pods/perlmodstyle.pod type=file +e:\tlperl\lib/pods/perlmroapi.pod type=file +e:\tlperl\lib/pods/perlnetware.pod type=file +e:\tlperl\lib/pods/perlnewmod.pod type=file +e:\tlperl\lib/pods/perlnumber.pod type=file +e:\tlperl\lib/pods/perlobj.pod type=file +e:\tlperl\lib/pods/perlootut.pod type=file +e:\tlperl\lib/pods/perlop.pod type=file +e:\tlperl\lib/pods/perlopenbsd.pod type=file +e:\tlperl\lib/pods/perlopentut.pod type=file +e:\tlperl\lib/pods/perlos2.pod type=file +e:\tlperl\lib/pods/perlos390.pod type=file +e:\tlperl\lib/pods/perlos400.pod type=file +e:\tlperl\lib/pods/perlpacktut.pod type=file +e:\tlperl\lib/pods/perlperf.pod type=file +e:\tlperl\lib/pods/perlplan9.pod type=file +e:\tlperl\lib/pods/perlpod.pod type=file +e:\tlperl\lib/pods/perlpodspec.pod type=file +e:\tlperl\lib/pods/perlpodstyle.pod type=file +e:\tlperl\lib/pods/perlpolicy.pod type=file +e:\tlperl\lib/pods/perlport.pod type=file +e:\tlperl\lib/pods/perlpragma.pod type=file +e:\tlperl\lib/pods/perlqnx.pod type=file +e:\tlperl\lib/pods/perlre.pod type=file +e:\tlperl\lib/pods/perlreapi.pod type=file +e:\tlperl\lib/pods/perlrebackslash.pod type=file +e:\tlperl\lib/pods/perlrecharclass.pod type=file +e:\tlperl\lib/pods/perlref.pod type=file +e:\tlperl\lib/pods/perlreftut.pod type=file +e:\tlperl\lib/pods/perlreguts.pod type=file +e:\tlperl\lib/pods/perlrepository.pod type=file +e:\tlperl\lib/pods/perlrequick.pod type=file +e:\tlperl\lib/pods/perlreref.pod type=file +e:\tlperl\lib/pods/perlretut.pod type=file +e:\tlperl\lib/pods/perlriscos.pod type=file +e:\tlperl\lib/pods/perlrun.pod type=file +e:\tlperl\lib/pods/perlsec.pod type=file +e:\tlperl\lib/pods/perlsecpolicy.pod type=file +e:\tlperl\lib/pods/perlsolaris.pod type=file +e:\tlperl\lib/pods/perlsource.pod type=file +e:\tlperl\lib/pods/perlstyle.pod type=file +e:\tlperl\lib/pods/perlsub.pod type=file +e:\tlperl\lib/pods/perlsymbian.pod type=file +e:\tlperl\lib/pods/perlsyn.pod type=file +e:\tlperl\lib/pods/perlsynology.pod type=file +e:\tlperl\lib/pods/perlthrtut.pod type=file +e:\tlperl\lib/pods/perltie.pod type=file +e:\tlperl\lib/pods/perltoc.pod type=file +e:\tlperl\lib/pods/perltodo.pod type=file +e:\tlperl\lib/pods/perltooc.pod type=file +e:\tlperl\lib/pods/perltoot.pod type=file +e:\tlperl\lib/pods/perltrap.pod type=file +e:\tlperl\lib/pods/perltru64.pod type=file +e:\tlperl\lib/pods/perltw.pod type=file +e:\tlperl\lib/pods/perlunicode.pod type=file +e:\tlperl\lib/pods/perlunicook.pod type=file +e:\tlperl\lib/pods/perlunifaq.pod type=file +e:\tlperl\lib/pods/perluniintro.pod type=file +e:\tlperl\lib/pods/perluniprops.pod type=file +e:\tlperl\lib/pods/perlunitut.pod type=file +e:\tlperl\lib/pods/perlutil.pod type=file +e:\tlperl\lib/pods/perlvar.pod type=file +e:\tlperl\lib/pods/perlvms.pod type=file +e:\tlperl\lib/pods/perlvos.pod type=file +e:\tlperl\lib/pods/perlwin32.pod type=file +e:\tlperl\lib/pods/perlxs.pod type=file +e:\tlperl\lib/pods/perlxstut.pod type=file +e:\tlperl\lib/pods/perlxstypemap.pod type=file +e:\tlperl\lib/re.pm type=file +e:\tlperl\lib/sigtrap.pm type=file +e:\tlperl\lib/sort.pm type=file +e:\tlperl\lib/strict.pm type=file +e:\tlperl\lib/subs.pm type=file +e:\tlperl\lib/threads.pm type=file +e:\tlperl\lib/threads/shared.pm type=file +e:\tlperl\lib/unicore/Blocks.txt type=file +e:\tlperl\lib/unicore/CombiningClass.pl type=file +e:\tlperl\lib/unicore/Decomposition.pl type=file +e:\tlperl\lib/unicore/Name.pl type=file +e:\tlperl\lib/unicore/Name.pm type=file +e:\tlperl\lib/unicore/NamedSequences.txt type=file +e:\tlperl\lib/unicore/SpecialCasing.txt type=file +e:\tlperl\lib/unicore/To/Age.pl type=file +e:\tlperl\lib/unicore/To/Bc.pl type=file +e:\tlperl\lib/unicore/To/Bmg.pl type=file +e:\tlperl\lib/unicore/To/Bpb.pl type=file +e:\tlperl\lib/unicore/To/Bpt.pl type=file +e:\tlperl\lib/unicore/To/Cf.pl type=file +e:\tlperl\lib/unicore/To/Digit.pl type=file +e:\tlperl\lib/unicore/To/Ea.pl type=file +e:\tlperl\lib/unicore/To/EqUIdeo.pl type=file +e:\tlperl\lib/unicore/To/Fold.pl type=file +e:\tlperl\lib/unicore/To/GCB.pl type=file +e:\tlperl\lib/unicore/To/Gc.pl type=file +e:\tlperl\lib/unicore/To/Hst.pl type=file +e:\tlperl\lib/unicore/To/Identif2.pl type=file +e:\tlperl\lib/unicore/To/Identifi.pl type=file +e:\tlperl\lib/unicore/To/InPC.pl type=file +e:\tlperl\lib/unicore/To/InSC.pl type=file +e:\tlperl\lib/unicore/To/Isc.pl type=file +e:\tlperl\lib/unicore/To/Jg.pl type=file +e:\tlperl\lib/unicore/To/Jt.pl type=file +e:\tlperl\lib/unicore/To/Lb.pl type=file +e:\tlperl\lib/unicore/To/Lc.pl type=file +e:\tlperl\lib/unicore/To/Lower.pl type=file +e:\tlperl\lib/unicore/To/NFCQC.pl type=file +e:\tlperl\lib/unicore/To/NFDQC.pl type=file +e:\tlperl\lib/unicore/To/NFKCCF.pl type=file +e:\tlperl\lib/unicore/To/NFKCQC.pl type=file +e:\tlperl\lib/unicore/To/NFKDQC.pl type=file +e:\tlperl\lib/unicore/To/Na1.pl type=file +e:\tlperl\lib/unicore/To/NameAlia.pl type=file +e:\tlperl\lib/unicore/To/Nt.pl type=file +e:\tlperl\lib/unicore/To/Nv.pl type=file +e:\tlperl\lib/unicore/To/PerlDeci.pl type=file +e:\tlperl\lib/unicore/To/SB.pl type=file +e:\tlperl\lib/unicore/To/Sc.pl type=file +e:\tlperl\lib/unicore/To/Scx.pl type=file +e:\tlperl\lib/unicore/To/Tc.pl type=file +e:\tlperl\lib/unicore/To/Title.pl type=file +e:\tlperl\lib/unicore/To/Uc.pl type=file +e:\tlperl\lib/unicore/To/Upper.pl type=file +e:\tlperl\lib/unicore/To/Vo.pl type=file +e:\tlperl\lib/unicore/To/WB.pl type=file +e:\tlperl\lib/unicore/To/_PerlLB.pl type=file +e:\tlperl\lib/unicore/To/_PerlSCX.pl type=file +e:\tlperl\lib/unicore/UCD.pl type=file +e:\tlperl\lib/unicore/lib/Age/NA.pl type=file +e:\tlperl\lib/unicore/lib/Age/V100.pl type=file +e:\tlperl\lib/unicore/lib/Age/V11.pl type=file +e:\tlperl\lib/unicore/lib/Age/V110.pl type=file +e:\tlperl\lib/unicore/lib/Age/V120.pl type=file +e:\tlperl\lib/unicore/lib/Age/V130.pl type=file +e:\tlperl\lib/unicore/lib/Age/V20.pl type=file +e:\tlperl\lib/unicore/lib/Age/V30.pl type=file +e:\tlperl\lib/unicore/lib/Age/V31.pl type=file +e:\tlperl\lib/unicore/lib/Age/V32.pl type=file +e:\tlperl\lib/unicore/lib/Age/V40.pl type=file +e:\tlperl\lib/unicore/lib/Age/V41.pl type=file +e:\tlperl\lib/unicore/lib/Age/V50.pl type=file +e:\tlperl\lib/unicore/lib/Age/V51.pl type=file +e:\tlperl\lib/unicore/lib/Age/V52.pl type=file +e:\tlperl\lib/unicore/lib/Age/V60.pl type=file +e:\tlperl\lib/unicore/lib/Age/V61.pl type=file +e:\tlperl\lib/unicore/lib/Age/V70.pl type=file +e:\tlperl\lib/unicore/lib/Age/V80.pl type=file +e:\tlperl\lib/unicore/lib/Age/V90.pl type=file +e:\tlperl\lib/unicore/lib/Alpha/Y.pl type=file +e:\tlperl\lib/unicore/lib/Bc/AL.pl type=file +e:\tlperl\lib/unicore/lib/Bc/AN.pl type=file +e:\tlperl\lib/unicore/lib/Bc/B.pl type=file +e:\tlperl\lib/unicore/lib/Bc/BN.pl type=file +e:\tlperl\lib/unicore/lib/Bc/CS.pl type=file +e:\tlperl\lib/unicore/lib/Bc/EN.pl type=file +e:\tlperl\lib/unicore/lib/Bc/ES.pl type=file +e:\tlperl\lib/unicore/lib/Bc/ET.pl type=file +e:\tlperl\lib/unicore/lib/Bc/L.pl type=file +e:\tlperl\lib/unicore/lib/Bc/NSM.pl type=file +e:\tlperl\lib/unicore/lib/Bc/ON.pl type=file +e:\tlperl\lib/unicore/lib/Bc/R.pl type=file +e:\tlperl\lib/unicore/lib/Bc/WS.pl type=file +e:\tlperl\lib/unicore/lib/BidiC/Y.pl type=file +e:\tlperl\lib/unicore/lib/BidiM/Y.pl type=file +e:\tlperl\lib/unicore/lib/Blk/NB.pl type=file +e:\tlperl\lib/unicore/lib/Bpt/C.pl type=file +e:\tlperl\lib/unicore/lib/Bpt/N.pl type=file +e:\tlperl\lib/unicore/lib/Bpt/O.pl type=file +e:\tlperl\lib/unicore/lib/CE/Y.pl type=file +e:\tlperl\lib/unicore/lib/CI/Y.pl type=file +e:\tlperl\lib/unicore/lib/CWCF/Y.pl type=file +e:\tlperl\lib/unicore/lib/CWCM/Y.pl type=file +e:\tlperl\lib/unicore/lib/CWKCF/Y.pl type=file +e:\tlperl\lib/unicore/lib/CWL/Y.pl type=file +e:\tlperl\lib/unicore/lib/CWT/Y.pl type=file +e:\tlperl\lib/unicore/lib/CWU/Y.pl type=file +e:\tlperl\lib/unicore/lib/Cased/Y.pl type=file +e:\tlperl\lib/unicore/lib/Ccc/A.pl type=file +e:\tlperl\lib/unicore/lib/Ccc/AL.pl type=file +e:\tlperl\lib/unicore/lib/Ccc/AR.pl type=file +e:\tlperl\lib/unicore/lib/Ccc/ATAR.pl type=file +e:\tlperl\lib/unicore/lib/Ccc/B.pl type=file +e:\tlperl\lib/unicore/lib/Ccc/BR.pl type=file +e:\tlperl\lib/unicore/lib/Ccc/DB.pl type=file +e:\tlperl\lib/unicore/lib/Ccc/NK.pl type=file +e:\tlperl\lib/unicore/lib/Ccc/NR.pl type=file +e:\tlperl\lib/unicore/lib/Ccc/OV.pl type=file +e:\tlperl\lib/unicore/lib/Ccc/VR.pl type=file +e:\tlperl\lib/unicore/lib/CompEx/Y.pl type=file +e:\tlperl\lib/unicore/lib/DI/Y.pl type=file +e:\tlperl\lib/unicore/lib/Dash/Y.pl type=file +e:\tlperl\lib/unicore/lib/Dep/Y.pl type=file +e:\tlperl\lib/unicore/lib/Dia/Y.pl type=file +e:\tlperl\lib/unicore/lib/Dt/Com.pl type=file +e:\tlperl\lib/unicore/lib/Dt/Enc.pl type=file +e:\tlperl\lib/unicore/lib/Dt/Fin.pl type=file +e:\tlperl\lib/unicore/lib/Dt/Font.pl type=file +e:\tlperl\lib/unicore/lib/Dt/Init.pl type=file +e:\tlperl\lib/unicore/lib/Dt/Iso.pl type=file +e:\tlperl\lib/unicore/lib/Dt/Med.pl type=file +e:\tlperl\lib/unicore/lib/Dt/Nar.pl type=file +e:\tlperl\lib/unicore/lib/Dt/Nb.pl type=file +e:\tlperl\lib/unicore/lib/Dt/NonCanon.pl type=file +e:\tlperl\lib/unicore/lib/Dt/Sqr.pl type=file +e:\tlperl\lib/unicore/lib/Dt/Sub.pl type=file +e:\tlperl\lib/unicore/lib/Dt/Sup.pl type=file +e:\tlperl\lib/unicore/lib/Dt/Vert.pl type=file +e:\tlperl\lib/unicore/lib/EBase/Y.pl type=file +e:\tlperl\lib/unicore/lib/EComp/Y.pl type=file +e:\tlperl\lib/unicore/lib/EPres/Y.pl type=file +e:\tlperl\lib/unicore/lib/Ea/A.pl type=file +e:\tlperl\lib/unicore/lib/Ea/H.pl type=file +e:\tlperl\lib/unicore/lib/Ea/N.pl type=file +e:\tlperl\lib/unicore/lib/Ea/Na.pl type=file +e:\tlperl\lib/unicore/lib/Ea/W.pl type=file +e:\tlperl\lib/unicore/lib/Emoji/Y.pl type=file +e:\tlperl\lib/unicore/lib/Ext/Y.pl type=file +e:\tlperl\lib/unicore/lib/ExtPict/Y.pl type=file +e:\tlperl\lib/unicore/lib/GCB/CN.pl type=file +e:\tlperl\lib/unicore/lib/GCB/EX.pl type=file +e:\tlperl\lib/unicore/lib/GCB/LV.pl type=file +e:\tlperl\lib/unicore/lib/GCB/LVT.pl type=file +e:\tlperl\lib/unicore/lib/GCB/PP.pl type=file +e:\tlperl\lib/unicore/lib/GCB/SM.pl type=file +e:\tlperl\lib/unicore/lib/GCB/XX.pl type=file +e:\tlperl\lib/unicore/lib/Gc/C.pl type=file +e:\tlperl\lib/unicore/lib/Gc/Cf.pl type=file +e:\tlperl\lib/unicore/lib/Gc/Cn.pl type=file +e:\tlperl\lib/unicore/lib/Gc/L.pl type=file +e:\tlperl\lib/unicore/lib/Gc/LC.pl type=file +e:\tlperl\lib/unicore/lib/Gc/Ll.pl type=file +e:\tlperl\lib/unicore/lib/Gc/Lm.pl type=file +e:\tlperl\lib/unicore/lib/Gc/Lo.pl type=file +e:\tlperl\lib/unicore/lib/Gc/Lu.pl type=file +e:\tlperl\lib/unicore/lib/Gc/M.pl type=file +e:\tlperl\lib/unicore/lib/Gc/Mc.pl type=file +e:\tlperl\lib/unicore/lib/Gc/Me.pl type=file +e:\tlperl\lib/unicore/lib/Gc/Mn.pl type=file +e:\tlperl\lib/unicore/lib/Gc/N.pl type=file +e:\tlperl\lib/unicore/lib/Gc/Nd.pl type=file +e:\tlperl\lib/unicore/lib/Gc/Nl.pl type=file +e:\tlperl\lib/unicore/lib/Gc/No.pl type=file +e:\tlperl\lib/unicore/lib/Gc/P.pl type=file +e:\tlperl\lib/unicore/lib/Gc/Pc.pl type=file +e:\tlperl\lib/unicore/lib/Gc/Pd.pl type=file +e:\tlperl\lib/unicore/lib/Gc/Pe.pl type=file +e:\tlperl\lib/unicore/lib/Gc/Pf.pl type=file +e:\tlperl\lib/unicore/lib/Gc/Pi.pl type=file +e:\tlperl\lib/unicore/lib/Gc/Po.pl type=file +e:\tlperl\lib/unicore/lib/Gc/Ps.pl type=file +e:\tlperl\lib/unicore/lib/Gc/S.pl type=file +e:\tlperl\lib/unicore/lib/Gc/Sc.pl type=file +e:\tlperl\lib/unicore/lib/Gc/Sk.pl type=file +e:\tlperl\lib/unicore/lib/Gc/Sm.pl type=file +e:\tlperl\lib/unicore/lib/Gc/So.pl type=file +e:\tlperl\lib/unicore/lib/Gc/Z.pl type=file +e:\tlperl\lib/unicore/lib/Gc/Zs.pl type=file +e:\tlperl\lib/unicore/lib/GrBase/Y.pl type=file +e:\tlperl\lib/unicore/lib/GrExt/Y.pl type=file +e:\tlperl\lib/unicore/lib/Hex/Y.pl type=file +e:\tlperl\lib/unicore/lib/Hst/NA.pl type=file +e:\tlperl\lib/unicore/lib/Hyphen/T.pl type=file +e:\tlperl\lib/unicore/lib/IDC/Y.pl type=file +e:\tlperl\lib/unicore/lib/IDS/Y.pl type=file +e:\tlperl\lib/unicore/lib/IdStatus/Allowed.pl type=file +e:\tlperl\lib/unicore/lib/IdStatus/Restrict.pl type=file +e:\tlperl\lib/unicore/lib/IdType/DefaultI.pl type=file +e:\tlperl\lib/unicore/lib/IdType/Exclusio.pl type=file +e:\tlperl\lib/unicore/lib/IdType/Inclusio.pl type=file +e:\tlperl\lib/unicore/lib/IdType/LimitedU.pl type=file +e:\tlperl\lib/unicore/lib/IdType/NotChara.pl type=file +e:\tlperl\lib/unicore/lib/IdType/NotNFKC.pl type=file +e:\tlperl\lib/unicore/lib/IdType/NotXID.pl type=file +e:\tlperl\lib/unicore/lib/IdType/Obsolete.pl type=file +e:\tlperl\lib/unicore/lib/IdType/Recommen.pl type=file +e:\tlperl\lib/unicore/lib/IdType/Technica.pl type=file +e:\tlperl\lib/unicore/lib/IdType/Uncommon.pl type=file +e:\tlperl\lib/unicore/lib/Ideo/Y.pl type=file +e:\tlperl\lib/unicore/lib/In/10_0.pl type=file +e:\tlperl\lib/unicore/lib/In/11_0.pl type=file +e:\tlperl\lib/unicore/lib/In/12_0.pl type=file +e:\tlperl\lib/unicore/lib/In/12_1.pl type=file +e:\tlperl\lib/unicore/lib/In/13_0.pl type=file +e:\tlperl\lib/unicore/lib/In/2_0.pl type=file +e:\tlperl\lib/unicore/lib/In/2_1.pl type=file +e:\tlperl\lib/unicore/lib/In/3_0.pl type=file +e:\tlperl\lib/unicore/lib/In/3_1.pl type=file +e:\tlperl\lib/unicore/lib/In/3_2.pl type=file +e:\tlperl\lib/unicore/lib/In/4_0.pl type=file +e:\tlperl\lib/unicore/lib/In/4_1.pl type=file +e:\tlperl\lib/unicore/lib/In/5_0.pl type=file +e:\tlperl\lib/unicore/lib/In/5_1.pl type=file +e:\tlperl\lib/unicore/lib/In/5_2.pl type=file +e:\tlperl\lib/unicore/lib/In/6_0.pl type=file +e:\tlperl\lib/unicore/lib/In/6_1.pl type=file +e:\tlperl\lib/unicore/lib/In/6_2.pl type=file +e:\tlperl\lib/unicore/lib/In/6_3.pl type=file +e:\tlperl\lib/unicore/lib/In/7_0.pl type=file +e:\tlperl\lib/unicore/lib/In/8_0.pl type=file +e:\tlperl\lib/unicore/lib/In/9_0.pl type=file +e:\tlperl\lib/unicore/lib/InPC/Bottom.pl type=file +e:\tlperl\lib/unicore/lib/InPC/BottomAn.pl type=file +e:\tlperl\lib/unicore/lib/InPC/Left.pl type=file +e:\tlperl\lib/unicore/lib/InPC/LeftAndR.pl type=file +e:\tlperl\lib/unicore/lib/InPC/NA.pl type=file +e:\tlperl\lib/unicore/lib/InPC/Overstru.pl type=file +e:\tlperl\lib/unicore/lib/InPC/Right.pl type=file +e:\tlperl\lib/unicore/lib/InPC/Top.pl type=file +e:\tlperl\lib/unicore/lib/InPC/TopAndBo.pl type=file +e:\tlperl\lib/unicore/lib/InPC/TopAndL2.pl type=file +e:\tlperl\lib/unicore/lib/InPC/TopAndLe.pl type=file +e:\tlperl\lib/unicore/lib/InPC/TopAndRi.pl type=file +e:\tlperl\lib/unicore/lib/InPC/VisualOr.pl type=file +e:\tlperl\lib/unicore/lib/InSC/Avagraha.pl type=file +e:\tlperl\lib/unicore/lib/InSC/Bindu.pl type=file +e:\tlperl\lib/unicore/lib/InSC/Cantilla.pl type=file +e:\tlperl\lib/unicore/lib/InSC/Consona2.pl type=file +e:\tlperl\lib/unicore/lib/InSC/Consona3.pl type=file +e:\tlperl\lib/unicore/lib/InSC/Consona4.pl type=file +e:\tlperl\lib/unicore/lib/InSC/Consona5.pl type=file +e:\tlperl\lib/unicore/lib/InSC/Consona6.pl type=file +e:\tlperl\lib/unicore/lib/InSC/Consona7.pl type=file +e:\tlperl\lib/unicore/lib/InSC/Consona8.pl type=file +e:\tlperl\lib/unicore/lib/InSC/Consona9.pl type=file +e:\tlperl\lib/unicore/lib/InSC/Consonan.pl type=file +e:\tlperl\lib/unicore/lib/InSC/Invisibl.pl type=file +e:\tlperl\lib/unicore/lib/InSC/Nukta.pl type=file +e:\tlperl\lib/unicore/lib/InSC/Number.pl type=file +e:\tlperl\lib/unicore/lib/InSC/Other.pl type=file +e:\tlperl\lib/unicore/lib/InSC/PureKill.pl type=file +e:\tlperl\lib/unicore/lib/InSC/Syllable.pl type=file +e:\tlperl\lib/unicore/lib/InSC/ToneMark.pl type=file +e:\tlperl\lib/unicore/lib/InSC/Virama.pl type=file +e:\tlperl\lib/unicore/lib/InSC/Visarga.pl type=file +e:\tlperl\lib/unicore/lib/InSC/Vowel.pl type=file +e:\tlperl\lib/unicore/lib/InSC/VowelDep.pl type=file +e:\tlperl\lib/unicore/lib/InSC/VowelInd.pl type=file +e:\tlperl\lib/unicore/lib/Jg/Ain.pl type=file +e:\tlperl\lib/unicore/lib/Jg/Alef.pl type=file +e:\tlperl\lib/unicore/lib/Jg/Beh.pl type=file +e:\tlperl\lib/unicore/lib/Jg/Dal.pl type=file +e:\tlperl\lib/unicore/lib/Jg/FarsiYeh.pl type=file +e:\tlperl\lib/unicore/lib/Jg/Feh.pl type=file +e:\tlperl\lib/unicore/lib/Jg/Gaf.pl type=file +e:\tlperl\lib/unicore/lib/Jg/Hah.pl type=file +e:\tlperl\lib/unicore/lib/Jg/HanifiRo.pl type=file +e:\tlperl\lib/unicore/lib/Jg/Kaf.pl type=file +e:\tlperl\lib/unicore/lib/Jg/Lam.pl type=file +e:\tlperl\lib/unicore/lib/Jg/NoJoinin.pl type=file +e:\tlperl\lib/unicore/lib/Jg/Qaf.pl type=file +e:\tlperl\lib/unicore/lib/Jg/Reh.pl type=file +e:\tlperl\lib/unicore/lib/Jg/Sad.pl type=file +e:\tlperl\lib/unicore/lib/Jg/Seen.pl type=file +e:\tlperl\lib/unicore/lib/Jg/Waw.pl type=file +e:\tlperl\lib/unicore/lib/Jg/Yeh.pl type=file +e:\tlperl\lib/unicore/lib/Jt/C.pl type=file +e:\tlperl\lib/unicore/lib/Jt/D.pl type=file +e:\tlperl\lib/unicore/lib/Jt/L.pl type=file +e:\tlperl\lib/unicore/lib/Jt/R.pl type=file +e:\tlperl\lib/unicore/lib/Jt/T.pl type=file +e:\tlperl\lib/unicore/lib/Jt/U.pl type=file +e:\tlperl\lib/unicore/lib/Lb/AI.pl type=file +e:\tlperl\lib/unicore/lib/Lb/AL.pl type=file +e:\tlperl\lib/unicore/lib/Lb/BA.pl type=file +e:\tlperl\lib/unicore/lib/Lb/BB.pl type=file +e:\tlperl\lib/unicore/lib/Lb/CJ.pl type=file +e:\tlperl\lib/unicore/lib/Lb/CL.pl type=file +e:\tlperl\lib/unicore/lib/Lb/CM.pl type=file +e:\tlperl\lib/unicore/lib/Lb/EX.pl type=file +e:\tlperl\lib/unicore/lib/Lb/GL.pl type=file +e:\tlperl\lib/unicore/lib/Lb/ID.pl type=file +e:\tlperl\lib/unicore/lib/Lb/IN.pl type=file +e:\tlperl\lib/unicore/lib/Lb/IS.pl type=file +e:\tlperl\lib/unicore/lib/Lb/NS.pl type=file +e:\tlperl\lib/unicore/lib/Lb/NU.pl type=file +e:\tlperl\lib/unicore/lib/Lb/OP.pl type=file +e:\tlperl\lib/unicore/lib/Lb/PO.pl type=file +e:\tlperl\lib/unicore/lib/Lb/PR.pl type=file +e:\tlperl\lib/unicore/lib/Lb/QU.pl type=file +e:\tlperl\lib/unicore/lib/Lb/SA.pl type=file +e:\tlperl\lib/unicore/lib/Lb/XX.pl type=file +e:\tlperl\lib/unicore/lib/Lower/Y.pl type=file +e:\tlperl\lib/unicore/lib/Math/Y.pl type=file +e:\tlperl\lib/unicore/lib/NFCQC/M.pl type=file +e:\tlperl\lib/unicore/lib/NFCQC/Y.pl type=file +e:\tlperl\lib/unicore/lib/NFDQC/N.pl type=file +e:\tlperl\lib/unicore/lib/NFDQC/Y.pl type=file +e:\tlperl\lib/unicore/lib/NFKCQC/N.pl type=file +e:\tlperl\lib/unicore/lib/NFKCQC/Y.pl type=file +e:\tlperl\lib/unicore/lib/NFKDQC/N.pl type=file +e:\tlperl\lib/unicore/lib/NFKDQC/Y.pl type=file +e:\tlperl\lib/unicore/lib/Nt/Di.pl type=file +e:\tlperl\lib/unicore/lib/Nt/None.pl type=file +e:\tlperl\lib/unicore/lib/Nt/Nu.pl type=file +e:\tlperl\lib/unicore/lib/Nv/0.pl type=file +e:\tlperl\lib/unicore/lib/Nv/1.pl type=file +e:\tlperl\lib/unicore/lib/Nv/10.pl type=file +e:\tlperl\lib/unicore/lib/Nv/100.pl type=file +e:\tlperl\lib/unicore/lib/Nv/1000.pl type=file +e:\tlperl\lib/unicore/lib/Nv/10000.pl type=file +e:\tlperl\lib/unicore/lib/Nv/100000.pl type=file +e:\tlperl\lib/unicore/lib/Nv/11.pl type=file +e:\tlperl\lib/unicore/lib/Nv/12.pl type=file +e:\tlperl\lib/unicore/lib/Nv/13.pl type=file +e:\tlperl\lib/unicore/lib/Nv/14.pl type=file +e:\tlperl\lib/unicore/lib/Nv/15.pl type=file +e:\tlperl\lib/unicore/lib/Nv/16.pl type=file +e:\tlperl\lib/unicore/lib/Nv/17.pl type=file +e:\tlperl\lib/unicore/lib/Nv/18.pl type=file +e:\tlperl\lib/unicore/lib/Nv/19.pl type=file +e:\tlperl\lib/unicore/lib/Nv/1_16.pl type=file +e:\tlperl\lib/unicore/lib/Nv/1_2.pl type=file +e:\tlperl\lib/unicore/lib/Nv/1_3.pl type=file +e:\tlperl\lib/unicore/lib/Nv/1_4.pl type=file +e:\tlperl\lib/unicore/lib/Nv/1_6.pl type=file +e:\tlperl\lib/unicore/lib/Nv/1_8.pl type=file +e:\tlperl\lib/unicore/lib/Nv/2.pl type=file +e:\tlperl\lib/unicore/lib/Nv/20.pl type=file +e:\tlperl\lib/unicore/lib/Nv/200.pl type=file +e:\tlperl\lib/unicore/lib/Nv/2000.pl type=file +e:\tlperl\lib/unicore/lib/Nv/20000.pl type=file +e:\tlperl\lib/unicore/lib/Nv/2_3.pl type=file +e:\tlperl\lib/unicore/lib/Nv/3.pl type=file +e:\tlperl\lib/unicore/lib/Nv/30.pl type=file +e:\tlperl\lib/unicore/lib/Nv/300.pl type=file +e:\tlperl\lib/unicore/lib/Nv/3000.pl type=file +e:\tlperl\lib/unicore/lib/Nv/30000.pl type=file +e:\tlperl\lib/unicore/lib/Nv/3_16.pl type=file +e:\tlperl\lib/unicore/lib/Nv/3_4.pl type=file +e:\tlperl\lib/unicore/lib/Nv/4.pl type=file +e:\tlperl\lib/unicore/lib/Nv/40.pl type=file +e:\tlperl\lib/unicore/lib/Nv/400.pl type=file +e:\tlperl\lib/unicore/lib/Nv/4000.pl type=file +e:\tlperl\lib/unicore/lib/Nv/40000.pl type=file +e:\tlperl\lib/unicore/lib/Nv/5.pl type=file +e:\tlperl\lib/unicore/lib/Nv/50.pl type=file +e:\tlperl\lib/unicore/lib/Nv/500.pl type=file +e:\tlperl\lib/unicore/lib/Nv/5000.pl type=file +e:\tlperl\lib/unicore/lib/Nv/50000.pl type=file +e:\tlperl\lib/unicore/lib/Nv/6.pl type=file +e:\tlperl\lib/unicore/lib/Nv/60.pl type=file +e:\tlperl\lib/unicore/lib/Nv/600.pl type=file +e:\tlperl\lib/unicore/lib/Nv/6000.pl type=file +e:\tlperl\lib/unicore/lib/Nv/60000.pl type=file +e:\tlperl\lib/unicore/lib/Nv/7.pl type=file +e:\tlperl\lib/unicore/lib/Nv/70.pl type=file +e:\tlperl\lib/unicore/lib/Nv/700.pl type=file +e:\tlperl\lib/unicore/lib/Nv/7000.pl type=file +e:\tlperl\lib/unicore/lib/Nv/70000.pl type=file +e:\tlperl\lib/unicore/lib/Nv/8.pl type=file +e:\tlperl\lib/unicore/lib/Nv/80.pl type=file +e:\tlperl\lib/unicore/lib/Nv/800.pl type=file +e:\tlperl\lib/unicore/lib/Nv/8000.pl type=file +e:\tlperl\lib/unicore/lib/Nv/80000.pl type=file +e:\tlperl\lib/unicore/lib/Nv/9.pl type=file +e:\tlperl\lib/unicore/lib/Nv/90.pl type=file +e:\tlperl\lib/unicore/lib/Nv/900.pl type=file +e:\tlperl\lib/unicore/lib/Nv/9000.pl type=file +e:\tlperl\lib/unicore/lib/Nv/90000.pl type=file +e:\tlperl\lib/unicore/lib/PCM/Y.pl type=file +e:\tlperl\lib/unicore/lib/PatSyn/Y.pl type=file +e:\tlperl\lib/unicore/lib/Perl/Alnum.pl type=file +e:\tlperl\lib/unicore/lib/Perl/Assigned.pl type=file +e:\tlperl\lib/unicore/lib/Perl/Blank.pl type=file +e:\tlperl\lib/unicore/lib/Perl/Graph.pl type=file +e:\tlperl\lib/unicore/lib/Perl/PerlWord.pl type=file +e:\tlperl\lib/unicore/lib/Perl/PosixPun.pl type=file +e:\tlperl\lib/unicore/lib/Perl/Print.pl type=file +e:\tlperl\lib/unicore/lib/Perl/SpacePer.pl type=file +e:\tlperl\lib/unicore/lib/Perl/Title.pl type=file +e:\tlperl\lib/unicore/lib/Perl/Word.pl type=file +e:\tlperl\lib/unicore/lib/Perl/XPosixPu.pl type=file +e:\tlperl\lib/unicore/lib/Perl/_PerlAny.pl type=file +e:\tlperl\lib/unicore/lib/Perl/_PerlCh2.pl type=file +e:\tlperl\lib/unicore/lib/Perl/_PerlCha.pl type=file +e:\tlperl\lib/unicore/lib/Perl/_PerlFol.pl type=file +e:\tlperl\lib/unicore/lib/Perl/_PerlIDC.pl type=file +e:\tlperl\lib/unicore/lib/Perl/_PerlIDS.pl type=file +e:\tlperl\lib/unicore/lib/Perl/_PerlIsI.pl type=file +e:\tlperl\lib/unicore/lib/Perl/_PerlNch.pl type=file +e:\tlperl\lib/unicore/lib/Perl/_PerlPat.pl type=file +e:\tlperl\lib/unicore/lib/Perl/_PerlPr2.pl type=file +e:\tlperl\lib/unicore/lib/Perl/_PerlPro.pl type=file +e:\tlperl\lib/unicore/lib/Perl/_PerlQuo.pl type=file +e:\tlperl\lib/unicore/lib/QMark/Y.pl type=file +e:\tlperl\lib/unicore/lib/SB/AT.pl type=file +e:\tlperl\lib/unicore/lib/SB/CL.pl type=file +e:\tlperl\lib/unicore/lib/SB/EX.pl type=file +e:\tlperl\lib/unicore/lib/SB/FO.pl type=file +e:\tlperl\lib/unicore/lib/SB/LE.pl type=file +e:\tlperl\lib/unicore/lib/SB/LO.pl type=file +e:\tlperl\lib/unicore/lib/SB/NU.pl type=file +e:\tlperl\lib/unicore/lib/SB/SC.pl type=file +e:\tlperl\lib/unicore/lib/SB/ST.pl type=file +e:\tlperl\lib/unicore/lib/SB/Sp.pl type=file +e:\tlperl\lib/unicore/lib/SB/UP.pl type=file +e:\tlperl\lib/unicore/lib/SB/XX.pl type=file +e:\tlperl\lib/unicore/lib/SD/Y.pl type=file +e:\tlperl\lib/unicore/lib/STerm/Y.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Arab.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Beng.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Cprt.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Cyrl.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Deva.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Dupl.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Geor.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Glag.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Gong.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Gonm.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Gran.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Grek.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Gujr.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Guru.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Han.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Hang.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Hira.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Kana.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Knda.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Latn.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Limb.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Linb.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Mlym.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Mong.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Mult.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Orya.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Sinh.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Syrc.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Taml.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Telu.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Zinh.pl type=file +e:\tlperl\lib/unicore/lib/Sc/Zyyy.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Adlm.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Arab.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Armn.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Beng.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Bhks.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Bopo.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Cakm.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Cham.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Copt.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Cprt.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Cyrl.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Deva.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Diak.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Dupl.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Ethi.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Geor.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Glag.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Gong.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Gonm.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Gran.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Grek.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Gujr.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Guru.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Han.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Hang.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Hebr.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Hira.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Hmng.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Hmnp.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Kana.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Khar.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Khmr.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Khoj.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Knda.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Kthi.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Lana.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Lao.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Latn.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Limb.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Lina.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Linb.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Mlym.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Mong.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Mult.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Mymr.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Nand.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Orya.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Phlp.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Rohg.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Shrd.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Sind.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Sinh.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Syrc.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Tagb.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Takr.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Talu.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Taml.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Tang.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Telu.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Thaa.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Tibt.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Tirh.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Xsux.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Yezi.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Yi.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Zinh.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Zyyy.pl type=file +e:\tlperl\lib/unicore/lib/Scx/Zzzz.pl type=file +e:\tlperl\lib/unicore/lib/Term/Y.pl type=file +e:\tlperl\lib/unicore/lib/UIdeo/Y.pl type=file +e:\tlperl\lib/unicore/lib/Upper/Y.pl type=file +e:\tlperl\lib/unicore/lib/Vo/R.pl type=file +e:\tlperl\lib/unicore/lib/Vo/Tr.pl type=file +e:\tlperl\lib/unicore/lib/Vo/Tu.pl type=file +e:\tlperl\lib/unicore/lib/Vo/U.pl type=file +e:\tlperl\lib/unicore/lib/WB/EX.pl type=file +e:\tlperl\lib/unicore/lib/WB/Extend.pl type=file +e:\tlperl\lib/unicore/lib/WB/FO.pl type=file +e:\tlperl\lib/unicore/lib/WB/HL.pl type=file +e:\tlperl\lib/unicore/lib/WB/KA.pl type=file +e:\tlperl\lib/unicore/lib/WB/LE.pl type=file +e:\tlperl\lib/unicore/lib/WB/MB.pl type=file +e:\tlperl\lib/unicore/lib/WB/ML.pl type=file +e:\tlperl\lib/unicore/lib/WB/MN.pl type=file +e:\tlperl\lib/unicore/lib/WB/NU.pl type=file +e:\tlperl\lib/unicore/lib/WB/WSegSpac.pl type=file +e:\tlperl\lib/unicore/lib/WB/XX.pl type=file +e:\tlperl\lib/unicore/lib/XIDC/Y.pl type=file +e:\tlperl\lib/unicore/lib/XIDS/Y.pl type=file +e:\tlperl\lib/unicore/uni_keywords.pl type=file +e:\tlperl\lib/unicore/version type=file +e:\tlperl\lib/utf8.pm type=file +e:\tlperl\lib/vars.pm type=file +e:\tlperl\lib/version.pm type=file +e:\tlperl\lib/version.pod type=file +e:\tlperl\lib/version/Internals.pod type=file +e:\tlperl\lib/version/regex.pm type=file +e:\tlperl\lib/vmsish.pm type=file +e:\tlperl\lib/warnings.pm type=file +e:\tlperl\lib/warnings/register.pm type=file diff --git a/Master/tlpkg/tlperl/lib/App/Cpan.pm b/Master/tlpkg/tlperl/lib/App/Cpan.pm index 80c3efec433..b563addf527 100644 --- a/Master/tlpkg/tlperl/lib/App/Cpan.pm +++ b/Master/tlpkg/tlperl/lib/App/Cpan.pm @@ -6,7 +6,7 @@ use vars qw($VERSION); use if $] < 5.008 => 'IO::Scalar'; -$VERSION = '1.672'; +$VERSION = '1.675'; =head1 NAME @@ -414,13 +414,13 @@ sub _process_options # if no arguments, just drop into the shell if( 0 == @ARGV ) { CPAN::shell(); exit 0 } - else + elsif (Getopt::Std::getopts( + join( '', @option_order ), \%options )) { - Getopt::Std::getopts( - join( '', @option_order ), \%options ); \%options; } - } + else { exit 1 } +} sub _process_setup_options { @@ -431,8 +431,7 @@ sub _process_setup_options $Method_table{j}[ $Method_table_index{code} ]->( $options->{j} ); delete $options->{j}; } - else - { + elsif ( ! $options->{h} ) { # h "ignores all of the other options and arguments" # this is what CPAN.pm would do otherwise local $CPAN::Be_Silent = 1; CPAN::HandleConfig->load( @@ -542,15 +541,23 @@ sub run return $return_value; } +my $LEVEL; { package Local::Null::Logger; # hide from PAUSE +my @LOGLEVELS = qw(TRACE DEBUG INFO WARN ERROR FATAL); +$LEVEL = uc($ENV{CPANSCRIPT_LOGLEVEL} || 'INFO'); +my %LL = map { $LOGLEVELS[$_] => $_ } 0..$#LOGLEVELS; +unless (defined $LL{$LEVEL}){ + warn "Unsupported loglevel '$LEVEL', setting to INFO"; + $LEVEL = 'INFO'; +} sub new { bless \ my $x, $_[0] } sub AUTOLOAD { my $autoload = our $AUTOLOAD; $autoload =~ s/.*://; - return if $autoload =~ /^(debug|trace)$/; + return if $LL{uc $autoload} < $LL{$LEVEL}; $CPAN::Frontend->mywarn(">($autoload): $_\n") for split /[\r\n]+/, $_[1]; } @@ -579,8 +586,6 @@ sub _init_logger return $logger; } - my $LEVEL = $ENV{CPANSCRIPT_LOGLEVEL} || 'INFO'; - Log::Log4perl::init( \ <<"HERE" ); log4perl.rootLogger=$LEVEL, A1 log4perl.appender.A1=Log::Log4perl::Appender::Screen @@ -676,7 +681,7 @@ sub _hook_into_CPANpm_report *CPAN::Shell::myprint = sub { my($self,$what) = @_; - $scalar .= $what; + $scalar .= $what if defined $what; $self->print_ornamented($what, $CPAN::Config->{colorize_print}||'bold blue on_white', ); @@ -794,7 +799,14 @@ sub _turn_off_testing { sub _print_help { $logger->info( "Use perldoc to read the documentation" ); - exec "perldoc $0"; + my $HAVE_PERLDOC = eval { require Pod::Perldoc; 1; }; + if ($HAVE_PERLDOC) { + system qq{"$^X" -e "require Pod::Perldoc; Pod::Perldoc->run()" $0}; + exit; + } else { + warn "Please install Pod::Perldoc, maybe try 'cpan -i Pod::Perldoc'\n"; + return HEY_IT_WORKED; + } } sub _print_version # -v @@ -1698,3 +1710,10 @@ Copyright (c) 2001-2018, brian d foy, All Rights Reserved. You may redistribute this under the same terms as Perl itself. =cut + +# Local Variables: +# mode: cperl +# indent-tabs-mode: t +# cperl-indent-level: 8 +# cperl-continued-statement-offset: 8 +# End: diff --git a/Master/tlpkg/tlperl/lib/Archive/Tar.pm b/Master/tlpkg/tlperl/lib/Archive/Tar.pm index 093579a6c29..af6786ee519 100644 --- a/Master/tlpkg/tlperl/lib/Archive/Tar.pm +++ b/Master/tlpkg/tlperl/lib/Archive/Tar.pm @@ -27,11 +27,11 @@ use vars qw[$DEBUG $error $VERSION $WARN $FOLLOW_SYMLINK $CHOWN $CHMOD ]; @ISA = qw[Exporter]; -@EXPORT = qw[ COMPRESS_GZIP COMPRESS_BZIP ]; +@EXPORT = qw[ COMPRESS_GZIP COMPRESS_BZIP COMPRESS_XZ ]; $DEBUG = 0; $WARN = 1; $FOLLOW_SYMLINK = 0; -$VERSION = "2.32"; +$VERSION = "2.36"; $CHOWN = 1; $CHMOD = 1; $SAME_PERMISSIONS = $> == 0 ? 1 : 0; @@ -76,6 +76,7 @@ Archive::Tar - module for manipulations of tar archives $tar->write('files.tar'); # plain tar $tar->write('files.tgz', COMPRESS_GZIP); # gzip compressed $tar->write('files.tbz', COMPRESS_BZIP); # bzip2 compressed + $tar->write('files.txz', COMPRESS_XZ); # xz compressed =head1 DESCRIPTION @@ -147,12 +148,13 @@ backwards compatibility. Archive::Tar now looks at the file magic to determine what class should be used to open the file and will transparently Do The Right Thing. -Archive::Tar will warn if you try to pass a bzip2 compressed file and the -IO::Zlib / IO::Uncompress::Bunzip2 modules are not available and simply return. +Archive::Tar will warn if you try to pass a bzip2 / xz compressed file and the +IO::Uncompress::Bunzip2 / IO::Uncompress::UnXz are not available and simply return. Note that you can currently B pass a C compressed filehandle, which is not opened with C, a C compressed -filehandle, which is not opened with C, nor a string +filehandle, which is not opened with C, a C compressed +filehandle, which is not opened with C, nor a string containing the full archive information (either compressed or uncompressed). These are worth while features, but not currently implemented. See the C section. @@ -246,16 +248,40 @@ sub _get_handle { return; }; - ### read the first 4 bites of the file to figure out which class to + ### read the first 6 bytes of the file to figure out which class to ### use to open the file. - sysread( $tmp, $magic, 4 ); + sysread( $tmp, $magic, 6 ); close $tmp; } + ### is it xz? + ### if you asked specifically for xz compression, or if we're in + ### read mode and the magic numbers add up, use xz + if( XZ and ( + ($compress eq COMPRESS_XZ) or + ( MODE_READ->($mode) and $magic =~ XZ_MAGIC_NUM ) + ) + ) { + if( MODE_READ->($mode) ) { + $fh = IO::Uncompress::UnXz->new( $file ) or do { + $self->_error( qq[Could not read '$file': ] . + $IO::Uncompress::UnXz::UnXzError + ); + return; + }; + } else { + $fh = IO::Compress::Xz->new( $file ) or do { + $self->_error( qq[Could not write to '$file': ] . + $IO::Compress::Xz::XzError + ); + return; + }; + } + ### is it bzip? ### if you asked specifically for bzip compression, or if we're in ### read mode and the magic numbers add up, use bzip - if( BZIP and ( + } elsif( BZIP and ( ($compress eq COMPRESS_BZIP) or ( MODE_READ->($mode) and $magic =~ BZIP_MAGIC_NUM ) ) @@ -1246,8 +1272,8 @@ Write the in-memory archive to disk. The first argument can either be the name of a file or a reference to an already open filehandle (a GLOB reference). -The second argument is used to indicate compression. You can either -compress using C or C. If you pass a digit, it's assumed +The second argument is used to indicate compression. You can +compress using C, C or C. If you pass a digit, it's assumed to be the C compression level (between 1 and 9), but the use of constants is preferred: @@ -1257,10 +1283,13 @@ constants is preferred: # write a bzip compressed file $tar->write( 'out.tbz', COMPRESS_BZIP ); + # write a xz compressed file + $tar->write( 'out.txz', COMPRESS_XZ ); + Note that when you pass in a filehandle, the compression argument is ignored, as all files are printed verbatim to your filehandle. If you wish to enable compression with filehandles, use an -C or C filehandle instead. +C, C or C filehandle instead. The third argument is an optional prefix. All files will be tucked away in the directory you specify as prefix. So if you have files @@ -1696,8 +1725,8 @@ Creates a tar file from the list of files provided. The first argument can either be the name of the tar file to create or a reference to an open file handle (e.g. a GLOB reference). -The second argument is used to indicate compression. You can either -compress using C or C. If you pass a digit, it's assumed +The second argument is used to indicate compression. You can +compress using C, C or C. If you pass a digit, it's assumed to be the C compression level (between 1 and 9), but the use of constants is preferred: @@ -1707,10 +1736,13 @@ constants is preferred: # write a bzip compressed file Archive::Tar->create_archive( 'out.tbz', COMPRESS_BZIP, @filelist ); + # write a xz compressed file + Archive::Tar->create_archive( 'out.txz', COMPRESS_XZ, @filelist ); + Note that when you pass in a filehandle, the compression argument is ignored, as all files are printed verbatim to your filehandle. If you wish to enable compression with filehandles, use an -C or C filehandle instead. +C, C or C filehandle instead. The remaining arguments list the files to be included in the tar file. These files must all exist. Any files which don't exist or can't be @@ -1915,11 +1947,19 @@ Returns true if C can extract C compressed archives sub has_bzip2_support { return BZIP } +=head2 $bool = Archive::Tar->has_xz_support + +Returns true if C can extract C compressed archives + +=cut + +sub has_xz_support { return XZ } + =head2 Archive::Tar->can_handle_compressed_files A simple checking routine, which will return true if C -is able to uncompress compressed archives on the fly with C -and C or false if not both are installed. +is able to uncompress compressed archives on the fly with C, +C and C or false if not both are installed. You can use this as a shortcut to determine whether C will do what you think before passing compressed archives to its diff --git a/Master/tlpkg/tlperl/lib/Archive/Tar/Constant.pm b/Master/tlpkg/tlperl/lib/Archive/Tar/Constant.pm index a48968d9e04..398c4799a5c 100644 --- a/Master/tlpkg/tlperl/lib/Archive/Tar/Constant.pm +++ b/Master/tlpkg/tlperl/lib/Archive/Tar/Constant.pm @@ -3,7 +3,7 @@ package Archive::Tar::Constant; BEGIN { require Exporter; - $VERSION = '2.32'; + $VERSION = '2.36'; @ISA = qw[Exporter]; require Time::Local if $^O eq "MacOS"; @@ -32,6 +32,7 @@ use constant BLOCK => 512; use constant COMPRESS_GZIP => 9; use constant COMPRESS_BZIP => 'bzip2'; +use constant COMPRESS_XZ => 'xz'; use constant BLOCK_SIZE => sub { my $n = int($_[0]/BLOCK); $n++ if $_[0] % BLOCK; $n * BLOCK }; use constant TAR_PAD => sub { my $x = shift || return; return "\0" x (BLOCK - ($x % BLOCK) ) }; @@ -58,7 +59,7 @@ use constant PACK => 'a100 a8 a8 a8 a12 a12 A8 a1 a100 a6 a2 a32 a32 a use constant NAME_LENGTH => 100; use constant PREFIX_LENGTH => 155; -use constant TIME_OFFSET => ($^O eq "MacOS") ? Time::Local::timelocal(0,0,0,1,0,70) : 0; +use constant TIME_OFFSET => ($^O eq "MacOS") ? Time::Local::timelocal(0,0,0,1,0,1970) : 0; use constant MAGIC => "ustar"; use constant TAR_VERSION => "00"; use constant LONGLINK_NAME => '././@LongLink'; @@ -77,8 +78,16 @@ use constant BZIP => do { !$ENV{'PERL5_AT_NO_BZIP'} and $ENV{'PERL5_AT_NO_BZIP'} || $@ ? 0 : 1 }; + ### allow XZ to be turned off using ENV: DEBUG only +use constant XZ => do { !$ENV{'PERL5_AT_NO_XZ'} and + eval { require IO::Compress::Xz; + require IO::Uncompress::UnXz; }; + $ENV{'PERL5_AT_NO_XZ'} || $@ ? 0 : 1 + }; + use constant GZIP_MAGIC_NUM => qr/^(?:\037\213|\037\235)/; use constant BZIP_MAGIC_NUM => qr/^BZh\d/; +use constant XZ_MAGIC_NUM => qr/^\xFD\x37\x7A\x58\x5A\x00/; use constant CAN_CHOWN => sub { ($> == 0 and $^O ne "MacOS" and $^O ne "MSWin32") }; use constant CAN_READLINK => ($^O ne 'MSWin32' and $^O !~ /RISC(?:[ _])?OS/i and $^O ne 'VMS'); diff --git a/Master/tlpkg/tlperl/lib/Archive/Tar/File.pm b/Master/tlpkg/tlperl/lib/Archive/Tar/File.pm index 3efa3159d94..0887a923bd3 100644 --- a/Master/tlpkg/tlperl/lib/Archive/Tar/File.pm +++ b/Master/tlpkg/tlperl/lib/Archive/Tar/File.pm @@ -13,7 +13,7 @@ use Archive::Tar::Constant; use vars qw[@ISA $VERSION]; #@ISA = qw[Archive::Tar]; -$VERSION = '2.32'; +$VERSION = '2.36'; ### set value to 1 to oct() it during the unpack ### diff --git a/Master/tlpkg/tlperl/lib/B.pm b/Master/tlpkg/tlperl/lib/B.pm index 2d9b2d064d0..80c7f858eea 100644 --- a/Master/tlpkg/tlperl/lib/B.pm +++ b/Master/tlpkg/tlperl/lib/B.pm @@ -20,7 +20,7 @@ sub import { # walkoptree comes from B.xs BEGIN { - $B::VERSION = '1.76'; + $B::VERSION = '1.80'; @B::EXPORT_OK = (); # Our BOOT code needs $VERSION set, and will append to @EXPORT_OK. diff --git a/Master/tlpkg/tlperl/lib/B/Deparse.pm b/Master/tlpkg/tlperl/lib/B/Deparse.pm index d7dc060fc6d..7bf1cd51c36 100644 --- a/Master/tlpkg/tlperl/lib/B/Deparse.pm +++ b/Master/tlpkg/tlperl/lib/B/Deparse.pm @@ -52,7 +52,7 @@ use B qw(class main_root main_start main_cv svref_2object opnumber perlstring MDEREF_SHIFT ); -$VERSION = '1.49'; +$VERSION = '1.54'; use strict; our $AUTOLOAD; use warnings (); @@ -271,7 +271,7 @@ BEGIN { BEGIN { for (qw[ const stringify rv2sv list glob pushmark null aelem - kvaslice kvhslice padsv + kvaslice kvhslice padsv argcheck nextstate dbstate rv2av rv2hv helem custom ]) { eval "sub OP_\U$_ () { " . opnumber($_) . "}" }} @@ -279,6 +279,8 @@ BEGIN { for (qw[ const stringify rv2sv list glob pushmark null aelem # _pessimise_walk(): recursively walk the optree of a sub, # possibly undoing optimisations along the way. +sub DEBUG { 0 } + sub _pessimise_walk { my ($self, $startop) = @_; @@ -1176,42 +1178,68 @@ sub pad_subs { # or altered. In this case we return "()" and fall back to general # deparsing of the individual sigelems as 'my $x = $_[N]' etc. # -# We're only called if the first two ops are nextstate and argcheck. +# We're only called if the top is an ex-argcheck, which is a placeholder +# indicating a signature subtree. +# +# Return a signature string, or an empty list if no deparseable as a +# signature sub deparse_argops { - my ($self, $firstop, $cv) = @_; + my ($self, $topop, $cv) = @_; my @sig; - my $o = $firstop; - return if $o->label; #first nextstate; + + + $topop = $topop->first; + return unless $$topop and $topop->name eq 'lineseq'; + + + # last op should be nextstate + my $last = $topop->last; + return unless $$last + and ( _op_is_or_was($last, OP_NEXTSTATE) + or _op_is_or_was($last, OP_DBSTATE)); + + # first OP_NEXTSTATE + + my $o = $topop->first; + return unless $$o; + return if $o->label; # OP_ARGCHECK $o = $o->sibling; + return unless $$o and $o->name eq 'argcheck'; + my ($params, $opt_params, $slurpy) = $o->aux_list($cv); my $mandatory = $params - $opt_params; my $seen_slurpy = 0; my $last_ix = -1; - # keep looking for valid nextstate + argelem pairs + # keep looking for valid nextstate + argelem pairs, terminated + # by a final nextstate while (1) { - # OP_NEXTSTATE $o = $o->sibling; - last unless $$o; - last unless $o->name =~ /^(next|db)state$/; - last if $o->label; + return unless $$o; + + # skip trailing nextstate + last if $$o == $$last; + + # OP_NEXTSTATE + return unless $o->name =~ /^(next|db)state$/; + return if $o->label; # OP_ARGELEM - my $o2 = $o->sibling; - last unless $$o2; + $o = $o->sibling; + last unless $$o; - if ($o2->name eq 'argelem') { - my $ix = $o2->string($cv); + if ($o->name eq 'argelem') { + my $ix = $o->string($cv); while (++$last_ix < $ix) { push @sig, $last_ix < $mandatory ? '$' : '$='; } - my $var = $self->padname($o2->targ); + my $var = $self->padname($o->targ); if ($var =~ /^[@%]/) { return if $seen_slurpy; $seen_slurpy = 1; @@ -1221,8 +1249,8 @@ sub deparse_argops { else { return if $ix >= $params; } - if ($o2->flags & OPf_KIDS) { - my $kid = $o2->first; + if ($o->flags & OPf_KIDS) { + my $kid = $o->first; return unless $$kid and $kid->name eq 'argdefelem'; my $def = $self->deparse($kid->first, 7); $def = "($def)" if $kid->first->flags & OPf_PARENS; @@ -1230,13 +1258,13 @@ sub deparse_argops { } push @sig, $var; } - elsif ($o2->name eq 'null' - and ($o2->flags & OPf_KIDS) - and $o2->first->name eq 'argdefelem') + elsif ($o->name eq 'null' + and ($o->flags & OPf_KIDS) + and $o->first->name eq 'argdefelem') { # special case - a void context default expression: $ = expr - my $defop = $o2->first; + my $defop = $o->first; my $ix = $defop->targ; while (++$last_ix < $ix) { push @sig, $last_ix < $mandatory ? '$' : '$='; @@ -1248,10 +1276,9 @@ sub deparse_argops { push @sig, '$ = ' . $def; } else { - last; + return; } - $o = $o2; } while (++$last_ix < $params) { @@ -1259,9 +1286,10 @@ sub deparse_argops { } push @sig, $slurpy if $slurpy and !$seen_slurpy; - return ($o, join(', ', @sig)); + return (join(', ', @sig)); } + # Deparse a sub. Returns everything except the 'sub foo', # e.g. ($$) : method { ...; } # or : prototype($$) lvalue ($a, $b) { ...; }; @@ -1304,27 +1332,26 @@ Carp::confess("SPECIAL in deparse_sub") if $cv->isa("B::SPECIAL"); $self->pad_subs($cv); $self->pessimise($root, $cv->START); my $lineseq = $root->first; - if ($lineseq->name eq "lineseq") { - my $firstop = $lineseq->first; - - if ($has_sig) { - my $o2; - # try to deparse first few ops as a signature if possible - if ( $$firstop - and $firstop->name =~ /^(next|db)state$/ - and (($o2 = $firstop->sibling)) - and $$o2) - { - if ($o2->name eq 'argcheck') { - my ($nexto, $mysig) = $self->deparse_argops($firstop, $cv); - if (defined $nexto) { - $firstop = $nexto; - $sig = $mysig; - } - } - } + + # stub sub may have single op rather than list of ops + my $is_list = ($lineseq->name eq "lineseq"); + my $firstop = $is_list ? $lineseq->first : $lineseq; + + # Try to deparse first subtree as a signature if possible. + # Top of signature subtree has an ex-argcheck as a placeholder + if ( $has_sig + and $$firstop + and $firstop->name eq 'null' + and $firstop->targ == OP_ARGCHECK + ) { + my ($mysig) = $self->deparse_argops($firstop, $cv); + if (defined $mysig) { + $sig = $mysig; + $firstop = $is_list ? $firstop->sibling : undef; } + } + if ($is_list && $firstop) { my @ops; for (my $o = $firstop; $$o; $o=$o->sibling) { push @ops, $o; @@ -1341,9 +1368,12 @@ Carp::confess("SPECIAL in deparse_sub") if $cv->isa("B::SPECIAL"); $body .= ";\n$subs" if length($subs); } } - else { + elsif ($firstop) { $body = $self->deparse($root->first, 0); } + else { + $body = ';'; # stub sub + } my $l = ''; if ($self->{'linenums'}) { @@ -2184,6 +2214,7 @@ my %ignored_hints = ( 'strict/refs' => 1, 'strict/subs' => 1, 'strict/vars' => 1, + 'feature/bits' => 1, ); my %rev_feature; @@ -2304,7 +2335,7 @@ sub keyword { } # This sub may be called for a program that has no nextstate ops. In # that case we may have a lexical sub named no/use/sub in scope but - # but $self->lex_in_scope will return false because it depends on the + # $self->lex_in_scope will return false because it depends on the # current nextstate op. So we need this alternate method if there is # no current cop. if (!$self->{'curcop'}) { @@ -3029,6 +3060,8 @@ sub pp_sge { binop(@_, "ge", 15) } sub pp_sle { binop(@_, "le", 15) } sub pp_scmp { maybe_targmy(@_, \&binop, "cmp", 14) } +sub pp_isa { binop(@_, "isa", 15) } + sub pp_sassign { binop(@_, "=", 7, SWAP_CHILDREN) } sub pp_aassign { binop(@_, "=", 7, SWAP_CHILDREN | LIST_CONTEXT) } @@ -3167,6 +3200,64 @@ sub pp_andassign { logassignop(@_, "&&=") } sub pp_orassign { logassignop(@_, "||=") } sub pp_dorassign { logassignop(@_, "//=") } +my %cmpchain_cmpops = ( + eq => ["==", 14], + i_eq => ["==", 14], + ne => ["!=", 14], + i_ne => ["!=", 14], + seq => ["eq", 14], + sne => ["ne", 14], + lt => ["<", 15], + i_lt => ["<", 15], + gt => [">", 15], + i_gt => [">", 15], + le => ["<=", 15], + i_le => ["<=", 15], + ge => [">=", 15], + i_ge => [">=", 15], + slt => ["lt", 15], + sgt => ["gt", 15], + sle => ["le", 15], + sge => ["ge", 15], +); +sub pp_cmpchain_and { + my($self, $op, $cx) = @_; + my($prec, $dep); + while(1) { + my($thiscmp, $rightcond); + if($op->name eq "cmpchain_and") { + $thiscmp = $op->first; + $rightcond = $thiscmp->sibling; + } else { + $thiscmp = $op; + } + my $thiscmptype = $cmpchain_cmpops{$thiscmp->name} // (return "XXX"); + if(defined $prec) { + $thiscmptype->[1] == $prec or return "XXX"; + $thiscmp->first->name eq "null" && + !($thiscmp->first->flags & OPf_KIDS) + or return "XXX"; + } else { + $prec = $thiscmptype->[1]; + $dep = $self->deparse($thiscmp->first, $prec); + } + $dep .= " ".$thiscmptype->[0]." "; + my $operand = $thiscmp->last; + if(defined $rightcond) { + $operand->name eq "cmpchain_dup" or return "XXX"; + $operand = $operand->first; + } + $dep .= $self->deparse($operand, $prec); + last unless defined $rightcond; + if($rightcond->name eq "null" && ($rightcond->flags & OPf_KIDS) && + $rightcond->first->name eq "cmpchain_and") { + $rightcond = $rightcond->first; + } + $op = $rightcond; + } + return $self->maybe_parens($dep, $cx, $prec); +} + sub rv2gv_or_string { my($self,$op) = @_; if ($op->name eq "gv") { # could be open("open") or open("###") @@ -3360,7 +3451,7 @@ sub pp_glob { my $kid = $op->first->sibling; # skip pushmark my $keyword = $op->flags & OPf_SPECIAL ? 'glob' : $self->keyword('glob'); - my $text = $self->deparse($kid); + my $text = $self->deparse($kid, $cx); return $cx >= 5 || $self->{'parens'} ? "$keyword($text)" : "$keyword $text"; @@ -5685,100 +5776,81 @@ sub tr_chr { } } -# XXX This doesn't yet handle all cases correctly either +sub tr_invmap { + my ($invlist_ref, $map_ref) = @_; -sub tr_decode_utf8 { - my($swash_hv, $flags) = @_; - my %swash = $swash_hv->ARRAY; - my $final = undef; - $final = $swash{'FINAL'}->IV if exists $swash{'FINAL'}; - my $none = $swash{"NONE"}->IV; - my $extra = $none + 1; - my(@from, @delfrom, @to); - my $line; - foreach $line (split /\n/, $swash{'LIST'}->PV) { - my($min, $max, $result) = split(/\t/, $line); - $min = hex $min; - if (length $max) { - $max = hex $max; - } else { - $max = $min; - } - $result = hex $result; - if ($result == $extra) { - push @delfrom, [$min, $max]; - } else { - push @from, [$min, $max]; - push @to, [$result, $result + $max - $min]; - } - } - for my $i (0 .. $#from) { - if ($from[$i][0] == ord '-') { - unshift @from, splice(@from, $i, 1); - unshift @to, splice(@to, $i, 1); - last; - } elsif ($from[$i][1] == ord '-') { - $from[$i][1]--; - $to[$i][1]--; - unshift @from, ord '-'; - unshift @to, ord '-'; - last; - } - } - for my $i (0 .. $#delfrom) { - if ($delfrom[$i][0] == ord '-') { - push @delfrom, splice(@delfrom, $i, 1); - last; - } elsif ($delfrom[$i][1] == ord '-') { - $delfrom[$i][1]--; - push @delfrom, ord '-'; - last; - } + my $infinity = ~0 >> 1; # IV_MAX + my $from = ""; + my $to = ""; + + for my $i (0.. @$invlist_ref - 1) { + my $this_from = $invlist_ref->[$i]; + my $map = $map_ref->[$i]; + my $upper = ($i < @$invlist_ref - 1) + ? $invlist_ref->[$i+1] + : $infinity; + my $range = $upper - $this_from - 1; + if (DEBUG) { + print STDERR "i=$i, from=$this_from, upper=$upper, range=$range\n"; + } + next if $map == ~0; + next if $map == ~0 - 1; + $from .= tr_chr($this_from); + $to .= tr_chr($map); + next if $range == 0; # Single code point + if ($range == 1) { # Adjacent code points + $from .= tr_chr($this_from + 1); + $to .= tr_chr($map + 1); + } + elsif ($upper != $infinity) { + $from .= "-" . tr_chr($this_from + $range); + $to .= "-" . tr_chr($map + $range); + } + else { + $from .= "-INFTY"; + $to .= "-INFTY"; + } } - if (defined $final and $to[$#to][1] != $final) { - push @to, [$final, $final]; + + return ($from, $to); +} + +sub tr_decode_utf8 { + my($tr_av, $flags) = @_; + printf STDERR "flags=0x%x\n", $flags if DEBUG; + my $invlist = $tr_av->ARRAYelt(0); + my @invlist = unpack("J*", $invlist->PV); + my @map = unpack("J*", $tr_av->ARRAYelt(1)->PV); + + if (DEBUG) { + for my $i (0 .. @invlist - 1) { + printf STDERR "[%d]\t%x\t", $i, $invlist[$i]; + my $map = $map[$i]; + if ($map == ~0) { + print STDERR "TR_UNMAPPED\n"; + } + elsif ($map == ~0 - 1) { + print STDERR "TR_SPECIAL\n"; + } + else { + printf STDERR "%x\n", $map; + } + } } - push @from, @delfrom; + + my ($from, $to) = tr_invmap(\@invlist, \@map); + if ($flags & OPpTRANS_COMPLEMENT) { - my @newfrom; - my $next = 0; - for my $i (0 .. $#from) { - push @newfrom, [$next, $from[$i][0] - 1]; - $next = $from[$i][1] + 1; - } - @from = (); - for my $range (@newfrom) { - if ($range->[0] <= $range->[1]) { - push @from, $range; - } - } + shift @map; + pop @invlist; + my $throw_away; + ($from, $throw_away) = tr_invmap(\@invlist, \@map); } - my($from, $to, $diff); - for my $chunk (@from) { - $diff = $chunk->[1] - $chunk->[0]; - if ($diff > 1) { - $from .= tr_chr($chunk->[0]) . "-" . tr_chr($chunk->[1]); - } elsif ($diff == 1) { - $from .= tr_chr($chunk->[0]) . tr_chr($chunk->[1]); - } else { - $from .= tr_chr($chunk->[0]); - } - } - for my $chunk (@to) { - $diff = $chunk->[1] - $chunk->[0]; - if ($diff > 1) { - $to .= tr_chr($chunk->[0]) . "-" . tr_chr($chunk->[1]); - } elsif ($diff == 1) { - $to .= tr_chr($chunk->[0]) . tr_chr($chunk->[1]); - } else { - $to .= tr_chr($chunk->[0]); - } + + if (DEBUG) { + print STDERR "Returning ", escape_str($from), "/", + escape_str($to), "\n"; } - #$final = sprintf("%04x", $final) if defined $final; - #$none = sprintf("%04x", $none) if defined $none; - #$extra = sprintf("%04x", $extra) if defined $extra; - #print STDERR "final: $final\n none: $none\nextra: $extra\n"; - #print STDERR $swash{'LIST'}->PV; return (escape_str($from), escape_str($to)); } @@ -5792,9 +5864,9 @@ sub pp_trans { ($from, $to) = tr_decode_byte($op->pv, $priv_flags); } elsif ($class eq "PADOP") { ($from, $to) - = tr_decode_utf8($self->padval($op->padix)->RV, $priv_flags); + = tr_decode_utf8($self->padval($op->padix), $priv_flags); } else { # class($op) eq "SVOP" - ($from, $to) = tr_decode_utf8($op->sv->RV, $priv_flags); + ($from, $to) = tr_decode_utf8($op->sv, $priv_flags); } my $flags = ""; $flags .= "c" if $priv_flags & OPpTRANS_COMPLEMENT; diff --git a/Master/tlpkg/tlperl/lib/B/Op_private.pm b/Master/tlpkg/tlperl/lib/B/Op_private.pm index 42b3ddb8c60..f30a6922a2e 100644 --- a/Master/tlpkg/tlperl/lib/B/Op_private.pm +++ b/Master/tlpkg/tlperl/lib/B/Op_private.pm @@ -118,7 +118,7 @@ package B::Op_private; our %bits; -our $VERSION = "5.030001"; +our $VERSION = "5.032001"; $bits{$_}{3} = 'OPpENTERSUB_AMPER' for qw(entersub rv2cv); $bits{$_}{6} = 'OPpENTERSUB_DB' for qw(entersub rv2cv); @@ -150,13 +150,13 @@ $bits{$_}{7} = 'OPpPV_IS_UTF8' for qw(dump goto last next redo); $bits{$_}{6} = 'OPpREFCOUNTED' for qw(leave leaveeval leavesub leavesublv leavewrite); $bits{$_}{2} = 'OPpSLICEWARNING' for qw(aslice hslice padav padhv rv2av rv2hv); $bits{$_}{4} = 'OPpTARGET_MY' for qw(abs add atan2 chdir chmod chomp chown chr chroot concat cos crypt divide exec exp flock getpgrp getppid getpriority hex i_add i_divide i_modulo i_multiply i_subtract index int kill left_shift length link log mkdir modulo multiconcat multiply nbit_and nbit_or nbit_xor ncomplement oct ord pow push rand rename right_shift rindex rmdir schomp scomplement setpgrp setpriority sin sleep sqrt srand stringify subtract symlink system time unlink unshift utime wait waitpid); +$bits{$_}{0} = 'OPpTRANS_CAN_FORCE_UTF8' for qw(trans transr); $bits{$_}{5} = 'OPpTRANS_COMPLEMENT' for qw(trans transr); $bits{$_}{7} = 'OPpTRANS_DELETE' for qw(trans transr); -$bits{$_}{0} = 'OPpTRANS_FROM_UTF' for qw(trans transr); $bits{$_}{6} = 'OPpTRANS_GROWS' for qw(trans transr); $bits{$_}{2} = 'OPpTRANS_IDENTICAL' for qw(trans transr); $bits{$_}{3} = 'OPpTRANS_SQUASH' for qw(trans transr); -$bits{$_}{1} = 'OPpTRANS_TO_UTF' for qw(trans transr); +$bits{$_}{1} = 'OPpTRANS_USE_SVOP' for qw(trans transr); $bits{$_}{5} = 'OPpTRUEBOOL' for qw(grepwhile index length padav padhv pos ref rindex rv2av rv2hv subst); my @bf = ( @@ -284,6 +284,8 @@ $bits{chr}{0} = $bf[0]; $bits{chroot}{0} = $bf[0]; @{$bits{close}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]); $bits{closedir}{0} = $bf[0]; +$bits{cmpchain_and}{0} = $bf[0]; +$bits{cmpchain_dup}{0} = $bf[0]; $bits{complement}{0} = $bf[0]; @{$bits{concat}}{6,1,0} = ('OPpCONCAT_NESTED', $bf[1], $bf[1]); $bits{cond_expr}{0} = $bf[0]; @@ -399,6 +401,7 @@ $bits{i_preinc}{0} = $bf[0]; @{$bits{index}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]); $bits{int}{0} = $bf[0]; @{$bits{ioctl}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]); +@{$bits{isa}}{1,0} = ($bf[1], $bf[1]); @{$bits{join}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]); $bits{keys}{0} = $bf[0]; @{$bits{kill}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]); @@ -686,13 +689,13 @@ our %defines = ( OPpSPLIT_LEX => 8, OPpSUBSTR_REPL_FIRST => 16, OPpTARGET_MY => 16, + OPpTRANS_CAN_FORCE_UTF8 => 1, OPpTRANS_COMPLEMENT => 32, OPpTRANS_DELETE => 128, - OPpTRANS_FROM_UTF => 1, OPpTRANS_GROWS => 64, OPpTRANS_IDENTICAL => 4, OPpTRANS_SQUASH => 8, - OPpTRANS_TO_UTF => 2, + OPpTRANS_USE_SVOP => 2, OPpTRUEBOOL => 32, ); @@ -789,13 +792,13 @@ our %labels = ( OPpSPLIT_LEX => 'LEX', OPpSUBSTR_REPL_FIRST => 'REPL1ST', OPpTARGET_MY => 'TARGMY', + OPpTRANS_CAN_FORCE_UTF8 => 'CAN_FORCE_UTF8', OPpTRANS_COMPLEMENT => 'COMPL', OPpTRANS_DELETE => 'DEL', - OPpTRANS_FROM_UTF => ' 'GROWS', OPpTRANS_IDENTICAL => 'IDENT', OPpTRANS_SQUASH => 'SQUASH', - OPpTRANS_TO_UTF => '>UTF', + OPpTRANS_USE_SVOP => 'USE_SVOP', OPpTRUEBOOL => 'BOOL', ); @@ -846,7 +849,7 @@ our %ops_using = ( OPpSPLIT_ASSIGN => [qw(split)], OPpSUBSTR_REPL_FIRST => [qw(substr)], OPpTARGET_MY => [qw(abs add atan2 chdir chmod chomp chown chr chroot concat cos crypt divide exec exp flock getpgrp getppid getpriority hex i_add i_divide i_modulo i_multiply i_subtract index int kill left_shift length link log mkdir modulo multiconcat multiply nbit_and nbit_or nbit_xor ncomplement oct ord pow push rand rename right_shift rindex rmdir schomp scomplement setpgrp setpriority sin sleep sqrt srand stringify subtract symlink system time unlink unshift utime wait waitpid)], - OPpTRANS_COMPLEMENT => [qw(trans transr)], + OPpTRANS_CAN_FORCE_UTF8 => [qw(trans transr)], OPpTRUEBOOL => [qw(grepwhile index length padav padhv pos ref rindex rv2av rv2hv subst)], ); @@ -887,11 +890,11 @@ $ops_using{OPpSORT_STABLE} = $ops_using{OPpSORT_DESCEND}; $ops_using{OPpSORT_UNSTABLE} = $ops_using{OPpSORT_DESCEND}; $ops_using{OPpSPLIT_IMPLIM} = $ops_using{OPpSPLIT_ASSIGN}; $ops_using{OPpSPLIT_LEX} = $ops_using{OPpSPLIT_ASSIGN}; -$ops_using{OPpTRANS_DELETE} = $ops_using{OPpTRANS_COMPLEMENT}; -$ops_using{OPpTRANS_FROM_UTF} = $ops_using{OPpTRANS_COMPLEMENT}; -$ops_using{OPpTRANS_GROWS} = $ops_using{OPpTRANS_COMPLEMENT}; -$ops_using{OPpTRANS_IDENTICAL} = $ops_using{OPpTRANS_COMPLEMENT}; -$ops_using{OPpTRANS_SQUASH} = $ops_using{OPpTRANS_COMPLEMENT}; -$ops_using{OPpTRANS_TO_UTF} = $ops_using{OPpTRANS_COMPLEMENT}; +$ops_using{OPpTRANS_COMPLEMENT} = $ops_using{OPpTRANS_CAN_FORCE_UTF8}; +$ops_using{OPpTRANS_DELETE} = $ops_using{OPpTRANS_CAN_FORCE_UTF8}; +$ops_using{OPpTRANS_GROWS} = $ops_using{OPpTRANS_CAN_FORCE_UTF8}; +$ops_using{OPpTRANS_IDENTICAL} = $ops_using{OPpTRANS_CAN_FORCE_UTF8}; +$ops_using{OPpTRANS_SQUASH} = $ops_using{OPpTRANS_CAN_FORCE_UTF8}; +$ops_using{OPpTRANS_USE_SVOP} = $ops_using{OPpTRANS_CAN_FORCE_UTF8}; # ex: set ro: diff --git a/Master/tlpkg/tlperl/lib/Benchmark.pm b/Master/tlpkg/tlperl/lib/Benchmark.pm index 253716214fa..3eeba798730 100644 --- a/Master/tlpkg/tlperl/lib/Benchmark.pm +++ b/Master/tlpkg/tlperl/lib/Benchmark.pm @@ -482,7 +482,7 @@ our(@ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS, $VERSION); clearcache clearallcache disablecache enablecache); %EXPORT_TAGS=( all => [ @EXPORT, @EXPORT_OK ] ) ; -$VERSION = 1.22; +$VERSION = 1.23; # --- ':hireswallclock' special handling @@ -796,7 +796,7 @@ sub countit { if ( $tc <= 0 and $n > 1024 ) { my $d = timediff($t1, $t0); # note that $d is the total CPU time taken to call timeit(), - # while $tc is is difference in CPU secs between the empty run + # while $tc is the difference in CPU secs between the empty run # and the code run. If the code is trivial, its possible # for $d to get large while $tc is still zero (or slightly # negative). Bail out once timeit() starts taking more than a diff --git a/Master/tlpkg/tlperl/lib/CORE/EXTERN.h b/Master/tlpkg/tlperl/lib/CORE/EXTERN.h index 558f762a3f1..4406b297521 100644 --- a/Master/tlpkg/tlperl/lib/CORE/EXTERN.h +++ b/Master/tlpkg/tlperl/lib/CORE/EXTERN.h @@ -21,7 +21,7 @@ # if (defined(WIN32) || defined(__SYMBIAN32__)) && !defined(PERL_STATIC_SYMS) /* miniperl should not export anything */ -# if defined(PERL_IS_MINIPERL) && !defined(UNDER_CE) +# if defined(PERL_IS_MINIPERL) # define EXT extern # define dEXT # define EXTCONST extern const diff --git a/Master/tlpkg/tlperl/lib/CORE/XSUB.h b/Master/tlpkg/tlperl/lib/CORE/XSUB.h index 796a13aae3d..94e9dade6af 100644 --- a/Master/tlpkg/tlperl/lib/CORE/XSUB.h +++ b/Master/tlpkg/tlperl/lib/CORE/XSUB.h @@ -47,7 +47,7 @@ XSUB's aliases was used to invoke it. See L. =for apidoc Am|SV*|ST|int ix Used to access elements on the XSUB's stack. -=for apidoc AmU||XS +=for apidoc AmnU||XS Macro to declare an XSUB and its C parameter list. This is handled by C. It is the same as using the more explicit C macro. @@ -56,36 +56,36 @@ Macro to declare an XSUB and its C parameter list without exporting the symbols. This is handled by C and generally preferable over exporting the XSUB symbols unnecessarily. -=for apidoc AmU||XS_EXTERNAL +=for apidoc AmnU||XS_EXTERNAL Macro to declare an XSUB and its C parameter list explicitly exporting the symbols. -=for apidoc Ams||dAX +=for apidoc Amns||dAX Sets up the C variable. This is usually handled automatically by C by calling C. -=for apidoc Ams||dAXMARK +=for apidoc Amns||dAXMARK Sets up the C variable and stack marker variable C. This is usually handled automatically by C by calling C. -=for apidoc Ams||dITEMS +=for apidoc Amns||dITEMS Sets up the C variable. This is usually handled automatically by C by calling C. -=for apidoc Ams||dXSARGS +=for apidoc Amns||dXSARGS Sets up stack and mark pointers for an XSUB, calling C and C. Sets up the C and C variables by calling C and C. This is usually handled automatically by C. -=for apidoc Ams||dXSI32 +=for apidoc Amns||dXSI32 Sets up the C variable for an XSUB which has aliases. This is usually handled automatically by C. -=for apidoc Ams||dUNDERBAR +=for apidoc Amns||dUNDERBAR Sets up any variable needed by the C macro. It used to define C, 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 +=for apidoc AmnU||UNDERBAR The SV* corresponding to the C<$_> variable. Works even if there is a lexical C<$_> in scope. @@ -217,6 +217,10 @@ is stored in a new mortal SV. Place a copy of a string into the specified position C on the stack. The value is stored in a new mortal SV. +=for apidoc Am|void|XST_mUV|int pos|UV uv +Place an unsigned integer into the specified position C on the stack. The +value is stored in a new mortal SV. + =for apidoc Am|void|XST_mNO|int pos Place C<&PL_sv_no> into the specified position C on the stack. @@ -245,16 +249,16 @@ Return a double from an XSUB immediately. Uses C. =for apidoc Am|void|XSRETURN_PV|char* str Return a copy of a string from an XSUB immediately. Uses C. -=for apidoc Ams||XSRETURN_NO +=for apidoc Amns||XSRETURN_NO Return C<&PL_sv_no> from an XSUB immediately. Uses C. -=for apidoc Ams||XSRETURN_YES +=for apidoc Amns||XSRETURN_YES Return C<&PL_sv_yes> from an XSUB immediately. Uses C. -=for apidoc Ams||XSRETURN_UNDEF +=for apidoc Amns||XSRETURN_UNDEF Return C<&PL_sv_undef> from an XSUB immediately. Uses C. -=for apidoc Ams||XSRETURN_EMPTY +=for apidoc Amns||XSRETURN_EMPTY Return an empty list from an XSUB immediately. =head1 Variables created by C and C internal functions @@ -263,36 +267,36 @@ Return an empty list from an XSUB immediately. Used by C to hook up XSUBs as Perl subs. Adds Perl prototypes to the subs. -=for apidoc AmU||XS_VERSION +=for apidoc AmnU||XS_VERSION The version identifier for an XS module. This is usually handled automatically by C. See C>. -=for apidoc Ams||XS_VERSION_BOOTCHECK +=for apidoc Amns||XS_VERSION_BOOTCHECK Macro to verify that a PM module's C<$VERSION> variable matches the XS module's C variable. This is usually handled automatically by C. See L. -=for apidoc Ams||XS_APIVERSION_BOOTCHECK +=for apidoc Amns||XS_APIVERSION_BOOTCHECK Macro to verify that the perl api version an XS module has been compiled against matches the api version of the perl interpreter it's being loaded into. =head1 Exception Handling (simple) Macros -=for apidoc Ams||dXCPT +=for apidoc Amns||dXCPT Set up necessary local variables for exception handling. See L. -=for apidoc AmU||XCPT_TRY_START +=for apidoc AmnU||XCPT_TRY_START Starts a try block. See L. -=for apidoc AmU||XCPT_TRY_END +=for apidoc AmnU||XCPT_TRY_END Ends a try block. See L. -=for apidoc AmU||XCPT_CATCH +=for apidoc AmnU||XCPT_CATCH Introduces a catch block. See L. -=for apidoc Ams||XCPT_RETHROW +=for apidoc Amns||XCPT_RETHROW Rethrows a previously caught exception. See L. =cut diff --git a/Master/tlpkg/tlperl/lib/CORE/av.h b/Master/tlpkg/tlperl/lib/CORE/av.h index 6b2b14ce8f2..5e39c42ea12 100644 --- a/Master/tlpkg/tlperl/lib/CORE/av.h +++ b/Master/tlpkg/tlperl/lib/CORE/av.h @@ -39,7 +39,7 @@ struct xpvav { /* =head1 Handy Values -=for apidoc AmU||Nullav +=for apidoc ADmnU||Nullav Null AV pointer. (deprecated - use C<(AV *)NULL> instead) @@ -49,9 +49,11 @@ Null AV pointer. =for apidoc Am|int|AvFILL|AV* av Same as C or C. -=for apidoc Am|int|av_tindex|AV* av +=for apidoc av_tindex Same as C. +=for apidoc m|int|AvFILLp|AV* av + =cut */ diff --git a/Master/tlpkg/tlperl/lib/CORE/charclass_invlists.h b/Master/tlpkg/tlperl/lib/CORE/charclass_invlists.h index cf5cc3f27dd..9a6a9cf789c 100644 --- a/Master/tlpkg/tlperl/lib/CORE/charclass_invlists.h +++ b/Master/tlpkg/tlperl/lib/CORE/charclass_invlists.h @@ -6,6 +6,24 @@ /* See the generating file for comments */ +/* This gives the number of code points that can be in the bitmap of an ANYOF + * node. The shift number must currently be one of: 8..12. It can't be less + * than 8 (256) because some code relies on it being at least that. Above 12 + * (4096), and you start running into warnings that some data structure widths + * have been exceeded, though the test suite as of this writing still passes + * for up through 16, which is as high as anyone would ever want to go, + * encompassing all of the Unicode BMP, and thus including all the economically + * important world scripts. At 12 most of them are: including Arabic, + * Cyrillic, Greek, Hebrew, Indian subcontinent, Latin, and Thai; but not Han, + * Japanese, nor Korean. (The regarglen structure in regnodes.h is a U8, and + * the trie types TRIEC and AHOCORASICKC are larger than U8 for shift values + * above 12.) Be sure to benchmark before changing, as larger sizes do + * significantly slow down the test suite */ + +#define NUM_ANYOF_CODE_POINTS (1 << 8) + +/* The precision to use in "%.*e" formats */ +#define PL_E_FORMAT_PRECISION 2 #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) @@ -27,6 +45,8 @@ static const UV AboveLatin1_invlist[] = { 0x100 }; +static const UV * const InBitmap_invlist = Latin1_invlist; + #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) @@ -34,7 +54,7 @@ static const UV AboveLatin1_invlist[] = { # if 'A' == 65 /* ASCII/Latin1 */ static const UV Case_Folding_invlist[] = { /* for ASCII/Latin1 */ - 1393, /* Number of elements */ + 1398, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -1402,6 +1422,11 @@ static const UV Case_Folding_invlist[] = { /* for ASCII/Latin1 */ 0xA7C5, 0xA7C6, 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7F5, + 0xA7F6, 0xAB70, 0xABC0, 0xFB00, @@ -1524,386 +1549,386 @@ typedef enum { #define HAS_CF_AUX_TABLES -static const unsigned int CF_AUX_TABLE_1[] = { +static const U32 CF_AUX_TABLE_1[] = { 0x73, 0x73 }; -static const unsigned int CF_AUX_TABLE_2[] = { +static const U32 CF_AUX_TABLE_2[] = { 0x69, 0x307 }; -static const unsigned int CF_AUX_TABLE_3[] = { +static const U32 CF_AUX_TABLE_3[] = { 0x2BC, 0x6E }; -static const unsigned int CF_AUX_TABLE_4[] = { +static const U32 CF_AUX_TABLE_4[] = { 0x6A, 0x30C }; -static const unsigned int CF_AUX_TABLE_5[] = { +static const U32 CF_AUX_TABLE_5[] = { 0x3B9, 0x308, 0x301 }; -static const unsigned int CF_AUX_TABLE_6[] = { +static const U32 CF_AUX_TABLE_6[] = { 0x3C5, 0x308, 0x301 }; -static const unsigned int CF_AUX_TABLE_7[] = { +static const U32 CF_AUX_TABLE_7[] = { 0x565, 0x582 }; -static const unsigned int CF_AUX_TABLE_8[] = { +static const U32 CF_AUX_TABLE_8[] = { 0x68, 0x331 }; -static const unsigned int CF_AUX_TABLE_9[] = { +static const U32 CF_AUX_TABLE_9[] = { 0x74, 0x308 }; -static const unsigned int CF_AUX_TABLE_10[] = { +static const U32 CF_AUX_TABLE_10[] = { 0x77, 0x30A }; -static const unsigned int CF_AUX_TABLE_11[] = { +static const U32 CF_AUX_TABLE_11[] = { 0x79, 0x30A }; -static const unsigned int CF_AUX_TABLE_12[] = { +static const U32 CF_AUX_TABLE_12[] = { 0x61, 0x2BE }; -static const unsigned int CF_AUX_TABLE_13[] = { +static const U32 CF_AUX_TABLE_13[] = { 0x3C5, 0x313 }; -static const unsigned int CF_AUX_TABLE_14[] = { +static const U32 CF_AUX_TABLE_14[] = { 0x3C5, 0x313, 0x300 }; -static const unsigned int CF_AUX_TABLE_15[] = { +static const U32 CF_AUX_TABLE_15[] = { 0x3C5, 0x313, 0x301 }; -static const unsigned int CF_AUX_TABLE_16[] = { +static const U32 CF_AUX_TABLE_16[] = { 0x3C5, 0x313, 0x342 }; -static const unsigned int CF_AUX_TABLE_17[] = { +static const U32 CF_AUX_TABLE_17[] = { 0x1F00, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_18[] = { +static const U32 CF_AUX_TABLE_18[] = { 0x1F01, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_19[] = { +static const U32 CF_AUX_TABLE_19[] = { 0x1F02, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_20[] = { +static const U32 CF_AUX_TABLE_20[] = { 0x1F03, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_21[] = { +static const U32 CF_AUX_TABLE_21[] = { 0x1F04, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_22[] = { +static const U32 CF_AUX_TABLE_22[] = { 0x1F05, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_23[] = { +static const U32 CF_AUX_TABLE_23[] = { 0x1F06, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_24[] = { +static const U32 CF_AUX_TABLE_24[] = { 0x1F07, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_25[] = { +static const U32 CF_AUX_TABLE_25[] = { 0x1F20, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_26[] = { +static const U32 CF_AUX_TABLE_26[] = { 0x1F21, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_27[] = { +static const U32 CF_AUX_TABLE_27[] = { 0x1F22, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_28[] = { +static const U32 CF_AUX_TABLE_28[] = { 0x1F23, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_29[] = { +static const U32 CF_AUX_TABLE_29[] = { 0x1F24, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_30[] = { +static const U32 CF_AUX_TABLE_30[] = { 0x1F25, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_31[] = { +static const U32 CF_AUX_TABLE_31[] = { 0x1F26, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_32[] = { +static const U32 CF_AUX_TABLE_32[] = { 0x1F27, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_33[] = { +static const U32 CF_AUX_TABLE_33[] = { 0x1F60, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_34[] = { +static const U32 CF_AUX_TABLE_34[] = { 0x1F61, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_35[] = { +static const U32 CF_AUX_TABLE_35[] = { 0x1F62, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_36[] = { +static const U32 CF_AUX_TABLE_36[] = { 0x1F63, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_37[] = { +static const U32 CF_AUX_TABLE_37[] = { 0x1F64, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_38[] = { +static const U32 CF_AUX_TABLE_38[] = { 0x1F65, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_39[] = { +static const U32 CF_AUX_TABLE_39[] = { 0x1F66, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_40[] = { +static const U32 CF_AUX_TABLE_40[] = { 0x1F67, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_41[] = { +static const U32 CF_AUX_TABLE_41[] = { 0x1F70, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_42[] = { +static const U32 CF_AUX_TABLE_42[] = { 0x3B1, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_43[] = { +static const U32 CF_AUX_TABLE_43[] = { 0x3AC, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_44[] = { +static const U32 CF_AUX_TABLE_44[] = { 0x3B1, 0x342 }; -static const unsigned int CF_AUX_TABLE_45[] = { +static const U32 CF_AUX_TABLE_45[] = { 0x3B1, 0x342, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_46[] = { +static const U32 CF_AUX_TABLE_46[] = { 0x1F74, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_47[] = { +static const U32 CF_AUX_TABLE_47[] = { 0x3B7, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_48[] = { +static const U32 CF_AUX_TABLE_48[] = { 0x3AE, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_49[] = { +static const U32 CF_AUX_TABLE_49[] = { 0x3B7, 0x342 }; -static const unsigned int CF_AUX_TABLE_50[] = { +static const U32 CF_AUX_TABLE_50[] = { 0x3B7, 0x342, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_51[] = { +static const U32 CF_AUX_TABLE_51[] = { 0x3B9, 0x308, 0x300 }; -static const unsigned int CF_AUX_TABLE_52[] = { +static const U32 CF_AUX_TABLE_52[] = { 0x3B9, 0x342 }; -static const unsigned int CF_AUX_TABLE_53[] = { +static const U32 CF_AUX_TABLE_53[] = { 0x3B9, 0x308, 0x342 }; -static const unsigned int CF_AUX_TABLE_54[] = { +static const U32 CF_AUX_TABLE_54[] = { 0x3C5, 0x308, 0x300 }; -static const unsigned int CF_AUX_TABLE_55[] = { +static const U32 CF_AUX_TABLE_55[] = { 0x3C1, 0x313 }; -static const unsigned int CF_AUX_TABLE_56[] = { +static const U32 CF_AUX_TABLE_56[] = { 0x3C5, 0x342 }; -static const unsigned int CF_AUX_TABLE_57[] = { +static const U32 CF_AUX_TABLE_57[] = { 0x3C5, 0x308, 0x342 }; -static const unsigned int CF_AUX_TABLE_58[] = { +static const U32 CF_AUX_TABLE_58[] = { 0x1F7C, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_59[] = { +static const U32 CF_AUX_TABLE_59[] = { 0x3C9, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_60[] = { +static const U32 CF_AUX_TABLE_60[] = { 0x3CE, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_61[] = { +static const U32 CF_AUX_TABLE_61[] = { 0x3C9, 0x342 }; -static const unsigned int CF_AUX_TABLE_62[] = { +static const U32 CF_AUX_TABLE_62[] = { 0x3C9, 0x342, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_63[] = { +static const U32 CF_AUX_TABLE_63[] = { 0x66, 0x66 }; -static const unsigned int CF_AUX_TABLE_64[] = { +static const U32 CF_AUX_TABLE_64[] = { 0x66, 0x69 }; -static const unsigned int CF_AUX_TABLE_65[] = { +static const U32 CF_AUX_TABLE_65[] = { 0x66, 0x6C }; -static const unsigned int CF_AUX_TABLE_66[] = { +static const U32 CF_AUX_TABLE_66[] = { 0x66, 0x66, 0x69 }; -static const unsigned int CF_AUX_TABLE_67[] = { +static const U32 CF_AUX_TABLE_67[] = { 0x66, 0x66, 0x6C }; -static const unsigned int CF_AUX_TABLE_68[] = { +static const U32 CF_AUX_TABLE_68[] = { 0x73, 0x74 }; -static const unsigned int CF_AUX_TABLE_69[] = { +static const U32 CF_AUX_TABLE_69[] = { 0x574, 0x576 }; -static const unsigned int CF_AUX_TABLE_70[] = { +static const U32 CF_AUX_TABLE_70[] = { 0x574, 0x565 }; -static const unsigned int CF_AUX_TABLE_71[] = { +static const U32 CF_AUX_TABLE_71[] = { 0x574, 0x56B }; -static const unsigned int CF_AUX_TABLE_72[] = { +static const U32 CF_AUX_TABLE_72[] = { 0x57E, 0x576 }; -static const unsigned int CF_AUX_TABLE_73[] = { +static const U32 CF_AUX_TABLE_73[] = { 0x574, 0x56D }; -static const unsigned int * const CF_AUX_TABLE_ptrs[] = { +static const U32 * const CF_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ CF_AUX_TABLE_1, CF_AUX_TABLE_2, @@ -2060,7 +2085,7 @@ static const U8 CF_AUX_TABLE_lengths[] = { 2 /* CF_AUX_TABLE_73 */ }; -static const int Case_Folding_invmap[] = { /* for ASCII/Latin1 */ +static const I32 Case_Folding_invmap[] = { /* for ASCII/Latin1 */ 0, 0x61, 0, @@ -3424,6 +3449,11 @@ static const int Case_Folding_invmap[] = { /* for ASCII/Latin1 */ 0xA794, 0x282, 0x1D8E, + 0xA7C8, + 0, + 0xA7CA, + 0, + 0xA7F6, 0, 0x13A0, 0, @@ -3468,7 +3498,7 @@ static const int Case_Folding_invmap[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV Case_Folding_invlist[] = { /* for EBCDIC 1047 */ - 1412, /* Number of elements */ + 1417, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -4855,6 +4885,11 @@ static const UV Case_Folding_invlist[] = { /* for EBCDIC 1047 */ 0xA7C5, 0xA7C6, 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7F5, + 0xA7F6, 0xAB70, 0xABC0, 0xFB00, @@ -4980,386 +5015,386 @@ typedef enum { #define HAS_CF_AUX_TABLES -static const unsigned int CF_AUX_TABLE_1[] = { +static const U32 CF_AUX_TABLE_1[] = { 0xA2, 0xA2 }; -static const unsigned int CF_AUX_TABLE_2[] = { +static const U32 CF_AUX_TABLE_2[] = { 0x89, 0x307 }; -static const unsigned int CF_AUX_TABLE_3[] = { +static const U32 CF_AUX_TABLE_3[] = { 0x2BC, 0x95 }; -static const unsigned int CF_AUX_TABLE_4[] = { +static const U32 CF_AUX_TABLE_4[] = { 0x91, 0x30C }; -static const unsigned int CF_AUX_TABLE_5[] = { +static const U32 CF_AUX_TABLE_5[] = { 0x3B9, 0x308, 0x301 }; -static const unsigned int CF_AUX_TABLE_6[] = { +static const U32 CF_AUX_TABLE_6[] = { 0x3C5, 0x308, 0x301 }; -static const unsigned int CF_AUX_TABLE_7[] = { +static const U32 CF_AUX_TABLE_7[] = { 0x565, 0x582 }; -static const unsigned int CF_AUX_TABLE_8[] = { +static const U32 CF_AUX_TABLE_8[] = { 0x88, 0x331 }; -static const unsigned int CF_AUX_TABLE_9[] = { +static const U32 CF_AUX_TABLE_9[] = { 0xA3, 0x308 }; -static const unsigned int CF_AUX_TABLE_10[] = { +static const U32 CF_AUX_TABLE_10[] = { 0xA6, 0x30A }; -static const unsigned int CF_AUX_TABLE_11[] = { +static const U32 CF_AUX_TABLE_11[] = { 0xA8, 0x30A }; -static const unsigned int CF_AUX_TABLE_12[] = { +static const U32 CF_AUX_TABLE_12[] = { 0x81, 0x2BE }; -static const unsigned int CF_AUX_TABLE_13[] = { +static const U32 CF_AUX_TABLE_13[] = { 0x3C5, 0x313 }; -static const unsigned int CF_AUX_TABLE_14[] = { +static const U32 CF_AUX_TABLE_14[] = { 0x3C5, 0x313, 0x300 }; -static const unsigned int CF_AUX_TABLE_15[] = { +static const U32 CF_AUX_TABLE_15[] = { 0x3C5, 0x313, 0x301 }; -static const unsigned int CF_AUX_TABLE_16[] = { +static const U32 CF_AUX_TABLE_16[] = { 0x3C5, 0x313, 0x342 }; -static const unsigned int CF_AUX_TABLE_17[] = { +static const U32 CF_AUX_TABLE_17[] = { 0x1F00, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_18[] = { +static const U32 CF_AUX_TABLE_18[] = { 0x1F01, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_19[] = { +static const U32 CF_AUX_TABLE_19[] = { 0x1F02, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_20[] = { +static const U32 CF_AUX_TABLE_20[] = { 0x1F03, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_21[] = { +static const U32 CF_AUX_TABLE_21[] = { 0x1F04, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_22[] = { +static const U32 CF_AUX_TABLE_22[] = { 0x1F05, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_23[] = { +static const U32 CF_AUX_TABLE_23[] = { 0x1F06, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_24[] = { +static const U32 CF_AUX_TABLE_24[] = { 0x1F07, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_25[] = { +static const U32 CF_AUX_TABLE_25[] = { 0x1F20, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_26[] = { +static const U32 CF_AUX_TABLE_26[] = { 0x1F21, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_27[] = { +static const U32 CF_AUX_TABLE_27[] = { 0x1F22, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_28[] = { +static const U32 CF_AUX_TABLE_28[] = { 0x1F23, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_29[] = { +static const U32 CF_AUX_TABLE_29[] = { 0x1F24, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_30[] = { +static const U32 CF_AUX_TABLE_30[] = { 0x1F25, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_31[] = { +static const U32 CF_AUX_TABLE_31[] = { 0x1F26, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_32[] = { +static const U32 CF_AUX_TABLE_32[] = { 0x1F27, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_33[] = { +static const U32 CF_AUX_TABLE_33[] = { 0x1F60, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_34[] = { +static const U32 CF_AUX_TABLE_34[] = { 0x1F61, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_35[] = { +static const U32 CF_AUX_TABLE_35[] = { 0x1F62, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_36[] = { +static const U32 CF_AUX_TABLE_36[] = { 0x1F63, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_37[] = { +static const U32 CF_AUX_TABLE_37[] = { 0x1F64, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_38[] = { +static const U32 CF_AUX_TABLE_38[] = { 0x1F65, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_39[] = { +static const U32 CF_AUX_TABLE_39[] = { 0x1F66, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_40[] = { +static const U32 CF_AUX_TABLE_40[] = { 0x1F67, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_41[] = { +static const U32 CF_AUX_TABLE_41[] = { 0x1F70, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_42[] = { +static const U32 CF_AUX_TABLE_42[] = { 0x3B1, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_43[] = { +static const U32 CF_AUX_TABLE_43[] = { 0x3AC, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_44[] = { +static const U32 CF_AUX_TABLE_44[] = { 0x3B1, 0x342 }; -static const unsigned int CF_AUX_TABLE_45[] = { +static const U32 CF_AUX_TABLE_45[] = { 0x3B1, 0x342, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_46[] = { +static const U32 CF_AUX_TABLE_46[] = { 0x1F74, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_47[] = { +static const U32 CF_AUX_TABLE_47[] = { 0x3B7, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_48[] = { +static const U32 CF_AUX_TABLE_48[] = { 0x3AE, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_49[] = { +static const U32 CF_AUX_TABLE_49[] = { 0x3B7, 0x342 }; -static const unsigned int CF_AUX_TABLE_50[] = { +static const U32 CF_AUX_TABLE_50[] = { 0x3B7, 0x342, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_51[] = { +static const U32 CF_AUX_TABLE_51[] = { 0x3B9, 0x308, 0x300 }; -static const unsigned int CF_AUX_TABLE_52[] = { +static const U32 CF_AUX_TABLE_52[] = { 0x3B9, 0x342 }; -static const unsigned int CF_AUX_TABLE_53[] = { +static const U32 CF_AUX_TABLE_53[] = { 0x3B9, 0x308, 0x342 }; -static const unsigned int CF_AUX_TABLE_54[] = { +static const U32 CF_AUX_TABLE_54[] = { 0x3C5, 0x308, 0x300 }; -static const unsigned int CF_AUX_TABLE_55[] = { +static const U32 CF_AUX_TABLE_55[] = { 0x3C1, 0x313 }; -static const unsigned int CF_AUX_TABLE_56[] = { +static const U32 CF_AUX_TABLE_56[] = { 0x3C5, 0x342 }; -static const unsigned int CF_AUX_TABLE_57[] = { +static const U32 CF_AUX_TABLE_57[] = { 0x3C5, 0x308, 0x342 }; -static const unsigned int CF_AUX_TABLE_58[] = { +static const U32 CF_AUX_TABLE_58[] = { 0x1F7C, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_59[] = { +static const U32 CF_AUX_TABLE_59[] = { 0x3C9, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_60[] = { +static const U32 CF_AUX_TABLE_60[] = { 0x3CE, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_61[] = { +static const U32 CF_AUX_TABLE_61[] = { 0x3C9, 0x342 }; -static const unsigned int CF_AUX_TABLE_62[] = { +static const U32 CF_AUX_TABLE_62[] = { 0x3C9, 0x342, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_63[] = { +static const U32 CF_AUX_TABLE_63[] = { 0x86, 0x86 }; -static const unsigned int CF_AUX_TABLE_64[] = { +static const U32 CF_AUX_TABLE_64[] = { 0x86, 0x89 }; -static const unsigned int CF_AUX_TABLE_65[] = { +static const U32 CF_AUX_TABLE_65[] = { 0x86, 0x93 }; -static const unsigned int CF_AUX_TABLE_66[] = { +static const U32 CF_AUX_TABLE_66[] = { 0x86, 0x86, 0x89 }; -static const unsigned int CF_AUX_TABLE_67[] = { +static const U32 CF_AUX_TABLE_67[] = { 0x86, 0x86, 0x93 }; -static const unsigned int CF_AUX_TABLE_68[] = { +static const U32 CF_AUX_TABLE_68[] = { 0xA2, 0xA3 }; -static const unsigned int CF_AUX_TABLE_69[] = { +static const U32 CF_AUX_TABLE_69[] = { 0x574, 0x576 }; -static const unsigned int CF_AUX_TABLE_70[] = { +static const U32 CF_AUX_TABLE_70[] = { 0x574, 0x565 }; -static const unsigned int CF_AUX_TABLE_71[] = { +static const U32 CF_AUX_TABLE_71[] = { 0x574, 0x56B }; -static const unsigned int CF_AUX_TABLE_72[] = { +static const U32 CF_AUX_TABLE_72[] = { 0x57E, 0x576 }; -static const unsigned int CF_AUX_TABLE_73[] = { +static const U32 CF_AUX_TABLE_73[] = { 0x574, 0x56D }; -static const unsigned int * const CF_AUX_TABLE_ptrs[] = { +static const U32 * const CF_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ CF_AUX_TABLE_1, CF_AUX_TABLE_2, @@ -5516,7 +5551,7 @@ static const U8 CF_AUX_TABLE_lengths[] = { 2 /* CF_AUX_TABLE_73 */ }; -static const int Case_Folding_invmap[] = { /* for EBCDIC 1047 */ +static const I32 Case_Folding_invmap[] = { /* for EBCDIC 1047 */ 0, CF_use_AUX_TABLE_1, 0, @@ -6899,6 +6934,11 @@ static const int Case_Folding_invmap[] = { /* for EBCDIC 1047 */ 0xA794, 0x282, 0x1D8E, + 0xA7C8, + 0, + 0xA7CA, + 0, + 0xA7F6, 0, 0x13A0, 0, @@ -6943,7 +6983,7 @@ static const int Case_Folding_invmap[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV Case_Folding_invlist[] = { /* for EBCDIC 037 */ - 1408, /* Number of elements */ + 1413, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -8326,6 +8366,11 @@ static const UV Case_Folding_invlist[] = { /* for EBCDIC 037 */ 0xA7C5, 0xA7C6, 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7F5, + 0xA7F6, 0xAB70, 0xABC0, 0xFB00, @@ -8451,386 +8496,386 @@ typedef enum { #define HAS_CF_AUX_TABLES -static const unsigned int CF_AUX_TABLE_1[] = { +static const U32 CF_AUX_TABLE_1[] = { 0xA2, 0xA2 }; -static const unsigned int CF_AUX_TABLE_2[] = { +static const U32 CF_AUX_TABLE_2[] = { 0x89, 0x307 }; -static const unsigned int CF_AUX_TABLE_3[] = { +static const U32 CF_AUX_TABLE_3[] = { 0x2BC, 0x95 }; -static const unsigned int CF_AUX_TABLE_4[] = { +static const U32 CF_AUX_TABLE_4[] = { 0x91, 0x30C }; -static const unsigned int CF_AUX_TABLE_5[] = { +static const U32 CF_AUX_TABLE_5[] = { 0x3B9, 0x308, 0x301 }; -static const unsigned int CF_AUX_TABLE_6[] = { +static const U32 CF_AUX_TABLE_6[] = { 0x3C5, 0x308, 0x301 }; -static const unsigned int CF_AUX_TABLE_7[] = { +static const U32 CF_AUX_TABLE_7[] = { 0x565, 0x582 }; -static const unsigned int CF_AUX_TABLE_8[] = { +static const U32 CF_AUX_TABLE_8[] = { 0x88, 0x331 }; -static const unsigned int CF_AUX_TABLE_9[] = { +static const U32 CF_AUX_TABLE_9[] = { 0xA3, 0x308 }; -static const unsigned int CF_AUX_TABLE_10[] = { +static const U32 CF_AUX_TABLE_10[] = { 0xA6, 0x30A }; -static const unsigned int CF_AUX_TABLE_11[] = { +static const U32 CF_AUX_TABLE_11[] = { 0xA8, 0x30A }; -static const unsigned int CF_AUX_TABLE_12[] = { +static const U32 CF_AUX_TABLE_12[] = { 0x81, 0x2BE }; -static const unsigned int CF_AUX_TABLE_13[] = { +static const U32 CF_AUX_TABLE_13[] = { 0x3C5, 0x313 }; -static const unsigned int CF_AUX_TABLE_14[] = { +static const U32 CF_AUX_TABLE_14[] = { 0x3C5, 0x313, 0x300 }; -static const unsigned int CF_AUX_TABLE_15[] = { +static const U32 CF_AUX_TABLE_15[] = { 0x3C5, 0x313, 0x301 }; -static const unsigned int CF_AUX_TABLE_16[] = { +static const U32 CF_AUX_TABLE_16[] = { 0x3C5, 0x313, 0x342 }; -static const unsigned int CF_AUX_TABLE_17[] = { +static const U32 CF_AUX_TABLE_17[] = { 0x1F00, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_18[] = { +static const U32 CF_AUX_TABLE_18[] = { 0x1F01, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_19[] = { +static const U32 CF_AUX_TABLE_19[] = { 0x1F02, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_20[] = { +static const U32 CF_AUX_TABLE_20[] = { 0x1F03, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_21[] = { +static const U32 CF_AUX_TABLE_21[] = { 0x1F04, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_22[] = { +static const U32 CF_AUX_TABLE_22[] = { 0x1F05, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_23[] = { +static const U32 CF_AUX_TABLE_23[] = { 0x1F06, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_24[] = { +static const U32 CF_AUX_TABLE_24[] = { 0x1F07, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_25[] = { +static const U32 CF_AUX_TABLE_25[] = { 0x1F20, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_26[] = { +static const U32 CF_AUX_TABLE_26[] = { 0x1F21, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_27[] = { +static const U32 CF_AUX_TABLE_27[] = { 0x1F22, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_28[] = { +static const U32 CF_AUX_TABLE_28[] = { 0x1F23, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_29[] = { +static const U32 CF_AUX_TABLE_29[] = { 0x1F24, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_30[] = { +static const U32 CF_AUX_TABLE_30[] = { 0x1F25, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_31[] = { +static const U32 CF_AUX_TABLE_31[] = { 0x1F26, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_32[] = { +static const U32 CF_AUX_TABLE_32[] = { 0x1F27, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_33[] = { +static const U32 CF_AUX_TABLE_33[] = { 0x1F60, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_34[] = { +static const U32 CF_AUX_TABLE_34[] = { 0x1F61, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_35[] = { +static const U32 CF_AUX_TABLE_35[] = { 0x1F62, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_36[] = { +static const U32 CF_AUX_TABLE_36[] = { 0x1F63, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_37[] = { +static const U32 CF_AUX_TABLE_37[] = { 0x1F64, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_38[] = { +static const U32 CF_AUX_TABLE_38[] = { 0x1F65, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_39[] = { +static const U32 CF_AUX_TABLE_39[] = { 0x1F66, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_40[] = { +static const U32 CF_AUX_TABLE_40[] = { 0x1F67, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_41[] = { +static const U32 CF_AUX_TABLE_41[] = { 0x1F70, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_42[] = { +static const U32 CF_AUX_TABLE_42[] = { 0x3B1, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_43[] = { +static const U32 CF_AUX_TABLE_43[] = { 0x3AC, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_44[] = { +static const U32 CF_AUX_TABLE_44[] = { 0x3B1, 0x342 }; -static const unsigned int CF_AUX_TABLE_45[] = { +static const U32 CF_AUX_TABLE_45[] = { 0x3B1, 0x342, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_46[] = { +static const U32 CF_AUX_TABLE_46[] = { 0x1F74, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_47[] = { +static const U32 CF_AUX_TABLE_47[] = { 0x3B7, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_48[] = { +static const U32 CF_AUX_TABLE_48[] = { 0x3AE, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_49[] = { +static const U32 CF_AUX_TABLE_49[] = { 0x3B7, 0x342 }; -static const unsigned int CF_AUX_TABLE_50[] = { +static const U32 CF_AUX_TABLE_50[] = { 0x3B7, 0x342, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_51[] = { +static const U32 CF_AUX_TABLE_51[] = { 0x3B9, 0x308, 0x300 }; -static const unsigned int CF_AUX_TABLE_52[] = { +static const U32 CF_AUX_TABLE_52[] = { 0x3B9, 0x342 }; -static const unsigned int CF_AUX_TABLE_53[] = { +static const U32 CF_AUX_TABLE_53[] = { 0x3B9, 0x308, 0x342 }; -static const unsigned int CF_AUX_TABLE_54[] = { +static const U32 CF_AUX_TABLE_54[] = { 0x3C5, 0x308, 0x300 }; -static const unsigned int CF_AUX_TABLE_55[] = { +static const U32 CF_AUX_TABLE_55[] = { 0x3C1, 0x313 }; -static const unsigned int CF_AUX_TABLE_56[] = { +static const U32 CF_AUX_TABLE_56[] = { 0x3C5, 0x342 }; -static const unsigned int CF_AUX_TABLE_57[] = { +static const U32 CF_AUX_TABLE_57[] = { 0x3C5, 0x308, 0x342 }; -static const unsigned int CF_AUX_TABLE_58[] = { +static const U32 CF_AUX_TABLE_58[] = { 0x1F7C, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_59[] = { +static const U32 CF_AUX_TABLE_59[] = { 0x3C9, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_60[] = { +static const U32 CF_AUX_TABLE_60[] = { 0x3CE, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_61[] = { +static const U32 CF_AUX_TABLE_61[] = { 0x3C9, 0x342 }; -static const unsigned int CF_AUX_TABLE_62[] = { +static const U32 CF_AUX_TABLE_62[] = { 0x3C9, 0x342, 0x3B9 }; -static const unsigned int CF_AUX_TABLE_63[] = { +static const U32 CF_AUX_TABLE_63[] = { 0x86, 0x86 }; -static const unsigned int CF_AUX_TABLE_64[] = { +static const U32 CF_AUX_TABLE_64[] = { 0x86, 0x89 }; -static const unsigned int CF_AUX_TABLE_65[] = { +static const U32 CF_AUX_TABLE_65[] = { 0x86, 0x93 }; -static const unsigned int CF_AUX_TABLE_66[] = { +static const U32 CF_AUX_TABLE_66[] = { 0x86, 0x86, 0x89 }; -static const unsigned int CF_AUX_TABLE_67[] = { +static const U32 CF_AUX_TABLE_67[] = { 0x86, 0x86, 0x93 }; -static const unsigned int CF_AUX_TABLE_68[] = { +static const U32 CF_AUX_TABLE_68[] = { 0xA2, 0xA3 }; -static const unsigned int CF_AUX_TABLE_69[] = { +static const U32 CF_AUX_TABLE_69[] = { 0x574, 0x576 }; -static const unsigned int CF_AUX_TABLE_70[] = { +static const U32 CF_AUX_TABLE_70[] = { 0x574, 0x565 }; -static const unsigned int CF_AUX_TABLE_71[] = { +static const U32 CF_AUX_TABLE_71[] = { 0x574, 0x56B }; -static const unsigned int CF_AUX_TABLE_72[] = { +static const U32 CF_AUX_TABLE_72[] = { 0x57E, 0x576 }; -static const unsigned int CF_AUX_TABLE_73[] = { +static const U32 CF_AUX_TABLE_73[] = { 0x574, 0x56D }; -static const unsigned int * const CF_AUX_TABLE_ptrs[] = { +static const U32 * const CF_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ CF_AUX_TABLE_1, CF_AUX_TABLE_2, @@ -8987,7 +9032,7 @@ static const U8 CF_AUX_TABLE_lengths[] = { 2 /* CF_AUX_TABLE_73 */ }; -static const int Case_Folding_invmap[] = { /* for EBCDIC 037 */ +static const I32 Case_Folding_invmap[] = { /* for EBCDIC 037 */ 0, CF_use_AUX_TABLE_1, 0, @@ -10366,6 +10411,11 @@ static const int Case_Folding_invmap[] = { /* for EBCDIC 037 */ 0xA794, 0x282, 0x1D8E, + 0xA7C8, + 0, + 0xA7CA, + 0, + 0xA7F6, 0, 0x13A0, 0, @@ -10407,7 +10457,7 @@ static const int Case_Folding_invmap[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV Lowercase_Mapping_invlist[] = { /* for ASCII/Latin1 */ - 1257, /* Number of elements */ + 1262, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -11654,6 +11704,11 @@ static const UV Lowercase_Mapping_invlist[] = { /* for ASCII/Latin1 */ 0xA7C5, 0xA7C6, 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7F5, + 0xA7F6, 0xFF21, 0xFF3B, 0x10400, @@ -11689,12 +11744,12 @@ typedef enum { #define HAS_LC_AUX_TABLES -static const unsigned int LC_AUX_TABLE_1[] = { +static const U32 LC_AUX_TABLE_1[] = { 0x69, 0x307 }; -static const unsigned int * const LC_AUX_TABLE_ptrs[] = { +static const U32 * const LC_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ LC_AUX_TABLE_1 }; @@ -11707,7 +11762,7 @@ static const U8 LC_AUX_TABLE_lengths[] = { 2 /* LC_AUX_TABLE_1 */ }; -static const int Lowercase_Mapping_invmap[] = { /* for ASCII/Latin1 */ +static const I32 Lowercase_Mapping_invmap[] = { /* for ASCII/Latin1 */ 0, 0x61, 0, @@ -12950,6 +13005,11 @@ static const int Lowercase_Mapping_invmap[] = { /* for ASCII/Latin1 */ 0xA794, 0x282, 0x1D8E, + 0xA7C8, + 0, + 0xA7CA, + 0, + 0xA7F6, 0, 0xFF41, 0, @@ -12979,7 +13039,7 @@ static const int Lowercase_Mapping_invmap[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV Lowercase_Mapping_invlist[] = { /* for EBCDIC 1047 */ - 1275, /* Number of elements */ + 1280, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -14244,6 +14304,11 @@ static const UV Lowercase_Mapping_invlist[] = { /* for EBCDIC 1047 */ 0xA7C5, 0xA7C6, 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7F5, + 0xA7F6, 0xFF21, 0xFF3B, 0x10400, @@ -14282,12 +14347,12 @@ typedef enum { #define HAS_LC_AUX_TABLES -static const unsigned int LC_AUX_TABLE_1[] = { +static const U32 LC_AUX_TABLE_1[] = { 0x89, 0x307 }; -static const unsigned int * const LC_AUX_TABLE_ptrs[] = { +static const U32 * const LC_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ LC_AUX_TABLE_1 }; @@ -14300,7 +14365,7 @@ static const U8 LC_AUX_TABLE_lengths[] = { 2 /* LC_AUX_TABLE_1 */ }; -static const int Lowercase_Mapping_invmap[] = { /* for EBCDIC 1047 */ +static const I32 Lowercase_Mapping_invmap[] = { /* for EBCDIC 1047 */ 0, 0x42, 0, @@ -15561,6 +15626,11 @@ static const int Lowercase_Mapping_invmap[] = { /* for EBCDIC 1047 */ 0xA794, 0x282, 0x1D8E, + 0xA7C8, + 0, + 0xA7CA, + 0, + 0xA7F6, 0, 0xFF41, 0, @@ -15590,7 +15660,7 @@ static const int Lowercase_Mapping_invmap[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV Lowercase_Mapping_invlist[] = { /* for EBCDIC 037 */ - 1271, /* Number of elements */ + 1276, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -16851,6 +16921,11 @@ static const UV Lowercase_Mapping_invlist[] = { /* for EBCDIC 037 */ 0xA7C5, 0xA7C6, 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7F5, + 0xA7F6, 0xFF21, 0xFF3B, 0x10400, @@ -16889,12 +16964,12 @@ typedef enum { #define HAS_LC_AUX_TABLES -static const unsigned int LC_AUX_TABLE_1[] = { +static const U32 LC_AUX_TABLE_1[] = { 0x89, 0x307 }; -static const unsigned int * const LC_AUX_TABLE_ptrs[] = { +static const U32 * const LC_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ LC_AUX_TABLE_1 }; @@ -16907,7 +16982,7 @@ static const U8 LC_AUX_TABLE_lengths[] = { 2 /* LC_AUX_TABLE_1 */ }; -static const int Lowercase_Mapping_invmap[] = { /* for EBCDIC 037 */ +static const I32 Lowercase_Mapping_invmap[] = { /* for EBCDIC 037 */ 0, 0x42, 0, @@ -18164,6 +18239,11 @@ static const int Lowercase_Mapping_invmap[] = { /* for EBCDIC 037 */ 0xA794, 0x282, 0x1D8E, + 0xA7C8, + 0, + 0xA7CA, + 0, + 0xA7F6, 0, 0xFF41, 0, @@ -18188,7 +18268,7 @@ static const int Lowercase_Mapping_invmap[] = { /* for EBCDIC 037 */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) static const UV _Perl_CCC_non0_non230_invlist[] = { /* for all charsets */ - 349, /* Number of elements */ + 359, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -18381,6 +18461,8 @@ static const UV _Perl_CCC_non0_non230_invlist[] = { /* for all charsets */ 0x1ABB, 0x1ABD, 0x1ABE, + 0x1ABF, + 0x1AC1, 0x1B34, 0x1B35, 0x1B44, @@ -18433,6 +18515,8 @@ static const UV _Perl_CCC_non0_non230_invlist[] = { /* for all charsets */ 0x309B, 0xA806, 0xA807, + 0xA82C, + 0xA82D, 0xA8C4, 0xA8C5, 0xA92B, @@ -18509,6 +18593,10 @@ static const UV _Perl_CCC_non0_non230_invlist[] = { /* for all charsets */ 0x1172C, 0x11839, 0x1183B, + 0x1193D, + 0x1193F, + 0x11943, + 0x11944, 0x119E0, 0x119E1, 0x11A34, @@ -18527,6 +18615,8 @@ static const UV _Perl_CCC_non0_non230_invlist[] = { /* for all charsets */ 0x11D98, 0x16AF0, 0x16AF5, + 0x16FF0, + 0x16FF2, 0x1BC9E, 0x1BC9F, 0x1D165, @@ -18546,7 +18636,7 @@ static const UV _Perl_CCC_non0_non230_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV _Perl_GCB_invlist[] = { /* for ASCII/Latin1 */ - 1777, /* Number of elements */ + 1805, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -18707,7 +18797,7 @@ static const UV _Perl_GCB_invlist[] = { /* for ASCII/Latin1 */ 0xB4B, 0xB4D, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB62, 0xB64, @@ -18780,6 +18870,7 @@ static const UV _Perl_GCB_invlist[] = { /* for ASCII/Latin1 */ 0xD58, 0xD62, 0xD64, + 0xD81, 0xD82, 0xD84, 0xDCA, @@ -18916,7 +19007,7 @@ static const UV _Perl_GCB_invlist[] = { /* for ASCII/Latin1 */ 0x1A7F, 0x1A80, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B04, 0x1B05, @@ -19104,6 +19195,8 @@ static const UV _Perl_GCB_invlist[] = { /* for ASCII/Latin1 */ 0xA825, 0xA827, 0xA828, + 0xA82C, + 0xA82D, 0xA880, 0xA882, 0xA8B4, @@ -20006,6 +20099,8 @@ static const UV _Perl_GCB_invlist[] = { /* for ASCII/Latin1 */ 0x10AE7, 0x10D24, 0x10D28, + 0x10EAB, + 0x10EAD, 0x10F46, 0x10F51, 0x11000, @@ -20047,6 +20142,9 @@ static const UV _Perl_GCB_invlist[] = { /* for ASCII/Latin1 */ 0x111C4, 0x111C9, 0x111CD, + 0x111CE, + 0x111CF, + 0x111D0, 0x1122C, 0x1122F, 0x11232, @@ -20140,6 +20238,20 @@ static const UV _Perl_GCB_invlist[] = { /* for ASCII/Latin1 */ 0x11838, 0x11839, 0x1183B, + 0x11930, + 0x11931, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x1193D, + 0x1193E, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, + 0x11943, + 0x11944, 0x119D1, 0x119D4, 0x119D8, @@ -20217,6 +20329,10 @@ static const UV _Perl_GCB_invlist[] = { /* for ASCII/Latin1 */ 0x16F88, 0x16F8F, 0x16F93, + 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x1BC9D, 0x1BC9F, 0x1BCA0, @@ -20320,6 +20436,8 @@ static const UV _Perl_GCB_invlist[] = { /* for ASCII/Latin1 */ 0x1F93C, 0x1F946, 0x1F947, + 0x1FB00, + 0x1FC00, 0x1FFFE, 0xE0000, 0xE0020, @@ -20339,21 +20457,21 @@ static const UV _Perl_GCB_invlist[] = { /* for ASCII/Latin1 */ typedef enum { GCB_Other = 0, - GCB_CR = 1, - GCB_Control = 2, - GCB_Extend = 3, - GCB_L = 4, - GCB_LF = 5, - GCB_LV = 6, - GCB_LVT = 7, - GCB_Prepend = 8, - GCB_Regional_Indicator = 9, - GCB_SpacingMark = 10, - GCB_T = 11, - GCB_V = 12, - GCB_XPG_XX = 13, - GCB_ZWJ = 14, - GCB_EDGE = 15, + GCB_Control = 1, + GCB_CR = 2, + GCB_EDGE = 3, + GCB_ExtPict_XX = 4, + GCB_Extend = 5, + GCB_L = 6, + GCB_LF = 7, + GCB_LV = 8, + GCB_LVT = 9, + GCB_Prepend = 10, + GCB_Regional_Indicator = 11, + GCB_SpacingMark = 12, + GCB_T = 13, + GCB_V = 14, + GCB_ZWJ = 15, GCB_E_Base = 16, GCB_E_Base_GAZ = 16, GCB_E_Modifier = 16, @@ -20369,10 +20487,10 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for ASCII/Latin1 */ GCB_Other, GCB_Control, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, GCB_Control, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, GCB_Extend, GCB_Other, @@ -20591,6 +20709,7 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for ASCII/Latin1 */ GCB_Other, GCB_Extend, GCB_Other, + GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, @@ -20788,97 +20907,97 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for ASCII/Latin1 */ GCB_Other, GCB_Control, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, GCB_Control, GCB_Other, GCB_Extend, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, GCB_Extend, GCB_Other, @@ -20887,15 +21006,15 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for ASCII/Latin1 */ GCB_Extend, GCB_Other, GCB_Extend, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, GCB_Extend, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, GCB_Extend, GCB_Other, @@ -20915,6 +21034,8 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for ASCII/Latin1 */ GCB_Extend, GCB_SpacingMark, GCB_Other, + GCB_Extend, + GCB_Other, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, @@ -21819,6 +21940,8 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for ASCII/Latin1 */ GCB_Other, GCB_Extend, GCB_Other, + GCB_Extend, + GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, @@ -21860,6 +21983,9 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for ASCII/Latin1 */ GCB_Other, GCB_SpacingMark, GCB_Extend, + GCB_Other, + GCB_SpacingMark, + GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, @@ -21951,6 +22077,20 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for ASCII/Latin1 */ GCB_SpacingMark, GCB_Extend, GCB_Other, + GCB_Extend, + GCB_SpacingMark, + GCB_Other, + GCB_SpacingMark, + GCB_Other, + GCB_Extend, + GCB_SpacingMark, + GCB_Extend, + GCB_Prepend, + GCB_SpacingMark, + GCB_Prepend, + GCB_SpacingMark, + GCB_Extend, + GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, @@ -22030,6 +22170,10 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for ASCII/Latin1 */ GCB_Other, GCB_Extend, GCB_Other, + GCB_SpacingMark, + GCB_Other, + GCB_Extend, + GCB_Other, GCB_Control, GCB_Other, GCB_Extend, @@ -22077,60 +22221,62 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for ASCII/Latin1 */ GCB_Other, GCB_Extend, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Regional_Indicator, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Extend, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, + GCB_Other, + GCB_ExtPict_XX, GCB_Other, GCB_Control, GCB_Extend, @@ -22152,7 +22298,7 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 1047 */ - 1778, /* Number of elements */ + 1806, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -22314,7 +22460,7 @@ static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 1047 */ 0xB4B, 0xB4D, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB62, 0xB64, @@ -22387,6 +22533,7 @@ static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 1047 */ 0xD58, 0xD62, 0xD64, + 0xD81, 0xD82, 0xD84, 0xDCA, @@ -22523,7 +22670,7 @@ static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 1047 */ 0x1A7F, 0x1A80, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B04, 0x1B05, @@ -22711,6 +22858,8 @@ static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 1047 */ 0xA825, 0xA827, 0xA828, + 0xA82C, + 0xA82D, 0xA880, 0xA882, 0xA8B4, @@ -23613,6 +23762,8 @@ static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 1047 */ 0x10AE7, 0x10D24, 0x10D28, + 0x10EAB, + 0x10EAD, 0x10F46, 0x10F51, 0x11000, @@ -23654,6 +23805,9 @@ static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 1047 */ 0x111C4, 0x111C9, 0x111CD, + 0x111CE, + 0x111CF, + 0x111D0, 0x1122C, 0x1122F, 0x11232, @@ -23747,6 +23901,20 @@ static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 1047 */ 0x11838, 0x11839, 0x1183B, + 0x11930, + 0x11931, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x1193D, + 0x1193E, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, + 0x11943, + 0x11944, 0x119D1, 0x119D4, 0x119D8, @@ -23824,6 +23992,10 @@ static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 1047 */ 0x16F88, 0x16F8F, 0x16F93, + 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x1BC9D, 0x1BC9F, 0x1BCA0, @@ -23927,6 +24099,8 @@ static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 1047 */ 0x1F93C, 0x1F946, 0x1F947, + 0x1FB00, + 0x1FC00, 0x1FFFE, 0xE0000, 0xE0020, @@ -23949,21 +24123,21 @@ static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 1047 */ typedef enum { GCB_Other = 0, - GCB_CR = 1, - GCB_Control = 2, - GCB_Extend = 3, - GCB_L = 4, - GCB_LF = 5, - GCB_LV = 6, - GCB_LVT = 7, - GCB_Prepend = 8, - GCB_Regional_Indicator = 9, - GCB_SpacingMark = 10, - GCB_T = 11, - GCB_V = 12, - GCB_XPG_XX = 13, - GCB_ZWJ = 14, - GCB_EDGE = 15, + GCB_Control = 1, + GCB_CR = 2, + GCB_EDGE = 3, + GCB_ExtPict_XX = 4, + GCB_Extend = 5, + GCB_L = 6, + GCB_LF = 7, + GCB_LV = 8, + GCB_LVT = 9, + GCB_Prepend = 10, + GCB_Regional_Indicator = 11, + GCB_SpacingMark = 12, + GCB_T = 13, + GCB_V = 14, + GCB_ZWJ = 15, GCB_E_Base = 16, GCB_E_Base_GAZ = 16, GCB_E_Modifier = 16, @@ -23977,9 +24151,9 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 1047 */ GCB_LF, GCB_Control, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, GCB_Control, GCB_Other, @@ -24202,6 +24376,7 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 1047 */ GCB_Other, GCB_Extend, GCB_Other, + GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, @@ -24399,97 +24574,97 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 1047 */ GCB_Other, GCB_Control, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, GCB_Control, GCB_Other, GCB_Extend, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, GCB_Extend, GCB_Other, @@ -24498,15 +24673,15 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 1047 */ GCB_Extend, GCB_Other, GCB_Extend, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, GCB_Extend, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, GCB_Extend, GCB_Other, @@ -24526,6 +24701,8 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 1047 */ GCB_Extend, GCB_SpacingMark, GCB_Other, + GCB_Extend, + GCB_Other, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, @@ -25430,6 +25607,8 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 1047 */ GCB_Other, GCB_Extend, GCB_Other, + GCB_Extend, + GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, @@ -25471,6 +25650,9 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 1047 */ GCB_Other, GCB_SpacingMark, GCB_Extend, + GCB_Other, + GCB_SpacingMark, + GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, @@ -25562,6 +25744,20 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 1047 */ GCB_SpacingMark, GCB_Extend, GCB_Other, + GCB_Extend, + GCB_SpacingMark, + GCB_Other, + GCB_SpacingMark, + GCB_Other, + GCB_Extend, + GCB_SpacingMark, + GCB_Extend, + GCB_Prepend, + GCB_SpacingMark, + GCB_Prepend, + GCB_SpacingMark, + GCB_Extend, + GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, @@ -25641,6 +25837,10 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 1047 */ GCB_Other, GCB_Extend, GCB_Other, + GCB_SpacingMark, + GCB_Other, + GCB_Extend, + GCB_Other, GCB_Control, GCB_Other, GCB_Extend, @@ -25688,60 +25888,62 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 1047 */ GCB_Other, GCB_Extend, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Regional_Indicator, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Extend, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, + GCB_Other, + GCB_ExtPict_XX, GCB_Other, GCB_Control, GCB_Extend, @@ -25763,7 +25965,7 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 037 */ - 1778, /* Number of elements */ + 1806, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -25925,7 +26127,7 @@ static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 037 */ 0xB4B, 0xB4D, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB62, 0xB64, @@ -25998,6 +26200,7 @@ static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 037 */ 0xD58, 0xD62, 0xD64, + 0xD81, 0xD82, 0xD84, 0xDCA, @@ -26134,7 +26337,7 @@ static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 037 */ 0x1A7F, 0x1A80, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B04, 0x1B05, @@ -26322,6 +26525,8 @@ static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 037 */ 0xA825, 0xA827, 0xA828, + 0xA82C, + 0xA82D, 0xA880, 0xA882, 0xA8B4, @@ -27224,6 +27429,8 @@ static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 037 */ 0x10AE7, 0x10D24, 0x10D28, + 0x10EAB, + 0x10EAD, 0x10F46, 0x10F51, 0x11000, @@ -27265,6 +27472,9 @@ static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 037 */ 0x111C4, 0x111C9, 0x111CD, + 0x111CE, + 0x111CF, + 0x111D0, 0x1122C, 0x1122F, 0x11232, @@ -27358,6 +27568,20 @@ static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 037 */ 0x11838, 0x11839, 0x1183B, + 0x11930, + 0x11931, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x1193D, + 0x1193E, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, + 0x11943, + 0x11944, 0x119D1, 0x119D4, 0x119D8, @@ -27435,6 +27659,10 @@ static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 037 */ 0x16F88, 0x16F8F, 0x16F93, + 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x1BC9D, 0x1BC9F, 0x1BCA0, @@ -27538,6 +27766,8 @@ static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 037 */ 0x1F93C, 0x1F946, 0x1F947, + 0x1FB00, + 0x1FC00, 0x1FFFE, 0xE0000, 0xE0020, @@ -27560,21 +27790,21 @@ static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 037 */ typedef enum { GCB_Other = 0, - GCB_CR = 1, - GCB_Control = 2, - GCB_Extend = 3, - GCB_L = 4, - GCB_LF = 5, - GCB_LV = 6, - GCB_LVT = 7, - GCB_Prepend = 8, - GCB_Regional_Indicator = 9, - GCB_SpacingMark = 10, - GCB_T = 11, - GCB_V = 12, - GCB_XPG_XX = 13, - GCB_ZWJ = 14, - GCB_EDGE = 15, + GCB_Control = 1, + GCB_CR = 2, + GCB_EDGE = 3, + GCB_ExtPict_XX = 4, + GCB_Extend = 5, + GCB_L = 6, + GCB_LF = 7, + GCB_LV = 8, + GCB_LVT = 9, + GCB_Prepend = 10, + GCB_Regional_Indicator = 11, + GCB_SpacingMark = 12, + GCB_T = 13, + GCB_V = 14, + GCB_ZWJ = 15, GCB_E_Base = 16, GCB_E_Base_GAZ = 16, GCB_E_Modifier = 16, @@ -27588,9 +27818,9 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 037 */ GCB_LF, GCB_Control, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, GCB_Control, GCB_Other, @@ -27813,6 +28043,7 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 037 */ GCB_Other, GCB_Extend, GCB_Other, + GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, @@ -28010,97 +28241,97 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 037 */ GCB_Other, GCB_Control, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, GCB_Control, GCB_Other, GCB_Extend, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, GCB_Extend, GCB_Other, @@ -28109,15 +28340,15 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 037 */ GCB_Extend, GCB_Other, GCB_Extend, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, GCB_Extend, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, GCB_Extend, GCB_Other, @@ -28137,6 +28368,8 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 037 */ GCB_Extend, GCB_SpacingMark, GCB_Other, + GCB_Extend, + GCB_Other, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, @@ -29041,6 +29274,8 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 037 */ GCB_Other, GCB_Extend, GCB_Other, + GCB_Extend, + GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, @@ -29082,6 +29317,9 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 037 */ GCB_Other, GCB_SpacingMark, GCB_Extend, + GCB_Other, + GCB_SpacingMark, + GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, @@ -29173,6 +29411,20 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 037 */ GCB_SpacingMark, GCB_Extend, GCB_Other, + GCB_Extend, + GCB_SpacingMark, + GCB_Other, + GCB_SpacingMark, + GCB_Other, + GCB_Extend, + GCB_SpacingMark, + GCB_Extend, + GCB_Prepend, + GCB_SpacingMark, + GCB_Prepend, + GCB_SpacingMark, + GCB_Extend, + GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, @@ -29252,6 +29504,10 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 037 */ GCB_Other, GCB_Extend, GCB_Other, + GCB_SpacingMark, + GCB_Other, + GCB_Extend, + GCB_Other, GCB_Control, GCB_Other, GCB_Extend, @@ -29299,60 +29555,62 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 037 */ GCB_Other, GCB_Extend, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Regional_Indicator, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Extend, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, GCB_Other, - GCB_XPG_XX, + GCB_ExtPict_XX, + GCB_Other, + GCB_ExtPict_XX, GCB_Other, GCB_Control, GCB_Extend, @@ -29371,7 +29629,7 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV _Perl_IVCF_invlist[] = { /* for ASCII/Latin1 */ - 1309, /* Number of elements */ + 1316, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -30666,6 +30924,12 @@ static const UV _Perl_IVCF_invlist[] = { /* for ASCII/Latin1 */ 0xA7C0, 0xA7C3, 0xA7C4, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7CB, + 0xA7F6, + 0xA7F7, 0xAB53, 0xAB54, 0xFB05, @@ -30683,7 +30947,8 @@ static const UV _Perl_IVCF_invlist[] = { /* for ASCII/Latin1 */ 0x118E0, 0x16E60, 0x16E80, - 0x1E922 + 0x1E922, + 0x1E944 }; # endif /* ASCII/Latin1 */ @@ -30731,145 +30996,145 @@ typedef enum { #define HAS_IVCF_AUX_TABLES -static const unsigned int IVCF_AUX_TABLE_1[] = { +static const U32 IVCF_AUX_TABLE_1[] = { 0x4B, 0x212A }; -static const unsigned int IVCF_AUX_TABLE_2[] = { +static const U32 IVCF_AUX_TABLE_2[] = { 0x53, 0x17F }; -static const unsigned int IVCF_AUX_TABLE_3[] = { +static const U32 IVCF_AUX_TABLE_3[] = { 0xC5, 0x212B }; -static const unsigned int IVCF_AUX_TABLE_4[] = { +static const U32 IVCF_AUX_TABLE_4[] = { 0x1C4, 0x1C5 }; -static const unsigned int IVCF_AUX_TABLE_5[] = { +static const U32 IVCF_AUX_TABLE_5[] = { 0x1C7, 0x1C8 }; -static const unsigned int IVCF_AUX_TABLE_6[] = { +static const U32 IVCF_AUX_TABLE_6[] = { 0x1CA, 0x1CB }; -static const unsigned int IVCF_AUX_TABLE_7[] = { +static const U32 IVCF_AUX_TABLE_7[] = { 0x1F1, 0x1F2 }; -static const unsigned int IVCF_AUX_TABLE_8[] = { +static const U32 IVCF_AUX_TABLE_8[] = { 0x392, 0x3D0 }; -static const unsigned int IVCF_AUX_TABLE_9[] = { +static const U32 IVCF_AUX_TABLE_9[] = { 0x395, 0x3F5 }; -static const unsigned int IVCF_AUX_TABLE_10[] = { +static const U32 IVCF_AUX_TABLE_10[] = { 0x398, 0x3D1, 0x3F4 }; -static const unsigned int IVCF_AUX_TABLE_11[] = { +static const U32 IVCF_AUX_TABLE_11[] = { 0x345, 0x399, 0x1FBE }; -static const unsigned int IVCF_AUX_TABLE_12[] = { +static const U32 IVCF_AUX_TABLE_12[] = { 0x39A, 0x3F0 }; -static const unsigned int IVCF_AUX_TABLE_13[] = { +static const U32 IVCF_AUX_TABLE_13[] = { 0xB5, 0x39C }; -static const unsigned int IVCF_AUX_TABLE_14[] = { +static const U32 IVCF_AUX_TABLE_14[] = { 0x3A0, 0x3D6 }; -static const unsigned int IVCF_AUX_TABLE_15[] = { +static const U32 IVCF_AUX_TABLE_15[] = { 0x3A1, 0x3F1 }; -static const unsigned int IVCF_AUX_TABLE_16[] = { +static const U32 IVCF_AUX_TABLE_16[] = { 0x3A3, 0x3C2 }; -static const unsigned int IVCF_AUX_TABLE_17[] = { +static const U32 IVCF_AUX_TABLE_17[] = { 0x3A6, 0x3D5 }; -static const unsigned int IVCF_AUX_TABLE_18[] = { +static const U32 IVCF_AUX_TABLE_18[] = { 0x3A9, 0x2126 }; -static const unsigned int IVCF_AUX_TABLE_19[] = { +static const U32 IVCF_AUX_TABLE_19[] = { 0x412, 0x1C80 }; -static const unsigned int IVCF_AUX_TABLE_20[] = { +static const U32 IVCF_AUX_TABLE_20[] = { 0x414, 0x1C81 }; -static const unsigned int IVCF_AUX_TABLE_21[] = { +static const U32 IVCF_AUX_TABLE_21[] = { 0x41E, 0x1C82 }; -static const unsigned int IVCF_AUX_TABLE_22[] = { +static const U32 IVCF_AUX_TABLE_22[] = { 0x421, 0x1C83 }; -static const unsigned int IVCF_AUX_TABLE_23[] = { +static const U32 IVCF_AUX_TABLE_23[] = { 0x422, 0x1C84, 0x1C85 }; -static const unsigned int IVCF_AUX_TABLE_24[] = { +static const U32 IVCF_AUX_TABLE_24[] = { 0x42A, 0x1C86 }; -static const unsigned int IVCF_AUX_TABLE_25[] = { +static const U32 IVCF_AUX_TABLE_25[] = { 0x462, 0x1C87 }; -static const unsigned int IVCF_AUX_TABLE_26[] = { +static const U32 IVCF_AUX_TABLE_26[] = { 0x1E60, 0x1E9B }; -static const unsigned int IVCF_AUX_TABLE_27[] = { +static const U32 IVCF_AUX_TABLE_27[] = { 0x1C88, 0xA64A }; -static const unsigned int * const IVCF_AUX_TABLE_ptrs[] = { +static const U32 * const IVCF_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ IVCF_AUX_TABLE_1, IVCF_AUX_TABLE_2, @@ -30934,7 +31199,7 @@ static const U8 IVCF_AUX_TABLE_lengths[] = { 2 /* IVCF_AUX_TABLE_27 */ }; -static const int _Perl_IVCF_invmap[] = { /* for ASCII/Latin1 */ +static const I32 _Perl_IVCF_invmap[] = { /* for ASCII/Latin1 */ 0, 0x41, IVCF_use_AUX_TABLE_1, @@ -32226,6 +32491,12 @@ static const int _Perl_IVCF_invmap[] = { /* for ASCII/Latin1 */ 0, 0xA7C2, 0, + 0xA7C7, + 0, + 0xA7C9, + 0, + 0xA7F5, + 0, 0xA7B3, 0, 0xFB06, @@ -32243,7 +32514,8 @@ static const int _Perl_IVCF_invmap[] = { /* for ASCII/Latin1 */ 0, 0x16E40, 0, - 0x1E900 + 0x1E900, + 0 }; # endif /* ASCII/Latin1 */ @@ -32258,7 +32530,7 @@ static const int _Perl_IVCF_invmap[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV _Perl_IVCF_invlist[] = { /* for EBCDIC 1047 */ - 1323, /* Number of elements */ + 1331, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -32276,6 +32548,7 @@ static const UV _Perl_IVCF_invlist[] = { /* for EBCDIC 1047 */ 0x8A, 0x8C, 0x8D, + 0x8E, 0x8F, 0x91, 0x92, @@ -33567,6 +33840,12 @@ static const UV _Perl_IVCF_invlist[] = { /* for EBCDIC 1047 */ 0xA7C0, 0xA7C3, 0xA7C4, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7CB, + 0xA7F6, + 0xA7F7, 0xAB53, 0xAB54, 0xFB05, @@ -33584,7 +33863,8 @@ static const UV _Perl_IVCF_invlist[] = { /* for EBCDIC 1047 */ 0x118E0, 0x16E60, 0x16E80, - 0x1E922 + 0x1E922, + 0x1E944 }; # endif /* EBCDIC 1047 */ @@ -33635,145 +33915,145 @@ typedef enum { #define HAS_IVCF_AUX_TABLES -static const unsigned int IVCF_AUX_TABLE_1[] = { +static const U32 IVCF_AUX_TABLE_1[] = { 0x67, 0x212B }; -static const unsigned int IVCF_AUX_TABLE_2[] = { +static const U32 IVCF_AUX_TABLE_2[] = { 0xD2, 0x212A }; -static const unsigned int IVCF_AUX_TABLE_3[] = { +static const U32 IVCF_AUX_TABLE_3[] = { 0xE2, 0x17F }; -static const unsigned int IVCF_AUX_TABLE_4[] = { +static const U32 IVCF_AUX_TABLE_4[] = { 0x1C4, 0x1C5 }; -static const unsigned int IVCF_AUX_TABLE_5[] = { +static const U32 IVCF_AUX_TABLE_5[] = { 0x1C7, 0x1C8 }; -static const unsigned int IVCF_AUX_TABLE_6[] = { +static const U32 IVCF_AUX_TABLE_6[] = { 0x1CA, 0x1CB }; -static const unsigned int IVCF_AUX_TABLE_7[] = { +static const U32 IVCF_AUX_TABLE_7[] = { 0x1F1, 0x1F2 }; -static const unsigned int IVCF_AUX_TABLE_8[] = { +static const U32 IVCF_AUX_TABLE_8[] = { 0x392, 0x3D0 }; -static const unsigned int IVCF_AUX_TABLE_9[] = { +static const U32 IVCF_AUX_TABLE_9[] = { 0x395, 0x3F5 }; -static const unsigned int IVCF_AUX_TABLE_10[] = { +static const U32 IVCF_AUX_TABLE_10[] = { 0x398, 0x3D1, 0x3F4 }; -static const unsigned int IVCF_AUX_TABLE_11[] = { +static const U32 IVCF_AUX_TABLE_11[] = { 0x345, 0x399, 0x1FBE }; -static const unsigned int IVCF_AUX_TABLE_12[] = { +static const U32 IVCF_AUX_TABLE_12[] = { 0x39A, 0x3F0 }; -static const unsigned int IVCF_AUX_TABLE_13[] = { - 0xB5, +static const U32 IVCF_AUX_TABLE_13[] = { + 0xA0, 0x39C }; -static const unsigned int IVCF_AUX_TABLE_14[] = { +static const U32 IVCF_AUX_TABLE_14[] = { 0x3A0, 0x3D6 }; -static const unsigned int IVCF_AUX_TABLE_15[] = { +static const U32 IVCF_AUX_TABLE_15[] = { 0x3A1, 0x3F1 }; -static const unsigned int IVCF_AUX_TABLE_16[] = { +static const U32 IVCF_AUX_TABLE_16[] = { 0x3A3, 0x3C2 }; -static const unsigned int IVCF_AUX_TABLE_17[] = { +static const U32 IVCF_AUX_TABLE_17[] = { 0x3A6, 0x3D5 }; -static const unsigned int IVCF_AUX_TABLE_18[] = { +static const U32 IVCF_AUX_TABLE_18[] = { 0x3A9, 0x2126 }; -static const unsigned int IVCF_AUX_TABLE_19[] = { +static const U32 IVCF_AUX_TABLE_19[] = { 0x412, 0x1C80 }; -static const unsigned int IVCF_AUX_TABLE_20[] = { +static const U32 IVCF_AUX_TABLE_20[] = { 0x414, 0x1C81 }; -static const unsigned int IVCF_AUX_TABLE_21[] = { +static const U32 IVCF_AUX_TABLE_21[] = { 0x41E, 0x1C82 }; -static const unsigned int IVCF_AUX_TABLE_22[] = { +static const U32 IVCF_AUX_TABLE_22[] = { 0x421, 0x1C83 }; -static const unsigned int IVCF_AUX_TABLE_23[] = { +static const U32 IVCF_AUX_TABLE_23[] = { 0x422, 0x1C84, 0x1C85 }; -static const unsigned int IVCF_AUX_TABLE_24[] = { +static const U32 IVCF_AUX_TABLE_24[] = { 0x42A, 0x1C86 }; -static const unsigned int IVCF_AUX_TABLE_25[] = { +static const U32 IVCF_AUX_TABLE_25[] = { 0x462, 0x1C87 }; -static const unsigned int IVCF_AUX_TABLE_26[] = { +static const U32 IVCF_AUX_TABLE_26[] = { 0x1E60, 0x1E9B }; -static const unsigned int IVCF_AUX_TABLE_27[] = { +static const U32 IVCF_AUX_TABLE_27[] = { 0x1C88, 0xA64A }; -static const unsigned int * const IVCF_AUX_TABLE_ptrs[] = { +static const U32 * const IVCF_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ IVCF_AUX_TABLE_1, IVCF_AUX_TABLE_2, @@ -33838,34 +34118,35 @@ static const U8 IVCF_AUX_TABLE_lengths[] = { 2 /* IVCF_AUX_TABLE_27 */ }; -static const int _Perl_IVCF_invmap[] = { /* for EBCDIC 1047 */ +static const I32 _Perl_IVCF_invmap[] = { /* for EBCDIC 1047 */ 0, - 0xC0, + 0x62, IVCF_use_AUX_TABLE_1, - 0xC6, + 0x68, 0, - 0xC6, + 0x71, 0x1E9E, 0, - 0xD8, + 0x80, 0, - 0x41, + 0xC1, 0, - 0xC6, - 0xD8, + 0xAC, + 0xBA, + 0xAE, 0, - 0x41, + 0xD1, IVCF_use_AUX_TABLE_2, - 0x4C, + 0xD3, 0, - 0xC6, + 0x9E, 0, IVCF_use_AUX_TABLE_3, - 0x54, + 0xE3, 0, - 0xC6, + 0xEB, 0, - 0xD8, + 0xFB, 0x178, 0, 0x100, @@ -34648,7 +34929,7 @@ static const int _Perl_IVCF_invmap[] = { /* for EBCDIC 1047 */ 0, 0x1E94, 0, - 0xDF, + 0x59, 0, 0x1EA0, 0, @@ -35144,6 +35425,12 @@ static const int _Perl_IVCF_invmap[] = { /* for EBCDIC 1047 */ 0, 0xA7C2, 0, + 0xA7C7, + 0, + 0xA7C9, + 0, + 0xA7F5, + 0, 0xA7B3, 0, 0xFB06, @@ -35161,7 +35448,8 @@ static const int _Perl_IVCF_invmap[] = { /* for EBCDIC 1047 */ 0, 0x16E40, 0, - 0x1E900 + 0x1E900, + 0 }; # endif /* EBCDIC 1047 */ @@ -35176,7 +35464,7 @@ static const int _Perl_IVCF_invmap[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV _Perl_IVCF_invlist[] = { /* for EBCDIC 037 */ - 1323, /* Number of elements */ + 1329, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -35193,7 +35481,6 @@ static const UV _Perl_IVCF_invlist[] = { /* for EBCDIC 037 */ 0x81, 0x8A, 0x8C, - 0x8D, 0x8F, 0x91, 0x92, @@ -36485,6 +36772,12 @@ static const UV _Perl_IVCF_invlist[] = { /* for EBCDIC 037 */ 0xA7C0, 0xA7C3, 0xA7C4, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7CB, + 0xA7F6, + 0xA7F7, 0xAB53, 0xAB54, 0xFB05, @@ -36502,7 +36795,8 @@ static const UV _Perl_IVCF_invlist[] = { /* for EBCDIC 037 */ 0x118E0, 0x16E60, 0x16E80, - 0x1E922 + 0x1E922, + 0x1E944 }; # endif /* EBCDIC 037 */ @@ -36553,145 +36847,145 @@ typedef enum { #define HAS_IVCF_AUX_TABLES -static const unsigned int IVCF_AUX_TABLE_1[] = { +static const U32 IVCF_AUX_TABLE_1[] = { 0x67, 0x212B }; -static const unsigned int IVCF_AUX_TABLE_2[] = { +static const U32 IVCF_AUX_TABLE_2[] = { 0xD2, 0x212A }; -static const unsigned int IVCF_AUX_TABLE_3[] = { +static const U32 IVCF_AUX_TABLE_3[] = { 0xE2, 0x17F }; -static const unsigned int IVCF_AUX_TABLE_4[] = { +static const U32 IVCF_AUX_TABLE_4[] = { 0x1C4, 0x1C5 }; -static const unsigned int IVCF_AUX_TABLE_5[] = { +static const U32 IVCF_AUX_TABLE_5[] = { 0x1C7, 0x1C8 }; -static const unsigned int IVCF_AUX_TABLE_6[] = { +static const U32 IVCF_AUX_TABLE_6[] = { 0x1CA, 0x1CB }; -static const unsigned int IVCF_AUX_TABLE_7[] = { +static const U32 IVCF_AUX_TABLE_7[] = { 0x1F1, 0x1F2 }; -static const unsigned int IVCF_AUX_TABLE_8[] = { +static const U32 IVCF_AUX_TABLE_8[] = { 0x392, 0x3D0 }; -static const unsigned int IVCF_AUX_TABLE_9[] = { +static const U32 IVCF_AUX_TABLE_9[] = { 0x395, 0x3F5 }; -static const unsigned int IVCF_AUX_TABLE_10[] = { +static const U32 IVCF_AUX_TABLE_10[] = { 0x398, 0x3D1, 0x3F4 }; -static const unsigned int IVCF_AUX_TABLE_11[] = { +static const U32 IVCF_AUX_TABLE_11[] = { 0x345, 0x399, 0x1FBE }; -static const unsigned int IVCF_AUX_TABLE_12[] = { +static const U32 IVCF_AUX_TABLE_12[] = { 0x39A, 0x3F0 }; -static const unsigned int IVCF_AUX_TABLE_13[] = { - 0xB5, +static const U32 IVCF_AUX_TABLE_13[] = { + 0xA0, 0x39C }; -static const unsigned int IVCF_AUX_TABLE_14[] = { +static const U32 IVCF_AUX_TABLE_14[] = { 0x3A0, 0x3D6 }; -static const unsigned int IVCF_AUX_TABLE_15[] = { +static const U32 IVCF_AUX_TABLE_15[] = { 0x3A1, 0x3F1 }; -static const unsigned int IVCF_AUX_TABLE_16[] = { +static const U32 IVCF_AUX_TABLE_16[] = { 0x3A3, 0x3C2 }; -static const unsigned int IVCF_AUX_TABLE_17[] = { +static const U32 IVCF_AUX_TABLE_17[] = { 0x3A6, 0x3D5 }; -static const unsigned int IVCF_AUX_TABLE_18[] = { +static const U32 IVCF_AUX_TABLE_18[] = { 0x3A9, 0x2126 }; -static const unsigned int IVCF_AUX_TABLE_19[] = { +static const U32 IVCF_AUX_TABLE_19[] = { 0x412, 0x1C80 }; -static const unsigned int IVCF_AUX_TABLE_20[] = { +static const U32 IVCF_AUX_TABLE_20[] = { 0x414, 0x1C81 }; -static const unsigned int IVCF_AUX_TABLE_21[] = { +static const U32 IVCF_AUX_TABLE_21[] = { 0x41E, 0x1C82 }; -static const unsigned int IVCF_AUX_TABLE_22[] = { +static const U32 IVCF_AUX_TABLE_22[] = { 0x421, 0x1C83 }; -static const unsigned int IVCF_AUX_TABLE_23[] = { +static const U32 IVCF_AUX_TABLE_23[] = { 0x422, 0x1C84, 0x1C85 }; -static const unsigned int IVCF_AUX_TABLE_24[] = { +static const U32 IVCF_AUX_TABLE_24[] = { 0x42A, 0x1C86 }; -static const unsigned int IVCF_AUX_TABLE_25[] = { +static const U32 IVCF_AUX_TABLE_25[] = { 0x462, 0x1C87 }; -static const unsigned int IVCF_AUX_TABLE_26[] = { +static const U32 IVCF_AUX_TABLE_26[] = { 0x1E60, 0x1E9B }; -static const unsigned int IVCF_AUX_TABLE_27[] = { +static const U32 IVCF_AUX_TABLE_27[] = { 0x1C88, 0xA64A }; -static const unsigned int * const IVCF_AUX_TABLE_ptrs[] = { +static const U32 * const IVCF_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ IVCF_AUX_TABLE_1, IVCF_AUX_TABLE_2, @@ -36756,34 +37050,33 @@ static const U8 IVCF_AUX_TABLE_lengths[] = { 2 /* IVCF_AUX_TABLE_27 */ }; -static const int _Perl_IVCF_invmap[] = { /* for EBCDIC 037 */ +static const I32 _Perl_IVCF_invmap[] = { /* for EBCDIC 037 */ 0, - 0xC0, + 0x62, IVCF_use_AUX_TABLE_1, - 0xC6, + 0x68, 0, - 0xC6, + 0x71, 0x1E9E, 0, - 0xD8, + 0x80, 0, - 0x41, + 0xC1, 0, - 0xC6, - 0xD8, + 0xAC, 0, - 0x41, + 0xD1, IVCF_use_AUX_TABLE_2, - 0x4C, + 0xD3, 0, - 0xC6, + 0x9E, 0, IVCF_use_AUX_TABLE_3, - 0x54, + 0xE3, 0, - 0xC6, + 0xEB, 0, - 0xD8, + 0xFB, 0x178, 0, 0x100, @@ -37566,7 +37859,7 @@ static const int _Perl_IVCF_invmap[] = { /* for EBCDIC 037 */ 0, 0x1E94, 0, - 0xDF, + 0x59, 0, 0x1EA0, 0, @@ -38062,6 +38355,12 @@ static const int _Perl_IVCF_invmap[] = { /* for EBCDIC 037 */ 0, 0xA7C2, 0, + 0xA7C7, + 0, + 0xA7C9, + 0, + 0xA7F5, + 0, 0xA7B3, 0, 0xFB06, @@ -38079,7 +38378,8 @@ static const int _Perl_IVCF_invmap[] = { /* for EBCDIC 037 */ 0, 0x16E40, 0, - 0x1E900 + 0x1E900, + 0 }; # endif /* EBCDIC 037 */ @@ -38091,7 +38391,7 @@ static const int _Perl_IVCF_invmap[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV _Perl_LB_invlist[] = { /* for ASCII/Latin1 */ - 2388, /* Number of elements */ + 2416, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -38323,7 +38623,7 @@ static const UV _Perl_LB_invlist[] = { /* for ASCII/Latin1 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB62, 0xB64, @@ -38394,7 +38694,7 @@ static const UV _Perl_LB_invlist[] = { /* for ASCII/Latin1 */ 0xD70, 0xD79, 0xD7A, - 0xD82, + 0xD81, 0xD84, 0xDCA, 0xDCB, @@ -38571,7 +38871,7 @@ static const UV _Perl_LB_invlist[] = { /* for ASCII/Latin1 */ 0x1A90, 0x1A9A, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B05, 0x1B34, @@ -38953,8 +39253,6 @@ static const UV _Perl_LB_invlist[] = { /* for ASCII/Latin1 */ 0x3131, 0x318F, 0x3190, - 0x31BB, - 0x31C0, 0x31E4, 0x31F0, 0x3200, @@ -38995,6 +39293,8 @@ static const UV _Perl_LB_invlist[] = { /* for ASCII/Latin1 */ 0xA80C, 0xA823, 0xA828, + 0xA82C, + 0xA82D, 0xA838, 0xA839, 0xA874, @@ -40037,6 +40337,9 @@ static const UV _Perl_LB_invlist[] = { /* for ASCII/Latin1 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10EAB, + 0x10EAD, + 0x10EAE, 0x10F46, 0x10F51, 0x11000, @@ -40076,6 +40379,7 @@ static const UV _Perl_LB_invlist[] = { /* for ASCII/Latin1 */ 0x111C8, 0x111C9, 0x111CD, + 0x111CE, 0x111D0, 0x111DA, 0x111DB, @@ -40119,7 +40423,6 @@ static const UV _Perl_LB_invlist[] = { /* for ASCII/Latin1 */ 0x1144F, 0x11450, 0x1145A, - 0x1145B, 0x1145C, 0x1145E, 0x1145F, @@ -40159,6 +40462,19 @@ static const UV _Perl_LB_invlist[] = { /* for ASCII/Latin1 */ 0x1183B, 0x118E0, 0x118EA, + 0x11930, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, + 0x11944, + 0x11947, + 0x11950, + 0x1195A, 0x119D1, 0x119D8, 0x119DA, @@ -40274,10 +40590,15 @@ static const UV _Perl_LB_invlist[] = { /* for ASCII/Latin1 */ 0x16F93, 0x16FE0, 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18B00, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -40450,6 +40771,7 @@ static const UV _Perl_LB_invlist[] = { /* for ASCII/Latin1 */ 0x1F8AE, 0x1F900, 0x1F90C, + 0x1F90D, 0x1F90F, 0x1F910, 0x1F918, @@ -40460,6 +40782,8 @@ static const UV _Perl_LB_invlist[] = { /* for ASCII/Latin1 */ 0x1F93A, 0x1F93C, 0x1F93F, + 0x1F977, + 0x1F978, 0x1F9B5, 0x1F9B7, 0x1F9B8, @@ -40472,6 +40796,10 @@ static const UV _Perl_LB_invlist[] = { /* for ASCII/Latin1 */ 0x1F9DE, 0x1FA00, 0x1FA54, + 0x1FB00, + 0x1FBF0, + 0x1FBFA, + 0x1FC00, 0x1FFFE, 0x20000, 0x2FFFE, @@ -40495,44 +40823,46 @@ static const UV _Perl_LB_invlist[] = { /* for ASCII/Latin1 */ typedef enum { LB_Alphabetic = 0, - LB_Break_After = 1, - LB_Break_Before = 2, - LB_Break_Both = 3, - LB_Break_Symbols = 4, - LB_Carriage_Return = 5, - LB_Close_Parenthesis = 6, - LB_Close_Punctuation = 7, - LB_Combining_Mark = 8, - LB_Contingent_Break = 9, - LB_E_Base = 10, - LB_E_Modifier = 11, - LB_Exclamation = 12, - LB_Glue = 13, - LB_H2 = 14, - LB_H3 = 15, - LB_Hebrew_Letter = 16, - LB_Hyphen = 17, - LB_Ideographic = 18, - LB_Infix_Numeric = 19, - LB_Inseparable = 20, - LB_JL = 21, - LB_JT = 22, - LB_JV = 23, - LB_Line_Feed = 24, - LB_Mandatory_Break = 25, - LB_Next_Line = 26, - LB_Nonstarter = 27, - LB_Numeric = 28, - LB_Open_Punctuation = 29, - LB_Postfix_Numeric = 30, - LB_Prefix_Numeric = 31, - LB_Quotation = 32, - LB_Regional_Indicator = 33, - LB_Space = 34, - LB_Word_Joiner = 35, - LB_ZWJ = 36, - LB_ZWSpace = 37, - LB_EDGE = 38 + LB_Break_Both = 1, + LB_Break_After = 2, + LB_Break_Before = 3, + LB_Mandatory_Break = 4, + LB_Contingent_Break = 5, + LB_Close_Punctuation = 6, + LB_Combining_Mark = 7, + LB_Close_Parenthesis = 8, + LB_Carriage_Return = 9, + LB_East_Asian_OP = 10, + LB_E_Base = 11, + LB_EDGE = 12, + LB_E_Modifier = 13, + LB_Exclamation = 14, + LB_Glue = 15, + LB_H2 = 16, + LB_H3 = 17, + LB_Hebrew_Letter = 18, + LB_Hyphen = 19, + LB_Ideographic = 20, + LB_Inseparable = 21, + LB_Infix_Numeric = 22, + LB_JL = 23, + LB_JT = 24, + LB_JV = 25, + LB_Line_Feed = 26, + LB_Next_Line = 27, + LB_Nonstarter = 28, + LB_Numeric = 29, + LB_Open_Punctuation = 30, + LB_Postfix_Numeric = 31, + LB_Prefix_Numeric = 32, + LB_Quotation = 33, + LB_Regional_Indicator = 34, + LB_Space = 35, + LB_Break_Symbols = 36, + LB_Word_Joiner = 37, + LB_ZWSpace = 38, + LB_ZWJ = 39, + LB_East_Asian_CP = 40 } LB_enum; static const LB_enum _Perl_LB_invmap[] = { /* for ASCII/Latin1 */ @@ -41134,7 +41464,7 @@ static const LB_enum _Perl_LB_invmap[] = { /* for ASCII/Latin1 */ LB_Alphabetic, LB_Ideographic, LB_Alphabetic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Alphabetic, LB_Ideographic, @@ -41309,27 +41639,27 @@ static const LB_enum _Perl_LB_invmap[] = { /* for ASCII/Latin1 */ LB_Ideographic, LB_Nonstarter, LB_Ideographic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Nonstarter, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_Combining_Mark, @@ -41395,8 +41725,6 @@ static const LB_enum _Perl_LB_invmap[] = { /* for ASCII/Latin1 */ LB_Alphabetic, LB_Ideographic, LB_Alphabetic, - LB_Ideographic, - LB_Alphabetic, LB_Nonstarter, LB_Ideographic, LB_Alphabetic, @@ -41436,6 +41764,8 @@ static const LB_enum _Perl_LB_invmap[] = { /* for ASCII/Latin1 */ LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, + LB_Combining_Mark, + LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Break_Before, @@ -42338,30 +42668,30 @@ static const LB_enum _Perl_LB_invmap[] = { /* for ASCII/Latin1 */ LB_Close_Punctuation, LB_Infix_Numeric, LB_Exclamation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Inseparable, LB_Alphabetic, LB_Combining_Mark, LB_Ideographic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_Close_Punctuation, @@ -42371,11 +42701,11 @@ static const LB_enum _Perl_LB_invmap[] = { /* for ASCII/Latin1 */ LB_Nonstarter, LB_Exclamation, LB_Ideographic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_Alphabetic, @@ -42391,7 +42721,7 @@ static const LB_enum _Perl_LB_invmap[] = { /* for ASCII/Latin1 */ LB_Prefix_Numeric, LB_Postfix_Numeric, LB_Ideographic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_Close_Punctuation, @@ -42402,17 +42732,17 @@ static const LB_enum _Perl_LB_invmap[] = { /* for ASCII/Latin1 */ LB_Ideographic, LB_Exclamation, LB_Ideographic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Ideographic, LB_Close_Punctuation, LB_Ideographic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Ideographic, LB_Close_Punctuation, LB_Ideographic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Nonstarter, LB_Ideographic, @@ -42479,6 +42809,9 @@ static const LB_enum _Perl_LB_invmap[] = { /* for ASCII/Latin1 */ LB_Numeric, LB_Alphabetic, LB_Combining_Mark, + LB_Break_After, + LB_Alphabetic, + LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, @@ -42517,6 +42850,7 @@ static const LB_enum _Perl_LB_invmap[] = { /* for ASCII/Latin1 */ LB_Break_After, LB_Combining_Mark, LB_Alphabetic, + LB_Combining_Mark, LB_Numeric, LB_Alphabetic, LB_Break_Before, @@ -42559,7 +42893,6 @@ static const LB_enum _Perl_LB_invmap[] = { /* for ASCII/Latin1 */ LB_Break_After, LB_Alphabetic, LB_Numeric, - LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, @@ -42604,6 +42937,19 @@ static const LB_enum _Perl_LB_invmap[] = { /* for ASCII/Latin1 */ LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, + LB_Combining_Mark, + LB_Alphabetic, + LB_Combining_Mark, + LB_Alphabetic, + LB_Combining_Mark, + LB_Break_After, + LB_Alphabetic, + LB_Numeric, + LB_Alphabetic, + LB_Combining_Mark, + LB_Alphabetic, + LB_Combining_Mark, + LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Combining_Mark, @@ -42714,6 +43060,11 @@ static const LB_enum _Perl_LB_invmap[] = { /* for ASCII/Latin1 */ LB_Combining_Mark, LB_Alphabetic, LB_Nonstarter, + LB_Glue, + LB_Alphabetic, + LB_Combining_Mark, + LB_Alphabetic, + LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, @@ -42890,6 +43241,9 @@ static const LB_enum _Perl_LB_invmap[] = { /* for ASCII/Latin1 */ LB_Alphabetic, LB_Ideographic, LB_Alphabetic, + LB_E_Base, + LB_Ideographic, + LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, @@ -42914,6 +43268,10 @@ static const LB_enum _Perl_LB_invmap[] = { /* for ASCII/Latin1 */ LB_Alphabetic, LB_Ideographic, LB_Alphabetic, + LB_Numeric, + LB_Alphabetic, + LB_Ideographic, + LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, @@ -42938,7 +43296,7 @@ static const LB_enum _Perl_LB_invmap[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV _Perl_LB_invlist[] = { /* for EBCDIC 1047 */ - 2400, /* Number of elements */ + 2428, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -43182,7 +43540,7 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 1047 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB62, 0xB64, @@ -43253,7 +43611,7 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 1047 */ 0xD70, 0xD79, 0xD7A, - 0xD82, + 0xD81, 0xD84, 0xDCA, 0xDCB, @@ -43430,7 +43788,7 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 1047 */ 0x1A90, 0x1A9A, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B05, 0x1B34, @@ -43812,8 +44170,6 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 1047 */ 0x3131, 0x318F, 0x3190, - 0x31BB, - 0x31C0, 0x31E4, 0x31F0, 0x3200, @@ -43854,6 +44210,8 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 1047 */ 0xA80C, 0xA823, 0xA828, + 0xA82C, + 0xA82D, 0xA838, 0xA839, 0xA874, @@ -44896,6 +45254,9 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 1047 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10EAB, + 0x10EAD, + 0x10EAE, 0x10F46, 0x10F51, 0x11000, @@ -44935,6 +45296,7 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 1047 */ 0x111C8, 0x111C9, 0x111CD, + 0x111CE, 0x111D0, 0x111DA, 0x111DB, @@ -44978,7 +45340,6 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 1047 */ 0x1144F, 0x11450, 0x1145A, - 0x1145B, 0x1145C, 0x1145E, 0x1145F, @@ -45018,6 +45379,19 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 1047 */ 0x1183B, 0x118E0, 0x118EA, + 0x11930, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, + 0x11944, + 0x11947, + 0x11950, + 0x1195A, 0x119D1, 0x119D8, 0x119DA, @@ -45133,10 +45507,15 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 1047 */ 0x16F93, 0x16FE0, 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18B00, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -45309,6 +45688,7 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 1047 */ 0x1F8AE, 0x1F900, 0x1F90C, + 0x1F90D, 0x1F90F, 0x1F910, 0x1F918, @@ -45319,6 +45699,8 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 1047 */ 0x1F93A, 0x1F93C, 0x1F93F, + 0x1F977, + 0x1F978, 0x1F9B5, 0x1F9B7, 0x1F9B8, @@ -45331,6 +45713,10 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 1047 */ 0x1F9DE, 0x1FA00, 0x1FA54, + 0x1FB00, + 0x1FBF0, + 0x1FBFA, + 0x1FC00, 0x1FFFE, 0x20000, 0x2FFFE, @@ -45357,44 +45743,46 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 1047 */ typedef enum { LB_Alphabetic = 0, - LB_Break_After = 1, - LB_Break_Before = 2, - LB_Break_Both = 3, - LB_Break_Symbols = 4, - LB_Carriage_Return = 5, - LB_Close_Parenthesis = 6, - LB_Close_Punctuation = 7, - LB_Combining_Mark = 8, - LB_Contingent_Break = 9, - LB_E_Base = 10, - LB_E_Modifier = 11, - LB_Exclamation = 12, - LB_Glue = 13, - LB_H2 = 14, - LB_H3 = 15, - LB_Hebrew_Letter = 16, - LB_Hyphen = 17, - LB_Ideographic = 18, - LB_Infix_Numeric = 19, - LB_Inseparable = 20, - LB_JL = 21, - LB_JT = 22, - LB_JV = 23, - LB_Line_Feed = 24, - LB_Mandatory_Break = 25, - LB_Next_Line = 26, - LB_Nonstarter = 27, - LB_Numeric = 28, - LB_Open_Punctuation = 29, - LB_Postfix_Numeric = 30, - LB_Prefix_Numeric = 31, - LB_Quotation = 32, - LB_Regional_Indicator = 33, - LB_Space = 34, - LB_Word_Joiner = 35, - LB_ZWJ = 36, - LB_ZWSpace = 37, - LB_EDGE = 38 + LB_Break_Both = 1, + LB_Break_After = 2, + LB_Break_Before = 3, + LB_Mandatory_Break = 4, + LB_Contingent_Break = 5, + LB_Close_Punctuation = 6, + LB_Combining_Mark = 7, + LB_Close_Parenthesis = 8, + LB_Carriage_Return = 9, + LB_East_Asian_OP = 10, + LB_E_Base = 11, + LB_EDGE = 12, + LB_E_Modifier = 13, + LB_Exclamation = 14, + LB_Glue = 15, + LB_H2 = 16, + LB_H3 = 17, + LB_Hebrew_Letter = 18, + LB_Hyphen = 19, + LB_Ideographic = 20, + LB_Inseparable = 21, + LB_Infix_Numeric = 22, + LB_JL = 23, + LB_JT = 24, + LB_JV = 25, + LB_Line_Feed = 26, + LB_Next_Line = 27, + LB_Nonstarter = 28, + LB_Numeric = 29, + LB_Open_Punctuation = 30, + LB_Postfix_Numeric = 31, + LB_Prefix_Numeric = 32, + LB_Quotation = 33, + LB_Regional_Indicator = 34, + LB_Space = 35, + LB_Break_Symbols = 36, + LB_Word_Joiner = 37, + LB_ZWSpace = 38, + LB_ZWJ = 39, + LB_East_Asian_CP = 40 } LB_enum; static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 1047 */ @@ -46008,7 +46396,7 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 1047 */ LB_Alphabetic, LB_Ideographic, LB_Alphabetic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Alphabetic, LB_Ideographic, @@ -46183,27 +46571,27 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 1047 */ LB_Ideographic, LB_Nonstarter, LB_Ideographic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Nonstarter, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_Combining_Mark, @@ -46269,8 +46657,6 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 1047 */ LB_Alphabetic, LB_Ideographic, LB_Alphabetic, - LB_Ideographic, - LB_Alphabetic, LB_Nonstarter, LB_Ideographic, LB_Alphabetic, @@ -46310,6 +46696,8 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 1047 */ LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, + LB_Combining_Mark, + LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Break_Before, @@ -47212,30 +47600,30 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 1047 */ LB_Close_Punctuation, LB_Infix_Numeric, LB_Exclamation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Inseparable, LB_Alphabetic, LB_Combining_Mark, LB_Ideographic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_Close_Punctuation, @@ -47245,11 +47633,11 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 1047 */ LB_Nonstarter, LB_Exclamation, LB_Ideographic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_Alphabetic, @@ -47265,7 +47653,7 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 1047 */ LB_Prefix_Numeric, LB_Postfix_Numeric, LB_Ideographic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_Close_Punctuation, @@ -47276,17 +47664,17 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 1047 */ LB_Ideographic, LB_Exclamation, LB_Ideographic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Ideographic, LB_Close_Punctuation, LB_Ideographic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Ideographic, LB_Close_Punctuation, LB_Ideographic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Nonstarter, LB_Ideographic, @@ -47353,6 +47741,9 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 1047 */ LB_Numeric, LB_Alphabetic, LB_Combining_Mark, + LB_Break_After, + LB_Alphabetic, + LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, @@ -47391,6 +47782,7 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 1047 */ LB_Break_After, LB_Combining_Mark, LB_Alphabetic, + LB_Combining_Mark, LB_Numeric, LB_Alphabetic, LB_Break_Before, @@ -47433,7 +47825,6 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 1047 */ LB_Break_After, LB_Alphabetic, LB_Numeric, - LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, @@ -47478,6 +47869,19 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 1047 */ LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, + LB_Combining_Mark, + LB_Alphabetic, + LB_Combining_Mark, + LB_Alphabetic, + LB_Combining_Mark, + LB_Break_After, + LB_Alphabetic, + LB_Numeric, + LB_Alphabetic, + LB_Combining_Mark, + LB_Alphabetic, + LB_Combining_Mark, + LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Combining_Mark, @@ -47588,6 +47992,11 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 1047 */ LB_Combining_Mark, LB_Alphabetic, LB_Nonstarter, + LB_Glue, + LB_Alphabetic, + LB_Combining_Mark, + LB_Alphabetic, + LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, @@ -47764,6 +48173,9 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 1047 */ LB_Alphabetic, LB_Ideographic, LB_Alphabetic, + LB_E_Base, + LB_Ideographic, + LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, @@ -47788,6 +48200,10 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 1047 */ LB_Alphabetic, LB_Ideographic, LB_Alphabetic, + LB_Numeric, + LB_Alphabetic, + LB_Ideographic, + LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, @@ -47812,7 +48228,7 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV _Perl_LB_invlist[] = { /* for EBCDIC 037 */ - 2400, /* Number of elements */ + 2428, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -48056,7 +48472,7 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 037 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB62, 0xB64, @@ -48127,7 +48543,7 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 037 */ 0xD70, 0xD79, 0xD7A, - 0xD82, + 0xD81, 0xD84, 0xDCA, 0xDCB, @@ -48304,7 +48720,7 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 037 */ 0x1A90, 0x1A9A, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B05, 0x1B34, @@ -48686,8 +49102,6 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 037 */ 0x3131, 0x318F, 0x3190, - 0x31BB, - 0x31C0, 0x31E4, 0x31F0, 0x3200, @@ -48728,6 +49142,8 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 037 */ 0xA80C, 0xA823, 0xA828, + 0xA82C, + 0xA82D, 0xA838, 0xA839, 0xA874, @@ -49770,6 +50186,9 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 037 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10EAB, + 0x10EAD, + 0x10EAE, 0x10F46, 0x10F51, 0x11000, @@ -49809,6 +50228,7 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 037 */ 0x111C8, 0x111C9, 0x111CD, + 0x111CE, 0x111D0, 0x111DA, 0x111DB, @@ -49852,7 +50272,6 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 037 */ 0x1144F, 0x11450, 0x1145A, - 0x1145B, 0x1145C, 0x1145E, 0x1145F, @@ -49892,6 +50311,19 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 037 */ 0x1183B, 0x118E0, 0x118EA, + 0x11930, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, + 0x11944, + 0x11947, + 0x11950, + 0x1195A, 0x119D1, 0x119D8, 0x119DA, @@ -50007,10 +50439,15 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 037 */ 0x16F93, 0x16FE0, 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18B00, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -50183,6 +50620,7 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 037 */ 0x1F8AE, 0x1F900, 0x1F90C, + 0x1F90D, 0x1F90F, 0x1F910, 0x1F918, @@ -50193,6 +50631,8 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 037 */ 0x1F93A, 0x1F93C, 0x1F93F, + 0x1F977, + 0x1F978, 0x1F9B5, 0x1F9B7, 0x1F9B8, @@ -50205,6 +50645,10 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 037 */ 0x1F9DE, 0x1FA00, 0x1FA54, + 0x1FB00, + 0x1FBF0, + 0x1FBFA, + 0x1FC00, 0x1FFFE, 0x20000, 0x2FFFE, @@ -50231,44 +50675,46 @@ static const UV _Perl_LB_invlist[] = { /* for EBCDIC 037 */ typedef enum { LB_Alphabetic = 0, - LB_Break_After = 1, - LB_Break_Before = 2, - LB_Break_Both = 3, - LB_Break_Symbols = 4, - LB_Carriage_Return = 5, - LB_Close_Parenthesis = 6, - LB_Close_Punctuation = 7, - LB_Combining_Mark = 8, - LB_Contingent_Break = 9, - LB_E_Base = 10, - LB_E_Modifier = 11, - LB_Exclamation = 12, - LB_Glue = 13, - LB_H2 = 14, - LB_H3 = 15, - LB_Hebrew_Letter = 16, - LB_Hyphen = 17, - LB_Ideographic = 18, - LB_Infix_Numeric = 19, - LB_Inseparable = 20, - LB_JL = 21, - LB_JT = 22, - LB_JV = 23, - LB_Line_Feed = 24, - LB_Mandatory_Break = 25, - LB_Next_Line = 26, - LB_Nonstarter = 27, - LB_Numeric = 28, - LB_Open_Punctuation = 29, - LB_Postfix_Numeric = 30, - LB_Prefix_Numeric = 31, - LB_Quotation = 32, - LB_Regional_Indicator = 33, - LB_Space = 34, - LB_Word_Joiner = 35, - LB_ZWJ = 36, - LB_ZWSpace = 37, - LB_EDGE = 38 + LB_Break_Both = 1, + LB_Break_After = 2, + LB_Break_Before = 3, + LB_Mandatory_Break = 4, + LB_Contingent_Break = 5, + LB_Close_Punctuation = 6, + LB_Combining_Mark = 7, + LB_Close_Parenthesis = 8, + LB_Carriage_Return = 9, + LB_East_Asian_OP = 10, + LB_E_Base = 11, + LB_EDGE = 12, + LB_E_Modifier = 13, + LB_Exclamation = 14, + LB_Glue = 15, + LB_H2 = 16, + LB_H3 = 17, + LB_Hebrew_Letter = 18, + LB_Hyphen = 19, + LB_Ideographic = 20, + LB_Inseparable = 21, + LB_Infix_Numeric = 22, + LB_JL = 23, + LB_JT = 24, + LB_JV = 25, + LB_Line_Feed = 26, + LB_Next_Line = 27, + LB_Nonstarter = 28, + LB_Numeric = 29, + LB_Open_Punctuation = 30, + LB_Postfix_Numeric = 31, + LB_Prefix_Numeric = 32, + LB_Quotation = 33, + LB_Regional_Indicator = 34, + LB_Space = 35, + LB_Break_Symbols = 36, + LB_Word_Joiner = 37, + LB_ZWSpace = 38, + LB_ZWJ = 39, + LB_East_Asian_CP = 40 } LB_enum; static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 037 */ @@ -50882,7 +51328,7 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 037 */ LB_Alphabetic, LB_Ideographic, LB_Alphabetic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Alphabetic, LB_Ideographic, @@ -51057,27 +51503,27 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 037 */ LB_Ideographic, LB_Nonstarter, LB_Ideographic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Nonstarter, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_Combining_Mark, @@ -51143,8 +51589,6 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 037 */ LB_Alphabetic, LB_Ideographic, LB_Alphabetic, - LB_Ideographic, - LB_Alphabetic, LB_Nonstarter, LB_Ideographic, LB_Alphabetic, @@ -51184,6 +51628,8 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 037 */ LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, + LB_Combining_Mark, + LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Break_Before, @@ -52086,30 +52532,30 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 037 */ LB_Close_Punctuation, LB_Infix_Numeric, LB_Exclamation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Inseparable, LB_Alphabetic, LB_Combining_Mark, LB_Ideographic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_Close_Punctuation, @@ -52119,11 +52565,11 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 037 */ LB_Nonstarter, LB_Exclamation, LB_Ideographic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_Alphabetic, @@ -52139,7 +52585,7 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 037 */ LB_Prefix_Numeric, LB_Postfix_Numeric, LB_Ideographic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_Close_Punctuation, @@ -52150,17 +52596,17 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 037 */ LB_Ideographic, LB_Exclamation, LB_Ideographic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Ideographic, LB_Close_Punctuation, LB_Ideographic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Ideographic, LB_Close_Punctuation, LB_Ideographic, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, - LB_Open_Punctuation, + LB_East_Asian_OP, LB_Close_Punctuation, LB_Nonstarter, LB_Ideographic, @@ -52227,6 +52673,9 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 037 */ LB_Numeric, LB_Alphabetic, LB_Combining_Mark, + LB_Break_After, + LB_Alphabetic, + LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, @@ -52265,6 +52714,7 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 037 */ LB_Break_After, LB_Combining_Mark, LB_Alphabetic, + LB_Combining_Mark, LB_Numeric, LB_Alphabetic, LB_Break_Before, @@ -52307,7 +52757,6 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 037 */ LB_Break_After, LB_Alphabetic, LB_Numeric, - LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, @@ -52352,6 +52801,19 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 037 */ LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, + LB_Combining_Mark, + LB_Alphabetic, + LB_Combining_Mark, + LB_Alphabetic, + LB_Combining_Mark, + LB_Break_After, + LB_Alphabetic, + LB_Numeric, + LB_Alphabetic, + LB_Combining_Mark, + LB_Alphabetic, + LB_Combining_Mark, + LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Combining_Mark, @@ -52462,6 +52924,11 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 037 */ LB_Combining_Mark, LB_Alphabetic, LB_Nonstarter, + LB_Glue, + LB_Alphabetic, + LB_Combining_Mark, + LB_Alphabetic, + LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, @@ -52638,6 +53105,9 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 037 */ LB_Alphabetic, LB_Ideographic, LB_Alphabetic, + LB_E_Base, + LB_Ideographic, + LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, @@ -52662,6 +53132,10 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 037 */ LB_Alphabetic, LB_Ideographic, LB_Alphabetic, + LB_Numeric, + LB_Alphabetic, + LB_Ideographic, + LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, @@ -52683,7 +53157,7 @@ static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV _Perl_SB_invlist[] = { /* for ASCII/Latin1 */ - 3097, /* Number of elements */ + 3146, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -53400,7 +53874,7 @@ static const UV _Perl_SB_invlist[] = { /* for ASCII/Latin1 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -53542,7 +54016,7 @@ static const UV _Perl_SB_invlist[] = { /* for ASCII/Latin1 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -53645,7 +54119,6 @@ static const UV _Perl_SB_invlist[] = { /* for ASCII/Latin1 */ 0xCF3, 0xD00, 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -53669,7 +54142,7 @@ static const UV _Perl_SB_invlist[] = { /* for ASCII/Latin1 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -53927,7 +54400,7 @@ static const UV _Perl_SB_invlist[] = { /* for ASCII/Latin1 */ 0x1AA8, 0x1AAC, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B05, 0x1B34, @@ -54592,13 +55065,13 @@ static const UV _Perl_SB_invlist[] = { /* for ASCII/Latin1 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -54840,7 +55313,12 @@ static const UV _Perl_SB_invlist[] = { /* for ASCII/Latin1 */ 0xA7C2, 0xA7C3, 0xA7C4, - 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7CB, + 0xA7F5, + 0xA7F6, 0xA7F7, 0xA7F8, 0xA7FB, @@ -54852,6 +55330,8 @@ static const UV _Perl_SB_invlist[] = { /* for ASCII/Latin1 */ 0xA80C, 0xA823, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA876, @@ -54943,7 +55423,8 @@ static const UV _Perl_SB_invlist[] = { /* for ASCII/Latin1 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB69, + 0xAB6A, 0xAB70, 0xABC0, 0xABE3, @@ -55196,6 +55677,12 @@ static const UV _Perl_SB_invlist[] = { /* for ASCII/Latin1 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, @@ -55205,6 +55692,8 @@ static const UV _Perl_SB_invlist[] = { /* for ASCII/Latin1 */ 0x10F51, 0x10F55, 0x10F5A, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -55237,6 +55726,7 @@ static const UV _Perl_SB_invlist[] = { /* for ASCII/Latin1 */ 0x11144, 0x11145, 0x11147, + 0x11148, 0x11150, 0x11173, 0x11174, @@ -55326,7 +55816,7 @@ static const UV _Perl_SB_invlist[] = { /* for ASCII/Latin1 */ 0x1145A, 0x1145E, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -55376,7 +55866,29 @@ static const UV _Perl_SB_invlist[] = { /* for ASCII/Latin1 */ 0x118E0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, + 0x11944, + 0x11945, + 0x11946, + 0x11947, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -55461,6 +55973,8 @@ static const UV _Perl_SB_invlist[] = { /* for ASCII/Latin1 */ 0x11EF3, 0x11EF7, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -55517,10 +56031,15 @@ static const UV _Perl_SB_invlist[] = { /* for ASCII/Latin1 */ 0x16FE2, 0x16FE3, 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -55766,8 +56285,10 @@ static const UV _Perl_SB_invlist[] = { /* for ASCII/Latin1 */ 0x1F18A, 0x1F676, 0x1F679, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -55778,6 +56299,8 @@ static const UV _Perl_SB_invlist[] = { /* for ASCII/Latin1 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0001, 0xE0002, 0xE0020, @@ -55797,20 +56320,20 @@ static const UV _Perl_SB_invlist[] = { /* for ASCII/Latin1 */ typedef enum { SB_Other = 0, SB_ATerm = 1, - SB_CR = 2, - SB_Close = 3, - SB_Extend = 4, - SB_Format = 5, - SB_LF = 6, - SB_Lower = 7, - SB_Numeric = 8, - SB_OLetter = 9, - SB_SContinue = 10, - SB_STerm = 11, + SB_Close = 2, + SB_CR = 3, + SB_EDGE = 4, + SB_Extend = 5, + SB_Format = 6, + SB_LF = 7, + SB_Lower = 8, + SB_Numeric = 9, + SB_OLetter = 10, + SB_SContinue = 11, SB_Sep = 12, SB_Sp = 13, - SB_Upper = 14, - SB_EDGE = 15 + SB_STerm = 14, + SB_Upper = 15 } SB_enum; static const SB_enum _Perl_SB_invmap[] = { /* for ASCII/Latin1 */ @@ -56771,7 +57294,6 @@ static const SB_enum _Perl_SB_invmap[] = { /* for ASCII/Latin1 */ SB_OLetter, SB_Other, SB_Extend, - SB_Other, SB_OLetter, SB_Other, SB_OLetter, @@ -57967,7 +58489,12 @@ static const SB_enum _Perl_SB_invmap[] = { /* for ASCII/Latin1 */ SB_Upper, SB_Lower, SB_Upper, + SB_Lower, + SB_Upper, + SB_Lower, SB_Other, + SB_Upper, + SB_Lower, SB_OLetter, SB_Lower, SB_OLetter, @@ -57979,6 +58506,8 @@ static const SB_enum _Perl_SB_invmap[] = { /* for ASCII/Latin1 */ SB_OLetter, SB_Extend, SB_Other, + SB_Extend, + SB_Other, SB_OLetter, SB_Other, SB_STerm, @@ -58070,6 +58599,7 @@ static const SB_enum _Perl_SB_invmap[] = { /* for ASCII/Latin1 */ SB_Lower, SB_Other, SB_Lower, + SB_OLetter, SB_Other, SB_Lower, SB_OLetter, @@ -58325,6 +58855,12 @@ static const SB_enum _Perl_SB_invmap[] = { /* for ASCII/Latin1 */ SB_Other, SB_OLetter, SB_Other, + SB_Extend, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, SB_OLetter, SB_Other, SB_OLetter, @@ -58334,6 +58870,8 @@ static const SB_enum _Perl_SB_invmap[] = { /* for ASCII/Latin1 */ SB_Other, SB_OLetter, SB_Other, + SB_OLetter, + SB_Other, SB_Extend, SB_OLetter, SB_Extend, @@ -58363,6 +58901,7 @@ static const SB_enum _Perl_SB_invmap[] = { /* for ASCII/Latin1 */ SB_STerm, SB_OLetter, SB_Extend, + SB_OLetter, SB_Other, SB_OLetter, SB_Extend, @@ -58377,7 +58916,7 @@ static const SB_enum _Perl_SB_invmap[] = { /* for ASCII/Latin1 */ SB_Other, SB_Extend, SB_STerm, - SB_Other, + SB_Extend, SB_Numeric, SB_OLetter, SB_Other, @@ -58507,6 +59046,28 @@ static const SB_enum _Perl_SB_invmap[] = { /* for ASCII/Latin1 */ SB_OLetter, SB_Other, SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_OLetter, + SB_Extend, + SB_OLetter, + SB_Extend, + SB_STerm, + SB_Other, + SB_STerm, + SB_Other, + SB_Numeric, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, SB_Extend, SB_Other, SB_Extend, @@ -58596,6 +59157,8 @@ static const SB_enum _Perl_SB_invmap[] = { /* for ASCII/Latin1 */ SB_Other, SB_OLetter, SB_Other, + SB_OLetter, + SB_Other, SB_Format, SB_Other, SB_OLetter, @@ -58643,6 +59206,11 @@ static const SB_enum _Perl_SB_invmap[] = { /* for ASCII/Latin1 */ SB_OLetter, SB_Other, SB_OLetter, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_OLetter, SB_Other, SB_OLetter, SB_Other, @@ -58893,6 +59461,10 @@ static const SB_enum _Perl_SB_invmap[] = { /* for ASCII/Latin1 */ SB_Other, SB_Close, SB_Other, + SB_Numeric, + SB_Other, + SB_OLetter, + SB_Other, SB_OLetter, SB_Other, SB_OLetter, @@ -58925,7 +59497,7 @@ static const SB_enum _Perl_SB_invmap[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV _Perl_SB_invlist[] = { /* for EBCDIC 1047 */ - 3121, /* Number of elements */ + 3170, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -59666,7 +60238,7 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 1047 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -59808,7 +60380,7 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 1047 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -59911,7 +60483,6 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 1047 */ 0xCF3, 0xD00, 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -59935,7 +60506,7 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 1047 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -60193,7 +60764,7 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 1047 */ 0x1AA8, 0x1AAC, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B05, 0x1B34, @@ -60858,13 +61429,13 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 1047 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -61106,7 +61677,12 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 1047 */ 0xA7C2, 0xA7C3, 0xA7C4, - 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7CB, + 0xA7F5, + 0xA7F6, 0xA7F7, 0xA7F8, 0xA7FB, @@ -61118,6 +61694,8 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 1047 */ 0xA80C, 0xA823, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA876, @@ -61209,7 +61787,8 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 1047 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB69, + 0xAB6A, 0xAB70, 0xABC0, 0xABE3, @@ -61462,6 +62041,12 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 1047 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, @@ -61471,6 +62056,8 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 1047 */ 0x10F51, 0x10F55, 0x10F5A, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -61503,6 +62090,7 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 1047 */ 0x11144, 0x11145, 0x11147, + 0x11148, 0x11150, 0x11173, 0x11174, @@ -61592,7 +62180,7 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 1047 */ 0x1145A, 0x1145E, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -61642,7 +62230,29 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 1047 */ 0x118E0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, + 0x11944, + 0x11945, + 0x11946, + 0x11947, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -61727,6 +62337,8 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 1047 */ 0x11EF3, 0x11EF7, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -61783,10 +62395,15 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 1047 */ 0x16FE2, 0x16FE3, 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -62032,8 +62649,10 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 1047 */ 0x1F18A, 0x1F676, 0x1F679, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -62044,6 +62663,8 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 1047 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0001, 0xE0002, 0xE0020, @@ -62066,20 +62687,20 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 1047 */ typedef enum { SB_Other = 0, SB_ATerm = 1, - SB_CR = 2, - SB_Close = 3, - SB_Extend = 4, - SB_Format = 5, - SB_LF = 6, - SB_Lower = 7, - SB_Numeric = 8, - SB_OLetter = 9, - SB_SContinue = 10, - SB_STerm = 11, + SB_Close = 2, + SB_CR = 3, + SB_EDGE = 4, + SB_Extend = 5, + SB_Format = 6, + SB_LF = 7, + SB_Lower = 8, + SB_Numeric = 9, + SB_OLetter = 10, + SB_SContinue = 11, SB_Sep = 12, SB_Sp = 13, - SB_Upper = 14, - SB_EDGE = 15 + SB_STerm = 14, + SB_Upper = 15 } SB_enum; static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 1047 */ @@ -63064,7 +63685,6 @@ static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 1047 */ SB_OLetter, SB_Other, SB_Extend, - SB_Other, SB_OLetter, SB_Other, SB_OLetter, @@ -64260,7 +64880,12 @@ static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 1047 */ SB_Upper, SB_Lower, SB_Upper, + SB_Lower, + SB_Upper, + SB_Lower, SB_Other, + SB_Upper, + SB_Lower, SB_OLetter, SB_Lower, SB_OLetter, @@ -64272,6 +64897,8 @@ static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 1047 */ SB_OLetter, SB_Extend, SB_Other, + SB_Extend, + SB_Other, SB_OLetter, SB_Other, SB_STerm, @@ -64363,6 +64990,7 @@ static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 1047 */ SB_Lower, SB_Other, SB_Lower, + SB_OLetter, SB_Other, SB_Lower, SB_OLetter, @@ -64618,6 +65246,12 @@ static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 1047 */ SB_Other, SB_OLetter, SB_Other, + SB_Extend, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, SB_OLetter, SB_Other, SB_OLetter, @@ -64627,6 +65261,8 @@ static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 1047 */ SB_Other, SB_OLetter, SB_Other, + SB_OLetter, + SB_Other, SB_Extend, SB_OLetter, SB_Extend, @@ -64656,6 +65292,7 @@ static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 1047 */ SB_STerm, SB_OLetter, SB_Extend, + SB_OLetter, SB_Other, SB_OLetter, SB_Extend, @@ -64670,7 +65307,7 @@ static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 1047 */ SB_Other, SB_Extend, SB_STerm, - SB_Other, + SB_Extend, SB_Numeric, SB_OLetter, SB_Other, @@ -64800,6 +65437,28 @@ static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 1047 */ SB_OLetter, SB_Other, SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_OLetter, + SB_Extend, + SB_OLetter, + SB_Extend, + SB_STerm, + SB_Other, + SB_STerm, + SB_Other, + SB_Numeric, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, SB_Extend, SB_Other, SB_Extend, @@ -64889,6 +65548,8 @@ static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 1047 */ SB_Other, SB_OLetter, SB_Other, + SB_OLetter, + SB_Other, SB_Format, SB_Other, SB_OLetter, @@ -64936,207 +65597,212 @@ static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 1047 */ SB_OLetter, SB_Other, SB_OLetter, - SB_Other, - SB_OLetter, - SB_Other, - SB_OLetter, - SB_Other, - SB_OLetter, - SB_Other, - SB_OLetter, - SB_Other, - SB_OLetter, - SB_Other, - SB_OLetter, - SB_Other, - SB_OLetter, - SB_Other, - SB_OLetter, - SB_Other, - SB_OLetter, - SB_Other, - SB_OLetter, - SB_Other, - SB_Extend, - SB_STerm, - SB_Format, - SB_Other, - SB_Extend, - SB_Other, - SB_Extend, - SB_Format, - SB_Extend, - SB_Other, - SB_Extend, - SB_Other, - SB_Extend, - SB_Other, - SB_Extend, - SB_Other, - SB_Upper, - SB_Lower, - SB_Upper, - SB_Lower, - SB_Other, - SB_Lower, - SB_Upper, - SB_Lower, - SB_Upper, - SB_Other, - SB_Upper, - SB_Other, - SB_Upper, - SB_Other, - SB_Upper, - SB_Other, - SB_Upper, - SB_Other, - SB_Upper, - SB_Lower, - SB_Other, - SB_Lower, - SB_Other, - SB_Lower, - SB_Other, - SB_Lower, - SB_Upper, - SB_Lower, - SB_Upper, - SB_Other, - SB_Upper, - SB_Other, - SB_Upper, - SB_Other, - SB_Upper, - SB_Other, - SB_Lower, - SB_Upper, - SB_Other, - SB_Upper, - SB_Other, - SB_Upper, - SB_Other, - SB_Upper, - SB_Other, - SB_Upper, - SB_Other, - SB_Lower, - SB_Upper, - SB_Lower, - SB_Upper, - SB_Lower, - SB_Upper, - SB_Lower, - SB_Upper, - SB_Lower, - SB_Upper, - SB_Lower, - SB_Upper, - SB_Lower, - SB_Other, - SB_Upper, - SB_Other, - SB_Lower, - SB_Other, - SB_Lower, - SB_Upper, - SB_Other, - SB_Lower, - SB_Other, - SB_Lower, - SB_Upper, - SB_Other, - SB_Lower, - SB_Other, - SB_Lower, - SB_Upper, - SB_Other, - SB_Lower, - SB_Other, - SB_Lower, - SB_Upper, - SB_Other, - SB_Lower, - SB_Other, - SB_Lower, - SB_Upper, - SB_Lower, - SB_Other, - SB_Numeric, - SB_Other, - SB_Extend, - SB_Other, - SB_Extend, - SB_Other, - SB_Extend, - SB_Other, - SB_Extend, - SB_Other, - SB_STerm, - SB_Other, - SB_Extend, - SB_Other, - SB_Extend, - SB_Other, - SB_Extend, - SB_Other, - SB_Extend, - SB_Other, - SB_Extend, - SB_Other, - SB_Extend, - SB_Other, - SB_Extend, - SB_Other, - SB_OLetter, - SB_Other, - SB_Extend, - SB_OLetter, - SB_Other, - SB_Numeric, - SB_Other, - SB_OLetter, - SB_Other, - SB_OLetter, - SB_Extend, - SB_Numeric, - SB_Other, - SB_OLetter, - SB_Other, SB_Extend, SB_Other, - SB_Upper, - SB_Lower, SB_Extend, - SB_OLetter, - SB_Other, - SB_Numeric, - SB_Other, - SB_OLetter, - SB_Other, - SB_OLetter, - SB_Other, - SB_OLetter, - SB_Other, - SB_OLetter, - SB_Other, - SB_OLetter, - SB_Other, - SB_OLetter, - SB_Other, - SB_OLetter, - SB_Other, - SB_OLetter, - SB_Other, - SB_OLetter, - SB_Other, - SB_OLetter, - SB_Other, - SB_OLetter, - SB_Other, - SB_OLetter, - SB_Other, - SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_Extend, + SB_STerm, + SB_Format, + SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Format, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_Upper, + SB_Lower, + SB_Upper, + SB_Lower, + SB_Other, + SB_Lower, + SB_Upper, + SB_Lower, + SB_Upper, + SB_Other, + SB_Upper, + SB_Other, + SB_Upper, + SB_Other, + SB_Upper, + SB_Other, + SB_Upper, + SB_Other, + SB_Upper, + SB_Lower, + SB_Other, + SB_Lower, + SB_Other, + SB_Lower, + SB_Other, + SB_Lower, + SB_Upper, + SB_Lower, + SB_Upper, + SB_Other, + SB_Upper, + SB_Other, + SB_Upper, + SB_Other, + SB_Upper, + SB_Other, + SB_Lower, + SB_Upper, + SB_Other, + SB_Upper, + SB_Other, + SB_Upper, + SB_Other, + SB_Upper, + SB_Other, + SB_Upper, + SB_Other, + SB_Lower, + SB_Upper, + SB_Lower, + SB_Upper, + SB_Lower, + SB_Upper, + SB_Lower, + SB_Upper, + SB_Lower, + SB_Upper, + SB_Lower, + SB_Upper, + SB_Lower, + SB_Other, + SB_Upper, + SB_Other, + SB_Lower, + SB_Other, + SB_Lower, + SB_Upper, + SB_Other, + SB_Lower, + SB_Other, + SB_Lower, + SB_Upper, + SB_Other, + SB_Lower, + SB_Other, + SB_Lower, + SB_Upper, + SB_Other, + SB_Lower, + SB_Other, + SB_Lower, + SB_Upper, + SB_Other, + SB_Lower, + SB_Other, + SB_Lower, + SB_Upper, + SB_Lower, + SB_Other, + SB_Numeric, + SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_STerm, + SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_OLetter, + SB_Other, + SB_Extend, + SB_OLetter, + SB_Other, + SB_Numeric, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Extend, + SB_Numeric, + SB_Other, + SB_OLetter, + SB_Other, + SB_Extend, + SB_Other, + SB_Upper, + SB_Lower, + SB_Extend, + SB_OLetter, + SB_Other, + SB_Numeric, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, SB_Other, SB_OLetter, SB_Other, @@ -65186,6 +65852,10 @@ static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 1047 */ SB_Other, SB_Close, SB_Other, + SB_Numeric, + SB_Other, + SB_OLetter, + SB_Other, SB_OLetter, SB_Other, SB_OLetter, @@ -65218,7 +65888,7 @@ static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV _Perl_SB_invlist[] = { /* for EBCDIC 037 */ - 3117, /* Number of elements */ + 3166, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -65955,7 +66625,7 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 037 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -66097,7 +66767,7 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 037 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -66200,7 +66870,6 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 037 */ 0xCF3, 0xD00, 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -66224,7 +66893,7 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 037 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -66482,7 +67151,7 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 037 */ 0x1AA8, 0x1AAC, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B05, 0x1B34, @@ -67147,13 +67816,13 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 037 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -67395,7 +68064,12 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 037 */ 0xA7C2, 0xA7C3, 0xA7C4, - 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7CB, + 0xA7F5, + 0xA7F6, 0xA7F7, 0xA7F8, 0xA7FB, @@ -67407,6 +68081,8 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 037 */ 0xA80C, 0xA823, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA876, @@ -67498,7 +68174,8 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 037 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB69, + 0xAB6A, 0xAB70, 0xABC0, 0xABE3, @@ -67751,6 +68428,12 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 037 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, @@ -67760,6 +68443,8 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 037 */ 0x10F51, 0x10F55, 0x10F5A, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -67792,6 +68477,7 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 037 */ 0x11144, 0x11145, 0x11147, + 0x11148, 0x11150, 0x11173, 0x11174, @@ -67881,7 +68567,7 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 037 */ 0x1145A, 0x1145E, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -67931,7 +68617,29 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 037 */ 0x118E0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, + 0x11944, + 0x11945, + 0x11946, + 0x11947, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -68016,6 +68724,8 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 037 */ 0x11EF3, 0x11EF7, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -68072,10 +68782,15 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 037 */ 0x16FE2, 0x16FE3, 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -68321,8 +69036,10 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 037 */ 0x1F18A, 0x1F676, 0x1F679, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -68333,6 +69050,8 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 037 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0001, 0xE0002, 0xE0020, @@ -68355,20 +69074,20 @@ static const UV _Perl_SB_invlist[] = { /* for EBCDIC 037 */ typedef enum { SB_Other = 0, SB_ATerm = 1, - SB_CR = 2, - SB_Close = 3, - SB_Extend = 4, - SB_Format = 5, - SB_LF = 6, - SB_Lower = 7, - SB_Numeric = 8, - SB_OLetter = 9, - SB_SContinue = 10, - SB_STerm = 11, + SB_Close = 2, + SB_CR = 3, + SB_EDGE = 4, + SB_Extend = 5, + SB_Format = 6, + SB_LF = 7, + SB_Lower = 8, + SB_Numeric = 9, + SB_OLetter = 10, + SB_SContinue = 11, SB_Sep = 12, SB_Sp = 13, - SB_Upper = 14, - SB_EDGE = 15 + SB_STerm = 14, + SB_Upper = 15 } SB_enum; static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 037 */ @@ -69349,7 +70068,6 @@ static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 037 */ SB_OLetter, SB_Other, SB_Extend, - SB_Other, SB_OLetter, SB_Other, SB_OLetter, @@ -70545,7 +71263,12 @@ static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 037 */ SB_Upper, SB_Lower, SB_Upper, + SB_Lower, + SB_Upper, + SB_Lower, SB_Other, + SB_Upper, + SB_Lower, SB_OLetter, SB_Lower, SB_OLetter, @@ -70557,6 +71280,8 @@ static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 037 */ SB_OLetter, SB_Extend, SB_Other, + SB_Extend, + SB_Other, SB_OLetter, SB_Other, SB_STerm, @@ -70648,6 +71373,7 @@ static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 037 */ SB_Lower, SB_Other, SB_Lower, + SB_OLetter, SB_Other, SB_Lower, SB_OLetter, @@ -70903,6 +71629,12 @@ static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 037 */ SB_Other, SB_OLetter, SB_Other, + SB_Extend, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, SB_OLetter, SB_Other, SB_OLetter, @@ -70912,6 +71644,8 @@ static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 037 */ SB_Other, SB_OLetter, SB_Other, + SB_OLetter, + SB_Other, SB_Extend, SB_OLetter, SB_Extend, @@ -70941,6 +71675,7 @@ static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 037 */ SB_STerm, SB_OLetter, SB_Extend, + SB_OLetter, SB_Other, SB_OLetter, SB_Extend, @@ -70955,7 +71690,7 @@ static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 037 */ SB_Other, SB_Extend, SB_STerm, - SB_Other, + SB_Extend, SB_Numeric, SB_OLetter, SB_Other, @@ -71085,6 +71820,28 @@ static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 037 */ SB_OLetter, SB_Other, SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_OLetter, + SB_Extend, + SB_OLetter, + SB_Extend, + SB_STerm, + SB_Other, + SB_STerm, + SB_Other, + SB_Numeric, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, SB_Extend, SB_Other, SB_Extend, @@ -71174,6 +71931,8 @@ static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 037 */ SB_Other, SB_OLetter, SB_Other, + SB_OLetter, + SB_Other, SB_Format, SB_Other, SB_OLetter, @@ -71221,6 +71980,11 @@ static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 037 */ SB_OLetter, SB_Other, SB_OLetter, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_OLetter, SB_Other, SB_OLetter, SB_Other, @@ -71471,6 +72235,10 @@ static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 037 */ SB_Other, SB_Close, SB_Other, + SB_Numeric, + SB_Other, + SB_OLetter, + SB_Other, SB_OLetter, SB_Other, SB_OLetter, @@ -71500,7 +72268,7 @@ static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV _Perl_SCX_invlist[] = { /* for ASCII/Latin1 */ - 1644, /* Number of elements */ + 1673, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -71560,8 +72328,6 @@ static const UV _Perl_SCX_invlist[] = { /* for ASCII/Latin1 */ 0x531, 0x557, 0x559, - 0x589, - 0x58A, 0x58B, 0x58D, 0x590, @@ -71618,7 +72384,7 @@ static const UV _Perl_SCX_invlist[] = { /* for ASCII/Latin1 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -71742,7 +72508,7 @@ static const UV _Perl_SCX_invlist[] = { /* for ASCII/Latin1 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -71833,8 +72599,6 @@ static const UV _Perl_SCX_invlist[] = { /* for ASCII/Latin1 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -71848,7 +72612,7 @@ static const UV _Perl_SCX_invlist[] = { /* for ASCII/Latin1 */ 0xD64, 0xD66, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -72043,7 +72807,7 @@ static const UV _Perl_SCX_invlist[] = { /* for ASCII/Latin1 */ 0x1AA0, 0x1AAE, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -72106,6 +72870,8 @@ static const UV _Perl_SCX_invlist[] = { /* for ASCII/Latin1 */ 0x1D79, 0x1DBF, 0x1DC2, + 0x1DF8, + 0x1DF9, 0x1DFA, 0x1DFB, 0x1E00, @@ -72183,7 +72949,7 @@ static const UV _Perl_SCX_invlist[] = { /* for ASCII/Latin1 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C00, 0x2C2F, 0x2C30, @@ -72225,7 +72991,7 @@ static const UV _Perl_SCX_invlist[] = { /* for ASCII/Latin1 */ 0x2E00, 0x2E43, 0x2E44, - 0x2E50, + 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, @@ -72272,7 +73038,6 @@ static const UV _Perl_SCX_invlist[] = { /* for ASCII/Latin1 */ 0x318F, 0x3190, 0x31A0, - 0x31BB, 0x31C0, 0x31E4, 0x31F0, @@ -72296,10 +73061,9 @@ static const UV _Perl_SCX_invlist[] = { /* for ASCII/Latin1 */ 0x33E0, 0x33FF, 0x3400, - 0x4DB6, 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA490, @@ -72313,15 +73077,16 @@ static const UV _Perl_SCX_invlist[] = { /* for ASCII/Latin1 */ 0xA6A0, 0xA6F8, 0xA700, + 0xA708, 0xA722, 0xA788, 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA800, - 0xA82C, + 0xA82D, 0xA830, 0xA833, 0xA836, @@ -72381,7 +73146,8 @@ static const UV _Perl_SCX_invlist[] = { /* for ASCII/Latin1 */ 0xAB5C, 0xAB65, 0xAB66, - 0xAB68, + 0xAB6A, + 0xAB6C, 0xAB70, 0xABC0, 0xABEE, @@ -72493,7 +73259,7 @@ static const UV _Perl_SCX_invlist[] = { /* for ASCII/Latin1 */ 0x10140, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -72629,10 +73395,18 @@ static const UV _Perl_SCX_invlist[] = { /* for ASCII/Latin1 */ 0x10D3A, 0x10E60, 0x10E7F, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAE, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, + 0x10FB0, + 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, @@ -72651,12 +73425,10 @@ static const UV _Perl_SCX_invlist[] = { /* for ASCII/Latin1 */ 0x11100, 0x11135, 0x11136, - 0x11147, + 0x11148, 0x11150, 0x11177, 0x11180, - 0x111CE, - 0x111D0, 0x111E0, 0x111E1, 0x111F5, @@ -72713,11 +73485,9 @@ static const UV _Perl_SCX_invlist[] = { /* for ASCII/Latin1 */ 0x11370, 0x11375, 0x11400, - 0x1145A, - 0x1145B, 0x1145C, 0x1145D, - 0x11460, + 0x11462, 0x11480, 0x114C8, 0x114D0, @@ -72748,6 +73518,21 @@ static const UV _Perl_SCX_invlist[] = { /* for ASCII/Latin1 */ 0x118F3, 0x118FF, 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11947, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -72802,6 +73587,8 @@ static const UV _Perl_SCX_invlist[] = { /* for ASCII/Latin1 */ 0x11DAA, 0x11EE0, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x11FC0, 0x11FD0, 0x11FD2, @@ -72857,10 +73644,16 @@ static const UV _Perl_SCX_invlist[] = { /* for ASCII/Latin1 */ 0x16FE1, 0x16FE2, 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18B00, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B001, 0x1B11F, @@ -73067,11 +73860,7 @@ static const UV _Perl_SCX_invlist[] = { /* for ASCII/Latin1 */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F1AE, 0x1F1E6, 0x1F200, 0x1F201, @@ -73085,11 +73874,11 @@ static const UV _Perl_SCX_invlist[] = { /* for ASCII/Latin1 */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -73106,32 +73895,38 @@ static const UV _Perl_SCX_invlist[] = { /* for ASCII/Latin1 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -73142,6 +73937,8 @@ static const UV _Perl_SCX_invlist[] = { /* for ASCII/Latin1 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0001, 0xE0002, 0xE0020, @@ -73185,139 +73982,143 @@ typedef enum { SCX_Chakma = 21, SCX_Cham = 22, SCX_Cherokee = 23, - SCX_Common = 24, - SCX_Coptic = 25, - SCX_Cuneiform = 26, - SCX_Cypriot = 27, - SCX_Cyrillic = 28, - SCX_Deseret = 29, - SCX_Devanagari = 30, - SCX_Dogra = 31, - SCX_Duployan = 32, - SCX_Egyptian_Hieroglyphs = 33, - SCX_Elbasan = 34, - SCX_Elymaic = 35, - SCX_Ethiopic = 36, - SCX_Georgian = 37, - SCX_Glagolitic = 38, - SCX_Gothic = 39, - SCX_Grantha = 40, - SCX_Greek = 41, - SCX_Gujarati = 42, - SCX_Gunjala_Gondi = 43, - SCX_Gurmukhi = 44, - SCX_Han = 45, - SCX_Hanb = 46, - SCX_Hangul = 47, - SCX_Hanifi_Rohingya = 48, - SCX_Hanunoo = 49, - SCX_Hatran = 50, - SCX_Hebrew = 51, - SCX_Hiragana = 52, - SCX_Imperial_Aramaic = 53, - SCX_Inherited = 54, - SCX_Inscriptional_Pahlavi = 55, - SCX_Inscriptional_Parthian = 56, - SCX_Javanese = 57, - SCX_Jpan = 58, - SCX_Kaithi = 59, - SCX_Kannada = 60, - SCX_Katakana = 61, - SCX_Kayah_Li = 62, - SCX_Kharoshthi = 63, - SCX_Khmer = 64, - SCX_Khojki = 65, - SCX_Khudawadi = 66, - SCX_Kore = 67, - SCX_Lao = 68, - SCX_Latin = 69, - SCX_Lepcha = 70, - SCX_Limbu = 71, - SCX_Linear_A = 72, - SCX_Linear_B = 73, - SCX_Lisu = 74, - SCX_Lycian = 75, - SCX_Lydian = 76, - SCX_Mahajani = 77, - SCX_Makasar = 78, - SCX_Malayalam = 79, - SCX_Mandaic = 80, - SCX_Manichaean = 81, - SCX_Marchen = 82, - SCX_Masaram_Gondi = 83, - SCX_Medefaidrin = 84, - SCX_Meetei_Mayek = 85, - SCX_Mende_Kikakui = 86, - SCX_Meroitic_Cursive = 87, - SCX_Meroitic_Hieroglyphs = 88, - SCX_Miao = 89, - SCX_Modi = 90, - SCX_Mongolian = 91, - SCX_Mro = 92, - SCX_Multani = 93, - SCX_Myanmar = 94, - SCX_Nabataean = 95, - SCX_Nandinagari = 96, - SCX_New_Tai_Lue = 97, - SCX_Newa = 98, - SCX_Nko = 99, - SCX_Nushu = 100, - SCX_Nyiakeng_Puachue_Hmong = 101, - SCX_Ogham = 102, - SCX_Ol_Chiki = 103, - SCX_Old_Hungarian = 104, - SCX_Old_Italic = 105, - SCX_Old_North_Arabian = 106, - SCX_Old_Permic = 107, - SCX_Old_Persian = 108, - SCX_Old_Sogdian = 109, - SCX_Old_South_Arabian = 110, - SCX_Old_Turkic = 111, - SCX_Oriya = 112, - SCX_Osage = 113, - SCX_Osmanya = 114, - SCX_Pahawh_Hmong = 115, - SCX_Palmyrene = 116, - SCX_Pau_Cin_Hau = 117, - SCX_Phags_Pa = 118, - SCX_Phoenician = 119, - SCX_Psalter_Pahlavi = 120, - SCX_Rejang = 121, - SCX_Runic = 122, - SCX_Samaritan = 123, - SCX_Saurashtra = 124, - SCX_Sharada = 125, - SCX_Shavian = 126, - SCX_Siddham = 127, - SCX_SignWriting = 128, - SCX_Sinhala = 129, - SCX_Sogdian = 130, - SCX_Sora_Sompeng = 131, - SCX_Soyombo = 132, - SCX_Sundanese = 133, - SCX_Syloti_Nagri = 134, - SCX_Syriac = 135, - SCX_Tagalog = 136, - SCX_Tagbanwa = 137, - SCX_Tai_Le = 138, - SCX_Tai_Tham = 139, - SCX_Tai_Viet = 140, - SCX_Takri = 141, - SCX_Tamil = 142, - SCX_Tangut = 143, - SCX_Telugu = 144, - SCX_Thaana = 145, - SCX_Thai = 146, - SCX_Tibetan = 147, - SCX_Tifinagh = 148, - SCX_Tirhuta = 149, - SCX_Ugaritic = 150, - SCX_Vai = 151, - SCX_Wancho = 152, - SCX_Warang_Citi = 153, - SCX_Yi = 154, - SCX_Zanabazar_Square = 155, - SCX_INVALID = 156, + SCX_Chorasmian = 24, + SCX_Common = 25, + SCX_Coptic = 26, + SCX_Cuneiform = 27, + SCX_Cypriot = 28, + SCX_Cyrillic = 29, + SCX_Deseret = 30, + SCX_Devanagari = 31, + SCX_Dives_Akuru = 32, + SCX_Dogra = 33, + SCX_Duployan = 34, + SCX_Egyptian_Hieroglyphs = 35, + SCX_Elbasan = 36, + SCX_Elymaic = 37, + SCX_Ethiopic = 38, + SCX_Georgian = 39, + SCX_Glagolitic = 40, + SCX_Gothic = 41, + SCX_Grantha = 42, + SCX_Greek = 43, + SCX_Gujarati = 44, + SCX_Gunjala_Gondi = 45, + SCX_Gurmukhi = 46, + SCX_Han = 47, + SCX_Hanb = 48, + SCX_Hangul = 49, + SCX_Hanifi_Rohingya = 50, + SCX_Hanunoo = 51, + SCX_Hatran = 52, + SCX_Hebrew = 53, + SCX_Hiragana = 54, + SCX_Imperial_Aramaic = 55, + SCX_Inherited = 56, + SCX_Inscriptional_Pahlavi = 57, + SCX_Inscriptional_Parthian = 58, + SCX_INVALID = 59, + SCX_Javanese = 60, + SCX_Jpan = 61, + SCX_Kaithi = 62, + SCX_Kannada = 63, + SCX_Katakana = 64, + SCX_Kayah_Li = 65, + SCX_Kharoshthi = 66, + SCX_Khitan_Small_Script = 67, + SCX_Khmer = 68, + SCX_Khojki = 69, + SCX_Khudawadi = 70, + SCX_Kore = 71, + SCX_Lao = 72, + SCX_Latin = 73, + SCX_Lepcha = 74, + SCX_Limbu = 75, + SCX_Linear_A = 76, + SCX_Linear_B = 77, + SCX_Lisu = 78, + SCX_Lycian = 79, + SCX_Lydian = 80, + SCX_Mahajani = 81, + SCX_Makasar = 82, + SCX_Malayalam = 83, + SCX_Mandaic = 84, + SCX_Manichaean = 85, + SCX_Marchen = 86, + SCX_Masaram_Gondi = 87, + SCX_Medefaidrin = 88, + SCX_Meetei_Mayek = 89, + SCX_Mende_Kikakui = 90, + SCX_Meroitic_Cursive = 91, + SCX_Meroitic_Hieroglyphs = 92, + SCX_Miao = 93, + SCX_Modi = 94, + SCX_Mongolian = 95, + SCX_Mro = 96, + SCX_Multani = 97, + SCX_Myanmar = 98, + SCX_Nabataean = 99, + SCX_Nandinagari = 100, + SCX_New_Tai_Lue = 101, + SCX_Newa = 102, + SCX_Nko = 103, + SCX_Nushu = 104, + SCX_Nyiakeng_Puachue_Hmong = 105, + SCX_Ogham = 106, + SCX_Ol_Chiki = 107, + SCX_Old_Hungarian = 108, + SCX_Old_Italic = 109, + SCX_Old_North_Arabian = 110, + SCX_Old_Permic = 111, + SCX_Old_Persian = 112, + SCX_Old_Sogdian = 113, + SCX_Old_South_Arabian = 114, + SCX_Old_Turkic = 115, + SCX_Oriya = 116, + SCX_Osage = 117, + SCX_Osmanya = 118, + SCX_Pahawh_Hmong = 119, + SCX_Palmyrene = 120, + SCX_Pau_Cin_Hau = 121, + SCX_Phags_Pa = 122, + SCX_Phoenician = 123, + SCX_Psalter_Pahlavi = 124, + SCX_Rejang = 125, + SCX_Runic = 126, + SCX_Samaritan = 127, + SCX_Saurashtra = 128, + SCX_Sharada = 129, + SCX_Shavian = 130, + SCX_Siddham = 131, + SCX_SignWriting = 132, + SCX_Sinhala = 133, + SCX_Sogdian = 134, + SCX_Sora_Sompeng = 135, + SCX_Soyombo = 136, + SCX_Sundanese = 137, + SCX_Syloti_Nagri = 138, + SCX_Syriac = 139, + SCX_Tagalog = 140, + SCX_Tagbanwa = 141, + SCX_Tai_Le = 142, + SCX_Tai_Tham = 143, + SCX_Tai_Viet = 144, + SCX_Takri = 145, + SCX_Tamil = 146, + SCX_Tangut = 147, + SCX_Telugu = 148, + SCX_Thaana = 149, + SCX_Thai = 150, + SCX_Tibetan = 151, + SCX_Tifinagh = 152, + SCX_Tirhuta = 153, + SCX_Ugaritic = 154, + SCX_Vai = 155, + SCX_Wancho = 156, + SCX_Warang_Citi = 157, + SCX_Yezidi = 158, + SCX_Yi = 159, + SCX_Zanabazar_Square = 160, SCX_use_AUX_TABLE_1 = -1, SCX_use_AUX_TABLE_2 = -2, SCX_use_AUX_TABLE_3 = -3, @@ -73370,7 +74171,9 @@ typedef enum { SCX_use_AUX_TABLE_50 = -50, SCX_use_AUX_TABLE_51 = -51, SCX_use_AUX_TABLE_52 = -52, - SCX_use_AUX_TABLE_53 = -53 + SCX_use_AUX_TABLE_53 = -53, + SCX_use_AUX_TABLE_54 = -54, + SCX_use_AUX_TABLE_55 = -55 } SCX_enum; # endif /* ASCII/Latin1 */ @@ -73402,24 +74205,20 @@ static const SCX_enum SCX_AUX_TABLE_4[] = { }; static const SCX_enum SCX_AUX_TABLE_5[] = { - SCX_Armenian, - SCX_Georgian -}; - -static const SCX_enum SCX_AUX_TABLE_6[] = { SCX_Arabic, SCX_Hanifi_Rohingya, SCX_Syriac, - SCX_Thaana + SCX_Thaana, + SCX_Yezidi }; -static const SCX_enum SCX_AUX_TABLE_7[] = { +static const SCX_enum SCX_AUX_TABLE_6[] = { SCX_Arabic, SCX_Syriac, SCX_Thaana }; -static const SCX_enum SCX_AUX_TABLE_8[] = { +static const SCX_enum SCX_AUX_TABLE_7[] = { SCX_Adlam, SCX_Arabic, SCX_Hanifi_Rohingya, @@ -73430,22 +74229,23 @@ static const SCX_enum SCX_AUX_TABLE_8[] = { SCX_Syriac }; -static const SCX_enum SCX_AUX_TABLE_9[] = { +static const SCX_enum SCX_AUX_TABLE_8[] = { SCX_Arabic, SCX_Syriac }; -static const SCX_enum SCX_AUX_TABLE_10[] = { +static const SCX_enum SCX_AUX_TABLE_9[] = { SCX_Arabic, - SCX_Thaana + SCX_Thaana, + SCX_Yezidi }; -static const SCX_enum SCX_AUX_TABLE_11[] = { +static const SCX_enum SCX_AUX_TABLE_10[] = { SCX_Arabic, SCX_Hanifi_Rohingya }; -static const SCX_enum SCX_AUX_TABLE_12[] = { +static const SCX_enum SCX_AUX_TABLE_11[] = { SCX_Bengali, SCX_Devanagari, SCX_Grantha, @@ -73461,7 +74261,7 @@ static const SCX_enum SCX_AUX_TABLE_12[] = { SCX_Tirhuta }; -static const SCX_enum SCX_AUX_TABLE_13[] = { +static const SCX_enum SCX_AUX_TABLE_12[] = { SCX_Bengali, SCX_Devanagari, SCX_Grantha, @@ -73476,7 +74276,7 @@ static const SCX_enum SCX_AUX_TABLE_13[] = { SCX_Tirhuta }; -static const SCX_enum SCX_AUX_TABLE_14[] = { +static const SCX_enum SCX_AUX_TABLE_13[] = { SCX_Bengali, SCX_Devanagari, SCX_Dogra, @@ -73499,7 +74299,7 @@ static const SCX_enum SCX_AUX_TABLE_14[] = { SCX_Tirhuta }; -static const SCX_enum SCX_AUX_TABLE_15[] = { +static const SCX_enum SCX_AUX_TABLE_14[] = { SCX_Bengali, SCX_Devanagari, SCX_Dogra, @@ -73523,90 +74323,90 @@ static const SCX_enum SCX_AUX_TABLE_15[] = { SCX_Tirhuta }; -static const SCX_enum SCX_AUX_TABLE_16[] = { +static const SCX_enum SCX_AUX_TABLE_15[] = { SCX_Devanagari, SCX_Dogra, SCX_Kaithi, SCX_Mahajani }; -static const SCX_enum SCX_AUX_TABLE_17[] = { +static const SCX_enum SCX_AUX_TABLE_16[] = { SCX_Bengali, SCX_Chakma, SCX_Syloti_Nagri }; -static const SCX_enum SCX_AUX_TABLE_18[] = { +static const SCX_enum SCX_AUX_TABLE_17[] = { SCX_Gurmukhi, SCX_Multani }; -static const SCX_enum SCX_AUX_TABLE_19[] = { +static const SCX_enum SCX_AUX_TABLE_18[] = { SCX_Gujarati, SCX_Khojki }; -static const SCX_enum SCX_AUX_TABLE_20[] = { +static const SCX_enum SCX_AUX_TABLE_19[] = { SCX_Grantha, SCX_Tamil }; -static const SCX_enum SCX_AUX_TABLE_21[] = { +static const SCX_enum SCX_AUX_TABLE_20[] = { SCX_Kannada, SCX_Nandinagari }; -static const SCX_enum SCX_AUX_TABLE_22[] = { +static const SCX_enum SCX_AUX_TABLE_21[] = { SCX_Chakma, SCX_Myanmar, SCX_Tai_Le }; -static const SCX_enum SCX_AUX_TABLE_23[] = { +static const SCX_enum SCX_AUX_TABLE_22[] = { SCX_Georgian, SCX_Latin }; -static const SCX_enum SCX_AUX_TABLE_24[] = { +static const SCX_enum SCX_AUX_TABLE_23[] = { SCX_Hangul, SCX_Kore }; -static const SCX_enum SCX_AUX_TABLE_25[] = { +static const SCX_enum SCX_AUX_TABLE_24[] = { SCX_Buhid, SCX_Hanunoo, SCX_Tagalog, SCX_Tagbanwa }; -static const SCX_enum SCX_AUX_TABLE_26[] = { +static const SCX_enum SCX_AUX_TABLE_25[] = { SCX_Mongolian, SCX_Phags_Pa }; -static const SCX_enum SCX_AUX_TABLE_27[] = { +static const SCX_enum SCX_AUX_TABLE_26[] = { SCX_Bengali, SCX_Devanagari, SCX_Grantha, SCX_Kannada }; -static const SCX_enum SCX_AUX_TABLE_28[] = { +static const SCX_enum SCX_AUX_TABLE_27[] = { SCX_Devanagari, SCX_Grantha }; -static const SCX_enum SCX_AUX_TABLE_29[] = { +static const SCX_enum SCX_AUX_TABLE_28[] = { SCX_Bengali, SCX_Devanagari }; -static const SCX_enum SCX_AUX_TABLE_30[] = { +static const SCX_enum SCX_AUX_TABLE_29[] = { SCX_Devanagari, SCX_Sharada }; -static const SCX_enum SCX_AUX_TABLE_31[] = { +static const SCX_enum SCX_AUX_TABLE_30[] = { SCX_Devanagari, SCX_Kannada, SCX_Malayalam, @@ -73615,12 +74415,12 @@ static const SCX_enum SCX_AUX_TABLE_31[] = { SCX_Telugu }; -static const SCX_enum SCX_AUX_TABLE_32[] = { +static const SCX_enum SCX_AUX_TABLE_31[] = { SCX_Devanagari, SCX_Nandinagari }; -static const SCX_enum SCX_AUX_TABLE_33[] = { +static const SCX_enum SCX_AUX_TABLE_32[] = { SCX_Bengali, SCX_Devanagari, SCX_Grantha, @@ -73631,12 +74431,17 @@ static const SCX_enum SCX_AUX_TABLE_33[] = { SCX_Tirhuta }; -static const SCX_enum SCX_AUX_TABLE_34[] = { +static const SCX_enum SCX_AUX_TABLE_33[] = { SCX_Devanagari, SCX_Grantha, SCX_Kannada }; +static const SCX_enum SCX_AUX_TABLE_34[] = { + SCX_Cyrillic, + SCX_Syriac +}; + static const SCX_enum SCX_AUX_TABLE_35[] = { SCX_Latin, SCX_Mongolian @@ -73712,6 +74517,14 @@ static const SCX_enum SCX_AUX_TABLE_44[] = { }; static const SCX_enum SCX_AUX_TABLE_45[] = { + SCX_Han, + SCX_Hanb, + SCX_Jpan, + SCX_Kore, + SCX_Latin +}; + +static const SCX_enum SCX_AUX_TABLE_46[] = { SCX_Devanagari, SCX_Dogra, SCX_Gujarati, @@ -73728,7 +74541,7 @@ static const SCX_enum SCX_AUX_TABLE_45[] = { SCX_Tirhuta }; -static const SCX_enum SCX_AUX_TABLE_46[] = { +static const SCX_enum SCX_AUX_TABLE_47[] = { SCX_Devanagari, SCX_Dogra, SCX_Gujarati, @@ -73744,7 +74557,7 @@ static const SCX_enum SCX_AUX_TABLE_46[] = { SCX_Tirhuta }; -static const SCX_enum SCX_AUX_TABLE_47[] = { +static const SCX_enum SCX_AUX_TABLE_48[] = { SCX_Devanagari, SCX_Dogra, SCX_Gujarati, @@ -73758,34 +74571,39 @@ static const SCX_enum SCX_AUX_TABLE_47[] = { SCX_Tirhuta }; -static const SCX_enum SCX_AUX_TABLE_48[] = { +static const SCX_enum SCX_AUX_TABLE_49[] = { SCX_Devanagari, SCX_Tamil }; -static const SCX_enum SCX_AUX_TABLE_49[] = { +static const SCX_enum SCX_AUX_TABLE_50[] = { SCX_Kayah_Li, SCX_Latin, SCX_Myanmar }; -static const SCX_enum SCX_AUX_TABLE_50[] = { +static const SCX_enum SCX_AUX_TABLE_51[] = { SCX_Buginese, SCX_Javanese }; -static const SCX_enum SCX_AUX_TABLE_51[] = { +static const SCX_enum SCX_AUX_TABLE_52[] = { + SCX_Arabic, + SCX_Thaana +}; + +static const SCX_enum SCX_AUX_TABLE_53[] = { SCX_Cypriot, SCX_Linear_B }; -static const SCX_enum SCX_AUX_TABLE_52[] = { +static const SCX_enum SCX_AUX_TABLE_54[] = { SCX_Cypriot, SCX_Linear_A, SCX_Linear_B }; -static const SCX_enum SCX_AUX_TABLE_53[] = { +static const SCX_enum SCX_AUX_TABLE_55[] = { SCX_Arabic, SCX_Coptic }; @@ -73844,7 +74662,9 @@ static const SCX_enum * const SCX_AUX_TABLE_ptrs[] = { SCX_AUX_TABLE_50, SCX_AUX_TABLE_51, SCX_AUX_TABLE_52, - SCX_AUX_TABLE_53 + SCX_AUX_TABLE_53, + SCX_AUX_TABLE_54, + SCX_AUX_TABLE_55 }; /* Parallel table to the above, giving the number of elements in each table @@ -73856,36 +74676,36 @@ static const U8 SCX_AUX_TABLE_lengths[] = { 2 /* SCX_AUX_TABLE_2 */, 2 /* SCX_AUX_TABLE_3 */, 2 /* SCX_AUX_TABLE_4 */, - 2 /* SCX_AUX_TABLE_5 */, - 4 /* SCX_AUX_TABLE_6 */, - 3 /* SCX_AUX_TABLE_7 */, - 8 /* SCX_AUX_TABLE_8 */, - 2 /* SCX_AUX_TABLE_9 */, + 5 /* SCX_AUX_TABLE_5 */, + 3 /* SCX_AUX_TABLE_6 */, + 8 /* SCX_AUX_TABLE_7 */, + 2 /* SCX_AUX_TABLE_8 */, + 3 /* SCX_AUX_TABLE_9 */, 2 /* SCX_AUX_TABLE_10 */, - 2 /* SCX_AUX_TABLE_11 */, - 13 /* SCX_AUX_TABLE_12 */, - 12 /* SCX_AUX_TABLE_13 */, - 20 /* SCX_AUX_TABLE_14 */, - 21 /* SCX_AUX_TABLE_15 */, - 4 /* SCX_AUX_TABLE_16 */, - 3 /* SCX_AUX_TABLE_17 */, + 13 /* SCX_AUX_TABLE_11 */, + 12 /* SCX_AUX_TABLE_12 */, + 20 /* SCX_AUX_TABLE_13 */, + 21 /* SCX_AUX_TABLE_14 */, + 4 /* SCX_AUX_TABLE_15 */, + 3 /* SCX_AUX_TABLE_16 */, + 2 /* SCX_AUX_TABLE_17 */, 2 /* SCX_AUX_TABLE_18 */, 2 /* SCX_AUX_TABLE_19 */, 2 /* SCX_AUX_TABLE_20 */, - 2 /* SCX_AUX_TABLE_21 */, - 3 /* SCX_AUX_TABLE_22 */, + 3 /* SCX_AUX_TABLE_21 */, + 2 /* SCX_AUX_TABLE_22 */, 2 /* SCX_AUX_TABLE_23 */, - 2 /* SCX_AUX_TABLE_24 */, - 4 /* SCX_AUX_TABLE_25 */, - 2 /* SCX_AUX_TABLE_26 */, - 4 /* SCX_AUX_TABLE_27 */, + 4 /* SCX_AUX_TABLE_24 */, + 2 /* SCX_AUX_TABLE_25 */, + 4 /* SCX_AUX_TABLE_26 */, + 2 /* SCX_AUX_TABLE_27 */, 2 /* SCX_AUX_TABLE_28 */, 2 /* SCX_AUX_TABLE_29 */, - 2 /* SCX_AUX_TABLE_30 */, - 6 /* SCX_AUX_TABLE_31 */, - 2 /* SCX_AUX_TABLE_32 */, - 8 /* SCX_AUX_TABLE_33 */, - 3 /* SCX_AUX_TABLE_34 */, + 6 /* SCX_AUX_TABLE_30 */, + 2 /* SCX_AUX_TABLE_31 */, + 8 /* SCX_AUX_TABLE_32 */, + 3 /* SCX_AUX_TABLE_33 */, + 2 /* SCX_AUX_TABLE_34 */, 2 /* SCX_AUX_TABLE_35 */, 3 /* SCX_AUX_TABLE_36 */, 4 /* SCX_AUX_TABLE_37 */, @@ -73896,15 +74716,17 @@ static const U8 SCX_AUX_TABLE_lengths[] = { 6 /* SCX_AUX_TABLE_42 */, 2 /* SCX_AUX_TABLE_43 */, 2 /* SCX_AUX_TABLE_44 */, - 14 /* SCX_AUX_TABLE_45 */, - 13 /* SCX_AUX_TABLE_46 */, - 11 /* SCX_AUX_TABLE_47 */, - 2 /* SCX_AUX_TABLE_48 */, - 3 /* SCX_AUX_TABLE_49 */, - 2 /* SCX_AUX_TABLE_50 */, + 5 /* SCX_AUX_TABLE_45 */, + 14 /* SCX_AUX_TABLE_46 */, + 13 /* SCX_AUX_TABLE_47 */, + 11 /* SCX_AUX_TABLE_48 */, + 2 /* SCX_AUX_TABLE_49 */, + 3 /* SCX_AUX_TABLE_50 */, 2 /* SCX_AUX_TABLE_51 */, - 3 /* SCX_AUX_TABLE_52 */, - 2 /* SCX_AUX_TABLE_53 */ + 2 /* SCX_AUX_TABLE_52 */, + 2 /* SCX_AUX_TABLE_53 */, + 3 /* SCX_AUX_TABLE_54 */, + 2 /* SCX_AUX_TABLE_55 */ }; /* This table, indexed by the script enum, gives the zero code point for that @@ -73936,6 +74758,7 @@ static const UV script_zeros[] = { 0, /* Chakma */ 0xaa50, /* Cham */ '0', /* Cherokee */ + '0', /* Chorasmian */ 0, /* Common */ '0', /* Coptic */ '0', /* Cuneiform */ @@ -73943,6 +74766,7 @@ static const UV script_zeros[] = { '0', /* Cyrillic */ '0', /* Deseret */ 0x966, /* Devanagari */ + 0x11950, /* Dives_Akuru */ 0x966, /* Dogra */ '0', /* Duployan */ '0', /* Egyptian_Hieroglyphs */ @@ -73969,6 +74793,7 @@ static const UV script_zeros[] = { 0, /* Inherited */ '0', /* Inscriptional_Pahlavi */ '0', /* Inscriptional_Parthian */ + '0', /* INVALID */ 0xa9d0, /* Javanese */ '0', /* Jpan */ 0x966, /* Kaithi */ @@ -73976,6 +74801,7 @@ static const UV script_zeros[] = { '0', /* Katakana */ 0xa900, /* Kayah_Li */ '0', /* Kharoshthi */ + '0', /* Khitan_Small_Script */ 0x17e0, /* Khmer */ 0xae6, /* Khojki */ 0x112f0, /* Khudawadi */ @@ -74065,7 +74891,8 @@ static const UV script_zeros[] = { '0', /* Ugaritic */ 0xa620, /* Vai */ 0x1e2f0, /* Wancho */ - 0x118e0 /* Warang_Citi */ + 0x118e0, /* Warang_Citi */ + 0x660 /* Yezidi */ }; static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ @@ -74125,8 +74952,6 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Armenian, SCX_Unknown, SCX_Armenian, - SCX_use_AUX_TABLE_5, - SCX_Armenian, SCX_Unknown, SCX_Armenian, SCX_Unknown, @@ -74139,23 +74964,23 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Arabic, SCX_Common, SCX_Arabic, - SCX_use_AUX_TABLE_6, + SCX_use_AUX_TABLE_5, SCX_Arabic, + SCX_use_AUX_TABLE_5, SCX_use_AUX_TABLE_6, - SCX_use_AUX_TABLE_7, SCX_Unknown, SCX_Arabic, - SCX_use_AUX_TABLE_6, + SCX_use_AUX_TABLE_5, + SCX_Arabic, + SCX_use_AUX_TABLE_7, SCX_Arabic, SCX_use_AUX_TABLE_8, SCX_Arabic, SCX_use_AUX_TABLE_9, SCX_Arabic, - SCX_use_AUX_TABLE_10, - SCX_Arabic, - SCX_use_AUX_TABLE_9, + SCX_use_AUX_TABLE_8, SCX_Arabic, - SCX_use_AUX_TABLE_11, + SCX_use_AUX_TABLE_10, SCX_Arabic, SCX_Common, SCX_Arabic, @@ -74188,13 +75013,13 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Common, SCX_Arabic, SCX_Devanagari, + SCX_use_AUX_TABLE_11, SCX_use_AUX_TABLE_12, - SCX_use_AUX_TABLE_13, SCX_Inherited, SCX_Devanagari, + SCX_use_AUX_TABLE_13, SCX_use_AUX_TABLE_14, SCX_use_AUX_TABLE_15, - SCX_use_AUX_TABLE_16, SCX_Devanagari, SCX_Bengali, SCX_Unknown, @@ -74222,7 +75047,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Unknown, SCX_Bengali, SCX_Unknown, - SCX_use_AUX_TABLE_17, + SCX_use_AUX_TABLE_16, SCX_Bengali, SCX_Unknown, SCX_Gurmukhi, @@ -74255,7 +75080,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, - SCX_use_AUX_TABLE_18, + SCX_use_AUX_TABLE_17, SCX_Gurmukhi, SCX_Unknown, SCX_Gujarati, @@ -74282,7 +75107,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Unknown, SCX_Gujarati, SCX_Unknown, - SCX_use_AUX_TABLE_19, + SCX_use_AUX_TABLE_18, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, @@ -74345,7 +75170,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Unknown, SCX_Tamil, SCX_Unknown, - SCX_use_AUX_TABLE_20, + SCX_use_AUX_TABLE_19, SCX_Tamil, SCX_Unknown, SCX_Telugu, @@ -74393,7 +75218,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Unknown, SCX_Kannada, SCX_Unknown, - SCX_use_AUX_TABLE_21, + SCX_use_AUX_TABLE_20, SCX_Unknown, SCX_Kannada, SCX_Unknown, @@ -74411,8 +75236,6 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Unknown, SCX_Malayalam, SCX_Unknown, - SCX_Malayalam, - SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, @@ -74479,7 +75302,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Tibetan, SCX_Unknown, SCX_Myanmar, - SCX_use_AUX_TABLE_22, + SCX_use_AUX_TABLE_21, SCX_Myanmar, SCX_Georgian, SCX_Unknown, @@ -74488,9 +75311,9 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Georgian, SCX_Unknown, SCX_Georgian, - SCX_use_AUX_TABLE_23, + SCX_use_AUX_TABLE_22, SCX_Georgian, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, @@ -74543,7 +75366,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Tagalog, SCX_Unknown, SCX_Hanunoo, - SCX_use_AUX_TABLE_25, + SCX_use_AUX_TABLE_24, SCX_Unknown, SCX_Buhid, SCX_Unknown, @@ -74560,9 +75383,9 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Khmer, SCX_Unknown, SCX_Mongolian, - SCX_use_AUX_TABLE_26, + SCX_use_AUX_TABLE_25, SCX_Mongolian, - SCX_use_AUX_TABLE_26, + SCX_use_AUX_TABLE_25, SCX_Mongolian, SCX_Unknown, SCX_Mongolian, @@ -74630,33 +75453,33 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Georgian, SCX_Sundanese, SCX_Unknown, - SCX_use_AUX_TABLE_27, + SCX_use_AUX_TABLE_26, SCX_Devanagari, + SCX_use_AUX_TABLE_26, SCX_use_AUX_TABLE_27, - SCX_use_AUX_TABLE_28, SCX_Devanagari, + SCX_use_AUX_TABLE_28, SCX_use_AUX_TABLE_29, - SCX_use_AUX_TABLE_30, + SCX_use_AUX_TABLE_28, SCX_use_AUX_TABLE_29, SCX_use_AUX_TABLE_30, - SCX_use_AUX_TABLE_31, - SCX_Devanagari, - SCX_use_AUX_TABLE_30, SCX_Devanagari, - SCX_use_AUX_TABLE_30, SCX_use_AUX_TABLE_29, SCX_Devanagari, - SCX_use_AUX_TABLE_32, SCX_use_AUX_TABLE_29, + SCX_use_AUX_TABLE_28, SCX_Devanagari, - SCX_use_AUX_TABLE_29, + SCX_use_AUX_TABLE_31, + SCX_use_AUX_TABLE_28, SCX_Devanagari, + SCX_use_AUX_TABLE_28, + SCX_Devanagari, + SCX_use_AUX_TABLE_32, + SCX_use_AUX_TABLE_27, SCX_use_AUX_TABLE_33, SCX_use_AUX_TABLE_28, - SCX_use_AUX_TABLE_34, - SCX_use_AUX_TABLE_29, SCX_Bengali, - SCX_use_AUX_TABLE_28, + SCX_use_AUX_TABLE_27, SCX_Nandinagari, SCX_Unknown, SCX_Latin, @@ -74671,6 +75494,8 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Latin, SCX_Greek, SCX_Inherited, + SCX_use_AUX_TABLE_34, + SCX_Inherited, SCX_Unknown, SCX_Inherited, SCX_Latin, @@ -74812,7 +75637,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Common, SCX_use_AUX_TABLE_37, SCX_use_AUX_TABLE_40, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_use_AUX_TABLE_39, SCX_use_AUX_TABLE_41, SCX_Common, @@ -74833,19 +75658,18 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Unknown, SCX_use_AUX_TABLE_1, SCX_Unknown, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_use_AUX_TABLE_1, - SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_44, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Common, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Common, SCX_use_AUX_TABLE_37, SCX_Common, @@ -74861,7 +75685,6 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_use_AUX_TABLE_37, SCX_Common, SCX_use_AUX_TABLE_37, - SCX_Unknown, SCX_Common, SCX_use_AUX_TABLE_37, SCX_Unknown, @@ -74877,6 +75700,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Cyrillic, SCX_Bamum, SCX_Unknown, + SCX_use_AUX_TABLE_45, SCX_Common, SCX_Latin, SCX_Common, @@ -74887,9 +75711,9 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Latin, SCX_Syloti_Nagri, SCX_Unknown, - SCX_use_AUX_TABLE_45, SCX_use_AUX_TABLE_46, SCX_use_AUX_TABLE_47, + SCX_use_AUX_TABLE_48, SCX_Unknown, SCX_Phags_Pa, SCX_Unknown, @@ -74898,21 +75722,21 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Saurashtra, SCX_Unknown, SCX_Devanagari, - SCX_use_AUX_TABLE_29, + SCX_use_AUX_TABLE_28, SCX_Devanagari, - SCX_use_AUX_TABLE_48, + SCX_use_AUX_TABLE_49, SCX_Devanagari, SCX_Kayah_Li, - SCX_use_AUX_TABLE_49, + SCX_use_AUX_TABLE_50, SCX_Kayah_Li, SCX_Rejang, SCX_Unknown, SCX_Rejang, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_Javanese, SCX_Unknown, - SCX_use_AUX_TABLE_50, + SCX_use_AUX_TABLE_51, SCX_Javanese, SCX_Unknown, SCX_Javanese, @@ -74946,17 +75770,18 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Latin, SCX_Greek, SCX_Latin, + SCX_Common, SCX_Unknown, SCX_Cherokee, SCX_Meetei_Mayek, SCX_Unknown, SCX_Meetei_Mayek, SCX_Unknown, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, @@ -74987,9 +75812,9 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Arabic, SCX_Unknown, SCX_Arabic, - SCX_use_AUX_TABLE_10, + SCX_use_AUX_TABLE_52, SCX_Arabic, - SCX_use_AUX_TABLE_10, + SCX_use_AUX_TABLE_52, SCX_Unknown, SCX_Inherited, SCX_Common, @@ -75020,15 +75845,15 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_use_AUX_TABLE_41, SCX_use_AUX_TABLE_44, SCX_use_AUX_TABLE_41, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_Common, SCX_Unknown, @@ -75050,11 +75875,11 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Unknown, SCX_Linear_B, SCX_Unknown, - SCX_use_AUX_TABLE_51, + SCX_use_AUX_TABLE_53, SCX_Unknown, - SCX_use_AUX_TABLE_52, + SCX_use_AUX_TABLE_54, SCX_Unknown, - SCX_use_AUX_TABLE_51, + SCX_use_AUX_TABLE_53, SCX_Greek, SCX_Unknown, SCX_Common, @@ -75068,7 +75893,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Unknown, SCX_Carian, SCX_Unknown, - SCX_use_AUX_TABLE_53, + SCX_use_AUX_TABLE_55, SCX_Unknown, SCX_Old_Italic, SCX_Unknown, @@ -75194,10 +76019,18 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Unknown, SCX_Arabic, SCX_Unknown, + SCX_Yezidi, + SCX_Unknown, + SCX_Yezidi, + SCX_Unknown, + SCX_Yezidi, + SCX_Unknown, SCX_Old_Sogdian, SCX_Unknown, SCX_Sogdian, SCX_Unknown, + SCX_Chorasmian, + SCX_Unknown, SCX_Elymaic, SCX_Unknown, SCX_Brahmi, @@ -75221,8 +76054,6 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Unknown, SCX_Sharada, SCX_Unknown, - SCX_Sharada, - SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Khojki, @@ -75244,9 +76075,9 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Khudawadi, SCX_Unknown, SCX_Grantha, - SCX_use_AUX_TABLE_20, + SCX_use_AUX_TABLE_19, SCX_Grantha, - SCX_use_AUX_TABLE_20, + SCX_use_AUX_TABLE_19, SCX_Unknown, SCX_Grantha, SCX_Unknown, @@ -75260,7 +76091,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Unknown, SCX_Grantha, SCX_Unknown, - SCX_use_AUX_TABLE_20, + SCX_use_AUX_TABLE_19, SCX_Grantha, SCX_Unknown, SCX_Grantha, @@ -75281,8 +76112,6 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Unknown, SCX_Newa, SCX_Unknown, - SCX_Newa, - SCX_Unknown, SCX_Tirhuta, SCX_Unknown, SCX_Tirhuta, @@ -75312,6 +76141,21 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Warang_Citi, SCX_Unknown, SCX_Warang_Citi, + SCX_Dives_Akuru, + SCX_Unknown, + SCX_Dives_Akuru, + SCX_Unknown, + SCX_Dives_Akuru, + SCX_Unknown, + SCX_Dives_Akuru, + SCX_Unknown, + SCX_Dives_Akuru, + SCX_Unknown, + SCX_Dives_Akuru, + SCX_Unknown, + SCX_Dives_Akuru, + SCX_Unknown, + SCX_Dives_Akuru, SCX_Unknown, SCX_Nandinagari, SCX_Unknown, @@ -75367,10 +76211,12 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Unknown, SCX_Makasar, SCX_Unknown, + SCX_Lisu, + SCX_Unknown, SCX_Tamil, - SCX_use_AUX_TABLE_20, + SCX_use_AUX_TABLE_19, SCX_Tamil, - SCX_use_AUX_TABLE_20, + SCX_use_AUX_TABLE_19, SCX_Tamil, SCX_Unknown, SCX_Tamil, @@ -75421,10 +76267,16 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Tangut, SCX_Nushu, SCX_Common, + SCX_Khitan_Small_Script, + SCX_Unknown, + SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_Tangut, SCX_Unknown, SCX_Tangut, + SCX_Khitan_Small_Script, + SCX_Unknown, + SCX_Tangut, SCX_Unknown, SCX_use_AUX_TABLE_44, SCX_use_AUX_TABLE_43, @@ -75634,18 +76486,20 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Common, SCX_Unknown, SCX_Common, - SCX_Unknown, + SCX_use_AUX_TABLE_43, SCX_Common, SCX_Unknown, SCX_Common, - SCX_use_AUX_TABLE_43, + SCX_Unknown, SCX_Common, SCX_Unknown, + SCX_use_AUX_TABLE_37, + SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, - SCX_use_AUX_TABLE_37, + SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, @@ -75707,6 +76561,8 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, + SCX_use_AUX_TABLE_37, + SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, @@ -75727,7 +76583,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 1047 */ - 1670, /* Number of elements */ + 1699, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -75813,8 +76669,6 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 1047 */ 0x531, 0x557, 0x559, - 0x589, - 0x58A, 0x58B, 0x58D, 0x590, @@ -75871,7 +76725,7 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 1047 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -75995,7 +76849,7 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 1047 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -76086,8 +76940,6 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 1047 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -76101,7 +76953,7 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 1047 */ 0xD64, 0xD66, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -76296,7 +77148,7 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 1047 */ 0x1AA0, 0x1AAE, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -76359,6 +77211,8 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 1047 */ 0x1D79, 0x1DBF, 0x1DC2, + 0x1DF8, + 0x1DF9, 0x1DFA, 0x1DFB, 0x1E00, @@ -76436,7 +77290,7 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 1047 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C00, 0x2C2F, 0x2C30, @@ -76478,7 +77332,7 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 1047 */ 0x2E00, 0x2E43, 0x2E44, - 0x2E50, + 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, @@ -76525,7 +77379,6 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 1047 */ 0x318F, 0x3190, 0x31A0, - 0x31BB, 0x31C0, 0x31E4, 0x31F0, @@ -76549,10 +77402,9 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 1047 */ 0x33E0, 0x33FF, 0x3400, - 0x4DB6, 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA490, @@ -76566,15 +77418,16 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 1047 */ 0xA6A0, 0xA6F8, 0xA700, + 0xA708, 0xA722, 0xA788, 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA800, - 0xA82C, + 0xA82D, 0xA830, 0xA833, 0xA836, @@ -76634,7 +77487,8 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 1047 */ 0xAB5C, 0xAB65, 0xAB66, - 0xAB68, + 0xAB6A, + 0xAB6C, 0xAB70, 0xABC0, 0xABEE, @@ -76746,7 +77600,7 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 1047 */ 0x10140, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -76882,10 +77736,18 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 1047 */ 0x10D3A, 0x10E60, 0x10E7F, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAE, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, + 0x10FB0, + 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, @@ -76904,12 +77766,10 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 1047 */ 0x11100, 0x11135, 0x11136, - 0x11147, + 0x11148, 0x11150, 0x11177, 0x11180, - 0x111CE, - 0x111D0, 0x111E0, 0x111E1, 0x111F5, @@ -76966,11 +77826,9 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 1047 */ 0x11370, 0x11375, 0x11400, - 0x1145A, - 0x1145B, 0x1145C, 0x1145D, - 0x11460, + 0x11462, 0x11480, 0x114C8, 0x114D0, @@ -77001,6 +77859,21 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 1047 */ 0x118F3, 0x118FF, 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11947, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -77055,6 +77928,8 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 1047 */ 0x11DAA, 0x11EE0, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x11FC0, 0x11FD0, 0x11FD2, @@ -77110,10 +77985,16 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 1047 */ 0x16FE1, 0x16FE2, 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18B00, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B001, 0x1B11F, @@ -77320,11 +78201,7 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 1047 */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F1AE, 0x1F1E6, 0x1F200, 0x1F201, @@ -77338,11 +78215,11 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 1047 */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -77359,32 +78236,38 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 1047 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -77395,6 +78278,8 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 1047 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0001, 0xE0002, 0xE0020, @@ -77441,139 +78326,143 @@ typedef enum { SCX_Chakma = 21, SCX_Cham = 22, SCX_Cherokee = 23, - SCX_Common = 24, - SCX_Coptic = 25, - SCX_Cuneiform = 26, - SCX_Cypriot = 27, - SCX_Cyrillic = 28, - SCX_Deseret = 29, - SCX_Devanagari = 30, - SCX_Dogra = 31, - SCX_Duployan = 32, - SCX_Egyptian_Hieroglyphs = 33, - SCX_Elbasan = 34, - SCX_Elymaic = 35, - SCX_Ethiopic = 36, - SCX_Georgian = 37, - SCX_Glagolitic = 38, - SCX_Gothic = 39, - SCX_Grantha = 40, - SCX_Greek = 41, - SCX_Gujarati = 42, - SCX_Gunjala_Gondi = 43, - SCX_Gurmukhi = 44, - SCX_Han = 45, - SCX_Hanb = 46, - SCX_Hangul = 47, - SCX_Hanifi_Rohingya = 48, - SCX_Hanunoo = 49, - SCX_Hatran = 50, - SCX_Hebrew = 51, - SCX_Hiragana = 52, - SCX_Imperial_Aramaic = 53, - SCX_Inherited = 54, - SCX_Inscriptional_Pahlavi = 55, - SCX_Inscriptional_Parthian = 56, - SCX_Javanese = 57, - SCX_Jpan = 58, - SCX_Kaithi = 59, - SCX_Kannada = 60, - SCX_Katakana = 61, - SCX_Kayah_Li = 62, - SCX_Kharoshthi = 63, - SCX_Khmer = 64, - SCX_Khojki = 65, - SCX_Khudawadi = 66, - SCX_Kore = 67, - SCX_Lao = 68, - SCX_Latin = 69, - SCX_Lepcha = 70, - SCX_Limbu = 71, - SCX_Linear_A = 72, - SCX_Linear_B = 73, - SCX_Lisu = 74, - SCX_Lycian = 75, - SCX_Lydian = 76, - SCX_Mahajani = 77, - SCX_Makasar = 78, - SCX_Malayalam = 79, - SCX_Mandaic = 80, - SCX_Manichaean = 81, - SCX_Marchen = 82, - SCX_Masaram_Gondi = 83, - SCX_Medefaidrin = 84, - SCX_Meetei_Mayek = 85, - SCX_Mende_Kikakui = 86, - SCX_Meroitic_Cursive = 87, - SCX_Meroitic_Hieroglyphs = 88, - SCX_Miao = 89, - SCX_Modi = 90, - SCX_Mongolian = 91, - SCX_Mro = 92, - SCX_Multani = 93, - SCX_Myanmar = 94, - SCX_Nabataean = 95, - SCX_Nandinagari = 96, - SCX_New_Tai_Lue = 97, - SCX_Newa = 98, - SCX_Nko = 99, - SCX_Nushu = 100, - SCX_Nyiakeng_Puachue_Hmong = 101, - SCX_Ogham = 102, - SCX_Ol_Chiki = 103, - SCX_Old_Hungarian = 104, - SCX_Old_Italic = 105, - SCX_Old_North_Arabian = 106, - SCX_Old_Permic = 107, - SCX_Old_Persian = 108, - SCX_Old_Sogdian = 109, - SCX_Old_South_Arabian = 110, - SCX_Old_Turkic = 111, - SCX_Oriya = 112, - SCX_Osage = 113, - SCX_Osmanya = 114, - SCX_Pahawh_Hmong = 115, - SCX_Palmyrene = 116, - SCX_Pau_Cin_Hau = 117, - SCX_Phags_Pa = 118, - SCX_Phoenician = 119, - SCX_Psalter_Pahlavi = 120, - SCX_Rejang = 121, - SCX_Runic = 122, - SCX_Samaritan = 123, - SCX_Saurashtra = 124, - SCX_Sharada = 125, - SCX_Shavian = 126, - SCX_Siddham = 127, - SCX_SignWriting = 128, - SCX_Sinhala = 129, - SCX_Sogdian = 130, - SCX_Sora_Sompeng = 131, - SCX_Soyombo = 132, - SCX_Sundanese = 133, - SCX_Syloti_Nagri = 134, - SCX_Syriac = 135, - SCX_Tagalog = 136, - SCX_Tagbanwa = 137, - SCX_Tai_Le = 138, - SCX_Tai_Tham = 139, - SCX_Tai_Viet = 140, - SCX_Takri = 141, - SCX_Tamil = 142, - SCX_Tangut = 143, - SCX_Telugu = 144, - SCX_Thaana = 145, - SCX_Thai = 146, - SCX_Tibetan = 147, - SCX_Tifinagh = 148, - SCX_Tirhuta = 149, - SCX_Ugaritic = 150, - SCX_Vai = 151, - SCX_Wancho = 152, - SCX_Warang_Citi = 153, - SCX_Yi = 154, - SCX_Zanabazar_Square = 155, - SCX_INVALID = 156, + SCX_Chorasmian = 24, + SCX_Common = 25, + SCX_Coptic = 26, + SCX_Cuneiform = 27, + SCX_Cypriot = 28, + SCX_Cyrillic = 29, + SCX_Deseret = 30, + SCX_Devanagari = 31, + SCX_Dives_Akuru = 32, + SCX_Dogra = 33, + SCX_Duployan = 34, + SCX_Egyptian_Hieroglyphs = 35, + SCX_Elbasan = 36, + SCX_Elymaic = 37, + SCX_Ethiopic = 38, + SCX_Georgian = 39, + SCX_Glagolitic = 40, + SCX_Gothic = 41, + SCX_Grantha = 42, + SCX_Greek = 43, + SCX_Gujarati = 44, + SCX_Gunjala_Gondi = 45, + SCX_Gurmukhi = 46, + SCX_Han = 47, + SCX_Hanb = 48, + SCX_Hangul = 49, + SCX_Hanifi_Rohingya = 50, + SCX_Hanunoo = 51, + SCX_Hatran = 52, + SCX_Hebrew = 53, + SCX_Hiragana = 54, + SCX_Imperial_Aramaic = 55, + SCX_Inherited = 56, + SCX_Inscriptional_Pahlavi = 57, + SCX_Inscriptional_Parthian = 58, + SCX_INVALID = 59, + SCX_Javanese = 60, + SCX_Jpan = 61, + SCX_Kaithi = 62, + SCX_Kannada = 63, + SCX_Katakana = 64, + SCX_Kayah_Li = 65, + SCX_Kharoshthi = 66, + SCX_Khitan_Small_Script = 67, + SCX_Khmer = 68, + SCX_Khojki = 69, + SCX_Khudawadi = 70, + SCX_Kore = 71, + SCX_Lao = 72, + SCX_Latin = 73, + SCX_Lepcha = 74, + SCX_Limbu = 75, + SCX_Linear_A = 76, + SCX_Linear_B = 77, + SCX_Lisu = 78, + SCX_Lycian = 79, + SCX_Lydian = 80, + SCX_Mahajani = 81, + SCX_Makasar = 82, + SCX_Malayalam = 83, + SCX_Mandaic = 84, + SCX_Manichaean = 85, + SCX_Marchen = 86, + SCX_Masaram_Gondi = 87, + SCX_Medefaidrin = 88, + SCX_Meetei_Mayek = 89, + SCX_Mende_Kikakui = 90, + SCX_Meroitic_Cursive = 91, + SCX_Meroitic_Hieroglyphs = 92, + SCX_Miao = 93, + SCX_Modi = 94, + SCX_Mongolian = 95, + SCX_Mro = 96, + SCX_Multani = 97, + SCX_Myanmar = 98, + SCX_Nabataean = 99, + SCX_Nandinagari = 100, + SCX_New_Tai_Lue = 101, + SCX_Newa = 102, + SCX_Nko = 103, + SCX_Nushu = 104, + SCX_Nyiakeng_Puachue_Hmong = 105, + SCX_Ogham = 106, + SCX_Ol_Chiki = 107, + SCX_Old_Hungarian = 108, + SCX_Old_Italic = 109, + SCX_Old_North_Arabian = 110, + SCX_Old_Permic = 111, + SCX_Old_Persian = 112, + SCX_Old_Sogdian = 113, + SCX_Old_South_Arabian = 114, + SCX_Old_Turkic = 115, + SCX_Oriya = 116, + SCX_Osage = 117, + SCX_Osmanya = 118, + SCX_Pahawh_Hmong = 119, + SCX_Palmyrene = 120, + SCX_Pau_Cin_Hau = 121, + SCX_Phags_Pa = 122, + SCX_Phoenician = 123, + SCX_Psalter_Pahlavi = 124, + SCX_Rejang = 125, + SCX_Runic = 126, + SCX_Samaritan = 127, + SCX_Saurashtra = 128, + SCX_Sharada = 129, + SCX_Shavian = 130, + SCX_Siddham = 131, + SCX_SignWriting = 132, + SCX_Sinhala = 133, + SCX_Sogdian = 134, + SCX_Sora_Sompeng = 135, + SCX_Soyombo = 136, + SCX_Sundanese = 137, + SCX_Syloti_Nagri = 138, + SCX_Syriac = 139, + SCX_Tagalog = 140, + SCX_Tagbanwa = 141, + SCX_Tai_Le = 142, + SCX_Tai_Tham = 143, + SCX_Tai_Viet = 144, + SCX_Takri = 145, + SCX_Tamil = 146, + SCX_Tangut = 147, + SCX_Telugu = 148, + SCX_Thaana = 149, + SCX_Thai = 150, + SCX_Tibetan = 151, + SCX_Tifinagh = 152, + SCX_Tirhuta = 153, + SCX_Ugaritic = 154, + SCX_Vai = 155, + SCX_Wancho = 156, + SCX_Warang_Citi = 157, + SCX_Yezidi = 158, + SCX_Yi = 159, + SCX_Zanabazar_Square = 160, SCX_use_AUX_TABLE_1 = -1, SCX_use_AUX_TABLE_2 = -2, SCX_use_AUX_TABLE_3 = -3, @@ -77626,7 +78515,9 @@ typedef enum { SCX_use_AUX_TABLE_50 = -50, SCX_use_AUX_TABLE_51 = -51, SCX_use_AUX_TABLE_52 = -52, - SCX_use_AUX_TABLE_53 = -53 + SCX_use_AUX_TABLE_53 = -53, + SCX_use_AUX_TABLE_54 = -54, + SCX_use_AUX_TABLE_55 = -55 } SCX_enum; # endif /* EBCDIC 1047 */ @@ -77661,24 +78552,20 @@ static const SCX_enum SCX_AUX_TABLE_4[] = { }; static const SCX_enum SCX_AUX_TABLE_5[] = { - SCX_Armenian, - SCX_Georgian -}; - -static const SCX_enum SCX_AUX_TABLE_6[] = { SCX_Arabic, SCX_Hanifi_Rohingya, SCX_Syriac, - SCX_Thaana + SCX_Thaana, + SCX_Yezidi }; -static const SCX_enum SCX_AUX_TABLE_7[] = { +static const SCX_enum SCX_AUX_TABLE_6[] = { SCX_Arabic, SCX_Syriac, SCX_Thaana }; -static const SCX_enum SCX_AUX_TABLE_8[] = { +static const SCX_enum SCX_AUX_TABLE_7[] = { SCX_Adlam, SCX_Arabic, SCX_Hanifi_Rohingya, @@ -77689,22 +78576,23 @@ static const SCX_enum SCX_AUX_TABLE_8[] = { SCX_Syriac }; -static const SCX_enum SCX_AUX_TABLE_9[] = { +static const SCX_enum SCX_AUX_TABLE_8[] = { SCX_Arabic, SCX_Syriac }; -static const SCX_enum SCX_AUX_TABLE_10[] = { +static const SCX_enum SCX_AUX_TABLE_9[] = { SCX_Arabic, - SCX_Thaana + SCX_Thaana, + SCX_Yezidi }; -static const SCX_enum SCX_AUX_TABLE_11[] = { +static const SCX_enum SCX_AUX_TABLE_10[] = { SCX_Arabic, SCX_Hanifi_Rohingya }; -static const SCX_enum SCX_AUX_TABLE_12[] = { +static const SCX_enum SCX_AUX_TABLE_11[] = { SCX_Bengali, SCX_Devanagari, SCX_Grantha, @@ -77720,7 +78608,7 @@ static const SCX_enum SCX_AUX_TABLE_12[] = { SCX_Tirhuta }; -static const SCX_enum SCX_AUX_TABLE_13[] = { +static const SCX_enum SCX_AUX_TABLE_12[] = { SCX_Bengali, SCX_Devanagari, SCX_Grantha, @@ -77735,7 +78623,7 @@ static const SCX_enum SCX_AUX_TABLE_13[] = { SCX_Tirhuta }; -static const SCX_enum SCX_AUX_TABLE_14[] = { +static const SCX_enum SCX_AUX_TABLE_13[] = { SCX_Bengali, SCX_Devanagari, SCX_Dogra, @@ -77758,7 +78646,7 @@ static const SCX_enum SCX_AUX_TABLE_14[] = { SCX_Tirhuta }; -static const SCX_enum SCX_AUX_TABLE_15[] = { +static const SCX_enum SCX_AUX_TABLE_14[] = { SCX_Bengali, SCX_Devanagari, SCX_Dogra, @@ -77782,90 +78670,90 @@ static const SCX_enum SCX_AUX_TABLE_15[] = { SCX_Tirhuta }; -static const SCX_enum SCX_AUX_TABLE_16[] = { +static const SCX_enum SCX_AUX_TABLE_15[] = { SCX_Devanagari, SCX_Dogra, SCX_Kaithi, SCX_Mahajani }; -static const SCX_enum SCX_AUX_TABLE_17[] = { +static const SCX_enum SCX_AUX_TABLE_16[] = { SCX_Bengali, SCX_Chakma, SCX_Syloti_Nagri }; -static const SCX_enum SCX_AUX_TABLE_18[] = { +static const SCX_enum SCX_AUX_TABLE_17[] = { SCX_Gurmukhi, SCX_Multani }; -static const SCX_enum SCX_AUX_TABLE_19[] = { +static const SCX_enum SCX_AUX_TABLE_18[] = { SCX_Gujarati, SCX_Khojki }; -static const SCX_enum SCX_AUX_TABLE_20[] = { +static const SCX_enum SCX_AUX_TABLE_19[] = { SCX_Grantha, SCX_Tamil }; -static const SCX_enum SCX_AUX_TABLE_21[] = { +static const SCX_enum SCX_AUX_TABLE_20[] = { SCX_Kannada, SCX_Nandinagari }; -static const SCX_enum SCX_AUX_TABLE_22[] = { +static const SCX_enum SCX_AUX_TABLE_21[] = { SCX_Chakma, SCX_Myanmar, SCX_Tai_Le }; -static const SCX_enum SCX_AUX_TABLE_23[] = { +static const SCX_enum SCX_AUX_TABLE_22[] = { SCX_Georgian, SCX_Latin }; -static const SCX_enum SCX_AUX_TABLE_24[] = { +static const SCX_enum SCX_AUX_TABLE_23[] = { SCX_Hangul, SCX_Kore }; -static const SCX_enum SCX_AUX_TABLE_25[] = { +static const SCX_enum SCX_AUX_TABLE_24[] = { SCX_Buhid, SCX_Hanunoo, SCX_Tagalog, SCX_Tagbanwa }; -static const SCX_enum SCX_AUX_TABLE_26[] = { +static const SCX_enum SCX_AUX_TABLE_25[] = { SCX_Mongolian, SCX_Phags_Pa }; -static const SCX_enum SCX_AUX_TABLE_27[] = { +static const SCX_enum SCX_AUX_TABLE_26[] = { SCX_Bengali, SCX_Devanagari, SCX_Grantha, SCX_Kannada }; -static const SCX_enum SCX_AUX_TABLE_28[] = { +static const SCX_enum SCX_AUX_TABLE_27[] = { SCX_Devanagari, SCX_Grantha }; -static const SCX_enum SCX_AUX_TABLE_29[] = { +static const SCX_enum SCX_AUX_TABLE_28[] = { SCX_Bengali, SCX_Devanagari }; -static const SCX_enum SCX_AUX_TABLE_30[] = { +static const SCX_enum SCX_AUX_TABLE_29[] = { SCX_Devanagari, SCX_Sharada }; -static const SCX_enum SCX_AUX_TABLE_31[] = { +static const SCX_enum SCX_AUX_TABLE_30[] = { SCX_Devanagari, SCX_Kannada, SCX_Malayalam, @@ -77874,12 +78762,12 @@ static const SCX_enum SCX_AUX_TABLE_31[] = { SCX_Telugu }; -static const SCX_enum SCX_AUX_TABLE_32[] = { +static const SCX_enum SCX_AUX_TABLE_31[] = { SCX_Devanagari, SCX_Nandinagari }; -static const SCX_enum SCX_AUX_TABLE_33[] = { +static const SCX_enum SCX_AUX_TABLE_32[] = { SCX_Bengali, SCX_Devanagari, SCX_Grantha, @@ -77890,12 +78778,17 @@ static const SCX_enum SCX_AUX_TABLE_33[] = { SCX_Tirhuta }; -static const SCX_enum SCX_AUX_TABLE_34[] = { +static const SCX_enum SCX_AUX_TABLE_33[] = { SCX_Devanagari, SCX_Grantha, SCX_Kannada }; +static const SCX_enum SCX_AUX_TABLE_34[] = { + SCX_Cyrillic, + SCX_Syriac +}; + static const SCX_enum SCX_AUX_TABLE_35[] = { SCX_Latin, SCX_Mongolian @@ -77971,6 +78864,14 @@ static const SCX_enum SCX_AUX_TABLE_44[] = { }; static const SCX_enum SCX_AUX_TABLE_45[] = { + SCX_Han, + SCX_Hanb, + SCX_Jpan, + SCX_Kore, + SCX_Latin +}; + +static const SCX_enum SCX_AUX_TABLE_46[] = { SCX_Devanagari, SCX_Dogra, SCX_Gujarati, @@ -77987,7 +78888,7 @@ static const SCX_enum SCX_AUX_TABLE_45[] = { SCX_Tirhuta }; -static const SCX_enum SCX_AUX_TABLE_46[] = { +static const SCX_enum SCX_AUX_TABLE_47[] = { SCX_Devanagari, SCX_Dogra, SCX_Gujarati, @@ -78003,7 +78904,7 @@ static const SCX_enum SCX_AUX_TABLE_46[] = { SCX_Tirhuta }; -static const SCX_enum SCX_AUX_TABLE_47[] = { +static const SCX_enum SCX_AUX_TABLE_48[] = { SCX_Devanagari, SCX_Dogra, SCX_Gujarati, @@ -78017,34 +78918,39 @@ static const SCX_enum SCX_AUX_TABLE_47[] = { SCX_Tirhuta }; -static const SCX_enum SCX_AUX_TABLE_48[] = { +static const SCX_enum SCX_AUX_TABLE_49[] = { SCX_Devanagari, SCX_Tamil }; -static const SCX_enum SCX_AUX_TABLE_49[] = { +static const SCX_enum SCX_AUX_TABLE_50[] = { SCX_Kayah_Li, SCX_Latin, SCX_Myanmar }; -static const SCX_enum SCX_AUX_TABLE_50[] = { +static const SCX_enum SCX_AUX_TABLE_51[] = { SCX_Buginese, SCX_Javanese }; -static const SCX_enum SCX_AUX_TABLE_51[] = { +static const SCX_enum SCX_AUX_TABLE_52[] = { + SCX_Arabic, + SCX_Thaana +}; + +static const SCX_enum SCX_AUX_TABLE_53[] = { SCX_Cypriot, SCX_Linear_B }; -static const SCX_enum SCX_AUX_TABLE_52[] = { +static const SCX_enum SCX_AUX_TABLE_54[] = { SCX_Cypriot, SCX_Linear_A, SCX_Linear_B }; -static const SCX_enum SCX_AUX_TABLE_53[] = { +static const SCX_enum SCX_AUX_TABLE_55[] = { SCX_Arabic, SCX_Coptic }; @@ -78103,7 +79009,9 @@ static const SCX_enum * const SCX_AUX_TABLE_ptrs[] = { SCX_AUX_TABLE_50, SCX_AUX_TABLE_51, SCX_AUX_TABLE_52, - SCX_AUX_TABLE_53 + SCX_AUX_TABLE_53, + SCX_AUX_TABLE_54, + SCX_AUX_TABLE_55 }; /* Parallel table to the above, giving the number of elements in each table @@ -78115,36 +79023,36 @@ static const U8 SCX_AUX_TABLE_lengths[] = { 2 /* SCX_AUX_TABLE_2 */, 2 /* SCX_AUX_TABLE_3 */, 2 /* SCX_AUX_TABLE_4 */, - 2 /* SCX_AUX_TABLE_5 */, - 4 /* SCX_AUX_TABLE_6 */, - 3 /* SCX_AUX_TABLE_7 */, - 8 /* SCX_AUX_TABLE_8 */, - 2 /* SCX_AUX_TABLE_9 */, + 5 /* SCX_AUX_TABLE_5 */, + 3 /* SCX_AUX_TABLE_6 */, + 8 /* SCX_AUX_TABLE_7 */, + 2 /* SCX_AUX_TABLE_8 */, + 3 /* SCX_AUX_TABLE_9 */, 2 /* SCX_AUX_TABLE_10 */, - 2 /* SCX_AUX_TABLE_11 */, - 13 /* SCX_AUX_TABLE_12 */, - 12 /* SCX_AUX_TABLE_13 */, - 20 /* SCX_AUX_TABLE_14 */, - 21 /* SCX_AUX_TABLE_15 */, - 4 /* SCX_AUX_TABLE_16 */, - 3 /* SCX_AUX_TABLE_17 */, + 13 /* SCX_AUX_TABLE_11 */, + 12 /* SCX_AUX_TABLE_12 */, + 20 /* SCX_AUX_TABLE_13 */, + 21 /* SCX_AUX_TABLE_14 */, + 4 /* SCX_AUX_TABLE_15 */, + 3 /* SCX_AUX_TABLE_16 */, + 2 /* SCX_AUX_TABLE_17 */, 2 /* SCX_AUX_TABLE_18 */, 2 /* SCX_AUX_TABLE_19 */, 2 /* SCX_AUX_TABLE_20 */, - 2 /* SCX_AUX_TABLE_21 */, - 3 /* SCX_AUX_TABLE_22 */, + 3 /* SCX_AUX_TABLE_21 */, + 2 /* SCX_AUX_TABLE_22 */, 2 /* SCX_AUX_TABLE_23 */, - 2 /* SCX_AUX_TABLE_24 */, - 4 /* SCX_AUX_TABLE_25 */, - 2 /* SCX_AUX_TABLE_26 */, - 4 /* SCX_AUX_TABLE_27 */, + 4 /* SCX_AUX_TABLE_24 */, + 2 /* SCX_AUX_TABLE_25 */, + 4 /* SCX_AUX_TABLE_26 */, + 2 /* SCX_AUX_TABLE_27 */, 2 /* SCX_AUX_TABLE_28 */, 2 /* SCX_AUX_TABLE_29 */, - 2 /* SCX_AUX_TABLE_30 */, - 6 /* SCX_AUX_TABLE_31 */, - 2 /* SCX_AUX_TABLE_32 */, - 8 /* SCX_AUX_TABLE_33 */, - 3 /* SCX_AUX_TABLE_34 */, + 6 /* SCX_AUX_TABLE_30 */, + 2 /* SCX_AUX_TABLE_31 */, + 8 /* SCX_AUX_TABLE_32 */, + 3 /* SCX_AUX_TABLE_33 */, + 2 /* SCX_AUX_TABLE_34 */, 2 /* SCX_AUX_TABLE_35 */, 3 /* SCX_AUX_TABLE_36 */, 4 /* SCX_AUX_TABLE_37 */, @@ -78155,15 +79063,17 @@ static const U8 SCX_AUX_TABLE_lengths[] = { 6 /* SCX_AUX_TABLE_42 */, 2 /* SCX_AUX_TABLE_43 */, 2 /* SCX_AUX_TABLE_44 */, - 14 /* SCX_AUX_TABLE_45 */, - 13 /* SCX_AUX_TABLE_46 */, - 11 /* SCX_AUX_TABLE_47 */, - 2 /* SCX_AUX_TABLE_48 */, - 3 /* SCX_AUX_TABLE_49 */, - 2 /* SCX_AUX_TABLE_50 */, + 5 /* SCX_AUX_TABLE_45 */, + 14 /* SCX_AUX_TABLE_46 */, + 13 /* SCX_AUX_TABLE_47 */, + 11 /* SCX_AUX_TABLE_48 */, + 2 /* SCX_AUX_TABLE_49 */, + 3 /* SCX_AUX_TABLE_50 */, 2 /* SCX_AUX_TABLE_51 */, - 3 /* SCX_AUX_TABLE_52 */, - 2 /* SCX_AUX_TABLE_53 */ + 2 /* SCX_AUX_TABLE_52 */, + 2 /* SCX_AUX_TABLE_53 */, + 3 /* SCX_AUX_TABLE_54 */, + 2 /* SCX_AUX_TABLE_55 */ }; /* This table, indexed by the script enum, gives the zero code point for that @@ -78195,6 +79105,7 @@ static const UV script_zeros[] = { 0, /* Chakma */ 0xaa50, /* Cham */ '0', /* Cherokee */ + '0', /* Chorasmian */ 0, /* Common */ '0', /* Coptic */ '0', /* Cuneiform */ @@ -78202,6 +79113,7 @@ static const UV script_zeros[] = { '0', /* Cyrillic */ '0', /* Deseret */ 0x966, /* Devanagari */ + 0x11950, /* Dives_Akuru */ 0x966, /* Dogra */ '0', /* Duployan */ '0', /* Egyptian_Hieroglyphs */ @@ -78228,6 +79140,7 @@ static const UV script_zeros[] = { 0, /* Inherited */ '0', /* Inscriptional_Pahlavi */ '0', /* Inscriptional_Parthian */ + '0', /* INVALID */ 0xa9d0, /* Javanese */ '0', /* Jpan */ 0x966, /* Kaithi */ @@ -78235,6 +79148,7 @@ static const UV script_zeros[] = { '0', /* Katakana */ 0xa900, /* Kayah_Li */ '0', /* Kharoshthi */ + '0', /* Khitan_Small_Script */ 0x17e0, /* Khmer */ 0xae6, /* Khojki */ 0x112f0, /* Khudawadi */ @@ -78324,7 +79238,8 @@ static const UV script_zeros[] = { '0', /* Ugaritic */ 0xa620, /* Vai */ 0x1e2f0, /* Wancho */ - 0x118e0 /* Warang_Citi */ + 0x118e0, /* Warang_Citi */ + 0x660 /* Yezidi */ }; static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ @@ -78410,8 +79325,6 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Armenian, SCX_Unknown, SCX_Armenian, - SCX_use_AUX_TABLE_5, - SCX_Armenian, SCX_Unknown, SCX_Armenian, SCX_Unknown, @@ -78424,23 +79337,23 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Arabic, SCX_Common, SCX_Arabic, - SCX_use_AUX_TABLE_6, + SCX_use_AUX_TABLE_5, SCX_Arabic, + SCX_use_AUX_TABLE_5, SCX_use_AUX_TABLE_6, - SCX_use_AUX_TABLE_7, SCX_Unknown, SCX_Arabic, - SCX_use_AUX_TABLE_6, + SCX_use_AUX_TABLE_5, + SCX_Arabic, + SCX_use_AUX_TABLE_7, SCX_Arabic, SCX_use_AUX_TABLE_8, SCX_Arabic, SCX_use_AUX_TABLE_9, SCX_Arabic, - SCX_use_AUX_TABLE_10, - SCX_Arabic, - SCX_use_AUX_TABLE_9, + SCX_use_AUX_TABLE_8, SCX_Arabic, - SCX_use_AUX_TABLE_11, + SCX_use_AUX_TABLE_10, SCX_Arabic, SCX_Common, SCX_Arabic, @@ -78473,13 +79386,13 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Common, SCX_Arabic, SCX_Devanagari, + SCX_use_AUX_TABLE_11, SCX_use_AUX_TABLE_12, - SCX_use_AUX_TABLE_13, SCX_Inherited, SCX_Devanagari, + SCX_use_AUX_TABLE_13, SCX_use_AUX_TABLE_14, SCX_use_AUX_TABLE_15, - SCX_use_AUX_TABLE_16, SCX_Devanagari, SCX_Bengali, SCX_Unknown, @@ -78507,7 +79420,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Unknown, SCX_Bengali, SCX_Unknown, - SCX_use_AUX_TABLE_17, + SCX_use_AUX_TABLE_16, SCX_Bengali, SCX_Unknown, SCX_Gurmukhi, @@ -78540,7 +79453,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, - SCX_use_AUX_TABLE_18, + SCX_use_AUX_TABLE_17, SCX_Gurmukhi, SCX_Unknown, SCX_Gujarati, @@ -78567,7 +79480,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Unknown, SCX_Gujarati, SCX_Unknown, - SCX_use_AUX_TABLE_19, + SCX_use_AUX_TABLE_18, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, @@ -78630,7 +79543,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Unknown, SCX_Tamil, SCX_Unknown, - SCX_use_AUX_TABLE_20, + SCX_use_AUX_TABLE_19, SCX_Tamil, SCX_Unknown, SCX_Telugu, @@ -78678,7 +79591,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Unknown, SCX_Kannada, SCX_Unknown, - SCX_use_AUX_TABLE_21, + SCX_use_AUX_TABLE_20, SCX_Unknown, SCX_Kannada, SCX_Unknown, @@ -78696,8 +79609,6 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Unknown, SCX_Malayalam, SCX_Unknown, - SCX_Malayalam, - SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, @@ -78764,7 +79675,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Tibetan, SCX_Unknown, SCX_Myanmar, - SCX_use_AUX_TABLE_22, + SCX_use_AUX_TABLE_21, SCX_Myanmar, SCX_Georgian, SCX_Unknown, @@ -78773,9 +79684,9 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Georgian, SCX_Unknown, SCX_Georgian, - SCX_use_AUX_TABLE_23, + SCX_use_AUX_TABLE_22, SCX_Georgian, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, @@ -78828,7 +79739,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Tagalog, SCX_Unknown, SCX_Hanunoo, - SCX_use_AUX_TABLE_25, + SCX_use_AUX_TABLE_24, SCX_Unknown, SCX_Buhid, SCX_Unknown, @@ -78845,9 +79756,9 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Khmer, SCX_Unknown, SCX_Mongolian, - SCX_use_AUX_TABLE_26, + SCX_use_AUX_TABLE_25, SCX_Mongolian, - SCX_use_AUX_TABLE_26, + SCX_use_AUX_TABLE_25, SCX_Mongolian, SCX_Unknown, SCX_Mongolian, @@ -78915,33 +79826,33 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Georgian, SCX_Sundanese, SCX_Unknown, - SCX_use_AUX_TABLE_27, + SCX_use_AUX_TABLE_26, SCX_Devanagari, + SCX_use_AUX_TABLE_26, SCX_use_AUX_TABLE_27, - SCX_use_AUX_TABLE_28, SCX_Devanagari, + SCX_use_AUX_TABLE_28, SCX_use_AUX_TABLE_29, - SCX_use_AUX_TABLE_30, + SCX_use_AUX_TABLE_28, SCX_use_AUX_TABLE_29, SCX_use_AUX_TABLE_30, - SCX_use_AUX_TABLE_31, - SCX_Devanagari, - SCX_use_AUX_TABLE_30, SCX_Devanagari, - SCX_use_AUX_TABLE_30, SCX_use_AUX_TABLE_29, SCX_Devanagari, - SCX_use_AUX_TABLE_32, SCX_use_AUX_TABLE_29, + SCX_use_AUX_TABLE_28, SCX_Devanagari, - SCX_use_AUX_TABLE_29, + SCX_use_AUX_TABLE_31, + SCX_use_AUX_TABLE_28, + SCX_Devanagari, + SCX_use_AUX_TABLE_28, SCX_Devanagari, + SCX_use_AUX_TABLE_32, + SCX_use_AUX_TABLE_27, SCX_use_AUX_TABLE_33, SCX_use_AUX_TABLE_28, - SCX_use_AUX_TABLE_34, - SCX_use_AUX_TABLE_29, SCX_Bengali, - SCX_use_AUX_TABLE_28, + SCX_use_AUX_TABLE_27, SCX_Nandinagari, SCX_Unknown, SCX_Latin, @@ -78956,6 +79867,8 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Latin, SCX_Greek, SCX_Inherited, + SCX_use_AUX_TABLE_34, + SCX_Inherited, SCX_Unknown, SCX_Inherited, SCX_Latin, @@ -79097,7 +80010,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Common, SCX_use_AUX_TABLE_37, SCX_use_AUX_TABLE_40, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_use_AUX_TABLE_39, SCX_use_AUX_TABLE_41, SCX_Common, @@ -79118,19 +80031,18 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Unknown, SCX_use_AUX_TABLE_1, SCX_Unknown, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_use_AUX_TABLE_1, - SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_44, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Common, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Common, SCX_use_AUX_TABLE_37, SCX_Common, @@ -79146,7 +80058,6 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_use_AUX_TABLE_37, SCX_Common, SCX_use_AUX_TABLE_37, - SCX_Unknown, SCX_Common, SCX_use_AUX_TABLE_37, SCX_Unknown, @@ -79162,6 +80073,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Cyrillic, SCX_Bamum, SCX_Unknown, + SCX_use_AUX_TABLE_45, SCX_Common, SCX_Latin, SCX_Common, @@ -79172,9 +80084,9 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Latin, SCX_Syloti_Nagri, SCX_Unknown, - SCX_use_AUX_TABLE_45, SCX_use_AUX_TABLE_46, SCX_use_AUX_TABLE_47, + SCX_use_AUX_TABLE_48, SCX_Unknown, SCX_Phags_Pa, SCX_Unknown, @@ -79183,21 +80095,21 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Saurashtra, SCX_Unknown, SCX_Devanagari, - SCX_use_AUX_TABLE_29, + SCX_use_AUX_TABLE_28, SCX_Devanagari, - SCX_use_AUX_TABLE_48, + SCX_use_AUX_TABLE_49, SCX_Devanagari, SCX_Kayah_Li, - SCX_use_AUX_TABLE_49, + SCX_use_AUX_TABLE_50, SCX_Kayah_Li, SCX_Rejang, SCX_Unknown, SCX_Rejang, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_Javanese, SCX_Unknown, - SCX_use_AUX_TABLE_50, + SCX_use_AUX_TABLE_51, SCX_Javanese, SCX_Unknown, SCX_Javanese, @@ -79231,17 +80143,18 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Latin, SCX_Greek, SCX_Latin, + SCX_Common, SCX_Unknown, SCX_Cherokee, SCX_Meetei_Mayek, SCX_Unknown, SCX_Meetei_Mayek, SCX_Unknown, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, @@ -79272,9 +80185,9 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Arabic, SCX_Unknown, SCX_Arabic, - SCX_use_AUX_TABLE_10, + SCX_use_AUX_TABLE_52, SCX_Arabic, - SCX_use_AUX_TABLE_10, + SCX_use_AUX_TABLE_52, SCX_Unknown, SCX_Inherited, SCX_Common, @@ -79305,15 +80218,15 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_use_AUX_TABLE_41, SCX_use_AUX_TABLE_44, SCX_use_AUX_TABLE_41, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_Common, SCX_Unknown, @@ -79335,11 +80248,11 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Unknown, SCX_Linear_B, SCX_Unknown, - SCX_use_AUX_TABLE_51, + SCX_use_AUX_TABLE_53, SCX_Unknown, - SCX_use_AUX_TABLE_52, + SCX_use_AUX_TABLE_54, SCX_Unknown, - SCX_use_AUX_TABLE_51, + SCX_use_AUX_TABLE_53, SCX_Greek, SCX_Unknown, SCX_Common, @@ -79353,7 +80266,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Unknown, SCX_Carian, SCX_Unknown, - SCX_use_AUX_TABLE_53, + SCX_use_AUX_TABLE_55, SCX_Unknown, SCX_Old_Italic, SCX_Unknown, @@ -79479,10 +80392,18 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Unknown, SCX_Arabic, SCX_Unknown, + SCX_Yezidi, + SCX_Unknown, + SCX_Yezidi, + SCX_Unknown, + SCX_Yezidi, + SCX_Unknown, SCX_Old_Sogdian, SCX_Unknown, SCX_Sogdian, SCX_Unknown, + SCX_Chorasmian, + SCX_Unknown, SCX_Elymaic, SCX_Unknown, SCX_Brahmi, @@ -79506,8 +80427,6 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Unknown, SCX_Sharada, SCX_Unknown, - SCX_Sharada, - SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Khojki, @@ -79529,9 +80448,9 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Khudawadi, SCX_Unknown, SCX_Grantha, - SCX_use_AUX_TABLE_20, + SCX_use_AUX_TABLE_19, SCX_Grantha, - SCX_use_AUX_TABLE_20, + SCX_use_AUX_TABLE_19, SCX_Unknown, SCX_Grantha, SCX_Unknown, @@ -79545,7 +80464,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Unknown, SCX_Grantha, SCX_Unknown, - SCX_use_AUX_TABLE_20, + SCX_use_AUX_TABLE_19, SCX_Grantha, SCX_Unknown, SCX_Grantha, @@ -79566,8 +80485,6 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Unknown, SCX_Newa, SCX_Unknown, - SCX_Newa, - SCX_Unknown, SCX_Tirhuta, SCX_Unknown, SCX_Tirhuta, @@ -79597,6 +80514,21 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Warang_Citi, SCX_Unknown, SCX_Warang_Citi, + SCX_Dives_Akuru, + SCX_Unknown, + SCX_Dives_Akuru, + SCX_Unknown, + SCX_Dives_Akuru, + SCX_Unknown, + SCX_Dives_Akuru, + SCX_Unknown, + SCX_Dives_Akuru, + SCX_Unknown, + SCX_Dives_Akuru, + SCX_Unknown, + SCX_Dives_Akuru, + SCX_Unknown, + SCX_Dives_Akuru, SCX_Unknown, SCX_Nandinagari, SCX_Unknown, @@ -79652,10 +80584,12 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Unknown, SCX_Makasar, SCX_Unknown, + SCX_Lisu, + SCX_Unknown, SCX_Tamil, - SCX_use_AUX_TABLE_20, + SCX_use_AUX_TABLE_19, SCX_Tamil, - SCX_use_AUX_TABLE_20, + SCX_use_AUX_TABLE_19, SCX_Tamil, SCX_Unknown, SCX_Tamil, @@ -79706,8 +80640,14 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Tangut, SCX_Nushu, SCX_Common, + SCX_Khitan_Small_Script, + SCX_Unknown, + SCX_use_AUX_TABLE_37, + SCX_Unknown, + SCX_Tangut, SCX_Unknown, SCX_Tangut, + SCX_Khitan_Small_Script, SCX_Unknown, SCX_Tangut, SCX_Unknown, @@ -79919,18 +80859,20 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Common, SCX_Unknown, SCX_Common, - SCX_Unknown, + SCX_use_AUX_TABLE_43, SCX_Common, SCX_Unknown, SCX_Common, - SCX_use_AUX_TABLE_43, + SCX_Unknown, SCX_Common, SCX_Unknown, + SCX_use_AUX_TABLE_37, + SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, - SCX_use_AUX_TABLE_37, + SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, @@ -79992,6 +80934,8 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, + SCX_use_AUX_TABLE_37, + SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, @@ -80012,7 +80956,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 037 */ - 1666, /* Number of elements */ + 1695, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -80094,8 +81038,6 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 037 */ 0x531, 0x557, 0x559, - 0x589, - 0x58A, 0x58B, 0x58D, 0x590, @@ -80152,7 +81094,7 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 037 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -80276,7 +81218,7 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 037 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -80367,8 +81309,6 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 037 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -80382,7 +81322,7 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 037 */ 0xD64, 0xD66, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -80577,7 +81517,7 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 037 */ 0x1AA0, 0x1AAE, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -80640,6 +81580,8 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 037 */ 0x1D79, 0x1DBF, 0x1DC2, + 0x1DF8, + 0x1DF9, 0x1DFA, 0x1DFB, 0x1E00, @@ -80717,7 +81659,7 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 037 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C00, 0x2C2F, 0x2C30, @@ -80759,7 +81701,7 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 037 */ 0x2E00, 0x2E43, 0x2E44, - 0x2E50, + 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, @@ -80806,7 +81748,6 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 037 */ 0x318F, 0x3190, 0x31A0, - 0x31BB, 0x31C0, 0x31E4, 0x31F0, @@ -80830,10 +81771,9 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 037 */ 0x33E0, 0x33FF, 0x3400, - 0x4DB6, 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA490, @@ -80847,15 +81787,16 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 037 */ 0xA6A0, 0xA6F8, 0xA700, + 0xA708, 0xA722, 0xA788, 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA800, - 0xA82C, + 0xA82D, 0xA830, 0xA833, 0xA836, @@ -80915,7 +81856,8 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 037 */ 0xAB5C, 0xAB65, 0xAB66, - 0xAB68, + 0xAB6A, + 0xAB6C, 0xAB70, 0xABC0, 0xABEE, @@ -81027,7 +81969,7 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 037 */ 0x10140, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -81163,10 +82105,18 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 037 */ 0x10D3A, 0x10E60, 0x10E7F, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAE, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, + 0x10FB0, + 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, @@ -81185,12 +82135,10 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 037 */ 0x11100, 0x11135, 0x11136, - 0x11147, + 0x11148, 0x11150, 0x11177, 0x11180, - 0x111CE, - 0x111D0, 0x111E0, 0x111E1, 0x111F5, @@ -81247,11 +82195,9 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 037 */ 0x11370, 0x11375, 0x11400, - 0x1145A, - 0x1145B, 0x1145C, 0x1145D, - 0x11460, + 0x11462, 0x11480, 0x114C8, 0x114D0, @@ -81282,6 +82228,21 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 037 */ 0x118F3, 0x118FF, 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11947, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -81336,6 +82297,8 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 037 */ 0x11DAA, 0x11EE0, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x11FC0, 0x11FD0, 0x11FD2, @@ -81391,10 +82354,16 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 037 */ 0x16FE1, 0x16FE2, 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18B00, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B001, 0x1B11F, @@ -81601,11 +82570,7 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 037 */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F1AE, 0x1F1E6, 0x1F200, 0x1F201, @@ -81619,11 +82584,11 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 037 */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -81640,32 +82605,38 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 037 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -81676,6 +82647,8 @@ static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 037 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0001, 0xE0002, 0xE0020, @@ -81722,139 +82695,143 @@ typedef enum { SCX_Chakma = 21, SCX_Cham = 22, SCX_Cherokee = 23, - SCX_Common = 24, - SCX_Coptic = 25, - SCX_Cuneiform = 26, - SCX_Cypriot = 27, - SCX_Cyrillic = 28, - SCX_Deseret = 29, - SCX_Devanagari = 30, - SCX_Dogra = 31, - SCX_Duployan = 32, - SCX_Egyptian_Hieroglyphs = 33, - SCX_Elbasan = 34, - SCX_Elymaic = 35, - SCX_Ethiopic = 36, - SCX_Georgian = 37, - SCX_Glagolitic = 38, - SCX_Gothic = 39, - SCX_Grantha = 40, - SCX_Greek = 41, - SCX_Gujarati = 42, - SCX_Gunjala_Gondi = 43, - SCX_Gurmukhi = 44, - SCX_Han = 45, - SCX_Hanb = 46, - SCX_Hangul = 47, - SCX_Hanifi_Rohingya = 48, - SCX_Hanunoo = 49, - SCX_Hatran = 50, - SCX_Hebrew = 51, - SCX_Hiragana = 52, - SCX_Imperial_Aramaic = 53, - SCX_Inherited = 54, - SCX_Inscriptional_Pahlavi = 55, - SCX_Inscriptional_Parthian = 56, - SCX_Javanese = 57, - SCX_Jpan = 58, - SCX_Kaithi = 59, - SCX_Kannada = 60, - SCX_Katakana = 61, - SCX_Kayah_Li = 62, - SCX_Kharoshthi = 63, - SCX_Khmer = 64, - SCX_Khojki = 65, - SCX_Khudawadi = 66, - SCX_Kore = 67, - SCX_Lao = 68, - SCX_Latin = 69, - SCX_Lepcha = 70, - SCX_Limbu = 71, - SCX_Linear_A = 72, - SCX_Linear_B = 73, - SCX_Lisu = 74, - SCX_Lycian = 75, - SCX_Lydian = 76, - SCX_Mahajani = 77, - SCX_Makasar = 78, - SCX_Malayalam = 79, - SCX_Mandaic = 80, - SCX_Manichaean = 81, - SCX_Marchen = 82, - SCX_Masaram_Gondi = 83, - SCX_Medefaidrin = 84, - SCX_Meetei_Mayek = 85, - SCX_Mende_Kikakui = 86, - SCX_Meroitic_Cursive = 87, - SCX_Meroitic_Hieroglyphs = 88, - SCX_Miao = 89, - SCX_Modi = 90, - SCX_Mongolian = 91, - SCX_Mro = 92, - SCX_Multani = 93, - SCX_Myanmar = 94, - SCX_Nabataean = 95, - SCX_Nandinagari = 96, - SCX_New_Tai_Lue = 97, - SCX_Newa = 98, - SCX_Nko = 99, - SCX_Nushu = 100, - SCX_Nyiakeng_Puachue_Hmong = 101, - SCX_Ogham = 102, - SCX_Ol_Chiki = 103, - SCX_Old_Hungarian = 104, - SCX_Old_Italic = 105, - SCX_Old_North_Arabian = 106, - SCX_Old_Permic = 107, - SCX_Old_Persian = 108, - SCX_Old_Sogdian = 109, - SCX_Old_South_Arabian = 110, - SCX_Old_Turkic = 111, - SCX_Oriya = 112, - SCX_Osage = 113, - SCX_Osmanya = 114, - SCX_Pahawh_Hmong = 115, - SCX_Palmyrene = 116, - SCX_Pau_Cin_Hau = 117, - SCX_Phags_Pa = 118, - SCX_Phoenician = 119, - SCX_Psalter_Pahlavi = 120, - SCX_Rejang = 121, - SCX_Runic = 122, - SCX_Samaritan = 123, - SCX_Saurashtra = 124, - SCX_Sharada = 125, - SCX_Shavian = 126, - SCX_Siddham = 127, - SCX_SignWriting = 128, - SCX_Sinhala = 129, - SCX_Sogdian = 130, - SCX_Sora_Sompeng = 131, - SCX_Soyombo = 132, - SCX_Sundanese = 133, - SCX_Syloti_Nagri = 134, - SCX_Syriac = 135, - SCX_Tagalog = 136, - SCX_Tagbanwa = 137, - SCX_Tai_Le = 138, - SCX_Tai_Tham = 139, - SCX_Tai_Viet = 140, - SCX_Takri = 141, - SCX_Tamil = 142, - SCX_Tangut = 143, - SCX_Telugu = 144, - SCX_Thaana = 145, - SCX_Thai = 146, - SCX_Tibetan = 147, - SCX_Tifinagh = 148, - SCX_Tirhuta = 149, - SCX_Ugaritic = 150, - SCX_Vai = 151, - SCX_Wancho = 152, - SCX_Warang_Citi = 153, - SCX_Yi = 154, - SCX_Zanabazar_Square = 155, - SCX_INVALID = 156, + SCX_Chorasmian = 24, + SCX_Common = 25, + SCX_Coptic = 26, + SCX_Cuneiform = 27, + SCX_Cypriot = 28, + SCX_Cyrillic = 29, + SCX_Deseret = 30, + SCX_Devanagari = 31, + SCX_Dives_Akuru = 32, + SCX_Dogra = 33, + SCX_Duployan = 34, + SCX_Egyptian_Hieroglyphs = 35, + SCX_Elbasan = 36, + SCX_Elymaic = 37, + SCX_Ethiopic = 38, + SCX_Georgian = 39, + SCX_Glagolitic = 40, + SCX_Gothic = 41, + SCX_Grantha = 42, + SCX_Greek = 43, + SCX_Gujarati = 44, + SCX_Gunjala_Gondi = 45, + SCX_Gurmukhi = 46, + SCX_Han = 47, + SCX_Hanb = 48, + SCX_Hangul = 49, + SCX_Hanifi_Rohingya = 50, + SCX_Hanunoo = 51, + SCX_Hatran = 52, + SCX_Hebrew = 53, + SCX_Hiragana = 54, + SCX_Imperial_Aramaic = 55, + SCX_Inherited = 56, + SCX_Inscriptional_Pahlavi = 57, + SCX_Inscriptional_Parthian = 58, + SCX_INVALID = 59, + SCX_Javanese = 60, + SCX_Jpan = 61, + SCX_Kaithi = 62, + SCX_Kannada = 63, + SCX_Katakana = 64, + SCX_Kayah_Li = 65, + SCX_Kharoshthi = 66, + SCX_Khitan_Small_Script = 67, + SCX_Khmer = 68, + SCX_Khojki = 69, + SCX_Khudawadi = 70, + SCX_Kore = 71, + SCX_Lao = 72, + SCX_Latin = 73, + SCX_Lepcha = 74, + SCX_Limbu = 75, + SCX_Linear_A = 76, + SCX_Linear_B = 77, + SCX_Lisu = 78, + SCX_Lycian = 79, + SCX_Lydian = 80, + SCX_Mahajani = 81, + SCX_Makasar = 82, + SCX_Malayalam = 83, + SCX_Mandaic = 84, + SCX_Manichaean = 85, + SCX_Marchen = 86, + SCX_Masaram_Gondi = 87, + SCX_Medefaidrin = 88, + SCX_Meetei_Mayek = 89, + SCX_Mende_Kikakui = 90, + SCX_Meroitic_Cursive = 91, + SCX_Meroitic_Hieroglyphs = 92, + SCX_Miao = 93, + SCX_Modi = 94, + SCX_Mongolian = 95, + SCX_Mro = 96, + SCX_Multani = 97, + SCX_Myanmar = 98, + SCX_Nabataean = 99, + SCX_Nandinagari = 100, + SCX_New_Tai_Lue = 101, + SCX_Newa = 102, + SCX_Nko = 103, + SCX_Nushu = 104, + SCX_Nyiakeng_Puachue_Hmong = 105, + SCX_Ogham = 106, + SCX_Ol_Chiki = 107, + SCX_Old_Hungarian = 108, + SCX_Old_Italic = 109, + SCX_Old_North_Arabian = 110, + SCX_Old_Permic = 111, + SCX_Old_Persian = 112, + SCX_Old_Sogdian = 113, + SCX_Old_South_Arabian = 114, + SCX_Old_Turkic = 115, + SCX_Oriya = 116, + SCX_Osage = 117, + SCX_Osmanya = 118, + SCX_Pahawh_Hmong = 119, + SCX_Palmyrene = 120, + SCX_Pau_Cin_Hau = 121, + SCX_Phags_Pa = 122, + SCX_Phoenician = 123, + SCX_Psalter_Pahlavi = 124, + SCX_Rejang = 125, + SCX_Runic = 126, + SCX_Samaritan = 127, + SCX_Saurashtra = 128, + SCX_Sharada = 129, + SCX_Shavian = 130, + SCX_Siddham = 131, + SCX_SignWriting = 132, + SCX_Sinhala = 133, + SCX_Sogdian = 134, + SCX_Sora_Sompeng = 135, + SCX_Soyombo = 136, + SCX_Sundanese = 137, + SCX_Syloti_Nagri = 138, + SCX_Syriac = 139, + SCX_Tagalog = 140, + SCX_Tagbanwa = 141, + SCX_Tai_Le = 142, + SCX_Tai_Tham = 143, + SCX_Tai_Viet = 144, + SCX_Takri = 145, + SCX_Tamil = 146, + SCX_Tangut = 147, + SCX_Telugu = 148, + SCX_Thaana = 149, + SCX_Thai = 150, + SCX_Tibetan = 151, + SCX_Tifinagh = 152, + SCX_Tirhuta = 153, + SCX_Ugaritic = 154, + SCX_Vai = 155, + SCX_Wancho = 156, + SCX_Warang_Citi = 157, + SCX_Yezidi = 158, + SCX_Yi = 159, + SCX_Zanabazar_Square = 160, SCX_use_AUX_TABLE_1 = -1, SCX_use_AUX_TABLE_2 = -2, SCX_use_AUX_TABLE_3 = -3, @@ -81907,7 +82884,9 @@ typedef enum { SCX_use_AUX_TABLE_50 = -50, SCX_use_AUX_TABLE_51 = -51, SCX_use_AUX_TABLE_52 = -52, - SCX_use_AUX_TABLE_53 = -53 + SCX_use_AUX_TABLE_53 = -53, + SCX_use_AUX_TABLE_54 = -54, + SCX_use_AUX_TABLE_55 = -55 } SCX_enum; # endif /* EBCDIC 037 */ @@ -81942,24 +82921,20 @@ static const SCX_enum SCX_AUX_TABLE_4[] = { }; static const SCX_enum SCX_AUX_TABLE_5[] = { - SCX_Armenian, - SCX_Georgian -}; - -static const SCX_enum SCX_AUX_TABLE_6[] = { SCX_Arabic, SCX_Hanifi_Rohingya, SCX_Syriac, - SCX_Thaana + SCX_Thaana, + SCX_Yezidi }; -static const SCX_enum SCX_AUX_TABLE_7[] = { +static const SCX_enum SCX_AUX_TABLE_6[] = { SCX_Arabic, SCX_Syriac, SCX_Thaana }; -static const SCX_enum SCX_AUX_TABLE_8[] = { +static const SCX_enum SCX_AUX_TABLE_7[] = { SCX_Adlam, SCX_Arabic, SCX_Hanifi_Rohingya, @@ -81970,22 +82945,23 @@ static const SCX_enum SCX_AUX_TABLE_8[] = { SCX_Syriac }; -static const SCX_enum SCX_AUX_TABLE_9[] = { +static const SCX_enum SCX_AUX_TABLE_8[] = { SCX_Arabic, SCX_Syriac }; -static const SCX_enum SCX_AUX_TABLE_10[] = { +static const SCX_enum SCX_AUX_TABLE_9[] = { SCX_Arabic, - SCX_Thaana + SCX_Thaana, + SCX_Yezidi }; -static const SCX_enum SCX_AUX_TABLE_11[] = { +static const SCX_enum SCX_AUX_TABLE_10[] = { SCX_Arabic, SCX_Hanifi_Rohingya }; -static const SCX_enum SCX_AUX_TABLE_12[] = { +static const SCX_enum SCX_AUX_TABLE_11[] = { SCX_Bengali, SCX_Devanagari, SCX_Grantha, @@ -82001,7 +82977,7 @@ static const SCX_enum SCX_AUX_TABLE_12[] = { SCX_Tirhuta }; -static const SCX_enum SCX_AUX_TABLE_13[] = { +static const SCX_enum SCX_AUX_TABLE_12[] = { SCX_Bengali, SCX_Devanagari, SCX_Grantha, @@ -82016,7 +82992,7 @@ static const SCX_enum SCX_AUX_TABLE_13[] = { SCX_Tirhuta }; -static const SCX_enum SCX_AUX_TABLE_14[] = { +static const SCX_enum SCX_AUX_TABLE_13[] = { SCX_Bengali, SCX_Devanagari, SCX_Dogra, @@ -82039,7 +83015,7 @@ static const SCX_enum SCX_AUX_TABLE_14[] = { SCX_Tirhuta }; -static const SCX_enum SCX_AUX_TABLE_15[] = { +static const SCX_enum SCX_AUX_TABLE_14[] = { SCX_Bengali, SCX_Devanagari, SCX_Dogra, @@ -82063,90 +83039,90 @@ static const SCX_enum SCX_AUX_TABLE_15[] = { SCX_Tirhuta }; -static const SCX_enum SCX_AUX_TABLE_16[] = { +static const SCX_enum SCX_AUX_TABLE_15[] = { SCX_Devanagari, SCX_Dogra, SCX_Kaithi, SCX_Mahajani }; -static const SCX_enum SCX_AUX_TABLE_17[] = { +static const SCX_enum SCX_AUX_TABLE_16[] = { SCX_Bengali, SCX_Chakma, SCX_Syloti_Nagri }; -static const SCX_enum SCX_AUX_TABLE_18[] = { +static const SCX_enum SCX_AUX_TABLE_17[] = { SCX_Gurmukhi, SCX_Multani }; -static const SCX_enum SCX_AUX_TABLE_19[] = { +static const SCX_enum SCX_AUX_TABLE_18[] = { SCX_Gujarati, SCX_Khojki }; -static const SCX_enum SCX_AUX_TABLE_20[] = { +static const SCX_enum SCX_AUX_TABLE_19[] = { SCX_Grantha, SCX_Tamil }; -static const SCX_enum SCX_AUX_TABLE_21[] = { +static const SCX_enum SCX_AUX_TABLE_20[] = { SCX_Kannada, SCX_Nandinagari }; -static const SCX_enum SCX_AUX_TABLE_22[] = { +static const SCX_enum SCX_AUX_TABLE_21[] = { SCX_Chakma, SCX_Myanmar, SCX_Tai_Le }; -static const SCX_enum SCX_AUX_TABLE_23[] = { +static const SCX_enum SCX_AUX_TABLE_22[] = { SCX_Georgian, SCX_Latin }; -static const SCX_enum SCX_AUX_TABLE_24[] = { +static const SCX_enum SCX_AUX_TABLE_23[] = { SCX_Hangul, SCX_Kore }; -static const SCX_enum SCX_AUX_TABLE_25[] = { +static const SCX_enum SCX_AUX_TABLE_24[] = { SCX_Buhid, SCX_Hanunoo, SCX_Tagalog, SCX_Tagbanwa }; -static const SCX_enum SCX_AUX_TABLE_26[] = { +static const SCX_enum SCX_AUX_TABLE_25[] = { SCX_Mongolian, SCX_Phags_Pa }; -static const SCX_enum SCX_AUX_TABLE_27[] = { +static const SCX_enum SCX_AUX_TABLE_26[] = { SCX_Bengali, SCX_Devanagari, SCX_Grantha, SCX_Kannada }; -static const SCX_enum SCX_AUX_TABLE_28[] = { +static const SCX_enum SCX_AUX_TABLE_27[] = { SCX_Devanagari, SCX_Grantha }; -static const SCX_enum SCX_AUX_TABLE_29[] = { +static const SCX_enum SCX_AUX_TABLE_28[] = { SCX_Bengali, SCX_Devanagari }; -static const SCX_enum SCX_AUX_TABLE_30[] = { +static const SCX_enum SCX_AUX_TABLE_29[] = { SCX_Devanagari, SCX_Sharada }; -static const SCX_enum SCX_AUX_TABLE_31[] = { +static const SCX_enum SCX_AUX_TABLE_30[] = { SCX_Devanagari, SCX_Kannada, SCX_Malayalam, @@ -82155,12 +83131,12 @@ static const SCX_enum SCX_AUX_TABLE_31[] = { SCX_Telugu }; -static const SCX_enum SCX_AUX_TABLE_32[] = { +static const SCX_enum SCX_AUX_TABLE_31[] = { SCX_Devanagari, SCX_Nandinagari }; -static const SCX_enum SCX_AUX_TABLE_33[] = { +static const SCX_enum SCX_AUX_TABLE_32[] = { SCX_Bengali, SCX_Devanagari, SCX_Grantha, @@ -82171,12 +83147,17 @@ static const SCX_enum SCX_AUX_TABLE_33[] = { SCX_Tirhuta }; -static const SCX_enum SCX_AUX_TABLE_34[] = { +static const SCX_enum SCX_AUX_TABLE_33[] = { SCX_Devanagari, SCX_Grantha, SCX_Kannada }; +static const SCX_enum SCX_AUX_TABLE_34[] = { + SCX_Cyrillic, + SCX_Syriac +}; + static const SCX_enum SCX_AUX_TABLE_35[] = { SCX_Latin, SCX_Mongolian @@ -82252,6 +83233,14 @@ static const SCX_enum SCX_AUX_TABLE_44[] = { }; static const SCX_enum SCX_AUX_TABLE_45[] = { + SCX_Han, + SCX_Hanb, + SCX_Jpan, + SCX_Kore, + SCX_Latin +}; + +static const SCX_enum SCX_AUX_TABLE_46[] = { SCX_Devanagari, SCX_Dogra, SCX_Gujarati, @@ -82268,7 +83257,7 @@ static const SCX_enum SCX_AUX_TABLE_45[] = { SCX_Tirhuta }; -static const SCX_enum SCX_AUX_TABLE_46[] = { +static const SCX_enum SCX_AUX_TABLE_47[] = { SCX_Devanagari, SCX_Dogra, SCX_Gujarati, @@ -82284,7 +83273,7 @@ static const SCX_enum SCX_AUX_TABLE_46[] = { SCX_Tirhuta }; -static const SCX_enum SCX_AUX_TABLE_47[] = { +static const SCX_enum SCX_AUX_TABLE_48[] = { SCX_Devanagari, SCX_Dogra, SCX_Gujarati, @@ -82298,34 +83287,39 @@ static const SCX_enum SCX_AUX_TABLE_47[] = { SCX_Tirhuta }; -static const SCX_enum SCX_AUX_TABLE_48[] = { +static const SCX_enum SCX_AUX_TABLE_49[] = { SCX_Devanagari, SCX_Tamil }; -static const SCX_enum SCX_AUX_TABLE_49[] = { +static const SCX_enum SCX_AUX_TABLE_50[] = { SCX_Kayah_Li, SCX_Latin, SCX_Myanmar }; -static const SCX_enum SCX_AUX_TABLE_50[] = { +static const SCX_enum SCX_AUX_TABLE_51[] = { SCX_Buginese, SCX_Javanese }; -static const SCX_enum SCX_AUX_TABLE_51[] = { +static const SCX_enum SCX_AUX_TABLE_52[] = { + SCX_Arabic, + SCX_Thaana +}; + +static const SCX_enum SCX_AUX_TABLE_53[] = { SCX_Cypriot, SCX_Linear_B }; -static const SCX_enum SCX_AUX_TABLE_52[] = { +static const SCX_enum SCX_AUX_TABLE_54[] = { SCX_Cypriot, SCX_Linear_A, SCX_Linear_B }; -static const SCX_enum SCX_AUX_TABLE_53[] = { +static const SCX_enum SCX_AUX_TABLE_55[] = { SCX_Arabic, SCX_Coptic }; @@ -82384,7 +83378,9 @@ static const SCX_enum * const SCX_AUX_TABLE_ptrs[] = { SCX_AUX_TABLE_50, SCX_AUX_TABLE_51, SCX_AUX_TABLE_52, - SCX_AUX_TABLE_53 + SCX_AUX_TABLE_53, + SCX_AUX_TABLE_54, + SCX_AUX_TABLE_55 }; /* Parallel table to the above, giving the number of elements in each table @@ -82396,36 +83392,36 @@ static const U8 SCX_AUX_TABLE_lengths[] = { 2 /* SCX_AUX_TABLE_2 */, 2 /* SCX_AUX_TABLE_3 */, 2 /* SCX_AUX_TABLE_4 */, - 2 /* SCX_AUX_TABLE_5 */, - 4 /* SCX_AUX_TABLE_6 */, - 3 /* SCX_AUX_TABLE_7 */, - 8 /* SCX_AUX_TABLE_8 */, - 2 /* SCX_AUX_TABLE_9 */, + 5 /* SCX_AUX_TABLE_5 */, + 3 /* SCX_AUX_TABLE_6 */, + 8 /* SCX_AUX_TABLE_7 */, + 2 /* SCX_AUX_TABLE_8 */, + 3 /* SCX_AUX_TABLE_9 */, 2 /* SCX_AUX_TABLE_10 */, - 2 /* SCX_AUX_TABLE_11 */, - 13 /* SCX_AUX_TABLE_12 */, - 12 /* SCX_AUX_TABLE_13 */, - 20 /* SCX_AUX_TABLE_14 */, - 21 /* SCX_AUX_TABLE_15 */, - 4 /* SCX_AUX_TABLE_16 */, - 3 /* SCX_AUX_TABLE_17 */, + 13 /* SCX_AUX_TABLE_11 */, + 12 /* SCX_AUX_TABLE_12 */, + 20 /* SCX_AUX_TABLE_13 */, + 21 /* SCX_AUX_TABLE_14 */, + 4 /* SCX_AUX_TABLE_15 */, + 3 /* SCX_AUX_TABLE_16 */, + 2 /* SCX_AUX_TABLE_17 */, 2 /* SCX_AUX_TABLE_18 */, 2 /* SCX_AUX_TABLE_19 */, 2 /* SCX_AUX_TABLE_20 */, - 2 /* SCX_AUX_TABLE_21 */, - 3 /* SCX_AUX_TABLE_22 */, + 3 /* SCX_AUX_TABLE_21 */, + 2 /* SCX_AUX_TABLE_22 */, 2 /* SCX_AUX_TABLE_23 */, - 2 /* SCX_AUX_TABLE_24 */, - 4 /* SCX_AUX_TABLE_25 */, - 2 /* SCX_AUX_TABLE_26 */, - 4 /* SCX_AUX_TABLE_27 */, + 4 /* SCX_AUX_TABLE_24 */, + 2 /* SCX_AUX_TABLE_25 */, + 4 /* SCX_AUX_TABLE_26 */, + 2 /* SCX_AUX_TABLE_27 */, 2 /* SCX_AUX_TABLE_28 */, 2 /* SCX_AUX_TABLE_29 */, - 2 /* SCX_AUX_TABLE_30 */, - 6 /* SCX_AUX_TABLE_31 */, - 2 /* SCX_AUX_TABLE_32 */, - 8 /* SCX_AUX_TABLE_33 */, - 3 /* SCX_AUX_TABLE_34 */, + 6 /* SCX_AUX_TABLE_30 */, + 2 /* SCX_AUX_TABLE_31 */, + 8 /* SCX_AUX_TABLE_32 */, + 3 /* SCX_AUX_TABLE_33 */, + 2 /* SCX_AUX_TABLE_34 */, 2 /* SCX_AUX_TABLE_35 */, 3 /* SCX_AUX_TABLE_36 */, 4 /* SCX_AUX_TABLE_37 */, @@ -82436,15 +83432,17 @@ static const U8 SCX_AUX_TABLE_lengths[] = { 6 /* SCX_AUX_TABLE_42 */, 2 /* SCX_AUX_TABLE_43 */, 2 /* SCX_AUX_TABLE_44 */, - 14 /* SCX_AUX_TABLE_45 */, - 13 /* SCX_AUX_TABLE_46 */, - 11 /* SCX_AUX_TABLE_47 */, - 2 /* SCX_AUX_TABLE_48 */, - 3 /* SCX_AUX_TABLE_49 */, - 2 /* SCX_AUX_TABLE_50 */, + 5 /* SCX_AUX_TABLE_45 */, + 14 /* SCX_AUX_TABLE_46 */, + 13 /* SCX_AUX_TABLE_47 */, + 11 /* SCX_AUX_TABLE_48 */, + 2 /* SCX_AUX_TABLE_49 */, + 3 /* SCX_AUX_TABLE_50 */, 2 /* SCX_AUX_TABLE_51 */, - 3 /* SCX_AUX_TABLE_52 */, - 2 /* SCX_AUX_TABLE_53 */ + 2 /* SCX_AUX_TABLE_52 */, + 2 /* SCX_AUX_TABLE_53 */, + 3 /* SCX_AUX_TABLE_54 */, + 2 /* SCX_AUX_TABLE_55 */ }; /* This table, indexed by the script enum, gives the zero code point for that @@ -82476,6 +83474,7 @@ static const UV script_zeros[] = { 0, /* Chakma */ 0xaa50, /* Cham */ '0', /* Cherokee */ + '0', /* Chorasmian */ 0, /* Common */ '0', /* Coptic */ '0', /* Cuneiform */ @@ -82483,6 +83482,7 @@ static const UV script_zeros[] = { '0', /* Cyrillic */ '0', /* Deseret */ 0x966, /* Devanagari */ + 0x11950, /* Dives_Akuru */ 0x966, /* Dogra */ '0', /* Duployan */ '0', /* Egyptian_Hieroglyphs */ @@ -82509,6 +83509,7 @@ static const UV script_zeros[] = { 0, /* Inherited */ '0', /* Inscriptional_Pahlavi */ '0', /* Inscriptional_Parthian */ + '0', /* INVALID */ 0xa9d0, /* Javanese */ '0', /* Jpan */ 0x966, /* Kaithi */ @@ -82516,6 +83517,7 @@ static const UV script_zeros[] = { '0', /* Katakana */ 0xa900, /* Kayah_Li */ '0', /* Kharoshthi */ + '0', /* Khitan_Small_Script */ 0x17e0, /* Khmer */ 0xae6, /* Khojki */ 0x112f0, /* Khudawadi */ @@ -82605,7 +83607,8 @@ static const UV script_zeros[] = { '0', /* Ugaritic */ 0xa620, /* Vai */ 0x1e2f0, /* Wancho */ - 0x118e0 /* Warang_Citi */ + 0x118e0, /* Warang_Citi */ + 0x660 /* Yezidi */ }; static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ @@ -82687,8 +83690,6 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Armenian, SCX_Unknown, SCX_Armenian, - SCX_use_AUX_TABLE_5, - SCX_Armenian, SCX_Unknown, SCX_Armenian, SCX_Unknown, @@ -82701,23 +83702,23 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Arabic, SCX_Common, SCX_Arabic, - SCX_use_AUX_TABLE_6, + SCX_use_AUX_TABLE_5, SCX_Arabic, + SCX_use_AUX_TABLE_5, SCX_use_AUX_TABLE_6, - SCX_use_AUX_TABLE_7, SCX_Unknown, SCX_Arabic, - SCX_use_AUX_TABLE_6, + SCX_use_AUX_TABLE_5, + SCX_Arabic, + SCX_use_AUX_TABLE_7, SCX_Arabic, SCX_use_AUX_TABLE_8, SCX_Arabic, SCX_use_AUX_TABLE_9, SCX_Arabic, - SCX_use_AUX_TABLE_10, - SCX_Arabic, - SCX_use_AUX_TABLE_9, + SCX_use_AUX_TABLE_8, SCX_Arabic, - SCX_use_AUX_TABLE_11, + SCX_use_AUX_TABLE_10, SCX_Arabic, SCX_Common, SCX_Arabic, @@ -82750,13 +83751,13 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Common, SCX_Arabic, SCX_Devanagari, + SCX_use_AUX_TABLE_11, SCX_use_AUX_TABLE_12, - SCX_use_AUX_TABLE_13, SCX_Inherited, SCX_Devanagari, + SCX_use_AUX_TABLE_13, SCX_use_AUX_TABLE_14, SCX_use_AUX_TABLE_15, - SCX_use_AUX_TABLE_16, SCX_Devanagari, SCX_Bengali, SCX_Unknown, @@ -82784,7 +83785,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Unknown, SCX_Bengali, SCX_Unknown, - SCX_use_AUX_TABLE_17, + SCX_use_AUX_TABLE_16, SCX_Bengali, SCX_Unknown, SCX_Gurmukhi, @@ -82817,7 +83818,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, - SCX_use_AUX_TABLE_18, + SCX_use_AUX_TABLE_17, SCX_Gurmukhi, SCX_Unknown, SCX_Gujarati, @@ -82844,7 +83845,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Unknown, SCX_Gujarati, SCX_Unknown, - SCX_use_AUX_TABLE_19, + SCX_use_AUX_TABLE_18, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, @@ -82907,7 +83908,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Unknown, SCX_Tamil, SCX_Unknown, - SCX_use_AUX_TABLE_20, + SCX_use_AUX_TABLE_19, SCX_Tamil, SCX_Unknown, SCX_Telugu, @@ -82955,7 +83956,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Unknown, SCX_Kannada, SCX_Unknown, - SCX_use_AUX_TABLE_21, + SCX_use_AUX_TABLE_20, SCX_Unknown, SCX_Kannada, SCX_Unknown, @@ -82973,8 +83974,6 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Unknown, SCX_Malayalam, SCX_Unknown, - SCX_Malayalam, - SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, @@ -83041,7 +84040,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Tibetan, SCX_Unknown, SCX_Myanmar, - SCX_use_AUX_TABLE_22, + SCX_use_AUX_TABLE_21, SCX_Myanmar, SCX_Georgian, SCX_Unknown, @@ -83050,9 +84049,9 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Georgian, SCX_Unknown, SCX_Georgian, - SCX_use_AUX_TABLE_23, + SCX_use_AUX_TABLE_22, SCX_Georgian, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, @@ -83105,7 +84104,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Tagalog, SCX_Unknown, SCX_Hanunoo, - SCX_use_AUX_TABLE_25, + SCX_use_AUX_TABLE_24, SCX_Unknown, SCX_Buhid, SCX_Unknown, @@ -83122,9 +84121,9 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Khmer, SCX_Unknown, SCX_Mongolian, - SCX_use_AUX_TABLE_26, + SCX_use_AUX_TABLE_25, SCX_Mongolian, - SCX_use_AUX_TABLE_26, + SCX_use_AUX_TABLE_25, SCX_Mongolian, SCX_Unknown, SCX_Mongolian, @@ -83192,33 +84191,33 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Georgian, SCX_Sundanese, SCX_Unknown, - SCX_use_AUX_TABLE_27, + SCX_use_AUX_TABLE_26, SCX_Devanagari, + SCX_use_AUX_TABLE_26, SCX_use_AUX_TABLE_27, - SCX_use_AUX_TABLE_28, SCX_Devanagari, + SCX_use_AUX_TABLE_28, SCX_use_AUX_TABLE_29, - SCX_use_AUX_TABLE_30, + SCX_use_AUX_TABLE_28, SCX_use_AUX_TABLE_29, SCX_use_AUX_TABLE_30, - SCX_use_AUX_TABLE_31, - SCX_Devanagari, - SCX_use_AUX_TABLE_30, SCX_Devanagari, - SCX_use_AUX_TABLE_30, SCX_use_AUX_TABLE_29, SCX_Devanagari, - SCX_use_AUX_TABLE_32, SCX_use_AUX_TABLE_29, + SCX_use_AUX_TABLE_28, SCX_Devanagari, - SCX_use_AUX_TABLE_29, + SCX_use_AUX_TABLE_31, + SCX_use_AUX_TABLE_28, + SCX_Devanagari, + SCX_use_AUX_TABLE_28, SCX_Devanagari, + SCX_use_AUX_TABLE_32, + SCX_use_AUX_TABLE_27, SCX_use_AUX_TABLE_33, SCX_use_AUX_TABLE_28, - SCX_use_AUX_TABLE_34, - SCX_use_AUX_TABLE_29, SCX_Bengali, - SCX_use_AUX_TABLE_28, + SCX_use_AUX_TABLE_27, SCX_Nandinagari, SCX_Unknown, SCX_Latin, @@ -83233,6 +84232,8 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Latin, SCX_Greek, SCX_Inherited, + SCX_use_AUX_TABLE_34, + SCX_Inherited, SCX_Unknown, SCX_Inherited, SCX_Latin, @@ -83374,7 +84375,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Common, SCX_use_AUX_TABLE_37, SCX_use_AUX_TABLE_40, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_use_AUX_TABLE_39, SCX_use_AUX_TABLE_41, SCX_Common, @@ -83395,19 +84396,18 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Unknown, SCX_use_AUX_TABLE_1, SCX_Unknown, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_use_AUX_TABLE_1, - SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_44, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Common, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Common, SCX_use_AUX_TABLE_37, SCX_Common, @@ -83423,7 +84423,6 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_use_AUX_TABLE_37, SCX_Common, SCX_use_AUX_TABLE_37, - SCX_Unknown, SCX_Common, SCX_use_AUX_TABLE_37, SCX_Unknown, @@ -83439,6 +84438,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Cyrillic, SCX_Bamum, SCX_Unknown, + SCX_use_AUX_TABLE_45, SCX_Common, SCX_Latin, SCX_Common, @@ -83449,9 +84449,9 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Latin, SCX_Syloti_Nagri, SCX_Unknown, - SCX_use_AUX_TABLE_45, SCX_use_AUX_TABLE_46, SCX_use_AUX_TABLE_47, + SCX_use_AUX_TABLE_48, SCX_Unknown, SCX_Phags_Pa, SCX_Unknown, @@ -83460,21 +84460,21 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Saurashtra, SCX_Unknown, SCX_Devanagari, - SCX_use_AUX_TABLE_29, + SCX_use_AUX_TABLE_28, SCX_Devanagari, - SCX_use_AUX_TABLE_48, + SCX_use_AUX_TABLE_49, SCX_Devanagari, SCX_Kayah_Li, - SCX_use_AUX_TABLE_49, + SCX_use_AUX_TABLE_50, SCX_Kayah_Li, SCX_Rejang, SCX_Unknown, SCX_Rejang, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_Javanese, SCX_Unknown, - SCX_use_AUX_TABLE_50, + SCX_use_AUX_TABLE_51, SCX_Javanese, SCX_Unknown, SCX_Javanese, @@ -83508,17 +84508,18 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Latin, SCX_Greek, SCX_Latin, + SCX_Common, SCX_Unknown, SCX_Cherokee, SCX_Meetei_Mayek, SCX_Unknown, SCX_Meetei_Mayek, SCX_Unknown, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, @@ -83549,9 +84550,9 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Arabic, SCX_Unknown, SCX_Arabic, - SCX_use_AUX_TABLE_10, + SCX_use_AUX_TABLE_52, SCX_Arabic, - SCX_use_AUX_TABLE_10, + SCX_use_AUX_TABLE_52, SCX_Unknown, SCX_Inherited, SCX_Common, @@ -83582,15 +84583,15 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_use_AUX_TABLE_41, SCX_use_AUX_TABLE_44, SCX_use_AUX_TABLE_41, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, - SCX_use_AUX_TABLE_24, + SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_Common, SCX_Unknown, @@ -83612,11 +84613,11 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Unknown, SCX_Linear_B, SCX_Unknown, - SCX_use_AUX_TABLE_51, + SCX_use_AUX_TABLE_53, SCX_Unknown, - SCX_use_AUX_TABLE_52, + SCX_use_AUX_TABLE_54, SCX_Unknown, - SCX_use_AUX_TABLE_51, + SCX_use_AUX_TABLE_53, SCX_Greek, SCX_Unknown, SCX_Common, @@ -83630,7 +84631,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Unknown, SCX_Carian, SCX_Unknown, - SCX_use_AUX_TABLE_53, + SCX_use_AUX_TABLE_55, SCX_Unknown, SCX_Old_Italic, SCX_Unknown, @@ -83756,10 +84757,18 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Unknown, SCX_Arabic, SCX_Unknown, + SCX_Yezidi, + SCX_Unknown, + SCX_Yezidi, + SCX_Unknown, + SCX_Yezidi, + SCX_Unknown, SCX_Old_Sogdian, SCX_Unknown, SCX_Sogdian, SCX_Unknown, + SCX_Chorasmian, + SCX_Unknown, SCX_Elymaic, SCX_Unknown, SCX_Brahmi, @@ -83783,8 +84792,6 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Unknown, SCX_Sharada, SCX_Unknown, - SCX_Sharada, - SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Khojki, @@ -83806,9 +84813,9 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Khudawadi, SCX_Unknown, SCX_Grantha, - SCX_use_AUX_TABLE_20, + SCX_use_AUX_TABLE_19, SCX_Grantha, - SCX_use_AUX_TABLE_20, + SCX_use_AUX_TABLE_19, SCX_Unknown, SCX_Grantha, SCX_Unknown, @@ -83822,7 +84829,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Unknown, SCX_Grantha, SCX_Unknown, - SCX_use_AUX_TABLE_20, + SCX_use_AUX_TABLE_19, SCX_Grantha, SCX_Unknown, SCX_Grantha, @@ -83843,8 +84850,6 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Unknown, SCX_Newa, SCX_Unknown, - SCX_Newa, - SCX_Unknown, SCX_Tirhuta, SCX_Unknown, SCX_Tirhuta, @@ -83874,6 +84879,21 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Warang_Citi, SCX_Unknown, SCX_Warang_Citi, + SCX_Dives_Akuru, + SCX_Unknown, + SCX_Dives_Akuru, + SCX_Unknown, + SCX_Dives_Akuru, + SCX_Unknown, + SCX_Dives_Akuru, + SCX_Unknown, + SCX_Dives_Akuru, + SCX_Unknown, + SCX_Dives_Akuru, + SCX_Unknown, + SCX_Dives_Akuru, + SCX_Unknown, + SCX_Dives_Akuru, SCX_Unknown, SCX_Nandinagari, SCX_Unknown, @@ -83929,10 +84949,12 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Unknown, SCX_Makasar, SCX_Unknown, + SCX_Lisu, + SCX_Unknown, SCX_Tamil, - SCX_use_AUX_TABLE_20, + SCX_use_AUX_TABLE_19, SCX_Tamil, - SCX_use_AUX_TABLE_20, + SCX_use_AUX_TABLE_19, SCX_Tamil, SCX_Unknown, SCX_Tamil, @@ -83983,8 +85005,14 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Tangut, SCX_Nushu, SCX_Common, + SCX_Khitan_Small_Script, + SCX_Unknown, + SCX_use_AUX_TABLE_37, + SCX_Unknown, + SCX_Tangut, SCX_Unknown, SCX_Tangut, + SCX_Khitan_Small_Script, SCX_Unknown, SCX_Tangut, SCX_Unknown, @@ -84196,18 +85224,20 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Common, SCX_Unknown, SCX_Common, - SCX_Unknown, + SCX_use_AUX_TABLE_43, SCX_Common, SCX_Unknown, SCX_Common, - SCX_use_AUX_TABLE_43, + SCX_Unknown, SCX_Common, SCX_Unknown, + SCX_use_AUX_TABLE_37, + SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, - SCX_use_AUX_TABLE_37, + SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, @@ -84269,6 +85299,8 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, + SCX_use_AUX_TABLE_37, + SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, @@ -84286,7 +85318,7 @@ static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV _Perl_WB_invlist[] = { /* for ASCII/Latin1 */ - 1848, /* Number of elements */ + 1884, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -84339,8 +85371,6 @@ static const UV _Perl_WB_invlist[] = { /* for ASCII/Latin1 */ 0xF8, 0x2D8, 0x2DE, - 0x2E5, - 0x2EC, 0x300, 0x370, 0x375, @@ -84368,14 +85398,13 @@ static const UV _Perl_WB_invlist[] = { /* for ASCII/Latin1 */ 0x531, 0x557, 0x559, - 0x55A, - 0x55B, 0x55D, 0x55E, 0x55F, 0x560, 0x589, 0x58A, + 0x58B, 0x591, 0x5BE, 0x5BF, @@ -84464,7 +85493,7 @@ static const UV _Perl_WB_invlist[] = { /* for ASCII/Latin1 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -84606,7 +85635,7 @@ static const UV _Perl_WB_invlist[] = { /* for ASCII/Latin1 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -84709,7 +85738,6 @@ static const UV _Perl_WB_invlist[] = { /* for ASCII/Latin1 */ 0xCF3, 0xD00, 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -84733,7 +85761,7 @@ static const UV _Perl_WB_invlist[] = { /* for ASCII/Latin1 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -84939,7 +85967,7 @@ static const UV _Perl_WB_invlist[] = { /* for ASCII/Latin1 */ 0x1A90, 0x1A9A, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B05, 0x1B34, @@ -85242,7 +86270,7 @@ static const UV _Perl_WB_invlist[] = { /* for ASCII/Latin1 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3297, @@ -85273,11 +86301,11 @@ static const UV _Perl_WB_invlist[] = { /* for ASCII/Latin1 */ 0xA6A0, 0xA6F0, 0xA6F2, - 0xA717, + 0xA708, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA802, 0xA803, 0xA806, @@ -85286,6 +86314,8 @@ static const UV _Perl_WB_invlist[] = { /* for ASCII/Latin1 */ 0xA80C, 0xA823, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA880, @@ -85360,7 +86390,7 @@ static const UV _Perl_WB_invlist[] = { /* for ASCII/Latin1 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6A, 0xAB70, 0xABE3, 0xABEB, @@ -85586,6 +86616,12 @@ static const UV _Perl_WB_invlist[] = { /* for ASCII/Latin1 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, @@ -85593,6 +86629,8 @@ static const UV _Perl_WB_invlist[] = { /* for ASCII/Latin1 */ 0x10F30, 0x10F46, 0x10F51, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -85622,6 +86660,7 @@ static const UV _Perl_WB_invlist[] = { /* for ASCII/Latin1 */ 0x11144, 0x11145, 0x11147, + 0x11148, 0x11150, 0x11173, 0x11174, @@ -85634,6 +86673,7 @@ static const UV _Perl_WB_invlist[] = { /* for ASCII/Latin1 */ 0x111C5, 0x111C9, 0x111CD, + 0x111CE, 0x111D0, 0x111DA, 0x111DB, @@ -85702,7 +86742,7 @@ static const UV _Perl_WB_invlist[] = { /* for ASCII/Latin1 */ 0x1145A, 0x1145E, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -85743,7 +86783,26 @@ static const UV _Perl_WB_invlist[] = { /* for ASCII/Latin1 */ 0x118E0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, + 0x11944, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -85823,6 +86882,8 @@ static const UV _Perl_WB_invlist[] = { /* for ASCII/Latin1 */ 0x11EE0, 0x11EF3, 0x11EF7, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -85871,6 +86932,9 @@ static const UV _Perl_WB_invlist[] = { /* for ASCII/Latin1 */ 0x16FE2, 0x16FE3, 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x1B000, 0x1B001, 0x1B164, @@ -86131,6 +87195,10 @@ static const UV _Perl_WB_invlist[] = { /* for ASCII/Latin1 */ 0x1F93C, 0x1F946, 0x1F947, + 0x1FB00, + 0x1FBF0, + 0x1FBFA, + 0x1FC00, 0x1FFFE, 0xE0001, 0xE0002, @@ -86150,27 +87218,27 @@ static const UV _Perl_WB_invlist[] = { /* for ASCII/Latin1 */ typedef enum { WB_Other = 0, - WB_ALetter = 1, - WB_CR = 2, - WB_Double_Quote = 3, - WB_Extend = 4, - WB_ExtendNumLet = 5, - WB_Format = 6, - WB_Hebrew_Letter = 7, - WB_Katakana = 8, - WB_LF = 9, - WB_MidLetter = 10, - WB_MidNum = 11, - WB_MidNumLet = 12, - WB_Newline = 13, - WB_Numeric = 14, - WB_Perl_Tailored_HSpace = 15, - WB_Regional_Indicator = 16, - WB_Single_Quote = 17, - WB_XPG_LE = 18, - WB_XPG_XX = 19, - WB_ZWJ = 20, - WB_EDGE = 21, + WB_CR = 1, + WB_Double_Quote = 2, + WB_EDGE = 3, + WB_ExtPict_LE = 4, + WB_ExtPict_XX = 5, + WB_ExtendNumLet = 6, + WB_Extend = 7, + WB_Format = 8, + WB_Hebrew_Letter = 9, + WB_Perl_Tailored_HSpace = 10, + WB_Katakana = 11, + WB_ALetter = 12, + WB_LF = 13, + WB_MidNumLet = 14, + WB_MidLetter = 15, + WB_MidNum = 16, + WB_Newline = 17, + WB_Numeric = 18, + WB_Regional_Indicator = 19, + WB_Single_Quote = 20, + WB_ZWJ = 21, WB_E_Base = 22, WB_E_Base_GAZ = 22, WB_E_Modifier = 22, @@ -86209,11 +87277,11 @@ static const WB_enum _Perl_WB_invmap[] = { /* for ASCII/Latin1 */ WB_Other, WB_Perl_Tailored_HSpace, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_ALetter, WB_Other, WB_Format, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, WB_ALetter, WB_Other, @@ -86228,8 +87296,6 @@ static const WB_enum _Perl_WB_invmap[] = { /* for ASCII/Latin1 */ WB_ALetter, WB_Other, WB_ALetter, - WB_Other, - WB_ALetter, WB_Extend, WB_ALetter, WB_Other, @@ -86259,11 +87325,10 @@ static const WB_enum _Perl_WB_invmap[] = { /* for ASCII/Latin1 */ WB_ALetter, WB_Other, WB_ALetter, - WB_Other, - WB_ALetter, - WB_Other, + WB_MidLetter, WB_ALetter, WB_MidNum, + WB_ALetter, WB_Other, WB_Extend, WB_Other, @@ -86597,7 +87662,6 @@ static const WB_enum _Perl_WB_invmap[] = { /* for ASCII/Latin1 */ WB_ALetter, WB_Other, WB_Extend, - WB_Other, WB_ALetter, WB_Other, WB_ALetter, @@ -86929,13 +87993,13 @@ static const WB_enum _Perl_WB_invmap[] = { /* for ASCII/Latin1 */ WB_Format, WB_ExtendNumLet, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, WB_ExtendNumLet, WB_Other, WB_MidNum, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, WB_ExtendNumLet, WB_Other, @@ -86962,7 +88026,7 @@ static const WB_enum _Perl_WB_invmap[] = { /* for ASCII/Latin1 */ WB_Other, WB_ALetter, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, WB_ALetter, WB_Other, @@ -86973,7 +88037,7 @@ static const WB_enum _Perl_WB_invmap[] = { /* for ASCII/Latin1 */ WB_ALetter, WB_Other, WB_ALetter, - WB_XPG_LE, + WB_ExtPict_LE, WB_Other, WB_ALetter, WB_Other, @@ -86983,87 +88047,87 @@ static const WB_enum _Perl_WB_invmap[] = { /* for ASCII/Latin1 */ WB_Other, WB_ALetter, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, WB_ALetter, - WB_XPG_LE, + WB_ExtPict_LE, WB_ALetter, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, WB_ALetter, WB_Other, @@ -87113,11 +88177,11 @@ static const WB_enum _Perl_WB_invmap[] = { /* for ASCII/Latin1 */ WB_ALetter, WB_Other, WB_Extend, - WB_XPG_XX, + WB_ExtPict_XX, WB_Katakana, WB_Other, WB_ALetter, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, WB_Extend, WB_Katakana, @@ -87134,9 +88198,9 @@ static const WB_enum _Perl_WB_invmap[] = { /* for ASCII/Latin1 */ WB_Other, WB_Katakana, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, WB_Katakana, WB_Other, @@ -87175,6 +88239,8 @@ static const WB_enum _Perl_WB_invmap[] = { /* for ASCII/Latin1 */ WB_ALetter, WB_Extend, WB_Other, + WB_Extend, + WB_Other, WB_ALetter, WB_Other, WB_Extend, @@ -87477,6 +88543,12 @@ static const WB_enum _Perl_WB_invmap[] = { /* for ASCII/Latin1 */ WB_Other, WB_ALetter, WB_Other, + WB_Extend, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, WB_ALetter, WB_Other, WB_ALetter, @@ -87484,6 +88556,8 @@ static const WB_enum _Perl_WB_invmap[] = { /* for ASCII/Latin1 */ WB_Other, WB_ALetter, WB_Other, + WB_ALetter, + WB_Other, WB_Extend, WB_ALetter, WB_Extend, @@ -87510,6 +88584,7 @@ static const WB_enum _Perl_WB_invmap[] = { /* for ASCII/Latin1 */ WB_Other, WB_ALetter, WB_Extend, + WB_ALetter, WB_Other, WB_ALetter, WB_Extend, @@ -87523,6 +88598,7 @@ static const WB_enum _Perl_WB_invmap[] = { /* for ASCII/Latin1 */ WB_Other, WB_Extend, WB_Other, + WB_Extend, WB_Numeric, WB_ALetter, WB_Other, @@ -87636,6 +88712,25 @@ static const WB_enum _Perl_WB_invmap[] = { /* for ASCII/Latin1 */ WB_ALetter, WB_Other, WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, + WB_Extend, + WB_Other, + WB_Extend, + WB_Other, + WB_Extend, + WB_ALetter, + WB_Extend, + WB_ALetter, + WB_Extend, + WB_Other, + WB_Numeric, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, WB_Extend, WB_Other, WB_Extend, @@ -87720,6 +88815,8 @@ static const WB_enum _Perl_WB_invmap[] = { /* for ASCII/Latin1 */ WB_Other, WB_ALetter, WB_Other, + WB_ALetter, + WB_Other, WB_Format, WB_Other, WB_ALetter, @@ -87759,6 +88856,9 @@ static const WB_enum _Perl_WB_invmap[] = { /* for ASCII/Latin1 */ WB_ALetter, WB_Other, WB_ALetter, + WB_Extend, + WB_Other, + WB_Extend, WB_Other, WB_Katakana, WB_Other, @@ -87961,65 +89061,69 @@ static const WB_enum _Perl_WB_invmap[] = { /* for ASCII/Latin1 */ WB_Other, WB_ALetter, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_ALetter, WB_Other, WB_ALetter, WB_Other, - WB_XPG_XX, - WB_XPG_LE, + WB_ExtPict_XX, + WB_ExtPict_LE, WB_ALetter, - WB_XPG_LE, + WB_ExtPict_LE, WB_ALetter, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Regional_Indicator, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Extend, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, + WB_Other, + WB_Numeric, + WB_Other, + WB_ExtPict_XX, WB_Other, WB_Format, WB_Other, @@ -88041,7 +89145,7 @@ static const WB_enum _Perl_WB_invmap[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV _Perl_WB_invlist[] = { /* for EBCDIC 1047 */ - 1871, /* Number of elements */ + 1907, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -88117,8 +89221,6 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 1047 */ 0x100, 0x2D8, 0x2DE, - 0x2E5, - 0x2EC, 0x300, 0x370, 0x375, @@ -88146,14 +89248,13 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 1047 */ 0x531, 0x557, 0x559, - 0x55A, - 0x55B, 0x55D, 0x55E, 0x55F, 0x560, 0x589, 0x58A, + 0x58B, 0x591, 0x5BE, 0x5BF, @@ -88242,7 +89343,7 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 1047 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -88384,7 +89485,7 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 1047 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -88487,7 +89588,6 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 1047 */ 0xCF3, 0xD00, 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -88511,7 +89611,7 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 1047 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -88717,7 +89817,7 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 1047 */ 0x1A90, 0x1A9A, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B05, 0x1B34, @@ -89020,7 +90120,7 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 1047 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3297, @@ -89051,11 +90151,11 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 1047 */ 0xA6A0, 0xA6F0, 0xA6F2, - 0xA717, + 0xA708, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA802, 0xA803, 0xA806, @@ -89064,6 +90164,8 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 1047 */ 0xA80C, 0xA823, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA880, @@ -89138,7 +90240,7 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 1047 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6A, 0xAB70, 0xABE3, 0xABEB, @@ -89364,6 +90466,12 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 1047 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, @@ -89371,6 +90479,8 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 1047 */ 0x10F30, 0x10F46, 0x10F51, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -89400,6 +90510,7 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 1047 */ 0x11144, 0x11145, 0x11147, + 0x11148, 0x11150, 0x11173, 0x11174, @@ -89412,6 +90523,7 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 1047 */ 0x111C5, 0x111C9, 0x111CD, + 0x111CE, 0x111D0, 0x111DA, 0x111DB, @@ -89480,7 +90592,7 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 1047 */ 0x1145A, 0x1145E, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -89521,7 +90633,26 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 1047 */ 0x118E0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, + 0x11944, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -89601,6 +90732,8 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 1047 */ 0x11EE0, 0x11EF3, 0x11EF7, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -89649,6 +90782,9 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 1047 */ 0x16FE2, 0x16FE3, 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x1B000, 0x1B001, 0x1B164, @@ -89909,6 +91045,10 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 1047 */ 0x1F93C, 0x1F946, 0x1F947, + 0x1FB00, + 0x1FBF0, + 0x1FBFA, + 0x1FC00, 0x1FFFE, 0xE0001, 0xE0002, @@ -89931,27 +91071,27 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 1047 */ typedef enum { WB_Other = 0, - WB_ALetter = 1, - WB_CR = 2, - WB_Double_Quote = 3, - WB_Extend = 4, - WB_ExtendNumLet = 5, - WB_Format = 6, - WB_Hebrew_Letter = 7, - WB_Katakana = 8, - WB_LF = 9, - WB_MidLetter = 10, - WB_MidNum = 11, - WB_MidNumLet = 12, - WB_Newline = 13, - WB_Numeric = 14, - WB_Perl_Tailored_HSpace = 15, - WB_Regional_Indicator = 16, - WB_Single_Quote = 17, - WB_XPG_LE = 18, - WB_XPG_XX = 19, - WB_ZWJ = 20, - WB_EDGE = 21, + WB_CR = 1, + WB_Double_Quote = 2, + WB_EDGE = 3, + WB_ExtPict_LE = 4, + WB_ExtPict_XX = 5, + WB_ExtendNumLet = 6, + WB_Extend = 7, + WB_Format = 8, + WB_Hebrew_Letter = 9, + WB_Perl_Tailored_HSpace = 10, + WB_Katakana = 11, + WB_ALetter = 12, + WB_LF = 13, + WB_MidNumLet = 14, + WB_MidLetter = 15, + WB_MidNum = 16, + WB_Newline = 17, + WB_Numeric = 18, + WB_Regional_Indicator = 19, + WB_Single_Quote = 20, + WB_ZWJ = 21, WB_E_Base = 22, WB_E_Base_GAZ = 22, WB_E_Modifier = 22, @@ -90007,10 +91147,10 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 1047 */ WB_ALetter, WB_Other, WB_ALetter, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, WB_MidLetter, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, WB_ALetter, WB_Other, @@ -90032,8 +91172,6 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 1047 */ WB_ALetter, WB_Other, WB_ALetter, - WB_Other, - WB_ALetter, WB_Extend, WB_ALetter, WB_Other, @@ -90063,11 +91201,10 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 1047 */ WB_ALetter, WB_Other, WB_ALetter, - WB_Other, - WB_ALetter, - WB_Other, + WB_MidLetter, WB_ALetter, WB_MidNum, + WB_ALetter, WB_Other, WB_Extend, WB_Other, @@ -90401,7 +91538,6 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 1047 */ WB_ALetter, WB_Other, WB_Extend, - WB_Other, WB_ALetter, WB_Other, WB_ALetter, @@ -90733,13 +91869,13 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 1047 */ WB_Format, WB_ExtendNumLet, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, WB_ExtendNumLet, WB_Other, WB_MidNum, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, WB_ExtendNumLet, WB_Other, @@ -90766,7 +91902,7 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 1047 */ WB_Other, WB_ALetter, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, WB_ALetter, WB_Other, @@ -90777,7 +91913,7 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 1047 */ WB_ALetter, WB_Other, WB_ALetter, - WB_XPG_LE, + WB_ExtPict_LE, WB_Other, WB_ALetter, WB_Other, @@ -90787,87 +91923,87 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 1047 */ WB_Other, WB_ALetter, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, WB_ALetter, - WB_XPG_LE, + WB_ExtPict_LE, WB_ALetter, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, WB_ALetter, WB_Other, @@ -90917,11 +92053,11 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 1047 */ WB_ALetter, WB_Other, WB_Extend, - WB_XPG_XX, + WB_ExtPict_XX, WB_Katakana, WB_Other, WB_ALetter, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, WB_Extend, WB_Katakana, @@ -90938,9 +92074,9 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 1047 */ WB_Other, WB_Katakana, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, WB_Katakana, WB_Other, @@ -90979,6 +92115,8 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 1047 */ WB_ALetter, WB_Extend, WB_Other, + WB_Extend, + WB_Other, WB_ALetter, WB_Other, WB_Extend, @@ -91281,6 +92419,12 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 1047 */ WB_Other, WB_ALetter, WB_Other, + WB_Extend, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, WB_ALetter, WB_Other, WB_ALetter, @@ -91288,6 +92432,8 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 1047 */ WB_Other, WB_ALetter, WB_Other, + WB_ALetter, + WB_Other, WB_Extend, WB_ALetter, WB_Extend, @@ -91314,6 +92460,7 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 1047 */ WB_Other, WB_ALetter, WB_Extend, + WB_ALetter, WB_Other, WB_ALetter, WB_Extend, @@ -91327,6 +92474,7 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 1047 */ WB_Other, WB_Extend, WB_Other, + WB_Extend, WB_Numeric, WB_ALetter, WB_Other, @@ -91440,6 +92588,25 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 1047 */ WB_ALetter, WB_Other, WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, + WB_Extend, + WB_Other, + WB_Extend, + WB_Other, + WB_Extend, + WB_ALetter, + WB_Extend, + WB_ALetter, + WB_Extend, + WB_Other, + WB_Numeric, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, WB_Extend, WB_Other, WB_Extend, @@ -91524,6 +92691,8 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 1047 */ WB_Other, WB_ALetter, WB_Other, + WB_ALetter, + WB_Other, WB_Format, WB_Other, WB_ALetter, @@ -91563,6 +92732,9 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 1047 */ WB_ALetter, WB_Other, WB_ALetter, + WB_Extend, + WB_Other, + WB_Extend, WB_Other, WB_Katakana, WB_Other, @@ -91765,65 +92937,69 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 1047 */ WB_Other, WB_ALetter, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_ALetter, WB_Other, WB_ALetter, WB_Other, - WB_XPG_XX, - WB_XPG_LE, + WB_ExtPict_XX, + WB_ExtPict_LE, WB_ALetter, - WB_XPG_LE, + WB_ExtPict_LE, WB_ALetter, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Regional_Indicator, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Extend, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, + WB_Other, + WB_Numeric, + WB_Other, + WB_ExtPict_XX, WB_Other, WB_Format, WB_Other, @@ -91845,7 +93021,7 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV _Perl_WB_invlist[] = { /* for EBCDIC 037 */ - 1867, /* Number of elements */ + 1903, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -91917,8 +93093,6 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 037 */ 0x100, 0x2D8, 0x2DE, - 0x2E5, - 0x2EC, 0x300, 0x370, 0x375, @@ -91946,14 +93120,13 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 037 */ 0x531, 0x557, 0x559, - 0x55A, - 0x55B, 0x55D, 0x55E, 0x55F, 0x560, 0x589, 0x58A, + 0x58B, 0x591, 0x5BE, 0x5BF, @@ -92042,7 +93215,7 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 037 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -92184,7 +93357,7 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 037 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -92287,7 +93460,6 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 037 */ 0xCF3, 0xD00, 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -92311,7 +93483,7 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 037 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -92517,7 +93689,7 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 037 */ 0x1A90, 0x1A9A, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B05, 0x1B34, @@ -92820,7 +93992,7 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 037 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3297, @@ -92851,11 +94023,11 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 037 */ 0xA6A0, 0xA6F0, 0xA6F2, - 0xA717, + 0xA708, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA802, 0xA803, 0xA806, @@ -92864,6 +94036,8 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 037 */ 0xA80C, 0xA823, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA880, @@ -92938,7 +94112,7 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 037 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6A, 0xAB70, 0xABE3, 0xABEB, @@ -93164,6 +94338,12 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 037 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, @@ -93171,6 +94351,8 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 037 */ 0x10F30, 0x10F46, 0x10F51, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -93200,6 +94382,7 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 037 */ 0x11144, 0x11145, 0x11147, + 0x11148, 0x11150, 0x11173, 0x11174, @@ -93212,6 +94395,7 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 037 */ 0x111C5, 0x111C9, 0x111CD, + 0x111CE, 0x111D0, 0x111DA, 0x111DB, @@ -93280,7 +94464,7 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 037 */ 0x1145A, 0x1145E, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -93321,7 +94505,26 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 037 */ 0x118E0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, + 0x11944, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -93401,6 +94604,8 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 037 */ 0x11EE0, 0x11EF3, 0x11EF7, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -93449,6 +94654,9 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 037 */ 0x16FE2, 0x16FE3, 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x1B000, 0x1B001, 0x1B164, @@ -93709,6 +94917,10 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 037 */ 0x1F93C, 0x1F946, 0x1F947, + 0x1FB00, + 0x1FBF0, + 0x1FBFA, + 0x1FC00, 0x1FFFE, 0xE0001, 0xE0002, @@ -93731,27 +94943,27 @@ static const UV _Perl_WB_invlist[] = { /* for EBCDIC 037 */ typedef enum { WB_Other = 0, - WB_ALetter = 1, - WB_CR = 2, - WB_Double_Quote = 3, - WB_Extend = 4, - WB_ExtendNumLet = 5, - WB_Format = 6, - WB_Hebrew_Letter = 7, - WB_Katakana = 8, - WB_LF = 9, - WB_MidLetter = 10, - WB_MidNum = 11, - WB_MidNumLet = 12, - WB_Newline = 13, - WB_Numeric = 14, - WB_Perl_Tailored_HSpace = 15, - WB_Regional_Indicator = 16, - WB_Single_Quote = 17, - WB_XPG_LE = 18, - WB_XPG_XX = 19, - WB_ZWJ = 20, - WB_EDGE = 21, + WB_CR = 1, + WB_Double_Quote = 2, + WB_EDGE = 3, + WB_ExtPict_LE = 4, + WB_ExtPict_XX = 5, + WB_ExtendNumLet = 6, + WB_Extend = 7, + WB_Format = 8, + WB_Hebrew_Letter = 9, + WB_Perl_Tailored_HSpace = 10, + WB_Katakana = 11, + WB_ALetter = 12, + WB_LF = 13, + WB_MidNumLet = 14, + WB_MidLetter = 15, + WB_MidNum = 16, + WB_Newline = 17, + WB_Numeric = 18, + WB_Regional_Indicator = 19, + WB_Single_Quote = 20, + WB_ZWJ = 21, WB_E_Base = 22, WB_E_Base_GAZ = 22, WB_E_Modifier = 22, @@ -93805,10 +95017,10 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 037 */ WB_ALetter, WB_Other, WB_ALetter, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, WB_MidLetter, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, WB_ALetter, WB_Format, @@ -93828,8 +95040,6 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 037 */ WB_ALetter, WB_Other, WB_ALetter, - WB_Other, - WB_ALetter, WB_Extend, WB_ALetter, WB_Other, @@ -93859,11 +95069,10 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 037 */ WB_ALetter, WB_Other, WB_ALetter, - WB_Other, - WB_ALetter, - WB_Other, + WB_MidLetter, WB_ALetter, WB_MidNum, + WB_ALetter, WB_Other, WB_Extend, WB_Other, @@ -94197,7 +95406,6 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 037 */ WB_ALetter, WB_Other, WB_Extend, - WB_Other, WB_ALetter, WB_Other, WB_ALetter, @@ -94529,13 +95737,13 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 037 */ WB_Format, WB_ExtendNumLet, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, WB_ExtendNumLet, WB_Other, WB_MidNum, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, WB_ExtendNumLet, WB_Other, @@ -94562,7 +95770,7 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 037 */ WB_Other, WB_ALetter, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, WB_ALetter, WB_Other, @@ -94573,7 +95781,7 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 037 */ WB_ALetter, WB_Other, WB_ALetter, - WB_XPG_LE, + WB_ExtPict_LE, WB_Other, WB_ALetter, WB_Other, @@ -94583,87 +95791,87 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 037 */ WB_Other, WB_ALetter, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, WB_ALetter, - WB_XPG_LE, + WB_ExtPict_LE, WB_ALetter, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, WB_ALetter, WB_Other, @@ -94713,11 +95921,11 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 037 */ WB_ALetter, WB_Other, WB_Extend, - WB_XPG_XX, + WB_ExtPict_XX, WB_Katakana, WB_Other, WB_ALetter, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, WB_Extend, WB_Katakana, @@ -94734,9 +95942,9 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 037 */ WB_Other, WB_Katakana, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, WB_Katakana, WB_Other, @@ -94775,6 +95983,8 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 037 */ WB_ALetter, WB_Extend, WB_Other, + WB_Extend, + WB_Other, WB_ALetter, WB_Other, WB_Extend, @@ -95077,6 +96287,12 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 037 */ WB_Other, WB_ALetter, WB_Other, + WB_Extend, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, WB_ALetter, WB_Other, WB_ALetter, @@ -95084,6 +96300,8 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 037 */ WB_Other, WB_ALetter, WB_Other, + WB_ALetter, + WB_Other, WB_Extend, WB_ALetter, WB_Extend, @@ -95110,6 +96328,7 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 037 */ WB_Other, WB_ALetter, WB_Extend, + WB_ALetter, WB_Other, WB_ALetter, WB_Extend, @@ -95123,6 +96342,7 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 037 */ WB_Other, WB_Extend, WB_Other, + WB_Extend, WB_Numeric, WB_ALetter, WB_Other, @@ -95236,6 +96456,25 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 037 */ WB_ALetter, WB_Other, WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, + WB_Extend, + WB_Other, + WB_Extend, + WB_Other, + WB_Extend, + WB_ALetter, + WB_Extend, + WB_ALetter, + WB_Extend, + WB_Other, + WB_Numeric, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, WB_Extend, WB_Other, WB_Extend, @@ -95320,6 +96559,8 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 037 */ WB_Other, WB_ALetter, WB_Other, + WB_ALetter, + WB_Other, WB_Format, WB_Other, WB_ALetter, @@ -95359,6 +96600,9 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 037 */ WB_ALetter, WB_Other, WB_ALetter, + WB_Extend, + WB_Other, + WB_Extend, WB_Other, WB_Katakana, WB_Other, @@ -95561,65 +96805,69 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 037 */ WB_Other, WB_ALetter, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_ALetter, WB_Other, WB_ALetter, WB_Other, - WB_XPG_XX, - WB_XPG_LE, + WB_ExtPict_XX, + WB_ExtPict_LE, WB_ALetter, - WB_XPG_LE, + WB_ExtPict_LE, WB_ALetter, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Regional_Indicator, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Extend, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, WB_Other, - WB_XPG_XX, + WB_ExtPict_XX, + WB_Other, + WB_Numeric, + WB_Other, + WB_ExtPict_XX, WB_Other, WB_Format, WB_Other, @@ -95638,7 +96886,7 @@ static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV Simple_Case_Folding_invlist[] = { /* for ASCII/Latin1 */ - 1286, /* Number of elements */ + 1291, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -96912,6 +98160,11 @@ static const UV Simple_Case_Folding_invlist[] = { /* for ASCII/Latin1 */ 0xA7C5, 0xA7C6, 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7F5, + 0xA7F6, 0xAB70, 0xABC0, 0xFF21, @@ -96938,7 +98191,7 @@ static const UV Simple_Case_Folding_invlist[] = { /* for ASCII/Latin1 */ # if 'A' == 65 /* ASCII/Latin1 */ -static const int Simple_Case_Folding_invmap[] = { /* for ASCII/Latin1 */ +static const I32 Simple_Case_Folding_invmap[] = { /* for ASCII/Latin1 */ 0, 0x61, 0, @@ -98208,6 +99461,11 @@ static const int Simple_Case_Folding_invmap[] = { /* for ASCII/Latin1 */ 0xA794, 0x282, 0x1D8E, + 0xA7C8, + 0, + 0xA7CA, + 0, + 0xA7F6, 0, 0x13A0, 0, @@ -98239,7 +99497,7 @@ static const int Simple_Case_Folding_invmap[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV Simple_Case_Folding_invlist[] = { /* for EBCDIC 1047 */ - 1304, /* Number of elements */ + 1309, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -99531,6 +100789,11 @@ static const UV Simple_Case_Folding_invlist[] = { /* for EBCDIC 1047 */ 0xA7C5, 0xA7C6, 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7F5, + 0xA7F6, 0xAB70, 0xABC0, 0xFF21, @@ -99560,7 +100823,7 @@ static const UV Simple_Case_Folding_invlist[] = { /* for EBCDIC 1047 */ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 -static const int Simple_Case_Folding_invmap[] = { /* for EBCDIC 1047 */ +static const I32 Simple_Case_Folding_invmap[] = { /* for EBCDIC 1047 */ 0, 0x42, 0, @@ -100848,6 +102111,11 @@ static const int Simple_Case_Folding_invmap[] = { /* for EBCDIC 1047 */ 0xA794, 0x282, 0x1D8E, + 0xA7C8, + 0, + 0xA7CA, + 0, + 0xA7F6, 0, 0x13A0, 0, @@ -100879,7 +102147,7 @@ static const int Simple_Case_Folding_invmap[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV Simple_Case_Folding_invlist[] = { /* for EBCDIC 037 */ - 1300, /* Number of elements */ + 1305, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -102167,6 +103435,11 @@ static const UV Simple_Case_Folding_invlist[] = { /* for EBCDIC 037 */ 0xA7C5, 0xA7C6, 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7F5, + 0xA7F6, 0xAB70, 0xABC0, 0xFF21, @@ -102196,7 +103469,7 @@ static const UV Simple_Case_Folding_invlist[] = { /* for EBCDIC 037 */ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 -static const int Simple_Case_Folding_invmap[] = { /* for EBCDIC 037 */ +static const I32 Simple_Case_Folding_invmap[] = { /* for EBCDIC 037 */ 0, 0x42, 0, @@ -103480,6 +104753,11 @@ static const int Simple_Case_Folding_invmap[] = { /* for EBCDIC 037 */ 0xA794, 0x282, 0x1D8E, + 0xA7C8, + 0, + 0xA7CA, + 0, + 0xA7F6, 0, 0x13A0, 0, @@ -103508,7 +104786,7 @@ static const int Simple_Case_Folding_invmap[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV Titlecase_Mapping_invlist[] = { /* for ASCII/Latin1 */ - 1334, /* Number of elements */ + 1340, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -104815,6 +106093,12 @@ static const UV Titlecase_Mapping_invlist[] = { /* for ASCII/Latin1 */ 0xA7C0, 0xA7C3, 0xA7C4, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7CB, + 0xA7F6, + 0xA7F7, 0xAB53, 0xAB54, 0xAB70, @@ -104911,246 +106195,246 @@ typedef enum { #define HAS_TC_AUX_TABLES -static const unsigned int TC_AUX_TABLE_1[] = { +static const U32 TC_AUX_TABLE_1[] = { 0x53, 0x73 }; -static const unsigned int TC_AUX_TABLE_2[] = { +static const U32 TC_AUX_TABLE_2[] = { 0x2BC, 0x4E }; -static const unsigned int TC_AUX_TABLE_3[] = { +static const U32 TC_AUX_TABLE_3[] = { 0x4A, 0x30C }; -static const unsigned int TC_AUX_TABLE_4[] = { +static const U32 TC_AUX_TABLE_4[] = { 0x399, 0x308, 0x301 }; -static const unsigned int TC_AUX_TABLE_5[] = { +static const U32 TC_AUX_TABLE_5[] = { 0x3A5, 0x308, 0x301 }; -static const unsigned int TC_AUX_TABLE_6[] = { +static const U32 TC_AUX_TABLE_6[] = { 0x535, 0x582 }; -static const unsigned int TC_AUX_TABLE_7[] = { +static const U32 TC_AUX_TABLE_7[] = { 0x48, 0x331 }; -static const unsigned int TC_AUX_TABLE_8[] = { +static const U32 TC_AUX_TABLE_8[] = { 0x54, 0x308 }; -static const unsigned int TC_AUX_TABLE_9[] = { +static const U32 TC_AUX_TABLE_9[] = { 0x57, 0x30A }; -static const unsigned int TC_AUX_TABLE_10[] = { +static const U32 TC_AUX_TABLE_10[] = { 0x59, 0x30A }; -static const unsigned int TC_AUX_TABLE_11[] = { +static const U32 TC_AUX_TABLE_11[] = { 0x41, 0x2BE }; -static const unsigned int TC_AUX_TABLE_12[] = { +static const U32 TC_AUX_TABLE_12[] = { 0x3A5, 0x313 }; -static const unsigned int TC_AUX_TABLE_13[] = { +static const U32 TC_AUX_TABLE_13[] = { 0x3A5, 0x313, 0x300 }; -static const unsigned int TC_AUX_TABLE_14[] = { +static const U32 TC_AUX_TABLE_14[] = { 0x3A5, 0x313, 0x301 }; -static const unsigned int TC_AUX_TABLE_15[] = { +static const U32 TC_AUX_TABLE_15[] = { 0x3A5, 0x313, 0x342 }; -static const unsigned int TC_AUX_TABLE_16[] = { +static const U32 TC_AUX_TABLE_16[] = { 0x1FBA, 0x345 }; -static const unsigned int TC_AUX_TABLE_17[] = { +static const U32 TC_AUX_TABLE_17[] = { 0x386, 0x345 }; -static const unsigned int TC_AUX_TABLE_18[] = { +static const U32 TC_AUX_TABLE_18[] = { 0x391, 0x342 }; -static const unsigned int TC_AUX_TABLE_19[] = { +static const U32 TC_AUX_TABLE_19[] = { 0x391, 0x342, 0x345 }; -static const unsigned int TC_AUX_TABLE_20[] = { +static const U32 TC_AUX_TABLE_20[] = { 0x1FCA, 0x345 }; -static const unsigned int TC_AUX_TABLE_21[] = { +static const U32 TC_AUX_TABLE_21[] = { 0x389, 0x345 }; -static const unsigned int TC_AUX_TABLE_22[] = { +static const U32 TC_AUX_TABLE_22[] = { 0x397, 0x342 }; -static const unsigned int TC_AUX_TABLE_23[] = { +static const U32 TC_AUX_TABLE_23[] = { 0x397, 0x342, 0x345 }; -static const unsigned int TC_AUX_TABLE_24[] = { +static const U32 TC_AUX_TABLE_24[] = { 0x399, 0x308, 0x300 }; -static const unsigned int TC_AUX_TABLE_25[] = { +static const U32 TC_AUX_TABLE_25[] = { 0x399, 0x342 }; -static const unsigned int TC_AUX_TABLE_26[] = { +static const U32 TC_AUX_TABLE_26[] = { 0x399, 0x308, 0x342 }; -static const unsigned int TC_AUX_TABLE_27[] = { +static const U32 TC_AUX_TABLE_27[] = { 0x3A5, 0x308, 0x300 }; -static const unsigned int TC_AUX_TABLE_28[] = { +static const U32 TC_AUX_TABLE_28[] = { 0x3A1, 0x313 }; -static const unsigned int TC_AUX_TABLE_29[] = { +static const U32 TC_AUX_TABLE_29[] = { 0x3A5, 0x342 }; -static const unsigned int TC_AUX_TABLE_30[] = { +static const U32 TC_AUX_TABLE_30[] = { 0x3A5, 0x308, 0x342 }; -static const unsigned int TC_AUX_TABLE_31[] = { +static const U32 TC_AUX_TABLE_31[] = { 0x1FFA, 0x345 }; -static const unsigned int TC_AUX_TABLE_32[] = { +static const U32 TC_AUX_TABLE_32[] = { 0x38F, 0x345 }; -static const unsigned int TC_AUX_TABLE_33[] = { +static const U32 TC_AUX_TABLE_33[] = { 0x3A9, 0x342 }; -static const unsigned int TC_AUX_TABLE_34[] = { +static const U32 TC_AUX_TABLE_34[] = { 0x3A9, 0x342, 0x345 }; -static const unsigned int TC_AUX_TABLE_35[] = { +static const U32 TC_AUX_TABLE_35[] = { 0x46, 0x66 }; -static const unsigned int TC_AUX_TABLE_36[] = { +static const U32 TC_AUX_TABLE_36[] = { 0x46, 0x69 }; -static const unsigned int TC_AUX_TABLE_37[] = { +static const U32 TC_AUX_TABLE_37[] = { 0x46, 0x6C }; -static const unsigned int TC_AUX_TABLE_38[] = { +static const U32 TC_AUX_TABLE_38[] = { 0x46, 0x66, 0x69 }; -static const unsigned int TC_AUX_TABLE_39[] = { +static const U32 TC_AUX_TABLE_39[] = { 0x46, 0x66, 0x6C }; -static const unsigned int TC_AUX_TABLE_40[] = { +static const U32 TC_AUX_TABLE_40[] = { 0x53, 0x74 }; -static const unsigned int TC_AUX_TABLE_41[] = { +static const U32 TC_AUX_TABLE_41[] = { 0x544, 0x576 }; -static const unsigned int TC_AUX_TABLE_42[] = { +static const U32 TC_AUX_TABLE_42[] = { 0x544, 0x565 }; -static const unsigned int TC_AUX_TABLE_43[] = { +static const U32 TC_AUX_TABLE_43[] = { 0x544, 0x56B }; -static const unsigned int TC_AUX_TABLE_44[] = { +static const U32 TC_AUX_TABLE_44[] = { 0x54E, 0x576 }; -static const unsigned int TC_AUX_TABLE_45[] = { +static const U32 TC_AUX_TABLE_45[] = { 0x544, 0x56D }; -static const unsigned int * const TC_AUX_TABLE_ptrs[] = { +static const U32 * const TC_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ TC_AUX_TABLE_1, TC_AUX_TABLE_2, @@ -105251,7 +106535,7 @@ static const U8 TC_AUX_TABLE_lengths[] = { 2 /* TC_AUX_TABLE_45 */ }; -static const int Titlecase_Mapping_invmap[] = { /* for ASCII/Latin1 */ +static const I32 Titlecase_Mapping_invmap[] = { /* for ASCII/Latin1 */ 0, 0x41, 0, @@ -106555,6 +107839,12 @@ static const int Titlecase_Mapping_invmap[] = { /* for ASCII/Latin1 */ 0, 0xA7C2, 0, + 0xA7C7, + 0, + 0xA7C9, + 0, + 0xA7F5, + 0, 0xA7B3, 0, 0x13A0, @@ -106600,7 +107890,7 @@ static const int Titlecase_Mapping_invmap[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV Titlecase_Mapping_invlist[] = { /* for EBCDIC 1047 */ - 1350, /* Number of elements */ + 1356, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -107923,6 +109213,12 @@ static const UV Titlecase_Mapping_invlist[] = { /* for EBCDIC 1047 */ 0xA7C0, 0xA7C3, 0xA7C4, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7CB, + 0xA7F6, + 0xA7F7, 0xAB53, 0xAB54, 0xAB70, @@ -108022,246 +109318,246 @@ typedef enum { #define HAS_TC_AUX_TABLES -static const unsigned int TC_AUX_TABLE_1[] = { +static const U32 TC_AUX_TABLE_1[] = { 0xE2, 0xA2 }; -static const unsigned int TC_AUX_TABLE_2[] = { +static const U32 TC_AUX_TABLE_2[] = { 0x2BC, 0xD5 }; -static const unsigned int TC_AUX_TABLE_3[] = { +static const U32 TC_AUX_TABLE_3[] = { 0xD1, 0x30C }; -static const unsigned int TC_AUX_TABLE_4[] = { +static const U32 TC_AUX_TABLE_4[] = { 0x399, 0x308, 0x301 }; -static const unsigned int TC_AUX_TABLE_5[] = { +static const U32 TC_AUX_TABLE_5[] = { 0x3A5, 0x308, 0x301 }; -static const unsigned int TC_AUX_TABLE_6[] = { +static const U32 TC_AUX_TABLE_6[] = { 0x535, 0x582 }; -static const unsigned int TC_AUX_TABLE_7[] = { +static const U32 TC_AUX_TABLE_7[] = { 0xC8, 0x331 }; -static const unsigned int TC_AUX_TABLE_8[] = { +static const U32 TC_AUX_TABLE_8[] = { 0xE3, 0x308 }; -static const unsigned int TC_AUX_TABLE_9[] = { +static const U32 TC_AUX_TABLE_9[] = { 0xE6, 0x30A }; -static const unsigned int TC_AUX_TABLE_10[] = { +static const U32 TC_AUX_TABLE_10[] = { 0xE8, 0x30A }; -static const unsigned int TC_AUX_TABLE_11[] = { +static const U32 TC_AUX_TABLE_11[] = { 0xC1, 0x2BE }; -static const unsigned int TC_AUX_TABLE_12[] = { +static const U32 TC_AUX_TABLE_12[] = { 0x3A5, 0x313 }; -static const unsigned int TC_AUX_TABLE_13[] = { +static const U32 TC_AUX_TABLE_13[] = { 0x3A5, 0x313, 0x300 }; -static const unsigned int TC_AUX_TABLE_14[] = { +static const U32 TC_AUX_TABLE_14[] = { 0x3A5, 0x313, 0x301 }; -static const unsigned int TC_AUX_TABLE_15[] = { +static const U32 TC_AUX_TABLE_15[] = { 0x3A5, 0x313, 0x342 }; -static const unsigned int TC_AUX_TABLE_16[] = { +static const U32 TC_AUX_TABLE_16[] = { 0x1FBA, 0x345 }; -static const unsigned int TC_AUX_TABLE_17[] = { +static const U32 TC_AUX_TABLE_17[] = { 0x386, 0x345 }; -static const unsigned int TC_AUX_TABLE_18[] = { +static const U32 TC_AUX_TABLE_18[] = { 0x391, 0x342 }; -static const unsigned int TC_AUX_TABLE_19[] = { +static const U32 TC_AUX_TABLE_19[] = { 0x391, 0x342, 0x345 }; -static const unsigned int TC_AUX_TABLE_20[] = { +static const U32 TC_AUX_TABLE_20[] = { 0x1FCA, 0x345 }; -static const unsigned int TC_AUX_TABLE_21[] = { +static const U32 TC_AUX_TABLE_21[] = { 0x389, 0x345 }; -static const unsigned int TC_AUX_TABLE_22[] = { +static const U32 TC_AUX_TABLE_22[] = { 0x397, 0x342 }; -static const unsigned int TC_AUX_TABLE_23[] = { +static const U32 TC_AUX_TABLE_23[] = { 0x397, 0x342, 0x345 }; -static const unsigned int TC_AUX_TABLE_24[] = { +static const U32 TC_AUX_TABLE_24[] = { 0x399, 0x308, 0x300 }; -static const unsigned int TC_AUX_TABLE_25[] = { +static const U32 TC_AUX_TABLE_25[] = { 0x399, 0x342 }; -static const unsigned int TC_AUX_TABLE_26[] = { +static const U32 TC_AUX_TABLE_26[] = { 0x399, 0x308, 0x342 }; -static const unsigned int TC_AUX_TABLE_27[] = { +static const U32 TC_AUX_TABLE_27[] = { 0x3A5, 0x308, 0x300 }; -static const unsigned int TC_AUX_TABLE_28[] = { +static const U32 TC_AUX_TABLE_28[] = { 0x3A1, 0x313 }; -static const unsigned int TC_AUX_TABLE_29[] = { +static const U32 TC_AUX_TABLE_29[] = { 0x3A5, 0x342 }; -static const unsigned int TC_AUX_TABLE_30[] = { +static const U32 TC_AUX_TABLE_30[] = { 0x3A5, 0x308, 0x342 }; -static const unsigned int TC_AUX_TABLE_31[] = { +static const U32 TC_AUX_TABLE_31[] = { 0x1FFA, 0x345 }; -static const unsigned int TC_AUX_TABLE_32[] = { +static const U32 TC_AUX_TABLE_32[] = { 0x38F, 0x345 }; -static const unsigned int TC_AUX_TABLE_33[] = { +static const U32 TC_AUX_TABLE_33[] = { 0x3A9, 0x342 }; -static const unsigned int TC_AUX_TABLE_34[] = { +static const U32 TC_AUX_TABLE_34[] = { 0x3A9, 0x342, 0x345 }; -static const unsigned int TC_AUX_TABLE_35[] = { +static const U32 TC_AUX_TABLE_35[] = { 0xC6, 0x86 }; -static const unsigned int TC_AUX_TABLE_36[] = { +static const U32 TC_AUX_TABLE_36[] = { 0xC6, 0x89 }; -static const unsigned int TC_AUX_TABLE_37[] = { +static const U32 TC_AUX_TABLE_37[] = { 0xC6, 0x93 }; -static const unsigned int TC_AUX_TABLE_38[] = { +static const U32 TC_AUX_TABLE_38[] = { 0xC6, 0x86, 0x89 }; -static const unsigned int TC_AUX_TABLE_39[] = { +static const U32 TC_AUX_TABLE_39[] = { 0xC6, 0x86, 0x93 }; -static const unsigned int TC_AUX_TABLE_40[] = { +static const U32 TC_AUX_TABLE_40[] = { 0xE2, 0xA3 }; -static const unsigned int TC_AUX_TABLE_41[] = { +static const U32 TC_AUX_TABLE_41[] = { 0x544, 0x576 }; -static const unsigned int TC_AUX_TABLE_42[] = { +static const U32 TC_AUX_TABLE_42[] = { 0x544, 0x565 }; -static const unsigned int TC_AUX_TABLE_43[] = { +static const U32 TC_AUX_TABLE_43[] = { 0x544, 0x56B }; -static const unsigned int TC_AUX_TABLE_44[] = { +static const U32 TC_AUX_TABLE_44[] = { 0x54E, 0x576 }; -static const unsigned int TC_AUX_TABLE_45[] = { +static const U32 TC_AUX_TABLE_45[] = { 0x544, 0x56D }; -static const unsigned int * const TC_AUX_TABLE_ptrs[] = { +static const U32 * const TC_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ TC_AUX_TABLE_1, TC_AUX_TABLE_2, @@ -108362,7 +109658,7 @@ static const U8 TC_AUX_TABLE_lengths[] = { 2 /* TC_AUX_TABLE_45 */ }; -static const int Titlecase_Mapping_invmap[] = { /* for EBCDIC 1047 */ +static const I32 Titlecase_Mapping_invmap[] = { /* for EBCDIC 1047 */ 0, 0x62, 0, @@ -109682,6 +110978,12 @@ static const int Titlecase_Mapping_invmap[] = { /* for EBCDIC 1047 */ 0, 0xA7C2, 0, + 0xA7C7, + 0, + 0xA7C9, + 0, + 0xA7F5, + 0, 0xA7B3, 0, 0x13A0, @@ -109727,7 +111029,7 @@ static const int Titlecase_Mapping_invmap[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV Titlecase_Mapping_invlist[] = { /* for EBCDIC 037 */ - 1348, /* Number of elements */ + 1354, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -111048,6 +112350,12 @@ static const UV Titlecase_Mapping_invlist[] = { /* for EBCDIC 037 */ 0xA7C0, 0xA7C3, 0xA7C4, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7CB, + 0xA7F6, + 0xA7F7, 0xAB53, 0xAB54, 0xAB70, @@ -111147,246 +112455,246 @@ typedef enum { #define HAS_TC_AUX_TABLES -static const unsigned int TC_AUX_TABLE_1[] = { +static const U32 TC_AUX_TABLE_1[] = { 0xE2, 0xA2 }; -static const unsigned int TC_AUX_TABLE_2[] = { +static const U32 TC_AUX_TABLE_2[] = { 0x2BC, 0xD5 }; -static const unsigned int TC_AUX_TABLE_3[] = { +static const U32 TC_AUX_TABLE_3[] = { 0xD1, 0x30C }; -static const unsigned int TC_AUX_TABLE_4[] = { +static const U32 TC_AUX_TABLE_4[] = { 0x399, 0x308, 0x301 }; -static const unsigned int TC_AUX_TABLE_5[] = { +static const U32 TC_AUX_TABLE_5[] = { 0x3A5, 0x308, 0x301 }; -static const unsigned int TC_AUX_TABLE_6[] = { +static const U32 TC_AUX_TABLE_6[] = { 0x535, 0x582 }; -static const unsigned int TC_AUX_TABLE_7[] = { +static const U32 TC_AUX_TABLE_7[] = { 0xC8, 0x331 }; -static const unsigned int TC_AUX_TABLE_8[] = { +static const U32 TC_AUX_TABLE_8[] = { 0xE3, 0x308 }; -static const unsigned int TC_AUX_TABLE_9[] = { +static const U32 TC_AUX_TABLE_9[] = { 0xE6, 0x30A }; -static const unsigned int TC_AUX_TABLE_10[] = { +static const U32 TC_AUX_TABLE_10[] = { 0xE8, 0x30A }; -static const unsigned int TC_AUX_TABLE_11[] = { +static const U32 TC_AUX_TABLE_11[] = { 0xC1, 0x2BE }; -static const unsigned int TC_AUX_TABLE_12[] = { +static const U32 TC_AUX_TABLE_12[] = { 0x3A5, 0x313 }; -static const unsigned int TC_AUX_TABLE_13[] = { +static const U32 TC_AUX_TABLE_13[] = { 0x3A5, 0x313, 0x300 }; -static const unsigned int TC_AUX_TABLE_14[] = { +static const U32 TC_AUX_TABLE_14[] = { 0x3A5, 0x313, 0x301 }; -static const unsigned int TC_AUX_TABLE_15[] = { +static const U32 TC_AUX_TABLE_15[] = { 0x3A5, 0x313, 0x342 }; -static const unsigned int TC_AUX_TABLE_16[] = { +static const U32 TC_AUX_TABLE_16[] = { 0x1FBA, 0x345 }; -static const unsigned int TC_AUX_TABLE_17[] = { +static const U32 TC_AUX_TABLE_17[] = { 0x386, 0x345 }; -static const unsigned int TC_AUX_TABLE_18[] = { +static const U32 TC_AUX_TABLE_18[] = { 0x391, 0x342 }; -static const unsigned int TC_AUX_TABLE_19[] = { +static const U32 TC_AUX_TABLE_19[] = { 0x391, 0x342, 0x345 }; -static const unsigned int TC_AUX_TABLE_20[] = { +static const U32 TC_AUX_TABLE_20[] = { 0x1FCA, 0x345 }; -static const unsigned int TC_AUX_TABLE_21[] = { +static const U32 TC_AUX_TABLE_21[] = { 0x389, 0x345 }; -static const unsigned int TC_AUX_TABLE_22[] = { +static const U32 TC_AUX_TABLE_22[] = { 0x397, 0x342 }; -static const unsigned int TC_AUX_TABLE_23[] = { +static const U32 TC_AUX_TABLE_23[] = { 0x397, 0x342, 0x345 }; -static const unsigned int TC_AUX_TABLE_24[] = { +static const U32 TC_AUX_TABLE_24[] = { 0x399, 0x308, 0x300 }; -static const unsigned int TC_AUX_TABLE_25[] = { +static const U32 TC_AUX_TABLE_25[] = { 0x399, 0x342 }; -static const unsigned int TC_AUX_TABLE_26[] = { +static const U32 TC_AUX_TABLE_26[] = { 0x399, 0x308, 0x342 }; -static const unsigned int TC_AUX_TABLE_27[] = { +static const U32 TC_AUX_TABLE_27[] = { 0x3A5, 0x308, 0x300 }; -static const unsigned int TC_AUX_TABLE_28[] = { +static const U32 TC_AUX_TABLE_28[] = { 0x3A1, 0x313 }; -static const unsigned int TC_AUX_TABLE_29[] = { +static const U32 TC_AUX_TABLE_29[] = { 0x3A5, 0x342 }; -static const unsigned int TC_AUX_TABLE_30[] = { +static const U32 TC_AUX_TABLE_30[] = { 0x3A5, 0x308, 0x342 }; -static const unsigned int TC_AUX_TABLE_31[] = { +static const U32 TC_AUX_TABLE_31[] = { 0x1FFA, 0x345 }; -static const unsigned int TC_AUX_TABLE_32[] = { +static const U32 TC_AUX_TABLE_32[] = { 0x38F, 0x345 }; -static const unsigned int TC_AUX_TABLE_33[] = { +static const U32 TC_AUX_TABLE_33[] = { 0x3A9, 0x342 }; -static const unsigned int TC_AUX_TABLE_34[] = { +static const U32 TC_AUX_TABLE_34[] = { 0x3A9, 0x342, 0x345 }; -static const unsigned int TC_AUX_TABLE_35[] = { +static const U32 TC_AUX_TABLE_35[] = { 0xC6, 0x86 }; -static const unsigned int TC_AUX_TABLE_36[] = { +static const U32 TC_AUX_TABLE_36[] = { 0xC6, 0x89 }; -static const unsigned int TC_AUX_TABLE_37[] = { +static const U32 TC_AUX_TABLE_37[] = { 0xC6, 0x93 }; -static const unsigned int TC_AUX_TABLE_38[] = { +static const U32 TC_AUX_TABLE_38[] = { 0xC6, 0x86, 0x89 }; -static const unsigned int TC_AUX_TABLE_39[] = { +static const U32 TC_AUX_TABLE_39[] = { 0xC6, 0x86, 0x93 }; -static const unsigned int TC_AUX_TABLE_40[] = { +static const U32 TC_AUX_TABLE_40[] = { 0xE2, 0xA3 }; -static const unsigned int TC_AUX_TABLE_41[] = { +static const U32 TC_AUX_TABLE_41[] = { 0x544, 0x576 }; -static const unsigned int TC_AUX_TABLE_42[] = { +static const U32 TC_AUX_TABLE_42[] = { 0x544, 0x565 }; -static const unsigned int TC_AUX_TABLE_43[] = { +static const U32 TC_AUX_TABLE_43[] = { 0x544, 0x56B }; -static const unsigned int TC_AUX_TABLE_44[] = { +static const U32 TC_AUX_TABLE_44[] = { 0x54E, 0x576 }; -static const unsigned int TC_AUX_TABLE_45[] = { +static const U32 TC_AUX_TABLE_45[] = { 0x544, 0x56D }; -static const unsigned int * const TC_AUX_TABLE_ptrs[] = { +static const U32 * const TC_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ TC_AUX_TABLE_1, TC_AUX_TABLE_2, @@ -111487,7 +112795,7 @@ static const U8 TC_AUX_TABLE_lengths[] = { 2 /* TC_AUX_TABLE_45 */ }; -static const int Titlecase_Mapping_invmap[] = { /* for EBCDIC 037 */ +static const I32 Titlecase_Mapping_invmap[] = { /* for EBCDIC 037 */ 0, 0x62, 0, @@ -112805,6 +114113,12 @@ static const int Titlecase_Mapping_invmap[] = { /* for EBCDIC 037 */ 0, 0xA7C2, 0, + 0xA7C7, + 0, + 0xA7C9, + 0, + 0xA7F5, + 0, 0xA7B3, 0, 0x13A0, @@ -112847,7 +114161,7 @@ static const int Titlecase_Mapping_invmap[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV Uppercase_Mapping_invlist[] = { /* for ASCII/Latin1 */ - 1385, /* Number of elements */ + 1391, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -114205,6 +115519,12 @@ static const UV Uppercase_Mapping_invlist[] = { /* for ASCII/Latin1 */ 0xA7C0, 0xA7C3, 0xA7C4, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7CB, + 0xA7F6, + 0xA7F7, 0xAB53, 0xAB54, 0xAB70, @@ -114328,381 +115648,381 @@ typedef enum { #define HAS_UC_AUX_TABLES -static const unsigned int UC_AUX_TABLE_1[] = { +static const U32 UC_AUX_TABLE_1[] = { 0x53, 0x53 }; -static const unsigned int UC_AUX_TABLE_2[] = { +static const U32 UC_AUX_TABLE_2[] = { 0x2BC, 0x4E }; -static const unsigned int UC_AUX_TABLE_3[] = { +static const U32 UC_AUX_TABLE_3[] = { 0x4A, 0x30C }; -static const unsigned int UC_AUX_TABLE_4[] = { +static const U32 UC_AUX_TABLE_4[] = { 0x399, 0x308, 0x301 }; -static const unsigned int UC_AUX_TABLE_5[] = { +static const U32 UC_AUX_TABLE_5[] = { 0x3A5, 0x308, 0x301 }; -static const unsigned int UC_AUX_TABLE_6[] = { +static const U32 UC_AUX_TABLE_6[] = { 0x535, 0x552 }; -static const unsigned int UC_AUX_TABLE_7[] = { +static const U32 UC_AUX_TABLE_7[] = { 0x48, 0x331 }; -static const unsigned int UC_AUX_TABLE_8[] = { +static const U32 UC_AUX_TABLE_8[] = { 0x54, 0x308 }; -static const unsigned int UC_AUX_TABLE_9[] = { +static const U32 UC_AUX_TABLE_9[] = { 0x57, 0x30A }; -static const unsigned int UC_AUX_TABLE_10[] = { +static const U32 UC_AUX_TABLE_10[] = { 0x59, 0x30A }; -static const unsigned int UC_AUX_TABLE_11[] = { +static const U32 UC_AUX_TABLE_11[] = { 0x41, 0x2BE }; -static const unsigned int UC_AUX_TABLE_12[] = { +static const U32 UC_AUX_TABLE_12[] = { 0x3A5, 0x313 }; -static const unsigned int UC_AUX_TABLE_13[] = { +static const U32 UC_AUX_TABLE_13[] = { 0x3A5, 0x313, 0x300 }; -static const unsigned int UC_AUX_TABLE_14[] = { +static const U32 UC_AUX_TABLE_14[] = { 0x3A5, 0x313, 0x301 }; -static const unsigned int UC_AUX_TABLE_15[] = { +static const U32 UC_AUX_TABLE_15[] = { 0x3A5, 0x313, 0x342 }; -static const unsigned int UC_AUX_TABLE_16[] = { +static const U32 UC_AUX_TABLE_16[] = { 0x1F08, 0x399 }; -static const unsigned int UC_AUX_TABLE_17[] = { +static const U32 UC_AUX_TABLE_17[] = { 0x1F09, 0x399 }; -static const unsigned int UC_AUX_TABLE_18[] = { +static const U32 UC_AUX_TABLE_18[] = { 0x1F0A, 0x399 }; -static const unsigned int UC_AUX_TABLE_19[] = { +static const U32 UC_AUX_TABLE_19[] = { 0x1F0B, 0x399 }; -static const unsigned int UC_AUX_TABLE_20[] = { +static const U32 UC_AUX_TABLE_20[] = { 0x1F0C, 0x399 }; -static const unsigned int UC_AUX_TABLE_21[] = { +static const U32 UC_AUX_TABLE_21[] = { 0x1F0D, 0x399 }; -static const unsigned int UC_AUX_TABLE_22[] = { +static const U32 UC_AUX_TABLE_22[] = { 0x1F0E, 0x399 }; -static const unsigned int UC_AUX_TABLE_23[] = { +static const U32 UC_AUX_TABLE_23[] = { 0x1F0F, 0x399 }; -static const unsigned int UC_AUX_TABLE_24[] = { +static const U32 UC_AUX_TABLE_24[] = { 0x1F28, 0x399 }; -static const unsigned int UC_AUX_TABLE_25[] = { +static const U32 UC_AUX_TABLE_25[] = { 0x1F29, 0x399 }; -static const unsigned int UC_AUX_TABLE_26[] = { +static const U32 UC_AUX_TABLE_26[] = { 0x1F2A, 0x399 }; -static const unsigned int UC_AUX_TABLE_27[] = { +static const U32 UC_AUX_TABLE_27[] = { 0x1F2B, 0x399 }; -static const unsigned int UC_AUX_TABLE_28[] = { +static const U32 UC_AUX_TABLE_28[] = { 0x1F2C, 0x399 }; -static const unsigned int UC_AUX_TABLE_29[] = { +static const U32 UC_AUX_TABLE_29[] = { 0x1F2D, 0x399 }; -static const unsigned int UC_AUX_TABLE_30[] = { +static const U32 UC_AUX_TABLE_30[] = { 0x1F2E, 0x399 }; -static const unsigned int UC_AUX_TABLE_31[] = { +static const U32 UC_AUX_TABLE_31[] = { 0x1F2F, 0x399 }; -static const unsigned int UC_AUX_TABLE_32[] = { +static const U32 UC_AUX_TABLE_32[] = { 0x1F68, 0x399 }; -static const unsigned int UC_AUX_TABLE_33[] = { +static const U32 UC_AUX_TABLE_33[] = { 0x1F69, 0x399 }; -static const unsigned int UC_AUX_TABLE_34[] = { +static const U32 UC_AUX_TABLE_34[] = { 0x1F6A, 0x399 }; -static const unsigned int UC_AUX_TABLE_35[] = { +static const U32 UC_AUX_TABLE_35[] = { 0x1F6B, 0x399 }; -static const unsigned int UC_AUX_TABLE_36[] = { +static const U32 UC_AUX_TABLE_36[] = { 0x1F6C, 0x399 }; -static const unsigned int UC_AUX_TABLE_37[] = { +static const U32 UC_AUX_TABLE_37[] = { 0x1F6D, 0x399 }; -static const unsigned int UC_AUX_TABLE_38[] = { +static const U32 UC_AUX_TABLE_38[] = { 0x1F6E, 0x399 }; -static const unsigned int UC_AUX_TABLE_39[] = { +static const U32 UC_AUX_TABLE_39[] = { 0x1F6F, 0x399 }; -static const unsigned int UC_AUX_TABLE_40[] = { +static const U32 UC_AUX_TABLE_40[] = { 0x1FBA, 0x399 }; -static const unsigned int UC_AUX_TABLE_41[] = { +static const U32 UC_AUX_TABLE_41[] = { 0x391, 0x399 }; -static const unsigned int UC_AUX_TABLE_42[] = { +static const U32 UC_AUX_TABLE_42[] = { 0x386, 0x399 }; -static const unsigned int UC_AUX_TABLE_43[] = { +static const U32 UC_AUX_TABLE_43[] = { 0x391, 0x342 }; -static const unsigned int UC_AUX_TABLE_44[] = { +static const U32 UC_AUX_TABLE_44[] = { 0x391, 0x342, 0x399 }; -static const unsigned int UC_AUX_TABLE_45[] = { +static const U32 UC_AUX_TABLE_45[] = { 0x1FCA, 0x399 }; -static const unsigned int UC_AUX_TABLE_46[] = { +static const U32 UC_AUX_TABLE_46[] = { 0x397, 0x399 }; -static const unsigned int UC_AUX_TABLE_47[] = { +static const U32 UC_AUX_TABLE_47[] = { 0x389, 0x399 }; -static const unsigned int UC_AUX_TABLE_48[] = { +static const U32 UC_AUX_TABLE_48[] = { 0x397, 0x342 }; -static const unsigned int UC_AUX_TABLE_49[] = { +static const U32 UC_AUX_TABLE_49[] = { 0x397, 0x342, 0x399 }; -static const unsigned int UC_AUX_TABLE_50[] = { +static const U32 UC_AUX_TABLE_50[] = { 0x399, 0x308, 0x300 }; -static const unsigned int UC_AUX_TABLE_51[] = { +static const U32 UC_AUX_TABLE_51[] = { 0x399, 0x342 }; -static const unsigned int UC_AUX_TABLE_52[] = { +static const U32 UC_AUX_TABLE_52[] = { 0x399, 0x308, 0x342 }; -static const unsigned int UC_AUX_TABLE_53[] = { +static const U32 UC_AUX_TABLE_53[] = { 0x3A5, 0x308, 0x300 }; -static const unsigned int UC_AUX_TABLE_54[] = { +static const U32 UC_AUX_TABLE_54[] = { 0x3A1, 0x313 }; -static const unsigned int UC_AUX_TABLE_55[] = { +static const U32 UC_AUX_TABLE_55[] = { 0x3A5, 0x342 }; -static const unsigned int UC_AUX_TABLE_56[] = { +static const U32 UC_AUX_TABLE_56[] = { 0x3A5, 0x308, 0x342 }; -static const unsigned int UC_AUX_TABLE_57[] = { +static const U32 UC_AUX_TABLE_57[] = { 0x1FFA, 0x399 }; -static const unsigned int UC_AUX_TABLE_58[] = { +static const U32 UC_AUX_TABLE_58[] = { 0x3A9, 0x399 }; -static const unsigned int UC_AUX_TABLE_59[] = { +static const U32 UC_AUX_TABLE_59[] = { 0x38F, 0x399 }; -static const unsigned int UC_AUX_TABLE_60[] = { +static const U32 UC_AUX_TABLE_60[] = { 0x3A9, 0x342 }; -static const unsigned int UC_AUX_TABLE_61[] = { +static const U32 UC_AUX_TABLE_61[] = { 0x3A9, 0x342, 0x399 }; -static const unsigned int UC_AUX_TABLE_62[] = { +static const U32 UC_AUX_TABLE_62[] = { 0x46, 0x46 }; -static const unsigned int UC_AUX_TABLE_63[] = { +static const U32 UC_AUX_TABLE_63[] = { 0x46, 0x49 }; -static const unsigned int UC_AUX_TABLE_64[] = { +static const U32 UC_AUX_TABLE_64[] = { 0x46, 0x4C }; -static const unsigned int UC_AUX_TABLE_65[] = { +static const U32 UC_AUX_TABLE_65[] = { 0x46, 0x46, 0x49 }; -static const unsigned int UC_AUX_TABLE_66[] = { +static const U32 UC_AUX_TABLE_66[] = { 0x46, 0x46, 0x4C }; -static const unsigned int UC_AUX_TABLE_67[] = { +static const U32 UC_AUX_TABLE_67[] = { 0x53, 0x54 }; -static const unsigned int UC_AUX_TABLE_68[] = { +static const U32 UC_AUX_TABLE_68[] = { 0x544, 0x546 }; -static const unsigned int UC_AUX_TABLE_69[] = { +static const U32 UC_AUX_TABLE_69[] = { 0x544, 0x535 }; -static const unsigned int UC_AUX_TABLE_70[] = { +static const U32 UC_AUX_TABLE_70[] = { 0x544, 0x53B }; -static const unsigned int UC_AUX_TABLE_71[] = { +static const U32 UC_AUX_TABLE_71[] = { 0x54E, 0x546 }; -static const unsigned int UC_AUX_TABLE_72[] = { +static const U32 UC_AUX_TABLE_72[] = { 0x544, 0x53D }; -static const unsigned int * const UC_AUX_TABLE_ptrs[] = { +static const U32 * const UC_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ UC_AUX_TABLE_1, UC_AUX_TABLE_2, @@ -114857,7 +116177,7 @@ static const U8 UC_AUX_TABLE_lengths[] = { 2 /* UC_AUX_TABLE_72 */ }; -static const int Uppercase_Mapping_invmap[] = { /* for ASCII/Latin1 */ +static const I32 Uppercase_Mapping_invmap[] = { /* for ASCII/Latin1 */ 0, 0x41, 0, @@ -116212,6 +117532,12 @@ static const int Uppercase_Mapping_invmap[] = { /* for ASCII/Latin1 */ 0, 0xA7C2, 0, + 0xA7C7, + 0, + 0xA7C9, + 0, + 0xA7F5, + 0, 0xA7B3, 0, 0x13A0, @@ -116257,7 +117583,7 @@ static const int Uppercase_Mapping_invmap[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV Uppercase_Mapping_invlist[] = { /* for EBCDIC 1047 */ - 1401, /* Number of elements */ + 1407, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -117631,6 +118957,12 @@ static const UV Uppercase_Mapping_invlist[] = { /* for EBCDIC 1047 */ 0xA7C0, 0xA7C3, 0xA7C4, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7CB, + 0xA7F6, + 0xA7F7, 0xAB53, 0xAB54, 0xAB70, @@ -117757,381 +119089,381 @@ typedef enum { #define HAS_UC_AUX_TABLES -static const unsigned int UC_AUX_TABLE_1[] = { +static const U32 UC_AUX_TABLE_1[] = { 0xE2, 0xE2 }; -static const unsigned int UC_AUX_TABLE_2[] = { +static const U32 UC_AUX_TABLE_2[] = { 0x2BC, 0xD5 }; -static const unsigned int UC_AUX_TABLE_3[] = { +static const U32 UC_AUX_TABLE_3[] = { 0xD1, 0x30C }; -static const unsigned int UC_AUX_TABLE_4[] = { +static const U32 UC_AUX_TABLE_4[] = { 0x399, 0x308, 0x301 }; -static const unsigned int UC_AUX_TABLE_5[] = { +static const U32 UC_AUX_TABLE_5[] = { 0x3A5, 0x308, 0x301 }; -static const unsigned int UC_AUX_TABLE_6[] = { +static const U32 UC_AUX_TABLE_6[] = { 0x535, 0x552 }; -static const unsigned int UC_AUX_TABLE_7[] = { +static const U32 UC_AUX_TABLE_7[] = { 0xC8, 0x331 }; -static const unsigned int UC_AUX_TABLE_8[] = { +static const U32 UC_AUX_TABLE_8[] = { 0xE3, 0x308 }; -static const unsigned int UC_AUX_TABLE_9[] = { +static const U32 UC_AUX_TABLE_9[] = { 0xE6, 0x30A }; -static const unsigned int UC_AUX_TABLE_10[] = { +static const U32 UC_AUX_TABLE_10[] = { 0xE8, 0x30A }; -static const unsigned int UC_AUX_TABLE_11[] = { +static const U32 UC_AUX_TABLE_11[] = { 0xC1, 0x2BE }; -static const unsigned int UC_AUX_TABLE_12[] = { +static const U32 UC_AUX_TABLE_12[] = { 0x3A5, 0x313 }; -static const unsigned int UC_AUX_TABLE_13[] = { +static const U32 UC_AUX_TABLE_13[] = { 0x3A5, 0x313, 0x300 }; -static const unsigned int UC_AUX_TABLE_14[] = { +static const U32 UC_AUX_TABLE_14[] = { 0x3A5, 0x313, 0x301 }; -static const unsigned int UC_AUX_TABLE_15[] = { +static const U32 UC_AUX_TABLE_15[] = { 0x3A5, 0x313, 0x342 }; -static const unsigned int UC_AUX_TABLE_16[] = { +static const U32 UC_AUX_TABLE_16[] = { 0x1F08, 0x399 }; -static const unsigned int UC_AUX_TABLE_17[] = { +static const U32 UC_AUX_TABLE_17[] = { 0x1F09, 0x399 }; -static const unsigned int UC_AUX_TABLE_18[] = { +static const U32 UC_AUX_TABLE_18[] = { 0x1F0A, 0x399 }; -static const unsigned int UC_AUX_TABLE_19[] = { +static const U32 UC_AUX_TABLE_19[] = { 0x1F0B, 0x399 }; -static const unsigned int UC_AUX_TABLE_20[] = { +static const U32 UC_AUX_TABLE_20[] = { 0x1F0C, 0x399 }; -static const unsigned int UC_AUX_TABLE_21[] = { +static const U32 UC_AUX_TABLE_21[] = { 0x1F0D, 0x399 }; -static const unsigned int UC_AUX_TABLE_22[] = { +static const U32 UC_AUX_TABLE_22[] = { 0x1F0E, 0x399 }; -static const unsigned int UC_AUX_TABLE_23[] = { +static const U32 UC_AUX_TABLE_23[] = { 0x1F0F, 0x399 }; -static const unsigned int UC_AUX_TABLE_24[] = { +static const U32 UC_AUX_TABLE_24[] = { 0x1F28, 0x399 }; -static const unsigned int UC_AUX_TABLE_25[] = { +static const U32 UC_AUX_TABLE_25[] = { 0x1F29, 0x399 }; -static const unsigned int UC_AUX_TABLE_26[] = { +static const U32 UC_AUX_TABLE_26[] = { 0x1F2A, 0x399 }; -static const unsigned int UC_AUX_TABLE_27[] = { +static const U32 UC_AUX_TABLE_27[] = { 0x1F2B, 0x399 }; -static const unsigned int UC_AUX_TABLE_28[] = { +static const U32 UC_AUX_TABLE_28[] = { 0x1F2C, 0x399 }; -static const unsigned int UC_AUX_TABLE_29[] = { +static const U32 UC_AUX_TABLE_29[] = { 0x1F2D, 0x399 }; -static const unsigned int UC_AUX_TABLE_30[] = { +static const U32 UC_AUX_TABLE_30[] = { 0x1F2E, 0x399 }; -static const unsigned int UC_AUX_TABLE_31[] = { +static const U32 UC_AUX_TABLE_31[] = { 0x1F2F, 0x399 }; -static const unsigned int UC_AUX_TABLE_32[] = { +static const U32 UC_AUX_TABLE_32[] = { 0x1F68, 0x399 }; -static const unsigned int UC_AUX_TABLE_33[] = { +static const U32 UC_AUX_TABLE_33[] = { 0x1F69, 0x399 }; -static const unsigned int UC_AUX_TABLE_34[] = { +static const U32 UC_AUX_TABLE_34[] = { 0x1F6A, 0x399 }; -static const unsigned int UC_AUX_TABLE_35[] = { +static const U32 UC_AUX_TABLE_35[] = { 0x1F6B, 0x399 }; -static const unsigned int UC_AUX_TABLE_36[] = { +static const U32 UC_AUX_TABLE_36[] = { 0x1F6C, 0x399 }; -static const unsigned int UC_AUX_TABLE_37[] = { +static const U32 UC_AUX_TABLE_37[] = { 0x1F6D, 0x399 }; -static const unsigned int UC_AUX_TABLE_38[] = { +static const U32 UC_AUX_TABLE_38[] = { 0x1F6E, 0x399 }; -static const unsigned int UC_AUX_TABLE_39[] = { +static const U32 UC_AUX_TABLE_39[] = { 0x1F6F, 0x399 }; -static const unsigned int UC_AUX_TABLE_40[] = { +static const U32 UC_AUX_TABLE_40[] = { 0x1FBA, 0x399 }; -static const unsigned int UC_AUX_TABLE_41[] = { +static const U32 UC_AUX_TABLE_41[] = { 0x391, 0x399 }; -static const unsigned int UC_AUX_TABLE_42[] = { +static const U32 UC_AUX_TABLE_42[] = { 0x386, 0x399 }; -static const unsigned int UC_AUX_TABLE_43[] = { +static const U32 UC_AUX_TABLE_43[] = { 0x391, 0x342 }; -static const unsigned int UC_AUX_TABLE_44[] = { +static const U32 UC_AUX_TABLE_44[] = { 0x391, 0x342, 0x399 }; -static const unsigned int UC_AUX_TABLE_45[] = { +static const U32 UC_AUX_TABLE_45[] = { 0x1FCA, 0x399 }; -static const unsigned int UC_AUX_TABLE_46[] = { +static const U32 UC_AUX_TABLE_46[] = { 0x397, 0x399 }; -static const unsigned int UC_AUX_TABLE_47[] = { +static const U32 UC_AUX_TABLE_47[] = { 0x389, 0x399 }; -static const unsigned int UC_AUX_TABLE_48[] = { +static const U32 UC_AUX_TABLE_48[] = { 0x397, 0x342 }; -static const unsigned int UC_AUX_TABLE_49[] = { +static const U32 UC_AUX_TABLE_49[] = { 0x397, 0x342, 0x399 }; -static const unsigned int UC_AUX_TABLE_50[] = { +static const U32 UC_AUX_TABLE_50[] = { 0x399, 0x308, 0x300 }; -static const unsigned int UC_AUX_TABLE_51[] = { +static const U32 UC_AUX_TABLE_51[] = { 0x399, 0x342 }; -static const unsigned int UC_AUX_TABLE_52[] = { +static const U32 UC_AUX_TABLE_52[] = { 0x399, 0x308, 0x342 }; -static const unsigned int UC_AUX_TABLE_53[] = { +static const U32 UC_AUX_TABLE_53[] = { 0x3A5, 0x308, 0x300 }; -static const unsigned int UC_AUX_TABLE_54[] = { +static const U32 UC_AUX_TABLE_54[] = { 0x3A1, 0x313 }; -static const unsigned int UC_AUX_TABLE_55[] = { +static const U32 UC_AUX_TABLE_55[] = { 0x3A5, 0x342 }; -static const unsigned int UC_AUX_TABLE_56[] = { +static const U32 UC_AUX_TABLE_56[] = { 0x3A5, 0x308, 0x342 }; -static const unsigned int UC_AUX_TABLE_57[] = { +static const U32 UC_AUX_TABLE_57[] = { 0x1FFA, 0x399 }; -static const unsigned int UC_AUX_TABLE_58[] = { +static const U32 UC_AUX_TABLE_58[] = { 0x3A9, 0x399 }; -static const unsigned int UC_AUX_TABLE_59[] = { +static const U32 UC_AUX_TABLE_59[] = { 0x38F, 0x399 }; -static const unsigned int UC_AUX_TABLE_60[] = { +static const U32 UC_AUX_TABLE_60[] = { 0x3A9, 0x342 }; -static const unsigned int UC_AUX_TABLE_61[] = { +static const U32 UC_AUX_TABLE_61[] = { 0x3A9, 0x342, 0x399 }; -static const unsigned int UC_AUX_TABLE_62[] = { +static const U32 UC_AUX_TABLE_62[] = { 0xC6, 0xC6 }; -static const unsigned int UC_AUX_TABLE_63[] = { +static const U32 UC_AUX_TABLE_63[] = { 0xC6, 0xC9 }; -static const unsigned int UC_AUX_TABLE_64[] = { +static const U32 UC_AUX_TABLE_64[] = { 0xC6, 0xD3 }; -static const unsigned int UC_AUX_TABLE_65[] = { +static const U32 UC_AUX_TABLE_65[] = { 0xC6, 0xC6, 0xC9 }; -static const unsigned int UC_AUX_TABLE_66[] = { +static const U32 UC_AUX_TABLE_66[] = { 0xC6, 0xC6, 0xD3 }; -static const unsigned int UC_AUX_TABLE_67[] = { +static const U32 UC_AUX_TABLE_67[] = { 0xE2, 0xE3 }; -static const unsigned int UC_AUX_TABLE_68[] = { +static const U32 UC_AUX_TABLE_68[] = { 0x544, 0x546 }; -static const unsigned int UC_AUX_TABLE_69[] = { +static const U32 UC_AUX_TABLE_69[] = { 0x544, 0x535 }; -static const unsigned int UC_AUX_TABLE_70[] = { +static const U32 UC_AUX_TABLE_70[] = { 0x544, 0x53B }; -static const unsigned int UC_AUX_TABLE_71[] = { +static const U32 UC_AUX_TABLE_71[] = { 0x54E, 0x546 }; -static const unsigned int UC_AUX_TABLE_72[] = { +static const U32 UC_AUX_TABLE_72[] = { 0x544, 0x53D }; -static const unsigned int * const UC_AUX_TABLE_ptrs[] = { +static const U32 * const UC_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ UC_AUX_TABLE_1, UC_AUX_TABLE_2, @@ -118286,7 +119618,7 @@ static const U8 UC_AUX_TABLE_lengths[] = { 2 /* UC_AUX_TABLE_72 */ }; -static const int Uppercase_Mapping_invmap[] = { /* for EBCDIC 1047 */ +static const I32 Uppercase_Mapping_invmap[] = { /* for EBCDIC 1047 */ 0, 0x62, 0, @@ -119657,6 +120989,12 @@ static const int Uppercase_Mapping_invmap[] = { /* for EBCDIC 1047 */ 0, 0xA7C2, 0, + 0xA7C7, + 0, + 0xA7C9, + 0, + 0xA7F5, + 0, 0xA7B3, 0, 0x13A0, @@ -119702,7 +121040,7 @@ static const int Uppercase_Mapping_invmap[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV Uppercase_Mapping_invlist[] = { /* for EBCDIC 037 */ - 1399, /* Number of elements */ + 1405, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -121074,6 +122412,12 @@ static const UV Uppercase_Mapping_invlist[] = { /* for EBCDIC 037 */ 0xA7C0, 0xA7C3, 0xA7C4, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7CB, + 0xA7F6, + 0xA7F7, 0xAB53, 0xAB54, 0xAB70, @@ -121200,381 +122544,381 @@ typedef enum { #define HAS_UC_AUX_TABLES -static const unsigned int UC_AUX_TABLE_1[] = { +static const U32 UC_AUX_TABLE_1[] = { 0xE2, 0xE2 }; -static const unsigned int UC_AUX_TABLE_2[] = { +static const U32 UC_AUX_TABLE_2[] = { 0x2BC, 0xD5 }; -static const unsigned int UC_AUX_TABLE_3[] = { +static const U32 UC_AUX_TABLE_3[] = { 0xD1, 0x30C }; -static const unsigned int UC_AUX_TABLE_4[] = { +static const U32 UC_AUX_TABLE_4[] = { 0x399, 0x308, 0x301 }; -static const unsigned int UC_AUX_TABLE_5[] = { +static const U32 UC_AUX_TABLE_5[] = { 0x3A5, 0x308, 0x301 }; -static const unsigned int UC_AUX_TABLE_6[] = { +static const U32 UC_AUX_TABLE_6[] = { 0x535, 0x552 }; -static const unsigned int UC_AUX_TABLE_7[] = { +static const U32 UC_AUX_TABLE_7[] = { 0xC8, 0x331 }; -static const unsigned int UC_AUX_TABLE_8[] = { +static const U32 UC_AUX_TABLE_8[] = { 0xE3, 0x308 }; -static const unsigned int UC_AUX_TABLE_9[] = { +static const U32 UC_AUX_TABLE_9[] = { 0xE6, 0x30A }; -static const unsigned int UC_AUX_TABLE_10[] = { +static const U32 UC_AUX_TABLE_10[] = { 0xE8, 0x30A }; -static const unsigned int UC_AUX_TABLE_11[] = { +static const U32 UC_AUX_TABLE_11[] = { 0xC1, 0x2BE }; -static const unsigned int UC_AUX_TABLE_12[] = { +static const U32 UC_AUX_TABLE_12[] = { 0x3A5, 0x313 }; -static const unsigned int UC_AUX_TABLE_13[] = { +static const U32 UC_AUX_TABLE_13[] = { 0x3A5, 0x313, 0x300 }; -static const unsigned int UC_AUX_TABLE_14[] = { +static const U32 UC_AUX_TABLE_14[] = { 0x3A5, 0x313, 0x301 }; -static const unsigned int UC_AUX_TABLE_15[] = { +static const U32 UC_AUX_TABLE_15[] = { 0x3A5, 0x313, 0x342 }; -static const unsigned int UC_AUX_TABLE_16[] = { +static const U32 UC_AUX_TABLE_16[] = { 0x1F08, 0x399 }; -static const unsigned int UC_AUX_TABLE_17[] = { +static const U32 UC_AUX_TABLE_17[] = { 0x1F09, 0x399 }; -static const unsigned int UC_AUX_TABLE_18[] = { +static const U32 UC_AUX_TABLE_18[] = { 0x1F0A, 0x399 }; -static const unsigned int UC_AUX_TABLE_19[] = { +static const U32 UC_AUX_TABLE_19[] = { 0x1F0B, 0x399 }; -static const unsigned int UC_AUX_TABLE_20[] = { +static const U32 UC_AUX_TABLE_20[] = { 0x1F0C, 0x399 }; -static const unsigned int UC_AUX_TABLE_21[] = { +static const U32 UC_AUX_TABLE_21[] = { 0x1F0D, 0x399 }; -static const unsigned int UC_AUX_TABLE_22[] = { +static const U32 UC_AUX_TABLE_22[] = { 0x1F0E, 0x399 }; -static const unsigned int UC_AUX_TABLE_23[] = { +static const U32 UC_AUX_TABLE_23[] = { 0x1F0F, 0x399 }; -static const unsigned int UC_AUX_TABLE_24[] = { +static const U32 UC_AUX_TABLE_24[] = { 0x1F28, 0x399 }; -static const unsigned int UC_AUX_TABLE_25[] = { +static const U32 UC_AUX_TABLE_25[] = { 0x1F29, 0x399 }; -static const unsigned int UC_AUX_TABLE_26[] = { +static const U32 UC_AUX_TABLE_26[] = { 0x1F2A, 0x399 }; -static const unsigned int UC_AUX_TABLE_27[] = { +static const U32 UC_AUX_TABLE_27[] = { 0x1F2B, 0x399 }; -static const unsigned int UC_AUX_TABLE_28[] = { +static const U32 UC_AUX_TABLE_28[] = { 0x1F2C, 0x399 }; -static const unsigned int UC_AUX_TABLE_29[] = { +static const U32 UC_AUX_TABLE_29[] = { 0x1F2D, 0x399 }; -static const unsigned int UC_AUX_TABLE_30[] = { +static const U32 UC_AUX_TABLE_30[] = { 0x1F2E, 0x399 }; -static const unsigned int UC_AUX_TABLE_31[] = { +static const U32 UC_AUX_TABLE_31[] = { 0x1F2F, 0x399 }; -static const unsigned int UC_AUX_TABLE_32[] = { +static const U32 UC_AUX_TABLE_32[] = { 0x1F68, 0x399 }; -static const unsigned int UC_AUX_TABLE_33[] = { +static const U32 UC_AUX_TABLE_33[] = { 0x1F69, 0x399 }; -static const unsigned int UC_AUX_TABLE_34[] = { +static const U32 UC_AUX_TABLE_34[] = { 0x1F6A, 0x399 }; -static const unsigned int UC_AUX_TABLE_35[] = { +static const U32 UC_AUX_TABLE_35[] = { 0x1F6B, 0x399 }; -static const unsigned int UC_AUX_TABLE_36[] = { +static const U32 UC_AUX_TABLE_36[] = { 0x1F6C, 0x399 }; -static const unsigned int UC_AUX_TABLE_37[] = { +static const U32 UC_AUX_TABLE_37[] = { 0x1F6D, 0x399 }; -static const unsigned int UC_AUX_TABLE_38[] = { +static const U32 UC_AUX_TABLE_38[] = { 0x1F6E, 0x399 }; -static const unsigned int UC_AUX_TABLE_39[] = { +static const U32 UC_AUX_TABLE_39[] = { 0x1F6F, 0x399 }; -static const unsigned int UC_AUX_TABLE_40[] = { +static const U32 UC_AUX_TABLE_40[] = { 0x1FBA, 0x399 }; -static const unsigned int UC_AUX_TABLE_41[] = { +static const U32 UC_AUX_TABLE_41[] = { 0x391, 0x399 }; -static const unsigned int UC_AUX_TABLE_42[] = { +static const U32 UC_AUX_TABLE_42[] = { 0x386, 0x399 }; -static const unsigned int UC_AUX_TABLE_43[] = { +static const U32 UC_AUX_TABLE_43[] = { 0x391, 0x342 }; -static const unsigned int UC_AUX_TABLE_44[] = { +static const U32 UC_AUX_TABLE_44[] = { 0x391, 0x342, 0x399 }; -static const unsigned int UC_AUX_TABLE_45[] = { +static const U32 UC_AUX_TABLE_45[] = { 0x1FCA, 0x399 }; -static const unsigned int UC_AUX_TABLE_46[] = { +static const U32 UC_AUX_TABLE_46[] = { 0x397, 0x399 }; -static const unsigned int UC_AUX_TABLE_47[] = { +static const U32 UC_AUX_TABLE_47[] = { 0x389, 0x399 }; -static const unsigned int UC_AUX_TABLE_48[] = { +static const U32 UC_AUX_TABLE_48[] = { 0x397, 0x342 }; -static const unsigned int UC_AUX_TABLE_49[] = { +static const U32 UC_AUX_TABLE_49[] = { 0x397, 0x342, 0x399 }; -static const unsigned int UC_AUX_TABLE_50[] = { +static const U32 UC_AUX_TABLE_50[] = { 0x399, 0x308, 0x300 }; -static const unsigned int UC_AUX_TABLE_51[] = { +static const U32 UC_AUX_TABLE_51[] = { 0x399, 0x342 }; -static const unsigned int UC_AUX_TABLE_52[] = { +static const U32 UC_AUX_TABLE_52[] = { 0x399, 0x308, 0x342 }; -static const unsigned int UC_AUX_TABLE_53[] = { +static const U32 UC_AUX_TABLE_53[] = { 0x3A5, 0x308, 0x300 }; -static const unsigned int UC_AUX_TABLE_54[] = { +static const U32 UC_AUX_TABLE_54[] = { 0x3A1, 0x313 }; -static const unsigned int UC_AUX_TABLE_55[] = { +static const U32 UC_AUX_TABLE_55[] = { 0x3A5, 0x342 }; -static const unsigned int UC_AUX_TABLE_56[] = { +static const U32 UC_AUX_TABLE_56[] = { 0x3A5, 0x308, 0x342 }; -static const unsigned int UC_AUX_TABLE_57[] = { +static const U32 UC_AUX_TABLE_57[] = { 0x1FFA, 0x399 }; -static const unsigned int UC_AUX_TABLE_58[] = { +static const U32 UC_AUX_TABLE_58[] = { 0x3A9, 0x399 }; -static const unsigned int UC_AUX_TABLE_59[] = { +static const U32 UC_AUX_TABLE_59[] = { 0x38F, 0x399 }; -static const unsigned int UC_AUX_TABLE_60[] = { +static const U32 UC_AUX_TABLE_60[] = { 0x3A9, 0x342 }; -static const unsigned int UC_AUX_TABLE_61[] = { +static const U32 UC_AUX_TABLE_61[] = { 0x3A9, 0x342, 0x399 }; -static const unsigned int UC_AUX_TABLE_62[] = { +static const U32 UC_AUX_TABLE_62[] = { 0xC6, 0xC6 }; -static const unsigned int UC_AUX_TABLE_63[] = { +static const U32 UC_AUX_TABLE_63[] = { 0xC6, 0xC9 }; -static const unsigned int UC_AUX_TABLE_64[] = { +static const U32 UC_AUX_TABLE_64[] = { 0xC6, 0xD3 }; -static const unsigned int UC_AUX_TABLE_65[] = { +static const U32 UC_AUX_TABLE_65[] = { 0xC6, 0xC6, 0xC9 }; -static const unsigned int UC_AUX_TABLE_66[] = { +static const U32 UC_AUX_TABLE_66[] = { 0xC6, 0xC6, 0xD3 }; -static const unsigned int UC_AUX_TABLE_67[] = { +static const U32 UC_AUX_TABLE_67[] = { 0xE2, 0xE3 }; -static const unsigned int UC_AUX_TABLE_68[] = { +static const U32 UC_AUX_TABLE_68[] = { 0x544, 0x546 }; -static const unsigned int UC_AUX_TABLE_69[] = { +static const U32 UC_AUX_TABLE_69[] = { 0x544, 0x535 }; -static const unsigned int UC_AUX_TABLE_70[] = { +static const U32 UC_AUX_TABLE_70[] = { 0x544, 0x53B }; -static const unsigned int UC_AUX_TABLE_71[] = { +static const U32 UC_AUX_TABLE_71[] = { 0x54E, 0x546 }; -static const unsigned int UC_AUX_TABLE_72[] = { +static const U32 UC_AUX_TABLE_72[] = { 0x544, 0x53D }; -static const unsigned int * const UC_AUX_TABLE_ptrs[] = { +static const U32 * const UC_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ UC_AUX_TABLE_1, UC_AUX_TABLE_2, @@ -121729,7 +123073,7 @@ static const U8 UC_AUX_TABLE_lengths[] = { 2 /* UC_AUX_TABLE_72 */ }; -static const int Uppercase_Mapping_invmap[] = { /* for EBCDIC 037 */ +static const I32 Uppercase_Mapping_invmap[] = { /* for EBCDIC 037 */ 0, 0x62, 0, @@ -123098,6 +124442,12 @@ static const int Uppercase_Mapping_invmap[] = { /* for EBCDIC 037 */ 0, 0xA7C2, 0, + 0xA7C7, + 0, + 0xA7C9, + 0, + 0xA7F5, + 0, 0xA7B3, 0, 0x13A0, @@ -123443,7 +124793,7 @@ static const UV UNI_ASCII_invlist[] = { /* for EBCDIC 037 */ # endif /* EBCDIC 037 */ static const UV UNI_ASSIGNED_invlist[] = { /* for all charsets */ - 1332, /* Number of elements */ + 1354, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -123494,7 +124844,7 @@ static const UV UNI_ASSIGNED_invlist[] = { /* for all charsets */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x984, 0x985, @@ -123603,7 +124953,7 @@ static const UV UNI_ASSIGNED_invlist[] = { /* for all charsets */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -123692,8 +125042,6 @@ static const UV UNI_ASSIGNED_invlist[] = { /* for all charsets */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -123707,7 +125055,7 @@ static const UV UNI_ASSIGNED_invlist[] = { /* for all charsets */ 0xD64, 0xD66, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -123880,7 +125228,7 @@ static const UV UNI_ASSIGNED_invlist[] = { /* for all charsets */ 0x1AA0, 0x1AAE, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -123955,7 +125303,7 @@ static const UV UNI_ASSIGNED_invlist[] = { /* for all charsets */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, @@ -123990,7 +125338,7 @@ static const UV UNI_ASSIGNED_invlist[] = { /* for all charsets */ 0x2DD8, 0x2DDF, 0x2DE0, - 0x2E50, + 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, @@ -124010,15 +125358,11 @@ static const UV UNI_ASSIGNED_invlist[] = { /* for all charsets */ 0x3131, 0x318F, 0x3190, - 0x31BB, - 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, - 0x4DB6, - 0x4DC0, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA490, @@ -124030,9 +125374,9 @@ static const UV UNI_ASSIGNED_invlist[] = { /* for all charsets */ 0xA700, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, - 0xA82C, + 0xA7CB, + 0xA7F5, + 0xA82D, 0xA830, 0xA83A, 0xA840, @@ -124072,7 +125416,7 @@ static const UV UNI_ASSIGNED_invlist[] = { /* for all charsets */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6C, 0xAB70, 0xABEE, 0xABF0, @@ -124162,7 +125506,7 @@ static const UV UNI_ASSIGNED_invlist[] = { /* for all charsets */ 0x10137, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -124281,10 +125625,18 @@ static const UV UNI_ASSIGNED_invlist[] = { /* for all charsets */ 0x10D3A, 0x10E60, 0x10E7F, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAE, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, + 0x10FB0, + 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, @@ -124302,12 +125654,10 @@ static const UV UNI_ASSIGNED_invlist[] = { /* for all charsets */ 0x11100, 0x11135, 0x11136, - 0x11147, + 0x11148, 0x11150, 0x11177, 0x11180, - 0x111CE, - 0x111D0, 0x111E0, 0x111E1, 0x111F5, @@ -124360,11 +125710,9 @@ static const UV UNI_ASSIGNED_invlist[] = { /* for all charsets */ 0x11370, 0x11375, 0x11400, - 0x1145A, - 0x1145B, 0x1145C, 0x1145D, - 0x11460, + 0x11462, 0x11480, 0x114C8, 0x114D0, @@ -124394,7 +125742,21 @@ static const UV UNI_ASSIGNED_invlist[] = { /* for all charsets */ 0x118A0, 0x118F3, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11947, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -124449,6 +125811,8 @@ static const UV UNI_ASSIGNED_invlist[] = { /* for all charsets */ 0x11DAA, 0x11EE0, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, @@ -124496,11 +125860,15 @@ static const UV UNI_ASSIGNED_invlist[] = { /* for all charsets */ 0x16F8F, 0x16FA0, 0x16FE0, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -124696,11 +126064,7 @@ static const UV UNI_ASSIGNED_invlist[] = { /* for all charsets */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, @@ -124712,11 +126076,11 @@ static const UV UNI_ASSIGNED_invlist[] = { /* for all charsets */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -124733,32 +126097,38 @@ static const UV UNI_ASSIGNED_invlist[] = { /* for all charsets */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -124769,6 +126139,8 @@ static const UV UNI_ASSIGNED_invlist[] = { /* for all charsets */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0001, 0xE0002, 0xE0020, @@ -124784,7 +126156,7 @@ static const UV UNI_ASSIGNED_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_CASED_invlist[] = { /* for ASCII/Latin1 */ - 281, /* Number of elements */ + 283, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -124970,13 +126342,15 @@ static const UV UNI_CASED_invlist[] = { /* for ASCII/Latin1 */ 0xA790, 0xA7C0, 0xA7C2, - 0xA7C7, + 0xA7CB, + 0xA7F5, + 0xA7F7, 0xA7F8, 0xA7FB, 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB69, 0xAB70, 0xABC0, 0xFB00, @@ -125079,7 +126453,7 @@ static const UV UNI_CASED_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_CASED_invlist[] = { /* for EBCDIC 1047 */ - 307, /* Number of elements */ + 309, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -125291,13 +126665,15 @@ static const UV UNI_CASED_invlist[] = { /* for EBCDIC 1047 */ 0xA790, 0xA7C0, 0xA7C2, - 0xA7C7, + 0xA7CB, + 0xA7F5, + 0xA7F7, 0xA7F8, 0xA7FB, 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB69, 0xAB70, 0xABC0, 0xFB00, @@ -125400,7 +126776,7 @@ static const UV UNI_CASED_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_CASED_invlist[] = { /* for EBCDIC 037 */ - 303, /* Number of elements */ + 305, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -125608,13 +126984,15 @@ static const UV UNI_CASED_invlist[] = { /* for EBCDIC 037 */ 0xA790, 0xA7C0, 0xA7C2, - 0xA7C7, + 0xA7CB, + 0xA7F5, + 0xA7F7, 0xA7F8, 0xA7FB, 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB69, 0xAB70, 0xABC0, 0xFB00, @@ -125714,7 +127092,7 @@ static const UV UNI_CASED_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_CASEDLETTER_invlist[] = { /* for ASCII/Latin1 */ - 263, /* Number of elements */ + 265, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -125888,13 +127266,15 @@ static const UV UNI_CASEDLETTER_invlist[] = { /* for ASCII/Latin1 */ 0xA790, 0xA7C0, 0xA7C2, - 0xA7C7, + 0xA7CB, + 0xA7F5, + 0xA7F7, 0xA7FA, 0xA7FB, 0xAB30, 0xAB5B, 0xAB60, - 0xAB68, + 0xAB69, 0xAB70, 0xABC0, 0xFB00, @@ -125991,7 +127371,7 @@ static const UV UNI_CASEDLETTER_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_CASEDLETTER_invlist[] = { /* for EBCDIC 1047 */ - 295, /* Number of elements */ + 297, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -126197,13 +127577,15 @@ static const UV UNI_CASEDLETTER_invlist[] = { /* for EBCDIC 1047 */ 0xA790, 0xA7C0, 0xA7C2, - 0xA7C7, + 0xA7CB, + 0xA7F5, + 0xA7F7, 0xA7FA, 0xA7FB, 0xAB30, 0xAB5B, 0xAB60, - 0xAB68, + 0xAB69, 0xAB70, 0xABC0, 0xFB00, @@ -126300,7 +127682,7 @@ static const UV UNI_CASEDLETTER_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_CASEDLETTER_invlist[] = { /* for EBCDIC 037 */ - 291, /* Number of elements */ + 293, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -126502,13 +127884,15 @@ static const UV UNI_CASEDLETTER_invlist[] = { /* for EBCDIC 037 */ 0xA790, 0xA7C0, 0xA7C2, - 0xA7C7, + 0xA7CB, + 0xA7F5, + 0xA7F7, 0xA7FA, 0xA7FB, 0xAB30, 0xAB5B, 0xAB60, - 0xAB68, + 0xAB69, 0xAB70, 0xABC0, 0xFB00, @@ -126602,7 +127986,7 @@ static const UV UNI_CASEDLETTER_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LOWERCASELETTER_invlist[] = { /* for ASCII/Latin1 */ - 1285, /* Number of elements */ + 1291, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -127809,12 +129193,18 @@ static const UV UNI_LOWERCASELETTER_invlist[] = { /* for ASCII/Latin1 */ 0xA7C0, 0xA7C3, 0xA7C4, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7CB, + 0xA7F6, + 0xA7F7, 0xA7FA, 0xA7FB, 0xAB30, 0xAB5B, 0xAB60, - 0xAB68, + 0xAB69, 0xAB70, 0xABC0, 0xFB00, @@ -127901,7 +129291,7 @@ static const UV UNI_LOWERCASELETTER_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LOWERCASELETTER_invlist[] = { /* for EBCDIC 1047 */ - 1299, /* Number of elements */ + 1305, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -129122,12 +130512,18 @@ static const UV UNI_LOWERCASELETTER_invlist[] = { /* for EBCDIC 1047 */ 0xA7C0, 0xA7C3, 0xA7C4, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7CB, + 0xA7F6, + 0xA7F7, 0xA7FA, 0xA7FB, 0xAB30, 0xAB5B, 0xAB60, - 0xAB68, + 0xAB69, 0xAB70, 0xABC0, 0xFB00, @@ -129214,7 +130610,7 @@ static const UV UNI_LOWERCASELETTER_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LOWERCASELETTER_invlist[] = { /* for EBCDIC 037 */ - 1299, /* Number of elements */ + 1305, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -130435,12 +131831,18 @@ static const UV UNI_LOWERCASELETTER_invlist[] = { /* for EBCDIC 037 */ 0xA7C0, 0xA7C3, 0xA7C4, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7CB, + 0xA7F6, + 0xA7F7, 0xA7FA, 0xA7FB, 0xAB30, 0xAB5B, 0xAB60, - 0xAB68, + 0xAB69, 0xAB70, 0xABC0, 0xFB00, @@ -131511,7 +132913,7 @@ static const UV UNI_TITLE_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_UPPERCASELETTER_invlist[] = { /* for ASCII/Latin1 */ - 1273, /* Number of elements */ + 1277, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -132711,7 +134113,11 @@ static const UV UNI_UPPERCASELETTER_invlist[] = { /* for ASCII/Latin1 */ 0xA7C2, 0xA7C3, 0xA7C4, - 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7F5, + 0xA7F6, 0xFF21, 0xFF3B, 0x10400, @@ -132798,7 +134204,7 @@ static const UV UNI_UPPERCASELETTER_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_UPPERCASELETTER_invlist[] = { /* for EBCDIC 1047 */ - 1291, /* Number of elements */ + 1295, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -134016,7 +135422,11 @@ static const UV UNI_UPPERCASELETTER_invlist[] = { /* for EBCDIC 1047 */ 0xA7C2, 0xA7C3, 0xA7C4, - 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7F5, + 0xA7F6, 0xFF21, 0xFF3B, 0x10400, @@ -134103,7 +135513,7 @@ static const UV UNI_UPPERCASELETTER_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_UPPERCASELETTER_invlist[] = { /* for EBCDIC 037 */ - 1287, /* Number of elements */ + 1291, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -135317,7 +136727,11 @@ static const UV UNI_UPPERCASELETTER_invlist[] = { /* for EBCDIC 037 */ 0xA7C2, 0xA7C3, 0xA7C4, - 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7F5, + 0xA7F6, 0xFF21, 0xFF3B, 0x10400, @@ -135465,7 +136879,7 @@ static const UV UNI_VERTSPACE_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for ASCII/Latin1 */ - 1431, /* Number of elements */ + 1465, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -135577,7 +136991,7 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for ASCII/Latin1 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D4, 0x8E0, 0x8E3, @@ -135797,8 +137211,6 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for ASCII/Latin1 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -135820,7 +137232,7 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for ASCII/Latin1 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -136012,6 +137424,8 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for ASCII/Latin1 */ 0x1A9A, 0x1AA7, 0x1AA8, + 0x1ABF, + 0x1AC1, 0x1B00, 0x1B34, 0x1B35, @@ -136187,13 +137601,13 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for ASCII/Latin1 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -136215,8 +137629,8 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for ASCII/Latin1 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA806, 0xA807, 0xA828, @@ -136279,7 +137693,7 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for ASCII/Latin1 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABEB, 0xABF0, @@ -136456,12 +137870,20 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for ASCII/Latin1 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -136479,7 +137901,7 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for ASCII/Latin1 */ 0x11136, 0x11140, 0x11144, - 0x11147, + 0x11148, 0x11150, 0x11173, 0x11176, @@ -136488,7 +137910,7 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for ASCII/Latin1 */ 0x111C0, 0x111C1, 0x111C5, - 0x111D0, + 0x111CE, 0x111DB, 0x111DC, 0x111DD, @@ -136549,7 +137971,7 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for ASCII/Latin1 */ 0x11450, 0x1145A, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114C2, 0x114C4, @@ -136589,7 +138011,23 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for ASCII/Latin1 */ 0x118A0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x1193D, + 0x1193F, + 0x11943, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -136660,6 +138098,8 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for ASCII/Latin1 */ 0x11DAA, 0x11EE0, 0x11EF7, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -136700,10 +138140,14 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for ASCII/Latin1 */ 0x16FE2, 0x16FE3, 0x16FE4, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -136888,8 +138332,10 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for ASCII/Latin1 */ 0x1F16A, 0x1F170, 0x1F18A, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -136899,7 +138345,9 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for ASCII/Latin1 */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; # endif /* ASCII/Latin1 */ @@ -136910,7 +138358,7 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 1047 */ - 1455, /* Number of elements */ + 1489, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -137046,7 +138494,7 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 1047 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D4, 0x8E0, 0x8E3, @@ -137266,8 +138714,6 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 1047 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -137289,7 +138735,7 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 1047 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -137481,6 +138927,8 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 1047 */ 0x1A9A, 0x1AA7, 0x1AA8, + 0x1ABF, + 0x1AC1, 0x1B00, 0x1B34, 0x1B35, @@ -137656,13 +139104,13 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 1047 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -137684,8 +139132,8 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 1047 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA806, 0xA807, 0xA828, @@ -137748,7 +139196,7 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 1047 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABEB, 0xABF0, @@ -137925,12 +139373,20 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 1047 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -137948,7 +139404,7 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 1047 */ 0x11136, 0x11140, 0x11144, - 0x11147, + 0x11148, 0x11150, 0x11173, 0x11176, @@ -137957,7 +139413,7 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 1047 */ 0x111C0, 0x111C1, 0x111C5, - 0x111D0, + 0x111CE, 0x111DB, 0x111DC, 0x111DD, @@ -138018,7 +139474,7 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 1047 */ 0x11450, 0x1145A, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114C2, 0x114C4, @@ -138058,7 +139514,23 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 1047 */ 0x118A0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x1193D, + 0x1193F, + 0x11943, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -138129,6 +139601,8 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 1047 */ 0x11DAA, 0x11EE0, 0x11EF7, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -138169,10 +139643,14 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 1047 */ 0x16FE2, 0x16FE3, 0x16FE4, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -138357,8 +139835,10 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 1047 */ 0x1F16A, 0x1F170, 0x1F18A, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -138368,7 +139848,9 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 1047 */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; # endif /* EBCDIC 1047 */ @@ -138379,7 +139861,7 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 037 */ - 1451, /* Number of elements */ + 1485, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -138511,7 +139993,7 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 037 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D4, 0x8E0, 0x8E3, @@ -138731,8 +140213,6 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 037 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -138754,7 +140234,7 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 037 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -138946,6 +140426,8 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 037 */ 0x1A9A, 0x1AA7, 0x1AA8, + 0x1ABF, + 0x1AC1, 0x1B00, 0x1B34, 0x1B35, @@ -139121,13 +140603,13 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 037 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -139149,8 +140631,8 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 037 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA806, 0xA807, 0xA828, @@ -139213,7 +140695,7 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 037 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABEB, 0xABF0, @@ -139390,12 +140872,20 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 037 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -139413,7 +140903,7 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 037 */ 0x11136, 0x11140, 0x11144, - 0x11147, + 0x11148, 0x11150, 0x11173, 0x11176, @@ -139422,7 +140912,7 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 037 */ 0x111C0, 0x111C1, 0x111C5, - 0x111D0, + 0x111CE, 0x111DB, 0x111DC, 0x111DD, @@ -139483,7 +140973,7 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 037 */ 0x11450, 0x1145A, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114C2, 0x114C4, @@ -139523,7 +141013,23 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 037 */ 0x118A0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x1193D, + 0x1193F, + 0x11943, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -139594,6 +141100,8 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 037 */ 0x11DAA, 0x11EE0, 0x11EF7, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -139634,10 +141142,14 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 037 */ 0x16FE2, 0x16FE3, 0x16FE4, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -139822,8 +141334,10 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 037 */ 0x1F16A, 0x1F170, 0x1F18A, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -139833,7 +141347,9 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 037 */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; # endif /* EBCDIC 037 */ @@ -139841,7 +141357,7 @@ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for ASCII/Latin1 */ - 1359, /* Number of elements */ + 1391, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -139953,7 +141469,7 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for ASCII/Latin1 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D4, 0x8E0, 0x8E3, @@ -140161,8 +141677,6 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for ASCII/Latin1 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -140182,7 +141696,7 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for ASCII/Latin1 */ 0xD64, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -140358,6 +141872,8 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for ASCII/Latin1 */ 0x1A75, 0x1AA7, 0x1AA8, + 0x1ABF, + 0x1AC1, 0x1B00, 0x1B34, 0x1B35, @@ -140533,13 +142049,13 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for ASCII/Latin1 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -140563,8 +142079,8 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for ASCII/Latin1 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA806, 0xA807, 0xA828, @@ -140627,7 +142143,7 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for ASCII/Latin1 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABEB, 0xAC00, @@ -140796,12 +142312,20 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for ASCII/Latin1 */ 0x10CF3, 0x10D00, 0x10D28, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -140813,7 +142337,7 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for ASCII/Latin1 */ 0x11100, 0x11133, 0x11144, - 0x11147, + 0x11148, 0x11150, 0x11173, 0x11176, @@ -140822,6 +142346,8 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for ASCII/Latin1 */ 0x111C0, 0x111C1, 0x111C5, + 0x111CE, + 0x111D0, 0x111DA, 0x111DB, 0x111DC, @@ -140879,7 +142405,7 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for ASCII/Latin1 */ 0x11447, 0x1144B, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114C2, 0x114C4, @@ -140911,7 +142437,21 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for ASCII/Latin1 */ 0x118A0, 0x118E0, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x1193D, + 0x1193F, + 0x11943, 0x119A0, 0x119A8, 0x119AA, @@ -140976,6 +142516,8 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for ASCII/Latin1 */ 0x11D99, 0x11EE0, 0x11EF7, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -141012,10 +142554,14 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for ASCII/Latin1 */ 0x16FE2, 0x16FE3, 0x16FE4, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -141193,7 +142739,7 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for ASCII/Latin1 */ 0x1F170, 0x1F18A, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -141203,7 +142749,9 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for ASCII/Latin1 */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; # endif /* ASCII/Latin1 */ @@ -141214,7 +142762,7 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 1047 */ - 1385, /* Number of elements */ + 1417, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -141352,7 +142900,7 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 1047 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D4, 0x8E0, 0x8E3, @@ -141560,8 +143108,6 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 1047 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -141581,7 +143127,7 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 1047 */ 0xD64, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -141757,6 +143303,8 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 1047 */ 0x1A75, 0x1AA7, 0x1AA8, + 0x1ABF, + 0x1AC1, 0x1B00, 0x1B34, 0x1B35, @@ -141932,13 +143480,13 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 1047 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -141962,8 +143510,8 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 1047 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA806, 0xA807, 0xA828, @@ -142026,7 +143574,7 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 1047 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABEB, 0xAC00, @@ -142195,12 +143743,20 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 1047 */ 0x10CF3, 0x10D00, 0x10D28, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -142212,7 +143768,7 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 1047 */ 0x11100, 0x11133, 0x11144, - 0x11147, + 0x11148, 0x11150, 0x11173, 0x11176, @@ -142221,6 +143777,8 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 1047 */ 0x111C0, 0x111C1, 0x111C5, + 0x111CE, + 0x111D0, 0x111DA, 0x111DB, 0x111DC, @@ -142278,7 +143836,7 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 1047 */ 0x11447, 0x1144B, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114C2, 0x114C4, @@ -142310,7 +143868,21 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 1047 */ 0x118A0, 0x118E0, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x1193D, + 0x1193F, + 0x11943, 0x119A0, 0x119A8, 0x119AA, @@ -142375,6 +143947,8 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 1047 */ 0x11D99, 0x11EE0, 0x11EF7, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -142411,10 +143985,14 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 1047 */ 0x16FE2, 0x16FE3, 0x16FE4, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -142592,7 +144170,7 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 1047 */ 0x1F170, 0x1F18A, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -142602,7 +144180,9 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 1047 */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; # endif /* EBCDIC 1047 */ @@ -142613,7 +144193,7 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 037 */ - 1381, /* Number of elements */ + 1413, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -142747,7 +144327,7 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 037 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D4, 0x8E0, 0x8E3, @@ -142955,8 +144535,6 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 037 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -142976,7 +144554,7 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 037 */ 0xD64, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -143152,6 +144730,8 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 037 */ 0x1A75, 0x1AA7, 0x1AA8, + 0x1ABF, + 0x1AC1, 0x1B00, 0x1B34, 0x1B35, @@ -143327,13 +144907,13 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 037 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -143357,8 +144937,8 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 037 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA806, 0xA807, 0xA828, @@ -143421,7 +145001,7 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 037 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABEB, 0xAC00, @@ -143590,12 +145170,20 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 037 */ 0x10CF3, 0x10D00, 0x10D28, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -143607,7 +145195,7 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 037 */ 0x11100, 0x11133, 0x11144, - 0x11147, + 0x11148, 0x11150, 0x11173, 0x11176, @@ -143616,6 +145204,8 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 037 */ 0x111C0, 0x111C1, 0x111C5, + 0x111CE, + 0x111D0, 0x111DA, 0x111DB, 0x111DC, @@ -143673,7 +145263,7 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 037 */ 0x11447, 0x1144B, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114C2, 0x114C4, @@ -143705,7 +145295,21 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 037 */ 0x118A0, 0x118E0, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x1193D, + 0x1193F, + 0x11943, 0x119A0, 0x119A8, 0x119AA, @@ -143770,6 +145374,8 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 037 */ 0x11D99, 0x11EE0, 0x11EF7, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -143806,10 +145412,14 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 037 */ 0x16FE2, 0x16FE3, 0x16FE4, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -143987,7 +145597,7 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 037 */ 0x1F170, 0x1F18A, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -143997,7 +145607,9 @@ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 037 */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; # endif /* EBCDIC 037 */ @@ -144142,7 +145754,7 @@ static const UV UNI_XPOSIXCNTRL_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_XPOSIXDIGIT_invlist[] = { /* for ASCII/Latin1 */ - 119, /* Number of elements */ + 123, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -144247,6 +145859,8 @@ static const UV UNI_XPOSIXDIGIT_invlist[] = { /* for ASCII/Latin1 */ 0x1173A, 0x118E0, 0x118EA, + 0x11950, + 0x1195A, 0x11C50, 0x11C5A, 0x11D50, @@ -144264,7 +145878,9 @@ static const UV UNI_XPOSIXDIGIT_invlist[] = { /* for ASCII/Latin1 */ 0x1E2F0, 0x1E2FA, 0x1E950, - 0x1E95A + 0x1E95A, + 0x1FBF0, + 0x1FBFA }; # endif /* ASCII/Latin1 */ @@ -144275,7 +145891,7 @@ static const UV UNI_XPOSIXDIGIT_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_XPOSIXDIGIT_invlist[] = { /* for EBCDIC 1047 */ - 119, /* Number of elements */ + 123, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -144380,6 +145996,8 @@ static const UV UNI_XPOSIXDIGIT_invlist[] = { /* for EBCDIC 1047 */ 0x1173A, 0x118E0, 0x118EA, + 0x11950, + 0x1195A, 0x11C50, 0x11C5A, 0x11D50, @@ -144397,7 +146015,9 @@ static const UV UNI_XPOSIXDIGIT_invlist[] = { /* for EBCDIC 1047 */ 0x1E2F0, 0x1E2FA, 0x1E950, - 0x1E95A + 0x1E95A, + 0x1FBF0, + 0x1FBFA }; # endif /* EBCDIC 1047 */ @@ -144408,7 +146028,7 @@ static const UV UNI_XPOSIXDIGIT_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_XPOSIXDIGIT_invlist[] = { /* for EBCDIC 037 */ - 119, /* Number of elements */ + 123, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -144513,6 +146133,8 @@ static const UV UNI_XPOSIXDIGIT_invlist[] = { /* for EBCDIC 037 */ 0x1173A, 0x118E0, 0x118EA, + 0x11950, + 0x1195A, 0x11C50, 0x11C5A, 0x11D50, @@ -144530,7 +146152,9 @@ static const UV UNI_XPOSIXDIGIT_invlist[] = { /* for EBCDIC 037 */ 0x1E2F0, 0x1E2FA, 0x1E950, - 0x1E95A + 0x1E95A, + 0x1FBF0, + 0x1FBFA }; # endif /* EBCDIC 037 */ @@ -144538,7 +146162,7 @@ static const UV UNI_XPOSIXDIGIT_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */ - 1343, /* Number of elements */ + 1365, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -144592,7 +146216,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x984, 0x985, @@ -144701,7 +146325,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -144790,8 +146414,6 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -144805,7 +146427,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */ 0xD64, 0xD66, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -144980,7 +146602,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */ 0x1AA0, 0x1AAE, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -145061,7 +146683,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, @@ -145096,7 +146718,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */ 0x2DD8, 0x2DDF, 0x2DE0, - 0x2E50, + 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, @@ -145116,15 +146738,11 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */ 0x3131, 0x318F, 0x3190, - 0x31BB, - 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, - 0x4DB6, - 0x4DC0, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA490, @@ -145136,9 +146754,9 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */ 0xA700, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, - 0xA82C, + 0xA7CB, + 0xA7F5, + 0xA82D, 0xA830, 0xA83A, 0xA840, @@ -145178,7 +146796,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6C, 0xAB70, 0xABEE, 0xABF0, @@ -145268,7 +146886,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */ 0x10137, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -145387,10 +147005,18 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */ 0x10D3A, 0x10E60, 0x10E7F, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAE, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, + 0x10FB0, + 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, @@ -145408,12 +147034,10 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */ 0x11100, 0x11135, 0x11136, - 0x11147, + 0x11148, 0x11150, 0x11177, 0x11180, - 0x111CE, - 0x111D0, 0x111E0, 0x111E1, 0x111F5, @@ -145466,11 +147090,9 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */ 0x11370, 0x11375, 0x11400, - 0x1145A, - 0x1145B, 0x1145C, 0x1145D, - 0x11460, + 0x11462, 0x11480, 0x114C8, 0x114D0, @@ -145500,7 +147122,21 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */ 0x118A0, 0x118F3, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11947, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -145555,6 +147191,8 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */ 0x11DAA, 0x11EE0, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, @@ -145602,11 +147240,15 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */ 0x16F8F, 0x16FA0, 0x16FE0, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -145802,11 +147444,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, @@ -145818,11 +147456,11 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -145839,32 +147477,38 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -145875,6 +147519,8 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0001, 0xE0002, 0xE0020, @@ -145895,7 +147541,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */ - 1343, /* Number of elements */ + 1365, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -145949,7 +147595,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x984, 0x985, @@ -146058,7 +147704,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -146147,8 +147793,6 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -146162,7 +147806,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */ 0xD64, 0xD66, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -146337,7 +147981,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */ 0x1AA0, 0x1AAE, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -146418,7 +148062,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, @@ -146453,7 +148097,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */ 0x2DD8, 0x2DDF, 0x2DE0, - 0x2E50, + 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, @@ -146473,15 +148117,11 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */ 0x3131, 0x318F, 0x3190, - 0x31BB, - 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, - 0x4DB6, - 0x4DC0, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA490, @@ -146493,9 +148133,9 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */ 0xA700, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, - 0xA82C, + 0xA7CB, + 0xA7F5, + 0xA82D, 0xA830, 0xA83A, 0xA840, @@ -146535,7 +148175,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6C, 0xAB70, 0xABEE, 0xABF0, @@ -146625,7 +148265,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */ 0x10137, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -146744,10 +148384,18 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */ 0x10D3A, 0x10E60, 0x10E7F, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAE, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, + 0x10FB0, + 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, @@ -146765,12 +148413,10 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */ 0x11100, 0x11135, 0x11136, - 0x11147, + 0x11148, 0x11150, 0x11177, 0x11180, - 0x111CE, - 0x111D0, 0x111E0, 0x111E1, 0x111F5, @@ -146823,11 +148469,9 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */ 0x11370, 0x11375, 0x11400, - 0x1145A, - 0x1145B, 0x1145C, 0x1145D, - 0x11460, + 0x11462, 0x11480, 0x114C8, 0x114D0, @@ -146857,7 +148501,21 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */ 0x118A0, 0x118F3, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11947, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -146912,6 +148570,8 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */ 0x11DAA, 0x11EE0, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, @@ -146959,11 +148619,15 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */ 0x16F8F, 0x16FA0, 0x16FE0, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -147159,11 +148823,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, @@ -147175,11 +148835,11 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -147196,32 +148856,38 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -147232,6 +148898,8 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0001, 0xE0002, 0xE0020, @@ -147252,7 +148920,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 037 */ - 1343, /* Number of elements */ + 1365, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -147306,7 +148974,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 037 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x984, 0x985, @@ -147415,7 +149083,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 037 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -147504,8 +149172,6 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 037 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -147519,7 +149185,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 037 */ 0xD64, 0xD66, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -147694,7 +149360,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 037 */ 0x1AA0, 0x1AAE, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -147775,7 +149441,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 037 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, @@ -147810,7 +149476,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 037 */ 0x2DD8, 0x2DDF, 0x2DE0, - 0x2E50, + 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, @@ -147830,15 +149496,11 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 037 */ 0x3131, 0x318F, 0x3190, - 0x31BB, - 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, - 0x4DB6, - 0x4DC0, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA490, @@ -147850,9 +149512,9 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 037 */ 0xA700, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, - 0xA82C, + 0xA7CB, + 0xA7F5, + 0xA82D, 0xA830, 0xA83A, 0xA840, @@ -147892,7 +149554,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 037 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6C, 0xAB70, 0xABEE, 0xABF0, @@ -147982,7 +149644,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 037 */ 0x10137, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -148101,10 +149763,18 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 037 */ 0x10D3A, 0x10E60, 0x10E7F, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAE, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, + 0x10FB0, + 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, @@ -148122,12 +149792,10 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 037 */ 0x11100, 0x11135, 0x11136, - 0x11147, + 0x11148, 0x11150, 0x11177, 0x11180, - 0x111CE, - 0x111D0, 0x111E0, 0x111E1, 0x111F5, @@ -148180,11 +149848,9 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 037 */ 0x11370, 0x11375, 0x11400, - 0x1145A, - 0x1145B, 0x1145C, 0x1145D, - 0x11460, + 0x11462, 0x11480, 0x114C8, 0x114D0, @@ -148214,7 +149880,21 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 037 */ 0x118A0, 0x118F3, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11947, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -148269,6 +149949,8 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 037 */ 0x11DAA, 0x11EE0, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, @@ -148316,11 +149998,15 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 037 */ 0x16F8F, 0x16FA0, 0x16FE0, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -148516,11 +150202,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 037 */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, @@ -148532,11 +150214,11 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 037 */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -148553,32 +150235,38 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 037 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -148589,6 +150277,8 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 037 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0001, 0xE0002, 0xE0020, @@ -148606,7 +150296,7 @@ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_XPOSIXLOWER_invlist[] = { /* for ASCII/Latin1 */ - 1299, /* Number of elements */ + 1305, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -149827,12 +151517,18 @@ static const UV UNI_XPOSIXLOWER_invlist[] = { /* for ASCII/Latin1 */ 0xA7C0, 0xA7C3, 0xA7C4, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7CB, + 0xA7F6, + 0xA7F7, 0xA7F8, 0xA7FB, 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB69, 0xAB70, 0xABC0, 0xFB00, @@ -149919,7 +151615,7 @@ static const UV UNI_XPOSIXLOWER_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_XPOSIXLOWER_invlist[] = { /* for EBCDIC 1047 */ - 1307, /* Number of elements */ + 1313, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -151148,12 +152844,18 @@ static const UV UNI_XPOSIXLOWER_invlist[] = { /* for EBCDIC 1047 */ 0xA7C0, 0xA7C3, 0xA7C4, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7CB, + 0xA7F6, + 0xA7F7, 0xA7F8, 0xA7FB, 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB69, 0xAB70, 0xABC0, 0xFB00, @@ -151240,7 +152942,7 @@ static const UV UNI_XPOSIXLOWER_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_XPOSIXLOWER_invlist[] = { /* for EBCDIC 037 */ - 1307, /* Number of elements */ + 1313, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -152469,12 +154171,18 @@ static const UV UNI_XPOSIXLOWER_invlist[] = { /* for EBCDIC 037 */ 0xA7C0, 0xA7C3, 0xA7C4, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7CB, + 0xA7F6, + 0xA7F7, 0xA7F8, 0xA7FB, 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB69, 0xAB70, 0xABC0, 0xFB00, @@ -152558,7 +154266,7 @@ static const UV UNI_XPOSIXLOWER_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for ASCII/Latin1 */ - 1337, /* Number of elements */ + 1359, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -152612,7 +154320,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for ASCII/Latin1 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x984, 0x985, @@ -152721,7 +154429,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for ASCII/Latin1 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -152810,8 +154518,6 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for ASCII/Latin1 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -152825,7 +154531,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for ASCII/Latin1 */ 0xD64, 0xD66, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -152998,7 +154704,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for ASCII/Latin1 */ 0x1AA0, 0x1AAE, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -153075,7 +154781,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for ASCII/Latin1 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, @@ -153110,7 +154816,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for ASCII/Latin1 */ 0x2DD8, 0x2DDF, 0x2DE0, - 0x2E50, + 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, @@ -153130,15 +154836,11 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for ASCII/Latin1 */ 0x3131, 0x318F, 0x3190, - 0x31BB, - 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, - 0x4DB6, - 0x4DC0, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA490, @@ -153150,9 +154852,9 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for ASCII/Latin1 */ 0xA700, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, - 0xA82C, + 0xA7CB, + 0xA7F5, + 0xA82D, 0xA830, 0xA83A, 0xA840, @@ -153192,7 +154894,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for ASCII/Latin1 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6C, 0xAB70, 0xABEE, 0xABF0, @@ -153282,7 +154984,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for ASCII/Latin1 */ 0x10137, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -153401,10 +155103,18 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for ASCII/Latin1 */ 0x10D3A, 0x10E60, 0x10E7F, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAE, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, + 0x10FB0, + 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, @@ -153422,12 +155132,10 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for ASCII/Latin1 */ 0x11100, 0x11135, 0x11136, - 0x11147, + 0x11148, 0x11150, 0x11177, 0x11180, - 0x111CE, - 0x111D0, 0x111E0, 0x111E1, 0x111F5, @@ -153480,11 +155188,9 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for ASCII/Latin1 */ 0x11370, 0x11375, 0x11400, - 0x1145A, - 0x1145B, 0x1145C, 0x1145D, - 0x11460, + 0x11462, 0x11480, 0x114C8, 0x114D0, @@ -153514,7 +155220,21 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for ASCII/Latin1 */ 0x118A0, 0x118F3, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11947, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -153569,6 +155289,8 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for ASCII/Latin1 */ 0x11DAA, 0x11EE0, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, @@ -153616,11 +155338,15 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for ASCII/Latin1 */ 0x16F8F, 0x16FA0, 0x16FE0, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -153816,11 +155542,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for ASCII/Latin1 */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, @@ -153832,11 +155554,11 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for ASCII/Latin1 */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -153853,32 +155575,38 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for ASCII/Latin1 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -153889,6 +155617,8 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for ASCII/Latin1 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0001, 0xE0002, 0xE0020, @@ -153909,7 +155639,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 1047 */ - 1337, /* Number of elements */ + 1359, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -153963,7 +155693,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 1047 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x984, 0x985, @@ -154072,7 +155802,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 1047 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -154161,8 +155891,6 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 1047 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -154176,7 +155904,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 1047 */ 0xD64, 0xD66, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -154349,7 +156077,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 1047 */ 0x1AA0, 0x1AAE, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -154426,7 +156154,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 1047 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, @@ -154461,7 +156189,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 1047 */ 0x2DD8, 0x2DDF, 0x2DE0, - 0x2E50, + 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, @@ -154481,15 +156209,11 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 1047 */ 0x3131, 0x318F, 0x3190, - 0x31BB, - 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, - 0x4DB6, - 0x4DC0, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA490, @@ -154501,9 +156225,9 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 1047 */ 0xA700, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, - 0xA82C, + 0xA7CB, + 0xA7F5, + 0xA82D, 0xA830, 0xA83A, 0xA840, @@ -154543,7 +156267,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 1047 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6C, 0xAB70, 0xABEE, 0xABF0, @@ -154633,7 +156357,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 1047 */ 0x10137, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -154752,10 +156476,18 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 1047 */ 0x10D3A, 0x10E60, 0x10E7F, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAE, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, + 0x10FB0, + 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, @@ -154773,12 +156505,10 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 1047 */ 0x11100, 0x11135, 0x11136, - 0x11147, + 0x11148, 0x11150, 0x11177, 0x11180, - 0x111CE, - 0x111D0, 0x111E0, 0x111E1, 0x111F5, @@ -154831,11 +156561,9 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 1047 */ 0x11370, 0x11375, 0x11400, - 0x1145A, - 0x1145B, 0x1145C, 0x1145D, - 0x11460, + 0x11462, 0x11480, 0x114C8, 0x114D0, @@ -154865,7 +156593,21 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 1047 */ 0x118A0, 0x118F3, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11947, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -154920,6 +156662,8 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 1047 */ 0x11DAA, 0x11EE0, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, @@ -154967,11 +156711,15 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 1047 */ 0x16F8F, 0x16FA0, 0x16FE0, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -155167,11 +156915,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 1047 */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, @@ -155183,11 +156927,11 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 1047 */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -155204,32 +156948,38 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 1047 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -155240,6 +156990,8 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 1047 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0001, 0xE0002, 0xE0020, @@ -155260,7 +157012,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 037 */ - 1337, /* Number of elements */ + 1359, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -155314,7 +157066,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 037 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x984, 0x985, @@ -155423,7 +157175,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 037 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -155512,8 +157264,6 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 037 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -155527,7 +157277,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 037 */ 0xD64, 0xD66, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -155700,7 +157450,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 037 */ 0x1AA0, 0x1AAE, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -155777,7 +157527,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 037 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, @@ -155812,7 +157562,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 037 */ 0x2DD8, 0x2DDF, 0x2DE0, - 0x2E50, + 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, @@ -155832,15 +157582,11 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 037 */ 0x3131, 0x318F, 0x3190, - 0x31BB, - 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, - 0x4DB6, - 0x4DC0, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA490, @@ -155852,9 +157598,9 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 037 */ 0xA700, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, - 0xA82C, + 0xA7CB, + 0xA7F5, + 0xA82D, 0xA830, 0xA83A, 0xA840, @@ -155894,7 +157640,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 037 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6C, 0xAB70, 0xABEE, 0xABF0, @@ -155984,7 +157730,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 037 */ 0x10137, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -156103,10 +157849,18 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 037 */ 0x10D3A, 0x10E60, 0x10E7F, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAE, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, + 0x10FB0, + 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, @@ -156124,12 +157878,10 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 037 */ 0x11100, 0x11135, 0x11136, - 0x11147, + 0x11148, 0x11150, 0x11177, 0x11180, - 0x111CE, - 0x111D0, 0x111E0, 0x111E1, 0x111F5, @@ -156182,11 +157934,9 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 037 */ 0x11370, 0x11375, 0x11400, - 0x1145A, - 0x1145B, 0x1145C, 0x1145D, - 0x11460, + 0x11462, 0x11480, 0x114C8, 0x114D0, @@ -156216,7 +157966,21 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 037 */ 0x118A0, 0x118F3, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11947, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -156271,6 +158035,8 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 037 */ 0x11DAA, 0x11EE0, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, @@ -156318,11 +158084,15 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 037 */ 0x16F8F, 0x16FA0, 0x16FE0, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -156518,11 +158288,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 037 */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, @@ -156534,11 +158300,11 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 037 */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -156555,32 +158321,38 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 037 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -156591,6 +158363,8 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 037 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0001, 0xE0002, 0xE0020, @@ -156608,7 +158382,7 @@ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_XPOSIXPUNCT_invlist[] = { /* for ASCII/Latin1 */ - 355, /* Number of elements */ + 361, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -156783,6 +158557,8 @@ static const UV UNI_XPOSIXPUNCT_invlist[] = { /* for ASCII/Latin1 */ 0x2E2F, 0x2E30, 0x2E50, + 0x2E52, + 0x2E53, 0x3001, 0x3004, 0x3008, @@ -156889,6 +158665,8 @@ static const UV UNI_XPOSIXPUNCT_invlist[] = { /* for ASCII/Latin1 */ 0x10B40, 0x10B99, 0x10B9D, + 0x10EAD, + 0x10EAE, 0x10F55, 0x10F5A, 0x11047, @@ -156915,7 +158693,7 @@ static const UV UNI_XPOSIXPUNCT_invlist[] = { /* for ASCII/Latin1 */ 0x112AA, 0x1144B, 0x11450, - 0x1145B, + 0x1145A, 0x1145C, 0x1145D, 0x1145E, @@ -156931,6 +158709,8 @@ static const UV UNI_XPOSIXPUNCT_invlist[] = { /* for ASCII/Latin1 */ 0x1173F, 0x1183B, 0x1183C, + 0x11944, + 0x11947, 0x119E2, 0x119E3, 0x11A3F, @@ -156977,7 +158757,7 @@ static const UV UNI_XPOSIXPUNCT_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_XPOSIXPUNCT_invlist[] = { /* for EBCDIC 1047 */ - 363, /* Number of elements */ + 369, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -157160,6 +158940,8 @@ static const UV UNI_XPOSIXPUNCT_invlist[] = { /* for EBCDIC 1047 */ 0x2E2F, 0x2E30, 0x2E50, + 0x2E52, + 0x2E53, 0x3001, 0x3004, 0x3008, @@ -157266,6 +159048,8 @@ static const UV UNI_XPOSIXPUNCT_invlist[] = { /* for EBCDIC 1047 */ 0x10B40, 0x10B99, 0x10B9D, + 0x10EAD, + 0x10EAE, 0x10F55, 0x10F5A, 0x11047, @@ -157292,7 +159076,7 @@ static const UV UNI_XPOSIXPUNCT_invlist[] = { /* for EBCDIC 1047 */ 0x112AA, 0x1144B, 0x11450, - 0x1145B, + 0x1145A, 0x1145C, 0x1145D, 0x1145E, @@ -157308,6 +159092,8 @@ static const UV UNI_XPOSIXPUNCT_invlist[] = { /* for EBCDIC 1047 */ 0x1173F, 0x1183B, 0x1183C, + 0x11944, + 0x11947, 0x119E2, 0x119E3, 0x11A3F, @@ -157354,7 +159140,7 @@ static const UV UNI_XPOSIXPUNCT_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_XPOSIXPUNCT_invlist[] = { /* for EBCDIC 037 */ - 365, /* Number of elements */ + 371, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -157539,6 +159325,8 @@ static const UV UNI_XPOSIXPUNCT_invlist[] = { /* for EBCDIC 037 */ 0x2E2F, 0x2E30, 0x2E50, + 0x2E52, + 0x2E53, 0x3001, 0x3004, 0x3008, @@ -157645,6 +159433,8 @@ static const UV UNI_XPOSIXPUNCT_invlist[] = { /* for EBCDIC 037 */ 0x10B40, 0x10B99, 0x10B9D, + 0x10EAD, + 0x10EAE, 0x10F55, 0x10F5A, 0x11047, @@ -157671,7 +159461,7 @@ static const UV UNI_XPOSIXPUNCT_invlist[] = { /* for EBCDIC 037 */ 0x112AA, 0x1144B, 0x11450, - 0x1145B, + 0x1145A, 0x1145C, 0x1145D, 0x1145E, @@ -157687,6 +159477,8 @@ static const UV UNI_XPOSIXPUNCT_invlist[] = { /* for EBCDIC 037 */ 0x1173F, 0x1183B, 0x1183C, + 0x11944, + 0x11947, 0x119E2, 0x119E3, 0x11A3F, @@ -157836,7 +159628,7 @@ static const UV UNI_XPOSIXSPACE_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_XPOSIXUPPER_invlist[] = { /* for ASCII/Latin1 */ - 1283, /* Number of elements */ + 1287, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -159040,7 +160832,11 @@ static const UV UNI_XPOSIXUPPER_invlist[] = { /* for ASCII/Latin1 */ 0xA7C2, 0xA7C3, 0xA7C4, - 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7F5, + 0xA7F6, 0xFF21, 0xFF3B, 0x10400, @@ -159133,7 +160929,7 @@ static const UV UNI_XPOSIXUPPER_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_XPOSIXUPPER_invlist[] = { /* for EBCDIC 1047 */ - 1301, /* Number of elements */ + 1305, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -160355,7 +162151,11 @@ static const UV UNI_XPOSIXUPPER_invlist[] = { /* for EBCDIC 1047 */ 0xA7C2, 0xA7C3, 0xA7C4, - 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7F5, + 0xA7F6, 0xFF21, 0xFF3B, 0x10400, @@ -160448,7 +162248,7 @@ static const UV UNI_XPOSIXUPPER_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_XPOSIXUPPER_invlist[] = { /* for EBCDIC 037 */ - 1297, /* Number of elements */ + 1301, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -161666,7 +163466,11 @@ static const UV UNI_XPOSIXUPPER_invlist[] = { /* for EBCDIC 037 */ 0xA7C2, 0xA7C3, 0xA7C4, - 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7F5, + 0xA7F6, 0xFF21, 0xFF3B, 0x10400, @@ -161756,7 +163560,7 @@ static const UV UNI_XPOSIXUPPER_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_XPOSIXWORD_invlist[] = { /* for ASCII/Latin1 */ - 1435, /* Number of elements */ + 1467, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -161864,7 +163668,7 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for ASCII/Latin1 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -161983,7 +163787,7 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for ASCII/Latin1 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -162076,8 +163880,6 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for ASCII/Latin1 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -162095,7 +163897,7 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for ASCII/Latin1 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -162294,7 +164096,7 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for ASCII/Latin1 */ 0x1AA7, 0x1AA8, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -162466,13 +164268,13 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for ASCII/Latin1 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -162494,9 +164296,11 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for ASCII/Latin1 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA880, @@ -162548,7 +164352,7 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for ASCII/Latin1 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABEB, 0xABEC, @@ -162745,12 +164549,20 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for ASCII/Latin1 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -162768,7 +164580,7 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for ASCII/Latin1 */ 0x11136, 0x11140, 0x11144, - 0x11147, + 0x11148, 0x11150, 0x11174, 0x11176, @@ -162777,7 +164589,7 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for ASCII/Latin1 */ 0x111C5, 0x111C9, 0x111CD, - 0x111D0, + 0x111CE, 0x111DB, 0x111DC, 0x111DD, @@ -162836,7 +164648,7 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for ASCII/Latin1 */ 0x11450, 0x1145A, 0x1145E, - 0x11460, + 0x11462, 0x11480, 0x114C6, 0x114C7, @@ -162870,7 +164682,21 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for ASCII/Latin1 */ 0x118A0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11944, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -162931,6 +164757,8 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for ASCII/Latin1 */ 0x11DAA, 0x11EE0, 0x11EF7, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -162972,11 +164800,15 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for ASCII/Latin1 */ 0x16FE0, 0x16FE2, 0x16FE3, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -163181,8 +165013,10 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for ASCII/Latin1 */ 0x1F16A, 0x1F170, 0x1F18A, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -163193,6 +165027,8 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for ASCII/Latin1 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0100, 0xE01F0 }; @@ -163205,7 +165041,7 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 1047 */ - 1459, /* Number of elements */ + 1491, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -163337,7 +165173,7 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 1047 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -163456,7 +165292,7 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 1047 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -163549,8 +165385,6 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 1047 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -163568,7 +165402,7 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 1047 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -163767,7 +165601,7 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 1047 */ 0x1AA7, 0x1AA8, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -163939,13 +165773,13 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 1047 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -163967,9 +165801,11 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 1047 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA880, @@ -164021,7 +165857,7 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 1047 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABEB, 0xABEC, @@ -164218,12 +166054,20 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 1047 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -164241,7 +166085,7 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 1047 */ 0x11136, 0x11140, 0x11144, - 0x11147, + 0x11148, 0x11150, 0x11174, 0x11176, @@ -164250,7 +166094,7 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 1047 */ 0x111C5, 0x111C9, 0x111CD, - 0x111D0, + 0x111CE, 0x111DB, 0x111DC, 0x111DD, @@ -164309,7 +166153,7 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 1047 */ 0x11450, 0x1145A, 0x1145E, - 0x11460, + 0x11462, 0x11480, 0x114C6, 0x114C7, @@ -164343,7 +166187,21 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 1047 */ 0x118A0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11944, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -164404,6 +166262,8 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 1047 */ 0x11DAA, 0x11EE0, 0x11EF7, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -164445,11 +166305,15 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 1047 */ 0x16FE0, 0x16FE2, 0x16FE3, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -164654,8 +166518,10 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 1047 */ 0x1F16A, 0x1F170, 0x1F18A, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -164666,6 +166532,8 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 1047 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0100, 0xE01F0 }; @@ -164678,7 +166546,7 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 037 */ - 1455, /* Number of elements */ + 1487, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -164806,7 +166674,7 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 037 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -164925,7 +166793,7 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 037 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -165018,8 +166886,6 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 037 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -165037,7 +166903,7 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 037 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -165236,7 +167102,7 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 037 */ 0x1AA7, 0x1AA8, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -165408,13 +167274,13 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 037 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -165436,9 +167302,11 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 037 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA880, @@ -165490,7 +167358,7 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 037 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABEB, 0xABEC, @@ -165687,12 +167555,20 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 037 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -165710,7 +167586,7 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 037 */ 0x11136, 0x11140, 0x11144, - 0x11147, + 0x11148, 0x11150, 0x11174, 0x11176, @@ -165719,7 +167595,7 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 037 */ 0x111C5, 0x111C9, 0x111CD, - 0x111D0, + 0x111CE, 0x111DB, 0x111DC, 0x111DD, @@ -165778,7 +167654,7 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 037 */ 0x11450, 0x1145A, 0x1145E, - 0x11460, + 0x11462, 0x11480, 0x114C6, 0x114C7, @@ -165812,7 +167688,21 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 037 */ 0x118A0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11944, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -165873,6 +167763,8 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 037 */ 0x11DAA, 0x11EE0, 0x11EF7, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -165914,11 +167806,15 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 037 */ 0x16FE0, 0x16FE2, 0x16FE3, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -166123,8 +168019,10 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 037 */ 0x1F16A, 0x1F170, 0x1F18A, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -166135,6 +168033,8 @@ static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 037 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0100, 0xE01F0 }; @@ -166222,7 +168122,7 @@ static const UV UNI_XPOSIXXDIGIT_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI__PERL_ANY_FOLDS_invlist[] = { /* for ASCII/Latin1 */ - 267, /* Number of elements */ + 269, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -166464,7 +168364,9 @@ static const UV UNI__PERL_ANY_FOLDS_invlist[] = { /* for ASCII/Latin1 */ 0xA7B0, 0xA7C0, 0xA7C2, - 0xA7C7, + 0xA7CB, + 0xA7F5, + 0xA7F7, 0xAB53, 0xAB54, 0xAB70, @@ -166503,7 +168405,7 @@ static const UV UNI__PERL_ANY_FOLDS_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI__PERL_ANY_FOLDS_invlist[] = { /* for EBCDIC 1047 */ - 299, /* Number of elements */ + 301, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -166777,7 +168679,9 @@ static const UV UNI__PERL_ANY_FOLDS_invlist[] = { /* for EBCDIC 1047 */ 0xA7B0, 0xA7C0, 0xA7C2, - 0xA7C7, + 0xA7CB, + 0xA7F5, + 0xA7F7, 0xAB53, 0xAB54, 0xAB70, @@ -166816,7 +168720,7 @@ static const UV UNI__PERL_ANY_FOLDS_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI__PERL_ANY_FOLDS_invlist[] = { /* for EBCDIC 037 */ - 295, /* Number of elements */ + 297, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -167086,7 +168990,9 @@ static const UV UNI__PERL_ANY_FOLDS_invlist[] = { /* for EBCDIC 037 */ 0xA7B0, 0xA7C0, 0xA7C2, - 0xA7C7, + 0xA7CB, + 0xA7F5, + 0xA7F7, 0xAB53, 0xAB54, 0xAB70, @@ -167122,7 +169028,7 @@ static const UV UNI__PERL_ANY_FOLDS_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for ASCII/Latin1 */ - 1231, /* Number of elements */ + 1257, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -167228,7 +169134,7 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for ASCII/Latin1 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x904, 0x93A, 0x93D, @@ -167379,7 +169285,7 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for ASCII/Latin1 */ 0xCE2, 0xCF1, 0xCF3, - 0xD05, + 0xD04, 0xD0D, 0xD0E, 0xD11, @@ -167720,13 +169626,13 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for ASCII/Latin1 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -167750,8 +169656,8 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for ASCII/Latin1 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA802, 0xA803, 0xA806, @@ -167826,7 +169732,7 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for ASCII/Latin1 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABE3, 0xAC00, @@ -168007,12 +169913,18 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for ASCII/Latin1 */ 0x10CF3, 0x10D00, 0x10D24, + 0x10E80, + 0x10EAA, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, @@ -168025,6 +169937,8 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for ASCII/Latin1 */ 0x11127, 0x11144, 0x11145, + 0x11147, + 0x11148, 0x11150, 0x11173, 0x11176, @@ -168076,7 +169990,7 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for ASCII/Latin1 */ 0x11447, 0x1144B, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -168102,7 +170016,19 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for ASCII/Latin1 */ 0x118A0, 0x118E0, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, 0x119A0, 0x119A8, 0x119AA, @@ -168151,6 +170077,8 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for ASCII/Latin1 */ 0x11D99, 0x11EE0, 0x11EF3, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12480, @@ -168188,7 +170116,9 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for ASCII/Latin1 */ 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -168346,7 +170276,7 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for ASCII/Latin1 */ 0x1EEAB, 0x1EEBC, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -168356,7 +170286,9 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for ASCII/Latin1 */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; # endif /* ASCII/Latin1 */ @@ -168367,7 +170299,7 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 1047 */ - 1257, /* Number of elements */ + 1283, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -168499,7 +170431,7 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 1047 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x904, 0x93A, 0x93D, @@ -168650,7 +170582,7 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 1047 */ 0xCE2, 0xCF1, 0xCF3, - 0xD05, + 0xD04, 0xD0D, 0xD0E, 0xD11, @@ -168991,13 +170923,13 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 1047 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -169021,8 +170953,8 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 1047 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA802, 0xA803, 0xA806, @@ -169097,7 +171029,7 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 1047 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABE3, 0xAC00, @@ -169278,12 +171210,18 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 1047 */ 0x10CF3, 0x10D00, 0x10D24, + 0x10E80, + 0x10EAA, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, @@ -169296,6 +171234,8 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 1047 */ 0x11127, 0x11144, 0x11145, + 0x11147, + 0x11148, 0x11150, 0x11173, 0x11176, @@ -169347,7 +171287,7 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 1047 */ 0x11447, 0x1144B, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -169373,7 +171313,19 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 1047 */ 0x118A0, 0x118E0, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, 0x119A0, 0x119A8, 0x119AA, @@ -169422,6 +171374,8 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 1047 */ 0x11D99, 0x11EE0, 0x11EF3, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12480, @@ -169459,7 +171413,9 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 1047 */ 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -169617,7 +171573,7 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 1047 */ 0x1EEAB, 0x1EEBC, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -169627,7 +171583,9 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 1047 */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; # endif /* EBCDIC 1047 */ @@ -169638,7 +171596,7 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 037 */ - 1253, /* Number of elements */ + 1279, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -169766,7 +171724,7 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 037 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x904, 0x93A, 0x93D, @@ -169917,7 +171875,7 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 037 */ 0xCE2, 0xCF1, 0xCF3, - 0xD05, + 0xD04, 0xD0D, 0xD0E, 0xD11, @@ -170258,13 +172216,13 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 037 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -170288,8 +172246,8 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 037 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA802, 0xA803, 0xA806, @@ -170364,7 +172322,7 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 037 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABE3, 0xAC00, @@ -170545,12 +172503,18 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 037 */ 0x10CF3, 0x10D00, 0x10D24, + 0x10E80, + 0x10EAA, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, @@ -170563,6 +172527,8 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 037 */ 0x11127, 0x11144, 0x11145, + 0x11147, + 0x11148, 0x11150, 0x11173, 0x11176, @@ -170614,7 +172580,7 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 037 */ 0x11447, 0x1144B, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -170640,7 +172606,19 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 037 */ 0x118A0, 0x118E0, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, 0x119A0, 0x119A8, 0x119AA, @@ -170689,6 +172667,8 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 037 */ 0x11D99, 0x11EE0, 0x11EF3, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12480, @@ -170726,7 +172706,9 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 037 */ 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -170884,7 +172866,7 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 037 */ 0x1EEAB, 0x1EEBC, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -170894,7 +172876,9 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 037 */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; # endif /* EBCDIC 037 */ @@ -170902,7 +172886,7 @@ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for ASCII/Latin1 */ - 1447, /* Number of elements */ + 1481, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -171018,7 +173002,7 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for ASCII/Latin1 * 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -171137,7 +173121,7 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for ASCII/Latin1 * 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -171230,8 +173214,6 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for ASCII/Latin1 * 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -171249,7 +173231,7 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for ASCII/Latin1 * 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -171449,6 +173431,8 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for ASCII/Latin1 * 0x1AA8, 0x1AB0, 0x1ABE, + 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -171618,13 +173602,13 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for ASCII/Latin1 * 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -171646,9 +173630,11 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for ASCII/Latin1 * 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA880, @@ -171700,7 +173686,7 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for ASCII/Latin1 * 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABEB, 0xABEC, @@ -171909,12 +173895,20 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for ASCII/Latin1 * 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -171932,7 +173926,7 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for ASCII/Latin1 * 0x11136, 0x11140, 0x11144, - 0x11147, + 0x11148, 0x11150, 0x11174, 0x11176, @@ -171941,7 +173935,7 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for ASCII/Latin1 * 0x111C5, 0x111C9, 0x111CD, - 0x111D0, + 0x111CE, 0x111DB, 0x111DC, 0x111DD, @@ -172000,7 +173994,7 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for ASCII/Latin1 * 0x11450, 0x1145A, 0x1145E, - 0x11460, + 0x11462, 0x11480, 0x114C6, 0x114C7, @@ -172034,7 +174028,21 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for ASCII/Latin1 * 0x118A0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11944, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -172095,6 +174103,8 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for ASCII/Latin1 * 0x11DAA, 0x11EE0, 0x11EF7, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -172136,11 +174146,15 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for ASCII/Latin1 * 0x16FE0, 0x16FE2, 0x16FE3, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -172339,8 +174353,10 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for ASCII/Latin1 * 0x1EEAA, 0x1EEAB, 0x1EEBC, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -172351,6 +174367,8 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for ASCII/Latin1 * 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0100, 0xE01F0 }; @@ -172363,7 +174381,7 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for ASCII/Latin1 * && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 1047 */ - 1473, /* Number of elements */ + 1507, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -172505,7 +174523,7 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 1047 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -172624,7 +174642,7 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 1047 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -172717,8 +174735,6 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 1047 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -172736,7 +174752,7 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 1047 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -172936,6 +174952,8 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 1047 */ 0x1AA8, 0x1AB0, 0x1ABE, + 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -173105,13 +175123,13 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 1047 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -173133,9 +175151,11 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 1047 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA880, @@ -173187,7 +175207,7 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 1047 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABEB, 0xABEC, @@ -173396,12 +175416,20 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 1047 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -173419,7 +175447,7 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 1047 */ 0x11136, 0x11140, 0x11144, - 0x11147, + 0x11148, 0x11150, 0x11174, 0x11176, @@ -173428,7 +175456,7 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 1047 */ 0x111C5, 0x111C9, 0x111CD, - 0x111D0, + 0x111CE, 0x111DB, 0x111DC, 0x111DD, @@ -173487,7 +175515,7 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 1047 */ 0x11450, 0x1145A, 0x1145E, - 0x11460, + 0x11462, 0x11480, 0x114C6, 0x114C7, @@ -173521,7 +175549,21 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 1047 */ 0x118A0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11944, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -173582,6 +175624,8 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 1047 */ 0x11DAA, 0x11EE0, 0x11EF7, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -173623,11 +175667,15 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 1047 */ 0x16FE0, 0x16FE2, 0x16FE3, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -173826,8 +175874,10 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 1047 */ 0x1EEAA, 0x1EEAB, 0x1EEBC, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -173838,6 +175888,8 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 1047 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0100, 0xE01F0 }; @@ -173850,7 +175902,7 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 037 */ - 1469, /* Number of elements */ + 1503, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -173988,7 +176040,7 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 037 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -174107,7 +176159,7 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 037 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -174200,8 +176252,6 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 037 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -174219,7 +176269,7 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 037 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -174419,6 +176469,8 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 037 */ 0x1AA8, 0x1AB0, 0x1ABE, + 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -174588,13 +176640,13 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 037 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -174616,9 +176668,11 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 037 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA880, @@ -174670,7 +176724,7 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 037 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABEB, 0xABEC, @@ -174879,12 +176933,20 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 037 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -174902,7 +176964,7 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 037 */ 0x11136, 0x11140, 0x11144, - 0x11147, + 0x11148, 0x11150, 0x11174, 0x11176, @@ -174911,7 +176973,7 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 037 */ 0x111C5, 0x111C9, 0x111CD, - 0x111D0, + 0x111CE, 0x111DB, 0x111DC, 0x111DD, @@ -174970,7 +177032,7 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 037 */ 0x11450, 0x1145A, 0x1145E, - 0x11460, + 0x11462, 0x11480, 0x114C6, 0x114C7, @@ -175004,7 +177066,21 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 037 */ 0x118A0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11944, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -175065,6 +177141,8 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 037 */ 0x11DAA, 0x11EE0, 0x11EF7, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -175106,11 +177184,15 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 037 */ 0x16FE0, 0x16FE2, 0x16FE3, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -175309,8 +177391,10 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 037 */ 0x1EEAA, 0x1EEAB, 0x1EEBC, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -175321,6 +177405,8 @@ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 037 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0100, 0xE01F0 }; @@ -175546,7 +177632,7 @@ static const UV UNI__PERL_FOLDS_TO_MULTI_CHAR_invlist[] = { /* for EBCDIC 037 * # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI__PERL_IDCONT_invlist[] = { /* for ASCII/Latin1 */ - 1441, /* Number of elements */ + 1475, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -175656,7 +177742,7 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for ASCII/Latin1 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -175775,7 +177861,7 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for ASCII/Latin1 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -175868,8 +177954,6 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for ASCII/Latin1 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -175887,7 +177971,7 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for ASCII/Latin1 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -176087,6 +178171,8 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for ASCII/Latin1 */ 0x1AA8, 0x1AB0, 0x1ABE, + 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -176256,13 +178342,13 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for ASCII/Latin1 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -176284,9 +178370,11 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for ASCII/Latin1 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA880, @@ -176338,7 +178426,7 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for ASCII/Latin1 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABEB, 0xABEC, @@ -176547,12 +178635,20 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for ASCII/Latin1 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -176570,7 +178666,7 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for ASCII/Latin1 */ 0x11136, 0x11140, 0x11144, - 0x11147, + 0x11148, 0x11150, 0x11174, 0x11176, @@ -176579,7 +178675,7 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for ASCII/Latin1 */ 0x111C5, 0x111C9, 0x111CD, - 0x111D0, + 0x111CE, 0x111DB, 0x111DC, 0x111DD, @@ -176638,7 +178734,7 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for ASCII/Latin1 */ 0x11450, 0x1145A, 0x1145E, - 0x11460, + 0x11462, 0x11480, 0x114C6, 0x114C7, @@ -176672,7 +178768,21 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for ASCII/Latin1 */ 0x118A0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11944, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -176733,6 +178843,8 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for ASCII/Latin1 */ 0x11DAA, 0x11EE0, 0x11EF7, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -176774,11 +178886,15 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for ASCII/Latin1 */ 0x16FE0, 0x16FE2, 0x16FE3, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -176977,8 +179093,10 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for ASCII/Latin1 */ 0x1EEAA, 0x1EEAB, 0x1EEBC, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -176989,6 +179107,8 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for ASCII/Latin1 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0100, 0xE01F0 }; @@ -177001,7 +179121,7 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 1047 */ - 1465, /* Number of elements */ + 1499, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -177135,7 +179255,7 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 1047 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -177254,7 +179374,7 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 1047 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -177347,8 +179467,6 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 1047 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -177366,7 +179484,7 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 1047 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -177566,6 +179684,8 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 1047 */ 0x1AA8, 0x1AB0, 0x1ABE, + 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -177735,13 +179855,13 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 1047 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -177763,9 +179883,11 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 1047 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA880, @@ -177817,7 +179939,7 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 1047 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABEB, 0xABEC, @@ -178026,12 +180148,20 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 1047 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -178049,7 +180179,7 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 1047 */ 0x11136, 0x11140, 0x11144, - 0x11147, + 0x11148, 0x11150, 0x11174, 0x11176, @@ -178058,7 +180188,7 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 1047 */ 0x111C5, 0x111C9, 0x111CD, - 0x111D0, + 0x111CE, 0x111DB, 0x111DC, 0x111DD, @@ -178117,7 +180247,7 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 1047 */ 0x11450, 0x1145A, 0x1145E, - 0x11460, + 0x11462, 0x11480, 0x114C6, 0x114C7, @@ -178151,7 +180281,21 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 1047 */ 0x118A0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11944, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -178212,6 +180356,8 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 1047 */ 0x11DAA, 0x11EE0, 0x11EF7, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -178253,11 +180399,15 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 1047 */ 0x16FE0, 0x16FE2, 0x16FE3, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -178456,8 +180606,10 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 1047 */ 0x1EEAA, 0x1EEAB, 0x1EEBC, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -178468,6 +180620,8 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 1047 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0100, 0xE01F0 }; @@ -178480,7 +180634,7 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 037 */ - 1461, /* Number of elements */ + 1495, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -178610,7 +180764,7 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 037 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -178729,7 +180883,7 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 037 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -178822,8 +180976,6 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 037 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -178841,7 +180993,7 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 037 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -179041,6 +181193,8 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 037 */ 0x1AA8, 0x1AB0, 0x1ABE, + 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -179210,13 +181364,13 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 037 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -179238,9 +181392,11 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 037 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA880, @@ -179292,7 +181448,7 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 037 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABEB, 0xABEC, @@ -179501,12 +181657,20 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 037 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -179524,7 +181688,7 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 037 */ 0x11136, 0x11140, 0x11144, - 0x11147, + 0x11148, 0x11150, 0x11174, 0x11176, @@ -179533,7 +181697,7 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 037 */ 0x111C5, 0x111C9, 0x111CD, - 0x111D0, + 0x111CE, 0x111DB, 0x111DC, 0x111DD, @@ -179592,7 +181756,7 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 037 */ 0x11450, 0x1145A, 0x1145E, - 0x11460, + 0x11462, 0x11480, 0x114C6, 0x114C7, @@ -179626,7 +181790,21 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 037 */ 0x118A0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11944, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -179687,6 +181865,8 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 037 */ 0x11DAA, 0x11EE0, 0x11EF7, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -179728,11 +181908,15 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 037 */ 0x16FE0, 0x16FE2, 0x16FE3, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -179931,8 +182115,10 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 037 */ 0x1EEAA, 0x1EEAB, 0x1EEBC, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -179943,6 +182129,8 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 037 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0100, 0xE01F0 }; @@ -179952,7 +182140,7 @@ static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI__PERL_IDSTART_invlist[] = { /* for ASCII/Latin1 */ - 1237, /* Number of elements */ + 1263, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -180060,7 +182248,7 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for ASCII/Latin1 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x904, 0x93A, 0x93D, @@ -180211,7 +182399,7 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for ASCII/Latin1 */ 0xCE2, 0xCF1, 0xCF3, - 0xD05, + 0xD04, 0xD0D, 0xD0E, 0xD11, @@ -180552,13 +182740,13 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for ASCII/Latin1 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -180582,8 +182770,8 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for ASCII/Latin1 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA802, 0xA803, 0xA806, @@ -180658,7 +182846,7 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for ASCII/Latin1 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABE3, 0xAC00, @@ -180841,12 +183029,18 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for ASCII/Latin1 */ 0x10CF3, 0x10D00, 0x10D24, + 0x10E80, + 0x10EAA, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, @@ -180859,6 +183053,8 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for ASCII/Latin1 */ 0x11127, 0x11144, 0x11145, + 0x11147, + 0x11148, 0x11150, 0x11173, 0x11176, @@ -180910,7 +183106,7 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for ASCII/Latin1 */ 0x11447, 0x1144B, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -180936,7 +183132,19 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for ASCII/Latin1 */ 0x118A0, 0x118E0, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, 0x119A0, 0x119A8, 0x119AA, @@ -180985,6 +183193,8 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for ASCII/Latin1 */ 0x11D99, 0x11EE0, 0x11EF3, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -181024,7 +183234,9 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for ASCII/Latin1 */ 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -181182,7 +183394,7 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for ASCII/Latin1 */ 0x1EEAB, 0x1EEBC, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -181192,7 +183404,9 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for ASCII/Latin1 */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; # endif /* ASCII/Latin1 */ @@ -181203,7 +183417,7 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 1047 */ - 1263, /* Number of elements */ + 1289, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -181337,7 +183551,7 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 1047 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x904, 0x93A, 0x93D, @@ -181488,7 +183702,7 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 1047 */ 0xCE2, 0xCF1, 0xCF3, - 0xD05, + 0xD04, 0xD0D, 0xD0E, 0xD11, @@ -181829,13 +184043,13 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 1047 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -181859,8 +184073,8 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 1047 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA802, 0xA803, 0xA806, @@ -181935,7 +184149,7 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 1047 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABE3, 0xAC00, @@ -182118,12 +184332,18 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 1047 */ 0x10CF3, 0x10D00, 0x10D24, + 0x10E80, + 0x10EAA, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, @@ -182136,6 +184356,8 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 1047 */ 0x11127, 0x11144, 0x11145, + 0x11147, + 0x11148, 0x11150, 0x11173, 0x11176, @@ -182187,7 +184409,7 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 1047 */ 0x11447, 0x1144B, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -182213,7 +184435,19 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 1047 */ 0x118A0, 0x118E0, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, 0x119A0, 0x119A8, 0x119AA, @@ -182262,6 +184496,8 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 1047 */ 0x11D99, 0x11EE0, 0x11EF3, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -182301,7 +184537,9 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 1047 */ 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -182459,7 +184697,7 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 1047 */ 0x1EEAB, 0x1EEBC, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -182469,7 +184707,9 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 1047 */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; # endif /* EBCDIC 1047 */ @@ -182480,7 +184720,7 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 037 */ - 1259, /* Number of elements */ + 1285, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -182610,7 +184850,7 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 037 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x904, 0x93A, 0x93D, @@ -182761,7 +185001,7 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 037 */ 0xCE2, 0xCF1, 0xCF3, - 0xD05, + 0xD04, 0xD0D, 0xD0E, 0xD11, @@ -183102,13 +185342,13 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 037 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -183132,8 +185372,8 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 037 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA802, 0xA803, 0xA806, @@ -183208,7 +185448,7 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 037 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABE3, 0xAC00, @@ -183391,12 +185631,18 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 037 */ 0x10CF3, 0x10D00, 0x10D24, + 0x10E80, + 0x10EAA, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, @@ -183409,6 +185655,8 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 037 */ 0x11127, 0x11144, 0x11145, + 0x11147, + 0x11148, 0x11150, 0x11173, 0x11176, @@ -183460,7 +185708,7 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 037 */ 0x11447, 0x1144B, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -183486,7 +185734,19 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 037 */ 0x118A0, 0x118E0, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, 0x119A0, 0x119A8, 0x119AA, @@ -183535,6 +185795,8 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 037 */ 0x11D99, 0x11EE0, 0x11EF3, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -183574,7 +185836,9 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 037 */ 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -183732,7 +185996,7 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 037 */ 0x1EEAB, 0x1EEBC, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -183742,7 +186006,9 @@ static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 037 */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; # endif /* EBCDIC 037 */ @@ -184027,162 +186293,6 @@ static const UV UNI__PERL_IS_IN_MULTI_CHAR_FOLD_invlist[] = { /* for EBCDIC 037 # endif /* EBCDIC 037 */ -# if 'A' == 65 /* ASCII/Latin1 */ - -static const UV UNI__PERL_NON_FINAL_FOLDS_invlist[] = { /* for ASCII/Latin1 */ - 39, /* Number of elements */ - 148565664, /* Version and data structure type */ - 1, /* 0 if the list starts at 0; - 1 if it starts at the element beyond 0 */ - 0x0, - 0x66, - 0x67, - 0x69, - 0x6A, - 0x6C, - 0x6D, - 0x6E, - 0x6F, - 0x73, - 0x75, - 0x2BE, - 0x2BF, - 0x300, - 0x302, - 0x307, - 0x309, - 0x30A, - 0x30B, - 0x30C, - 0x30D, - 0x313, - 0x314, - 0x331, - 0x332, - 0x342, - 0x343, - 0x3B9, - 0x3BA, - 0x565, - 0x566, - 0x56B, - 0x56C, - 0x56D, - 0x56E, - 0x576, - 0x577, - 0x582, - 0x583 -}; - -# endif /* ASCII/Latin1 */ - -# if 'A' == 193 /* EBCDIC 1047 */ \ - && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ - && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ - && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 - -static const UV UNI__PERL_NON_FINAL_FOLDS_invlist[] = { /* for EBCDIC 1047 */ - 39, /* Number of elements */ - 148565664, /* Version and data structure type */ - 1, /* 0 if the list starts at 0; - 1 if it starts at the element beyond 0 */ - 0x0, - 0x86, - 0x87, - 0x89, - 0x8A, - 0x93, - 0x94, - 0x95, - 0x96, - 0xA2, - 0xA4, - 0x2BE, - 0x2BF, - 0x300, - 0x302, - 0x307, - 0x309, - 0x30A, - 0x30B, - 0x30C, - 0x30D, - 0x313, - 0x314, - 0x331, - 0x332, - 0x342, - 0x343, - 0x3B9, - 0x3BA, - 0x565, - 0x566, - 0x56B, - 0x56C, - 0x56D, - 0x56E, - 0x576, - 0x577, - 0x582, - 0x583 -}; - -# endif /* EBCDIC 1047 */ - -# if 'A' == 193 /* EBCDIC 037 */ \ - && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ - && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ - && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 - -static const UV UNI__PERL_NON_FINAL_FOLDS_invlist[] = { /* for EBCDIC 037 */ - 39, /* Number of elements */ - 148565664, /* Version and data structure type */ - 1, /* 0 if the list starts at 0; - 1 if it starts at the element beyond 0 */ - 0x0, - 0x86, - 0x87, - 0x89, - 0x8A, - 0x93, - 0x94, - 0x95, - 0x96, - 0xA2, - 0xA4, - 0x2BE, - 0x2BF, - 0x300, - 0x302, - 0x307, - 0x309, - 0x30A, - 0x30B, - 0x30C, - 0x30D, - 0x313, - 0x314, - 0x331, - 0x332, - 0x342, - 0x343, - 0x3B9, - 0x3BA, - 0x565, - 0x566, - 0x56B, - 0x56C, - 0x56D, - 0x56E, - 0x576, - 0x577, - 0x582, - 0x583 -}; - -# endif /* EBCDIC 037 */ - static const UV UNI__PERL_PROBLEMATIC_LOCALE_FOLDEDS_START_invlist[] = { /* for all charsets */ 26, /* Number of elements */ 148565664, /* Version and data structure type */ @@ -184926,6 +187036,132 @@ static const UV UNI_AGE__12_DOT_1_invlist[] = { /* for all charsets */ 0x3300 }; +static const UV UNI_AGE__13_invlist[] = { /* for all charsets */ + 119, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x8BE, + 0x8C8, + 0xB55, + 0xB56, + 0xD04, + 0xD05, + 0xD81, + 0xD82, + 0x1ABF, + 0x1AC1, + 0x2B97, + 0x2B98, + 0x2E50, + 0x2E53, + 0x31BB, + 0x31C0, + 0x4DB6, + 0x4DC0, + 0x9FF0, + 0x9FFD, + 0xA7C7, + 0xA7CB, + 0xA7F5, + 0xA7F7, + 0xA82C, + 0xA82D, + 0xAB68, + 0xAB6C, + 0x1019C, + 0x1019D, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAE, + 0x10EB0, + 0x10EB2, + 0x10FB0, + 0x10FCC, + 0x11147, + 0x11148, + 0x111CE, + 0x111D0, + 0x1145A, + 0x1145B, + 0x11460, + 0x11462, + 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11947, + 0x11950, + 0x1195A, + 0x11FB0, + 0x11FB1, + 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, + 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, + 0x1F10D, + 0x1F110, + 0x1F16D, + 0x1F170, + 0x1F1AD, + 0x1F1AE, + 0x1F6D6, + 0x1F6D8, + 0x1F6FB, + 0x1F6FD, + 0x1F8B0, + 0x1F8B2, + 0x1F90C, + 0x1F90D, + 0x1F972, + 0x1F973, + 0x1F977, + 0x1F979, + 0x1F9A3, + 0x1F9A5, + 0x1F9AB, + 0x1F9AE, + 0x1F9CB, + 0x1F9CC, + 0x1FA74, + 0x1FA75, + 0x1FA83, + 0x1FA87, + 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, + 0x2A6D7, + 0x2A6DE, + 0x30000, + 0x3134B +}; + static const UV UNI_AGE__2_invlist[] = { /* for all charsets */ 59, /* Number of elements */ 148565664, /* Version and data structure type */ @@ -187211,7 +189447,7 @@ static const UV UNI_AGE__9_invlist[] = { /* for all charsets */ }; static const UV UNI_AGE__NA_invlist[] = { /* for all charsets */ - 1352, /* Number of elements */ + 1372, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -187262,7 +189498,7 @@ static const UV UNI_AGE__NA_invlist[] = { /* for all charsets */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x984, 0x985, @@ -187371,7 +189607,7 @@ static const UV UNI_AGE__NA_invlist[] = { /* for all charsets */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -187460,8 +189696,6 @@ static const UV UNI_AGE__NA_invlist[] = { /* for all charsets */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -187475,7 +189709,7 @@ static const UV UNI_AGE__NA_invlist[] = { /* for all charsets */ 0xD64, 0xD66, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -187648,7 +189882,7 @@ static const UV UNI_AGE__NA_invlist[] = { /* for all charsets */ 0x1AA0, 0x1AAE, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -187723,7 +189957,7 @@ static const UV UNI_AGE__NA_invlist[] = { /* for all charsets */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, @@ -187758,7 +189992,7 @@ static const UV UNI_AGE__NA_invlist[] = { /* for all charsets */ 0x2DD8, 0x2DDF, 0x2DE0, - 0x2E50, + 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, @@ -187778,15 +190012,11 @@ static const UV UNI_AGE__NA_invlist[] = { /* for all charsets */ 0x3131, 0x318F, 0x3190, - 0x31BB, - 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, - 0x4DB6, - 0x4DC0, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA490, @@ -187798,9 +190028,9 @@ static const UV UNI_AGE__NA_invlist[] = { /* for all charsets */ 0xA700, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, - 0xA82C, + 0xA7CB, + 0xA7F5, + 0xA82D, 0xA830, 0xA83A, 0xA840, @@ -187840,7 +190070,7 @@ static const UV UNI_AGE__NA_invlist[] = { /* for all charsets */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6C, 0xAB70, 0xABEE, 0xABF0, @@ -187928,7 +190158,7 @@ static const UV UNI_AGE__NA_invlist[] = { /* for all charsets */ 0x10137, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -188047,10 +190277,18 @@ static const UV UNI_AGE__NA_invlist[] = { /* for all charsets */ 0x10D3A, 0x10E60, 0x10E7F, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAE, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, + 0x10FB0, + 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, @@ -188068,12 +190306,10 @@ static const UV UNI_AGE__NA_invlist[] = { /* for all charsets */ 0x11100, 0x11135, 0x11136, - 0x11147, + 0x11148, 0x11150, 0x11177, 0x11180, - 0x111CE, - 0x111D0, 0x111E0, 0x111E1, 0x111F5, @@ -188126,11 +190362,9 @@ static const UV UNI_AGE__NA_invlist[] = { /* for all charsets */ 0x11370, 0x11375, 0x11400, - 0x1145A, - 0x1145B, 0x1145C, 0x1145D, - 0x11460, + 0x11462, 0x11480, 0x114C8, 0x114D0, @@ -188160,7 +190394,21 @@ static const UV UNI_AGE__NA_invlist[] = { /* for all charsets */ 0x118A0, 0x118F3, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11947, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -188215,6 +190463,8 @@ static const UV UNI_AGE__NA_invlist[] = { /* for all charsets */ 0x11DAA, 0x11EE0, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, @@ -188262,11 +190512,15 @@ static const UV UNI_AGE__NA_invlist[] = { /* for all charsets */ 0x16F8F, 0x16FA0, 0x16FE0, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -188462,11 +190716,7 @@ static const UV UNI_AGE__NA_invlist[] = { /* for all charsets */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, @@ -188478,11 +190728,11 @@ static const UV UNI_AGE__NA_invlist[] = { /* for all charsets */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -188499,32 +190749,38 @@ static const UV UNI_AGE__NA_invlist[] = { /* for all charsets */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0x1FFFE, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -188536,7 +190792,7 @@ static const UV UNI_AGE__NA_invlist[] = { /* for all charsets */ 0x2F800, 0x2FA1E, 0x2FFFE, - 0x30000, + 0x3134B, 0x3FFFE, 0x40000, 0x4FFFE, @@ -188681,7 +190937,7 @@ static const UV UNI_ARAB_invlist[] = { /* for all charsets */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -189460,7 +191716,7 @@ static const UV UNI_BC__CS_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_BC__EN_invlist[] = { /* for ASCII/Latin1 */ - 25, /* Number of elements */ + 27, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -189488,7 +191744,9 @@ static const UV UNI_BC__EN_invlist[] = { /* for ASCII/Latin1 */ 0x1D7CE, 0x1D800, 0x1F100, - 0x1F10B + 0x1F10B, + 0x1FBF0, + 0x1FBFA }; # endif /* ASCII/Latin1 */ @@ -189499,7 +191757,7 @@ static const UV UNI_BC__EN_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_BC__EN_invlist[] = { /* for EBCDIC 1047 */ - 25, /* Number of elements */ + 27, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -189527,7 +191785,9 @@ static const UV UNI_BC__EN_invlist[] = { /* for EBCDIC 1047 */ 0x1D7CE, 0x1D800, 0x1F100, - 0x1F10B + 0x1F10B, + 0x1FBF0, + 0x1FBFA }; # endif /* EBCDIC 1047 */ @@ -189538,7 +191798,7 @@ static const UV UNI_BC__EN_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_BC__EN_invlist[] = { /* for EBCDIC 037 */ - 25, /* Number of elements */ + 27, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -189566,7 +191826,9 @@ static const UV UNI_BC__EN_invlist[] = { /* for EBCDIC 037 */ 0x1D7CE, 0x1D800, 0x1F100, - 0x1F10B + 0x1F10B, + 0x1FBF0, + 0x1FBFA }; # endif /* EBCDIC 037 */ @@ -189882,7 +192144,7 @@ static const UV UNI_BC__FSI_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_BC__L_invlist[] = { /* for ASCII/Latin1 */ - 904, /* Number of elements */ + 926, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -189998,7 +192260,7 @@ static const UV UNI_BC__L_invlist[] = { /* for ASCII/Latin1 */ 0xB45, 0xB4D, 0xB4E, - 0xB56, + 0xB55, 0xB57, 0xB62, 0xB64, @@ -190044,6 +192306,8 @@ static const UV UNI_BC__L_invlist[] = { /* for ASCII/Latin1 */ 0xD4E, 0xD62, 0xD64, + 0xD81, + 0xD82, 0xDCA, 0xDCB, 0xDD2, @@ -190177,7 +192441,7 @@ static const UV UNI_BC__L_invlist[] = { /* for ASCII/Latin1 */ 0x1A7F, 0x1A80, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B04, 0x1B34, @@ -190296,7 +192560,7 @@ static const UV UNI_BC__L_invlist[] = { /* for ASCII/Latin1 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C00, 0x2CE5, 0x2CEB, @@ -190307,7 +192571,7 @@ static const UV UNI_BC__L_invlist[] = { /* for ASCII/Latin1 */ 0x2D7F, 0x2D80, 0x2DE0, - 0x2E50, + 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, @@ -190377,7 +192641,7 @@ static const UV UNI_BC__L_invlist[] = { /* for ASCII/Latin1 */ 0xA825, 0xA827, 0xA828, - 0xA82C, + 0xA82D, 0xA838, 0xA83A, 0xA874, @@ -190428,6 +192692,8 @@ static const UV UNI_BC__L_invlist[] = { /* for ASCII/Latin1 */ 0xAAEE, 0xAAF6, 0xAAF7, + 0xAB6A, + 0xAB6C, 0xABE5, 0xABE6, 0xABE8, @@ -190461,7 +192727,7 @@ static const UV UNI_BC__L_invlist[] = { /* for ASCII/Latin1 */ 0x10140, 0x1018D, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101FD, @@ -190498,6 +192764,8 @@ static const UV UNI_BC__L_invlist[] = { /* for ASCII/Latin1 */ 0x111BF, 0x111C9, 0x111CD, + 0x111CF, + 0x111D0, 0x1122F, 0x11232, 0x11234, @@ -190570,6 +192838,12 @@ static const UV UNI_BC__L_invlist[] = { /* for ASCII/Latin1 */ 0x11838, 0x11839, 0x1183B, + 0x1193B, + 0x1193D, + 0x1193E, + 0x1193F, + 0x11943, + 0x11944, 0x119D4, 0x119D8, 0x119DA, @@ -190636,6 +192910,8 @@ static const UV UNI_BC__L_invlist[] = { /* for ASCII/Latin1 */ 0x16F93, 0x16FE2, 0x16FE3, + 0x16FE4, + 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1BCA0, @@ -190705,19 +192981,21 @@ static const UV UNI_BC__L_invlist[] = { /* for ASCII/Latin1 */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, + 0x1F110, 0x1F12F, 0x1F130, 0x1F16A, - 0x1F16D, + 0x1F170, + 0x1F1AD, + 0x1F1AE, 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -190734,30 +193012,36 @@ static const UV UNI_BC__L_invlist[] = { /* for ASCII/Latin1 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0x1FFFE, 0x20000, 0x2FFFE, @@ -190800,7 +193084,7 @@ static const UV UNI_BC__L_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 1047 */ - 930, /* Number of elements */ + 952, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -190942,7 +193226,7 @@ static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 1047 */ 0xB45, 0xB4D, 0xB4E, - 0xB56, + 0xB55, 0xB57, 0xB62, 0xB64, @@ -190988,6 +193272,8 @@ static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 1047 */ 0xD4E, 0xD62, 0xD64, + 0xD81, + 0xD82, 0xDCA, 0xDCB, 0xDD2, @@ -191121,7 +193407,7 @@ static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 1047 */ 0x1A7F, 0x1A80, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B04, 0x1B34, @@ -191240,7 +193526,7 @@ static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 1047 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C00, 0x2CE5, 0x2CEB, @@ -191251,7 +193537,7 @@ static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 1047 */ 0x2D7F, 0x2D80, 0x2DE0, - 0x2E50, + 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, @@ -191321,7 +193607,7 @@ static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 1047 */ 0xA825, 0xA827, 0xA828, - 0xA82C, + 0xA82D, 0xA838, 0xA83A, 0xA874, @@ -191372,6 +193658,8 @@ static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 1047 */ 0xAAEE, 0xAAF6, 0xAAF7, + 0xAB6A, + 0xAB6C, 0xABE5, 0xABE6, 0xABE8, @@ -191405,7 +193693,7 @@ static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 1047 */ 0x10140, 0x1018D, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101FD, @@ -191442,6 +193730,8 @@ static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 1047 */ 0x111BF, 0x111C9, 0x111CD, + 0x111CF, + 0x111D0, 0x1122F, 0x11232, 0x11234, @@ -191514,6 +193804,12 @@ static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 1047 */ 0x11838, 0x11839, 0x1183B, + 0x1193B, + 0x1193D, + 0x1193E, + 0x1193F, + 0x11943, + 0x11944, 0x119D4, 0x119D8, 0x119DA, @@ -191580,6 +193876,8 @@ static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 1047 */ 0x16F93, 0x16FE2, 0x16FE3, + 0x16FE4, + 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1BCA0, @@ -191649,19 +193947,21 @@ static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 1047 */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, + 0x1F110, 0x1F12F, 0x1F130, 0x1F16A, - 0x1F16D, + 0x1F170, + 0x1F1AD, + 0x1F1AE, 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -191678,30 +193978,36 @@ static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 1047 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0x1FFFE, 0x20000, 0x2FFFE, @@ -191744,7 +194050,7 @@ static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 037 */ - 926, /* Number of elements */ + 948, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -191882,7 +194188,7 @@ static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 037 */ 0xB45, 0xB4D, 0xB4E, - 0xB56, + 0xB55, 0xB57, 0xB62, 0xB64, @@ -191928,6 +194234,8 @@ static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 037 */ 0xD4E, 0xD62, 0xD64, + 0xD81, + 0xD82, 0xDCA, 0xDCB, 0xDD2, @@ -192061,7 +194369,7 @@ static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 037 */ 0x1A7F, 0x1A80, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B04, 0x1B34, @@ -192180,7 +194488,7 @@ static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 037 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C00, 0x2CE5, 0x2CEB, @@ -192191,7 +194499,7 @@ static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 037 */ 0x2D7F, 0x2D80, 0x2DE0, - 0x2E50, + 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, @@ -192261,7 +194569,7 @@ static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 037 */ 0xA825, 0xA827, 0xA828, - 0xA82C, + 0xA82D, 0xA838, 0xA83A, 0xA874, @@ -192312,6 +194620,8 @@ static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 037 */ 0xAAEE, 0xAAF6, 0xAAF7, + 0xAB6A, + 0xAB6C, 0xABE5, 0xABE6, 0xABE8, @@ -192345,7 +194655,7 @@ static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 037 */ 0x10140, 0x1018D, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101FD, @@ -192382,6 +194692,8 @@ static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 037 */ 0x111BF, 0x111C9, 0x111CD, + 0x111CF, + 0x111D0, 0x1122F, 0x11232, 0x11234, @@ -192454,6 +194766,12 @@ static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 037 */ 0x11838, 0x11839, 0x1183B, + 0x1193B, + 0x1193D, + 0x1193E, + 0x1193F, + 0x11943, + 0x11944, 0x119D4, 0x119D8, 0x119DA, @@ -192520,6 +194838,8 @@ static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 037 */ 0x16F93, 0x16FE2, 0x16FE3, + 0x16FE4, + 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1BCA0, @@ -192589,19 +194909,21 @@ static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 037 */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, + 0x1F110, 0x1F12F, 0x1F130, 0x1F16A, - 0x1F16D, + 0x1F170, + 0x1F1AD, + 0x1F1AE, 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -192618,30 +194940,36 @@ static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 037 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0x1FFFE, 0x20000, 0x2FFFE, @@ -192709,7 +195037,7 @@ static const UV UNI_BC__LRO_invlist[] = { /* for all charsets */ }; static const UV UNI_BC__NSM_invlist[] = { /* for all charsets */ - 629, /* Number of elements */ + 645, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -192830,7 +195158,7 @@ static const UV UNI_BC__NSM_invlist[] = { /* for all charsets */ 0xB45, 0xB4D, 0xB4E, - 0xB56, + 0xB55, 0xB57, 0xB62, 0xB64, @@ -192872,6 +195200,8 @@ static const UV UNI_BC__NSM_invlist[] = { /* for all charsets */ 0xD4E, 0xD62, 0xD64, + 0xD81, + 0xD82, 0xDCA, 0xDCB, 0xDD2, @@ -192985,7 +195315,7 @@ static const UV UNI_BC__NSM_invlist[] = { /* for all charsets */ 0x1A7F, 0x1A80, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B04, 0x1B34, @@ -193062,6 +195392,8 @@ static const UV UNI_BC__NSM_invlist[] = { /* for all charsets */ 0xA80C, 0xA825, 0xA827, + 0xA82C, + 0xA82D, 0xA8C4, 0xA8C6, 0xA8E0, @@ -193140,6 +195472,8 @@ static const UV UNI_BC__NSM_invlist[] = { /* for all charsets */ 0x10AE7, 0x10D24, 0x10D28, + 0x10EAB, + 0x10EAD, 0x10F46, 0x10F51, 0x11001, @@ -193166,6 +195500,8 @@ static const UV UNI_BC__NSM_invlist[] = { /* for all charsets */ 0x111BF, 0x111C9, 0x111CD, + 0x111CF, + 0x111D0, 0x1122F, 0x11232, 0x11234, @@ -193236,6 +195572,12 @@ static const UV UNI_BC__NSM_invlist[] = { /* for all charsets */ 0x11838, 0x11839, 0x1183B, + 0x1193B, + 0x1193D, + 0x1193E, + 0x1193F, + 0x11943, + 0x11944, 0x119D4, 0x119D8, 0x119DA, @@ -193298,6 +195640,8 @@ static const UV UNI_BC__NSM_invlist[] = { /* for all charsets */ 0x16F50, 0x16F8F, 0x16F93, + 0x16FE4, + 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1D167, @@ -193347,7 +195691,7 @@ static const UV UNI_BC__NSM_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_BC__ON_invlist[] = { /* for ASCII/Latin1 */ - 369, /* Number of elements */ + 377, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -193508,14 +195852,14 @@ static const UV UNI_BC__ON_invlist[] = { /* for ASCII/Latin1 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C00, 0x2CE5, 0x2CEB, 0x2CF9, 0x2D00, 0x2E00, - 0x2E50, + 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, @@ -193576,6 +195920,8 @@ static const UV UNI_BC__ON_invlist[] = { /* for ASCII/Latin1 */ 0xA82C, 0xA874, 0xA878, + 0xAB6A, + 0xAB6C, 0xFD3E, 0xFD40, 0xFDFD, @@ -193619,7 +195965,7 @@ static const UV UNI_BC__ON_invlist[] = { /* for ASCII/Latin1 */ 0x10140, 0x1018D, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x1091F, @@ -193667,19 +196013,21 @@ static const UV UNI_BC__ON_invlist[] = { /* for ASCII/Latin1 */ 0x1F0D1, 0x1F0F6, 0x1F10B, - 0x1F10D, + 0x1F110, 0x1F12F, 0x1F130, 0x1F16A, - 0x1F16D, + 0x1F170, + 0x1F1AD, + 0x1F1AE, 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -193696,30 +196044,34 @@ static const UV UNI_BC__ON_invlist[] = { /* for ASCII/Latin1 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96 + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB }; # endif /* ASCII/Latin1 */ @@ -193730,7 +196082,7 @@ static const UV UNI_BC__ON_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_BC__ON_invlist[] = { /* for EBCDIC 1047 */ - 377, /* Number of elements */ + 385, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -193899,14 +196251,14 @@ static const UV UNI_BC__ON_invlist[] = { /* for EBCDIC 1047 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C00, 0x2CE5, 0x2CEB, 0x2CF9, 0x2D00, 0x2E00, - 0x2E50, + 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, @@ -193967,6 +196319,8 @@ static const UV UNI_BC__ON_invlist[] = { /* for EBCDIC 1047 */ 0xA82C, 0xA874, 0xA878, + 0xAB6A, + 0xAB6C, 0xFD3E, 0xFD40, 0xFDFD, @@ -194010,7 +196364,7 @@ static const UV UNI_BC__ON_invlist[] = { /* for EBCDIC 1047 */ 0x10140, 0x1018D, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x1091F, @@ -194058,19 +196412,21 @@ static const UV UNI_BC__ON_invlist[] = { /* for EBCDIC 1047 */ 0x1F0D1, 0x1F0F6, 0x1F10B, - 0x1F10D, + 0x1F110, 0x1F12F, 0x1F130, 0x1F16A, - 0x1F16D, + 0x1F170, + 0x1F1AD, + 0x1F1AE, 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -194087,30 +196443,34 @@ static const UV UNI_BC__ON_invlist[] = { /* for EBCDIC 1047 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96 + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB }; # endif /* EBCDIC 1047 */ @@ -194121,7 +196481,7 @@ static const UV UNI_BC__ON_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_BC__ON_invlist[] = { /* for EBCDIC 037 */ - 373, /* Number of elements */ + 381, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -194286,14 +196646,14 @@ static const UV UNI_BC__ON_invlist[] = { /* for EBCDIC 037 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C00, 0x2CE5, 0x2CEB, 0x2CF9, 0x2D00, 0x2E00, - 0x2E50, + 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, @@ -194354,6 +196714,8 @@ static const UV UNI_BC__ON_invlist[] = { /* for EBCDIC 037 */ 0xA82C, 0xA874, 0xA878, + 0xAB6A, + 0xAB6C, 0xFD3E, 0xFD40, 0xFDFD, @@ -194397,7 +196759,7 @@ static const UV UNI_BC__ON_invlist[] = { /* for EBCDIC 037 */ 0x10140, 0x1018D, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x1091F, @@ -194445,19 +196807,21 @@ static const UV UNI_BC__ON_invlist[] = { /* for EBCDIC 037 */ 0x1F0D1, 0x1F0F6, 0x1F10B, - 0x1F10D, + 0x1F110, 0x1F12F, 0x1F130, 0x1F16A, - 0x1F16D, + 0x1F170, + 0x1F1AD, + 0x1F1AE, 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -194474,30 +196838,34 @@ static const UV UNI_BC__ON_invlist[] = { /* for EBCDIC 037 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96 + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB }; # endif /* EBCDIC 037 */ @@ -194523,7 +196891,7 @@ static const UV UNI_BC__PDI_invlist[] = { /* for all charsets */ }; static const UV UNI_BC__R_invlist[] = { /* for all charsets */ - 77, /* Number of elements */ + 79, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -194589,6 +196957,8 @@ static const UV UNI_BC__R_invlist[] = { /* for all charsets */ 0x10D40, 0x10E60, 0x10E7F, + 0x10EAB, + 0x10EAD, 0x10F30, 0x10F70, 0x11000, @@ -195621,7 +197991,7 @@ static const UV UNI_BOPO_invlist[] = { /* for all charsets */ 0x3105, 0x3130, 0x31A0, - 0x31BB, + 0x31C0, 0xFE45, 0xFE47, 0xFF61, @@ -196733,7 +199103,7 @@ static const UV UNI_BYZANTINEMUSIC_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_C_invlist[] = { /* for ASCII/Latin1 */ - 1335, /* Number of elements */ + 1357, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -196791,7 +199161,7 @@ static const UV UNI_C_invlist[] = { /* for ASCII/Latin1 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -196902,7 +199272,7 @@ static const UV UNI_C_invlist[] = { /* for ASCII/Latin1 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -196991,8 +199361,6 @@ static const UV UNI_C_invlist[] = { /* for ASCII/Latin1 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -197006,7 +199374,7 @@ static const UV UNI_C_invlist[] = { /* for ASCII/Latin1 */ 0xD64, 0xD66, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -197179,7 +199547,7 @@ static const UV UNI_C_invlist[] = { /* for ASCII/Latin1 */ 0x1AA0, 0x1AAE, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -197258,7 +199626,7 @@ static const UV UNI_C_invlist[] = { /* for ASCII/Latin1 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, @@ -197293,7 +199661,7 @@ static const UV UNI_C_invlist[] = { /* for ASCII/Latin1 */ 0x2DD8, 0x2DDF, 0x2DE0, - 0x2E50, + 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, @@ -197313,15 +199681,11 @@ static const UV UNI_C_invlist[] = { /* for ASCII/Latin1 */ 0x3131, 0x318F, 0x3190, - 0x31BB, - 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, - 0x4DB6, - 0x4DC0, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA490, @@ -197333,9 +199697,9 @@ static const UV UNI_C_invlist[] = { /* for ASCII/Latin1 */ 0xA700, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, - 0xA82C, + 0xA7CB, + 0xA7F5, + 0xA82D, 0xA830, 0xA83A, 0xA840, @@ -197375,7 +199739,7 @@ static const UV UNI_C_invlist[] = { /* for ASCII/Latin1 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6C, 0xAB70, 0xABEE, 0xABF0, @@ -197463,7 +199827,7 @@ static const UV UNI_C_invlist[] = { /* for ASCII/Latin1 */ 0x10137, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -197582,10 +199946,18 @@ static const UV UNI_C_invlist[] = { /* for ASCII/Latin1 */ 0x10D3A, 0x10E60, 0x10E7F, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAE, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, + 0x10FB0, + 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, @@ -197603,12 +199975,10 @@ static const UV UNI_C_invlist[] = { /* for ASCII/Latin1 */ 0x11100, 0x11135, 0x11136, - 0x11147, + 0x11148, 0x11150, 0x11177, 0x11180, - 0x111CE, - 0x111D0, 0x111E0, 0x111E1, 0x111F5, @@ -197661,11 +200031,9 @@ static const UV UNI_C_invlist[] = { /* for ASCII/Latin1 */ 0x11370, 0x11375, 0x11400, - 0x1145A, - 0x1145B, 0x1145C, 0x1145D, - 0x11460, + 0x11462, 0x11480, 0x114C8, 0x114D0, @@ -197695,7 +200063,21 @@ static const UV UNI_C_invlist[] = { /* for ASCII/Latin1 */ 0x118A0, 0x118F3, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11947, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -197750,6 +200132,8 @@ static const UV UNI_C_invlist[] = { /* for ASCII/Latin1 */ 0x11DAA, 0x11EE0, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, @@ -197795,11 +200179,15 @@ static const UV UNI_C_invlist[] = { /* for ASCII/Latin1 */ 0x16F8F, 0x16FA0, 0x16FE0, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -197997,11 +200385,7 @@ static const UV UNI_C_invlist[] = { /* for ASCII/Latin1 */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, @@ -198013,11 +200397,11 @@ static const UV UNI_C_invlist[] = { /* for ASCII/Latin1 */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -198034,32 +200418,38 @@ static const UV UNI_C_invlist[] = { /* for ASCII/Latin1 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -198070,6 +200460,8 @@ static const UV UNI_C_invlist[] = { /* for ASCII/Latin1 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0100, 0xE01F0 }; @@ -198082,7 +200474,7 @@ static const UV UNI_C_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_C_invlist[] = { /* for EBCDIC 1047 */ - 1335, /* Number of elements */ + 1357, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -198140,7 +200532,7 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 1047 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -198251,7 +200643,7 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 1047 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -198340,8 +200732,6 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 1047 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -198355,7 +200745,7 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 1047 */ 0xD64, 0xD66, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -198528,7 +200918,7 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 1047 */ 0x1AA0, 0x1AAE, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -198607,7 +200997,7 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 1047 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, @@ -198642,7 +201032,7 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 1047 */ 0x2DD8, 0x2DDF, 0x2DE0, - 0x2E50, + 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, @@ -198662,15 +201052,11 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 1047 */ 0x3131, 0x318F, 0x3190, - 0x31BB, - 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, - 0x4DB6, - 0x4DC0, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA490, @@ -198682,9 +201068,9 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 1047 */ 0xA700, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, - 0xA82C, + 0xA7CB, + 0xA7F5, + 0xA82D, 0xA830, 0xA83A, 0xA840, @@ -198724,7 +201110,7 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 1047 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6C, 0xAB70, 0xABEE, 0xABF0, @@ -198812,7 +201198,7 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 1047 */ 0x10137, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -198931,10 +201317,18 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 1047 */ 0x10D3A, 0x10E60, 0x10E7F, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAE, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, + 0x10FB0, + 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, @@ -198952,12 +201346,10 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 1047 */ 0x11100, 0x11135, 0x11136, - 0x11147, + 0x11148, 0x11150, 0x11177, 0x11180, - 0x111CE, - 0x111D0, 0x111E0, 0x111E1, 0x111F5, @@ -199010,11 +201402,9 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 1047 */ 0x11370, 0x11375, 0x11400, - 0x1145A, - 0x1145B, 0x1145C, 0x1145D, - 0x11460, + 0x11462, 0x11480, 0x114C8, 0x114D0, @@ -199044,7 +201434,21 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 1047 */ 0x118A0, 0x118F3, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11947, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -199099,6 +201503,8 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 1047 */ 0x11DAA, 0x11EE0, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, @@ -199144,11 +201550,15 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 1047 */ 0x16F8F, 0x16FA0, 0x16FE0, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -199346,11 +201756,7 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 1047 */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, @@ -199362,11 +201768,11 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 1047 */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -199383,32 +201789,38 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 1047 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -199419,6 +201831,8 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 1047 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0100, 0xE01F0 }; @@ -199431,7 +201845,7 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_C_invlist[] = { /* for EBCDIC 037 */ - 1335, /* Number of elements */ + 1357, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -199489,7 +201903,7 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 037 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -199600,7 +202014,7 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 037 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -199689,8 +202103,6 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 037 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -199704,7 +202116,7 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 037 */ 0xD64, 0xD66, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -199877,7 +202289,7 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 037 */ 0x1AA0, 0x1AAE, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -199956,7 +202368,7 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 037 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, @@ -199991,7 +202403,7 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 037 */ 0x2DD8, 0x2DDF, 0x2DE0, - 0x2E50, + 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, @@ -200011,15 +202423,11 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 037 */ 0x3131, 0x318F, 0x3190, - 0x31BB, - 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, - 0x4DB6, - 0x4DC0, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA490, @@ -200031,9 +202439,9 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 037 */ 0xA700, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, - 0xA82C, + 0xA7CB, + 0xA7F5, + 0xA82D, 0xA830, 0xA83A, 0xA840, @@ -200073,7 +202481,7 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 037 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6C, 0xAB70, 0xABEE, 0xABF0, @@ -200161,7 +202569,7 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 037 */ 0x10137, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -200280,10 +202688,18 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 037 */ 0x10D3A, 0x10E60, 0x10E7F, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAE, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, + 0x10FB0, + 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, @@ -200301,12 +202717,10 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 037 */ 0x11100, 0x11135, 0x11136, - 0x11147, + 0x11148, 0x11150, 0x11177, 0x11180, - 0x111CE, - 0x111D0, 0x111E0, 0x111E1, 0x111F5, @@ -200359,11 +202773,9 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 037 */ 0x11370, 0x11375, 0x11400, - 0x1145A, - 0x1145B, 0x1145C, 0x1145D, - 0x11460, + 0x11462, 0x11480, 0x114C8, 0x114D0, @@ -200393,7 +202805,21 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 037 */ 0x118A0, 0x118F3, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11947, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -200448,6 +202874,8 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 037 */ 0x11DAA, 0x11EE0, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, @@ -200493,11 +202921,15 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 037 */ 0x16F8F, 0x16FA0, 0x16FE0, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -200695,11 +203127,7 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 037 */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, @@ -200711,11 +203139,11 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 037 */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -200732,32 +203160,38 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 037 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -200768,6 +203202,8 @@ static const UV UNI_C_invlist[] = { /* for EBCDIC 037 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0100, 0xE01F0 }; @@ -200787,7 +203223,7 @@ static const UV UNI_CAKM_invlist[] = { /* for all charsets */ 0x11100, 0x11135, 0x11136, - 0x11147 + 0x11148 }; static const UV UNI_CANS_invlist[] = { /* for all charsets */ @@ -200813,7 +203249,7 @@ static const UV UNI_CARI_invlist[] = { /* for all charsets */ }; static const UV UNI_CCC__0_invlist[] = { /* for all charsets */ - 357, /* Number of elements */ + 369, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -200970,6 +203406,8 @@ static const UV UNI_CCC__0_invlist[] = { /* for all charsets */ 0x1A80, 0x1AB0, 0x1ABE, + 0x1ABF, + 0x1AC1, 0x1B34, 0x1B35, 0x1B44, @@ -201026,6 +203464,8 @@ static const UV UNI_CCC__0_invlist[] = { /* for all charsets */ 0xA6F2, 0xA806, 0xA807, + 0xA82C, + 0xA82D, 0xA8C4, 0xA8C5, 0xA8E0, @@ -201074,6 +203514,8 @@ static const UV UNI_CCC__0_invlist[] = { /* for all charsets */ 0x10AE7, 0x10D24, 0x10D28, + 0x10EAB, + 0x10EAD, 0x10F46, 0x10F51, 0x11046, @@ -201122,6 +203564,10 @@ static const UV UNI_CCC__0_invlist[] = { /* for all charsets */ 0x1172C, 0x11839, 0x1183B, + 0x1193D, + 0x1193F, + 0x11943, + 0x11944, 0x119E0, 0x119E1, 0x11A34, @@ -201142,6 +203588,8 @@ static const UV UNI_CCC__0_invlist[] = { /* for all charsets */ 0x16AF5, 0x16B30, 0x16B37, + 0x16FF0, + 0x16FF2, 0x1BC9E, 0x1BC9F, 0x1D165, @@ -201604,8 +204052,18 @@ static const UV UNI_CCC__36_invlist[] = { /* for all charsets */ 0x712 }; +static const UV UNI_CCC__6_invlist[] = { /* for all charsets */ + 3, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x16FF0, + 0x16FF2 +}; + static const UV UNI_CCC__7_invlist[] = { /* for all charsets */ - 49, /* Number of elements */ + 51, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -201654,6 +204112,8 @@ static const UV UNI_CCC__7_invlist[] = { /* for all charsets */ 0x116B8, 0x1183A, 0x1183B, + 0x11943, + 0x11944, 0x11D42, 0x11D43, 0x1E94A, @@ -201681,7 +204141,7 @@ static const UV UNI_CCC__84_invlist[] = { /* for all charsets */ }; static const UV UNI_CCC__9_invlist[] = { /* for all charsets */ - 105, /* Number of elements */ + 109, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -201734,6 +204194,8 @@ static const UV UNI_CCC__9_invlist[] = { /* for all charsets */ 0x2D80, 0xA806, 0xA807, + 0xA82C, + 0xA82D, 0xA8C4, 0xA8C5, 0xA953, @@ -201776,6 +204238,8 @@ static const UV UNI_CCC__9_invlist[] = { /* for all charsets */ 0x1172C, 0x11839, 0x1183A, + 0x1193D, + 0x1193F, 0x119E0, 0x119E1, 0x11A34, @@ -201803,7 +204267,7 @@ static const UV UNI_CCC__91_invlist[] = { /* for all charsets */ }; static const UV UNI_CCC__A_invlist[] = { /* for all charsets */ - 235, /* Number of elements */ + 237, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -202006,6 +204470,8 @@ static const UV UNI_CCC__A_invlist[] = { /* for all charsets */ 0x10AE6, 0x10D24, 0x10D28, + 0x10EAB, + 0x10EAD, 0x10F48, 0x10F4B, 0x10F4C, @@ -202079,7 +204545,7 @@ static const UV UNI_CCC__AR_invlist[] = { /* for all charsets */ }; static const UV UNI_CCC__B_invlist[] = { /* for all charsets */ - 155, /* Number of elements */ + 157, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -202186,6 +204652,8 @@ static const UV UNI_CCC__B_invlist[] = { /* for all charsets */ 0x1ABB, 0x1ABD, 0x1ABE, + 0x1ABF, + 0x1AC1, 0x1B6C, 0x1B6D, 0x1CD5, @@ -202612,10 +205080,20 @@ static const UV UNI_CHESSSYMBOLS_invlist[] = { /* for all charsets */ 0x1FA70 }; +static const UV UNI_CHRS_invlist[] = { /* for all charsets */ + 3, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x10FB0, + 0x10FCC +}; + # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_CI_invlist[] = { /* for ASCII/Latin1 */ - 803, /* Number of elements */ + 821, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -202654,6 +205132,8 @@ static const UV UNI_CI_invlist[] = { /* for ASCII/Latin1 */ 0x48A, 0x559, 0x55A, + 0x55F, + 0x560, 0x591, 0x5BE, 0x5BF, @@ -202770,7 +205250,7 @@ static const UV UNI_CI_invlist[] = { /* for ASCII/Latin1 */ 0xB45, 0xB4D, 0xB4E, - 0xB56, + 0xB55, 0xB57, 0xB62, 0xB64, @@ -202816,6 +205296,8 @@ static const UV UNI_CI_invlist[] = { /* for ASCII/Latin1 */ 0xD4E, 0xD62, 0xD64, + 0xD81, + 0xD82, 0xDCA, 0xDCB, 0xDD2, @@ -202939,7 +205421,7 @@ static const UV UNI_CI_invlist[] = { /* for ASCII/Latin1 */ 0x1AA7, 0x1AA8, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B04, 0x1B34, @@ -203084,6 +205566,8 @@ static const UV UNI_CI_invlist[] = { /* for ASCII/Latin1 */ 0xA80C, 0xA825, 0xA827, + 0xA82C, + 0xA82D, 0xA8C4, 0xA8C6, 0xA8E0, @@ -203140,6 +205624,8 @@ static const UV UNI_CI_invlist[] = { /* for ASCII/Latin1 */ 0xAAF7, 0xAB5B, 0xAB60, + 0xAB69, + 0xAB6C, 0xABE5, 0xABE6, 0xABE8, @@ -203200,6 +205686,8 @@ static const UV UNI_CI_invlist[] = { /* for ASCII/Latin1 */ 0x10AE7, 0x10D24, 0x10D28, + 0x10EAB, + 0x10EAD, 0x10F46, 0x10F51, 0x11001, @@ -203230,6 +205718,8 @@ static const UV UNI_CI_invlist[] = { /* for ASCII/Latin1 */ 0x111BF, 0x111C9, 0x111CD, + 0x111CF, + 0x111D0, 0x1122F, 0x11232, 0x11234, @@ -203300,6 +205790,12 @@ static const UV UNI_CI_invlist[] = { /* for ASCII/Latin1 */ 0x11838, 0x11839, 0x1183B, + 0x1193B, + 0x1193D, + 0x1193E, + 0x1193F, + 0x11943, + 0x11944, 0x119D4, 0x119D8, 0x119DA, @@ -203369,7 +205865,7 @@ static const UV UNI_CI_invlist[] = { /* for ASCII/Latin1 */ 0x16FE0, 0x16FE2, 0x16FE3, - 0x16FE4, + 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1BCA0, @@ -203432,7 +205928,7 @@ static const UV UNI_CI_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_CI_invlist[] = { /* for EBCDIC 1047 */ - 801, /* Number of elements */ + 819, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -203469,6 +205965,8 @@ static const UV UNI_CI_invlist[] = { /* for EBCDIC 1047 */ 0x48A, 0x559, 0x55A, + 0x55F, + 0x560, 0x591, 0x5BE, 0x5BF, @@ -203585,7 +206083,7 @@ static const UV UNI_CI_invlist[] = { /* for EBCDIC 1047 */ 0xB45, 0xB4D, 0xB4E, - 0xB56, + 0xB55, 0xB57, 0xB62, 0xB64, @@ -203631,6 +206129,8 @@ static const UV UNI_CI_invlist[] = { /* for EBCDIC 1047 */ 0xD4E, 0xD62, 0xD64, + 0xD81, + 0xD82, 0xDCA, 0xDCB, 0xDD2, @@ -203754,7 +206254,7 @@ static const UV UNI_CI_invlist[] = { /* for EBCDIC 1047 */ 0x1AA7, 0x1AA8, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B04, 0x1B34, @@ -203899,6 +206399,8 @@ static const UV UNI_CI_invlist[] = { /* for EBCDIC 1047 */ 0xA80C, 0xA825, 0xA827, + 0xA82C, + 0xA82D, 0xA8C4, 0xA8C6, 0xA8E0, @@ -203955,6 +206457,8 @@ static const UV UNI_CI_invlist[] = { /* for EBCDIC 1047 */ 0xAAF7, 0xAB5B, 0xAB60, + 0xAB69, + 0xAB6C, 0xABE5, 0xABE6, 0xABE8, @@ -204015,6 +206519,8 @@ static const UV UNI_CI_invlist[] = { /* for EBCDIC 1047 */ 0x10AE7, 0x10D24, 0x10D28, + 0x10EAB, + 0x10EAD, 0x10F46, 0x10F51, 0x11001, @@ -204045,6 +206551,8 @@ static const UV UNI_CI_invlist[] = { /* for EBCDIC 1047 */ 0x111BF, 0x111C9, 0x111CD, + 0x111CF, + 0x111D0, 0x1122F, 0x11232, 0x11234, @@ -204115,6 +206623,12 @@ static const UV UNI_CI_invlist[] = { /* for EBCDIC 1047 */ 0x11838, 0x11839, 0x1183B, + 0x1193B, + 0x1193D, + 0x1193E, + 0x1193F, + 0x11943, + 0x11944, 0x119D4, 0x119D8, 0x119DA, @@ -204184,7 +206698,7 @@ static const UV UNI_CI_invlist[] = { /* for EBCDIC 1047 */ 0x16FE0, 0x16FE2, 0x16FE3, - 0x16FE4, + 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1BCA0, @@ -204247,7 +206761,7 @@ static const UV UNI_CI_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_CI_invlist[] = { /* for EBCDIC 037 */ - 799, /* Number of elements */ + 817, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -204282,6 +206796,8 @@ static const UV UNI_CI_invlist[] = { /* for EBCDIC 037 */ 0x48A, 0x559, 0x55A, + 0x55F, + 0x560, 0x591, 0x5BE, 0x5BF, @@ -204398,7 +206914,7 @@ static const UV UNI_CI_invlist[] = { /* for EBCDIC 037 */ 0xB45, 0xB4D, 0xB4E, - 0xB56, + 0xB55, 0xB57, 0xB62, 0xB64, @@ -204444,6 +206960,8 @@ static const UV UNI_CI_invlist[] = { /* for EBCDIC 037 */ 0xD4E, 0xD62, 0xD64, + 0xD81, + 0xD82, 0xDCA, 0xDCB, 0xDD2, @@ -204567,7 +207085,7 @@ static const UV UNI_CI_invlist[] = { /* for EBCDIC 037 */ 0x1AA7, 0x1AA8, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B04, 0x1B34, @@ -204712,6 +207230,8 @@ static const UV UNI_CI_invlist[] = { /* for EBCDIC 037 */ 0xA80C, 0xA825, 0xA827, + 0xA82C, + 0xA82D, 0xA8C4, 0xA8C6, 0xA8E0, @@ -204768,6 +207288,8 @@ static const UV UNI_CI_invlist[] = { /* for EBCDIC 037 */ 0xAAF7, 0xAB5B, 0xAB60, + 0xAB69, + 0xAB6C, 0xABE5, 0xABE6, 0xABE8, @@ -204828,6 +207350,8 @@ static const UV UNI_CI_invlist[] = { /* for EBCDIC 037 */ 0x10AE7, 0x10D24, 0x10D28, + 0x10EAB, + 0x10EAD, 0x10F46, 0x10F51, 0x11001, @@ -204858,6 +207382,8 @@ static const UV UNI_CI_invlist[] = { /* for EBCDIC 037 */ 0x111BF, 0x111C9, 0x111CD, + 0x111CF, + 0x111D0, 0x1122F, 0x11232, 0x11234, @@ -204928,6 +207454,12 @@ static const UV UNI_CI_invlist[] = { /* for EBCDIC 037 */ 0x11838, 0x11839, 0x1183B, + 0x1193B, + 0x1193D, + 0x1193E, + 0x1193F, + 0x11943, + 0x11944, 0x119D4, 0x119D8, 0x119DA, @@ -204997,7 +207529,7 @@ static const UV UNI_CI_invlist[] = { /* for EBCDIC 037 */ 0x16FE0, 0x16FE2, 0x16FE3, - 0x16FE4, + 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1BCA0, @@ -205164,6 +207696,16 @@ static const UV UNI_CJKEXTF_invlist[] = { /* for all charsets */ 0x2EBF0 }; +static const UV UNI_CJKEXTG_invlist[] = { /* for all charsets */ + 3, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x30000, + 0x31350 +}; + static const UV UNI_CJKRADICALSSUP_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ @@ -205195,7 +207737,7 @@ static const UV UNI_CJKSYMBOLS_invlist[] = { /* for all charsets */ }; static const UV UNI_CN_invlist[] = { /* for all charsets */ - 1332, /* Number of elements */ + 1354, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -205246,7 +207788,7 @@ static const UV UNI_CN_invlist[] = { /* for all charsets */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x984, 0x985, @@ -205355,7 +207897,7 @@ static const UV UNI_CN_invlist[] = { /* for all charsets */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -205444,8 +207986,6 @@ static const UV UNI_CN_invlist[] = { /* for all charsets */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -205459,7 +207999,7 @@ static const UV UNI_CN_invlist[] = { /* for all charsets */ 0xD64, 0xD66, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -205632,7 +208172,7 @@ static const UV UNI_CN_invlist[] = { /* for all charsets */ 0x1AA0, 0x1AAE, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -205707,7 +208247,7 @@ static const UV UNI_CN_invlist[] = { /* for all charsets */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, @@ -205742,7 +208282,7 @@ static const UV UNI_CN_invlist[] = { /* for all charsets */ 0x2DD8, 0x2DDF, 0x2DE0, - 0x2E50, + 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, @@ -205762,15 +208302,11 @@ static const UV UNI_CN_invlist[] = { /* for all charsets */ 0x3131, 0x318F, 0x3190, - 0x31BB, - 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, - 0x4DB6, - 0x4DC0, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA490, @@ -205782,9 +208318,9 @@ static const UV UNI_CN_invlist[] = { /* for all charsets */ 0xA700, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, - 0xA82C, + 0xA7CB, + 0xA7F5, + 0xA82D, 0xA830, 0xA83A, 0xA840, @@ -205824,7 +208360,7 @@ static const UV UNI_CN_invlist[] = { /* for all charsets */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6C, 0xAB70, 0xABEE, 0xABF0, @@ -205914,7 +208450,7 @@ static const UV UNI_CN_invlist[] = { /* for all charsets */ 0x10137, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -206033,10 +208569,18 @@ static const UV UNI_CN_invlist[] = { /* for all charsets */ 0x10D3A, 0x10E60, 0x10E7F, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAE, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, + 0x10FB0, + 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, @@ -206054,12 +208598,10 @@ static const UV UNI_CN_invlist[] = { /* for all charsets */ 0x11100, 0x11135, 0x11136, - 0x11147, + 0x11148, 0x11150, 0x11177, 0x11180, - 0x111CE, - 0x111D0, 0x111E0, 0x111E1, 0x111F5, @@ -206112,11 +208654,9 @@ static const UV UNI_CN_invlist[] = { /* for all charsets */ 0x11370, 0x11375, 0x11400, - 0x1145A, - 0x1145B, 0x1145C, 0x1145D, - 0x11460, + 0x11462, 0x11480, 0x114C8, 0x114D0, @@ -206146,7 +208686,21 @@ static const UV UNI_CN_invlist[] = { /* for all charsets */ 0x118A0, 0x118F3, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11947, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -206201,6 +208755,8 @@ static const UV UNI_CN_invlist[] = { /* for all charsets */ 0x11DAA, 0x11EE0, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, @@ -206248,11 +208804,15 @@ static const UV UNI_CN_invlist[] = { /* for all charsets */ 0x16F8F, 0x16FA0, 0x16FE0, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -206448,11 +209008,7 @@ static const UV UNI_CN_invlist[] = { /* for all charsets */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, @@ -206464,11 +209020,11 @@ static const UV UNI_CN_invlist[] = { /* for all charsets */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -206485,32 +209041,38 @@ static const UV UNI_CN_invlist[] = { /* for all charsets */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -206521,6 +209083,8 @@ static const UV UNI_CN_invlist[] = { /* for all charsets */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0001, 0xE0002, 0xE0020, @@ -206806,7 +209370,7 @@ static const UV UNI_CURRENCYSYMBOLS_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_CWCF_invlist[] = { /* for ASCII/Latin1 */ - 1225, /* Number of elements */ + 1229, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -208014,7 +210578,11 @@ static const UV UNI_CWCF_invlist[] = { /* for ASCII/Latin1 */ 0xA7C2, 0xA7C3, 0xA7C4, - 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7F5, + 0xA7F6, 0xAB70, 0xABC0, 0xFB00, @@ -208045,7 +210613,7 @@ static const UV UNI_CWCF_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_CWCF_invlist[] = { /* for EBCDIC 1047 */ - 1245, /* Number of elements */ + 1249, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -209273,7 +211841,11 @@ static const UV UNI_CWCF_invlist[] = { /* for EBCDIC 1047 */ 0xA7C2, 0xA7C3, 0xA7C4, - 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7F5, + 0xA7F6, 0xAB70, 0xABC0, 0xFB00, @@ -209304,7 +211876,7 @@ static const UV UNI_CWCF_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_CWCF_invlist[] = { /* for EBCDIC 037 */ - 1241, /* Number of elements */ + 1245, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -210528,7 +213100,11 @@ static const UV UNI_CWCF_invlist[] = { /* for EBCDIC 037 */ 0xA7C2, 0xA7C3, 0xA7C4, - 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7F5, + 0xA7F6, 0xAB70, 0xABC0, 0xFB00, @@ -210556,7 +213132,7 @@ static const UV UNI_CWCF_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_CWCM_invlist[] = { /* for ASCII/Latin1 */ - 247, /* Number of elements */ + 249, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -210778,7 +213354,9 @@ static const UV UNI_CWCM_invlist[] = { /* for ASCII/Latin1 */ 0xA7B0, 0xA7C0, 0xA7C2, - 0xA7C7, + 0xA7CB, + 0xA7F5, + 0xA7F7, 0xAB53, 0xAB54, 0xAB70, @@ -210817,7 +213395,7 @@ static const UV UNI_CWCM_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_CWCM_invlist[] = { /* for EBCDIC 1047 */ - 279, /* Number of elements */ + 281, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -211071,7 +213649,9 @@ static const UV UNI_CWCM_invlist[] = { /* for EBCDIC 1047 */ 0xA7B0, 0xA7C0, 0xA7C2, - 0xA7C7, + 0xA7CB, + 0xA7F5, + 0xA7F7, 0xAB53, 0xAB54, 0xAB70, @@ -211110,7 +213690,7 @@ static const UV UNI_CWCM_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_CWCM_invlist[] = { /* for EBCDIC 037 */ - 275, /* Number of elements */ + 277, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -211360,7 +213940,9 @@ static const UV UNI_CWCM_invlist[] = { /* for EBCDIC 037 */ 0xA7B0, 0xA7C0, 0xA7C2, - 0xA7C7, + 0xA7CB, + 0xA7F5, + 0xA7F7, 0xAB53, 0xAB54, 0xAB70, @@ -211396,7 +213978,7 @@ static const UV UNI_CWCM_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_CWKCF_invlist[] = { /* for ASCII/Latin1 */ - 1647, /* Number of elements */ + 1655, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -212812,11 +215394,17 @@ static const UV UNI_CWKCF_invlist[] = { /* for ASCII/Latin1 */ 0xA7C2, 0xA7C3, 0xA7C4, - 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7F5, + 0xA7F6, 0xA7F8, 0xA7FA, 0xAB5C, 0xAB60, + 0xAB69, + 0xAB6A, 0xAB70, 0xABC0, 0xF900, @@ -213043,6 +215631,8 @@ static const UV UNI_CWKCF_invlist[] = { /* for ASCII/Latin1 */ 0x1F249, 0x1F250, 0x1F252, + 0x1FBF0, + 0x1FBFA, 0x2F800, 0x2FA1E, 0xE0000, @@ -213057,7 +215647,7 @@ static const UV UNI_CWKCF_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_CWKCF_invlist[] = { /* for EBCDIC 1047 */ - 1657, /* Number of elements */ + 1665, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -214483,11 +217073,17 @@ static const UV UNI_CWKCF_invlist[] = { /* for EBCDIC 1047 */ 0xA7C2, 0xA7C3, 0xA7C4, - 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7F5, + 0xA7F6, 0xA7F8, 0xA7FA, 0xAB5C, 0xAB60, + 0xAB69, + 0xAB6A, 0xAB70, 0xABC0, 0xF900, @@ -214714,6 +217310,8 @@ static const UV UNI_CWKCF_invlist[] = { /* for EBCDIC 1047 */ 0x1F249, 0x1F250, 0x1F252, + 0x1FBF0, + 0x1FBFA, 0x2F800, 0x2FA1E, 0xE0000, @@ -214728,7 +217326,7 @@ static const UV UNI_CWKCF_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_CWKCF_invlist[] = { /* for EBCDIC 037 */ - 1655, /* Number of elements */ + 1663, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -216152,11 +218750,17 @@ static const UV UNI_CWKCF_invlist[] = { /* for EBCDIC 037 */ 0xA7C2, 0xA7C3, 0xA7C4, - 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7F5, + 0xA7F6, 0xA7F8, 0xA7FA, 0xAB5C, 0xAB60, + 0xAB69, + 0xAB6A, 0xAB70, 0xABC0, 0xF900, @@ -216383,6 +218987,8 @@ static const UV UNI_CWKCF_invlist[] = { /* for EBCDIC 037 */ 0x1F249, 0x1F250, 0x1F252, + 0x1FBF0, + 0x1FBFA, 0x2F800, 0x2FA1E, 0xE0000, @@ -216394,7 +219000,7 @@ static const UV UNI_CWKCF_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_CWL_invlist[] = { /* for ASCII/Latin1 */ - 1199, /* Number of elements */ + 1203, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -217582,7 +220188,11 @@ static const UV UNI_CWL_invlist[] = { /* for ASCII/Latin1 */ 0xA7C2, 0xA7C3, 0xA7C4, - 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7F5, + 0xA7F6, 0xFF21, 0xFF3B, 0x10400, @@ -217607,7 +220217,7 @@ static const UV UNI_CWL_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_CWL_invlist[] = { /* for EBCDIC 1047 */ - 1217, /* Number of elements */ + 1221, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -218813,7 +221423,11 @@ static const UV UNI_CWL_invlist[] = { /* for EBCDIC 1047 */ 0xA7C2, 0xA7C3, 0xA7C4, - 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7F5, + 0xA7F6, 0xFF21, 0xFF3B, 0x10400, @@ -218838,7 +221452,7 @@ static const UV UNI_CWL_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_CWL_invlist[] = { /* for EBCDIC 037 */ - 1213, /* Number of elements */ + 1217, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -220040,7 +222654,11 @@ static const UV UNI_CWL_invlist[] = { /* for EBCDIC 037 */ 0xA7C2, 0xA7C3, 0xA7C4, - 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7F5, + 0xA7F6, 0xFF21, 0xFF3B, 0x10400, @@ -220062,7 +222680,7 @@ static const UV UNI_CWL_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_CWT_invlist[] = { /* for ASCII/Latin1 */ - 1231, /* Number of elements */ + 1237, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -221275,6 +223893,12 @@ static const UV UNI_CWT_invlist[] = { /* for ASCII/Latin1 */ 0xA7C0, 0xA7C3, 0xA7C4, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7CB, + 0xA7F6, + 0xA7F7, 0xAB53, 0xAB54, 0xAB70, @@ -221307,7 +223931,7 @@ static const UV UNI_CWT_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_CWT_invlist[] = { /* for EBCDIC 1047 */ - 1245, /* Number of elements */ + 1251, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -222534,6 +225158,12 @@ static const UV UNI_CWT_invlist[] = { /* for EBCDIC 1047 */ 0xA7C0, 0xA7C3, 0xA7C4, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7CB, + 0xA7F6, + 0xA7F7, 0xAB53, 0xAB54, 0xAB70, @@ -222566,7 +225196,7 @@ static const UV UNI_CWT_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_CWT_invlist[] = { /* for EBCDIC 037 */ - 1245, /* Number of elements */ + 1251, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -223793,6 +226423,12 @@ static const UV UNI_CWT_invlist[] = { /* for EBCDIC 037 */ 0xA7C0, 0xA7C3, 0xA7C4, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7CB, + 0xA7F6, + 0xA7F7, 0xAB53, 0xAB54, 0xAB70, @@ -223822,7 +226458,7 @@ static const UV UNI_CWT_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_CWU_invlist[] = { /* for ASCII/Latin1 */ - 1233, /* Number of elements */ + 1239, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -225037,6 +227673,12 @@ static const UV UNI_CWU_invlist[] = { /* for ASCII/Latin1 */ 0xA7C0, 0xA7C3, 0xA7C4, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7CB, + 0xA7F6, + 0xA7F7, 0xAB53, 0xAB54, 0xAB70, @@ -225069,7 +227711,7 @@ static const UV UNI_CWU_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_CWU_invlist[] = { /* for EBCDIC 1047 */ - 1247, /* Number of elements */ + 1253, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -226298,6 +228940,12 @@ static const UV UNI_CWU_invlist[] = { /* for EBCDIC 1047 */ 0xA7C0, 0xA7C3, 0xA7C4, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7CB, + 0xA7F6, + 0xA7F7, 0xAB53, 0xAB54, 0xAB70, @@ -226330,7 +228978,7 @@ static const UV UNI_CWU_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_CWU_invlist[] = { /* for EBCDIC 037 */ - 1247, /* Number of elements */ + 1253, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -227559,6 +230207,12 @@ static const UV UNI_CWU_invlist[] = { /* for EBCDIC 037 */ 0xA7C0, 0xA7C3, 0xA7C4, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7CB, + 0xA7F6, + 0xA7F7, 0xAB53, 0xAB54, 0xAB70, @@ -227636,7 +230290,7 @@ static const UV UNI_CYRILLICSUP_invlist[] = { /* for all charsets */ }; static const UV UNI_CYRL_invlist[] = { /* for all charsets */ - 17, /* Number of elements */ + 19, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -227649,6 +230303,8 @@ static const UV UNI_CYRL_invlist[] = { /* for all charsets */ 0x1D2C, 0x1D78, 0x1D79, + 0x1DF8, + 0x1DF9, 0x2DE0, 0x2E00, 0x2E43, @@ -227662,7 +230318,7 @@ static const UV UNI_CYRL_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_DASH_invlist[] = { /* for ASCII/Latin1 */ - 43, /* Number of elements */ + 45, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -227708,7 +230364,9 @@ static const UV UNI_DASH_invlist[] = { /* for ASCII/Latin1 */ 0xFE63, 0xFE64, 0xFF0D, - 0xFF0E + 0xFF0E, + 0x10EAD, + 0x10EAE }; # endif /* ASCII/Latin1 */ @@ -227719,7 +230377,7 @@ static const UV UNI_DASH_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_DASH_invlist[] = { /* for EBCDIC 1047 */ - 43, /* Number of elements */ + 45, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -227765,7 +230423,9 @@ static const UV UNI_DASH_invlist[] = { /* for EBCDIC 1047 */ 0xFE63, 0xFE64, 0xFF0D, - 0xFF0E + 0xFF0E, + 0x10EAD, + 0x10EAE }; # endif /* EBCDIC 1047 */ @@ -227776,7 +230436,7 @@ static const UV UNI_DASH_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_DASH_invlist[] = { /* for EBCDIC 037 */ - 43, /* Number of elements */ + 45, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -227822,7 +230482,9 @@ static const UV UNI_DASH_invlist[] = { /* for EBCDIC 037 */ 0xFE63, 0xFE64, 0xFF0D, - 0xFF0E + 0xFF0E, + 0x10EAD, + 0x10EAE }; # endif /* EBCDIC 037 */ @@ -228030,7 +230692,7 @@ static const UV UNI_DI_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_DIA_invlist[] = { /* for ASCII/Latin1 */ - 343, /* Number of elements */ + 353, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -228119,6 +230781,8 @@ static const UV UNI_DIA_invlist[] = { /* for ASCII/Latin1 */ 0xB3D, 0xB4D, 0xB4E, + 0xB55, + 0xB56, 0xBCD, 0xBCE, 0xC4D, @@ -228273,6 +230937,8 @@ static const UV UNI_DIA_invlist[] = { /* for ASCII/Latin1 */ 0xAAF7, 0xAB5B, 0xAB60, + 0xAB69, + 0xAB6C, 0xABEC, 0xABEE, 0xFB1E, @@ -228335,6 +231001,10 @@ static const UV UNI_DIA_invlist[] = { /* for ASCII/Latin1 */ 0x1172C, 0x11839, 0x1183B, + 0x1193D, + 0x1193F, + 0x11943, + 0x11944, 0x119E0, 0x119E1, 0x11A34, @@ -228357,6 +231027,8 @@ static const UV UNI_DIA_invlist[] = { /* for ASCII/Latin1 */ 0x16B37, 0x16F8F, 0x16FA0, + 0x16FF0, + 0x16FF2, 0x1D167, 0x1D16A, 0x1D16D, @@ -228387,7 +231059,7 @@ static const UV UNI_DIA_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_DIA_invlist[] = { /* for EBCDIC 1047 */ - 343, /* Number of elements */ + 353, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -228476,6 +231148,8 @@ static const UV UNI_DIA_invlist[] = { /* for EBCDIC 1047 */ 0xB3D, 0xB4D, 0xB4E, + 0xB55, + 0xB56, 0xBCD, 0xBCE, 0xC4D, @@ -228630,6 +231304,8 @@ static const UV UNI_DIA_invlist[] = { /* for EBCDIC 1047 */ 0xAAF7, 0xAB5B, 0xAB60, + 0xAB69, + 0xAB6C, 0xABEC, 0xABEE, 0xFB1E, @@ -228692,6 +231368,10 @@ static const UV UNI_DIA_invlist[] = { /* for EBCDIC 1047 */ 0x1172C, 0x11839, 0x1183B, + 0x1193D, + 0x1193F, + 0x11943, + 0x11944, 0x119E0, 0x119E1, 0x11A34, @@ -228714,6 +231394,8 @@ static const UV UNI_DIA_invlist[] = { /* for EBCDIC 1047 */ 0x16B37, 0x16F8F, 0x16FA0, + 0x16FF0, + 0x16FF2, 0x1D167, 0x1D16A, 0x1D16D, @@ -228744,7 +231426,7 @@ static const UV UNI_DIA_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_DIA_invlist[] = { /* for EBCDIC 037 */ - 341, /* Number of elements */ + 351, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -228831,6 +231513,8 @@ static const UV UNI_DIA_invlist[] = { /* for EBCDIC 037 */ 0xB3D, 0xB4D, 0xB4E, + 0xB55, + 0xB56, 0xBCD, 0xBCE, 0xC4D, @@ -228985,6 +231669,8 @@ static const UV UNI_DIA_invlist[] = { /* for EBCDIC 037 */ 0xAAF7, 0xAB5B, 0xAB60, + 0xAB69, + 0xAB6C, 0xABEC, 0xABEE, 0xFB1E, @@ -229047,6 +231733,10 @@ static const UV UNI_DIA_invlist[] = { /* for EBCDIC 037 */ 0x1172C, 0x11839, 0x1183B, + 0x1193D, + 0x1193F, + 0x11943, + 0x11944, 0x119E0, 0x119E1, 0x11A34, @@ -229069,6 +231759,8 @@ static const UV UNI_DIA_invlist[] = { /* for EBCDIC 037 */ 0x16B37, 0x16F8F, 0x16FA0, + 0x16FF0, + 0x16FF2, 0x1D167, 0x1D16A, 0x1D16D, @@ -229133,6 +231825,30 @@ static const UV UNI_DIACRITICALSSUP_invlist[] = { /* for all charsets */ 0x1E00 }; +static const UV UNI_DIAK_invlist[] = { /* for all charsets */ + 17, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11947, + 0x11950, + 0x1195A +}; + static const UV UNI_DINGBATS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ @@ -229180,7 +231896,7 @@ static const UV UNI_DSRT_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_DT__CAN_invlist[] = { /* for ASCII/Latin1 */ - 463, /* Number of elements */ + 465, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -229641,6 +232357,8 @@ static const UV UNI_DT__CAN_invlist[] = { /* for ASCII/Latin1 */ 0x114BF, 0x115BA, 0x115BC, + 0x11938, + 0x11939, 0x1D15E, 0x1D165, 0x1D1BB, @@ -229657,7 +232375,7 @@ static const UV UNI_DT__CAN_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_DT__CAN_invlist[] = { /* for EBCDIC 1047 */ - 467, /* Number of elements */ + 469, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -230122,6 +232840,8 @@ static const UV UNI_DT__CAN_invlist[] = { /* for EBCDIC 1047 */ 0x114BF, 0x115BA, 0x115BC, + 0x11938, + 0x11939, 0x1D15E, 0x1D165, 0x1D1BB, @@ -230138,7 +232858,7 @@ static const UV UNI_DT__CAN_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_DT__CAN_invlist[] = { /* for EBCDIC 037 */ - 467, /* Number of elements */ + 469, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -230603,6 +233323,8 @@ static const UV UNI_DT__CAN_invlist[] = { /* for EBCDIC 037 */ 0x114BF, 0x115BA, 0x115BC, + 0x11938, + 0x11939, 0x1D15E, 0x1D165, 0x1D1BB, @@ -231356,7 +234078,7 @@ static const UV UNI_DT__FIN_invlist[] = { /* for all charsets */ }; static const UV UNI_DT__FONT_invlist[] = { /* for all charsets */ - 135, /* Number of elements */ + 137, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -231494,7 +234216,9 @@ static const UV UNI_DT__FONT_invlist[] = { /* for all charsets */ 0x1EEA5, 0x1EEAA, 0x1EEAB, - 0x1EEBC + 0x1EEBC, + 0x1FBF0, + 0x1FBFA }; # if 'A' == 65 /* ASCII/Latin1 */ @@ -232130,7 +234854,7 @@ static const UV UNI_DT__NB_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_DT__NONCANON_invlist[] = { /* for ASCII/Latin1 */ - 371, /* Number of elements */ + 375, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -232333,6 +235057,8 @@ static const UV UNI_DT__NONCANON_invlist[] = { /* for ASCII/Latin1 */ 0xA7FA, 0xAB5C, 0xAB60, + 0xAB69, + 0xAB6A, 0xFB00, 0xFB07, 0xFB13, @@ -232504,7 +235230,9 @@ static const UV UNI_DT__NONCANON_invlist[] = { /* for ASCII/Latin1 */ 0x1F240, 0x1F249, 0x1F250, - 0x1F252 + 0x1F252, + 0x1FBF0, + 0x1FBFA }; # endif /* ASCII/Latin1 */ @@ -232515,7 +235243,7 @@ static const UV UNI_DT__NONCANON_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_DT__NONCANON_invlist[] = { /* for EBCDIC 1047 */ - 377, /* Number of elements */ + 381, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -232724,6 +235452,8 @@ static const UV UNI_DT__NONCANON_invlist[] = { /* for EBCDIC 1047 */ 0xA7FA, 0xAB5C, 0xAB60, + 0xAB69, + 0xAB6A, 0xFB00, 0xFB07, 0xFB13, @@ -232895,7 +235625,9 @@ static const UV UNI_DT__NONCANON_invlist[] = { /* for EBCDIC 1047 */ 0x1F240, 0x1F249, 0x1F250, - 0x1F252 + 0x1F252, + 0x1FBF0, + 0x1FBFA }; # endif /* EBCDIC 1047 */ @@ -232906,7 +235638,7 @@ static const UV UNI_DT__NONCANON_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_DT__NONCANON_invlist[] = { /* for EBCDIC 037 */ - 375, /* Number of elements */ + 379, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -233113,6 +235845,8 @@ static const UV UNI_DT__NONCANON_invlist[] = { /* for EBCDIC 037 */ 0xA7FA, 0xAB5C, 0xAB60, + 0xAB69, + 0xAB6A, 0xFB00, 0xFB07, 0xFB13, @@ -233284,7 +236018,9 @@ static const UV UNI_DT__NONCANON_invlist[] = { /* for EBCDIC 037 */ 0x1F240, 0x1F249, 0x1F250, - 0x1F252 + 0x1F252, + 0x1FBF0, + 0x1FBFA }; # endif /* EBCDIC 037 */ @@ -233292,7 +236028,7 @@ static const UV UNI_DT__NONCANON_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_DT__NONE_invlist[] = { /* for ASCII/Latin1 */ - 779, /* Number of elements */ + 785, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -233851,6 +236587,8 @@ static const UV UNI_DT__NONE_invlist[] = { /* for ASCII/Latin1 */ 0xA7FA, 0xAB5C, 0xAB60, + 0xAB69, + 0xAB6A, 0xAC00, 0xD7A4, 0xF900, @@ -233943,6 +236681,8 @@ static const UV UNI_DT__NONE_invlist[] = { /* for ASCII/Latin1 */ 0x114BF, 0x115BA, 0x115BC, + 0x11938, + 0x11939, 0x1D15E, 0x1D165, 0x1D1BB, @@ -234073,6 +236813,8 @@ static const UV UNI_DT__NONE_invlist[] = { /* for ASCII/Latin1 */ 0x1F249, 0x1F250, 0x1F252, + 0x1FBF0, + 0x1FBFA, 0x2F800, 0x2FA1E }; @@ -234085,7 +236827,7 @@ static const UV UNI_DT__NONE_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_DT__NONE_invlist[] = { /* for EBCDIC 1047 */ - 777, /* Number of elements */ + 783, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -234642,6 +237384,8 @@ static const UV UNI_DT__NONE_invlist[] = { /* for EBCDIC 1047 */ 0xA7FA, 0xAB5C, 0xAB60, + 0xAB69, + 0xAB6A, 0xAC00, 0xD7A4, 0xF900, @@ -234734,6 +237478,8 @@ static const UV UNI_DT__NONE_invlist[] = { /* for EBCDIC 1047 */ 0x114BF, 0x115BA, 0x115BC, + 0x11938, + 0x11939, 0x1D15E, 0x1D165, 0x1D1BB, @@ -234864,6 +237610,8 @@ static const UV UNI_DT__NONE_invlist[] = { /* for EBCDIC 1047 */ 0x1F249, 0x1F250, 0x1F252, + 0x1FBF0, + 0x1FBFA, 0x2F800, 0x2FA1E }; @@ -234876,7 +237624,7 @@ static const UV UNI_DT__NONE_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_DT__NONE_invlist[] = { /* for EBCDIC 037 */ - 779, /* Number of elements */ + 785, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -235435,6 +238183,8 @@ static const UV UNI_DT__NONE_invlist[] = { /* for EBCDIC 037 */ 0xA7FA, 0xAB5C, 0xAB60, + 0xAB69, + 0xAB6A, 0xAC00, 0xD7A4, 0xF900, @@ -235527,6 +238277,8 @@ static const UV UNI_DT__NONE_invlist[] = { /* for EBCDIC 037 */ 0x114BF, 0x115BA, 0x115BC, + 0x11938, + 0x11939, 0x1D15E, 0x1D165, 0x1D1BB, @@ -235657,6 +238409,8 @@ static const UV UNI_DT__NONE_invlist[] = { /* for EBCDIC 037 */ 0x1F249, 0x1F250, 0x1F252, + 0x1FBF0, + 0x1FBFA, 0x2F800, 0x2FA1E }; @@ -235722,7 +238476,7 @@ static const UV UNI_DT__SUB_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_DT__SUP_invlist[] = { /* for ASCII/Latin1 */ - 49, /* Number of elements */ + 51, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -235773,6 +238527,8 @@ static const UV UNI_DT__SUP_invlist[] = { /* for ASCII/Latin1 */ 0xA7FA, 0xAB5C, 0xAB60, + 0xAB69, + 0xAB6A, 0x1F16A, 0x1F16D }; @@ -235785,7 +238541,7 @@ static const UV UNI_DT__SUP_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_DT__SUP_invlist[] = { /* for EBCDIC 1047 */ - 51, /* Number of elements */ + 53, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -235838,6 +238594,8 @@ static const UV UNI_DT__SUP_invlist[] = { /* for EBCDIC 1047 */ 0xA7FA, 0xAB5C, 0xAB60, + 0xAB69, + 0xAB6A, 0x1F16A, 0x1F16D }; @@ -235850,7 +238608,7 @@ static const UV UNI_DT__SUP_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_DT__SUP_invlist[] = { /* for EBCDIC 037 */ - 51, /* Number of elements */ + 53, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -235903,6 +238661,8 @@ static const UV UNI_DT__SUP_invlist[] = { /* for EBCDIC 037 */ 0xA7FA, 0xAB5C, 0xAB60, + 0xAB69, + 0xAB6A, 0x1F16A, 0x1F16D }; @@ -237106,7 +239866,7 @@ static const UV UNI_EA__H_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_EA__N_invlist[] = { /* for ASCII/Latin1 */ - 547, /* Number of elements */ + 553, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -237500,8 +240260,6 @@ static const UV UNI_EA__N_invlist[] = { /* for ASCII/Latin1 */ 0x3131, 0x318F, 0x3190, - 0x31BB, - 0x31C0, 0x31E4, 0x31F0, 0x321F, @@ -237542,11 +240300,15 @@ static const UV UNI_EA__N_invlist[] = { /* for ASCII/Latin1 */ 0xFFFD, 0xFFFE, 0x16FE0, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -237620,33 +240382,37 @@ static const UV UNI_EA__N_invlist[] = { /* for ASCII/Latin1 */ 0x1F6D0, 0x1F6D3, 0x1F6D5, - 0x1F6D6, + 0x1F6D8, 0x1F6EB, 0x1F6ED, 0x1F6F4, - 0x1F6FB, + 0x1F6FD, 0x1F7E0, 0x1F7EC, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F90C, + 0x1F93B, + 0x1F93C, + 0x1F946, + 0x1F947, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA00, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, 0x20000, 0x2FFFE, 0x30000, @@ -237667,7 +240433,7 @@ static const UV UNI_EA__N_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_EA__N_invlist[] = { /* for EBCDIC 1047 */ - 545, /* Number of elements */ + 551, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -238059,8 +240825,6 @@ static const UV UNI_EA__N_invlist[] = { /* for EBCDIC 1047 */ 0x3131, 0x318F, 0x3190, - 0x31BB, - 0x31C0, 0x31E4, 0x31F0, 0x321F, @@ -238101,11 +240865,15 @@ static const UV UNI_EA__N_invlist[] = { /* for EBCDIC 1047 */ 0xFFFD, 0xFFFE, 0x16FE0, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -238179,33 +240947,37 @@ static const UV UNI_EA__N_invlist[] = { /* for EBCDIC 1047 */ 0x1F6D0, 0x1F6D3, 0x1F6D5, - 0x1F6D6, + 0x1F6D8, 0x1F6EB, 0x1F6ED, 0x1F6F4, - 0x1F6FB, + 0x1F6FD, 0x1F7E0, 0x1F7EC, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F90C, + 0x1F93B, + 0x1F93C, + 0x1F946, + 0x1F947, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA00, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, 0x20000, 0x2FFFE, 0x30000, @@ -238226,7 +240998,7 @@ static const UV UNI_EA__N_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_EA__N_invlist[] = { /* for EBCDIC 037 */ - 545, /* Number of elements */ + 551, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -238618,8 +241390,6 @@ static const UV UNI_EA__N_invlist[] = { /* for EBCDIC 037 */ 0x3131, 0x318F, 0x3190, - 0x31BB, - 0x31C0, 0x31E4, 0x31F0, 0x321F, @@ -238660,11 +241430,15 @@ static const UV UNI_EA__N_invlist[] = { /* for EBCDIC 037 */ 0xFFFD, 0xFFFE, 0x16FE0, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -238738,33 +241512,37 @@ static const UV UNI_EA__N_invlist[] = { /* for EBCDIC 037 */ 0x1F6D0, 0x1F6D3, 0x1F6D5, - 0x1F6D6, + 0x1F6D8, 0x1F6EB, 0x1F6ED, 0x1F6F4, - 0x1F6FB, + 0x1F6FD, 0x1F7E0, 0x1F7EC, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F90C, + 0x1F93B, + 0x1F93C, + 0x1F946, + 0x1F947, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA00, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, 0x20000, 0x2FFFE, 0x30000, @@ -238906,7 +241684,7 @@ static const UV UNI_EA__NA_invlist[] = { /* for EBCDIC 037 */ # endif /* EBCDIC 037 */ static const UV UNI_EA__W_invlist[] = { /* for all charsets */ - 223, /* Number of elements */ + 229, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -239000,8 +241778,6 @@ static const UV UNI_EA__W_invlist[] = { /* for all charsets */ 0x3131, 0x318F, 0x3190, - 0x31BB, - 0x31C0, 0x31E4, 0x31F0, 0x321F, @@ -239028,11 +241804,15 @@ static const UV UNI_EA__W_invlist[] = { /* for all charsets */ 0xFE68, 0xFE6C, 0x16FE0, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -239102,33 +241882,37 @@ static const UV UNI_EA__W_invlist[] = { /* for all charsets */ 0x1F6D0, 0x1F6D3, 0x1F6D5, - 0x1F6D6, + 0x1F6D8, 0x1F6EB, 0x1F6ED, 0x1F6F4, - 0x1F6FB, + 0x1F6FD, 0x1F7E0, 0x1F7EC, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F90C, + 0x1F93B, + 0x1F93C, + 0x1F946, + 0x1F947, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA00, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, 0x20000, 0x2FFFE, 0x30000, @@ -239145,6 +241929,192 @@ static const UV UNI_EARLYDYNASTICCUNEIFORM_invlist[] = { /* for all charsets */ 0x12550 }; +static const UV UNI_EBASE_invlist[] = { /* for all charsets */ + 77, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x261D, + 0x261E, + 0x26F9, + 0x26FA, + 0x270A, + 0x270E, + 0x1F385, + 0x1F386, + 0x1F3C2, + 0x1F3C5, + 0x1F3C7, + 0x1F3C8, + 0x1F3CA, + 0x1F3CD, + 0x1F442, + 0x1F444, + 0x1F446, + 0x1F451, + 0x1F466, + 0x1F479, + 0x1F47C, + 0x1F47D, + 0x1F481, + 0x1F484, + 0x1F485, + 0x1F488, + 0x1F48F, + 0x1F490, + 0x1F491, + 0x1F492, + 0x1F4AA, + 0x1F4AB, + 0x1F574, + 0x1F576, + 0x1F57A, + 0x1F57B, + 0x1F590, + 0x1F591, + 0x1F595, + 0x1F597, + 0x1F645, + 0x1F648, + 0x1F64B, + 0x1F650, + 0x1F6A3, + 0x1F6A4, + 0x1F6B4, + 0x1F6B7, + 0x1F6C0, + 0x1F6C1, + 0x1F6CC, + 0x1F6CD, + 0x1F90C, + 0x1F90D, + 0x1F90F, + 0x1F910, + 0x1F918, + 0x1F920, + 0x1F926, + 0x1F927, + 0x1F930, + 0x1F93A, + 0x1F93C, + 0x1F93F, + 0x1F977, + 0x1F978, + 0x1F9B5, + 0x1F9B7, + 0x1F9B8, + 0x1F9BA, + 0x1F9BB, + 0x1F9BC, + 0x1F9CD, + 0x1F9D0, + 0x1F9D1, + 0x1F9DE +}; + +# if 'A' == 65 /* ASCII/Latin1 */ + +static const UV UNI_ECOMP_invlist[] = { /* for ASCII/Latin1 */ + 21, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x23, + 0x24, + 0x2A, + 0x2B, + 0x30, + 0x3A, + 0x200D, + 0x200E, + 0x20E3, + 0x20E4, + 0xFE0F, + 0xFE10, + 0x1F1E6, + 0x1F200, + 0x1F3FB, + 0x1F400, + 0x1F9B0, + 0x1F9B4, + 0xE0020, + 0xE0080 +}; + +# endif /* ASCII/Latin1 */ + +# if 'A' == 193 /* EBCDIC 1047 */ \ + && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ + && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ + && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 + +static const UV UNI_ECOMP_invlist[] = { /* for EBCDIC 1047 */ + 21, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x5C, + 0x5D, + 0x7B, + 0x7C, + 0xF0, + 0xFA, + 0x200D, + 0x200E, + 0x20E3, + 0x20E4, + 0xFE0F, + 0xFE10, + 0x1F1E6, + 0x1F200, + 0x1F3FB, + 0x1F400, + 0x1F9B0, + 0x1F9B4, + 0xE0020, + 0xE0080 +}; + +# endif /* EBCDIC 1047 */ + +# if 'A' == 193 /* EBCDIC 037 */ \ + && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ + && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ + && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 + +static const UV UNI_ECOMP_invlist[] = { /* for EBCDIC 037 */ + 21, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x5C, + 0x5D, + 0x7B, + 0x7C, + 0xF0, + 0xFA, + 0x200D, + 0x200E, + 0x20E3, + 0x20E4, + 0xFE0F, + 0xFE10, + 0x1F1E6, + 0x1F200, + 0x1F3FB, + 0x1F400, + 0x1F9B0, + 0x1F9B4, + 0xE0020, + 0xE0080 +}; + +# endif /* EBCDIC 037 */ + static const UV UNI_EGYP_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ @@ -239187,6 +242157,970 @@ static const UV UNI_ELYM_invlist[] = { /* for all charsets */ 0x10FF7 }; +static const UV UNI_EMOD_invlist[] = { /* for all charsets */ + 3, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x1F3FB, + 0x1F400 +}; + +# if 'A' == 65 /* ASCII/Latin1 */ + +static const UV UNI_EMOJI_invlist[] = { /* for ASCII/Latin1 */ + 305, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x23, + 0x24, + 0x2A, + 0x2B, + 0x30, + 0x3A, + 0xA9, + 0xAA, + 0xAE, + 0xAF, + 0x203C, + 0x203D, + 0x2049, + 0x204A, + 0x2122, + 0x2123, + 0x2139, + 0x213A, + 0x2194, + 0x219A, + 0x21A9, + 0x21AB, + 0x231A, + 0x231C, + 0x2328, + 0x2329, + 0x23CF, + 0x23D0, + 0x23E9, + 0x23F4, + 0x23F8, + 0x23FB, + 0x24C2, + 0x24C3, + 0x25AA, + 0x25AC, + 0x25B6, + 0x25B7, + 0x25C0, + 0x25C1, + 0x25FB, + 0x25FF, + 0x2600, + 0x2605, + 0x260E, + 0x260F, + 0x2611, + 0x2612, + 0x2614, + 0x2616, + 0x2618, + 0x2619, + 0x261D, + 0x261E, + 0x2620, + 0x2621, + 0x2622, + 0x2624, + 0x2626, + 0x2627, + 0x262A, + 0x262B, + 0x262E, + 0x2630, + 0x2638, + 0x263B, + 0x2640, + 0x2641, + 0x2642, + 0x2643, + 0x2648, + 0x2654, + 0x265F, + 0x2661, + 0x2663, + 0x2664, + 0x2665, + 0x2667, + 0x2668, + 0x2669, + 0x267B, + 0x267C, + 0x267E, + 0x2680, + 0x2692, + 0x2698, + 0x2699, + 0x269A, + 0x269B, + 0x269D, + 0x26A0, + 0x26A2, + 0x26A7, + 0x26A8, + 0x26AA, + 0x26AC, + 0x26B0, + 0x26B2, + 0x26BD, + 0x26BF, + 0x26C4, + 0x26C6, + 0x26C8, + 0x26C9, + 0x26CE, + 0x26D0, + 0x26D1, + 0x26D2, + 0x26D3, + 0x26D5, + 0x26E9, + 0x26EB, + 0x26F0, + 0x26F6, + 0x26F7, + 0x26FB, + 0x26FD, + 0x26FE, + 0x2702, + 0x2703, + 0x2705, + 0x2706, + 0x2708, + 0x270E, + 0x270F, + 0x2710, + 0x2712, + 0x2713, + 0x2714, + 0x2715, + 0x2716, + 0x2717, + 0x271D, + 0x271E, + 0x2721, + 0x2722, + 0x2728, + 0x2729, + 0x2733, + 0x2735, + 0x2744, + 0x2745, + 0x2747, + 0x2748, + 0x274C, + 0x274D, + 0x274E, + 0x274F, + 0x2753, + 0x2756, + 0x2757, + 0x2758, + 0x2763, + 0x2765, + 0x2795, + 0x2798, + 0x27A1, + 0x27A2, + 0x27B0, + 0x27B1, + 0x27BF, + 0x27C0, + 0x2934, + 0x2936, + 0x2B05, + 0x2B08, + 0x2B1B, + 0x2B1D, + 0x2B50, + 0x2B51, + 0x2B55, + 0x2B56, + 0x3030, + 0x3031, + 0x303D, + 0x303E, + 0x3297, + 0x3298, + 0x3299, + 0x329A, + 0x1F004, + 0x1F005, + 0x1F0CF, + 0x1F0D0, + 0x1F170, + 0x1F172, + 0x1F17E, + 0x1F180, + 0x1F18E, + 0x1F18F, + 0x1F191, + 0x1F19B, + 0x1F1E6, + 0x1F200, + 0x1F201, + 0x1F203, + 0x1F21A, + 0x1F21B, + 0x1F22F, + 0x1F230, + 0x1F232, + 0x1F23B, + 0x1F250, + 0x1F252, + 0x1F300, + 0x1F322, + 0x1F324, + 0x1F394, + 0x1F396, + 0x1F398, + 0x1F399, + 0x1F39C, + 0x1F39E, + 0x1F3F1, + 0x1F3F3, + 0x1F3F6, + 0x1F3F7, + 0x1F4FE, + 0x1F4FF, + 0x1F53E, + 0x1F549, + 0x1F54F, + 0x1F550, + 0x1F568, + 0x1F56F, + 0x1F571, + 0x1F573, + 0x1F57B, + 0x1F587, + 0x1F588, + 0x1F58A, + 0x1F58E, + 0x1F590, + 0x1F591, + 0x1F595, + 0x1F597, + 0x1F5A4, + 0x1F5A6, + 0x1F5A8, + 0x1F5A9, + 0x1F5B1, + 0x1F5B3, + 0x1F5BC, + 0x1F5BD, + 0x1F5C2, + 0x1F5C5, + 0x1F5D1, + 0x1F5D4, + 0x1F5DC, + 0x1F5DF, + 0x1F5E1, + 0x1F5E2, + 0x1F5E3, + 0x1F5E4, + 0x1F5E8, + 0x1F5E9, + 0x1F5EF, + 0x1F5F0, + 0x1F5F3, + 0x1F5F4, + 0x1F5FA, + 0x1F650, + 0x1F680, + 0x1F6C6, + 0x1F6CB, + 0x1F6D3, + 0x1F6D5, + 0x1F6D8, + 0x1F6E0, + 0x1F6E6, + 0x1F6E9, + 0x1F6EA, + 0x1F6EB, + 0x1F6ED, + 0x1F6F0, + 0x1F6F1, + 0x1F6F3, + 0x1F6FD, + 0x1F7E0, + 0x1F7EC, + 0x1F90C, + 0x1F93B, + 0x1F93C, + 0x1F946, + 0x1F947, + 0x1F979, + 0x1F97A, + 0x1F9CC, + 0x1F9CD, + 0x1FA00, + 0x1FA70, + 0x1FA75, + 0x1FA78, + 0x1FA7B, + 0x1FA80, + 0x1FA87, + 0x1FA90, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7 +}; + +# endif /* ASCII/Latin1 */ + +# if 'A' == 193 /* EBCDIC 1047 */ \ + && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ + && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ + && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 + +static const UV UNI_EMOJI_invlist[] = { /* for EBCDIC 1047 */ + 305, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x5C, + 0x5D, + 0x7B, + 0x7C, + 0xAF, + 0xB0, + 0xB4, + 0xB5, + 0xF0, + 0xFA, + 0x203C, + 0x203D, + 0x2049, + 0x204A, + 0x2122, + 0x2123, + 0x2139, + 0x213A, + 0x2194, + 0x219A, + 0x21A9, + 0x21AB, + 0x231A, + 0x231C, + 0x2328, + 0x2329, + 0x23CF, + 0x23D0, + 0x23E9, + 0x23F4, + 0x23F8, + 0x23FB, + 0x24C2, + 0x24C3, + 0x25AA, + 0x25AC, + 0x25B6, + 0x25B7, + 0x25C0, + 0x25C1, + 0x25FB, + 0x25FF, + 0x2600, + 0x2605, + 0x260E, + 0x260F, + 0x2611, + 0x2612, + 0x2614, + 0x2616, + 0x2618, + 0x2619, + 0x261D, + 0x261E, + 0x2620, + 0x2621, + 0x2622, + 0x2624, + 0x2626, + 0x2627, + 0x262A, + 0x262B, + 0x262E, + 0x2630, + 0x2638, + 0x263B, + 0x2640, + 0x2641, + 0x2642, + 0x2643, + 0x2648, + 0x2654, + 0x265F, + 0x2661, + 0x2663, + 0x2664, + 0x2665, + 0x2667, + 0x2668, + 0x2669, + 0x267B, + 0x267C, + 0x267E, + 0x2680, + 0x2692, + 0x2698, + 0x2699, + 0x269A, + 0x269B, + 0x269D, + 0x26A0, + 0x26A2, + 0x26A7, + 0x26A8, + 0x26AA, + 0x26AC, + 0x26B0, + 0x26B2, + 0x26BD, + 0x26BF, + 0x26C4, + 0x26C6, + 0x26C8, + 0x26C9, + 0x26CE, + 0x26D0, + 0x26D1, + 0x26D2, + 0x26D3, + 0x26D5, + 0x26E9, + 0x26EB, + 0x26F0, + 0x26F6, + 0x26F7, + 0x26FB, + 0x26FD, + 0x26FE, + 0x2702, + 0x2703, + 0x2705, + 0x2706, + 0x2708, + 0x270E, + 0x270F, + 0x2710, + 0x2712, + 0x2713, + 0x2714, + 0x2715, + 0x2716, + 0x2717, + 0x271D, + 0x271E, + 0x2721, + 0x2722, + 0x2728, + 0x2729, + 0x2733, + 0x2735, + 0x2744, + 0x2745, + 0x2747, + 0x2748, + 0x274C, + 0x274D, + 0x274E, + 0x274F, + 0x2753, + 0x2756, + 0x2757, + 0x2758, + 0x2763, + 0x2765, + 0x2795, + 0x2798, + 0x27A1, + 0x27A2, + 0x27B0, + 0x27B1, + 0x27BF, + 0x27C0, + 0x2934, + 0x2936, + 0x2B05, + 0x2B08, + 0x2B1B, + 0x2B1D, + 0x2B50, + 0x2B51, + 0x2B55, + 0x2B56, + 0x3030, + 0x3031, + 0x303D, + 0x303E, + 0x3297, + 0x3298, + 0x3299, + 0x329A, + 0x1F004, + 0x1F005, + 0x1F0CF, + 0x1F0D0, + 0x1F170, + 0x1F172, + 0x1F17E, + 0x1F180, + 0x1F18E, + 0x1F18F, + 0x1F191, + 0x1F19B, + 0x1F1E6, + 0x1F200, + 0x1F201, + 0x1F203, + 0x1F21A, + 0x1F21B, + 0x1F22F, + 0x1F230, + 0x1F232, + 0x1F23B, + 0x1F250, + 0x1F252, + 0x1F300, + 0x1F322, + 0x1F324, + 0x1F394, + 0x1F396, + 0x1F398, + 0x1F399, + 0x1F39C, + 0x1F39E, + 0x1F3F1, + 0x1F3F3, + 0x1F3F6, + 0x1F3F7, + 0x1F4FE, + 0x1F4FF, + 0x1F53E, + 0x1F549, + 0x1F54F, + 0x1F550, + 0x1F568, + 0x1F56F, + 0x1F571, + 0x1F573, + 0x1F57B, + 0x1F587, + 0x1F588, + 0x1F58A, + 0x1F58E, + 0x1F590, + 0x1F591, + 0x1F595, + 0x1F597, + 0x1F5A4, + 0x1F5A6, + 0x1F5A8, + 0x1F5A9, + 0x1F5B1, + 0x1F5B3, + 0x1F5BC, + 0x1F5BD, + 0x1F5C2, + 0x1F5C5, + 0x1F5D1, + 0x1F5D4, + 0x1F5DC, + 0x1F5DF, + 0x1F5E1, + 0x1F5E2, + 0x1F5E3, + 0x1F5E4, + 0x1F5E8, + 0x1F5E9, + 0x1F5EF, + 0x1F5F0, + 0x1F5F3, + 0x1F5F4, + 0x1F5FA, + 0x1F650, + 0x1F680, + 0x1F6C6, + 0x1F6CB, + 0x1F6D3, + 0x1F6D5, + 0x1F6D8, + 0x1F6E0, + 0x1F6E6, + 0x1F6E9, + 0x1F6EA, + 0x1F6EB, + 0x1F6ED, + 0x1F6F0, + 0x1F6F1, + 0x1F6F3, + 0x1F6FD, + 0x1F7E0, + 0x1F7EC, + 0x1F90C, + 0x1F93B, + 0x1F93C, + 0x1F946, + 0x1F947, + 0x1F979, + 0x1F97A, + 0x1F9CC, + 0x1F9CD, + 0x1FA00, + 0x1FA70, + 0x1FA75, + 0x1FA78, + 0x1FA7B, + 0x1FA80, + 0x1FA87, + 0x1FA90, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7 +}; + +# endif /* EBCDIC 1047 */ + +# if 'A' == 193 /* EBCDIC 037 */ \ + && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ + && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ + && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 + +static const UV UNI_EMOJI_invlist[] = { /* for EBCDIC 037 */ + 305, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x5C, + 0x5D, + 0x7B, + 0x7C, + 0xAF, + 0xB0, + 0xB4, + 0xB5, + 0xF0, + 0xFA, + 0x203C, + 0x203D, + 0x2049, + 0x204A, + 0x2122, + 0x2123, + 0x2139, + 0x213A, + 0x2194, + 0x219A, + 0x21A9, + 0x21AB, + 0x231A, + 0x231C, + 0x2328, + 0x2329, + 0x23CF, + 0x23D0, + 0x23E9, + 0x23F4, + 0x23F8, + 0x23FB, + 0x24C2, + 0x24C3, + 0x25AA, + 0x25AC, + 0x25B6, + 0x25B7, + 0x25C0, + 0x25C1, + 0x25FB, + 0x25FF, + 0x2600, + 0x2605, + 0x260E, + 0x260F, + 0x2611, + 0x2612, + 0x2614, + 0x2616, + 0x2618, + 0x2619, + 0x261D, + 0x261E, + 0x2620, + 0x2621, + 0x2622, + 0x2624, + 0x2626, + 0x2627, + 0x262A, + 0x262B, + 0x262E, + 0x2630, + 0x2638, + 0x263B, + 0x2640, + 0x2641, + 0x2642, + 0x2643, + 0x2648, + 0x2654, + 0x265F, + 0x2661, + 0x2663, + 0x2664, + 0x2665, + 0x2667, + 0x2668, + 0x2669, + 0x267B, + 0x267C, + 0x267E, + 0x2680, + 0x2692, + 0x2698, + 0x2699, + 0x269A, + 0x269B, + 0x269D, + 0x26A0, + 0x26A2, + 0x26A7, + 0x26A8, + 0x26AA, + 0x26AC, + 0x26B0, + 0x26B2, + 0x26BD, + 0x26BF, + 0x26C4, + 0x26C6, + 0x26C8, + 0x26C9, + 0x26CE, + 0x26D0, + 0x26D1, + 0x26D2, + 0x26D3, + 0x26D5, + 0x26E9, + 0x26EB, + 0x26F0, + 0x26F6, + 0x26F7, + 0x26FB, + 0x26FD, + 0x26FE, + 0x2702, + 0x2703, + 0x2705, + 0x2706, + 0x2708, + 0x270E, + 0x270F, + 0x2710, + 0x2712, + 0x2713, + 0x2714, + 0x2715, + 0x2716, + 0x2717, + 0x271D, + 0x271E, + 0x2721, + 0x2722, + 0x2728, + 0x2729, + 0x2733, + 0x2735, + 0x2744, + 0x2745, + 0x2747, + 0x2748, + 0x274C, + 0x274D, + 0x274E, + 0x274F, + 0x2753, + 0x2756, + 0x2757, + 0x2758, + 0x2763, + 0x2765, + 0x2795, + 0x2798, + 0x27A1, + 0x27A2, + 0x27B0, + 0x27B1, + 0x27BF, + 0x27C0, + 0x2934, + 0x2936, + 0x2B05, + 0x2B08, + 0x2B1B, + 0x2B1D, + 0x2B50, + 0x2B51, + 0x2B55, + 0x2B56, + 0x3030, + 0x3031, + 0x303D, + 0x303E, + 0x3297, + 0x3298, + 0x3299, + 0x329A, + 0x1F004, + 0x1F005, + 0x1F0CF, + 0x1F0D0, + 0x1F170, + 0x1F172, + 0x1F17E, + 0x1F180, + 0x1F18E, + 0x1F18F, + 0x1F191, + 0x1F19B, + 0x1F1E6, + 0x1F200, + 0x1F201, + 0x1F203, + 0x1F21A, + 0x1F21B, + 0x1F22F, + 0x1F230, + 0x1F232, + 0x1F23B, + 0x1F250, + 0x1F252, + 0x1F300, + 0x1F322, + 0x1F324, + 0x1F394, + 0x1F396, + 0x1F398, + 0x1F399, + 0x1F39C, + 0x1F39E, + 0x1F3F1, + 0x1F3F3, + 0x1F3F6, + 0x1F3F7, + 0x1F4FE, + 0x1F4FF, + 0x1F53E, + 0x1F549, + 0x1F54F, + 0x1F550, + 0x1F568, + 0x1F56F, + 0x1F571, + 0x1F573, + 0x1F57B, + 0x1F587, + 0x1F588, + 0x1F58A, + 0x1F58E, + 0x1F590, + 0x1F591, + 0x1F595, + 0x1F597, + 0x1F5A4, + 0x1F5A6, + 0x1F5A8, + 0x1F5A9, + 0x1F5B1, + 0x1F5B3, + 0x1F5BC, + 0x1F5BD, + 0x1F5C2, + 0x1F5C5, + 0x1F5D1, + 0x1F5D4, + 0x1F5DC, + 0x1F5DF, + 0x1F5E1, + 0x1F5E2, + 0x1F5E3, + 0x1F5E4, + 0x1F5E8, + 0x1F5E9, + 0x1F5EF, + 0x1F5F0, + 0x1F5F3, + 0x1F5F4, + 0x1F5FA, + 0x1F650, + 0x1F680, + 0x1F6C6, + 0x1F6CB, + 0x1F6D3, + 0x1F6D5, + 0x1F6D8, + 0x1F6E0, + 0x1F6E6, + 0x1F6E9, + 0x1F6EA, + 0x1F6EB, + 0x1F6ED, + 0x1F6F0, + 0x1F6F1, + 0x1F6F3, + 0x1F6FD, + 0x1F7E0, + 0x1F7EC, + 0x1F90C, + 0x1F93B, + 0x1F93C, + 0x1F946, + 0x1F947, + 0x1F979, + 0x1F97A, + 0x1F9CC, + 0x1F9CD, + 0x1FA00, + 0x1FA70, + 0x1FA75, + 0x1FA78, + 0x1FA7B, + 0x1FA80, + 0x1FA87, + 0x1FA90, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7 +}; + +# endif /* EBCDIC 037 */ + static const UV UNI_EMOTICONS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ @@ -239237,6 +243171,176 @@ static const UV UNI_ENCLOSEDIDEOGRAPHICSUP_invlist[] = { /* for all charsets */ 0x1F300 }; +static const UV UNI_EPRES_invlist[] = { /* for all charsets */ + 163, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x231A, + 0x231C, + 0x23E9, + 0x23ED, + 0x23F0, + 0x23F1, + 0x23F3, + 0x23F4, + 0x25FD, + 0x25FF, + 0x2614, + 0x2616, + 0x2648, + 0x2654, + 0x267F, + 0x2680, + 0x2693, + 0x2694, + 0x26A1, + 0x26A2, + 0x26AA, + 0x26AC, + 0x26BD, + 0x26BF, + 0x26C4, + 0x26C6, + 0x26CE, + 0x26CF, + 0x26D4, + 0x26D5, + 0x26EA, + 0x26EB, + 0x26F2, + 0x26F4, + 0x26F5, + 0x26F6, + 0x26FA, + 0x26FB, + 0x26FD, + 0x26FE, + 0x2705, + 0x2706, + 0x270A, + 0x270C, + 0x2728, + 0x2729, + 0x274C, + 0x274D, + 0x274E, + 0x274F, + 0x2753, + 0x2756, + 0x2757, + 0x2758, + 0x2795, + 0x2798, + 0x27B0, + 0x27B1, + 0x27BF, + 0x27C0, + 0x2B1B, + 0x2B1D, + 0x2B50, + 0x2B51, + 0x2B55, + 0x2B56, + 0x1F004, + 0x1F005, + 0x1F0CF, + 0x1F0D0, + 0x1F18E, + 0x1F18F, + 0x1F191, + 0x1F19B, + 0x1F1E6, + 0x1F200, + 0x1F201, + 0x1F202, + 0x1F21A, + 0x1F21B, + 0x1F22F, + 0x1F230, + 0x1F232, + 0x1F237, + 0x1F238, + 0x1F23B, + 0x1F250, + 0x1F252, + 0x1F300, + 0x1F321, + 0x1F32D, + 0x1F336, + 0x1F337, + 0x1F37D, + 0x1F37E, + 0x1F394, + 0x1F3A0, + 0x1F3CB, + 0x1F3CF, + 0x1F3D4, + 0x1F3E0, + 0x1F3F1, + 0x1F3F4, + 0x1F3F5, + 0x1F3F8, + 0x1F43F, + 0x1F440, + 0x1F441, + 0x1F442, + 0x1F4FD, + 0x1F4FF, + 0x1F53E, + 0x1F54B, + 0x1F54F, + 0x1F550, + 0x1F568, + 0x1F57A, + 0x1F57B, + 0x1F595, + 0x1F597, + 0x1F5A4, + 0x1F5A5, + 0x1F5FB, + 0x1F650, + 0x1F680, + 0x1F6C6, + 0x1F6CC, + 0x1F6CD, + 0x1F6D0, + 0x1F6D3, + 0x1F6D5, + 0x1F6D8, + 0x1F6EB, + 0x1F6ED, + 0x1F6F4, + 0x1F6FD, + 0x1F7E0, + 0x1F7EC, + 0x1F90C, + 0x1F93B, + 0x1F93C, + 0x1F946, + 0x1F947, + 0x1F979, + 0x1F97A, + 0x1F9CC, + 0x1F9CD, + 0x1FA00, + 0x1FA70, + 0x1FA75, + 0x1FA78, + 0x1FA7B, + 0x1FA80, + 0x1FA87, + 0x1FA90, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7 +}; + static const UV UNI_ETHI_invlist[] = { /* for all charsets */ 65, /* Number of elements */ 148565664, /* Version and data structure type */ @@ -239342,7 +243446,7 @@ static const UV UNI_ETHIOPICSUP_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_EXT_invlist[] = { /* for ASCII/Latin1 */ - 63, /* Number of elements */ + 65, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -239355,6 +243459,8 @@ static const UV UNI_EXT_invlist[] = { /* for ASCII/Latin1 */ 0x641, 0x7FA, 0x7FB, + 0xB55, + 0xB56, 0xE46, 0xE47, 0xEC6, @@ -239419,7 +243525,7 @@ static const UV UNI_EXT_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_EXT_invlist[] = { /* for EBCDIC 1047 */ - 63, /* Number of elements */ + 65, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -239432,6 +243538,8 @@ static const UV UNI_EXT_invlist[] = { /* for EBCDIC 1047 */ 0x641, 0x7FA, 0x7FB, + 0xB55, + 0xB56, 0xE46, 0xE47, 0xEC6, @@ -239496,7 +243604,7 @@ static const UV UNI_EXT_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_EXT_invlist[] = { /* for EBCDIC 037 */ - 63, /* Number of elements */ + 65, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -239509,6 +243617,8 @@ static const UV UNI_EXT_invlist[] = { /* for EBCDIC 037 */ 0x641, 0x7FA, 0x7FB, + 0xB55, + 0xB56, 0xE46, 0xE47, 0xEC6, @@ -239569,189 +243679,699 @@ static const UV UNI_EXT_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ -static const UV UNI_GCB__CN_invlist[] = { /* for ASCII/Latin1 */ - 38, /* Number of elements */ - 148565664, /* Version and data structure type */ - 0, /* 0 if the list starts at 0; - 1 if it starts at the element beyond 0 */ - 0x0, - 0xA, - 0xB, - 0xD, - 0xE, - 0x20, - 0x7F, - 0xA0, - 0xAD, - 0xAE, - 0x61C, - 0x61D, - 0x180E, - 0x180F, - 0x200B, - 0x200C, - 0x200E, - 0x2010, - 0x2028, - 0x202F, - 0x2060, - 0x2070, - 0xFEFF, - 0xFF00, - 0xFFF0, - 0xFFFC, - 0x13430, - 0x13439, - 0x1BCA0, - 0x1BCA4, - 0x1D173, - 0x1D17B, - 0xE0000, - 0xE0020, - 0xE0080, - 0xE0100, - 0xE01F0, - 0xE1000 -}; - -# endif /* ASCII/Latin1 */ - -# if 'A' == 193 /* EBCDIC 1047 */ \ - && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ - && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ - && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 - -static const UV UNI_GCB__CN_invlist[] = { /* for EBCDIC 1047 */ - 38, /* Number of elements */ - 148565664, /* Version and data structure type */ - 0, /* 0 if the list starts at 0; - 1 if it starts at the element beyond 0 */ - 0x0, - 0xD, - 0xE, - 0x15, - 0x16, - 0x40, - 0xCA, - 0xCB, - 0xFF, - 0x100, - 0x61C, - 0x61D, - 0x180E, - 0x180F, - 0x200B, - 0x200C, - 0x200E, - 0x2010, - 0x2028, - 0x202F, - 0x2060, - 0x2070, - 0xFEFF, - 0xFF00, - 0xFFF0, - 0xFFFC, - 0x13430, - 0x13439, - 0x1BCA0, - 0x1BCA4, - 0x1D173, - 0x1D17B, - 0xE0000, - 0xE0020, - 0xE0080, - 0xE0100, - 0xE01F0, - 0xE1000 -}; - -# endif /* EBCDIC 1047 */ - -# if 'A' == 193 /* EBCDIC 037 */ \ - && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ - && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ - && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 - -static const UV UNI_GCB__CN_invlist[] = { /* for EBCDIC 037 */ - 38, /* Number of elements */ - 148565664, /* Version and data structure type */ - 0, /* 0 if the list starts at 0; - 1 if it starts at the element beyond 0 */ - 0x0, - 0xD, - 0xE, - 0x25, - 0x26, - 0x40, - 0xCA, - 0xCB, - 0xFF, - 0x100, - 0x61C, - 0x61D, - 0x180E, - 0x180F, - 0x200B, - 0x200C, - 0x200E, - 0x2010, - 0x2028, - 0x202F, - 0x2060, - 0x2070, - 0xFEFF, - 0xFF00, - 0xFFF0, - 0xFFFC, - 0x13430, - 0x13439, - 0x1BCA0, - 0x1BCA4, - 0x1D173, - 0x1D17B, - 0xE0000, - 0xE0020, - 0xE0080, - 0xE0100, - 0xE01F0, - 0xE1000 -}; - -# endif /* EBCDIC 037 */ - -static const UV UNI_GCB__EX_invlist[] = { /* for all charsets */ - 673, /* Number of elements */ +static const UV UNI_EXTPICT_invlist[] = { /* for ASCII/Latin1 */ + 157, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, - 0x300, - 0x370, - 0x483, - 0x48A, - 0x591, - 0x5BE, - 0x5BF, - 0x5C0, - 0x5C1, - 0x5C3, - 0x5C4, - 0x5C6, - 0x5C7, - 0x5C8, - 0x610, - 0x61B, - 0x64B, - 0x660, - 0x670, - 0x671, - 0x6D6, - 0x6DD, - 0x6DF, - 0x6E5, - 0x6E7, - 0x6E9, + 0xA9, + 0xAA, + 0xAE, + 0xAF, + 0x203C, + 0x203D, + 0x2049, + 0x204A, + 0x2122, + 0x2123, + 0x2139, + 0x213A, + 0x2194, + 0x219A, + 0x21A9, + 0x21AB, + 0x231A, + 0x231C, + 0x2328, + 0x2329, + 0x2388, + 0x2389, + 0x23CF, + 0x23D0, + 0x23E9, + 0x23F4, + 0x23F8, + 0x23FB, + 0x24C2, + 0x24C3, + 0x25AA, + 0x25AC, + 0x25B6, + 0x25B7, + 0x25C0, + 0x25C1, + 0x25FB, + 0x25FF, + 0x2600, + 0x2606, + 0x2607, + 0x2613, + 0x2614, + 0x2686, + 0x2690, + 0x2706, + 0x2708, + 0x2713, + 0x2714, + 0x2715, + 0x2716, + 0x2717, + 0x271D, + 0x271E, + 0x2721, + 0x2722, + 0x2728, + 0x2729, + 0x2733, + 0x2735, + 0x2744, + 0x2745, + 0x2747, + 0x2748, + 0x274C, + 0x274D, + 0x274E, + 0x274F, + 0x2753, + 0x2756, + 0x2757, + 0x2758, + 0x2763, + 0x2768, + 0x2795, + 0x2798, + 0x27A1, + 0x27A2, + 0x27B0, + 0x27B1, + 0x27BF, + 0x27C0, + 0x2934, + 0x2936, + 0x2B05, + 0x2B08, + 0x2B1B, + 0x2B1D, + 0x2B50, + 0x2B51, + 0x2B55, + 0x2B56, + 0x3030, + 0x3031, + 0x303D, + 0x303E, + 0x3297, + 0x3298, + 0x3299, + 0x329A, + 0x1F000, + 0x1F100, + 0x1F10D, + 0x1F110, + 0x1F12F, + 0x1F130, + 0x1F16C, + 0x1F172, + 0x1F17E, + 0x1F180, + 0x1F18E, + 0x1F18F, + 0x1F191, + 0x1F19B, + 0x1F1AD, + 0x1F1E6, + 0x1F201, + 0x1F210, + 0x1F21A, + 0x1F21B, + 0x1F22F, + 0x1F230, + 0x1F232, + 0x1F23B, + 0x1F23C, + 0x1F240, + 0x1F249, + 0x1F3FB, + 0x1F400, + 0x1F53E, + 0x1F546, + 0x1F650, + 0x1F680, + 0x1F700, + 0x1F774, + 0x1F780, + 0x1F7D5, + 0x1F800, + 0x1F80C, + 0x1F810, + 0x1F848, + 0x1F850, + 0x1F85A, + 0x1F860, + 0x1F888, + 0x1F890, + 0x1F8AE, + 0x1F900, + 0x1F90C, + 0x1F93B, + 0x1F93C, + 0x1F946, + 0x1F947, + 0x1FB00, + 0x1FC00, + 0x1FFFE +}; + +# endif /* ASCII/Latin1 */ + +# if 'A' == 193 /* EBCDIC 1047 */ \ + && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ + && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ + && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 + +static const UV UNI_EXTPICT_invlist[] = { /* for EBCDIC 1047 */ + 157, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0xAF, + 0xB0, + 0xB4, + 0xB5, + 0x203C, + 0x203D, + 0x2049, + 0x204A, + 0x2122, + 0x2123, + 0x2139, + 0x213A, + 0x2194, + 0x219A, + 0x21A9, + 0x21AB, + 0x231A, + 0x231C, + 0x2328, + 0x2329, + 0x2388, + 0x2389, + 0x23CF, + 0x23D0, + 0x23E9, + 0x23F4, + 0x23F8, + 0x23FB, + 0x24C2, + 0x24C3, + 0x25AA, + 0x25AC, + 0x25B6, + 0x25B7, + 0x25C0, + 0x25C1, + 0x25FB, + 0x25FF, + 0x2600, + 0x2606, + 0x2607, + 0x2613, + 0x2614, + 0x2686, + 0x2690, + 0x2706, + 0x2708, + 0x2713, + 0x2714, + 0x2715, + 0x2716, + 0x2717, + 0x271D, + 0x271E, + 0x2721, + 0x2722, + 0x2728, + 0x2729, + 0x2733, + 0x2735, + 0x2744, + 0x2745, + 0x2747, + 0x2748, + 0x274C, + 0x274D, + 0x274E, + 0x274F, + 0x2753, + 0x2756, + 0x2757, + 0x2758, + 0x2763, + 0x2768, + 0x2795, + 0x2798, + 0x27A1, + 0x27A2, + 0x27B0, + 0x27B1, + 0x27BF, + 0x27C0, + 0x2934, + 0x2936, + 0x2B05, + 0x2B08, + 0x2B1B, + 0x2B1D, + 0x2B50, + 0x2B51, + 0x2B55, + 0x2B56, + 0x3030, + 0x3031, + 0x303D, + 0x303E, + 0x3297, + 0x3298, + 0x3299, + 0x329A, + 0x1F000, + 0x1F100, + 0x1F10D, + 0x1F110, + 0x1F12F, + 0x1F130, + 0x1F16C, + 0x1F172, + 0x1F17E, + 0x1F180, + 0x1F18E, + 0x1F18F, + 0x1F191, + 0x1F19B, + 0x1F1AD, + 0x1F1E6, + 0x1F201, + 0x1F210, + 0x1F21A, + 0x1F21B, + 0x1F22F, + 0x1F230, + 0x1F232, + 0x1F23B, + 0x1F23C, + 0x1F240, + 0x1F249, + 0x1F3FB, + 0x1F400, + 0x1F53E, + 0x1F546, + 0x1F650, + 0x1F680, + 0x1F700, + 0x1F774, + 0x1F780, + 0x1F7D5, + 0x1F800, + 0x1F80C, + 0x1F810, + 0x1F848, + 0x1F850, + 0x1F85A, + 0x1F860, + 0x1F888, + 0x1F890, + 0x1F8AE, + 0x1F900, + 0x1F90C, + 0x1F93B, + 0x1F93C, + 0x1F946, + 0x1F947, + 0x1FB00, + 0x1FC00, + 0x1FFFE +}; + +# endif /* EBCDIC 1047 */ + +# if 'A' == 193 /* EBCDIC 037 */ \ + && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ + && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ + && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 + +static const UV UNI_EXTPICT_invlist[] = { /* for EBCDIC 037 */ + 157, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0xAF, + 0xB0, + 0xB4, + 0xB5, + 0x203C, + 0x203D, + 0x2049, + 0x204A, + 0x2122, + 0x2123, + 0x2139, + 0x213A, + 0x2194, + 0x219A, + 0x21A9, + 0x21AB, + 0x231A, + 0x231C, + 0x2328, + 0x2329, + 0x2388, + 0x2389, + 0x23CF, + 0x23D0, + 0x23E9, + 0x23F4, + 0x23F8, + 0x23FB, + 0x24C2, + 0x24C3, + 0x25AA, + 0x25AC, + 0x25B6, + 0x25B7, + 0x25C0, + 0x25C1, + 0x25FB, + 0x25FF, + 0x2600, + 0x2606, + 0x2607, + 0x2613, + 0x2614, + 0x2686, + 0x2690, + 0x2706, + 0x2708, + 0x2713, + 0x2714, + 0x2715, + 0x2716, + 0x2717, + 0x271D, + 0x271E, + 0x2721, + 0x2722, + 0x2728, + 0x2729, + 0x2733, + 0x2735, + 0x2744, + 0x2745, + 0x2747, + 0x2748, + 0x274C, + 0x274D, + 0x274E, + 0x274F, + 0x2753, + 0x2756, + 0x2757, + 0x2758, + 0x2763, + 0x2768, + 0x2795, + 0x2798, + 0x27A1, + 0x27A2, + 0x27B0, + 0x27B1, + 0x27BF, + 0x27C0, + 0x2934, + 0x2936, + 0x2B05, + 0x2B08, + 0x2B1B, + 0x2B1D, + 0x2B50, + 0x2B51, + 0x2B55, + 0x2B56, + 0x3030, + 0x3031, + 0x303D, + 0x303E, + 0x3297, + 0x3298, + 0x3299, + 0x329A, + 0x1F000, + 0x1F100, + 0x1F10D, + 0x1F110, + 0x1F12F, + 0x1F130, + 0x1F16C, + 0x1F172, + 0x1F17E, + 0x1F180, + 0x1F18E, + 0x1F18F, + 0x1F191, + 0x1F19B, + 0x1F1AD, + 0x1F1E6, + 0x1F201, + 0x1F210, + 0x1F21A, + 0x1F21B, + 0x1F22F, + 0x1F230, + 0x1F232, + 0x1F23B, + 0x1F23C, + 0x1F240, + 0x1F249, + 0x1F3FB, + 0x1F400, + 0x1F53E, + 0x1F546, + 0x1F650, + 0x1F680, + 0x1F700, + 0x1F774, + 0x1F780, + 0x1F7D5, + 0x1F800, + 0x1F80C, + 0x1F810, + 0x1F848, + 0x1F850, + 0x1F85A, + 0x1F860, + 0x1F888, + 0x1F890, + 0x1F8AE, + 0x1F900, + 0x1F90C, + 0x1F93B, + 0x1F93C, + 0x1F946, + 0x1F947, + 0x1FB00, + 0x1FC00, + 0x1FFFE +}; + +# endif /* EBCDIC 037 */ + +# if 'A' == 65 /* ASCII/Latin1 */ + +static const UV UNI_GCB__CN_invlist[] = { /* for ASCII/Latin1 */ + 38, /* Number of elements */ + 148565664, /* Version and data structure type */ + 0, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0xA, + 0xB, + 0xD, + 0xE, + 0x20, + 0x7F, + 0xA0, + 0xAD, + 0xAE, + 0x61C, + 0x61D, + 0x180E, + 0x180F, + 0x200B, + 0x200C, + 0x200E, + 0x2010, + 0x2028, + 0x202F, + 0x2060, + 0x2070, + 0xFEFF, + 0xFF00, + 0xFFF0, + 0xFFFC, + 0x13430, + 0x13439, + 0x1BCA0, + 0x1BCA4, + 0x1D173, + 0x1D17B, + 0xE0000, + 0xE0020, + 0xE0080, + 0xE0100, + 0xE01F0, + 0xE1000 +}; + +# endif /* ASCII/Latin1 */ + +# if 'A' == 193 /* EBCDIC 1047 */ \ + && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ + && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ + && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 + +static const UV UNI_GCB__CN_invlist[] = { /* for EBCDIC 1047 */ + 38, /* Number of elements */ + 148565664, /* Version and data structure type */ + 0, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0xD, + 0xE, + 0x15, + 0x16, + 0x40, + 0xCA, + 0xCB, + 0xFF, + 0x100, + 0x61C, + 0x61D, + 0x180E, + 0x180F, + 0x200B, + 0x200C, + 0x200E, + 0x2010, + 0x2028, + 0x202F, + 0x2060, + 0x2070, + 0xFEFF, + 0xFF00, + 0xFFF0, + 0xFFFC, + 0x13430, + 0x13439, + 0x1BCA0, + 0x1BCA4, + 0x1D173, + 0x1D17B, + 0xE0000, + 0xE0020, + 0xE0080, + 0xE0100, + 0xE01F0, + 0xE1000 +}; + +# endif /* EBCDIC 1047 */ + +# if 'A' == 193 /* EBCDIC 037 */ \ + && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ + && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ + && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 + +static const UV UNI_GCB__CN_invlist[] = { /* for EBCDIC 037 */ + 38, /* Number of elements */ + 148565664, /* Version and data structure type */ + 0, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0xD, + 0xE, + 0x25, + 0x26, + 0x40, + 0xCA, + 0xCB, + 0xFF, + 0x100, + 0x61C, + 0x61D, + 0x180E, + 0x180F, + 0x200B, + 0x200C, + 0x200E, + 0x2010, + 0x2028, + 0x202F, + 0x2060, + 0x2070, + 0xFEFF, + 0xFF00, + 0xFFF0, + 0xFFFC, + 0x13430, + 0x13439, + 0x1BCA0, + 0x1BCA4, + 0x1D173, + 0x1D17B, + 0xE0000, + 0xE0020, + 0xE0080, + 0xE0100, + 0xE01F0, + 0xE1000 +}; + +# endif /* EBCDIC 037 */ + +static const UV UNI_GCB__EX_invlist[] = { /* for all charsets */ + 691, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x300, + 0x370, + 0x483, + 0x48A, + 0x591, + 0x5BE, + 0x5BF, + 0x5C0, + 0x5C1, + 0x5C3, + 0x5C4, + 0x5C6, + 0x5C7, + 0x5C8, + 0x610, + 0x61B, + 0x64B, + 0x660, + 0x670, + 0x671, + 0x6D6, + 0x6DD, + 0x6DF, + 0x6E5, + 0x6E7, + 0x6E9, 0x6EA, 0x6EE, 0x711, @@ -239846,7 +244466,7 @@ static const UV UNI_GCB__EX_invlist[] = { /* for all charsets */ 0xB45, 0xB4D, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB62, 0xB64, @@ -239904,6 +244524,8 @@ static const UV UNI_GCB__EX_invlist[] = { /* for all charsets */ 0xD58, 0xD62, 0xD64, + 0xD81, + 0xD82, 0xDCA, 0xDCB, 0xDCF, @@ -240021,7 +244643,7 @@ static const UV UNI_GCB__EX_invlist[] = { /* for all charsets */ 0x1A7F, 0x1A80, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B04, 0x1B34, @@ -240098,6 +244720,8 @@ static const UV UNI_GCB__EX_invlist[] = { /* for all charsets */ 0xA80C, 0xA825, 0xA827, + 0xA82C, + 0xA82D, 0xA8C4, 0xA8C6, 0xA8E0, @@ -240178,6 +244802,8 @@ static const UV UNI_GCB__EX_invlist[] = { /* for all charsets */ 0x10AE7, 0x10D24, 0x10D28, + 0x10EAB, + 0x10EAD, 0x10F46, 0x10F51, 0x11001, @@ -240204,6 +244830,8 @@ static const UV UNI_GCB__EX_invlist[] = { /* for all charsets */ 0x111BF, 0x111C9, 0x111CD, + 0x111CF, + 0x111D0, 0x1122F, 0x11232, 0x11234, @@ -240284,6 +244912,14 @@ static const UV UNI_GCB__EX_invlist[] = { /* for all charsets */ 0x11838, 0x11839, 0x1183B, + 0x11930, + 0x11931, + 0x1193B, + 0x1193D, + 0x1193E, + 0x1193F, + 0x11943, + 0x11944, 0x119D4, 0x119D8, 0x119DA, @@ -240346,6 +244982,8 @@ static const UV UNI_GCB__EX_invlist[] = { /* for all charsets */ 0x16F50, 0x16F8F, 0x16F93, + 0x16FE4, + 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1D165, @@ -240413,7 +245051,7 @@ static const UV UNI_GCB__L_invlist[] = { /* for all charsets */ }; static const UV UNI_GCB__PP_invlist[] = { /* for all charsets */ - 23, /* Number of elements */ + 27, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -240434,6 +245072,10 @@ static const UV UNI_GCB__PP_invlist[] = { /* for all charsets */ 0x110CE, 0x111C2, 0x111C4, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, 0x11A3A, 0x11A3B, 0x11A84, @@ -240443,7 +245085,7 @@ static const UV UNI_GCB__PP_invlist[] = { /* for all charsets */ }; static const UV UNI_GCB__SM_invlist[] = { /* for all charsets */ - 305, /* Number of elements */ + 319, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -240654,6 +245296,8 @@ static const UV UNI_GCB__SM_invlist[] = { /* for all charsets */ 0x111B6, 0x111BF, 0x111C1, + 0x111CE, + 0x111CF, 0x1122C, 0x1122F, 0x11232, @@ -240716,6 +245360,16 @@ static const UV UNI_GCB__SM_invlist[] = { /* for all charsets */ 0x1182F, 0x11838, 0x11839, + 0x11931, + 0x11936, + 0x11937, + 0x11939, + 0x1193D, + 0x1193E, + 0x11940, + 0x11941, + 0x11942, + 0x11943, 0x119D1, 0x119D4, 0x119DC, @@ -240748,6 +245402,8 @@ static const UV UNI_GCB__SM_invlist[] = { /* for all charsets */ 0x11EF7, 0x16F51, 0x16F88, + 0x16FF0, + 0x16FF2, 0x1D166, 0x1D167, 0x1D16D, @@ -240781,7 +245437,7 @@ static const UV UNI_GCB__V_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_GCB__XX_invlist[] = { /* for ASCII/Latin1 */ - 604, /* Number of elements */ + 620, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -240911,7 +245567,7 @@ static const UV UNI_GCB__XX_invlist[] = { /* for ASCII/Latin1 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB62, 0xB64, @@ -240965,7 +245621,7 @@ static const UV UNI_GCB__XX_invlist[] = { /* for ASCII/Latin1 */ 0xD58, 0xD62, 0xD64, - 0xD82, + 0xD81, 0xD84, 0xDCA, 0xDCB, @@ -241066,7 +245722,7 @@ static const UV UNI_GCB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x1A7F, 0x1A80, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B05, 0x1B34, @@ -241129,6 +245785,8 @@ static const UV UNI_GCB__XX_invlist[] = { /* for ASCII/Latin1 */ 0xA80C, 0xA823, 0xA828, + 0xA82C, + 0xA82D, 0xA880, 0xA882, 0xA8B4, @@ -241213,6 +245871,8 @@ static const UV UNI_GCB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x10AE7, 0x10D24, 0x10D28, + 0x10EAB, + 0x10EAD, 0x10F46, 0x10F51, 0x11000, @@ -241243,6 +245903,8 @@ static const UV UNI_GCB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x111C4, 0x111C9, 0x111CD, + 0x111CE, + 0x111D0, 0x1122C, 0x11238, 0x1123E, @@ -241287,6 +245949,12 @@ static const UV UNI_GCB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x1172C, 0x1182C, 0x1183B, + 0x11930, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11944, 0x119D1, 0x119D8, 0x119DA, @@ -241339,6 +246007,10 @@ static const UV UNI_GCB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x16F88, 0x16F8F, 0x16F93, + 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x1BC9D, 0x1BC9F, 0x1BCA0, @@ -241399,7 +246071,7 @@ static const UV UNI_GCB__XX_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_GCB__XX_invlist[] = { /* for EBCDIC 1047 */ - 604, /* Number of elements */ + 620, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -241529,7 +246201,7 @@ static const UV UNI_GCB__XX_invlist[] = { /* for EBCDIC 1047 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB62, 0xB64, @@ -241583,7 +246255,7 @@ static const UV UNI_GCB__XX_invlist[] = { /* for EBCDIC 1047 */ 0xD58, 0xD62, 0xD64, - 0xD82, + 0xD81, 0xD84, 0xDCA, 0xDCB, @@ -241684,7 +246356,7 @@ static const UV UNI_GCB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x1A7F, 0x1A80, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B05, 0x1B34, @@ -241747,6 +246419,8 @@ static const UV UNI_GCB__XX_invlist[] = { /* for EBCDIC 1047 */ 0xA80C, 0xA823, 0xA828, + 0xA82C, + 0xA82D, 0xA880, 0xA882, 0xA8B4, @@ -241831,6 +246505,8 @@ static const UV UNI_GCB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x10AE7, 0x10D24, 0x10D28, + 0x10EAB, + 0x10EAD, 0x10F46, 0x10F51, 0x11000, @@ -241861,6 +246537,8 @@ static const UV UNI_GCB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x111C4, 0x111C9, 0x111CD, + 0x111CE, + 0x111D0, 0x1122C, 0x11238, 0x1123E, @@ -241905,6 +246583,12 @@ static const UV UNI_GCB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x1172C, 0x1182C, 0x1183B, + 0x11930, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11944, 0x119D1, 0x119D8, 0x119DA, @@ -241957,6 +246641,10 @@ static const UV UNI_GCB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x16F88, 0x16F8F, 0x16F93, + 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x1BC9D, 0x1BC9F, 0x1BCA0, @@ -242017,7 +246705,7 @@ static const UV UNI_GCB__XX_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_GCB__XX_invlist[] = { /* for EBCDIC 037 */ - 604, /* Number of elements */ + 620, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -242147,7 +246835,7 @@ static const UV UNI_GCB__XX_invlist[] = { /* for EBCDIC 037 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB62, 0xB64, @@ -242201,7 +246889,7 @@ static const UV UNI_GCB__XX_invlist[] = { /* for EBCDIC 037 */ 0xD58, 0xD62, 0xD64, - 0xD82, + 0xD81, 0xD84, 0xDCA, 0xDCB, @@ -242302,7 +246990,7 @@ static const UV UNI_GCB__XX_invlist[] = { /* for EBCDIC 037 */ 0x1A7F, 0x1A80, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B05, 0x1B34, @@ -242365,6 +247053,8 @@ static const UV UNI_GCB__XX_invlist[] = { /* for EBCDIC 037 */ 0xA80C, 0xA823, 0xA828, + 0xA82C, + 0xA82D, 0xA880, 0xA882, 0xA8B4, @@ -242449,6 +247139,8 @@ static const UV UNI_GCB__XX_invlist[] = { /* for EBCDIC 037 */ 0x10AE7, 0x10D24, 0x10D28, + 0x10EAB, + 0x10EAD, 0x10F46, 0x10F51, 0x11000, @@ -242479,6 +247171,8 @@ static const UV UNI_GCB__XX_invlist[] = { /* for EBCDIC 037 */ 0x111C4, 0x111C9, 0x111CD, + 0x111CE, + 0x111D0, 0x1122C, 0x11238, 0x1123E, @@ -242523,6 +247217,12 @@ static const UV UNI_GCB__XX_invlist[] = { /* for EBCDIC 037 */ 0x1172C, 0x1182C, 0x1183B, + 0x11930, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11944, 0x119D1, 0x119D8, 0x119DA, @@ -242575,6 +247275,10 @@ static const UV UNI_GCB__XX_invlist[] = { /* for EBCDIC 037 */ 0x16F88, 0x16F8F, 0x16F93, + 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x1BC9D, 0x1BC9F, 0x1BCA0, @@ -242650,13 +247354,11 @@ static const UV UNI_GEOMETRICSHAPESEXT_invlist[] = { /* for all charsets */ }; static const UV UNI_GEOR_invlist[] = { /* for all charsets */ - 21, /* Number of elements */ + 19, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, - 0x589, - 0x58A, 0x10A0, 0x10C6, 0x10C7, @@ -242854,7 +247556,7 @@ static const UV UNI_GRAN_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_GRBASE_invlist[] = { /* for ASCII/Latin1 */ - 1639, /* Number of elements */ + 1669, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -242946,7 +247648,7 @@ static const UV UNI_GRBASE_invlist[] = { /* for ASCII/Latin1 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x903, 0x93A, 0x93B, @@ -243158,8 +247860,6 @@ static const UV UNI_GRBASE_invlist[] = { /* for ASCII/Latin1 */ 0xCF1, 0xCF3, 0xD02, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -243523,7 +248223,7 @@ static const UV UNI_GRBASE_invlist[] = { /* for ASCII/Latin1 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, @@ -243560,7 +248260,7 @@ static const UV UNI_GRBASE_invlist[] = { /* for ASCII/Latin1 */ 0x2DD8, 0x2DDF, 0x2E00, - 0x2E50, + 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, @@ -243582,15 +248282,11 @@ static const UV UNI_GRBASE_invlist[] = { /* for ASCII/Latin1 */ 0x3131, 0x318F, 0x3190, - 0x31BB, - 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, - 0x4DB6, - 0x4DC0, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA490, @@ -243610,8 +248306,8 @@ static const UV UNI_GRBASE_invlist[] = { /* for ASCII/Latin1 */ 0xA700, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA802, 0xA803, 0xA806, @@ -243696,7 +248392,7 @@ static const UV UNI_GRBASE_invlist[] = { /* for ASCII/Latin1 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6C, 0xAB70, 0xABE5, 0xABE6, @@ -243792,7 +248488,7 @@ static const UV UNI_GRBASE_invlist[] = { /* for ASCII/Latin1 */ 0x10137, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -243907,12 +248603,20 @@ static const UV UNI_GRBASE_invlist[] = { /* for ASCII/Latin1 */ 0x10D3A, 0x10E60, 0x10E7F, + 0x10E80, + 0x10EAA, + 0x10EAD, + 0x10EAE, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F46, 0x10F51, 0x10F5A, + 0x10FB0, + 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, @@ -243940,7 +248644,7 @@ static const UV UNI_GRBASE_invlist[] = { /* for ASCII/Latin1 */ 0x1112C, 0x1112D, 0x11136, - 0x11147, + 0x11148, 0x11150, 0x11173, 0x11174, @@ -243950,7 +248654,7 @@ static const UV UNI_GRBASE_invlist[] = { /* for ASCII/Latin1 */ 0x111BF, 0x111C9, 0x111CD, - 0x111CE, + 0x111CF, 0x111D0, 0x111E0, 0x111E1, @@ -244016,13 +248720,11 @@ static const UV UNI_GRBASE_invlist[] = { /* for ASCII/Latin1 */ 0x11445, 0x11446, 0x11447, - 0x1145A, - 0x1145B, 0x1145C, 0x1145D, 0x1145E, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114B1, @@ -244090,7 +248792,27 @@ static const UV UNI_GRBASE_invlist[] = { /* for ASCII/Latin1 */ 0x118A0, 0x118F3, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x11931, + 0x11936, + 0x11937, + 0x11939, + 0x1193D, + 0x1193E, + 0x1193F, + 0x11943, + 0x11944, + 0x11947, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -244165,6 +248887,8 @@ static const UV UNI_GRBASE_invlist[] = { /* for ASCII/Latin1 */ 0x11EF3, 0x11EF5, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, @@ -244213,10 +248937,14 @@ static const UV UNI_GRBASE_invlist[] = { /* for ASCII/Latin1 */ 0x16FA0, 0x16FE0, 0x16FE4, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -244424,11 +249152,7 @@ static const UV UNI_GRBASE_invlist[] = { /* for ASCII/Latin1 */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, @@ -244440,11 +249164,11 @@ static const UV UNI_GRBASE_invlist[] = { /* for ASCII/Latin1 */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -244461,32 +249185,38 @@ static const UV UNI_GRBASE_invlist[] = { /* for ASCII/Latin1 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -244496,7 +249226,9 @@ static const UV UNI_GRBASE_invlist[] = { /* for ASCII/Latin1 */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; # endif /* ASCII/Latin1 */ @@ -244507,7 +249239,7 @@ static const UV UNI_GRBASE_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 1047 */ - 1639, /* Number of elements */ + 1669, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -244599,7 +249331,7 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 1047 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x903, 0x93A, 0x93B, @@ -244811,8 +249543,6 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 1047 */ 0xCF1, 0xCF3, 0xD02, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -245176,7 +249906,7 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 1047 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, @@ -245213,7 +249943,7 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 1047 */ 0x2DD8, 0x2DDF, 0x2E00, - 0x2E50, + 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, @@ -245235,15 +249965,11 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 1047 */ 0x3131, 0x318F, 0x3190, - 0x31BB, - 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, - 0x4DB6, - 0x4DC0, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA490, @@ -245263,8 +249989,8 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 1047 */ 0xA700, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA802, 0xA803, 0xA806, @@ -245349,7 +250075,7 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 1047 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6C, 0xAB70, 0xABE5, 0xABE6, @@ -245445,7 +250171,7 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 1047 */ 0x10137, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -245560,12 +250286,20 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 1047 */ 0x10D3A, 0x10E60, 0x10E7F, + 0x10E80, + 0x10EAA, + 0x10EAD, + 0x10EAE, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F46, 0x10F51, 0x10F5A, + 0x10FB0, + 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, @@ -245593,7 +250327,7 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 1047 */ 0x1112C, 0x1112D, 0x11136, - 0x11147, + 0x11148, 0x11150, 0x11173, 0x11174, @@ -245603,7 +250337,7 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 1047 */ 0x111BF, 0x111C9, 0x111CD, - 0x111CE, + 0x111CF, 0x111D0, 0x111E0, 0x111E1, @@ -245669,13 +250403,11 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 1047 */ 0x11445, 0x11446, 0x11447, - 0x1145A, - 0x1145B, 0x1145C, 0x1145D, 0x1145E, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114B1, @@ -245743,7 +250475,27 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 1047 */ 0x118A0, 0x118F3, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x11931, + 0x11936, + 0x11937, + 0x11939, + 0x1193D, + 0x1193E, + 0x1193F, + 0x11943, + 0x11944, + 0x11947, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -245818,6 +250570,8 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 1047 */ 0x11EF3, 0x11EF5, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, @@ -245866,10 +250620,14 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 1047 */ 0x16FA0, 0x16FE0, 0x16FE4, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -246077,11 +250835,7 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 1047 */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, @@ -246093,11 +250847,11 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 1047 */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -246114,32 +250868,38 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 1047 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -246149,7 +250909,9 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 1047 */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; # endif /* EBCDIC 1047 */ @@ -246160,7 +250922,7 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 037 */ - 1639, /* Number of elements */ + 1669, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -246252,7 +251014,7 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 037 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x903, 0x93A, 0x93B, @@ -246464,8 +251226,6 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 037 */ 0xCF1, 0xCF3, 0xD02, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -246829,7 +251589,7 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 037 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, @@ -246866,7 +251626,7 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 037 */ 0x2DD8, 0x2DDF, 0x2E00, - 0x2E50, + 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, @@ -246888,15 +251648,11 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 037 */ 0x3131, 0x318F, 0x3190, - 0x31BB, - 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, - 0x4DB6, - 0x4DC0, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA490, @@ -246916,8 +251672,8 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 037 */ 0xA700, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA802, 0xA803, 0xA806, @@ -247002,7 +251758,7 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 037 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6C, 0xAB70, 0xABE5, 0xABE6, @@ -247098,7 +251854,7 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 037 */ 0x10137, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -247213,12 +251969,20 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 037 */ 0x10D3A, 0x10E60, 0x10E7F, + 0x10E80, + 0x10EAA, + 0x10EAD, + 0x10EAE, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F46, 0x10F51, 0x10F5A, + 0x10FB0, + 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, @@ -247246,7 +252010,7 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 037 */ 0x1112C, 0x1112D, 0x11136, - 0x11147, + 0x11148, 0x11150, 0x11173, 0x11174, @@ -247256,7 +252020,7 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 037 */ 0x111BF, 0x111C9, 0x111CD, - 0x111CE, + 0x111CF, 0x111D0, 0x111E0, 0x111E1, @@ -247322,13 +252086,11 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 037 */ 0x11445, 0x11446, 0x11447, - 0x1145A, - 0x1145B, 0x1145C, 0x1145D, 0x1145E, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114B1, @@ -247396,7 +252158,27 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 037 */ 0x118A0, 0x118F3, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x11931, + 0x11936, + 0x11937, + 0x11939, + 0x1193D, + 0x1193E, + 0x1193F, + 0x11943, + 0x11944, + 0x11947, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -247471,6 +252253,8 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 037 */ 0x11EF3, 0x11EF5, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, @@ -247519,10 +252303,14 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 037 */ 0x16FA0, 0x16FE0, 0x16FE4, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -247730,11 +252518,7 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 037 */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, @@ -247746,11 +252530,11 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 037 */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -247767,32 +252551,38 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 037 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -247802,7 +252592,9 @@ static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 037 */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; # endif /* EBCDIC 037 */ @@ -247902,7 +252694,7 @@ static const UV UNI_GREK_invlist[] = { /* for all charsets */ }; static const UV UNI_GREXT_invlist[] = { /* for all charsets */ - 671, /* Number of elements */ + 689, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -248027,7 +252819,7 @@ static const UV UNI_GREXT_invlist[] = { /* for all charsets */ 0xB45, 0xB4D, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB62, 0xB64, @@ -248085,6 +252877,8 @@ static const UV UNI_GREXT_invlist[] = { /* for all charsets */ 0xD58, 0xD62, 0xD64, + 0xD81, + 0xD82, 0xDCA, 0xDCB, 0xDCF, @@ -248202,7 +252996,7 @@ static const UV UNI_GREXT_invlist[] = { /* for all charsets */ 0x1A7F, 0x1A80, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B04, 0x1B34, @@ -248279,6 +253073,8 @@ static const UV UNI_GREXT_invlist[] = { /* for all charsets */ 0xA80C, 0xA825, 0xA827, + 0xA82C, + 0xA82D, 0xA8C4, 0xA8C6, 0xA8E0, @@ -248359,6 +253155,8 @@ static const UV UNI_GREXT_invlist[] = { /* for all charsets */ 0x10AE7, 0x10D24, 0x10D28, + 0x10EAB, + 0x10EAD, 0x10F46, 0x10F51, 0x11001, @@ -248385,6 +253183,8 @@ static const UV UNI_GREXT_invlist[] = { /* for all charsets */ 0x111BF, 0x111C9, 0x111CD, + 0x111CF, + 0x111D0, 0x1122F, 0x11232, 0x11234, @@ -248465,6 +253265,14 @@ static const UV UNI_GREXT_invlist[] = { /* for all charsets */ 0x11838, 0x11839, 0x1183B, + 0x11930, + 0x11931, + 0x1193B, + 0x1193D, + 0x1193E, + 0x1193F, + 0x11943, + 0x11944, 0x119D4, 0x119D8, 0x119DA, @@ -248527,6 +253335,8 @@ static const UV UNI_GREXT_invlist[] = { /* for all charsets */ 0x16F50, 0x16F8F, 0x16F93, + 0x16FE4, + 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1D165, @@ -248688,7 +253498,7 @@ static const UV UNI_HALFMARKS_invlist[] = { /* for all charsets */ }; static const UV UNI_HAN_invlist[] = { /* for all charsets */ - 67, /* Number of elements */ + 73, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -248732,9 +253542,11 @@ static const UV UNI_HAN_invlist[] = { /* for all charsets */ 0x33E0, 0x33FF, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, + 0xA700, + 0xA708, 0xF900, 0xFA6E, 0xFA70, @@ -248743,12 +253555,14 @@ static const UV UNI_HAN_invlist[] = { /* for all charsets */ 0xFE47, 0xFF61, 0xFF66, + 0x16FF0, + 0x16FF2, 0x1D360, 0x1D372, 0x1F250, 0x1F252, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -248758,7 +253572,9 @@ static const UV UNI_HAN_invlist[] = { /* for all charsets */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; static const UV UNI_HANG_invlist[] = { /* for all charsets */ @@ -249102,7 +253918,7 @@ static const UV UNI_HYPHEN_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_IDC_invlist[] = { /* for ASCII/Latin1 */ - 1427, /* Number of elements */ + 1461, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -249212,7 +254028,7 @@ static const UV UNI_IDC_invlist[] = { /* for ASCII/Latin1 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -249331,7 +254147,7 @@ static const UV UNI_IDC_invlist[] = { /* for ASCII/Latin1 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -249424,8 +254240,6 @@ static const UV UNI_IDC_invlist[] = { /* for ASCII/Latin1 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -249443,7 +254257,7 @@ static const UV UNI_IDC_invlist[] = { /* for ASCII/Latin1 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -249645,6 +254459,8 @@ static const UV UNI_IDC_invlist[] = { /* for ASCII/Latin1 */ 0x1AA8, 0x1AB0, 0x1ABE, + 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -249810,13 +254626,13 @@ static const UV UNI_IDC_invlist[] = { /* for ASCII/Latin1 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -249838,9 +254654,11 @@ static const UV UNI_IDC_invlist[] = { /* for ASCII/Latin1 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA880, @@ -249892,7 +254710,7 @@ static const UV UNI_IDC_invlist[] = { /* for ASCII/Latin1 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABEB, 0xABEC, @@ -250089,12 +254907,20 @@ static const UV UNI_IDC_invlist[] = { /* for ASCII/Latin1 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -250112,7 +254938,7 @@ static const UV UNI_IDC_invlist[] = { /* for ASCII/Latin1 */ 0x11136, 0x11140, 0x11144, - 0x11147, + 0x11148, 0x11150, 0x11174, 0x11176, @@ -250121,7 +254947,7 @@ static const UV UNI_IDC_invlist[] = { /* for ASCII/Latin1 */ 0x111C5, 0x111C9, 0x111CD, - 0x111D0, + 0x111CE, 0x111DB, 0x111DC, 0x111DD, @@ -250180,7 +255006,7 @@ static const UV UNI_IDC_invlist[] = { /* for ASCII/Latin1 */ 0x11450, 0x1145A, 0x1145E, - 0x11460, + 0x11462, 0x11480, 0x114C6, 0x114C7, @@ -250214,7 +255040,21 @@ static const UV UNI_IDC_invlist[] = { /* for ASCII/Latin1 */ 0x118A0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11944, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -250275,6 +255115,8 @@ static const UV UNI_IDC_invlist[] = { /* for ASCII/Latin1 */ 0x11DAA, 0x11EE0, 0x11EF7, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -250316,11 +255158,15 @@ static const UV UNI_IDC_invlist[] = { /* for ASCII/Latin1 */ 0x16FE0, 0x16FE2, 0x16FE3, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -250519,8 +255365,10 @@ static const UV UNI_IDC_invlist[] = { /* for ASCII/Latin1 */ 0x1EEAA, 0x1EEAB, 0x1EEBC, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -250531,6 +255379,8 @@ static const UV UNI_IDC_invlist[] = { /* for ASCII/Latin1 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0100, 0xE01F0 }; @@ -250543,7 +255393,7 @@ static const UV UNI_IDC_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_IDC_invlist[] = { /* for EBCDIC 1047 */ - 1451, /* Number of elements */ + 1485, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -250600,91 +255450,18274 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 1047 */ 0x2E5, 0x2EC, 0x2ED, - 0x2EE, - 0x2EF, + 0x2EE, + 0x2EF, + 0x300, + 0x375, + 0x376, + 0x378, + 0x37A, + 0x37E, + 0x37F, + 0x380, + 0x386, + 0x38B, + 0x38C, + 0x38D, + 0x38E, + 0x3A2, + 0x3A3, + 0x3F6, + 0x3F7, + 0x482, + 0x483, + 0x488, + 0x48A, + 0x530, + 0x531, + 0x557, + 0x559, + 0x55A, + 0x560, + 0x589, + 0x591, + 0x5BE, + 0x5BF, + 0x5C0, + 0x5C1, + 0x5C3, + 0x5C4, + 0x5C6, + 0x5C7, + 0x5C8, + 0x5D0, + 0x5EB, + 0x5EF, + 0x5F3, + 0x610, + 0x61B, + 0x620, + 0x66A, + 0x66E, + 0x6D4, + 0x6D5, + 0x6DD, + 0x6DF, + 0x6E9, + 0x6EA, + 0x6FD, + 0x6FF, + 0x700, + 0x710, + 0x74B, + 0x74D, + 0x7B2, + 0x7C0, + 0x7F6, + 0x7FA, + 0x7FB, + 0x7FD, + 0x7FE, + 0x800, + 0x82E, + 0x840, + 0x85C, + 0x860, + 0x86B, + 0x8A0, + 0x8B5, + 0x8B6, + 0x8C8, + 0x8D3, + 0x8E2, + 0x8E3, + 0x964, + 0x966, + 0x970, + 0x971, + 0x984, + 0x985, + 0x98D, + 0x98F, + 0x991, + 0x993, + 0x9A9, + 0x9AA, + 0x9B1, + 0x9B2, + 0x9B3, + 0x9B6, + 0x9BA, + 0x9BC, + 0x9C5, + 0x9C7, + 0x9C9, + 0x9CB, + 0x9CF, + 0x9D7, + 0x9D8, + 0x9DC, + 0x9DE, + 0x9DF, + 0x9E4, + 0x9E6, + 0x9F2, + 0x9FC, + 0x9FD, + 0x9FE, + 0x9FF, + 0xA01, + 0xA04, + 0xA05, + 0xA0B, + 0xA0F, + 0xA11, + 0xA13, + 0xA29, + 0xA2A, + 0xA31, + 0xA32, + 0xA34, + 0xA35, + 0xA37, + 0xA38, + 0xA3A, + 0xA3C, + 0xA3D, + 0xA3E, + 0xA43, + 0xA47, + 0xA49, + 0xA4B, + 0xA4E, + 0xA51, + 0xA52, + 0xA59, + 0xA5D, + 0xA5E, + 0xA5F, + 0xA66, + 0xA76, + 0xA81, + 0xA84, + 0xA85, + 0xA8E, + 0xA8F, + 0xA92, + 0xA93, + 0xAA9, + 0xAAA, + 0xAB1, + 0xAB2, + 0xAB4, + 0xAB5, + 0xABA, + 0xABC, + 0xAC6, + 0xAC7, + 0xACA, + 0xACB, + 0xACE, + 0xAD0, + 0xAD1, + 0xAE0, + 0xAE4, + 0xAE6, + 0xAF0, + 0xAF9, + 0xB00, + 0xB01, + 0xB04, + 0xB05, + 0xB0D, + 0xB0F, + 0xB11, + 0xB13, + 0xB29, + 0xB2A, + 0xB31, + 0xB32, + 0xB34, + 0xB35, + 0xB3A, + 0xB3C, + 0xB45, + 0xB47, + 0xB49, + 0xB4B, + 0xB4E, + 0xB55, + 0xB58, + 0xB5C, + 0xB5E, + 0xB5F, + 0xB64, + 0xB66, + 0xB70, + 0xB71, + 0xB72, + 0xB82, + 0xB84, + 0xB85, + 0xB8B, + 0xB8E, + 0xB91, + 0xB92, + 0xB96, + 0xB99, + 0xB9B, + 0xB9C, + 0xB9D, + 0xB9E, + 0xBA0, + 0xBA3, + 0xBA5, + 0xBA8, + 0xBAB, + 0xBAE, + 0xBBA, + 0xBBE, + 0xBC3, + 0xBC6, + 0xBC9, + 0xBCA, + 0xBCE, + 0xBD0, + 0xBD1, + 0xBD7, + 0xBD8, + 0xBE6, + 0xBF0, + 0xC00, + 0xC0D, + 0xC0E, + 0xC11, + 0xC12, + 0xC29, + 0xC2A, + 0xC3A, + 0xC3D, + 0xC45, + 0xC46, + 0xC49, + 0xC4A, + 0xC4E, + 0xC55, + 0xC57, + 0xC58, + 0xC5B, + 0xC60, + 0xC64, + 0xC66, + 0xC70, + 0xC80, + 0xC84, + 0xC85, + 0xC8D, + 0xC8E, + 0xC91, + 0xC92, + 0xCA9, + 0xCAA, + 0xCB4, + 0xCB5, + 0xCBA, + 0xCBC, + 0xCC5, + 0xCC6, + 0xCC9, + 0xCCA, + 0xCCE, + 0xCD5, + 0xCD7, + 0xCDE, + 0xCDF, + 0xCE0, + 0xCE4, + 0xCE6, + 0xCF0, + 0xCF1, + 0xCF3, + 0xD00, + 0xD0D, + 0xD0E, + 0xD11, + 0xD12, + 0xD45, + 0xD46, + 0xD49, + 0xD4A, + 0xD4F, + 0xD54, + 0xD58, + 0xD5F, + 0xD64, + 0xD66, + 0xD70, + 0xD7A, + 0xD80, + 0xD81, + 0xD84, + 0xD85, + 0xD97, + 0xD9A, + 0xDB2, + 0xDB3, + 0xDBC, + 0xDBD, + 0xDBE, + 0xDC0, + 0xDC7, + 0xDCA, + 0xDCB, + 0xDCF, + 0xDD5, + 0xDD6, + 0xDD7, + 0xDD8, + 0xDE0, + 0xDE6, + 0xDF0, + 0xDF2, + 0xDF4, + 0xE01, + 0xE3B, + 0xE40, + 0xE4F, + 0xE50, + 0xE5A, + 0xE81, + 0xE83, + 0xE84, + 0xE85, + 0xE86, + 0xE8B, + 0xE8C, + 0xEA4, + 0xEA5, + 0xEA6, + 0xEA7, + 0xEBE, + 0xEC0, + 0xEC5, + 0xEC6, + 0xEC7, + 0xEC8, + 0xECE, + 0xED0, + 0xEDA, + 0xEDC, + 0xEE0, + 0xF00, + 0xF01, + 0xF18, + 0xF1A, + 0xF20, + 0xF2A, + 0xF35, + 0xF36, + 0xF37, + 0xF38, + 0xF39, + 0xF3A, + 0xF3E, + 0xF48, + 0xF49, + 0xF6D, + 0xF71, + 0xF85, + 0xF86, + 0xF98, + 0xF99, + 0xFBD, + 0xFC6, + 0xFC7, + 0x1000, + 0x104A, + 0x1050, + 0x109E, + 0x10A0, + 0x10C6, + 0x10C7, + 0x10C8, + 0x10CD, + 0x10CE, + 0x10D0, + 0x10FB, + 0x10FC, + 0x1249, + 0x124A, + 0x124E, + 0x1250, + 0x1257, + 0x1258, + 0x1259, + 0x125A, + 0x125E, + 0x1260, + 0x1289, + 0x128A, + 0x128E, + 0x1290, + 0x12B1, + 0x12B2, + 0x12B6, + 0x12B8, + 0x12BF, + 0x12C0, + 0x12C1, + 0x12C2, + 0x12C6, + 0x12C8, + 0x12D7, + 0x12D8, + 0x1311, + 0x1312, + 0x1316, + 0x1318, + 0x135B, + 0x135D, + 0x1360, + 0x1369, + 0x1372, + 0x1380, + 0x1390, + 0x13A0, + 0x13F6, + 0x13F8, + 0x13FE, + 0x1401, + 0x166D, + 0x166F, + 0x1680, + 0x1681, + 0x169B, + 0x16A0, + 0x16EB, + 0x16EE, + 0x16F9, + 0x1700, + 0x170D, + 0x170E, + 0x1715, + 0x1720, + 0x1735, + 0x1740, + 0x1754, + 0x1760, + 0x176D, + 0x176E, + 0x1771, + 0x1772, + 0x1774, + 0x1780, + 0x17D4, + 0x17D7, + 0x17D8, + 0x17DC, + 0x17DE, + 0x17E0, + 0x17EA, + 0x180B, + 0x180E, + 0x1810, + 0x181A, + 0x1820, + 0x1879, + 0x1880, + 0x18AB, + 0x18B0, + 0x18F6, + 0x1900, + 0x191F, + 0x1920, + 0x192C, + 0x1930, + 0x193C, + 0x1946, + 0x196E, + 0x1970, + 0x1975, + 0x1980, + 0x19AC, + 0x19B0, + 0x19CA, + 0x19D0, + 0x19DB, + 0x1A00, + 0x1A1C, + 0x1A20, + 0x1A5F, + 0x1A60, + 0x1A7D, + 0x1A7F, + 0x1A8A, + 0x1A90, + 0x1A9A, + 0x1AA7, + 0x1AA8, + 0x1AB0, + 0x1ABE, + 0x1ABF, + 0x1AC1, + 0x1B00, + 0x1B4C, + 0x1B50, + 0x1B5A, + 0x1B6B, + 0x1B74, + 0x1B80, + 0x1BF4, + 0x1C00, + 0x1C38, + 0x1C40, + 0x1C4A, + 0x1C4D, + 0x1C7E, + 0x1C80, + 0x1C89, + 0x1C90, + 0x1CBB, + 0x1CBD, + 0x1CC0, + 0x1CD0, + 0x1CD3, + 0x1CD4, + 0x1CFB, + 0x1D00, + 0x1DFA, + 0x1DFB, + 0x1F16, + 0x1F18, + 0x1F1E, + 0x1F20, + 0x1F46, + 0x1F48, + 0x1F4E, + 0x1F50, + 0x1F58, + 0x1F59, + 0x1F5A, + 0x1F5B, + 0x1F5C, + 0x1F5D, + 0x1F5E, + 0x1F5F, + 0x1F7E, + 0x1F80, + 0x1FB5, + 0x1FB6, + 0x1FBD, + 0x1FBE, + 0x1FBF, + 0x1FC2, + 0x1FC5, + 0x1FC6, + 0x1FCD, + 0x1FD0, + 0x1FD4, + 0x1FD6, + 0x1FDC, + 0x1FE0, + 0x1FED, + 0x1FF2, + 0x1FF5, + 0x1FF6, + 0x1FFD, + 0x203F, + 0x2041, + 0x2054, + 0x2055, + 0x2071, + 0x2072, + 0x207F, + 0x2080, + 0x2090, + 0x209D, + 0x20D0, + 0x20DD, + 0x20E1, + 0x20E2, + 0x20E5, + 0x20F1, + 0x2102, + 0x2103, + 0x2107, + 0x2108, + 0x210A, + 0x2114, + 0x2115, + 0x2116, + 0x2118, + 0x211E, + 0x2124, + 0x2125, + 0x2126, + 0x2127, + 0x2128, + 0x2129, + 0x212A, + 0x213A, + 0x213C, + 0x2140, + 0x2145, + 0x214A, + 0x214E, + 0x214F, + 0x2160, + 0x2189, + 0x2C00, + 0x2C2F, + 0x2C30, + 0x2C5F, + 0x2C60, + 0x2CE5, + 0x2CEB, + 0x2CF4, + 0x2D00, + 0x2D26, + 0x2D27, + 0x2D28, + 0x2D2D, + 0x2D2E, + 0x2D30, + 0x2D68, + 0x2D6F, + 0x2D70, + 0x2D7F, + 0x2D97, + 0x2DA0, + 0x2DA7, + 0x2DA8, + 0x2DAF, + 0x2DB0, + 0x2DB7, + 0x2DB8, + 0x2DBF, + 0x2DC0, + 0x2DC7, + 0x2DC8, + 0x2DCF, + 0x2DD0, + 0x2DD7, + 0x2DD8, + 0x2DDF, + 0x2DE0, + 0x2E00, + 0x3005, + 0x3008, + 0x3021, + 0x3030, + 0x3031, + 0x3036, + 0x3038, + 0x303D, + 0x3041, + 0x3097, + 0x3099, + 0x30A0, + 0x30A1, + 0x30FB, + 0x30FC, + 0x3100, + 0x3105, + 0x3130, + 0x3131, + 0x318F, + 0x31A0, + 0x31C0, + 0x31F0, + 0x3200, + 0x3400, + 0x4DC0, + 0x4E00, + 0x9FFD, + 0xA000, + 0xA48D, + 0xA4D0, + 0xA4FE, + 0xA500, + 0xA60D, + 0xA610, + 0xA62C, + 0xA640, + 0xA670, + 0xA674, + 0xA67E, + 0xA67F, + 0xA6F2, + 0xA717, + 0xA720, + 0xA722, + 0xA789, + 0xA78B, + 0xA7C0, + 0xA7C2, + 0xA7CB, + 0xA7F5, + 0xA828, + 0xA82C, + 0xA82D, + 0xA840, + 0xA874, + 0xA880, + 0xA8C6, + 0xA8D0, + 0xA8DA, + 0xA8E0, + 0xA8F8, + 0xA8FB, + 0xA8FC, + 0xA8FD, + 0xA92E, + 0xA930, + 0xA954, + 0xA960, + 0xA97D, + 0xA980, + 0xA9C1, + 0xA9CF, + 0xA9DA, + 0xA9E0, + 0xA9FF, + 0xAA00, + 0xAA37, + 0xAA40, + 0xAA4E, + 0xAA50, + 0xAA5A, + 0xAA60, + 0xAA77, + 0xAA7A, + 0xAAC3, + 0xAADB, + 0xAADE, + 0xAAE0, + 0xAAF0, + 0xAAF2, + 0xAAF7, + 0xAB01, + 0xAB07, + 0xAB09, + 0xAB0F, + 0xAB11, + 0xAB17, + 0xAB20, + 0xAB27, + 0xAB28, + 0xAB2F, + 0xAB30, + 0xAB5B, + 0xAB5C, + 0xAB6A, + 0xAB70, + 0xABEB, + 0xABEC, + 0xABEE, + 0xABF0, + 0xABFA, + 0xAC00, + 0xD7A4, + 0xD7B0, + 0xD7C7, + 0xD7CB, + 0xD7FC, + 0xF900, + 0xFA6E, + 0xFA70, + 0xFADA, + 0xFB00, + 0xFB07, + 0xFB13, + 0xFB18, + 0xFB1D, + 0xFB29, + 0xFB2A, + 0xFB37, + 0xFB38, + 0xFB3D, + 0xFB3E, + 0xFB3F, + 0xFB40, + 0xFB42, + 0xFB43, + 0xFB45, + 0xFB46, + 0xFBB2, + 0xFBD3, + 0xFD3E, + 0xFD50, + 0xFD90, + 0xFD92, + 0xFDC8, + 0xFDF0, + 0xFDFC, + 0xFE00, + 0xFE10, + 0xFE20, + 0xFE30, + 0xFE33, + 0xFE35, + 0xFE4D, + 0xFE50, + 0xFE70, + 0xFE75, + 0xFE76, + 0xFEFD, + 0xFF10, + 0xFF1A, + 0xFF21, + 0xFF3B, + 0xFF3F, + 0xFF40, + 0xFF41, + 0xFF5B, + 0xFF66, + 0xFFBF, + 0xFFC2, + 0xFFC8, + 0xFFCA, + 0xFFD0, + 0xFFD2, + 0xFFD8, + 0xFFDA, + 0xFFDD, + 0x10000, + 0x1000C, + 0x1000D, + 0x10027, + 0x10028, + 0x1003B, + 0x1003C, + 0x1003E, + 0x1003F, + 0x1004E, + 0x10050, + 0x1005E, + 0x10080, + 0x100FB, + 0x10140, + 0x10175, + 0x101FD, + 0x101FE, + 0x10280, + 0x1029D, + 0x102A0, + 0x102D1, + 0x102E0, + 0x102E1, + 0x10300, + 0x10320, + 0x1032D, + 0x1034B, + 0x10350, + 0x1037B, + 0x10380, + 0x1039E, + 0x103A0, + 0x103C4, + 0x103C8, + 0x103D0, + 0x103D1, + 0x103D6, + 0x10400, + 0x1049E, + 0x104A0, + 0x104AA, + 0x104B0, + 0x104D4, + 0x104D8, + 0x104FC, + 0x10500, + 0x10528, + 0x10530, + 0x10564, + 0x10600, + 0x10737, + 0x10740, + 0x10756, + 0x10760, + 0x10768, + 0x10800, + 0x10806, + 0x10808, + 0x10809, + 0x1080A, + 0x10836, + 0x10837, + 0x10839, + 0x1083C, + 0x1083D, + 0x1083F, + 0x10856, + 0x10860, + 0x10877, + 0x10880, + 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, + 0x10900, + 0x10916, + 0x10920, + 0x1093A, + 0x10980, + 0x109B8, + 0x109BE, + 0x109C0, + 0x10A00, + 0x10A04, + 0x10A05, + 0x10A07, + 0x10A0C, + 0x10A14, + 0x10A15, + 0x10A18, + 0x10A19, + 0x10A36, + 0x10A38, + 0x10A3B, + 0x10A3F, + 0x10A40, + 0x10A60, + 0x10A7D, + 0x10A80, + 0x10A9D, + 0x10AC0, + 0x10AC8, + 0x10AC9, + 0x10AE7, + 0x10B00, + 0x10B36, + 0x10B40, + 0x10B56, + 0x10B60, + 0x10B73, + 0x10B80, + 0x10B92, + 0x10C00, + 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, + 0x10D00, + 0x10D28, + 0x10D30, + 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, + 0x10F00, + 0x10F1D, + 0x10F27, + 0x10F28, + 0x10F30, + 0x10F51, + 0x10FB0, + 0x10FC5, + 0x10FE0, + 0x10FF7, + 0x11000, + 0x11047, + 0x11066, + 0x11070, + 0x1107F, + 0x110BB, + 0x110D0, + 0x110E9, + 0x110F0, + 0x110FA, + 0x11100, + 0x11135, + 0x11136, + 0x11140, + 0x11144, + 0x11148, + 0x11150, + 0x11174, + 0x11176, + 0x11177, + 0x11180, + 0x111C5, + 0x111C9, + 0x111CD, + 0x111CE, + 0x111DB, + 0x111DC, + 0x111DD, + 0x11200, + 0x11212, + 0x11213, + 0x11238, + 0x1123E, + 0x1123F, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, + 0x112B0, + 0x112EB, + 0x112F0, + 0x112FA, + 0x11300, + 0x11304, + 0x11305, + 0x1130D, + 0x1130F, + 0x11311, + 0x11313, + 0x11329, + 0x1132A, + 0x11331, + 0x11332, + 0x11334, + 0x11335, + 0x1133A, + 0x1133B, + 0x11345, + 0x11347, + 0x11349, + 0x1134B, + 0x1134E, + 0x11350, + 0x11351, + 0x11357, + 0x11358, + 0x1135D, + 0x11364, + 0x11366, + 0x1136D, + 0x11370, + 0x11375, + 0x11400, + 0x1144B, + 0x11450, + 0x1145A, + 0x1145E, + 0x11462, + 0x11480, + 0x114C6, + 0x114C7, + 0x114C8, + 0x114D0, + 0x114DA, + 0x11580, + 0x115B6, + 0x115B8, + 0x115C1, + 0x115D8, + 0x115DE, + 0x11600, + 0x11641, + 0x11644, + 0x11645, + 0x11650, + 0x1165A, + 0x11680, + 0x116B9, + 0x116C0, + 0x116CA, + 0x11700, + 0x1171B, + 0x1171D, + 0x1172C, + 0x11730, + 0x1173A, + 0x11800, + 0x1183B, + 0x118A0, + 0x118EA, + 0x118FF, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11944, + 0x11950, + 0x1195A, + 0x119A0, + 0x119A8, + 0x119AA, + 0x119D8, + 0x119DA, + 0x119E2, + 0x119E3, + 0x119E5, + 0x11A00, + 0x11A3F, + 0x11A47, + 0x11A48, + 0x11A50, + 0x11A9A, + 0x11A9D, + 0x11A9E, + 0x11AC0, + 0x11AF9, + 0x11C00, + 0x11C09, + 0x11C0A, + 0x11C37, + 0x11C38, + 0x11C41, + 0x11C50, + 0x11C5A, + 0x11C72, + 0x11C90, + 0x11C92, + 0x11CA8, + 0x11CA9, + 0x11CB7, + 0x11D00, + 0x11D07, + 0x11D08, + 0x11D0A, + 0x11D0B, + 0x11D37, + 0x11D3A, + 0x11D3B, + 0x11D3C, + 0x11D3E, + 0x11D3F, + 0x11D48, + 0x11D50, + 0x11D5A, + 0x11D60, + 0x11D66, + 0x11D67, + 0x11D69, + 0x11D6A, + 0x11D8F, + 0x11D90, + 0x11D92, + 0x11D93, + 0x11D99, + 0x11DA0, + 0x11DAA, + 0x11EE0, + 0x11EF7, + 0x11FB0, + 0x11FB1, + 0x12000, + 0x1239A, + 0x12400, + 0x1246F, + 0x12480, + 0x12544, + 0x13000, + 0x1342F, + 0x14400, + 0x14647, + 0x16800, + 0x16A39, + 0x16A40, + 0x16A5F, + 0x16A60, + 0x16A6A, + 0x16AD0, + 0x16AEE, + 0x16AF0, + 0x16AF5, + 0x16B00, + 0x16B37, + 0x16B40, + 0x16B44, + 0x16B50, + 0x16B5A, + 0x16B63, + 0x16B78, + 0x16B7D, + 0x16B90, + 0x16E40, + 0x16E80, + 0x16F00, + 0x16F4B, + 0x16F4F, + 0x16F88, + 0x16F8F, + 0x16FA0, + 0x16FE0, + 0x16FE2, + 0x16FE3, + 0x16FE5, + 0x16FF0, + 0x16FF2, + 0x17000, + 0x187F8, + 0x18800, + 0x18CD6, + 0x18D00, + 0x18D09, + 0x1B000, + 0x1B11F, + 0x1B150, + 0x1B153, + 0x1B164, + 0x1B168, + 0x1B170, + 0x1B2FC, + 0x1BC00, + 0x1BC6B, + 0x1BC70, + 0x1BC7D, + 0x1BC80, + 0x1BC89, + 0x1BC90, + 0x1BC9A, + 0x1BC9D, + 0x1BC9F, + 0x1D165, + 0x1D16A, + 0x1D16D, + 0x1D173, + 0x1D17B, + 0x1D183, + 0x1D185, + 0x1D18C, + 0x1D1AA, + 0x1D1AE, + 0x1D242, + 0x1D245, + 0x1D400, + 0x1D455, + 0x1D456, + 0x1D49D, + 0x1D49E, + 0x1D4A0, + 0x1D4A2, + 0x1D4A3, + 0x1D4A5, + 0x1D4A7, + 0x1D4A9, + 0x1D4AD, + 0x1D4AE, + 0x1D4BA, + 0x1D4BB, + 0x1D4BC, + 0x1D4BD, + 0x1D4C4, + 0x1D4C5, + 0x1D506, + 0x1D507, + 0x1D50B, + 0x1D50D, + 0x1D515, + 0x1D516, + 0x1D51D, + 0x1D51E, + 0x1D53A, + 0x1D53B, + 0x1D53F, + 0x1D540, + 0x1D545, + 0x1D546, + 0x1D547, + 0x1D54A, + 0x1D551, + 0x1D552, + 0x1D6A6, + 0x1D6A8, + 0x1D6C1, + 0x1D6C2, + 0x1D6DB, + 0x1D6DC, + 0x1D6FB, + 0x1D6FC, + 0x1D715, + 0x1D716, + 0x1D735, + 0x1D736, + 0x1D74F, + 0x1D750, + 0x1D76F, + 0x1D770, + 0x1D789, + 0x1D78A, + 0x1D7A9, + 0x1D7AA, + 0x1D7C3, + 0x1D7C4, + 0x1D7CC, + 0x1D7CE, + 0x1D800, + 0x1DA00, + 0x1DA37, + 0x1DA3B, + 0x1DA6D, + 0x1DA75, + 0x1DA76, + 0x1DA84, + 0x1DA85, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, + 0x1E000, + 0x1E007, + 0x1E008, + 0x1E019, + 0x1E01B, + 0x1E022, + 0x1E023, + 0x1E025, + 0x1E026, + 0x1E02B, + 0x1E100, + 0x1E12D, + 0x1E130, + 0x1E13E, + 0x1E140, + 0x1E14A, + 0x1E14E, + 0x1E14F, + 0x1E2C0, + 0x1E2FA, + 0x1E800, + 0x1E8C5, + 0x1E8D0, + 0x1E8D7, + 0x1E900, + 0x1E94C, + 0x1E950, + 0x1E95A, + 0x1EE00, + 0x1EE04, + 0x1EE05, + 0x1EE20, + 0x1EE21, + 0x1EE23, + 0x1EE24, + 0x1EE25, + 0x1EE27, + 0x1EE28, + 0x1EE29, + 0x1EE33, + 0x1EE34, + 0x1EE38, + 0x1EE39, + 0x1EE3A, + 0x1EE3B, + 0x1EE3C, + 0x1EE42, + 0x1EE43, + 0x1EE47, + 0x1EE48, + 0x1EE49, + 0x1EE4A, + 0x1EE4B, + 0x1EE4C, + 0x1EE4D, + 0x1EE50, + 0x1EE51, + 0x1EE53, + 0x1EE54, + 0x1EE55, + 0x1EE57, + 0x1EE58, + 0x1EE59, + 0x1EE5A, + 0x1EE5B, + 0x1EE5C, + 0x1EE5D, + 0x1EE5E, + 0x1EE5F, + 0x1EE60, + 0x1EE61, + 0x1EE63, + 0x1EE64, + 0x1EE65, + 0x1EE67, + 0x1EE6B, + 0x1EE6C, + 0x1EE73, + 0x1EE74, + 0x1EE78, + 0x1EE79, + 0x1EE7D, + 0x1EE7E, + 0x1EE7F, + 0x1EE80, + 0x1EE8A, + 0x1EE8B, + 0x1EE9C, + 0x1EEA1, + 0x1EEA4, + 0x1EEA5, + 0x1EEAA, + 0x1EEAB, + 0x1EEBC, + 0x1FBF0, + 0x1FBFA, + 0x20000, + 0x2A6DE, + 0x2A700, + 0x2B735, + 0x2B740, + 0x2B81E, + 0x2B820, + 0x2CEA2, + 0x2CEB0, + 0x2EBE1, + 0x2F800, + 0x2FA1E, + 0x30000, + 0x3134B, + 0xE0100, + 0xE01F0 +}; + +# endif /* EBCDIC 1047 */ + +# if 'A' == 193 /* EBCDIC 037 */ \ + && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ + && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ + && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 + +static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ + 1481, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x42, + 0x4A, + 0x51, + 0x5A, + 0x62, + 0x6A, + 0x6D, + 0x6E, + 0x70, + 0x79, + 0x80, + 0x8A, + 0x8C, + 0x8F, + 0x91, + 0x9D, + 0x9E, + 0x9F, + 0xA0, + 0xA1, + 0xA2, + 0xAA, + 0xAC, + 0xAF, + 0xB3, + 0xB4, + 0xC1, + 0xCA, + 0xCB, + 0xD0, + 0xD1, + 0xDA, + 0xDB, + 0xE0, + 0xE2, + 0xEA, + 0xEB, + 0xFA, + 0xFB, + 0xFF, + 0x100, + 0x2C2, + 0x2C6, + 0x2D2, + 0x2E0, + 0x2E5, + 0x2EC, + 0x2ED, + 0x2EE, + 0x2EF, + 0x300, + 0x375, + 0x376, + 0x378, + 0x37A, + 0x37E, + 0x37F, + 0x380, + 0x386, + 0x38B, + 0x38C, + 0x38D, + 0x38E, + 0x3A2, + 0x3A3, + 0x3F6, + 0x3F7, + 0x482, + 0x483, + 0x488, + 0x48A, + 0x530, + 0x531, + 0x557, + 0x559, + 0x55A, + 0x560, + 0x589, + 0x591, + 0x5BE, + 0x5BF, + 0x5C0, + 0x5C1, + 0x5C3, + 0x5C4, + 0x5C6, + 0x5C7, + 0x5C8, + 0x5D0, + 0x5EB, + 0x5EF, + 0x5F3, + 0x610, + 0x61B, + 0x620, + 0x66A, + 0x66E, + 0x6D4, + 0x6D5, + 0x6DD, + 0x6DF, + 0x6E9, + 0x6EA, + 0x6FD, + 0x6FF, + 0x700, + 0x710, + 0x74B, + 0x74D, + 0x7B2, + 0x7C0, + 0x7F6, + 0x7FA, + 0x7FB, + 0x7FD, + 0x7FE, + 0x800, + 0x82E, + 0x840, + 0x85C, + 0x860, + 0x86B, + 0x8A0, + 0x8B5, + 0x8B6, + 0x8C8, + 0x8D3, + 0x8E2, + 0x8E3, + 0x964, + 0x966, + 0x970, + 0x971, + 0x984, + 0x985, + 0x98D, + 0x98F, + 0x991, + 0x993, + 0x9A9, + 0x9AA, + 0x9B1, + 0x9B2, + 0x9B3, + 0x9B6, + 0x9BA, + 0x9BC, + 0x9C5, + 0x9C7, + 0x9C9, + 0x9CB, + 0x9CF, + 0x9D7, + 0x9D8, + 0x9DC, + 0x9DE, + 0x9DF, + 0x9E4, + 0x9E6, + 0x9F2, + 0x9FC, + 0x9FD, + 0x9FE, + 0x9FF, + 0xA01, + 0xA04, + 0xA05, + 0xA0B, + 0xA0F, + 0xA11, + 0xA13, + 0xA29, + 0xA2A, + 0xA31, + 0xA32, + 0xA34, + 0xA35, + 0xA37, + 0xA38, + 0xA3A, + 0xA3C, + 0xA3D, + 0xA3E, + 0xA43, + 0xA47, + 0xA49, + 0xA4B, + 0xA4E, + 0xA51, + 0xA52, + 0xA59, + 0xA5D, + 0xA5E, + 0xA5F, + 0xA66, + 0xA76, + 0xA81, + 0xA84, + 0xA85, + 0xA8E, + 0xA8F, + 0xA92, + 0xA93, + 0xAA9, + 0xAAA, + 0xAB1, + 0xAB2, + 0xAB4, + 0xAB5, + 0xABA, + 0xABC, + 0xAC6, + 0xAC7, + 0xACA, + 0xACB, + 0xACE, + 0xAD0, + 0xAD1, + 0xAE0, + 0xAE4, + 0xAE6, + 0xAF0, + 0xAF9, + 0xB00, + 0xB01, + 0xB04, + 0xB05, + 0xB0D, + 0xB0F, + 0xB11, + 0xB13, + 0xB29, + 0xB2A, + 0xB31, + 0xB32, + 0xB34, + 0xB35, + 0xB3A, + 0xB3C, + 0xB45, + 0xB47, + 0xB49, + 0xB4B, + 0xB4E, + 0xB55, + 0xB58, + 0xB5C, + 0xB5E, + 0xB5F, + 0xB64, + 0xB66, + 0xB70, + 0xB71, + 0xB72, + 0xB82, + 0xB84, + 0xB85, + 0xB8B, + 0xB8E, + 0xB91, + 0xB92, + 0xB96, + 0xB99, + 0xB9B, + 0xB9C, + 0xB9D, + 0xB9E, + 0xBA0, + 0xBA3, + 0xBA5, + 0xBA8, + 0xBAB, + 0xBAE, + 0xBBA, + 0xBBE, + 0xBC3, + 0xBC6, + 0xBC9, + 0xBCA, + 0xBCE, + 0xBD0, + 0xBD1, + 0xBD7, + 0xBD8, + 0xBE6, + 0xBF0, + 0xC00, + 0xC0D, + 0xC0E, + 0xC11, + 0xC12, + 0xC29, + 0xC2A, + 0xC3A, + 0xC3D, + 0xC45, + 0xC46, + 0xC49, + 0xC4A, + 0xC4E, + 0xC55, + 0xC57, + 0xC58, + 0xC5B, + 0xC60, + 0xC64, + 0xC66, + 0xC70, + 0xC80, + 0xC84, + 0xC85, + 0xC8D, + 0xC8E, + 0xC91, + 0xC92, + 0xCA9, + 0xCAA, + 0xCB4, + 0xCB5, + 0xCBA, + 0xCBC, + 0xCC5, + 0xCC6, + 0xCC9, + 0xCCA, + 0xCCE, + 0xCD5, + 0xCD7, + 0xCDE, + 0xCDF, + 0xCE0, + 0xCE4, + 0xCE6, + 0xCF0, + 0xCF1, + 0xCF3, + 0xD00, + 0xD0D, + 0xD0E, + 0xD11, + 0xD12, + 0xD45, + 0xD46, + 0xD49, + 0xD4A, + 0xD4F, + 0xD54, + 0xD58, + 0xD5F, + 0xD64, + 0xD66, + 0xD70, + 0xD7A, + 0xD80, + 0xD81, + 0xD84, + 0xD85, + 0xD97, + 0xD9A, + 0xDB2, + 0xDB3, + 0xDBC, + 0xDBD, + 0xDBE, + 0xDC0, + 0xDC7, + 0xDCA, + 0xDCB, + 0xDCF, + 0xDD5, + 0xDD6, + 0xDD7, + 0xDD8, + 0xDE0, + 0xDE6, + 0xDF0, + 0xDF2, + 0xDF4, + 0xE01, + 0xE3B, + 0xE40, + 0xE4F, + 0xE50, + 0xE5A, + 0xE81, + 0xE83, + 0xE84, + 0xE85, + 0xE86, + 0xE8B, + 0xE8C, + 0xEA4, + 0xEA5, + 0xEA6, + 0xEA7, + 0xEBE, + 0xEC0, + 0xEC5, + 0xEC6, + 0xEC7, + 0xEC8, + 0xECE, + 0xED0, + 0xEDA, + 0xEDC, + 0xEE0, + 0xF00, + 0xF01, + 0xF18, + 0xF1A, + 0xF20, + 0xF2A, + 0xF35, + 0xF36, + 0xF37, + 0xF38, + 0xF39, + 0xF3A, + 0xF3E, + 0xF48, + 0xF49, + 0xF6D, + 0xF71, + 0xF85, + 0xF86, + 0xF98, + 0xF99, + 0xFBD, + 0xFC6, + 0xFC7, + 0x1000, + 0x104A, + 0x1050, + 0x109E, + 0x10A0, + 0x10C6, + 0x10C7, + 0x10C8, + 0x10CD, + 0x10CE, + 0x10D0, + 0x10FB, + 0x10FC, + 0x1249, + 0x124A, + 0x124E, + 0x1250, + 0x1257, + 0x1258, + 0x1259, + 0x125A, + 0x125E, + 0x1260, + 0x1289, + 0x128A, + 0x128E, + 0x1290, + 0x12B1, + 0x12B2, + 0x12B6, + 0x12B8, + 0x12BF, + 0x12C0, + 0x12C1, + 0x12C2, + 0x12C6, + 0x12C8, + 0x12D7, + 0x12D8, + 0x1311, + 0x1312, + 0x1316, + 0x1318, + 0x135B, + 0x135D, + 0x1360, + 0x1369, + 0x1372, + 0x1380, + 0x1390, + 0x13A0, + 0x13F6, + 0x13F8, + 0x13FE, + 0x1401, + 0x166D, + 0x166F, + 0x1680, + 0x1681, + 0x169B, + 0x16A0, + 0x16EB, + 0x16EE, + 0x16F9, + 0x1700, + 0x170D, + 0x170E, + 0x1715, + 0x1720, + 0x1735, + 0x1740, + 0x1754, + 0x1760, + 0x176D, + 0x176E, + 0x1771, + 0x1772, + 0x1774, + 0x1780, + 0x17D4, + 0x17D7, + 0x17D8, + 0x17DC, + 0x17DE, + 0x17E0, + 0x17EA, + 0x180B, + 0x180E, + 0x1810, + 0x181A, + 0x1820, + 0x1879, + 0x1880, + 0x18AB, + 0x18B0, + 0x18F6, + 0x1900, + 0x191F, + 0x1920, + 0x192C, + 0x1930, + 0x193C, + 0x1946, + 0x196E, + 0x1970, + 0x1975, + 0x1980, + 0x19AC, + 0x19B0, + 0x19CA, + 0x19D0, + 0x19DB, + 0x1A00, + 0x1A1C, + 0x1A20, + 0x1A5F, + 0x1A60, + 0x1A7D, + 0x1A7F, + 0x1A8A, + 0x1A90, + 0x1A9A, + 0x1AA7, + 0x1AA8, + 0x1AB0, + 0x1ABE, + 0x1ABF, + 0x1AC1, + 0x1B00, + 0x1B4C, + 0x1B50, + 0x1B5A, + 0x1B6B, + 0x1B74, + 0x1B80, + 0x1BF4, + 0x1C00, + 0x1C38, + 0x1C40, + 0x1C4A, + 0x1C4D, + 0x1C7E, + 0x1C80, + 0x1C89, + 0x1C90, + 0x1CBB, + 0x1CBD, + 0x1CC0, + 0x1CD0, + 0x1CD3, + 0x1CD4, + 0x1CFB, + 0x1D00, + 0x1DFA, + 0x1DFB, + 0x1F16, + 0x1F18, + 0x1F1E, + 0x1F20, + 0x1F46, + 0x1F48, + 0x1F4E, + 0x1F50, + 0x1F58, + 0x1F59, + 0x1F5A, + 0x1F5B, + 0x1F5C, + 0x1F5D, + 0x1F5E, + 0x1F5F, + 0x1F7E, + 0x1F80, + 0x1FB5, + 0x1FB6, + 0x1FBD, + 0x1FBE, + 0x1FBF, + 0x1FC2, + 0x1FC5, + 0x1FC6, + 0x1FCD, + 0x1FD0, + 0x1FD4, + 0x1FD6, + 0x1FDC, + 0x1FE0, + 0x1FED, + 0x1FF2, + 0x1FF5, + 0x1FF6, + 0x1FFD, + 0x203F, + 0x2041, + 0x2054, + 0x2055, + 0x2071, + 0x2072, + 0x207F, + 0x2080, + 0x2090, + 0x209D, + 0x20D0, + 0x20DD, + 0x20E1, + 0x20E2, + 0x20E5, + 0x20F1, + 0x2102, + 0x2103, + 0x2107, + 0x2108, + 0x210A, + 0x2114, + 0x2115, + 0x2116, + 0x2118, + 0x211E, + 0x2124, + 0x2125, + 0x2126, + 0x2127, + 0x2128, + 0x2129, + 0x212A, + 0x213A, + 0x213C, + 0x2140, + 0x2145, + 0x214A, + 0x214E, + 0x214F, + 0x2160, + 0x2189, + 0x2C00, + 0x2C2F, + 0x2C30, + 0x2C5F, + 0x2C60, + 0x2CE5, + 0x2CEB, + 0x2CF4, + 0x2D00, + 0x2D26, + 0x2D27, + 0x2D28, + 0x2D2D, + 0x2D2E, + 0x2D30, + 0x2D68, + 0x2D6F, + 0x2D70, + 0x2D7F, + 0x2D97, + 0x2DA0, + 0x2DA7, + 0x2DA8, + 0x2DAF, + 0x2DB0, + 0x2DB7, + 0x2DB8, + 0x2DBF, + 0x2DC0, + 0x2DC7, + 0x2DC8, + 0x2DCF, + 0x2DD0, + 0x2DD7, + 0x2DD8, + 0x2DDF, + 0x2DE0, + 0x2E00, + 0x3005, + 0x3008, + 0x3021, + 0x3030, + 0x3031, + 0x3036, + 0x3038, + 0x303D, + 0x3041, + 0x3097, + 0x3099, + 0x30A0, + 0x30A1, + 0x30FB, + 0x30FC, + 0x3100, + 0x3105, + 0x3130, + 0x3131, + 0x318F, + 0x31A0, + 0x31C0, + 0x31F0, + 0x3200, + 0x3400, + 0x4DC0, + 0x4E00, + 0x9FFD, + 0xA000, + 0xA48D, + 0xA4D0, + 0xA4FE, + 0xA500, + 0xA60D, + 0xA610, + 0xA62C, + 0xA640, + 0xA670, + 0xA674, + 0xA67E, + 0xA67F, + 0xA6F2, + 0xA717, + 0xA720, + 0xA722, + 0xA789, + 0xA78B, + 0xA7C0, + 0xA7C2, + 0xA7CB, + 0xA7F5, + 0xA828, + 0xA82C, + 0xA82D, + 0xA840, + 0xA874, + 0xA880, + 0xA8C6, + 0xA8D0, + 0xA8DA, + 0xA8E0, + 0xA8F8, + 0xA8FB, + 0xA8FC, + 0xA8FD, + 0xA92E, + 0xA930, + 0xA954, + 0xA960, + 0xA97D, + 0xA980, + 0xA9C1, + 0xA9CF, + 0xA9DA, + 0xA9E0, + 0xA9FF, + 0xAA00, + 0xAA37, + 0xAA40, + 0xAA4E, + 0xAA50, + 0xAA5A, + 0xAA60, + 0xAA77, + 0xAA7A, + 0xAAC3, + 0xAADB, + 0xAADE, + 0xAAE0, + 0xAAF0, + 0xAAF2, + 0xAAF7, + 0xAB01, + 0xAB07, + 0xAB09, + 0xAB0F, + 0xAB11, + 0xAB17, + 0xAB20, + 0xAB27, + 0xAB28, + 0xAB2F, + 0xAB30, + 0xAB5B, + 0xAB5C, + 0xAB6A, + 0xAB70, + 0xABEB, + 0xABEC, + 0xABEE, + 0xABF0, + 0xABFA, + 0xAC00, + 0xD7A4, + 0xD7B0, + 0xD7C7, + 0xD7CB, + 0xD7FC, + 0xF900, + 0xFA6E, + 0xFA70, + 0xFADA, + 0xFB00, + 0xFB07, + 0xFB13, + 0xFB18, + 0xFB1D, + 0xFB29, + 0xFB2A, + 0xFB37, + 0xFB38, + 0xFB3D, + 0xFB3E, + 0xFB3F, + 0xFB40, + 0xFB42, + 0xFB43, + 0xFB45, + 0xFB46, + 0xFBB2, + 0xFBD3, + 0xFD3E, + 0xFD50, + 0xFD90, + 0xFD92, + 0xFDC8, + 0xFDF0, + 0xFDFC, + 0xFE00, + 0xFE10, + 0xFE20, + 0xFE30, + 0xFE33, + 0xFE35, + 0xFE4D, + 0xFE50, + 0xFE70, + 0xFE75, + 0xFE76, + 0xFEFD, + 0xFF10, + 0xFF1A, + 0xFF21, + 0xFF3B, + 0xFF3F, + 0xFF40, + 0xFF41, + 0xFF5B, + 0xFF66, + 0xFFBF, + 0xFFC2, + 0xFFC8, + 0xFFCA, + 0xFFD0, + 0xFFD2, + 0xFFD8, + 0xFFDA, + 0xFFDD, + 0x10000, + 0x1000C, + 0x1000D, + 0x10027, + 0x10028, + 0x1003B, + 0x1003C, + 0x1003E, + 0x1003F, + 0x1004E, + 0x10050, + 0x1005E, + 0x10080, + 0x100FB, + 0x10140, + 0x10175, + 0x101FD, + 0x101FE, + 0x10280, + 0x1029D, + 0x102A0, + 0x102D1, + 0x102E0, + 0x102E1, + 0x10300, + 0x10320, + 0x1032D, + 0x1034B, + 0x10350, + 0x1037B, + 0x10380, + 0x1039E, + 0x103A0, + 0x103C4, + 0x103C8, + 0x103D0, + 0x103D1, + 0x103D6, + 0x10400, + 0x1049E, + 0x104A0, + 0x104AA, + 0x104B0, + 0x104D4, + 0x104D8, + 0x104FC, + 0x10500, + 0x10528, + 0x10530, + 0x10564, + 0x10600, + 0x10737, + 0x10740, + 0x10756, + 0x10760, + 0x10768, + 0x10800, + 0x10806, + 0x10808, + 0x10809, + 0x1080A, + 0x10836, + 0x10837, + 0x10839, + 0x1083C, + 0x1083D, + 0x1083F, + 0x10856, + 0x10860, + 0x10877, + 0x10880, + 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, + 0x10900, + 0x10916, + 0x10920, + 0x1093A, + 0x10980, + 0x109B8, + 0x109BE, + 0x109C0, + 0x10A00, + 0x10A04, + 0x10A05, + 0x10A07, + 0x10A0C, + 0x10A14, + 0x10A15, + 0x10A18, + 0x10A19, + 0x10A36, + 0x10A38, + 0x10A3B, + 0x10A3F, + 0x10A40, + 0x10A60, + 0x10A7D, + 0x10A80, + 0x10A9D, + 0x10AC0, + 0x10AC8, + 0x10AC9, + 0x10AE7, + 0x10B00, + 0x10B36, + 0x10B40, + 0x10B56, + 0x10B60, + 0x10B73, + 0x10B80, + 0x10B92, + 0x10C00, + 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, + 0x10D00, + 0x10D28, + 0x10D30, + 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, + 0x10F00, + 0x10F1D, + 0x10F27, + 0x10F28, + 0x10F30, + 0x10F51, + 0x10FB0, + 0x10FC5, + 0x10FE0, + 0x10FF7, + 0x11000, + 0x11047, + 0x11066, + 0x11070, + 0x1107F, + 0x110BB, + 0x110D0, + 0x110E9, + 0x110F0, + 0x110FA, + 0x11100, + 0x11135, + 0x11136, + 0x11140, + 0x11144, + 0x11148, + 0x11150, + 0x11174, + 0x11176, + 0x11177, + 0x11180, + 0x111C5, + 0x111C9, + 0x111CD, + 0x111CE, + 0x111DB, + 0x111DC, + 0x111DD, + 0x11200, + 0x11212, + 0x11213, + 0x11238, + 0x1123E, + 0x1123F, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, + 0x112B0, + 0x112EB, + 0x112F0, + 0x112FA, + 0x11300, + 0x11304, + 0x11305, + 0x1130D, + 0x1130F, + 0x11311, + 0x11313, + 0x11329, + 0x1132A, + 0x11331, + 0x11332, + 0x11334, + 0x11335, + 0x1133A, + 0x1133B, + 0x11345, + 0x11347, + 0x11349, + 0x1134B, + 0x1134E, + 0x11350, + 0x11351, + 0x11357, + 0x11358, + 0x1135D, + 0x11364, + 0x11366, + 0x1136D, + 0x11370, + 0x11375, + 0x11400, + 0x1144B, + 0x11450, + 0x1145A, + 0x1145E, + 0x11462, + 0x11480, + 0x114C6, + 0x114C7, + 0x114C8, + 0x114D0, + 0x114DA, + 0x11580, + 0x115B6, + 0x115B8, + 0x115C1, + 0x115D8, + 0x115DE, + 0x11600, + 0x11641, + 0x11644, + 0x11645, + 0x11650, + 0x1165A, + 0x11680, + 0x116B9, + 0x116C0, + 0x116CA, + 0x11700, + 0x1171B, + 0x1171D, + 0x1172C, + 0x11730, + 0x1173A, + 0x11800, + 0x1183B, + 0x118A0, + 0x118EA, + 0x118FF, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11944, + 0x11950, + 0x1195A, + 0x119A0, + 0x119A8, + 0x119AA, + 0x119D8, + 0x119DA, + 0x119E2, + 0x119E3, + 0x119E5, + 0x11A00, + 0x11A3F, + 0x11A47, + 0x11A48, + 0x11A50, + 0x11A9A, + 0x11A9D, + 0x11A9E, + 0x11AC0, + 0x11AF9, + 0x11C00, + 0x11C09, + 0x11C0A, + 0x11C37, + 0x11C38, + 0x11C41, + 0x11C50, + 0x11C5A, + 0x11C72, + 0x11C90, + 0x11C92, + 0x11CA8, + 0x11CA9, + 0x11CB7, + 0x11D00, + 0x11D07, + 0x11D08, + 0x11D0A, + 0x11D0B, + 0x11D37, + 0x11D3A, + 0x11D3B, + 0x11D3C, + 0x11D3E, + 0x11D3F, + 0x11D48, + 0x11D50, + 0x11D5A, + 0x11D60, + 0x11D66, + 0x11D67, + 0x11D69, + 0x11D6A, + 0x11D8F, + 0x11D90, + 0x11D92, + 0x11D93, + 0x11D99, + 0x11DA0, + 0x11DAA, + 0x11EE0, + 0x11EF7, + 0x11FB0, + 0x11FB1, + 0x12000, + 0x1239A, + 0x12400, + 0x1246F, + 0x12480, + 0x12544, + 0x13000, + 0x1342F, + 0x14400, + 0x14647, + 0x16800, + 0x16A39, + 0x16A40, + 0x16A5F, + 0x16A60, + 0x16A6A, + 0x16AD0, + 0x16AEE, + 0x16AF0, + 0x16AF5, + 0x16B00, + 0x16B37, + 0x16B40, + 0x16B44, + 0x16B50, + 0x16B5A, + 0x16B63, + 0x16B78, + 0x16B7D, + 0x16B90, + 0x16E40, + 0x16E80, + 0x16F00, + 0x16F4B, + 0x16F4F, + 0x16F88, + 0x16F8F, + 0x16FA0, + 0x16FE0, + 0x16FE2, + 0x16FE3, + 0x16FE5, + 0x16FF0, + 0x16FF2, + 0x17000, + 0x187F8, + 0x18800, + 0x18CD6, + 0x18D00, + 0x18D09, + 0x1B000, + 0x1B11F, + 0x1B150, + 0x1B153, + 0x1B164, + 0x1B168, + 0x1B170, + 0x1B2FC, + 0x1BC00, + 0x1BC6B, + 0x1BC70, + 0x1BC7D, + 0x1BC80, + 0x1BC89, + 0x1BC90, + 0x1BC9A, + 0x1BC9D, + 0x1BC9F, + 0x1D165, + 0x1D16A, + 0x1D16D, + 0x1D173, + 0x1D17B, + 0x1D183, + 0x1D185, + 0x1D18C, + 0x1D1AA, + 0x1D1AE, + 0x1D242, + 0x1D245, + 0x1D400, + 0x1D455, + 0x1D456, + 0x1D49D, + 0x1D49E, + 0x1D4A0, + 0x1D4A2, + 0x1D4A3, + 0x1D4A5, + 0x1D4A7, + 0x1D4A9, + 0x1D4AD, + 0x1D4AE, + 0x1D4BA, + 0x1D4BB, + 0x1D4BC, + 0x1D4BD, + 0x1D4C4, + 0x1D4C5, + 0x1D506, + 0x1D507, + 0x1D50B, + 0x1D50D, + 0x1D515, + 0x1D516, + 0x1D51D, + 0x1D51E, + 0x1D53A, + 0x1D53B, + 0x1D53F, + 0x1D540, + 0x1D545, + 0x1D546, + 0x1D547, + 0x1D54A, + 0x1D551, + 0x1D552, + 0x1D6A6, + 0x1D6A8, + 0x1D6C1, + 0x1D6C2, + 0x1D6DB, + 0x1D6DC, + 0x1D6FB, + 0x1D6FC, + 0x1D715, + 0x1D716, + 0x1D735, + 0x1D736, + 0x1D74F, + 0x1D750, + 0x1D76F, + 0x1D770, + 0x1D789, + 0x1D78A, + 0x1D7A9, + 0x1D7AA, + 0x1D7C3, + 0x1D7C4, + 0x1D7CC, + 0x1D7CE, + 0x1D800, + 0x1DA00, + 0x1DA37, + 0x1DA3B, + 0x1DA6D, + 0x1DA75, + 0x1DA76, + 0x1DA84, + 0x1DA85, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, + 0x1E000, + 0x1E007, + 0x1E008, + 0x1E019, + 0x1E01B, + 0x1E022, + 0x1E023, + 0x1E025, + 0x1E026, + 0x1E02B, + 0x1E100, + 0x1E12D, + 0x1E130, + 0x1E13E, + 0x1E140, + 0x1E14A, + 0x1E14E, + 0x1E14F, + 0x1E2C0, + 0x1E2FA, + 0x1E800, + 0x1E8C5, + 0x1E8D0, + 0x1E8D7, + 0x1E900, + 0x1E94C, + 0x1E950, + 0x1E95A, + 0x1EE00, + 0x1EE04, + 0x1EE05, + 0x1EE20, + 0x1EE21, + 0x1EE23, + 0x1EE24, + 0x1EE25, + 0x1EE27, + 0x1EE28, + 0x1EE29, + 0x1EE33, + 0x1EE34, + 0x1EE38, + 0x1EE39, + 0x1EE3A, + 0x1EE3B, + 0x1EE3C, + 0x1EE42, + 0x1EE43, + 0x1EE47, + 0x1EE48, + 0x1EE49, + 0x1EE4A, + 0x1EE4B, + 0x1EE4C, + 0x1EE4D, + 0x1EE50, + 0x1EE51, + 0x1EE53, + 0x1EE54, + 0x1EE55, + 0x1EE57, + 0x1EE58, + 0x1EE59, + 0x1EE5A, + 0x1EE5B, + 0x1EE5C, + 0x1EE5D, + 0x1EE5E, + 0x1EE5F, + 0x1EE60, + 0x1EE61, + 0x1EE63, + 0x1EE64, + 0x1EE65, + 0x1EE67, + 0x1EE6B, + 0x1EE6C, + 0x1EE73, + 0x1EE74, + 0x1EE78, + 0x1EE79, + 0x1EE7D, + 0x1EE7E, + 0x1EE7F, + 0x1EE80, + 0x1EE8A, + 0x1EE8B, + 0x1EE9C, + 0x1EEA1, + 0x1EEA4, + 0x1EEA5, + 0x1EEAA, + 0x1EEAB, + 0x1EEBC, + 0x1FBF0, + 0x1FBFA, + 0x20000, + 0x2A6DE, + 0x2A700, + 0x2B735, + 0x2B740, + 0x2B81E, + 0x2B820, + 0x2CEA2, + 0x2CEB0, + 0x2EBE1, + 0x2F800, + 0x2FA1E, + 0x30000, + 0x3134B, + 0xE0100, + 0xE01F0 +}; + +# endif /* EBCDIC 037 */ + +# if 'A' == 65 /* ASCII/Latin1 */ + +static const UV UNI_IDENTIFIERSTATUS__ALLOWED_invlist[] = { /* for ASCII/Latin1 */ + 749, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x27, + 0x28, + 0x2D, + 0x2F, + 0x30, + 0x3B, + 0x41, + 0x5B, + 0x5F, + 0x60, + 0x61, + 0x7B, + 0xB7, + 0xB8, + 0xC0, + 0xD7, + 0xD8, + 0xF7, + 0xF8, + 0x132, + 0x134, + 0x13F, + 0x141, + 0x149, + 0x14A, + 0x17F, + 0x18F, + 0x190, + 0x1A0, + 0x1A2, + 0x1AF, + 0x1B1, + 0x1CD, + 0x1DD, + 0x1DE, + 0x1E4, + 0x1E6, + 0x1F1, + 0x1F4, + 0x1F6, + 0x1F8, + 0x21C, + 0x21E, + 0x220, + 0x226, + 0x234, + 0x259, + 0x25A, + 0x2BB, + 0x2BD, + 0x2EC, + 0x2ED, + 0x300, + 0x305, + 0x306, + 0x30D, + 0x30F, + 0x312, + 0x313, + 0x315, + 0x31B, + 0x31C, + 0x323, + 0x329, + 0x32D, + 0x32F, + 0x330, + 0x332, + 0x335, + 0x336, + 0x338, + 0x33A, + 0x342, + 0x343, + 0x345, + 0x346, + 0x375, + 0x376, + 0x37B, + 0x37E, + 0x386, + 0x387, + 0x388, + 0x38B, + 0x38C, + 0x38D, + 0x38E, + 0x3A2, + 0x3A3, + 0x3CF, + 0x3FC, + 0x460, + 0x48A, + 0x500, + 0x510, + 0x52A, + 0x52E, + 0x530, + 0x531, + 0x557, + 0x559, + 0x55A, + 0x561, + 0x587, + 0x58A, + 0x58B, + 0x5B4, + 0x5B5, + 0x5D0, + 0x5EB, + 0x5EF, + 0x5F5, + 0x620, + 0x640, + 0x641, + 0x656, + 0x660, + 0x66A, + 0x670, + 0x673, + 0x674, + 0x675, + 0x679, + 0x68E, + 0x68F, + 0x6A1, + 0x6A2, + 0x6D4, + 0x6D5, + 0x6D6, + 0x6E5, + 0x6E7, + 0x6EE, + 0x700, + 0x750, + 0x7B2, + 0x8A0, + 0x8AD, + 0x8B2, + 0x8B3, + 0x8B6, + 0x8C8, + 0x901, + 0x94E, + 0x94F, + 0x951, + 0x956, + 0x958, + 0x960, + 0x964, + 0x966, + 0x970, + 0x971, + 0x978, + 0x979, + 0x980, + 0x981, + 0x984, + 0x985, + 0x98D, + 0x98F, + 0x991, + 0x993, + 0x9A9, + 0x9AA, + 0x9B1, + 0x9B2, + 0x9B3, + 0x9B6, + 0x9BA, + 0x9BC, + 0x9C5, + 0x9C7, + 0x9C9, + 0x9CB, + 0x9CF, + 0x9D7, + 0x9D8, + 0x9E0, + 0x9E4, + 0x9E6, + 0x9F2, + 0x9FE, + 0x9FF, + 0xA01, + 0xA04, + 0xA05, + 0xA0B, + 0xA0F, + 0xA11, + 0xA13, + 0xA29, + 0xA2A, + 0xA31, + 0xA32, + 0xA33, + 0xA35, + 0xA36, + 0xA38, + 0xA3A, + 0xA3C, + 0xA3D, + 0xA3E, + 0xA43, + 0xA47, + 0xA49, + 0xA4B, + 0xA4E, + 0xA5C, + 0xA5D, + 0xA66, + 0xA75, + 0xA81, + 0xA84, + 0xA85, + 0xA8E, + 0xA8F, + 0xA92, + 0xA93, + 0xAA9, + 0xAAA, + 0xAB1, + 0xAB2, + 0xAB4, + 0xAB5, + 0xABA, + 0xABC, + 0xAC6, + 0xAC7, + 0xACA, + 0xACB, + 0xACE, + 0xAD0, + 0xAD1, + 0xAE0, + 0xAE4, + 0xAE6, + 0xAF0, + 0xAFA, + 0xB00, + 0xB01, + 0xB04, + 0xB05, + 0xB0D, + 0xB0F, + 0xB11, + 0xB13, + 0xB29, + 0xB2A, + 0xB31, + 0xB32, + 0xB34, + 0xB35, + 0xB3A, + 0xB3C, + 0xB44, + 0xB47, + 0xB49, + 0xB4B, + 0xB4E, + 0xB55, + 0xB58, + 0xB5F, + 0xB62, + 0xB66, + 0xB70, + 0xB71, + 0xB72, + 0xB82, + 0xB84, + 0xB85, + 0xB8B, + 0xB8E, + 0xB91, + 0xB92, + 0xB96, + 0xB99, + 0xB9B, + 0xB9C, + 0xB9D, + 0xB9E, + 0xBA0, + 0xBA3, + 0xBA5, + 0xBA8, + 0xBAB, + 0xBAE, + 0xBBA, + 0xBBE, + 0xBC3, + 0xBC6, + 0xBC9, + 0xBCA, + 0xBCE, + 0xBD0, + 0xBD1, + 0xBD7, + 0xBD8, + 0xBE6, + 0xBF0, + 0xC01, + 0xC0D, + 0xC0E, + 0xC11, + 0xC12, + 0xC29, + 0xC2A, + 0xC34, + 0xC35, + 0xC3A, + 0xC3D, + 0xC45, + 0xC46, + 0xC49, + 0xC4A, + 0xC4E, + 0xC55, + 0xC57, + 0xC60, + 0xC62, + 0xC66, + 0xC70, + 0xC80, + 0xC81, + 0xC82, + 0xC84, + 0xC85, + 0xC8D, + 0xC8E, + 0xC91, + 0xC92, + 0xCA9, + 0xCAA, + 0xCB4, + 0xCB5, + 0xCBA, + 0xCBC, + 0xCC5, + 0xCC6, + 0xCC9, + 0xCCA, + 0xCCE, + 0xCD5, + 0xCD7, + 0xCE0, + 0xCE4, + 0xCE6, + 0xCF0, + 0xCF1, + 0xCF3, + 0xD00, + 0xD01, + 0xD02, + 0xD04, + 0xD05, + 0xD0D, + 0xD0E, + 0xD11, + 0xD12, + 0xD3B, + 0xD3D, + 0xD44, + 0xD46, + 0xD49, + 0xD4A, + 0xD4F, + 0xD54, + 0xD58, + 0xD60, + 0xD62, + 0xD66, + 0xD70, + 0xD7A, + 0xD80, + 0xD82, + 0xD84, + 0xD85, + 0xD8F, + 0xD91, + 0xD97, + 0xD9A, + 0xDA6, + 0xDA7, + 0xDB2, + 0xDB3, + 0xDBC, + 0xDBD, + 0xDBE, + 0xDC0, + 0xDC7, + 0xDCA, + 0xDCB, + 0xDCF, + 0xDD5, + 0xDD6, + 0xDD7, + 0xDD8, + 0xDDF, + 0xDF2, + 0xDF3, + 0xE01, + 0xE33, + 0xE34, + 0xE3B, + 0xE40, + 0xE4F, + 0xE50, + 0xE5A, + 0xE81, + 0xE83, + 0xE84, + 0xE85, + 0xE86, + 0xE8B, + 0xE8C, + 0xEA4, + 0xEA5, + 0xEA6, + 0xEA7, + 0xEB3, + 0xEB4, + 0xEBE, + 0xEC0, + 0xEC5, + 0xEC6, + 0xEC7, + 0xEC8, + 0xECE, + 0xED0, + 0xEDA, + 0xEDE, + 0xEE0, + 0xF00, + 0xF01, + 0xF0B, + 0xF0C, + 0xF20, + 0xF2A, + 0xF35, + 0xF36, + 0xF37, + 0xF38, + 0xF3E, + 0xF43, + 0xF44, + 0xF48, + 0xF49, + 0xF4D, + 0xF4E, + 0xF52, + 0xF53, + 0xF57, + 0xF58, + 0xF5C, + 0xF5D, + 0xF69, + 0xF6A, + 0xF6D, + 0xF71, + 0xF73, + 0xF74, + 0xF75, + 0xF7A, + 0xF81, + 0xF82, + 0xF85, + 0xF86, + 0xF93, + 0xF94, + 0xF98, + 0xF99, + 0xF9D, + 0xF9E, + 0xFA2, + 0xFA3, + 0xFA7, + 0xFA8, + 0xFAC, + 0xFAD, + 0xFB9, + 0xFBA, + 0xFBD, + 0xFC6, + 0xFC7, + 0x1000, + 0x104A, + 0x1050, + 0x109E, + 0x10C7, + 0x10C8, + 0x10CD, + 0x10CE, + 0x10D0, + 0x10F1, + 0x10F7, + 0x10FB, + 0x10FD, + 0x1100, + 0x1200, + 0x1249, + 0x124A, + 0x124E, + 0x1250, + 0x1257, + 0x1258, + 0x1259, + 0x125A, + 0x125E, + 0x1260, + 0x1289, + 0x128A, + 0x128E, + 0x1290, + 0x12B1, + 0x12B2, + 0x12B6, + 0x12B8, + 0x12BF, + 0x12C0, + 0x12C1, + 0x12C2, + 0x12C6, + 0x12C8, + 0x12D7, + 0x12D8, + 0x1311, + 0x1312, + 0x1316, + 0x1318, + 0x135B, + 0x135D, + 0x1360, + 0x1380, + 0x1390, + 0x1780, + 0x17A3, + 0x17A5, + 0x17A8, + 0x17A9, + 0x17B4, + 0x17B6, + 0x17CB, + 0x17D2, + 0x17D3, + 0x17D7, + 0x17D8, + 0x17DC, + 0x17DD, + 0x17E0, + 0x17EA, + 0x1C90, + 0x1CBB, + 0x1CBD, + 0x1CC0, + 0x1E00, + 0x1E9A, + 0x1E9E, + 0x1E9F, + 0x1EA0, + 0x1EFA, + 0x1F00, + 0x1F16, + 0x1F18, + 0x1F1E, + 0x1F20, + 0x1F46, + 0x1F48, + 0x1F4E, + 0x1F50, + 0x1F58, + 0x1F59, + 0x1F5A, + 0x1F5B, + 0x1F5C, + 0x1F5D, + 0x1F5E, + 0x1F5F, + 0x1F71, + 0x1F72, + 0x1F73, + 0x1F74, + 0x1F75, + 0x1F76, + 0x1F77, + 0x1F78, + 0x1F79, + 0x1F7A, + 0x1F7B, + 0x1F7C, + 0x1F7D, + 0x1F80, + 0x1FB5, + 0x1FB6, + 0x1FBB, + 0x1FBC, + 0x1FBD, + 0x1FC2, + 0x1FC5, + 0x1FC6, + 0x1FC9, + 0x1FCA, + 0x1FCB, + 0x1FCC, + 0x1FCD, + 0x1FD0, + 0x1FD3, + 0x1FD6, + 0x1FDB, + 0x1FE0, + 0x1FE3, + 0x1FE4, + 0x1FEB, + 0x1FEC, + 0x1FED, + 0x1FF2, + 0x1FF5, + 0x1FF6, + 0x1FF9, + 0x1FFA, + 0x1FFB, + 0x1FFC, + 0x1FFD, + 0x200C, + 0x200E, + 0x2010, + 0x2011, + 0x2019, + 0x201A, + 0x2027, + 0x2028, + 0x2D27, + 0x2D28, + 0x2D2D, + 0x2D2E, + 0x2D80, + 0x2D97, + 0x2DA0, + 0x2DA7, + 0x2DA8, + 0x2DAF, + 0x2DB0, + 0x2DB7, + 0x2DB8, + 0x2DBF, + 0x2DC0, + 0x2DC7, + 0x2DC8, + 0x2DCF, + 0x2DD0, + 0x2DD7, + 0x2DD8, + 0x2DDF, + 0x3005, + 0x3008, + 0x3041, + 0x3097, + 0x3099, + 0x309B, + 0x309D, + 0x309F, + 0x30A0, + 0x30FF, + 0x3105, + 0x312E, + 0x312F, + 0x3130, + 0x31A0, + 0x31C0, + 0x3400, + 0x4DC0, + 0x4E00, + 0x9FFD, + 0xA67F, + 0xA680, + 0xA717, + 0xA720, + 0xA788, + 0xA789, + 0xA78D, + 0xA78E, + 0xA792, + 0xA794, + 0xA7AA, + 0xA7AB, + 0xA7AE, + 0xA7AF, + 0xA7B8, + 0xA7BA, + 0xA7C2, + 0xA7CB, + 0xA9E7, + 0xA9FF, + 0xAA60, + 0xAA77, + 0xAA7A, + 0xAA80, + 0xAB01, + 0xAB07, + 0xAB09, + 0xAB0F, + 0xAB11, + 0xAB17, + 0xAB20, + 0xAB27, + 0xAB28, + 0xAB2F, + 0xAB66, + 0xAB68, + 0xAC00, + 0xD7A4, + 0xFA0E, + 0xFA10, + 0xFA11, + 0xFA12, + 0xFA13, + 0xFA15, + 0xFA1F, + 0xFA20, + 0xFA21, + 0xFA22, + 0xFA23, + 0xFA25, + 0xFA27, + 0xFA2A, + 0x11301, + 0x11302, + 0x11303, + 0x11304, + 0x1133B, + 0x1133D, + 0x16FF0, + 0x16FF2, + 0x1B150, + 0x1B153, + 0x1B164, + 0x1B168, + 0x20000, + 0x2A6DE, + 0x2A700, + 0x2B735, + 0x2B740, + 0x2B81E, + 0x2B820, + 0x2CEA2, + 0x2CEB0, + 0x2EBE1, + 0x30000, + 0x3134B +}; + +# endif /* ASCII/Latin1 */ + +# if 'A' == 193 /* EBCDIC 1047 */ \ + && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ + && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ + && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 + +static const UV UNI_IDENTIFIERSTATUS__ALLOWED_invlist[] = { /* for EBCDIC 1047 */ + 783, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x42, + 0x4A, + 0x4B, + 0x4C, + 0x51, + 0x5A, + 0x60, + 0x61, + 0x62, + 0x6A, + 0x6D, + 0x6E, + 0x70, + 0x79, + 0x7A, + 0x7B, + 0x7D, + 0x7E, + 0x80, + 0x8A, + 0x8C, + 0x8F, + 0x91, + 0x9A, + 0x9C, + 0x9D, + 0x9E, + 0x9F, + 0xA2, + 0xAA, + 0xAC, + 0xAD, + 0xAE, + 0xAF, + 0xB3, + 0xB4, + 0xBA, + 0xBB, + 0xC1, + 0xCA, + 0xCB, + 0xD0, + 0xD1, + 0xDA, + 0xDB, + 0xE0, + 0xE2, + 0xEA, + 0xEB, + 0xFA, + 0xFB, + 0xFF, + 0x100, + 0x132, + 0x134, + 0x13F, + 0x141, + 0x149, + 0x14A, + 0x17F, + 0x18F, + 0x190, + 0x1A0, + 0x1A2, + 0x1AF, + 0x1B1, + 0x1CD, + 0x1DD, + 0x1DE, + 0x1E4, + 0x1E6, + 0x1F1, + 0x1F4, + 0x1F6, + 0x1F8, + 0x21C, + 0x21E, + 0x220, + 0x226, + 0x234, + 0x259, + 0x25A, + 0x2BB, + 0x2BD, + 0x2EC, + 0x2ED, + 0x300, + 0x305, + 0x306, + 0x30D, + 0x30F, + 0x312, + 0x313, + 0x315, + 0x31B, + 0x31C, + 0x323, + 0x329, + 0x32D, + 0x32F, + 0x330, + 0x332, + 0x335, + 0x336, + 0x338, + 0x33A, + 0x342, + 0x343, + 0x345, + 0x346, + 0x375, + 0x376, + 0x37B, + 0x37E, + 0x386, + 0x387, + 0x388, + 0x38B, + 0x38C, + 0x38D, + 0x38E, + 0x3A2, + 0x3A3, + 0x3CF, + 0x3FC, + 0x460, + 0x48A, + 0x500, + 0x510, + 0x52A, + 0x52E, + 0x530, + 0x531, + 0x557, + 0x559, + 0x55A, + 0x561, + 0x587, + 0x58A, + 0x58B, + 0x5B4, + 0x5B5, + 0x5D0, + 0x5EB, + 0x5EF, + 0x5F5, + 0x620, + 0x640, + 0x641, + 0x656, + 0x660, + 0x66A, + 0x670, + 0x673, + 0x674, + 0x675, + 0x679, + 0x68E, + 0x68F, + 0x6A1, + 0x6A2, + 0x6D4, + 0x6D5, + 0x6D6, + 0x6E5, + 0x6E7, + 0x6EE, + 0x700, + 0x750, + 0x7B2, + 0x8A0, + 0x8AD, + 0x8B2, + 0x8B3, + 0x8B6, + 0x8C8, + 0x901, + 0x94E, + 0x94F, + 0x951, + 0x956, + 0x958, + 0x960, + 0x964, + 0x966, + 0x970, + 0x971, + 0x978, + 0x979, + 0x980, + 0x981, + 0x984, + 0x985, + 0x98D, + 0x98F, + 0x991, + 0x993, + 0x9A9, + 0x9AA, + 0x9B1, + 0x9B2, + 0x9B3, + 0x9B6, + 0x9BA, + 0x9BC, + 0x9C5, + 0x9C7, + 0x9C9, + 0x9CB, + 0x9CF, + 0x9D7, + 0x9D8, + 0x9E0, + 0x9E4, + 0x9E6, + 0x9F2, + 0x9FE, + 0x9FF, + 0xA01, + 0xA04, + 0xA05, + 0xA0B, + 0xA0F, + 0xA11, + 0xA13, + 0xA29, + 0xA2A, + 0xA31, + 0xA32, + 0xA33, + 0xA35, + 0xA36, + 0xA38, + 0xA3A, + 0xA3C, + 0xA3D, + 0xA3E, + 0xA43, + 0xA47, + 0xA49, + 0xA4B, + 0xA4E, + 0xA5C, + 0xA5D, + 0xA66, + 0xA75, + 0xA81, + 0xA84, + 0xA85, + 0xA8E, + 0xA8F, + 0xA92, + 0xA93, + 0xAA9, + 0xAAA, + 0xAB1, + 0xAB2, + 0xAB4, + 0xAB5, + 0xABA, + 0xABC, + 0xAC6, + 0xAC7, + 0xACA, + 0xACB, + 0xACE, + 0xAD0, + 0xAD1, + 0xAE0, + 0xAE4, + 0xAE6, + 0xAF0, + 0xAFA, + 0xB00, + 0xB01, + 0xB04, + 0xB05, + 0xB0D, + 0xB0F, + 0xB11, + 0xB13, + 0xB29, + 0xB2A, + 0xB31, + 0xB32, + 0xB34, + 0xB35, + 0xB3A, + 0xB3C, + 0xB44, + 0xB47, + 0xB49, + 0xB4B, + 0xB4E, + 0xB55, + 0xB58, + 0xB5F, + 0xB62, + 0xB66, + 0xB70, + 0xB71, + 0xB72, + 0xB82, + 0xB84, + 0xB85, + 0xB8B, + 0xB8E, + 0xB91, + 0xB92, + 0xB96, + 0xB99, + 0xB9B, + 0xB9C, + 0xB9D, + 0xB9E, + 0xBA0, + 0xBA3, + 0xBA5, + 0xBA8, + 0xBAB, + 0xBAE, + 0xBBA, + 0xBBE, + 0xBC3, + 0xBC6, + 0xBC9, + 0xBCA, + 0xBCE, + 0xBD0, + 0xBD1, + 0xBD7, + 0xBD8, + 0xBE6, + 0xBF0, + 0xC01, + 0xC0D, + 0xC0E, + 0xC11, + 0xC12, + 0xC29, + 0xC2A, + 0xC34, + 0xC35, + 0xC3A, + 0xC3D, + 0xC45, + 0xC46, + 0xC49, + 0xC4A, + 0xC4E, + 0xC55, + 0xC57, + 0xC60, + 0xC62, + 0xC66, + 0xC70, + 0xC80, + 0xC81, + 0xC82, + 0xC84, + 0xC85, + 0xC8D, + 0xC8E, + 0xC91, + 0xC92, + 0xCA9, + 0xCAA, + 0xCB4, + 0xCB5, + 0xCBA, + 0xCBC, + 0xCC5, + 0xCC6, + 0xCC9, + 0xCCA, + 0xCCE, + 0xCD5, + 0xCD7, + 0xCE0, + 0xCE4, + 0xCE6, + 0xCF0, + 0xCF1, + 0xCF3, + 0xD00, + 0xD01, + 0xD02, + 0xD04, + 0xD05, + 0xD0D, + 0xD0E, + 0xD11, + 0xD12, + 0xD3B, + 0xD3D, + 0xD44, + 0xD46, + 0xD49, + 0xD4A, + 0xD4F, + 0xD54, + 0xD58, + 0xD60, + 0xD62, + 0xD66, + 0xD70, + 0xD7A, + 0xD80, + 0xD82, + 0xD84, + 0xD85, + 0xD8F, + 0xD91, + 0xD97, + 0xD9A, + 0xDA6, + 0xDA7, + 0xDB2, + 0xDB3, + 0xDBC, + 0xDBD, + 0xDBE, + 0xDC0, + 0xDC7, + 0xDCA, + 0xDCB, + 0xDCF, + 0xDD5, + 0xDD6, + 0xDD7, + 0xDD8, + 0xDDF, + 0xDF2, + 0xDF3, + 0xE01, + 0xE33, + 0xE34, + 0xE3B, + 0xE40, + 0xE4F, + 0xE50, + 0xE5A, + 0xE81, + 0xE83, + 0xE84, + 0xE85, + 0xE86, + 0xE8B, + 0xE8C, + 0xEA4, + 0xEA5, + 0xEA6, + 0xEA7, + 0xEB3, + 0xEB4, + 0xEBE, + 0xEC0, + 0xEC5, + 0xEC6, + 0xEC7, + 0xEC8, + 0xECE, + 0xED0, + 0xEDA, + 0xEDE, + 0xEE0, + 0xF00, + 0xF01, + 0xF0B, + 0xF0C, + 0xF20, + 0xF2A, + 0xF35, + 0xF36, + 0xF37, + 0xF38, + 0xF3E, + 0xF43, + 0xF44, + 0xF48, + 0xF49, + 0xF4D, + 0xF4E, + 0xF52, + 0xF53, + 0xF57, + 0xF58, + 0xF5C, + 0xF5D, + 0xF69, + 0xF6A, + 0xF6D, + 0xF71, + 0xF73, + 0xF74, + 0xF75, + 0xF7A, + 0xF81, + 0xF82, + 0xF85, + 0xF86, + 0xF93, + 0xF94, + 0xF98, + 0xF99, + 0xF9D, + 0xF9E, + 0xFA2, + 0xFA3, + 0xFA7, + 0xFA8, + 0xFAC, + 0xFAD, + 0xFB9, + 0xFBA, + 0xFBD, + 0xFC6, + 0xFC7, + 0x1000, + 0x104A, + 0x1050, + 0x109E, + 0x10C7, + 0x10C8, + 0x10CD, + 0x10CE, + 0x10D0, + 0x10F1, + 0x10F7, + 0x10FB, + 0x10FD, + 0x1100, + 0x1200, + 0x1249, + 0x124A, + 0x124E, + 0x1250, + 0x1257, + 0x1258, + 0x1259, + 0x125A, + 0x125E, + 0x1260, + 0x1289, + 0x128A, + 0x128E, + 0x1290, + 0x12B1, + 0x12B2, + 0x12B6, + 0x12B8, + 0x12BF, + 0x12C0, + 0x12C1, + 0x12C2, + 0x12C6, + 0x12C8, + 0x12D7, + 0x12D8, + 0x1311, + 0x1312, + 0x1316, + 0x1318, + 0x135B, + 0x135D, + 0x1360, + 0x1380, + 0x1390, + 0x1780, + 0x17A3, + 0x17A5, + 0x17A8, + 0x17A9, + 0x17B4, + 0x17B6, + 0x17CB, + 0x17D2, + 0x17D3, + 0x17D7, + 0x17D8, + 0x17DC, + 0x17DD, + 0x17E0, + 0x17EA, + 0x1C90, + 0x1CBB, + 0x1CBD, + 0x1CC0, + 0x1E00, + 0x1E9A, + 0x1E9E, + 0x1E9F, + 0x1EA0, + 0x1EFA, + 0x1F00, + 0x1F16, + 0x1F18, + 0x1F1E, + 0x1F20, + 0x1F46, + 0x1F48, + 0x1F4E, + 0x1F50, + 0x1F58, + 0x1F59, + 0x1F5A, + 0x1F5B, + 0x1F5C, + 0x1F5D, + 0x1F5E, + 0x1F5F, + 0x1F71, + 0x1F72, + 0x1F73, + 0x1F74, + 0x1F75, + 0x1F76, + 0x1F77, + 0x1F78, + 0x1F79, + 0x1F7A, + 0x1F7B, + 0x1F7C, + 0x1F7D, + 0x1F80, + 0x1FB5, + 0x1FB6, + 0x1FBB, + 0x1FBC, + 0x1FBD, + 0x1FC2, + 0x1FC5, + 0x1FC6, + 0x1FC9, + 0x1FCA, + 0x1FCB, + 0x1FCC, + 0x1FCD, + 0x1FD0, + 0x1FD3, + 0x1FD6, + 0x1FDB, + 0x1FE0, + 0x1FE3, + 0x1FE4, + 0x1FEB, + 0x1FEC, + 0x1FED, + 0x1FF2, + 0x1FF5, + 0x1FF6, + 0x1FF9, + 0x1FFA, + 0x1FFB, + 0x1FFC, + 0x1FFD, + 0x200C, + 0x200E, + 0x2010, + 0x2011, + 0x2019, + 0x201A, + 0x2027, + 0x2028, + 0x2D27, + 0x2D28, + 0x2D2D, + 0x2D2E, + 0x2D80, + 0x2D97, + 0x2DA0, + 0x2DA7, + 0x2DA8, + 0x2DAF, + 0x2DB0, + 0x2DB7, + 0x2DB8, + 0x2DBF, + 0x2DC0, + 0x2DC7, + 0x2DC8, + 0x2DCF, + 0x2DD0, + 0x2DD7, + 0x2DD8, + 0x2DDF, + 0x3005, + 0x3008, + 0x3041, + 0x3097, + 0x3099, + 0x309B, + 0x309D, + 0x309F, + 0x30A0, + 0x30FF, + 0x3105, + 0x312E, + 0x312F, + 0x3130, + 0x31A0, + 0x31C0, + 0x3400, + 0x4DC0, + 0x4E00, + 0x9FFD, + 0xA67F, + 0xA680, + 0xA717, + 0xA720, + 0xA788, + 0xA789, + 0xA78D, + 0xA78E, + 0xA792, + 0xA794, + 0xA7AA, + 0xA7AB, + 0xA7AE, + 0xA7AF, + 0xA7B8, + 0xA7BA, + 0xA7C2, + 0xA7CB, + 0xA9E7, + 0xA9FF, + 0xAA60, + 0xAA77, + 0xAA7A, + 0xAA80, + 0xAB01, + 0xAB07, + 0xAB09, + 0xAB0F, + 0xAB11, + 0xAB17, + 0xAB20, + 0xAB27, + 0xAB28, + 0xAB2F, + 0xAB66, + 0xAB68, + 0xAC00, + 0xD7A4, + 0xFA0E, + 0xFA10, + 0xFA11, + 0xFA12, + 0xFA13, + 0xFA15, + 0xFA1F, + 0xFA20, + 0xFA21, + 0xFA22, + 0xFA23, + 0xFA25, + 0xFA27, + 0xFA2A, + 0x11301, + 0x11302, + 0x11303, + 0x11304, + 0x1133B, + 0x1133D, + 0x16FF0, + 0x16FF2, + 0x1B150, + 0x1B153, + 0x1B164, + 0x1B168, + 0x20000, + 0x2A6DE, + 0x2A700, + 0x2B735, + 0x2B740, + 0x2B81E, + 0x2B820, + 0x2CEA2, + 0x2CEB0, + 0x2EBE1, + 0x30000, + 0x3134B +}; + +# endif /* EBCDIC 1047 */ + +# if 'A' == 193 /* EBCDIC 037 */ \ + && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ + && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ + && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 + +static const UV UNI_IDENTIFIERSTATUS__ALLOWED_invlist[] = { /* for EBCDIC 037 */ + 779, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x42, + 0x4A, + 0x4B, + 0x4C, + 0x51, + 0x5A, + 0x60, + 0x61, + 0x62, + 0x6A, + 0x6D, + 0x6E, + 0x70, + 0x79, + 0x7A, + 0x7B, + 0x7D, + 0x7E, + 0x80, + 0x8A, + 0x8C, + 0x8F, + 0x91, + 0x9A, + 0x9C, + 0x9D, + 0x9E, + 0x9F, + 0xA2, + 0xAA, + 0xAC, + 0xAF, + 0xB3, + 0xB4, + 0xC1, + 0xCA, + 0xCB, + 0xD0, + 0xD1, + 0xDA, + 0xDB, + 0xE0, + 0xE2, + 0xEA, + 0xEB, + 0xFA, + 0xFB, + 0xFF, + 0x100, + 0x132, + 0x134, + 0x13F, + 0x141, + 0x149, + 0x14A, + 0x17F, + 0x18F, + 0x190, + 0x1A0, + 0x1A2, + 0x1AF, + 0x1B1, + 0x1CD, + 0x1DD, + 0x1DE, + 0x1E4, + 0x1E6, + 0x1F1, + 0x1F4, + 0x1F6, + 0x1F8, + 0x21C, + 0x21E, + 0x220, + 0x226, + 0x234, + 0x259, + 0x25A, + 0x2BB, + 0x2BD, + 0x2EC, + 0x2ED, + 0x300, + 0x305, + 0x306, + 0x30D, + 0x30F, + 0x312, + 0x313, + 0x315, + 0x31B, + 0x31C, + 0x323, + 0x329, + 0x32D, + 0x32F, + 0x330, + 0x332, + 0x335, + 0x336, + 0x338, + 0x33A, + 0x342, + 0x343, + 0x345, + 0x346, + 0x375, + 0x376, + 0x37B, + 0x37E, + 0x386, + 0x387, + 0x388, + 0x38B, + 0x38C, + 0x38D, + 0x38E, + 0x3A2, + 0x3A3, + 0x3CF, + 0x3FC, + 0x460, + 0x48A, + 0x500, + 0x510, + 0x52A, + 0x52E, + 0x530, + 0x531, + 0x557, + 0x559, + 0x55A, + 0x561, + 0x587, + 0x58A, + 0x58B, + 0x5B4, + 0x5B5, + 0x5D0, + 0x5EB, + 0x5EF, + 0x5F5, + 0x620, + 0x640, + 0x641, + 0x656, + 0x660, + 0x66A, + 0x670, + 0x673, + 0x674, + 0x675, + 0x679, + 0x68E, + 0x68F, + 0x6A1, + 0x6A2, + 0x6D4, + 0x6D5, + 0x6D6, + 0x6E5, + 0x6E7, + 0x6EE, + 0x700, + 0x750, + 0x7B2, + 0x8A0, + 0x8AD, + 0x8B2, + 0x8B3, + 0x8B6, + 0x8C8, + 0x901, + 0x94E, + 0x94F, + 0x951, + 0x956, + 0x958, + 0x960, + 0x964, + 0x966, + 0x970, + 0x971, + 0x978, + 0x979, + 0x980, + 0x981, + 0x984, + 0x985, + 0x98D, + 0x98F, + 0x991, + 0x993, + 0x9A9, + 0x9AA, + 0x9B1, + 0x9B2, + 0x9B3, + 0x9B6, + 0x9BA, + 0x9BC, + 0x9C5, + 0x9C7, + 0x9C9, + 0x9CB, + 0x9CF, + 0x9D7, + 0x9D8, + 0x9E0, + 0x9E4, + 0x9E6, + 0x9F2, + 0x9FE, + 0x9FF, + 0xA01, + 0xA04, + 0xA05, + 0xA0B, + 0xA0F, + 0xA11, + 0xA13, + 0xA29, + 0xA2A, + 0xA31, + 0xA32, + 0xA33, + 0xA35, + 0xA36, + 0xA38, + 0xA3A, + 0xA3C, + 0xA3D, + 0xA3E, + 0xA43, + 0xA47, + 0xA49, + 0xA4B, + 0xA4E, + 0xA5C, + 0xA5D, + 0xA66, + 0xA75, + 0xA81, + 0xA84, + 0xA85, + 0xA8E, + 0xA8F, + 0xA92, + 0xA93, + 0xAA9, + 0xAAA, + 0xAB1, + 0xAB2, + 0xAB4, + 0xAB5, + 0xABA, + 0xABC, + 0xAC6, + 0xAC7, + 0xACA, + 0xACB, + 0xACE, + 0xAD0, + 0xAD1, + 0xAE0, + 0xAE4, + 0xAE6, + 0xAF0, + 0xAFA, + 0xB00, + 0xB01, + 0xB04, + 0xB05, + 0xB0D, + 0xB0F, + 0xB11, + 0xB13, + 0xB29, + 0xB2A, + 0xB31, + 0xB32, + 0xB34, + 0xB35, + 0xB3A, + 0xB3C, + 0xB44, + 0xB47, + 0xB49, + 0xB4B, + 0xB4E, + 0xB55, + 0xB58, + 0xB5F, + 0xB62, + 0xB66, + 0xB70, + 0xB71, + 0xB72, + 0xB82, + 0xB84, + 0xB85, + 0xB8B, + 0xB8E, + 0xB91, + 0xB92, + 0xB96, + 0xB99, + 0xB9B, + 0xB9C, + 0xB9D, + 0xB9E, + 0xBA0, + 0xBA3, + 0xBA5, + 0xBA8, + 0xBAB, + 0xBAE, + 0xBBA, + 0xBBE, + 0xBC3, + 0xBC6, + 0xBC9, + 0xBCA, + 0xBCE, + 0xBD0, + 0xBD1, + 0xBD7, + 0xBD8, + 0xBE6, + 0xBF0, + 0xC01, + 0xC0D, + 0xC0E, + 0xC11, + 0xC12, + 0xC29, + 0xC2A, + 0xC34, + 0xC35, + 0xC3A, + 0xC3D, + 0xC45, + 0xC46, + 0xC49, + 0xC4A, + 0xC4E, + 0xC55, + 0xC57, + 0xC60, + 0xC62, + 0xC66, + 0xC70, + 0xC80, + 0xC81, + 0xC82, + 0xC84, + 0xC85, + 0xC8D, + 0xC8E, + 0xC91, + 0xC92, + 0xCA9, + 0xCAA, + 0xCB4, + 0xCB5, + 0xCBA, + 0xCBC, + 0xCC5, + 0xCC6, + 0xCC9, + 0xCCA, + 0xCCE, + 0xCD5, + 0xCD7, + 0xCE0, + 0xCE4, + 0xCE6, + 0xCF0, + 0xCF1, + 0xCF3, + 0xD00, + 0xD01, + 0xD02, + 0xD04, + 0xD05, + 0xD0D, + 0xD0E, + 0xD11, + 0xD12, + 0xD3B, + 0xD3D, + 0xD44, + 0xD46, + 0xD49, + 0xD4A, + 0xD4F, + 0xD54, + 0xD58, + 0xD60, + 0xD62, + 0xD66, + 0xD70, + 0xD7A, + 0xD80, + 0xD82, + 0xD84, + 0xD85, + 0xD8F, + 0xD91, + 0xD97, + 0xD9A, + 0xDA6, + 0xDA7, + 0xDB2, + 0xDB3, + 0xDBC, + 0xDBD, + 0xDBE, + 0xDC0, + 0xDC7, + 0xDCA, + 0xDCB, + 0xDCF, + 0xDD5, + 0xDD6, + 0xDD7, + 0xDD8, + 0xDDF, + 0xDF2, + 0xDF3, + 0xE01, + 0xE33, + 0xE34, + 0xE3B, + 0xE40, + 0xE4F, + 0xE50, + 0xE5A, + 0xE81, + 0xE83, + 0xE84, + 0xE85, + 0xE86, + 0xE8B, + 0xE8C, + 0xEA4, + 0xEA5, + 0xEA6, + 0xEA7, + 0xEB3, + 0xEB4, + 0xEBE, + 0xEC0, + 0xEC5, + 0xEC6, + 0xEC7, + 0xEC8, + 0xECE, + 0xED0, + 0xEDA, + 0xEDE, + 0xEE0, + 0xF00, + 0xF01, + 0xF0B, + 0xF0C, + 0xF20, + 0xF2A, + 0xF35, + 0xF36, + 0xF37, + 0xF38, + 0xF3E, + 0xF43, + 0xF44, + 0xF48, + 0xF49, + 0xF4D, + 0xF4E, + 0xF52, + 0xF53, + 0xF57, + 0xF58, + 0xF5C, + 0xF5D, + 0xF69, + 0xF6A, + 0xF6D, + 0xF71, + 0xF73, + 0xF74, + 0xF75, + 0xF7A, + 0xF81, + 0xF82, + 0xF85, + 0xF86, + 0xF93, + 0xF94, + 0xF98, + 0xF99, + 0xF9D, + 0xF9E, + 0xFA2, + 0xFA3, + 0xFA7, + 0xFA8, + 0xFAC, + 0xFAD, + 0xFB9, + 0xFBA, + 0xFBD, + 0xFC6, + 0xFC7, + 0x1000, + 0x104A, + 0x1050, + 0x109E, + 0x10C7, + 0x10C8, + 0x10CD, + 0x10CE, + 0x10D0, + 0x10F1, + 0x10F7, + 0x10FB, + 0x10FD, + 0x1100, + 0x1200, + 0x1249, + 0x124A, + 0x124E, + 0x1250, + 0x1257, + 0x1258, + 0x1259, + 0x125A, + 0x125E, + 0x1260, + 0x1289, + 0x128A, + 0x128E, + 0x1290, + 0x12B1, + 0x12B2, + 0x12B6, + 0x12B8, + 0x12BF, + 0x12C0, + 0x12C1, + 0x12C2, + 0x12C6, + 0x12C8, + 0x12D7, + 0x12D8, + 0x1311, + 0x1312, + 0x1316, + 0x1318, + 0x135B, + 0x135D, + 0x1360, + 0x1380, + 0x1390, + 0x1780, + 0x17A3, + 0x17A5, + 0x17A8, + 0x17A9, + 0x17B4, + 0x17B6, + 0x17CB, + 0x17D2, + 0x17D3, + 0x17D7, + 0x17D8, + 0x17DC, + 0x17DD, + 0x17E0, + 0x17EA, + 0x1C90, + 0x1CBB, + 0x1CBD, + 0x1CC0, + 0x1E00, + 0x1E9A, + 0x1E9E, + 0x1E9F, + 0x1EA0, + 0x1EFA, + 0x1F00, + 0x1F16, + 0x1F18, + 0x1F1E, + 0x1F20, + 0x1F46, + 0x1F48, + 0x1F4E, + 0x1F50, + 0x1F58, + 0x1F59, + 0x1F5A, + 0x1F5B, + 0x1F5C, + 0x1F5D, + 0x1F5E, + 0x1F5F, + 0x1F71, + 0x1F72, + 0x1F73, + 0x1F74, + 0x1F75, + 0x1F76, + 0x1F77, + 0x1F78, + 0x1F79, + 0x1F7A, + 0x1F7B, + 0x1F7C, + 0x1F7D, + 0x1F80, + 0x1FB5, + 0x1FB6, + 0x1FBB, + 0x1FBC, + 0x1FBD, + 0x1FC2, + 0x1FC5, + 0x1FC6, + 0x1FC9, + 0x1FCA, + 0x1FCB, + 0x1FCC, + 0x1FCD, + 0x1FD0, + 0x1FD3, + 0x1FD6, + 0x1FDB, + 0x1FE0, + 0x1FE3, + 0x1FE4, + 0x1FEB, + 0x1FEC, + 0x1FED, + 0x1FF2, + 0x1FF5, + 0x1FF6, + 0x1FF9, + 0x1FFA, + 0x1FFB, + 0x1FFC, + 0x1FFD, + 0x200C, + 0x200E, + 0x2010, + 0x2011, + 0x2019, + 0x201A, + 0x2027, + 0x2028, + 0x2D27, + 0x2D28, + 0x2D2D, + 0x2D2E, + 0x2D80, + 0x2D97, + 0x2DA0, + 0x2DA7, + 0x2DA8, + 0x2DAF, + 0x2DB0, + 0x2DB7, + 0x2DB8, + 0x2DBF, + 0x2DC0, + 0x2DC7, + 0x2DC8, + 0x2DCF, + 0x2DD0, + 0x2DD7, + 0x2DD8, + 0x2DDF, + 0x3005, + 0x3008, + 0x3041, + 0x3097, + 0x3099, + 0x309B, + 0x309D, + 0x309F, + 0x30A0, + 0x30FF, + 0x3105, + 0x312E, + 0x312F, + 0x3130, + 0x31A0, + 0x31C0, + 0x3400, + 0x4DC0, + 0x4E00, + 0x9FFD, + 0xA67F, + 0xA680, + 0xA717, + 0xA720, + 0xA788, + 0xA789, + 0xA78D, + 0xA78E, + 0xA792, + 0xA794, + 0xA7AA, + 0xA7AB, + 0xA7AE, + 0xA7AF, + 0xA7B8, + 0xA7BA, + 0xA7C2, + 0xA7CB, + 0xA9E7, + 0xA9FF, + 0xAA60, + 0xAA77, + 0xAA7A, + 0xAA80, + 0xAB01, + 0xAB07, + 0xAB09, + 0xAB0F, + 0xAB11, + 0xAB17, + 0xAB20, + 0xAB27, + 0xAB28, + 0xAB2F, + 0xAB66, + 0xAB68, + 0xAC00, + 0xD7A4, + 0xFA0E, + 0xFA10, + 0xFA11, + 0xFA12, + 0xFA13, + 0xFA15, + 0xFA1F, + 0xFA20, + 0xFA21, + 0xFA22, + 0xFA23, + 0xFA25, + 0xFA27, + 0xFA2A, + 0x11301, + 0x11302, + 0x11303, + 0x11304, + 0x1133B, + 0x1133D, + 0x16FF0, + 0x16FF2, + 0x1B150, + 0x1B153, + 0x1B164, + 0x1B168, + 0x20000, + 0x2A6DE, + 0x2A700, + 0x2B735, + 0x2B740, + 0x2B81E, + 0x2B820, + 0x2CEA2, + 0x2CEB0, + 0x2EBE1, + 0x30000, + 0x3134B +}; + +# endif /* EBCDIC 037 */ + +# if 'A' == 65 /* ASCII/Latin1 */ + +static const UV UNI_IDENTIFIERSTATUS__RESTRICTED_invlist[] = { /* for ASCII/Latin1 */ + 749, /* Number of elements */ + 148565664, /* Version and data structure type */ + 0, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x27, + 0x28, + 0x2D, + 0x2F, + 0x30, + 0x3B, + 0x41, + 0x5B, + 0x5F, + 0x60, + 0x61, + 0x7B, + 0xB7, + 0xB8, + 0xC0, + 0xD7, + 0xD8, + 0xF7, + 0xF8, + 0x132, + 0x134, + 0x13F, + 0x141, + 0x149, + 0x14A, + 0x17F, + 0x18F, + 0x190, + 0x1A0, + 0x1A2, + 0x1AF, + 0x1B1, + 0x1CD, + 0x1DD, + 0x1DE, + 0x1E4, + 0x1E6, + 0x1F1, + 0x1F4, + 0x1F6, + 0x1F8, + 0x21C, + 0x21E, + 0x220, + 0x226, + 0x234, + 0x259, + 0x25A, + 0x2BB, + 0x2BD, + 0x2EC, + 0x2ED, + 0x300, + 0x305, + 0x306, + 0x30D, + 0x30F, + 0x312, + 0x313, + 0x315, + 0x31B, + 0x31C, + 0x323, + 0x329, + 0x32D, + 0x32F, + 0x330, + 0x332, + 0x335, + 0x336, + 0x338, + 0x33A, + 0x342, + 0x343, + 0x345, + 0x346, + 0x375, + 0x376, + 0x37B, + 0x37E, + 0x386, + 0x387, + 0x388, + 0x38B, + 0x38C, + 0x38D, + 0x38E, + 0x3A2, + 0x3A3, + 0x3CF, + 0x3FC, + 0x460, + 0x48A, + 0x500, + 0x510, + 0x52A, + 0x52E, + 0x530, + 0x531, + 0x557, + 0x559, + 0x55A, + 0x561, + 0x587, + 0x58A, + 0x58B, + 0x5B4, + 0x5B5, + 0x5D0, + 0x5EB, + 0x5EF, + 0x5F5, + 0x620, + 0x640, + 0x641, + 0x656, + 0x660, + 0x66A, + 0x670, + 0x673, + 0x674, + 0x675, + 0x679, + 0x68E, + 0x68F, + 0x6A1, + 0x6A2, + 0x6D4, + 0x6D5, + 0x6D6, + 0x6E5, + 0x6E7, + 0x6EE, + 0x700, + 0x750, + 0x7B2, + 0x8A0, + 0x8AD, + 0x8B2, + 0x8B3, + 0x8B6, + 0x8C8, + 0x901, + 0x94E, + 0x94F, + 0x951, + 0x956, + 0x958, + 0x960, + 0x964, + 0x966, + 0x970, + 0x971, + 0x978, + 0x979, + 0x980, + 0x981, + 0x984, + 0x985, + 0x98D, + 0x98F, + 0x991, + 0x993, + 0x9A9, + 0x9AA, + 0x9B1, + 0x9B2, + 0x9B3, + 0x9B6, + 0x9BA, + 0x9BC, + 0x9C5, + 0x9C7, + 0x9C9, + 0x9CB, + 0x9CF, + 0x9D7, + 0x9D8, + 0x9E0, + 0x9E4, + 0x9E6, + 0x9F2, + 0x9FE, + 0x9FF, + 0xA01, + 0xA04, + 0xA05, + 0xA0B, + 0xA0F, + 0xA11, + 0xA13, + 0xA29, + 0xA2A, + 0xA31, + 0xA32, + 0xA33, + 0xA35, + 0xA36, + 0xA38, + 0xA3A, + 0xA3C, + 0xA3D, + 0xA3E, + 0xA43, + 0xA47, + 0xA49, + 0xA4B, + 0xA4E, + 0xA5C, + 0xA5D, + 0xA66, + 0xA75, + 0xA81, + 0xA84, + 0xA85, + 0xA8E, + 0xA8F, + 0xA92, + 0xA93, + 0xAA9, + 0xAAA, + 0xAB1, + 0xAB2, + 0xAB4, + 0xAB5, + 0xABA, + 0xABC, + 0xAC6, + 0xAC7, + 0xACA, + 0xACB, + 0xACE, + 0xAD0, + 0xAD1, + 0xAE0, + 0xAE4, + 0xAE6, + 0xAF0, + 0xAFA, + 0xB00, + 0xB01, + 0xB04, + 0xB05, + 0xB0D, + 0xB0F, + 0xB11, + 0xB13, + 0xB29, + 0xB2A, + 0xB31, + 0xB32, + 0xB34, + 0xB35, + 0xB3A, + 0xB3C, + 0xB44, + 0xB47, + 0xB49, + 0xB4B, + 0xB4E, + 0xB55, + 0xB58, + 0xB5F, + 0xB62, + 0xB66, + 0xB70, + 0xB71, + 0xB72, + 0xB82, + 0xB84, + 0xB85, + 0xB8B, + 0xB8E, + 0xB91, + 0xB92, + 0xB96, + 0xB99, + 0xB9B, + 0xB9C, + 0xB9D, + 0xB9E, + 0xBA0, + 0xBA3, + 0xBA5, + 0xBA8, + 0xBAB, + 0xBAE, + 0xBBA, + 0xBBE, + 0xBC3, + 0xBC6, + 0xBC9, + 0xBCA, + 0xBCE, + 0xBD0, + 0xBD1, + 0xBD7, + 0xBD8, + 0xBE6, + 0xBF0, + 0xC01, + 0xC0D, + 0xC0E, + 0xC11, + 0xC12, + 0xC29, + 0xC2A, + 0xC34, + 0xC35, + 0xC3A, + 0xC3D, + 0xC45, + 0xC46, + 0xC49, + 0xC4A, + 0xC4E, + 0xC55, + 0xC57, + 0xC60, + 0xC62, + 0xC66, + 0xC70, + 0xC80, + 0xC81, + 0xC82, + 0xC84, + 0xC85, + 0xC8D, + 0xC8E, + 0xC91, + 0xC92, + 0xCA9, + 0xCAA, + 0xCB4, + 0xCB5, + 0xCBA, + 0xCBC, + 0xCC5, + 0xCC6, + 0xCC9, + 0xCCA, + 0xCCE, + 0xCD5, + 0xCD7, + 0xCE0, + 0xCE4, + 0xCE6, + 0xCF0, + 0xCF1, + 0xCF3, + 0xD00, + 0xD01, + 0xD02, + 0xD04, + 0xD05, + 0xD0D, + 0xD0E, + 0xD11, + 0xD12, + 0xD3B, + 0xD3D, + 0xD44, + 0xD46, + 0xD49, + 0xD4A, + 0xD4F, + 0xD54, + 0xD58, + 0xD60, + 0xD62, + 0xD66, + 0xD70, + 0xD7A, + 0xD80, + 0xD82, + 0xD84, + 0xD85, + 0xD8F, + 0xD91, + 0xD97, + 0xD9A, + 0xDA6, + 0xDA7, + 0xDB2, + 0xDB3, + 0xDBC, + 0xDBD, + 0xDBE, + 0xDC0, + 0xDC7, + 0xDCA, + 0xDCB, + 0xDCF, + 0xDD5, + 0xDD6, + 0xDD7, + 0xDD8, + 0xDDF, + 0xDF2, + 0xDF3, + 0xE01, + 0xE33, + 0xE34, + 0xE3B, + 0xE40, + 0xE4F, + 0xE50, + 0xE5A, + 0xE81, + 0xE83, + 0xE84, + 0xE85, + 0xE86, + 0xE8B, + 0xE8C, + 0xEA4, + 0xEA5, + 0xEA6, + 0xEA7, + 0xEB3, + 0xEB4, + 0xEBE, + 0xEC0, + 0xEC5, + 0xEC6, + 0xEC7, + 0xEC8, + 0xECE, + 0xED0, + 0xEDA, + 0xEDE, + 0xEE0, + 0xF00, + 0xF01, + 0xF0B, + 0xF0C, + 0xF20, + 0xF2A, + 0xF35, + 0xF36, + 0xF37, + 0xF38, + 0xF3E, + 0xF43, + 0xF44, + 0xF48, + 0xF49, + 0xF4D, + 0xF4E, + 0xF52, + 0xF53, + 0xF57, + 0xF58, + 0xF5C, + 0xF5D, + 0xF69, + 0xF6A, + 0xF6D, + 0xF71, + 0xF73, + 0xF74, + 0xF75, + 0xF7A, + 0xF81, + 0xF82, + 0xF85, + 0xF86, + 0xF93, + 0xF94, + 0xF98, + 0xF99, + 0xF9D, + 0xF9E, + 0xFA2, + 0xFA3, + 0xFA7, + 0xFA8, + 0xFAC, + 0xFAD, + 0xFB9, + 0xFBA, + 0xFBD, + 0xFC6, + 0xFC7, + 0x1000, + 0x104A, + 0x1050, + 0x109E, + 0x10C7, + 0x10C8, + 0x10CD, + 0x10CE, + 0x10D0, + 0x10F1, + 0x10F7, + 0x10FB, + 0x10FD, + 0x1100, + 0x1200, + 0x1249, + 0x124A, + 0x124E, + 0x1250, + 0x1257, + 0x1258, + 0x1259, + 0x125A, + 0x125E, + 0x1260, + 0x1289, + 0x128A, + 0x128E, + 0x1290, + 0x12B1, + 0x12B2, + 0x12B6, + 0x12B8, + 0x12BF, + 0x12C0, + 0x12C1, + 0x12C2, + 0x12C6, + 0x12C8, + 0x12D7, + 0x12D8, + 0x1311, + 0x1312, + 0x1316, + 0x1318, + 0x135B, + 0x135D, + 0x1360, + 0x1380, + 0x1390, + 0x1780, + 0x17A3, + 0x17A5, + 0x17A8, + 0x17A9, + 0x17B4, + 0x17B6, + 0x17CB, + 0x17D2, + 0x17D3, + 0x17D7, + 0x17D8, + 0x17DC, + 0x17DD, + 0x17E0, + 0x17EA, + 0x1C90, + 0x1CBB, + 0x1CBD, + 0x1CC0, + 0x1E00, + 0x1E9A, + 0x1E9E, + 0x1E9F, + 0x1EA0, + 0x1EFA, + 0x1F00, + 0x1F16, + 0x1F18, + 0x1F1E, + 0x1F20, + 0x1F46, + 0x1F48, + 0x1F4E, + 0x1F50, + 0x1F58, + 0x1F59, + 0x1F5A, + 0x1F5B, + 0x1F5C, + 0x1F5D, + 0x1F5E, + 0x1F5F, + 0x1F71, + 0x1F72, + 0x1F73, + 0x1F74, + 0x1F75, + 0x1F76, + 0x1F77, + 0x1F78, + 0x1F79, + 0x1F7A, + 0x1F7B, + 0x1F7C, + 0x1F7D, + 0x1F80, + 0x1FB5, + 0x1FB6, + 0x1FBB, + 0x1FBC, + 0x1FBD, + 0x1FC2, + 0x1FC5, + 0x1FC6, + 0x1FC9, + 0x1FCA, + 0x1FCB, + 0x1FCC, + 0x1FCD, + 0x1FD0, + 0x1FD3, + 0x1FD6, + 0x1FDB, + 0x1FE0, + 0x1FE3, + 0x1FE4, + 0x1FEB, + 0x1FEC, + 0x1FED, + 0x1FF2, + 0x1FF5, + 0x1FF6, + 0x1FF9, + 0x1FFA, + 0x1FFB, + 0x1FFC, + 0x1FFD, + 0x200C, + 0x200E, + 0x2010, + 0x2011, + 0x2019, + 0x201A, + 0x2027, + 0x2028, + 0x2D27, + 0x2D28, + 0x2D2D, + 0x2D2E, + 0x2D80, + 0x2D97, + 0x2DA0, + 0x2DA7, + 0x2DA8, + 0x2DAF, + 0x2DB0, + 0x2DB7, + 0x2DB8, + 0x2DBF, + 0x2DC0, + 0x2DC7, + 0x2DC8, + 0x2DCF, + 0x2DD0, + 0x2DD7, + 0x2DD8, + 0x2DDF, + 0x3005, + 0x3008, + 0x3041, + 0x3097, + 0x3099, + 0x309B, + 0x309D, + 0x309F, + 0x30A0, + 0x30FF, + 0x3105, + 0x312E, + 0x312F, + 0x3130, + 0x31A0, + 0x31C0, + 0x3400, + 0x4DC0, + 0x4E00, + 0x9FFD, + 0xA67F, + 0xA680, + 0xA717, + 0xA720, + 0xA788, + 0xA789, + 0xA78D, + 0xA78E, + 0xA792, + 0xA794, + 0xA7AA, + 0xA7AB, + 0xA7AE, + 0xA7AF, + 0xA7B8, + 0xA7BA, + 0xA7C2, + 0xA7CB, + 0xA9E7, + 0xA9FF, + 0xAA60, + 0xAA77, + 0xAA7A, + 0xAA80, + 0xAB01, + 0xAB07, + 0xAB09, + 0xAB0F, + 0xAB11, + 0xAB17, + 0xAB20, + 0xAB27, + 0xAB28, + 0xAB2F, + 0xAB66, + 0xAB68, + 0xAC00, + 0xD7A4, + 0xFA0E, + 0xFA10, + 0xFA11, + 0xFA12, + 0xFA13, + 0xFA15, + 0xFA1F, + 0xFA20, + 0xFA21, + 0xFA22, + 0xFA23, + 0xFA25, + 0xFA27, + 0xFA2A, + 0x11301, + 0x11302, + 0x11303, + 0x11304, + 0x1133B, + 0x1133D, + 0x16FF0, + 0x16FF2, + 0x1B150, + 0x1B153, + 0x1B164, + 0x1B168, + 0x20000, + 0x2A6DE, + 0x2A700, + 0x2B735, + 0x2B740, + 0x2B81E, + 0x2B820, + 0x2CEA2, + 0x2CEB0, + 0x2EBE1, + 0x30000, + 0x3134B +}; + +# endif /* ASCII/Latin1 */ + +# if 'A' == 193 /* EBCDIC 1047 */ \ + && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ + && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ + && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 + +static const UV UNI_IDENTIFIERSTATUS__RESTRICTED_invlist[] = { /* for EBCDIC 1047 */ + 783, /* Number of elements */ + 148565664, /* Version and data structure type */ + 0, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x42, + 0x4A, + 0x4B, + 0x4C, + 0x51, + 0x5A, + 0x60, + 0x61, + 0x62, + 0x6A, + 0x6D, + 0x6E, + 0x70, + 0x79, + 0x7A, + 0x7B, + 0x7D, + 0x7E, + 0x80, + 0x8A, + 0x8C, + 0x8F, + 0x91, + 0x9A, + 0x9C, + 0x9D, + 0x9E, + 0x9F, + 0xA2, + 0xAA, + 0xAC, + 0xAD, + 0xAE, + 0xAF, + 0xB3, + 0xB4, + 0xBA, + 0xBB, + 0xC1, + 0xCA, + 0xCB, + 0xD0, + 0xD1, + 0xDA, + 0xDB, + 0xE0, + 0xE2, + 0xEA, + 0xEB, + 0xFA, + 0xFB, + 0xFF, + 0x100, + 0x132, + 0x134, + 0x13F, + 0x141, + 0x149, + 0x14A, + 0x17F, + 0x18F, + 0x190, + 0x1A0, + 0x1A2, + 0x1AF, + 0x1B1, + 0x1CD, + 0x1DD, + 0x1DE, + 0x1E4, + 0x1E6, + 0x1F1, + 0x1F4, + 0x1F6, + 0x1F8, + 0x21C, + 0x21E, + 0x220, + 0x226, + 0x234, + 0x259, + 0x25A, + 0x2BB, + 0x2BD, + 0x2EC, + 0x2ED, + 0x300, + 0x305, + 0x306, + 0x30D, + 0x30F, + 0x312, + 0x313, + 0x315, + 0x31B, + 0x31C, + 0x323, + 0x329, + 0x32D, + 0x32F, + 0x330, + 0x332, + 0x335, + 0x336, + 0x338, + 0x33A, + 0x342, + 0x343, + 0x345, + 0x346, + 0x375, + 0x376, + 0x37B, + 0x37E, + 0x386, + 0x387, + 0x388, + 0x38B, + 0x38C, + 0x38D, + 0x38E, + 0x3A2, + 0x3A3, + 0x3CF, + 0x3FC, + 0x460, + 0x48A, + 0x500, + 0x510, + 0x52A, + 0x52E, + 0x530, + 0x531, + 0x557, + 0x559, + 0x55A, + 0x561, + 0x587, + 0x58A, + 0x58B, + 0x5B4, + 0x5B5, + 0x5D0, + 0x5EB, + 0x5EF, + 0x5F5, + 0x620, + 0x640, + 0x641, + 0x656, + 0x660, + 0x66A, + 0x670, + 0x673, + 0x674, + 0x675, + 0x679, + 0x68E, + 0x68F, + 0x6A1, + 0x6A2, + 0x6D4, + 0x6D5, + 0x6D6, + 0x6E5, + 0x6E7, + 0x6EE, + 0x700, + 0x750, + 0x7B2, + 0x8A0, + 0x8AD, + 0x8B2, + 0x8B3, + 0x8B6, + 0x8C8, + 0x901, + 0x94E, + 0x94F, + 0x951, + 0x956, + 0x958, + 0x960, + 0x964, + 0x966, + 0x970, + 0x971, + 0x978, + 0x979, + 0x980, + 0x981, + 0x984, + 0x985, + 0x98D, + 0x98F, + 0x991, + 0x993, + 0x9A9, + 0x9AA, + 0x9B1, + 0x9B2, + 0x9B3, + 0x9B6, + 0x9BA, + 0x9BC, + 0x9C5, + 0x9C7, + 0x9C9, + 0x9CB, + 0x9CF, + 0x9D7, + 0x9D8, + 0x9E0, + 0x9E4, + 0x9E6, + 0x9F2, + 0x9FE, + 0x9FF, + 0xA01, + 0xA04, + 0xA05, + 0xA0B, + 0xA0F, + 0xA11, + 0xA13, + 0xA29, + 0xA2A, + 0xA31, + 0xA32, + 0xA33, + 0xA35, + 0xA36, + 0xA38, + 0xA3A, + 0xA3C, + 0xA3D, + 0xA3E, + 0xA43, + 0xA47, + 0xA49, + 0xA4B, + 0xA4E, + 0xA5C, + 0xA5D, + 0xA66, + 0xA75, + 0xA81, + 0xA84, + 0xA85, + 0xA8E, + 0xA8F, + 0xA92, + 0xA93, + 0xAA9, + 0xAAA, + 0xAB1, + 0xAB2, + 0xAB4, + 0xAB5, + 0xABA, + 0xABC, + 0xAC6, + 0xAC7, + 0xACA, + 0xACB, + 0xACE, + 0xAD0, + 0xAD1, + 0xAE0, + 0xAE4, + 0xAE6, + 0xAF0, + 0xAFA, + 0xB00, + 0xB01, + 0xB04, + 0xB05, + 0xB0D, + 0xB0F, + 0xB11, + 0xB13, + 0xB29, + 0xB2A, + 0xB31, + 0xB32, + 0xB34, + 0xB35, + 0xB3A, + 0xB3C, + 0xB44, + 0xB47, + 0xB49, + 0xB4B, + 0xB4E, + 0xB55, + 0xB58, + 0xB5F, + 0xB62, + 0xB66, + 0xB70, + 0xB71, + 0xB72, + 0xB82, + 0xB84, + 0xB85, + 0xB8B, + 0xB8E, + 0xB91, + 0xB92, + 0xB96, + 0xB99, + 0xB9B, + 0xB9C, + 0xB9D, + 0xB9E, + 0xBA0, + 0xBA3, + 0xBA5, + 0xBA8, + 0xBAB, + 0xBAE, + 0xBBA, + 0xBBE, + 0xBC3, + 0xBC6, + 0xBC9, + 0xBCA, + 0xBCE, + 0xBD0, + 0xBD1, + 0xBD7, + 0xBD8, + 0xBE6, + 0xBF0, + 0xC01, + 0xC0D, + 0xC0E, + 0xC11, + 0xC12, + 0xC29, + 0xC2A, + 0xC34, + 0xC35, + 0xC3A, + 0xC3D, + 0xC45, + 0xC46, + 0xC49, + 0xC4A, + 0xC4E, + 0xC55, + 0xC57, + 0xC60, + 0xC62, + 0xC66, + 0xC70, + 0xC80, + 0xC81, + 0xC82, + 0xC84, + 0xC85, + 0xC8D, + 0xC8E, + 0xC91, + 0xC92, + 0xCA9, + 0xCAA, + 0xCB4, + 0xCB5, + 0xCBA, + 0xCBC, + 0xCC5, + 0xCC6, + 0xCC9, + 0xCCA, + 0xCCE, + 0xCD5, + 0xCD7, + 0xCE0, + 0xCE4, + 0xCE6, + 0xCF0, + 0xCF1, + 0xCF3, + 0xD00, + 0xD01, + 0xD02, + 0xD04, + 0xD05, + 0xD0D, + 0xD0E, + 0xD11, + 0xD12, + 0xD3B, + 0xD3D, + 0xD44, + 0xD46, + 0xD49, + 0xD4A, + 0xD4F, + 0xD54, + 0xD58, + 0xD60, + 0xD62, + 0xD66, + 0xD70, + 0xD7A, + 0xD80, + 0xD82, + 0xD84, + 0xD85, + 0xD8F, + 0xD91, + 0xD97, + 0xD9A, + 0xDA6, + 0xDA7, + 0xDB2, + 0xDB3, + 0xDBC, + 0xDBD, + 0xDBE, + 0xDC0, + 0xDC7, + 0xDCA, + 0xDCB, + 0xDCF, + 0xDD5, + 0xDD6, + 0xDD7, + 0xDD8, + 0xDDF, + 0xDF2, + 0xDF3, + 0xE01, + 0xE33, + 0xE34, + 0xE3B, + 0xE40, + 0xE4F, + 0xE50, + 0xE5A, + 0xE81, + 0xE83, + 0xE84, + 0xE85, + 0xE86, + 0xE8B, + 0xE8C, + 0xEA4, + 0xEA5, + 0xEA6, + 0xEA7, + 0xEB3, + 0xEB4, + 0xEBE, + 0xEC0, + 0xEC5, + 0xEC6, + 0xEC7, + 0xEC8, + 0xECE, + 0xED0, + 0xEDA, + 0xEDE, + 0xEE0, + 0xF00, + 0xF01, + 0xF0B, + 0xF0C, + 0xF20, + 0xF2A, + 0xF35, + 0xF36, + 0xF37, + 0xF38, + 0xF3E, + 0xF43, + 0xF44, + 0xF48, + 0xF49, + 0xF4D, + 0xF4E, + 0xF52, + 0xF53, + 0xF57, + 0xF58, + 0xF5C, + 0xF5D, + 0xF69, + 0xF6A, + 0xF6D, + 0xF71, + 0xF73, + 0xF74, + 0xF75, + 0xF7A, + 0xF81, + 0xF82, + 0xF85, + 0xF86, + 0xF93, + 0xF94, + 0xF98, + 0xF99, + 0xF9D, + 0xF9E, + 0xFA2, + 0xFA3, + 0xFA7, + 0xFA8, + 0xFAC, + 0xFAD, + 0xFB9, + 0xFBA, + 0xFBD, + 0xFC6, + 0xFC7, + 0x1000, + 0x104A, + 0x1050, + 0x109E, + 0x10C7, + 0x10C8, + 0x10CD, + 0x10CE, + 0x10D0, + 0x10F1, + 0x10F7, + 0x10FB, + 0x10FD, + 0x1100, + 0x1200, + 0x1249, + 0x124A, + 0x124E, + 0x1250, + 0x1257, + 0x1258, + 0x1259, + 0x125A, + 0x125E, + 0x1260, + 0x1289, + 0x128A, + 0x128E, + 0x1290, + 0x12B1, + 0x12B2, + 0x12B6, + 0x12B8, + 0x12BF, + 0x12C0, + 0x12C1, + 0x12C2, + 0x12C6, + 0x12C8, + 0x12D7, + 0x12D8, + 0x1311, + 0x1312, + 0x1316, + 0x1318, + 0x135B, + 0x135D, + 0x1360, + 0x1380, + 0x1390, + 0x1780, + 0x17A3, + 0x17A5, + 0x17A8, + 0x17A9, + 0x17B4, + 0x17B6, + 0x17CB, + 0x17D2, + 0x17D3, + 0x17D7, + 0x17D8, + 0x17DC, + 0x17DD, + 0x17E0, + 0x17EA, + 0x1C90, + 0x1CBB, + 0x1CBD, + 0x1CC0, + 0x1E00, + 0x1E9A, + 0x1E9E, + 0x1E9F, + 0x1EA0, + 0x1EFA, + 0x1F00, + 0x1F16, + 0x1F18, + 0x1F1E, + 0x1F20, + 0x1F46, + 0x1F48, + 0x1F4E, + 0x1F50, + 0x1F58, + 0x1F59, + 0x1F5A, + 0x1F5B, + 0x1F5C, + 0x1F5D, + 0x1F5E, + 0x1F5F, + 0x1F71, + 0x1F72, + 0x1F73, + 0x1F74, + 0x1F75, + 0x1F76, + 0x1F77, + 0x1F78, + 0x1F79, + 0x1F7A, + 0x1F7B, + 0x1F7C, + 0x1F7D, + 0x1F80, + 0x1FB5, + 0x1FB6, + 0x1FBB, + 0x1FBC, + 0x1FBD, + 0x1FC2, + 0x1FC5, + 0x1FC6, + 0x1FC9, + 0x1FCA, + 0x1FCB, + 0x1FCC, + 0x1FCD, + 0x1FD0, + 0x1FD3, + 0x1FD6, + 0x1FDB, + 0x1FE0, + 0x1FE3, + 0x1FE4, + 0x1FEB, + 0x1FEC, + 0x1FED, + 0x1FF2, + 0x1FF5, + 0x1FF6, + 0x1FF9, + 0x1FFA, + 0x1FFB, + 0x1FFC, + 0x1FFD, + 0x200C, + 0x200E, + 0x2010, + 0x2011, + 0x2019, + 0x201A, + 0x2027, + 0x2028, + 0x2D27, + 0x2D28, + 0x2D2D, + 0x2D2E, + 0x2D80, + 0x2D97, + 0x2DA0, + 0x2DA7, + 0x2DA8, + 0x2DAF, + 0x2DB0, + 0x2DB7, + 0x2DB8, + 0x2DBF, + 0x2DC0, + 0x2DC7, + 0x2DC8, + 0x2DCF, + 0x2DD0, + 0x2DD7, + 0x2DD8, + 0x2DDF, + 0x3005, + 0x3008, + 0x3041, + 0x3097, + 0x3099, + 0x309B, + 0x309D, + 0x309F, + 0x30A0, + 0x30FF, + 0x3105, + 0x312E, + 0x312F, + 0x3130, + 0x31A0, + 0x31C0, + 0x3400, + 0x4DC0, + 0x4E00, + 0x9FFD, + 0xA67F, + 0xA680, + 0xA717, + 0xA720, + 0xA788, + 0xA789, + 0xA78D, + 0xA78E, + 0xA792, + 0xA794, + 0xA7AA, + 0xA7AB, + 0xA7AE, + 0xA7AF, + 0xA7B8, + 0xA7BA, + 0xA7C2, + 0xA7CB, + 0xA9E7, + 0xA9FF, + 0xAA60, + 0xAA77, + 0xAA7A, + 0xAA80, + 0xAB01, + 0xAB07, + 0xAB09, + 0xAB0F, + 0xAB11, + 0xAB17, + 0xAB20, + 0xAB27, + 0xAB28, + 0xAB2F, + 0xAB66, + 0xAB68, + 0xAC00, + 0xD7A4, + 0xFA0E, + 0xFA10, + 0xFA11, + 0xFA12, + 0xFA13, + 0xFA15, + 0xFA1F, + 0xFA20, + 0xFA21, + 0xFA22, + 0xFA23, + 0xFA25, + 0xFA27, + 0xFA2A, + 0x11301, + 0x11302, + 0x11303, + 0x11304, + 0x1133B, + 0x1133D, + 0x16FF0, + 0x16FF2, + 0x1B150, + 0x1B153, + 0x1B164, + 0x1B168, + 0x20000, + 0x2A6DE, + 0x2A700, + 0x2B735, + 0x2B740, + 0x2B81E, + 0x2B820, + 0x2CEA2, + 0x2CEB0, + 0x2EBE1, + 0x30000, + 0x3134B +}; + +# endif /* EBCDIC 1047 */ + +# if 'A' == 193 /* EBCDIC 037 */ \ + && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ + && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ + && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 + +static const UV UNI_IDENTIFIERSTATUS__RESTRICTED_invlist[] = { /* for EBCDIC 037 */ + 779, /* Number of elements */ + 148565664, /* Version and data structure type */ + 0, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x42, + 0x4A, + 0x4B, + 0x4C, + 0x51, + 0x5A, + 0x60, + 0x61, + 0x62, + 0x6A, + 0x6D, + 0x6E, + 0x70, + 0x79, + 0x7A, + 0x7B, + 0x7D, + 0x7E, + 0x80, + 0x8A, + 0x8C, + 0x8F, + 0x91, + 0x9A, + 0x9C, + 0x9D, + 0x9E, + 0x9F, + 0xA2, + 0xAA, + 0xAC, + 0xAF, + 0xB3, + 0xB4, + 0xC1, + 0xCA, + 0xCB, + 0xD0, + 0xD1, + 0xDA, + 0xDB, + 0xE0, + 0xE2, + 0xEA, + 0xEB, + 0xFA, + 0xFB, + 0xFF, + 0x100, + 0x132, + 0x134, + 0x13F, + 0x141, + 0x149, + 0x14A, + 0x17F, + 0x18F, + 0x190, + 0x1A0, + 0x1A2, + 0x1AF, + 0x1B1, + 0x1CD, + 0x1DD, + 0x1DE, + 0x1E4, + 0x1E6, + 0x1F1, + 0x1F4, + 0x1F6, + 0x1F8, + 0x21C, + 0x21E, + 0x220, + 0x226, + 0x234, + 0x259, + 0x25A, + 0x2BB, + 0x2BD, + 0x2EC, + 0x2ED, + 0x300, + 0x305, + 0x306, + 0x30D, + 0x30F, + 0x312, + 0x313, + 0x315, + 0x31B, + 0x31C, + 0x323, + 0x329, + 0x32D, + 0x32F, + 0x330, + 0x332, + 0x335, + 0x336, + 0x338, + 0x33A, + 0x342, + 0x343, + 0x345, + 0x346, + 0x375, + 0x376, + 0x37B, + 0x37E, + 0x386, + 0x387, + 0x388, + 0x38B, + 0x38C, + 0x38D, + 0x38E, + 0x3A2, + 0x3A3, + 0x3CF, + 0x3FC, + 0x460, + 0x48A, + 0x500, + 0x510, + 0x52A, + 0x52E, + 0x530, + 0x531, + 0x557, + 0x559, + 0x55A, + 0x561, + 0x587, + 0x58A, + 0x58B, + 0x5B4, + 0x5B5, + 0x5D0, + 0x5EB, + 0x5EF, + 0x5F5, + 0x620, + 0x640, + 0x641, + 0x656, + 0x660, + 0x66A, + 0x670, + 0x673, + 0x674, + 0x675, + 0x679, + 0x68E, + 0x68F, + 0x6A1, + 0x6A2, + 0x6D4, + 0x6D5, + 0x6D6, + 0x6E5, + 0x6E7, + 0x6EE, + 0x700, + 0x750, + 0x7B2, + 0x8A0, + 0x8AD, + 0x8B2, + 0x8B3, + 0x8B6, + 0x8C8, + 0x901, + 0x94E, + 0x94F, + 0x951, + 0x956, + 0x958, + 0x960, + 0x964, + 0x966, + 0x970, + 0x971, + 0x978, + 0x979, + 0x980, + 0x981, + 0x984, + 0x985, + 0x98D, + 0x98F, + 0x991, + 0x993, + 0x9A9, + 0x9AA, + 0x9B1, + 0x9B2, + 0x9B3, + 0x9B6, + 0x9BA, + 0x9BC, + 0x9C5, + 0x9C7, + 0x9C9, + 0x9CB, + 0x9CF, + 0x9D7, + 0x9D8, + 0x9E0, + 0x9E4, + 0x9E6, + 0x9F2, + 0x9FE, + 0x9FF, + 0xA01, + 0xA04, + 0xA05, + 0xA0B, + 0xA0F, + 0xA11, + 0xA13, + 0xA29, + 0xA2A, + 0xA31, + 0xA32, + 0xA33, + 0xA35, + 0xA36, + 0xA38, + 0xA3A, + 0xA3C, + 0xA3D, + 0xA3E, + 0xA43, + 0xA47, + 0xA49, + 0xA4B, + 0xA4E, + 0xA5C, + 0xA5D, + 0xA66, + 0xA75, + 0xA81, + 0xA84, + 0xA85, + 0xA8E, + 0xA8F, + 0xA92, + 0xA93, + 0xAA9, + 0xAAA, + 0xAB1, + 0xAB2, + 0xAB4, + 0xAB5, + 0xABA, + 0xABC, + 0xAC6, + 0xAC7, + 0xACA, + 0xACB, + 0xACE, + 0xAD0, + 0xAD1, + 0xAE0, + 0xAE4, + 0xAE6, + 0xAF0, + 0xAFA, + 0xB00, + 0xB01, + 0xB04, + 0xB05, + 0xB0D, + 0xB0F, + 0xB11, + 0xB13, + 0xB29, + 0xB2A, + 0xB31, + 0xB32, + 0xB34, + 0xB35, + 0xB3A, + 0xB3C, + 0xB44, + 0xB47, + 0xB49, + 0xB4B, + 0xB4E, + 0xB55, + 0xB58, + 0xB5F, + 0xB62, + 0xB66, + 0xB70, + 0xB71, + 0xB72, + 0xB82, + 0xB84, + 0xB85, + 0xB8B, + 0xB8E, + 0xB91, + 0xB92, + 0xB96, + 0xB99, + 0xB9B, + 0xB9C, + 0xB9D, + 0xB9E, + 0xBA0, + 0xBA3, + 0xBA5, + 0xBA8, + 0xBAB, + 0xBAE, + 0xBBA, + 0xBBE, + 0xBC3, + 0xBC6, + 0xBC9, + 0xBCA, + 0xBCE, + 0xBD0, + 0xBD1, + 0xBD7, + 0xBD8, + 0xBE6, + 0xBF0, + 0xC01, + 0xC0D, + 0xC0E, + 0xC11, + 0xC12, + 0xC29, + 0xC2A, + 0xC34, + 0xC35, + 0xC3A, + 0xC3D, + 0xC45, + 0xC46, + 0xC49, + 0xC4A, + 0xC4E, + 0xC55, + 0xC57, + 0xC60, + 0xC62, + 0xC66, + 0xC70, + 0xC80, + 0xC81, + 0xC82, + 0xC84, + 0xC85, + 0xC8D, + 0xC8E, + 0xC91, + 0xC92, + 0xCA9, + 0xCAA, + 0xCB4, + 0xCB5, + 0xCBA, + 0xCBC, + 0xCC5, + 0xCC6, + 0xCC9, + 0xCCA, + 0xCCE, + 0xCD5, + 0xCD7, + 0xCE0, + 0xCE4, + 0xCE6, + 0xCF0, + 0xCF1, + 0xCF3, + 0xD00, + 0xD01, + 0xD02, + 0xD04, + 0xD05, + 0xD0D, + 0xD0E, + 0xD11, + 0xD12, + 0xD3B, + 0xD3D, + 0xD44, + 0xD46, + 0xD49, + 0xD4A, + 0xD4F, + 0xD54, + 0xD58, + 0xD60, + 0xD62, + 0xD66, + 0xD70, + 0xD7A, + 0xD80, + 0xD82, + 0xD84, + 0xD85, + 0xD8F, + 0xD91, + 0xD97, + 0xD9A, + 0xDA6, + 0xDA7, + 0xDB2, + 0xDB3, + 0xDBC, + 0xDBD, + 0xDBE, + 0xDC0, + 0xDC7, + 0xDCA, + 0xDCB, + 0xDCF, + 0xDD5, + 0xDD6, + 0xDD7, + 0xDD8, + 0xDDF, + 0xDF2, + 0xDF3, + 0xE01, + 0xE33, + 0xE34, + 0xE3B, + 0xE40, + 0xE4F, + 0xE50, + 0xE5A, + 0xE81, + 0xE83, + 0xE84, + 0xE85, + 0xE86, + 0xE8B, + 0xE8C, + 0xEA4, + 0xEA5, + 0xEA6, + 0xEA7, + 0xEB3, + 0xEB4, + 0xEBE, + 0xEC0, + 0xEC5, + 0xEC6, + 0xEC7, + 0xEC8, + 0xECE, + 0xED0, + 0xEDA, + 0xEDE, + 0xEE0, + 0xF00, + 0xF01, + 0xF0B, + 0xF0C, + 0xF20, + 0xF2A, + 0xF35, + 0xF36, + 0xF37, + 0xF38, + 0xF3E, + 0xF43, + 0xF44, + 0xF48, + 0xF49, + 0xF4D, + 0xF4E, + 0xF52, + 0xF53, + 0xF57, + 0xF58, + 0xF5C, + 0xF5D, + 0xF69, + 0xF6A, + 0xF6D, + 0xF71, + 0xF73, + 0xF74, + 0xF75, + 0xF7A, + 0xF81, + 0xF82, + 0xF85, + 0xF86, + 0xF93, + 0xF94, + 0xF98, + 0xF99, + 0xF9D, + 0xF9E, + 0xFA2, + 0xFA3, + 0xFA7, + 0xFA8, + 0xFAC, + 0xFAD, + 0xFB9, + 0xFBA, + 0xFBD, + 0xFC6, + 0xFC7, + 0x1000, + 0x104A, + 0x1050, + 0x109E, + 0x10C7, + 0x10C8, + 0x10CD, + 0x10CE, + 0x10D0, + 0x10F1, + 0x10F7, + 0x10FB, + 0x10FD, + 0x1100, + 0x1200, + 0x1249, + 0x124A, + 0x124E, + 0x1250, + 0x1257, + 0x1258, + 0x1259, + 0x125A, + 0x125E, + 0x1260, + 0x1289, + 0x128A, + 0x128E, + 0x1290, + 0x12B1, + 0x12B2, + 0x12B6, + 0x12B8, + 0x12BF, + 0x12C0, + 0x12C1, + 0x12C2, + 0x12C6, + 0x12C8, + 0x12D7, + 0x12D8, + 0x1311, + 0x1312, + 0x1316, + 0x1318, + 0x135B, + 0x135D, + 0x1360, + 0x1380, + 0x1390, + 0x1780, + 0x17A3, + 0x17A5, + 0x17A8, + 0x17A9, + 0x17B4, + 0x17B6, + 0x17CB, + 0x17D2, + 0x17D3, + 0x17D7, + 0x17D8, + 0x17DC, + 0x17DD, + 0x17E0, + 0x17EA, + 0x1C90, + 0x1CBB, + 0x1CBD, + 0x1CC0, + 0x1E00, + 0x1E9A, + 0x1E9E, + 0x1E9F, + 0x1EA0, + 0x1EFA, + 0x1F00, + 0x1F16, + 0x1F18, + 0x1F1E, + 0x1F20, + 0x1F46, + 0x1F48, + 0x1F4E, + 0x1F50, + 0x1F58, + 0x1F59, + 0x1F5A, + 0x1F5B, + 0x1F5C, + 0x1F5D, + 0x1F5E, + 0x1F5F, + 0x1F71, + 0x1F72, + 0x1F73, + 0x1F74, + 0x1F75, + 0x1F76, + 0x1F77, + 0x1F78, + 0x1F79, + 0x1F7A, + 0x1F7B, + 0x1F7C, + 0x1F7D, + 0x1F80, + 0x1FB5, + 0x1FB6, + 0x1FBB, + 0x1FBC, + 0x1FBD, + 0x1FC2, + 0x1FC5, + 0x1FC6, + 0x1FC9, + 0x1FCA, + 0x1FCB, + 0x1FCC, + 0x1FCD, + 0x1FD0, + 0x1FD3, + 0x1FD6, + 0x1FDB, + 0x1FE0, + 0x1FE3, + 0x1FE4, + 0x1FEB, + 0x1FEC, + 0x1FED, + 0x1FF2, + 0x1FF5, + 0x1FF6, + 0x1FF9, + 0x1FFA, + 0x1FFB, + 0x1FFC, + 0x1FFD, + 0x200C, + 0x200E, + 0x2010, + 0x2011, + 0x2019, + 0x201A, + 0x2027, + 0x2028, + 0x2D27, + 0x2D28, + 0x2D2D, + 0x2D2E, + 0x2D80, + 0x2D97, + 0x2DA0, + 0x2DA7, + 0x2DA8, + 0x2DAF, + 0x2DB0, + 0x2DB7, + 0x2DB8, + 0x2DBF, + 0x2DC0, + 0x2DC7, + 0x2DC8, + 0x2DCF, + 0x2DD0, + 0x2DD7, + 0x2DD8, + 0x2DDF, + 0x3005, + 0x3008, + 0x3041, + 0x3097, + 0x3099, + 0x309B, + 0x309D, + 0x309F, + 0x30A0, + 0x30FF, + 0x3105, + 0x312E, + 0x312F, + 0x3130, + 0x31A0, + 0x31C0, + 0x3400, + 0x4DC0, + 0x4E00, + 0x9FFD, + 0xA67F, + 0xA680, + 0xA717, + 0xA720, + 0xA788, + 0xA789, + 0xA78D, + 0xA78E, + 0xA792, + 0xA794, + 0xA7AA, + 0xA7AB, + 0xA7AE, + 0xA7AF, + 0xA7B8, + 0xA7BA, + 0xA7C2, + 0xA7CB, + 0xA9E7, + 0xA9FF, + 0xAA60, + 0xAA77, + 0xAA7A, + 0xAA80, + 0xAB01, + 0xAB07, + 0xAB09, + 0xAB0F, + 0xAB11, + 0xAB17, + 0xAB20, + 0xAB27, + 0xAB28, + 0xAB2F, + 0xAB66, + 0xAB68, + 0xAC00, + 0xD7A4, + 0xFA0E, + 0xFA10, + 0xFA11, + 0xFA12, + 0xFA13, + 0xFA15, + 0xFA1F, + 0xFA20, + 0xFA21, + 0xFA22, + 0xFA23, + 0xFA25, + 0xFA27, + 0xFA2A, + 0x11301, + 0x11302, + 0x11303, + 0x11304, + 0x1133B, + 0x1133D, + 0x16FF0, + 0x16FF2, + 0x1B150, + 0x1B153, + 0x1B164, + 0x1B168, + 0x20000, + 0x2A6DE, + 0x2A700, + 0x2B735, + 0x2B740, + 0x2B81E, + 0x2B820, + 0x2CEA2, + 0x2CEB0, + 0x2EBE1, + 0x30000, + 0x3134B +}; + +# endif /* EBCDIC 037 */ + +# if 'A' == 65 /* ASCII/Latin1 */ + +static const UV UNI_IDENTIFIERTYPE__DEFAULTIGNORABLE_invlist[] = { /* for ASCII/Latin1 */ + 39, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0xAD, + 0xAE, + 0x34F, + 0x350, + 0x61C, + 0x61D, + 0x115F, + 0x1161, + 0x17B4, + 0x17B6, + 0x180B, + 0x180F, + 0x200B, + 0x200C, + 0x200E, + 0x2010, + 0x202A, + 0x202F, + 0x2060, + 0x2065, + 0x2066, + 0x206A, + 0x3164, + 0x3165, + 0xFE00, + 0xFE10, + 0xFEFF, + 0xFF00, + 0xFFA0, + 0xFFA1, + 0x1BCA0, + 0x1BCA4, + 0x1D173, + 0x1D17B, + 0xE0020, + 0xE0080, + 0xE0100, + 0xE01F0 +}; + +# endif /* ASCII/Latin1 */ + +# if 'A' == 193 /* EBCDIC 1047 */ \ + && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ + && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ + && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 + +static const UV UNI_IDENTIFIERTYPE__DEFAULTIGNORABLE_invlist[] = { /* for EBCDIC 1047 */ + 39, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0xCA, + 0xCB, + 0x34F, + 0x350, + 0x61C, + 0x61D, + 0x115F, + 0x1161, + 0x17B4, + 0x17B6, + 0x180B, + 0x180F, + 0x200B, + 0x200C, + 0x200E, + 0x2010, + 0x202A, + 0x202F, + 0x2060, + 0x2065, + 0x2066, + 0x206A, + 0x3164, + 0x3165, + 0xFE00, + 0xFE10, + 0xFEFF, + 0xFF00, + 0xFFA0, + 0xFFA1, + 0x1BCA0, + 0x1BCA4, + 0x1D173, + 0x1D17B, + 0xE0020, + 0xE0080, + 0xE0100, + 0xE01F0 +}; + +# endif /* EBCDIC 1047 */ + +# if 'A' == 193 /* EBCDIC 037 */ \ + && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ + && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ + && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 + +static const UV UNI_IDENTIFIERTYPE__DEFAULTIGNORABLE_invlist[] = { /* for EBCDIC 037 */ + 39, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0xCA, + 0xCB, + 0x34F, + 0x350, + 0x61C, + 0x61D, + 0x115F, + 0x1161, + 0x17B4, + 0x17B6, + 0x180B, + 0x180F, + 0x200B, + 0x200C, + 0x200E, + 0x2010, + 0x202A, + 0x202F, + 0x2060, + 0x2065, + 0x2066, + 0x206A, + 0x3164, + 0x3165, + 0xFE00, + 0xFE10, + 0xFEFF, + 0xFF00, + 0xFFA0, + 0xFFA1, + 0x1BCA0, + 0x1BCA4, + 0x1D173, + 0x1D17B, + 0xE0020, + 0xE0080, + 0xE0100, + 0xE01F0 +}; + +# endif /* EBCDIC 037 */ + +static const UV UNI_IDENTIFIERTYPE__EXCLUSION_invlist[] = { /* for all charsets */ + 425, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x3E2, + 0x3F0, + 0x800, + 0x82E, + 0x830, + 0x83F, + 0x1680, + 0x169D, + 0x16A0, + 0x16EB, + 0x16EE, + 0x16F9, + 0x1700, + 0x170D, + 0x170E, + 0x1715, + 0x1720, + 0x1737, + 0x1740, + 0x1754, + 0x1760, + 0x176D, + 0x176E, + 0x1771, + 0x1772, + 0x1774, + 0x1800, + 0x180B, + 0x1810, + 0x181A, + 0x1820, + 0x1879, + 0x1880, + 0x18AB, + 0x1A00, + 0x1A1C, + 0x1A1E, + 0x1A20, + 0x1CFA, + 0x1CFB, + 0x2C00, + 0x2C2F, + 0x2C30, + 0x2C5F, + 0x2C80, + 0x2CF4, + 0x2CF9, + 0x2D00, + 0xA840, + 0xA878, + 0xA930, + 0xA954, + 0xA95F, + 0xA960, + 0xA9CF, + 0xA9D0, + 0x10000, + 0x1000C, + 0x1000D, + 0x10027, + 0x10028, + 0x1003B, + 0x1003C, + 0x1003E, + 0x1003F, + 0x1004E, + 0x10050, + 0x1005E, + 0x10080, + 0x100FB, + 0x10100, + 0x10103, + 0x10107, + 0x10134, + 0x10137, + 0x10140, + 0x10280, + 0x1029D, + 0x102A0, + 0x102D1, + 0x10300, + 0x10324, + 0x1032D, + 0x1034B, + 0x10350, + 0x1037B, + 0x10380, + 0x1039E, + 0x1039F, + 0x103C4, + 0x103C8, + 0x103D6, + 0x10400, + 0x1049E, + 0x104A0, + 0x104AA, + 0x10500, + 0x10528, + 0x10530, + 0x10564, + 0x1056F, + 0x10570, + 0x10600, + 0x10737, + 0x10740, + 0x10756, + 0x10760, + 0x10768, + 0x10800, + 0x10806, + 0x10808, + 0x10809, + 0x1080A, + 0x10836, + 0x10837, + 0x10839, + 0x1083C, + 0x1083D, + 0x1083F, + 0x10856, + 0x10857, + 0x1089F, + 0x108A7, + 0x108B0, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, + 0x108FB, + 0x1091C, + 0x1091F, + 0x1093A, + 0x1093F, + 0x10940, + 0x10980, + 0x109B8, + 0x109BC, + 0x109D0, + 0x109D2, + 0x10A04, + 0x10A05, + 0x10A07, + 0x10A0C, + 0x10A14, + 0x10A15, + 0x10A18, + 0x10A19, + 0x10A36, + 0x10A38, + 0x10A3B, + 0x10A3F, + 0x10A49, + 0x10A50, + 0x10A59, + 0x10A60, + 0x10AA0, + 0x10AC0, + 0x10AE7, + 0x10AEB, + 0x10AF7, + 0x10B00, + 0x10B36, + 0x10B39, + 0x10B56, + 0x10B58, + 0x10B73, + 0x10B78, + 0x10B92, + 0x10B99, + 0x10B9D, + 0x10BA9, + 0x10BB0, + 0x10C00, + 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, + 0x10CFA, + 0x10D00, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAE, + 0x10EB0, + 0x10EB2, + 0x10F00, + 0x10F28, + 0x10F30, + 0x10F5A, + 0x10FB0, + 0x10FCC, + 0x10FE0, + 0x10FF7, + 0x11000, + 0x1104E, + 0x11052, + 0x11070, + 0x1107F, + 0x110C2, + 0x110CD, + 0x110CE, + 0x110D0, + 0x110E9, + 0x110F0, + 0x110FA, + 0x11150, + 0x11177, + 0x11180, + 0x111E0, + 0x11200, + 0x11212, + 0x11213, + 0x1123F, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112AA, + 0x112B0, + 0x112EB, + 0x112F0, + 0x112FA, + 0x11300, + 0x11301, + 0x11302, + 0x11303, + 0x11305, + 0x1130D, + 0x1130F, + 0x11311, + 0x11313, + 0x11329, + 0x1132A, + 0x11331, + 0x11332, + 0x11334, + 0x11335, + 0x1133A, + 0x1133D, + 0x11345, + 0x11347, + 0x11349, + 0x1134B, + 0x1134E, + 0x11350, + 0x11351, + 0x11357, + 0x11358, + 0x1135D, + 0x11364, + 0x11366, + 0x1136D, + 0x11370, + 0x11375, + 0x11480, + 0x114C8, + 0x114D0, + 0x114DA, + 0x11580, + 0x115B6, + 0x115B8, + 0x115DE, + 0x11600, + 0x11645, + 0x11650, + 0x1165A, + 0x11660, + 0x1166D, + 0x11680, + 0x116B9, + 0x116C0, + 0x116CA, + 0x11700, + 0x1171B, + 0x1171D, + 0x1172C, + 0x11730, + 0x11740, + 0x11800, + 0x1183C, + 0x118A0, + 0x118F3, + 0x118FF, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11947, + 0x11950, + 0x1195A, + 0x119A0, + 0x119A8, + 0x119AA, + 0x119D8, + 0x119DA, + 0x119E5, + 0x11A00, + 0x11A48, + 0x11A50, + 0x11AA3, + 0x11AC0, + 0x11AF9, + 0x11C00, + 0x11C09, + 0x11C0A, + 0x11C37, + 0x11C38, + 0x11C46, + 0x11C50, + 0x11C6D, + 0x11C70, + 0x11C90, + 0x11C92, + 0x11CA8, + 0x11CA9, + 0x11CB7, + 0x11D00, + 0x11D07, + 0x11D08, + 0x11D0A, + 0x11D0B, + 0x11D37, + 0x11D3A, + 0x11D3B, + 0x11D3C, + 0x11D3E, + 0x11D3F, + 0x11D48, + 0x11D50, + 0x11D5A, + 0x11EE0, + 0x11EF9, + 0x12000, + 0x1239A, + 0x12400, + 0x1246F, + 0x12470, + 0x12475, + 0x12480, + 0x12544, + 0x13000, + 0x1342F, + 0x13430, + 0x13439, + 0x14400, + 0x14647, + 0x16A40, + 0x16A5F, + 0x16A60, + 0x16A6A, + 0x16A6E, + 0x16A70, + 0x16AD0, + 0x16AEE, + 0x16AF0, + 0x16AF6, + 0x16B00, + 0x16B46, + 0x16B50, + 0x16B5A, + 0x16B5B, + 0x16B62, + 0x16B63, + 0x16B78, + 0x16B7D, + 0x16B90, + 0x16E40, + 0x16E9B, + 0x16FE0, + 0x16FE2, + 0x16FE4, + 0x16FE5, + 0x17000, + 0x187F8, + 0x18800, + 0x18CD6, + 0x18D00, + 0x18D09, + 0x1B170, + 0x1B2FC, + 0x1BC00, + 0x1BC6B, + 0x1BC70, + 0x1BC7D, + 0x1BC80, + 0x1BC89, + 0x1BC90, + 0x1BC9A, + 0x1BC9C, + 0x1BCA0, + 0x1D800, + 0x1DA8C, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, + 0x1E000, + 0x1E007, + 0x1E008, + 0x1E019, + 0x1E01B, + 0x1E022, + 0x1E023, + 0x1E025, + 0x1E026, + 0x1E02B, + 0x1E800, + 0x1E8C5, + 0x1E8C7, + 0x1E8D7 +}; + +# if 'A' == 65 /* ASCII/Latin1 */ + +static const UV UNI_IDENTIFIERTYPE__INCLUSION_invlist[] = { /* for ASCII/Latin1 */ + 31, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x27, + 0x28, + 0x2D, + 0x2F, + 0x3A, + 0x3B, + 0xB7, + 0xB8, + 0x375, + 0x376, + 0x58A, + 0x58B, + 0x5F3, + 0x5F5, + 0x6FD, + 0x6FF, + 0xF0B, + 0xF0C, + 0x200C, + 0x200E, + 0x2010, + 0x2011, + 0x2019, + 0x201A, + 0x2027, + 0x2028, + 0x30A0, + 0x30A1, + 0x30FB, + 0x30FC +}; + +# endif /* ASCII/Latin1 */ + +# if 'A' == 193 /* EBCDIC 1047 */ \ + && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ + && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ + && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 + +static const UV UNI_IDENTIFIERTYPE__INCLUSION_invlist[] = { /* for EBCDIC 1047 */ + 33, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x4B, + 0x4C, + 0x60, + 0x61, + 0x7A, + 0x7B, + 0x7D, + 0x7E, + 0xB3, + 0xB4, + 0x375, + 0x376, + 0x58A, + 0x58B, + 0x5F3, + 0x5F5, + 0x6FD, + 0x6FF, + 0xF0B, + 0xF0C, + 0x200C, + 0x200E, + 0x2010, + 0x2011, + 0x2019, + 0x201A, + 0x2027, + 0x2028, + 0x30A0, + 0x30A1, + 0x30FB, + 0x30FC +}; + +# endif /* EBCDIC 1047 */ + +# if 'A' == 193 /* EBCDIC 037 */ \ + && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ + && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ + && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 + +static const UV UNI_IDENTIFIERTYPE__INCLUSION_invlist[] = { /* for EBCDIC 037 */ + 33, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x4B, + 0x4C, + 0x60, + 0x61, + 0x7A, + 0x7B, + 0x7D, + 0x7E, + 0xB3, + 0xB4, + 0x375, + 0x376, + 0x58A, + 0x58B, + 0x5F3, + 0x5F5, + 0x6FD, + 0x6FF, + 0xF0B, + 0xF0C, + 0x200C, + 0x200E, + 0x2010, + 0x2011, + 0x2019, + 0x201A, + 0x2027, + 0x2028, + 0x30A0, + 0x30A1, + 0x30FB, + 0x30FC +}; + +# endif /* EBCDIC 037 */ + +static const UV UNI_IDENTIFIERTYPE__LIMITEDUSE_invlist[] = { /* for all charsets */ + 171, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x700, + 0x70E, + 0x70F, + 0x74B, + 0x74D, + 0x750, + 0x7C0, + 0x7FB, + 0x7FD, + 0x800, + 0x840, + 0x85C, + 0x85E, + 0x85F, + 0x860, + 0x86B, + 0x13A0, + 0x13F6, + 0x13F8, + 0x13FE, + 0x1400, + 0x1680, + 0x18B0, + 0x18F6, + 0x1900, + 0x191F, + 0x1920, + 0x192C, + 0x1930, + 0x193C, + 0x1940, + 0x1941, + 0x1944, + 0x196E, + 0x1970, + 0x1975, + 0x1980, + 0x19AC, + 0x19B0, + 0x19CA, + 0x19D0, + 0x19DB, + 0x19DE, + 0x19E0, + 0x1A20, + 0x1A5F, + 0x1A60, + 0x1A7D, + 0x1A7F, + 0x1A8A, + 0x1A90, + 0x1A9A, + 0x1AA0, + 0x1AAE, + 0x1B00, + 0x1B4C, + 0x1B50, + 0x1B7D, + 0x1B80, + 0x1BF4, + 0x1BFC, + 0x1C38, + 0x1C3B, + 0x1C4A, + 0x1C4D, + 0x1C80, + 0x1CC0, + 0x1CC8, + 0x2D30, + 0x2D68, + 0x2D70, + 0x2D71, + 0x2D7F, + 0x2D80, + 0xA000, + 0xA48D, + 0xA490, + 0xA4C7, + 0xA4D0, + 0xA62C, + 0xA6A0, + 0xA6F8, + 0xA800, + 0xA82D, + 0xA880, + 0xA8C6, + 0xA8CE, + 0xA8DA, + 0xA900, + 0xA92E, + 0xA92F, + 0xA930, + 0xA980, + 0xA9CE, + 0xA9CF, + 0xA9DA, + 0xA9DE, + 0xA9E0, + 0xAA00, + 0xAA37, + 0xAA40, + 0xAA4E, + 0xAA50, + 0xAA5A, + 0xAA5C, + 0xAA60, + 0xAA80, + 0xAAC3, + 0xAADB, + 0xAAF7, + 0xAB70, + 0xABEE, + 0xABF0, + 0xABFA, + 0x104B0, + 0x104D4, + 0x104D8, + 0x104FC, + 0x10D00, + 0x10D28, + 0x10D30, + 0x10D3A, + 0x11100, + 0x11135, + 0x11136, + 0x11148, + 0x11400, + 0x1145C, + 0x1145D, + 0x11462, + 0x11D60, + 0x11D66, + 0x11D67, + 0x11D69, + 0x11D6A, + 0x11D8F, + 0x11D90, + 0x11D92, + 0x11D93, + 0x11D99, + 0x11DA0, + 0x11DAA, + 0x11FB0, + 0x11FB1, + 0x16800, + 0x16A39, + 0x16F00, + 0x16F4B, + 0x16F4F, + 0x16F88, + 0x16F8F, + 0x16FA0, + 0x1E100, + 0x1E12D, + 0x1E130, + 0x1E13E, + 0x1E140, + 0x1E14A, + 0x1E14E, + 0x1E150, + 0x1E2C0, + 0x1E2FA, + 0x1E2FF, + 0x1E300, + 0x1E900, + 0x1E94C, + 0x1E950, + 0x1E95A, + 0x1E95E, + 0x1E960 +}; + +# if 'A' == 65 /* ASCII/Latin1 */ + +static const UV UNI_IDENTIFIERTYPE__NOTCHARACTER_invlist[] = { /* for ASCII/Latin1 */ + 1357, /* Number of elements */ + 148565664, /* Version and data structure type */ + 0, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x9, + 0xE, + 0x20, + 0x7F, + 0x85, + 0x86, + 0xA0, + 0x378, + 0x37A, + 0x380, + 0x384, + 0x38B, + 0x38C, + 0x38D, + 0x38E, + 0x3A2, + 0x3A3, + 0x530, + 0x531, + 0x557, + 0x559, + 0x58B, + 0x58D, + 0x590, + 0x591, + 0x5C8, + 0x5D0, + 0x5EB, + 0x5EF, + 0x5F5, + 0x600, + 0x61D, + 0x61E, + 0x70E, + 0x70F, + 0x74B, + 0x74D, + 0x7B2, + 0x7C0, + 0x7FB, + 0x7FD, + 0x82E, + 0x830, + 0x83F, + 0x840, + 0x85C, + 0x85E, + 0x85F, + 0x860, + 0x86B, + 0x8A0, + 0x8B5, + 0x8B6, + 0x8C8, + 0x8D3, + 0x984, + 0x985, + 0x98D, + 0x98F, + 0x991, + 0x993, + 0x9A9, + 0x9AA, + 0x9B1, + 0x9B2, + 0x9B3, + 0x9B6, + 0x9BA, + 0x9BC, + 0x9C5, + 0x9C7, + 0x9C9, + 0x9CB, + 0x9CF, + 0x9D7, + 0x9D8, + 0x9DC, + 0x9DE, + 0x9DF, + 0x9E4, + 0x9E6, + 0x9FF, + 0xA01, + 0xA04, + 0xA05, + 0xA0B, + 0xA0F, + 0xA11, + 0xA13, + 0xA29, + 0xA2A, + 0xA31, + 0xA32, + 0xA34, + 0xA35, + 0xA37, + 0xA38, + 0xA3A, + 0xA3C, + 0xA3D, + 0xA3E, + 0xA43, + 0xA47, + 0xA49, + 0xA4B, + 0xA4E, + 0xA51, + 0xA52, + 0xA59, + 0xA5D, + 0xA5E, + 0xA5F, + 0xA66, + 0xA77, + 0xA81, + 0xA84, + 0xA85, + 0xA8E, + 0xA8F, + 0xA92, + 0xA93, + 0xAA9, + 0xAAA, + 0xAB1, + 0xAB2, + 0xAB4, + 0xAB5, + 0xABA, + 0xABC, + 0xAC6, + 0xAC7, + 0xACA, + 0xACB, + 0xACE, + 0xAD0, + 0xAD1, + 0xAE0, + 0xAE4, + 0xAE6, + 0xAF2, + 0xAF9, + 0xB00, + 0xB01, + 0xB04, + 0xB05, + 0xB0D, + 0xB0F, + 0xB11, + 0xB13, + 0xB29, + 0xB2A, + 0xB31, + 0xB32, + 0xB34, + 0xB35, + 0xB3A, + 0xB3C, + 0xB45, + 0xB47, + 0xB49, + 0xB4B, + 0xB4E, + 0xB55, + 0xB58, + 0xB5C, + 0xB5E, + 0xB5F, + 0xB64, + 0xB66, + 0xB78, + 0xB82, + 0xB84, + 0xB85, + 0xB8B, + 0xB8E, + 0xB91, + 0xB92, + 0xB96, + 0xB99, + 0xB9B, + 0xB9C, + 0xB9D, + 0xB9E, + 0xBA0, + 0xBA3, + 0xBA5, + 0xBA8, + 0xBAB, + 0xBAE, + 0xBBA, + 0xBBE, + 0xBC3, + 0xBC6, + 0xBC9, + 0xBCA, + 0xBCE, + 0xBD0, + 0xBD1, + 0xBD7, + 0xBD8, + 0xBE6, + 0xBFB, + 0xC00, + 0xC0D, + 0xC0E, + 0xC11, + 0xC12, + 0xC29, + 0xC2A, + 0xC3A, + 0xC3D, + 0xC45, + 0xC46, + 0xC49, + 0xC4A, + 0xC4E, + 0xC55, + 0xC57, + 0xC58, + 0xC5B, + 0xC60, + 0xC64, + 0xC66, + 0xC70, + 0xC77, + 0xC8D, + 0xC8E, + 0xC91, + 0xC92, + 0xCA9, + 0xCAA, + 0xCB4, + 0xCB5, + 0xCBA, + 0xCBC, + 0xCC5, + 0xCC6, + 0xCC9, + 0xCCA, + 0xCCE, + 0xCD5, + 0xCD7, + 0xCDE, + 0xCDF, + 0xCE0, + 0xCE4, + 0xCE6, + 0xCF0, + 0xCF1, + 0xCF3, + 0xD00, + 0xD0D, + 0xD0E, + 0xD11, + 0xD12, + 0xD45, + 0xD46, + 0xD49, + 0xD4A, + 0xD50, + 0xD54, + 0xD64, + 0xD66, + 0xD80, + 0xD81, + 0xD84, + 0xD85, + 0xD97, + 0xD9A, + 0xDB2, + 0xDB3, + 0xDBC, + 0xDBD, + 0xDBE, + 0xDC0, + 0xDC7, + 0xDCA, + 0xDCB, + 0xDCF, + 0xDD5, + 0xDD6, + 0xDD7, + 0xDD8, + 0xDE0, + 0xDE6, + 0xDF0, + 0xDF2, + 0xDF5, + 0xE01, + 0xE3B, + 0xE3F, + 0xE5C, + 0xE81, + 0xE83, + 0xE84, + 0xE85, + 0xE86, + 0xE8B, + 0xE8C, + 0xEA4, + 0xEA5, + 0xEA6, + 0xEA7, + 0xEBE, + 0xEC0, + 0xEC5, + 0xEC6, + 0xEC7, + 0xEC8, + 0xECE, + 0xED0, + 0xEDA, + 0xEDC, + 0xEE0, + 0xF00, + 0xF48, + 0xF49, + 0xF6D, + 0xF71, + 0xF98, + 0xF99, + 0xFBD, + 0xFBE, + 0xFCD, + 0xFCE, + 0xFDB, + 0x1000, + 0x10C6, + 0x10C7, + 0x10C8, + 0x10CD, + 0x10CE, + 0x10D0, + 0x1249, + 0x124A, + 0x124E, + 0x1250, + 0x1257, + 0x1258, + 0x1259, + 0x125A, + 0x125E, + 0x1260, + 0x1289, + 0x128A, + 0x128E, + 0x1290, + 0x12B1, + 0x12B2, + 0x12B6, + 0x12B8, + 0x12BF, + 0x12C0, + 0x12C1, + 0x12C2, + 0x12C6, + 0x12C8, + 0x12D7, + 0x12D8, + 0x1311, + 0x1312, + 0x1316, + 0x1318, + 0x135B, + 0x135D, + 0x137D, + 0x1380, + 0x139A, + 0x13A0, + 0x13F6, + 0x13F8, + 0x13FE, + 0x1400, + 0x169D, + 0x16A0, + 0x16F9, + 0x1700, + 0x170D, + 0x170E, + 0x1715, + 0x1720, + 0x1737, + 0x1740, + 0x1754, + 0x1760, + 0x176D, + 0x176E, + 0x1771, + 0x1772, + 0x1774, + 0x1780, + 0x17DE, + 0x17E0, + 0x17EA, + 0x17F0, + 0x17FA, + 0x1800, + 0x180F, + 0x1810, + 0x181A, + 0x1820, + 0x1879, + 0x1880, + 0x18AB, + 0x18B0, + 0x18F6, + 0x1900, + 0x191F, + 0x1920, + 0x192C, + 0x1930, + 0x193C, + 0x1940, + 0x1941, + 0x1944, + 0x196E, + 0x1970, + 0x1975, + 0x1980, + 0x19AC, + 0x19B0, + 0x19CA, + 0x19D0, + 0x19DB, + 0x19DE, + 0x1A1C, + 0x1A1E, + 0x1A5F, + 0x1A60, + 0x1A7D, + 0x1A7F, + 0x1A8A, + 0x1A90, + 0x1A9A, + 0x1AA0, + 0x1AAE, + 0x1AB0, + 0x1AC1, + 0x1B00, + 0x1B4C, + 0x1B50, + 0x1B7D, + 0x1B80, + 0x1BF4, + 0x1BFC, + 0x1C38, + 0x1C3B, + 0x1C4A, + 0x1C4D, + 0x1C89, + 0x1C90, + 0x1CBB, + 0x1CBD, + 0x1CC8, + 0x1CD0, + 0x1CFB, + 0x1D00, + 0x1DFA, + 0x1DFB, + 0x1F16, + 0x1F18, + 0x1F1E, + 0x1F20, + 0x1F46, + 0x1F48, + 0x1F4E, + 0x1F50, + 0x1F58, + 0x1F59, + 0x1F5A, + 0x1F5B, + 0x1F5C, + 0x1F5D, + 0x1F5E, + 0x1F5F, + 0x1F7E, + 0x1F80, + 0x1FB5, + 0x1FB6, + 0x1FC5, + 0x1FC6, + 0x1FD4, + 0x1FD6, + 0x1FDC, + 0x1FDD, + 0x1FF0, + 0x1FF2, + 0x1FF5, + 0x1FF6, + 0x1FFF, + 0x2000, + 0x2065, + 0x2066, + 0x2072, + 0x2074, + 0x208F, + 0x2090, + 0x209D, + 0x20A0, + 0x20C0, + 0x20D0, + 0x20F1, + 0x2100, + 0x218C, + 0x2190, + 0x2427, + 0x2440, + 0x244B, + 0x2460, + 0x2B74, + 0x2B76, + 0x2B96, + 0x2B97, + 0x2C2F, + 0x2C30, + 0x2C5F, + 0x2C60, + 0x2CF4, + 0x2CF9, + 0x2D26, + 0x2D27, + 0x2D28, + 0x2D2D, + 0x2D2E, + 0x2D30, + 0x2D68, + 0x2D6F, + 0x2D71, + 0x2D7F, + 0x2D97, + 0x2DA0, + 0x2DA7, + 0x2DA8, + 0x2DAF, + 0x2DB0, + 0x2DB7, + 0x2DB8, + 0x2DBF, + 0x2DC0, + 0x2DC7, + 0x2DC8, + 0x2DCF, + 0x2DD0, + 0x2DD7, + 0x2DD8, + 0x2DDF, + 0x2DE0, + 0x2E53, + 0x2E80, + 0x2E9A, + 0x2E9B, + 0x2EF4, + 0x2F00, + 0x2FD6, + 0x2FF0, + 0x2FFC, + 0x3000, + 0x3040, + 0x3041, + 0x3097, + 0x3099, + 0x3100, + 0x3105, + 0x3130, + 0x3131, + 0x318F, + 0x3190, + 0x31E4, + 0x31F0, + 0x321F, + 0x3220, + 0x9FFD, + 0xA000, + 0xA48D, + 0xA490, + 0xA4C7, + 0xA4D0, + 0xA62C, + 0xA640, + 0xA6F8, + 0xA700, + 0xA7C0, + 0xA7C2, + 0xA7CB, + 0xA7F5, + 0xA82D, + 0xA830, + 0xA83A, + 0xA840, + 0xA878, + 0xA880, + 0xA8C6, + 0xA8CE, + 0xA8DA, + 0xA8E0, + 0xA954, + 0xA95F, + 0xA97D, + 0xA980, + 0xA9CE, + 0xA9CF, + 0xA9DA, + 0xA9DE, + 0xA9FF, + 0xAA00, + 0xAA37, + 0xAA40, + 0xAA4E, + 0xAA50, + 0xAA5A, + 0xAA5C, + 0xAAC3, + 0xAADB, + 0xAAF7, + 0xAB01, + 0xAB07, + 0xAB09, + 0xAB0F, + 0xAB11, + 0xAB17, + 0xAB20, + 0xAB27, + 0xAB28, + 0xAB2F, + 0xAB30, + 0xAB6C, + 0xAB70, + 0xABEE, + 0xABF0, + 0xABFA, + 0xAC00, + 0xD7A4, + 0xD7B0, + 0xD7C7, + 0xD7CB, + 0xD7FC, + 0xF900, + 0xFA6E, + 0xFA70, + 0xFADA, + 0xFB00, + 0xFB07, + 0xFB13, + 0xFB18, + 0xFB1D, + 0xFB37, + 0xFB38, + 0xFB3D, + 0xFB3E, + 0xFB3F, + 0xFB40, + 0xFB42, + 0xFB43, + 0xFB45, + 0xFB46, + 0xFBC2, + 0xFBD3, + 0xFD40, + 0xFD50, + 0xFD90, + 0xFD92, + 0xFDC8, + 0xFDF0, + 0xFDFE, + 0xFE00, + 0xFE1A, + 0xFE20, + 0xFE53, + 0xFE54, + 0xFE67, + 0xFE68, + 0xFE6C, + 0xFE70, + 0xFE75, + 0xFE76, + 0xFEFD, + 0xFEFF, + 0xFF00, + 0xFF01, + 0xFFBF, + 0xFFC2, + 0xFFC8, + 0xFFCA, + 0xFFD0, + 0xFFD2, + 0xFFD8, + 0xFFDA, + 0xFFDD, + 0xFFE0, + 0xFFE7, + 0xFFE8, + 0xFFEF, + 0xFFF9, + 0xFFFE, + 0x10000, + 0x1000C, + 0x1000D, + 0x10027, + 0x10028, + 0x1003B, + 0x1003C, + 0x1003E, + 0x1003F, + 0x1004E, + 0x10050, + 0x1005E, + 0x10080, + 0x100FB, + 0x10100, + 0x10103, + 0x10107, + 0x10134, + 0x10137, + 0x1018F, + 0x10190, + 0x1019D, + 0x101A0, + 0x101A1, + 0x101D0, + 0x101FE, + 0x10280, + 0x1029D, + 0x102A0, + 0x102D1, + 0x102E0, + 0x102FC, + 0x10300, + 0x10324, + 0x1032D, + 0x1034B, + 0x10350, + 0x1037B, + 0x10380, + 0x1039E, + 0x1039F, + 0x103C4, + 0x103C8, + 0x103D6, + 0x10400, + 0x1049E, + 0x104A0, + 0x104AA, + 0x104B0, + 0x104D4, + 0x104D8, + 0x104FC, + 0x10500, + 0x10528, + 0x10530, + 0x10564, + 0x1056F, + 0x10570, + 0x10600, + 0x10737, + 0x10740, + 0x10756, + 0x10760, + 0x10768, + 0x10800, + 0x10806, + 0x10808, + 0x10809, + 0x1080A, + 0x10836, + 0x10837, + 0x10839, + 0x1083C, + 0x1083D, + 0x1083F, + 0x10856, + 0x10857, + 0x1089F, + 0x108A7, + 0x108B0, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, + 0x108FB, + 0x1091C, + 0x1091F, + 0x1093A, + 0x1093F, + 0x10940, + 0x10980, + 0x109B8, + 0x109BC, + 0x109D0, + 0x109D2, + 0x10A04, + 0x10A05, + 0x10A07, + 0x10A0C, + 0x10A14, + 0x10A15, + 0x10A18, + 0x10A19, + 0x10A36, + 0x10A38, + 0x10A3B, + 0x10A3F, + 0x10A49, + 0x10A50, + 0x10A59, + 0x10A60, + 0x10AA0, + 0x10AC0, + 0x10AE7, + 0x10AEB, + 0x10AF7, + 0x10B00, + 0x10B36, + 0x10B39, + 0x10B56, + 0x10B58, + 0x10B73, + 0x10B78, + 0x10B92, + 0x10B99, + 0x10B9D, + 0x10BA9, + 0x10BB0, + 0x10C00, + 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, + 0x10CFA, + 0x10D28, + 0x10D30, + 0x10D3A, + 0x10E60, + 0x10E7F, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAE, + 0x10EB0, + 0x10EB2, + 0x10F00, + 0x10F28, + 0x10F30, + 0x10F5A, + 0x10FB0, + 0x10FCC, + 0x10FE0, + 0x10FF7, + 0x11000, + 0x1104E, + 0x11052, + 0x11070, + 0x1107F, + 0x110C2, + 0x110CD, + 0x110CE, + 0x110D0, + 0x110E9, + 0x110F0, + 0x110FA, + 0x11100, + 0x11135, + 0x11136, + 0x11148, + 0x11150, + 0x11177, + 0x11180, + 0x111E0, + 0x111E1, + 0x111F5, + 0x11200, + 0x11212, + 0x11213, + 0x1123F, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112AA, + 0x112B0, + 0x112EB, + 0x112F0, + 0x112FA, + 0x11300, + 0x11304, + 0x11305, + 0x1130D, + 0x1130F, + 0x11311, + 0x11313, + 0x11329, + 0x1132A, + 0x11331, + 0x11332, + 0x11334, + 0x11335, + 0x1133A, + 0x1133B, + 0x11345, + 0x11347, + 0x11349, + 0x1134B, + 0x1134E, + 0x11350, + 0x11351, + 0x11357, + 0x11358, + 0x1135D, + 0x11364, + 0x11366, + 0x1136D, + 0x11370, + 0x11375, + 0x11400, + 0x1145C, + 0x1145D, + 0x11462, + 0x11480, + 0x114C8, + 0x114D0, + 0x114DA, + 0x11580, + 0x115B6, + 0x115B8, + 0x115DE, + 0x11600, + 0x11645, + 0x11650, + 0x1165A, + 0x11660, + 0x1166D, + 0x11680, + 0x116B9, + 0x116C0, + 0x116CA, + 0x11700, + 0x1171B, + 0x1171D, + 0x1172C, + 0x11730, + 0x11740, + 0x11800, + 0x1183C, + 0x118A0, + 0x118F3, + 0x118FF, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11947, + 0x11950, + 0x1195A, + 0x119A0, + 0x119A8, + 0x119AA, + 0x119D8, + 0x119DA, + 0x119E5, + 0x11A00, + 0x11A48, + 0x11A50, + 0x11AA3, + 0x11AC0, + 0x11AF9, + 0x11C00, + 0x11C09, + 0x11C0A, + 0x11C37, + 0x11C38, + 0x11C46, + 0x11C50, + 0x11C6D, + 0x11C70, + 0x11C90, + 0x11C92, + 0x11CA8, + 0x11CA9, + 0x11CB7, + 0x11D00, + 0x11D07, + 0x11D08, + 0x11D0A, + 0x11D0B, + 0x11D37, + 0x11D3A, + 0x11D3B, + 0x11D3C, + 0x11D3E, + 0x11D3F, + 0x11D48, + 0x11D50, + 0x11D5A, + 0x11D60, + 0x11D66, + 0x11D67, + 0x11D69, + 0x11D6A, + 0x11D8F, + 0x11D90, + 0x11D92, + 0x11D93, + 0x11D99, + 0x11DA0, + 0x11DAA, + 0x11EE0, + 0x11EF9, + 0x11FB0, + 0x11FB1, + 0x11FC0, + 0x11FF2, + 0x11FFF, + 0x1239A, + 0x12400, + 0x1246F, + 0x12470, + 0x12475, + 0x12480, + 0x12544, + 0x13000, + 0x1342F, + 0x13430, + 0x13439, + 0x14400, + 0x14647, + 0x16800, + 0x16A39, + 0x16A40, + 0x16A5F, + 0x16A60, + 0x16A6A, + 0x16A6E, + 0x16A70, + 0x16AD0, + 0x16AEE, + 0x16AF0, + 0x16AF6, + 0x16B00, + 0x16B46, + 0x16B50, + 0x16B5A, + 0x16B5B, + 0x16B62, + 0x16B63, + 0x16B78, + 0x16B7D, + 0x16B90, + 0x16E40, + 0x16E9B, + 0x16F00, + 0x16F4B, + 0x16F4F, + 0x16F88, + 0x16F8F, + 0x16FA0, + 0x16FE0, + 0x16FE5, + 0x16FF0, + 0x16FF2, + 0x17000, + 0x187F8, + 0x18800, + 0x18CD6, + 0x18D00, + 0x18D09, + 0x1B000, + 0x1B11F, + 0x1B150, + 0x1B153, + 0x1B164, + 0x1B168, + 0x1B170, + 0x1B2FC, + 0x1BC00, + 0x1BC6B, + 0x1BC70, + 0x1BC7D, + 0x1BC80, + 0x1BC89, + 0x1BC90, + 0x1BC9A, + 0x1BC9C, + 0x1BCA4, + 0x1D000, + 0x1D0F6, + 0x1D100, + 0x1D127, + 0x1D129, + 0x1D1E9, + 0x1D200, + 0x1D246, + 0x1D2E0, + 0x1D2F4, + 0x1D300, + 0x1D357, + 0x1D360, + 0x1D379, + 0x1D400, + 0x1D455, + 0x1D456, + 0x1D49D, + 0x1D49E, + 0x1D4A0, + 0x1D4A2, + 0x1D4A3, + 0x1D4A5, + 0x1D4A7, + 0x1D4A9, + 0x1D4AD, + 0x1D4AE, + 0x1D4BA, + 0x1D4BB, + 0x1D4BC, + 0x1D4BD, + 0x1D4C4, + 0x1D4C5, + 0x1D506, + 0x1D507, + 0x1D50B, + 0x1D50D, + 0x1D515, + 0x1D516, + 0x1D51D, + 0x1D51E, + 0x1D53A, + 0x1D53B, + 0x1D53F, + 0x1D540, + 0x1D545, + 0x1D546, + 0x1D547, + 0x1D54A, + 0x1D551, + 0x1D552, + 0x1D6A6, + 0x1D6A8, + 0x1D7CC, + 0x1D7CE, + 0x1DA8C, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, + 0x1E000, + 0x1E007, + 0x1E008, + 0x1E019, + 0x1E01B, + 0x1E022, + 0x1E023, + 0x1E025, + 0x1E026, + 0x1E02B, + 0x1E100, + 0x1E12D, + 0x1E130, + 0x1E13E, + 0x1E140, + 0x1E14A, + 0x1E14E, + 0x1E150, + 0x1E2C0, + 0x1E2FA, + 0x1E2FF, + 0x1E300, + 0x1E800, + 0x1E8C5, + 0x1E8C7, + 0x1E8D7, + 0x1E900, + 0x1E94C, + 0x1E950, + 0x1E95A, + 0x1E95E, + 0x1E960, + 0x1EC71, + 0x1ECB5, + 0x1ED01, + 0x1ED3E, + 0x1EE00, + 0x1EE04, + 0x1EE05, + 0x1EE20, + 0x1EE21, + 0x1EE23, + 0x1EE24, + 0x1EE25, + 0x1EE27, + 0x1EE28, + 0x1EE29, + 0x1EE33, + 0x1EE34, + 0x1EE38, + 0x1EE39, + 0x1EE3A, + 0x1EE3B, + 0x1EE3C, + 0x1EE42, + 0x1EE43, + 0x1EE47, + 0x1EE48, + 0x1EE49, + 0x1EE4A, + 0x1EE4B, + 0x1EE4C, + 0x1EE4D, + 0x1EE50, + 0x1EE51, + 0x1EE53, + 0x1EE54, + 0x1EE55, + 0x1EE57, + 0x1EE58, + 0x1EE59, + 0x1EE5A, + 0x1EE5B, + 0x1EE5C, + 0x1EE5D, + 0x1EE5E, + 0x1EE5F, + 0x1EE60, + 0x1EE61, + 0x1EE63, + 0x1EE64, + 0x1EE65, + 0x1EE67, + 0x1EE6B, + 0x1EE6C, + 0x1EE73, + 0x1EE74, + 0x1EE78, + 0x1EE79, + 0x1EE7D, + 0x1EE7E, + 0x1EE7F, + 0x1EE80, + 0x1EE8A, + 0x1EE8B, + 0x1EE9C, + 0x1EEA1, + 0x1EEA4, + 0x1EEA5, + 0x1EEAA, + 0x1EEAB, + 0x1EEBC, + 0x1EEF0, + 0x1EEF2, + 0x1F000, + 0x1F02C, + 0x1F030, + 0x1F094, + 0x1F0A0, + 0x1F0AF, + 0x1F0B1, + 0x1F0C0, + 0x1F0C1, + 0x1F0D0, + 0x1F0D1, + 0x1F0F6, + 0x1F100, + 0x1F1AE, + 0x1F1E6, + 0x1F203, + 0x1F210, + 0x1F23C, + 0x1F240, + 0x1F249, + 0x1F250, + 0x1F252, + 0x1F260, + 0x1F266, + 0x1F300, + 0x1F6D8, + 0x1F6E0, + 0x1F6ED, + 0x1F6F0, + 0x1F6FD, + 0x1F700, + 0x1F774, + 0x1F780, + 0x1F7D9, + 0x1F7E0, + 0x1F7EC, + 0x1F800, + 0x1F80C, + 0x1F810, + 0x1F848, + 0x1F850, + 0x1F85A, + 0x1F860, + 0x1F888, + 0x1F890, + 0x1F8AE, + 0x1F8B0, + 0x1F8B2, + 0x1F900, + 0x1F979, + 0x1F97A, + 0x1F9CC, + 0x1F9CD, + 0x1FA54, + 0x1FA60, + 0x1FA6E, + 0x1FA70, + 0x1FA75, + 0x1FA78, + 0x1FA7B, + 0x1FA80, + 0x1FA87, + 0x1FA90, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, + 0x20000, + 0x2A6DE, + 0x2A700, + 0x2B735, + 0x2B740, + 0x2B81E, + 0x2B820, + 0x2CEA2, + 0x2CEB0, + 0x2EBE1, + 0x2F800, + 0x2FA1E, + 0x30000, + 0x3134B, + 0xE0001, + 0xE0002, + 0xE0020, + 0xE0080, + 0xE0100, + 0xE01F0 +}; + +# endif /* ASCII/Latin1 */ + +# if 'A' == 193 /* EBCDIC 1047 */ \ + && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ + && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ + && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 + +static const UV UNI_IDENTIFIERTYPE__NOTCHARACTER_invlist[] = { /* for EBCDIC 1047 */ + 1361, /* Number of elements */ + 148565664, /* Version and data structure type */ + 0, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x5, + 0x6, + 0xB, + 0xE, + 0x15, + 0x16, + 0x25, + 0x26, + 0x40, + 0xFF, + 0x100, + 0x378, + 0x37A, + 0x380, + 0x384, + 0x38B, + 0x38C, + 0x38D, + 0x38E, + 0x3A2, + 0x3A3, + 0x530, + 0x531, + 0x557, + 0x559, + 0x58B, + 0x58D, + 0x590, + 0x591, + 0x5C8, + 0x5D0, + 0x5EB, + 0x5EF, + 0x5F5, + 0x600, + 0x61D, + 0x61E, + 0x70E, + 0x70F, + 0x74B, + 0x74D, + 0x7B2, + 0x7C0, + 0x7FB, + 0x7FD, + 0x82E, + 0x830, + 0x83F, + 0x840, + 0x85C, + 0x85E, + 0x85F, + 0x860, + 0x86B, + 0x8A0, + 0x8B5, + 0x8B6, + 0x8C8, + 0x8D3, + 0x984, + 0x985, + 0x98D, + 0x98F, + 0x991, + 0x993, + 0x9A9, + 0x9AA, + 0x9B1, + 0x9B2, + 0x9B3, + 0x9B6, + 0x9BA, + 0x9BC, + 0x9C5, + 0x9C7, + 0x9C9, + 0x9CB, + 0x9CF, + 0x9D7, + 0x9D8, + 0x9DC, + 0x9DE, + 0x9DF, + 0x9E4, + 0x9E6, + 0x9FF, + 0xA01, + 0xA04, + 0xA05, + 0xA0B, + 0xA0F, + 0xA11, + 0xA13, + 0xA29, + 0xA2A, + 0xA31, + 0xA32, + 0xA34, + 0xA35, + 0xA37, + 0xA38, + 0xA3A, + 0xA3C, + 0xA3D, + 0xA3E, + 0xA43, + 0xA47, + 0xA49, + 0xA4B, + 0xA4E, + 0xA51, + 0xA52, + 0xA59, + 0xA5D, + 0xA5E, + 0xA5F, + 0xA66, + 0xA77, + 0xA81, + 0xA84, + 0xA85, + 0xA8E, + 0xA8F, + 0xA92, + 0xA93, + 0xAA9, + 0xAAA, + 0xAB1, + 0xAB2, + 0xAB4, + 0xAB5, + 0xABA, + 0xABC, + 0xAC6, + 0xAC7, + 0xACA, + 0xACB, + 0xACE, + 0xAD0, + 0xAD1, + 0xAE0, + 0xAE4, + 0xAE6, + 0xAF2, + 0xAF9, + 0xB00, + 0xB01, + 0xB04, + 0xB05, + 0xB0D, + 0xB0F, + 0xB11, + 0xB13, + 0xB29, + 0xB2A, + 0xB31, + 0xB32, + 0xB34, + 0xB35, + 0xB3A, + 0xB3C, + 0xB45, + 0xB47, + 0xB49, + 0xB4B, + 0xB4E, + 0xB55, + 0xB58, + 0xB5C, + 0xB5E, + 0xB5F, + 0xB64, + 0xB66, + 0xB78, + 0xB82, + 0xB84, + 0xB85, + 0xB8B, + 0xB8E, + 0xB91, + 0xB92, + 0xB96, + 0xB99, + 0xB9B, + 0xB9C, + 0xB9D, + 0xB9E, + 0xBA0, + 0xBA3, + 0xBA5, + 0xBA8, + 0xBAB, + 0xBAE, + 0xBBA, + 0xBBE, + 0xBC3, + 0xBC6, + 0xBC9, + 0xBCA, + 0xBCE, + 0xBD0, + 0xBD1, + 0xBD7, + 0xBD8, + 0xBE6, + 0xBFB, + 0xC00, + 0xC0D, + 0xC0E, + 0xC11, + 0xC12, + 0xC29, + 0xC2A, + 0xC3A, + 0xC3D, + 0xC45, + 0xC46, + 0xC49, + 0xC4A, + 0xC4E, + 0xC55, + 0xC57, + 0xC58, + 0xC5B, + 0xC60, + 0xC64, + 0xC66, + 0xC70, + 0xC77, + 0xC8D, + 0xC8E, + 0xC91, + 0xC92, + 0xCA9, + 0xCAA, + 0xCB4, + 0xCB5, + 0xCBA, + 0xCBC, + 0xCC5, + 0xCC6, + 0xCC9, + 0xCCA, + 0xCCE, + 0xCD5, + 0xCD7, + 0xCDE, + 0xCDF, + 0xCE0, + 0xCE4, + 0xCE6, + 0xCF0, + 0xCF1, + 0xCF3, + 0xD00, + 0xD0D, + 0xD0E, + 0xD11, + 0xD12, + 0xD45, + 0xD46, + 0xD49, + 0xD4A, + 0xD50, + 0xD54, + 0xD64, + 0xD66, + 0xD80, + 0xD81, + 0xD84, + 0xD85, + 0xD97, + 0xD9A, + 0xDB2, + 0xDB3, + 0xDBC, + 0xDBD, + 0xDBE, + 0xDC0, + 0xDC7, + 0xDCA, + 0xDCB, + 0xDCF, + 0xDD5, + 0xDD6, + 0xDD7, + 0xDD8, + 0xDE0, + 0xDE6, + 0xDF0, + 0xDF2, + 0xDF5, + 0xE01, + 0xE3B, + 0xE3F, + 0xE5C, + 0xE81, + 0xE83, + 0xE84, + 0xE85, + 0xE86, + 0xE8B, + 0xE8C, + 0xEA4, + 0xEA5, + 0xEA6, + 0xEA7, + 0xEBE, + 0xEC0, + 0xEC5, + 0xEC6, + 0xEC7, + 0xEC8, + 0xECE, + 0xED0, + 0xEDA, + 0xEDC, + 0xEE0, + 0xF00, + 0xF48, + 0xF49, + 0xF6D, + 0xF71, + 0xF98, + 0xF99, + 0xFBD, + 0xFBE, + 0xFCD, + 0xFCE, + 0xFDB, + 0x1000, + 0x10C6, + 0x10C7, + 0x10C8, + 0x10CD, + 0x10CE, + 0x10D0, + 0x1249, + 0x124A, + 0x124E, + 0x1250, + 0x1257, + 0x1258, + 0x1259, + 0x125A, + 0x125E, + 0x1260, + 0x1289, + 0x128A, + 0x128E, + 0x1290, + 0x12B1, + 0x12B2, + 0x12B6, + 0x12B8, + 0x12BF, + 0x12C0, + 0x12C1, + 0x12C2, + 0x12C6, + 0x12C8, + 0x12D7, + 0x12D8, + 0x1311, + 0x1312, + 0x1316, + 0x1318, + 0x135B, + 0x135D, + 0x137D, + 0x1380, + 0x139A, + 0x13A0, + 0x13F6, + 0x13F8, + 0x13FE, + 0x1400, + 0x169D, + 0x16A0, + 0x16F9, + 0x1700, + 0x170D, + 0x170E, + 0x1715, + 0x1720, + 0x1737, + 0x1740, + 0x1754, + 0x1760, + 0x176D, + 0x176E, + 0x1771, + 0x1772, + 0x1774, + 0x1780, + 0x17DE, + 0x17E0, + 0x17EA, + 0x17F0, + 0x17FA, + 0x1800, + 0x180F, + 0x1810, + 0x181A, + 0x1820, + 0x1879, + 0x1880, + 0x18AB, + 0x18B0, + 0x18F6, + 0x1900, + 0x191F, + 0x1920, + 0x192C, + 0x1930, + 0x193C, + 0x1940, + 0x1941, + 0x1944, + 0x196E, + 0x1970, + 0x1975, + 0x1980, + 0x19AC, + 0x19B0, + 0x19CA, + 0x19D0, + 0x19DB, + 0x19DE, + 0x1A1C, + 0x1A1E, + 0x1A5F, + 0x1A60, + 0x1A7D, + 0x1A7F, + 0x1A8A, + 0x1A90, + 0x1A9A, + 0x1AA0, + 0x1AAE, + 0x1AB0, + 0x1AC1, + 0x1B00, + 0x1B4C, + 0x1B50, + 0x1B7D, + 0x1B80, + 0x1BF4, + 0x1BFC, + 0x1C38, + 0x1C3B, + 0x1C4A, + 0x1C4D, + 0x1C89, + 0x1C90, + 0x1CBB, + 0x1CBD, + 0x1CC8, + 0x1CD0, + 0x1CFB, + 0x1D00, + 0x1DFA, + 0x1DFB, + 0x1F16, + 0x1F18, + 0x1F1E, + 0x1F20, + 0x1F46, + 0x1F48, + 0x1F4E, + 0x1F50, + 0x1F58, + 0x1F59, + 0x1F5A, + 0x1F5B, + 0x1F5C, + 0x1F5D, + 0x1F5E, + 0x1F5F, + 0x1F7E, + 0x1F80, + 0x1FB5, + 0x1FB6, + 0x1FC5, + 0x1FC6, + 0x1FD4, + 0x1FD6, + 0x1FDC, + 0x1FDD, + 0x1FF0, + 0x1FF2, + 0x1FF5, + 0x1FF6, + 0x1FFF, + 0x2000, + 0x2065, + 0x2066, + 0x2072, + 0x2074, + 0x208F, + 0x2090, + 0x209D, + 0x20A0, + 0x20C0, + 0x20D0, + 0x20F1, + 0x2100, + 0x218C, + 0x2190, + 0x2427, + 0x2440, + 0x244B, + 0x2460, + 0x2B74, + 0x2B76, + 0x2B96, + 0x2B97, + 0x2C2F, + 0x2C30, + 0x2C5F, + 0x2C60, + 0x2CF4, + 0x2CF9, + 0x2D26, + 0x2D27, + 0x2D28, + 0x2D2D, + 0x2D2E, + 0x2D30, + 0x2D68, + 0x2D6F, + 0x2D71, + 0x2D7F, + 0x2D97, + 0x2DA0, + 0x2DA7, + 0x2DA8, + 0x2DAF, + 0x2DB0, + 0x2DB7, + 0x2DB8, + 0x2DBF, + 0x2DC0, + 0x2DC7, + 0x2DC8, + 0x2DCF, + 0x2DD0, + 0x2DD7, + 0x2DD8, + 0x2DDF, + 0x2DE0, + 0x2E53, + 0x2E80, + 0x2E9A, + 0x2E9B, + 0x2EF4, + 0x2F00, + 0x2FD6, + 0x2FF0, + 0x2FFC, + 0x3000, + 0x3040, + 0x3041, + 0x3097, + 0x3099, + 0x3100, + 0x3105, + 0x3130, + 0x3131, + 0x318F, + 0x3190, + 0x31E4, + 0x31F0, + 0x321F, + 0x3220, + 0x9FFD, + 0xA000, + 0xA48D, + 0xA490, + 0xA4C7, + 0xA4D0, + 0xA62C, + 0xA640, + 0xA6F8, + 0xA700, + 0xA7C0, + 0xA7C2, + 0xA7CB, + 0xA7F5, + 0xA82D, + 0xA830, + 0xA83A, + 0xA840, + 0xA878, + 0xA880, + 0xA8C6, + 0xA8CE, + 0xA8DA, + 0xA8E0, + 0xA954, + 0xA95F, + 0xA97D, + 0xA980, + 0xA9CE, + 0xA9CF, + 0xA9DA, + 0xA9DE, + 0xA9FF, + 0xAA00, + 0xAA37, + 0xAA40, + 0xAA4E, + 0xAA50, + 0xAA5A, + 0xAA5C, + 0xAAC3, + 0xAADB, + 0xAAF7, + 0xAB01, + 0xAB07, + 0xAB09, + 0xAB0F, + 0xAB11, + 0xAB17, + 0xAB20, + 0xAB27, + 0xAB28, + 0xAB2F, + 0xAB30, + 0xAB6C, + 0xAB70, + 0xABEE, + 0xABF0, + 0xABFA, + 0xAC00, + 0xD7A4, + 0xD7B0, + 0xD7C7, + 0xD7CB, + 0xD7FC, + 0xF900, + 0xFA6E, + 0xFA70, + 0xFADA, + 0xFB00, + 0xFB07, + 0xFB13, + 0xFB18, + 0xFB1D, + 0xFB37, + 0xFB38, + 0xFB3D, + 0xFB3E, + 0xFB3F, + 0xFB40, + 0xFB42, + 0xFB43, + 0xFB45, + 0xFB46, + 0xFBC2, + 0xFBD3, + 0xFD40, + 0xFD50, + 0xFD90, + 0xFD92, + 0xFDC8, + 0xFDF0, + 0xFDFE, + 0xFE00, + 0xFE1A, + 0xFE20, + 0xFE53, + 0xFE54, + 0xFE67, + 0xFE68, + 0xFE6C, + 0xFE70, + 0xFE75, + 0xFE76, + 0xFEFD, + 0xFEFF, + 0xFF00, + 0xFF01, + 0xFFBF, + 0xFFC2, + 0xFFC8, + 0xFFCA, + 0xFFD0, + 0xFFD2, + 0xFFD8, + 0xFFDA, + 0xFFDD, + 0xFFE0, + 0xFFE7, + 0xFFE8, + 0xFFEF, + 0xFFF9, + 0xFFFE, + 0x10000, + 0x1000C, + 0x1000D, + 0x10027, + 0x10028, + 0x1003B, + 0x1003C, + 0x1003E, + 0x1003F, + 0x1004E, + 0x10050, + 0x1005E, + 0x10080, + 0x100FB, + 0x10100, + 0x10103, + 0x10107, + 0x10134, + 0x10137, + 0x1018F, + 0x10190, + 0x1019D, + 0x101A0, + 0x101A1, + 0x101D0, + 0x101FE, + 0x10280, + 0x1029D, + 0x102A0, + 0x102D1, + 0x102E0, + 0x102FC, + 0x10300, + 0x10324, + 0x1032D, + 0x1034B, + 0x10350, + 0x1037B, + 0x10380, + 0x1039E, + 0x1039F, + 0x103C4, + 0x103C8, + 0x103D6, + 0x10400, + 0x1049E, + 0x104A0, + 0x104AA, + 0x104B0, + 0x104D4, + 0x104D8, + 0x104FC, + 0x10500, + 0x10528, + 0x10530, + 0x10564, + 0x1056F, + 0x10570, + 0x10600, + 0x10737, + 0x10740, + 0x10756, + 0x10760, + 0x10768, + 0x10800, + 0x10806, + 0x10808, + 0x10809, + 0x1080A, + 0x10836, + 0x10837, + 0x10839, + 0x1083C, + 0x1083D, + 0x1083F, + 0x10856, + 0x10857, + 0x1089F, + 0x108A7, + 0x108B0, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, + 0x108FB, + 0x1091C, + 0x1091F, + 0x1093A, + 0x1093F, + 0x10940, + 0x10980, + 0x109B8, + 0x109BC, + 0x109D0, + 0x109D2, + 0x10A04, + 0x10A05, + 0x10A07, + 0x10A0C, + 0x10A14, + 0x10A15, + 0x10A18, + 0x10A19, + 0x10A36, + 0x10A38, + 0x10A3B, + 0x10A3F, + 0x10A49, + 0x10A50, + 0x10A59, + 0x10A60, + 0x10AA0, + 0x10AC0, + 0x10AE7, + 0x10AEB, + 0x10AF7, + 0x10B00, + 0x10B36, + 0x10B39, + 0x10B56, + 0x10B58, + 0x10B73, + 0x10B78, + 0x10B92, + 0x10B99, + 0x10B9D, + 0x10BA9, + 0x10BB0, + 0x10C00, + 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, + 0x10CFA, + 0x10D28, + 0x10D30, + 0x10D3A, + 0x10E60, + 0x10E7F, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAE, + 0x10EB0, + 0x10EB2, + 0x10F00, + 0x10F28, + 0x10F30, + 0x10F5A, + 0x10FB0, + 0x10FCC, + 0x10FE0, + 0x10FF7, + 0x11000, + 0x1104E, + 0x11052, + 0x11070, + 0x1107F, + 0x110C2, + 0x110CD, + 0x110CE, + 0x110D0, + 0x110E9, + 0x110F0, + 0x110FA, + 0x11100, + 0x11135, + 0x11136, + 0x11148, + 0x11150, + 0x11177, + 0x11180, + 0x111E0, + 0x111E1, + 0x111F5, + 0x11200, + 0x11212, + 0x11213, + 0x1123F, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112AA, + 0x112B0, + 0x112EB, + 0x112F0, + 0x112FA, + 0x11300, + 0x11304, + 0x11305, + 0x1130D, + 0x1130F, + 0x11311, + 0x11313, + 0x11329, + 0x1132A, + 0x11331, + 0x11332, + 0x11334, + 0x11335, + 0x1133A, + 0x1133B, + 0x11345, + 0x11347, + 0x11349, + 0x1134B, + 0x1134E, + 0x11350, + 0x11351, + 0x11357, + 0x11358, + 0x1135D, + 0x11364, + 0x11366, + 0x1136D, + 0x11370, + 0x11375, + 0x11400, + 0x1145C, + 0x1145D, + 0x11462, + 0x11480, + 0x114C8, + 0x114D0, + 0x114DA, + 0x11580, + 0x115B6, + 0x115B8, + 0x115DE, + 0x11600, + 0x11645, + 0x11650, + 0x1165A, + 0x11660, + 0x1166D, + 0x11680, + 0x116B9, + 0x116C0, + 0x116CA, + 0x11700, + 0x1171B, + 0x1171D, + 0x1172C, + 0x11730, + 0x11740, + 0x11800, + 0x1183C, + 0x118A0, + 0x118F3, + 0x118FF, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11947, + 0x11950, + 0x1195A, + 0x119A0, + 0x119A8, + 0x119AA, + 0x119D8, + 0x119DA, + 0x119E5, + 0x11A00, + 0x11A48, + 0x11A50, + 0x11AA3, + 0x11AC0, + 0x11AF9, + 0x11C00, + 0x11C09, + 0x11C0A, + 0x11C37, + 0x11C38, + 0x11C46, + 0x11C50, + 0x11C6D, + 0x11C70, + 0x11C90, + 0x11C92, + 0x11CA8, + 0x11CA9, + 0x11CB7, + 0x11D00, + 0x11D07, + 0x11D08, + 0x11D0A, + 0x11D0B, + 0x11D37, + 0x11D3A, + 0x11D3B, + 0x11D3C, + 0x11D3E, + 0x11D3F, + 0x11D48, + 0x11D50, + 0x11D5A, + 0x11D60, + 0x11D66, + 0x11D67, + 0x11D69, + 0x11D6A, + 0x11D8F, + 0x11D90, + 0x11D92, + 0x11D93, + 0x11D99, + 0x11DA0, + 0x11DAA, + 0x11EE0, + 0x11EF9, + 0x11FB0, + 0x11FB1, + 0x11FC0, + 0x11FF2, + 0x11FFF, + 0x1239A, + 0x12400, + 0x1246F, + 0x12470, + 0x12475, + 0x12480, + 0x12544, + 0x13000, + 0x1342F, + 0x13430, + 0x13439, + 0x14400, + 0x14647, + 0x16800, + 0x16A39, + 0x16A40, + 0x16A5F, + 0x16A60, + 0x16A6A, + 0x16A6E, + 0x16A70, + 0x16AD0, + 0x16AEE, + 0x16AF0, + 0x16AF6, + 0x16B00, + 0x16B46, + 0x16B50, + 0x16B5A, + 0x16B5B, + 0x16B62, + 0x16B63, + 0x16B78, + 0x16B7D, + 0x16B90, + 0x16E40, + 0x16E9B, + 0x16F00, + 0x16F4B, + 0x16F4F, + 0x16F88, + 0x16F8F, + 0x16FA0, + 0x16FE0, + 0x16FE5, + 0x16FF0, + 0x16FF2, + 0x17000, + 0x187F8, + 0x18800, + 0x18CD6, + 0x18D00, + 0x18D09, + 0x1B000, + 0x1B11F, + 0x1B150, + 0x1B153, + 0x1B164, + 0x1B168, + 0x1B170, + 0x1B2FC, + 0x1BC00, + 0x1BC6B, + 0x1BC70, + 0x1BC7D, + 0x1BC80, + 0x1BC89, + 0x1BC90, + 0x1BC9A, + 0x1BC9C, + 0x1BCA4, + 0x1D000, + 0x1D0F6, + 0x1D100, + 0x1D127, + 0x1D129, + 0x1D1E9, + 0x1D200, + 0x1D246, + 0x1D2E0, + 0x1D2F4, + 0x1D300, + 0x1D357, + 0x1D360, + 0x1D379, + 0x1D400, + 0x1D455, + 0x1D456, + 0x1D49D, + 0x1D49E, + 0x1D4A0, + 0x1D4A2, + 0x1D4A3, + 0x1D4A5, + 0x1D4A7, + 0x1D4A9, + 0x1D4AD, + 0x1D4AE, + 0x1D4BA, + 0x1D4BB, + 0x1D4BC, + 0x1D4BD, + 0x1D4C4, + 0x1D4C5, + 0x1D506, + 0x1D507, + 0x1D50B, + 0x1D50D, + 0x1D515, + 0x1D516, + 0x1D51D, + 0x1D51E, + 0x1D53A, + 0x1D53B, + 0x1D53F, + 0x1D540, + 0x1D545, + 0x1D546, + 0x1D547, + 0x1D54A, + 0x1D551, + 0x1D552, + 0x1D6A6, + 0x1D6A8, + 0x1D7CC, + 0x1D7CE, + 0x1DA8C, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, + 0x1E000, + 0x1E007, + 0x1E008, + 0x1E019, + 0x1E01B, + 0x1E022, + 0x1E023, + 0x1E025, + 0x1E026, + 0x1E02B, + 0x1E100, + 0x1E12D, + 0x1E130, + 0x1E13E, + 0x1E140, + 0x1E14A, + 0x1E14E, + 0x1E150, + 0x1E2C0, + 0x1E2FA, + 0x1E2FF, + 0x1E300, + 0x1E800, + 0x1E8C5, + 0x1E8C7, + 0x1E8D7, + 0x1E900, + 0x1E94C, + 0x1E950, + 0x1E95A, + 0x1E95E, + 0x1E960, + 0x1EC71, + 0x1ECB5, + 0x1ED01, + 0x1ED3E, + 0x1EE00, + 0x1EE04, + 0x1EE05, + 0x1EE20, + 0x1EE21, + 0x1EE23, + 0x1EE24, + 0x1EE25, + 0x1EE27, + 0x1EE28, + 0x1EE29, + 0x1EE33, + 0x1EE34, + 0x1EE38, + 0x1EE39, + 0x1EE3A, + 0x1EE3B, + 0x1EE3C, + 0x1EE42, + 0x1EE43, + 0x1EE47, + 0x1EE48, + 0x1EE49, + 0x1EE4A, + 0x1EE4B, + 0x1EE4C, + 0x1EE4D, + 0x1EE50, + 0x1EE51, + 0x1EE53, + 0x1EE54, + 0x1EE55, + 0x1EE57, + 0x1EE58, + 0x1EE59, + 0x1EE5A, + 0x1EE5B, + 0x1EE5C, + 0x1EE5D, + 0x1EE5E, + 0x1EE5F, + 0x1EE60, + 0x1EE61, + 0x1EE63, + 0x1EE64, + 0x1EE65, + 0x1EE67, + 0x1EE6B, + 0x1EE6C, + 0x1EE73, + 0x1EE74, + 0x1EE78, + 0x1EE79, + 0x1EE7D, + 0x1EE7E, + 0x1EE7F, + 0x1EE80, + 0x1EE8A, + 0x1EE8B, + 0x1EE9C, + 0x1EEA1, + 0x1EEA4, + 0x1EEA5, + 0x1EEAA, + 0x1EEAB, + 0x1EEBC, + 0x1EEF0, + 0x1EEF2, + 0x1F000, + 0x1F02C, + 0x1F030, + 0x1F094, + 0x1F0A0, + 0x1F0AF, + 0x1F0B1, + 0x1F0C0, + 0x1F0C1, + 0x1F0D0, + 0x1F0D1, + 0x1F0F6, + 0x1F100, + 0x1F1AE, + 0x1F1E6, + 0x1F203, + 0x1F210, + 0x1F23C, + 0x1F240, + 0x1F249, + 0x1F250, + 0x1F252, + 0x1F260, + 0x1F266, + 0x1F300, + 0x1F6D8, + 0x1F6E0, + 0x1F6ED, + 0x1F6F0, + 0x1F6FD, + 0x1F700, + 0x1F774, + 0x1F780, + 0x1F7D9, + 0x1F7E0, + 0x1F7EC, + 0x1F800, + 0x1F80C, + 0x1F810, + 0x1F848, + 0x1F850, + 0x1F85A, + 0x1F860, + 0x1F888, + 0x1F890, + 0x1F8AE, + 0x1F8B0, + 0x1F8B2, + 0x1F900, + 0x1F979, + 0x1F97A, + 0x1F9CC, + 0x1F9CD, + 0x1FA54, + 0x1FA60, + 0x1FA6E, + 0x1FA70, + 0x1FA75, + 0x1FA78, + 0x1FA7B, + 0x1FA80, + 0x1FA87, + 0x1FA90, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, + 0x20000, + 0x2A6DE, + 0x2A700, + 0x2B735, + 0x2B740, + 0x2B81E, + 0x2B820, + 0x2CEA2, + 0x2CEB0, + 0x2EBE1, + 0x2F800, + 0x2FA1E, + 0x30000, + 0x3134B, + 0xE0001, + 0xE0002, + 0xE0020, + 0xE0080, + 0xE0100, + 0xE01F0 +}; + +# endif /* EBCDIC 1047 */ + +# if 'A' == 193 /* EBCDIC 037 */ \ + && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ + && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ + && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 + +static const UV UNI_IDENTIFIERTYPE__NOTCHARACTER_invlist[] = { /* for EBCDIC 037 */ + 1361, /* Number of elements */ + 148565664, /* Version and data structure type */ + 0, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x5, + 0x6, + 0xB, + 0xE, + 0x15, + 0x16, + 0x25, + 0x26, + 0x40, + 0xFF, + 0x100, + 0x378, + 0x37A, + 0x380, + 0x384, + 0x38B, + 0x38C, + 0x38D, + 0x38E, + 0x3A2, + 0x3A3, + 0x530, + 0x531, + 0x557, + 0x559, + 0x58B, + 0x58D, + 0x590, + 0x591, + 0x5C8, + 0x5D0, + 0x5EB, + 0x5EF, + 0x5F5, + 0x600, + 0x61D, + 0x61E, + 0x70E, + 0x70F, + 0x74B, + 0x74D, + 0x7B2, + 0x7C0, + 0x7FB, + 0x7FD, + 0x82E, + 0x830, + 0x83F, + 0x840, + 0x85C, + 0x85E, + 0x85F, + 0x860, + 0x86B, + 0x8A0, + 0x8B5, + 0x8B6, + 0x8C8, + 0x8D3, + 0x984, + 0x985, + 0x98D, + 0x98F, + 0x991, + 0x993, + 0x9A9, + 0x9AA, + 0x9B1, + 0x9B2, + 0x9B3, + 0x9B6, + 0x9BA, + 0x9BC, + 0x9C5, + 0x9C7, + 0x9C9, + 0x9CB, + 0x9CF, + 0x9D7, + 0x9D8, + 0x9DC, + 0x9DE, + 0x9DF, + 0x9E4, + 0x9E6, + 0x9FF, + 0xA01, + 0xA04, + 0xA05, + 0xA0B, + 0xA0F, + 0xA11, + 0xA13, + 0xA29, + 0xA2A, + 0xA31, + 0xA32, + 0xA34, + 0xA35, + 0xA37, + 0xA38, + 0xA3A, + 0xA3C, + 0xA3D, + 0xA3E, + 0xA43, + 0xA47, + 0xA49, + 0xA4B, + 0xA4E, + 0xA51, + 0xA52, + 0xA59, + 0xA5D, + 0xA5E, + 0xA5F, + 0xA66, + 0xA77, + 0xA81, + 0xA84, + 0xA85, + 0xA8E, + 0xA8F, + 0xA92, + 0xA93, + 0xAA9, + 0xAAA, + 0xAB1, + 0xAB2, + 0xAB4, + 0xAB5, + 0xABA, + 0xABC, + 0xAC6, + 0xAC7, + 0xACA, + 0xACB, + 0xACE, + 0xAD0, + 0xAD1, + 0xAE0, + 0xAE4, + 0xAE6, + 0xAF2, + 0xAF9, + 0xB00, + 0xB01, + 0xB04, + 0xB05, + 0xB0D, + 0xB0F, + 0xB11, + 0xB13, + 0xB29, + 0xB2A, + 0xB31, + 0xB32, + 0xB34, + 0xB35, + 0xB3A, + 0xB3C, + 0xB45, + 0xB47, + 0xB49, + 0xB4B, + 0xB4E, + 0xB55, + 0xB58, + 0xB5C, + 0xB5E, + 0xB5F, + 0xB64, + 0xB66, + 0xB78, + 0xB82, + 0xB84, + 0xB85, + 0xB8B, + 0xB8E, + 0xB91, + 0xB92, + 0xB96, + 0xB99, + 0xB9B, + 0xB9C, + 0xB9D, + 0xB9E, + 0xBA0, + 0xBA3, + 0xBA5, + 0xBA8, + 0xBAB, + 0xBAE, + 0xBBA, + 0xBBE, + 0xBC3, + 0xBC6, + 0xBC9, + 0xBCA, + 0xBCE, + 0xBD0, + 0xBD1, + 0xBD7, + 0xBD8, + 0xBE6, + 0xBFB, + 0xC00, + 0xC0D, + 0xC0E, + 0xC11, + 0xC12, + 0xC29, + 0xC2A, + 0xC3A, + 0xC3D, + 0xC45, + 0xC46, + 0xC49, + 0xC4A, + 0xC4E, + 0xC55, + 0xC57, + 0xC58, + 0xC5B, + 0xC60, + 0xC64, + 0xC66, + 0xC70, + 0xC77, + 0xC8D, + 0xC8E, + 0xC91, + 0xC92, + 0xCA9, + 0xCAA, + 0xCB4, + 0xCB5, + 0xCBA, + 0xCBC, + 0xCC5, + 0xCC6, + 0xCC9, + 0xCCA, + 0xCCE, + 0xCD5, + 0xCD7, + 0xCDE, + 0xCDF, + 0xCE0, + 0xCE4, + 0xCE6, + 0xCF0, + 0xCF1, + 0xCF3, + 0xD00, + 0xD0D, + 0xD0E, + 0xD11, + 0xD12, + 0xD45, + 0xD46, + 0xD49, + 0xD4A, + 0xD50, + 0xD54, + 0xD64, + 0xD66, + 0xD80, + 0xD81, + 0xD84, + 0xD85, + 0xD97, + 0xD9A, + 0xDB2, + 0xDB3, + 0xDBC, + 0xDBD, + 0xDBE, + 0xDC0, + 0xDC7, + 0xDCA, + 0xDCB, + 0xDCF, + 0xDD5, + 0xDD6, + 0xDD7, + 0xDD8, + 0xDE0, + 0xDE6, + 0xDF0, + 0xDF2, + 0xDF5, + 0xE01, + 0xE3B, + 0xE3F, + 0xE5C, + 0xE81, + 0xE83, + 0xE84, + 0xE85, + 0xE86, + 0xE8B, + 0xE8C, + 0xEA4, + 0xEA5, + 0xEA6, + 0xEA7, + 0xEBE, + 0xEC0, + 0xEC5, + 0xEC6, + 0xEC7, + 0xEC8, + 0xECE, + 0xED0, + 0xEDA, + 0xEDC, + 0xEE0, + 0xF00, + 0xF48, + 0xF49, + 0xF6D, + 0xF71, + 0xF98, + 0xF99, + 0xFBD, + 0xFBE, + 0xFCD, + 0xFCE, + 0xFDB, + 0x1000, + 0x10C6, + 0x10C7, + 0x10C8, + 0x10CD, + 0x10CE, + 0x10D0, + 0x1249, + 0x124A, + 0x124E, + 0x1250, + 0x1257, + 0x1258, + 0x1259, + 0x125A, + 0x125E, + 0x1260, + 0x1289, + 0x128A, + 0x128E, + 0x1290, + 0x12B1, + 0x12B2, + 0x12B6, + 0x12B8, + 0x12BF, + 0x12C0, + 0x12C1, + 0x12C2, + 0x12C6, + 0x12C8, + 0x12D7, + 0x12D8, + 0x1311, + 0x1312, + 0x1316, + 0x1318, + 0x135B, + 0x135D, + 0x137D, + 0x1380, + 0x139A, + 0x13A0, + 0x13F6, + 0x13F8, + 0x13FE, + 0x1400, + 0x169D, + 0x16A0, + 0x16F9, + 0x1700, + 0x170D, + 0x170E, + 0x1715, + 0x1720, + 0x1737, + 0x1740, + 0x1754, + 0x1760, + 0x176D, + 0x176E, + 0x1771, + 0x1772, + 0x1774, + 0x1780, + 0x17DE, + 0x17E0, + 0x17EA, + 0x17F0, + 0x17FA, + 0x1800, + 0x180F, + 0x1810, + 0x181A, + 0x1820, + 0x1879, + 0x1880, + 0x18AB, + 0x18B0, + 0x18F6, + 0x1900, + 0x191F, + 0x1920, + 0x192C, + 0x1930, + 0x193C, + 0x1940, + 0x1941, + 0x1944, + 0x196E, + 0x1970, + 0x1975, + 0x1980, + 0x19AC, + 0x19B0, + 0x19CA, + 0x19D0, + 0x19DB, + 0x19DE, + 0x1A1C, + 0x1A1E, + 0x1A5F, + 0x1A60, + 0x1A7D, + 0x1A7F, + 0x1A8A, + 0x1A90, + 0x1A9A, + 0x1AA0, + 0x1AAE, + 0x1AB0, + 0x1AC1, + 0x1B00, + 0x1B4C, + 0x1B50, + 0x1B7D, + 0x1B80, + 0x1BF4, + 0x1BFC, + 0x1C38, + 0x1C3B, + 0x1C4A, + 0x1C4D, + 0x1C89, + 0x1C90, + 0x1CBB, + 0x1CBD, + 0x1CC8, + 0x1CD0, + 0x1CFB, + 0x1D00, + 0x1DFA, + 0x1DFB, + 0x1F16, + 0x1F18, + 0x1F1E, + 0x1F20, + 0x1F46, + 0x1F48, + 0x1F4E, + 0x1F50, + 0x1F58, + 0x1F59, + 0x1F5A, + 0x1F5B, + 0x1F5C, + 0x1F5D, + 0x1F5E, + 0x1F5F, + 0x1F7E, + 0x1F80, + 0x1FB5, + 0x1FB6, + 0x1FC5, + 0x1FC6, + 0x1FD4, + 0x1FD6, + 0x1FDC, + 0x1FDD, + 0x1FF0, + 0x1FF2, + 0x1FF5, + 0x1FF6, + 0x1FFF, + 0x2000, + 0x2065, + 0x2066, + 0x2072, + 0x2074, + 0x208F, + 0x2090, + 0x209D, + 0x20A0, + 0x20C0, + 0x20D0, + 0x20F1, + 0x2100, + 0x218C, + 0x2190, + 0x2427, + 0x2440, + 0x244B, + 0x2460, + 0x2B74, + 0x2B76, + 0x2B96, + 0x2B97, + 0x2C2F, + 0x2C30, + 0x2C5F, + 0x2C60, + 0x2CF4, + 0x2CF9, + 0x2D26, + 0x2D27, + 0x2D28, + 0x2D2D, + 0x2D2E, + 0x2D30, + 0x2D68, + 0x2D6F, + 0x2D71, + 0x2D7F, + 0x2D97, + 0x2DA0, + 0x2DA7, + 0x2DA8, + 0x2DAF, + 0x2DB0, + 0x2DB7, + 0x2DB8, + 0x2DBF, + 0x2DC0, + 0x2DC7, + 0x2DC8, + 0x2DCF, + 0x2DD0, + 0x2DD7, + 0x2DD8, + 0x2DDF, + 0x2DE0, + 0x2E53, + 0x2E80, + 0x2E9A, + 0x2E9B, + 0x2EF4, + 0x2F00, + 0x2FD6, + 0x2FF0, + 0x2FFC, + 0x3000, + 0x3040, + 0x3041, + 0x3097, + 0x3099, + 0x3100, + 0x3105, + 0x3130, + 0x3131, + 0x318F, + 0x3190, + 0x31E4, + 0x31F0, + 0x321F, + 0x3220, + 0x9FFD, + 0xA000, + 0xA48D, + 0xA490, + 0xA4C7, + 0xA4D0, + 0xA62C, + 0xA640, + 0xA6F8, + 0xA700, + 0xA7C0, + 0xA7C2, + 0xA7CB, + 0xA7F5, + 0xA82D, + 0xA830, + 0xA83A, + 0xA840, + 0xA878, + 0xA880, + 0xA8C6, + 0xA8CE, + 0xA8DA, + 0xA8E0, + 0xA954, + 0xA95F, + 0xA97D, + 0xA980, + 0xA9CE, + 0xA9CF, + 0xA9DA, + 0xA9DE, + 0xA9FF, + 0xAA00, + 0xAA37, + 0xAA40, + 0xAA4E, + 0xAA50, + 0xAA5A, + 0xAA5C, + 0xAAC3, + 0xAADB, + 0xAAF7, + 0xAB01, + 0xAB07, + 0xAB09, + 0xAB0F, + 0xAB11, + 0xAB17, + 0xAB20, + 0xAB27, + 0xAB28, + 0xAB2F, + 0xAB30, + 0xAB6C, + 0xAB70, + 0xABEE, + 0xABF0, + 0xABFA, + 0xAC00, + 0xD7A4, + 0xD7B0, + 0xD7C7, + 0xD7CB, + 0xD7FC, + 0xF900, + 0xFA6E, + 0xFA70, + 0xFADA, + 0xFB00, + 0xFB07, + 0xFB13, + 0xFB18, + 0xFB1D, + 0xFB37, + 0xFB38, + 0xFB3D, + 0xFB3E, + 0xFB3F, + 0xFB40, + 0xFB42, + 0xFB43, + 0xFB45, + 0xFB46, + 0xFBC2, + 0xFBD3, + 0xFD40, + 0xFD50, + 0xFD90, + 0xFD92, + 0xFDC8, + 0xFDF0, + 0xFDFE, + 0xFE00, + 0xFE1A, + 0xFE20, + 0xFE53, + 0xFE54, + 0xFE67, + 0xFE68, + 0xFE6C, + 0xFE70, + 0xFE75, + 0xFE76, + 0xFEFD, + 0xFEFF, + 0xFF00, + 0xFF01, + 0xFFBF, + 0xFFC2, + 0xFFC8, + 0xFFCA, + 0xFFD0, + 0xFFD2, + 0xFFD8, + 0xFFDA, + 0xFFDD, + 0xFFE0, + 0xFFE7, + 0xFFE8, + 0xFFEF, + 0xFFF9, + 0xFFFE, + 0x10000, + 0x1000C, + 0x1000D, + 0x10027, + 0x10028, + 0x1003B, + 0x1003C, + 0x1003E, + 0x1003F, + 0x1004E, + 0x10050, + 0x1005E, + 0x10080, + 0x100FB, + 0x10100, + 0x10103, + 0x10107, + 0x10134, + 0x10137, + 0x1018F, + 0x10190, + 0x1019D, + 0x101A0, + 0x101A1, + 0x101D0, + 0x101FE, + 0x10280, + 0x1029D, + 0x102A0, + 0x102D1, + 0x102E0, + 0x102FC, + 0x10300, + 0x10324, + 0x1032D, + 0x1034B, + 0x10350, + 0x1037B, + 0x10380, + 0x1039E, + 0x1039F, + 0x103C4, + 0x103C8, + 0x103D6, + 0x10400, + 0x1049E, + 0x104A0, + 0x104AA, + 0x104B0, + 0x104D4, + 0x104D8, + 0x104FC, + 0x10500, + 0x10528, + 0x10530, + 0x10564, + 0x1056F, + 0x10570, + 0x10600, + 0x10737, + 0x10740, + 0x10756, + 0x10760, + 0x10768, + 0x10800, + 0x10806, + 0x10808, + 0x10809, + 0x1080A, + 0x10836, + 0x10837, + 0x10839, + 0x1083C, + 0x1083D, + 0x1083F, + 0x10856, + 0x10857, + 0x1089F, + 0x108A7, + 0x108B0, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, + 0x108FB, + 0x1091C, + 0x1091F, + 0x1093A, + 0x1093F, + 0x10940, + 0x10980, + 0x109B8, + 0x109BC, + 0x109D0, + 0x109D2, + 0x10A04, + 0x10A05, + 0x10A07, + 0x10A0C, + 0x10A14, + 0x10A15, + 0x10A18, + 0x10A19, + 0x10A36, + 0x10A38, + 0x10A3B, + 0x10A3F, + 0x10A49, + 0x10A50, + 0x10A59, + 0x10A60, + 0x10AA0, + 0x10AC0, + 0x10AE7, + 0x10AEB, + 0x10AF7, + 0x10B00, + 0x10B36, + 0x10B39, + 0x10B56, + 0x10B58, + 0x10B73, + 0x10B78, + 0x10B92, + 0x10B99, + 0x10B9D, + 0x10BA9, + 0x10BB0, + 0x10C00, + 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, + 0x10CFA, + 0x10D28, + 0x10D30, + 0x10D3A, + 0x10E60, + 0x10E7F, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAE, + 0x10EB0, + 0x10EB2, + 0x10F00, + 0x10F28, + 0x10F30, + 0x10F5A, + 0x10FB0, + 0x10FCC, + 0x10FE0, + 0x10FF7, + 0x11000, + 0x1104E, + 0x11052, + 0x11070, + 0x1107F, + 0x110C2, + 0x110CD, + 0x110CE, + 0x110D0, + 0x110E9, + 0x110F0, + 0x110FA, + 0x11100, + 0x11135, + 0x11136, + 0x11148, + 0x11150, + 0x11177, + 0x11180, + 0x111E0, + 0x111E1, + 0x111F5, + 0x11200, + 0x11212, + 0x11213, + 0x1123F, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112AA, + 0x112B0, + 0x112EB, + 0x112F0, + 0x112FA, + 0x11300, + 0x11304, + 0x11305, + 0x1130D, + 0x1130F, + 0x11311, + 0x11313, + 0x11329, + 0x1132A, + 0x11331, + 0x11332, + 0x11334, + 0x11335, + 0x1133A, + 0x1133B, + 0x11345, + 0x11347, + 0x11349, + 0x1134B, + 0x1134E, + 0x11350, + 0x11351, + 0x11357, + 0x11358, + 0x1135D, + 0x11364, + 0x11366, + 0x1136D, + 0x11370, + 0x11375, + 0x11400, + 0x1145C, + 0x1145D, + 0x11462, + 0x11480, + 0x114C8, + 0x114D0, + 0x114DA, + 0x11580, + 0x115B6, + 0x115B8, + 0x115DE, + 0x11600, + 0x11645, + 0x11650, + 0x1165A, + 0x11660, + 0x1166D, + 0x11680, + 0x116B9, + 0x116C0, + 0x116CA, + 0x11700, + 0x1171B, + 0x1171D, + 0x1172C, + 0x11730, + 0x11740, + 0x11800, + 0x1183C, + 0x118A0, + 0x118F3, + 0x118FF, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11947, + 0x11950, + 0x1195A, + 0x119A0, + 0x119A8, + 0x119AA, + 0x119D8, + 0x119DA, + 0x119E5, + 0x11A00, + 0x11A48, + 0x11A50, + 0x11AA3, + 0x11AC0, + 0x11AF9, + 0x11C00, + 0x11C09, + 0x11C0A, + 0x11C37, + 0x11C38, + 0x11C46, + 0x11C50, + 0x11C6D, + 0x11C70, + 0x11C90, + 0x11C92, + 0x11CA8, + 0x11CA9, + 0x11CB7, + 0x11D00, + 0x11D07, + 0x11D08, + 0x11D0A, + 0x11D0B, + 0x11D37, + 0x11D3A, + 0x11D3B, + 0x11D3C, + 0x11D3E, + 0x11D3F, + 0x11D48, + 0x11D50, + 0x11D5A, + 0x11D60, + 0x11D66, + 0x11D67, + 0x11D69, + 0x11D6A, + 0x11D8F, + 0x11D90, + 0x11D92, + 0x11D93, + 0x11D99, + 0x11DA0, + 0x11DAA, + 0x11EE0, + 0x11EF9, + 0x11FB0, + 0x11FB1, + 0x11FC0, + 0x11FF2, + 0x11FFF, + 0x1239A, + 0x12400, + 0x1246F, + 0x12470, + 0x12475, + 0x12480, + 0x12544, + 0x13000, + 0x1342F, + 0x13430, + 0x13439, + 0x14400, + 0x14647, + 0x16800, + 0x16A39, + 0x16A40, + 0x16A5F, + 0x16A60, + 0x16A6A, + 0x16A6E, + 0x16A70, + 0x16AD0, + 0x16AEE, + 0x16AF0, + 0x16AF6, + 0x16B00, + 0x16B46, + 0x16B50, + 0x16B5A, + 0x16B5B, + 0x16B62, + 0x16B63, + 0x16B78, + 0x16B7D, + 0x16B90, + 0x16E40, + 0x16E9B, + 0x16F00, + 0x16F4B, + 0x16F4F, + 0x16F88, + 0x16F8F, + 0x16FA0, + 0x16FE0, + 0x16FE5, + 0x16FF0, + 0x16FF2, + 0x17000, + 0x187F8, + 0x18800, + 0x18CD6, + 0x18D00, + 0x18D09, + 0x1B000, + 0x1B11F, + 0x1B150, + 0x1B153, + 0x1B164, + 0x1B168, + 0x1B170, + 0x1B2FC, + 0x1BC00, + 0x1BC6B, + 0x1BC70, + 0x1BC7D, + 0x1BC80, + 0x1BC89, + 0x1BC90, + 0x1BC9A, + 0x1BC9C, + 0x1BCA4, + 0x1D000, + 0x1D0F6, + 0x1D100, + 0x1D127, + 0x1D129, + 0x1D1E9, + 0x1D200, + 0x1D246, + 0x1D2E0, + 0x1D2F4, + 0x1D300, + 0x1D357, + 0x1D360, + 0x1D379, + 0x1D400, + 0x1D455, + 0x1D456, + 0x1D49D, + 0x1D49E, + 0x1D4A0, + 0x1D4A2, + 0x1D4A3, + 0x1D4A5, + 0x1D4A7, + 0x1D4A9, + 0x1D4AD, + 0x1D4AE, + 0x1D4BA, + 0x1D4BB, + 0x1D4BC, + 0x1D4BD, + 0x1D4C4, + 0x1D4C5, + 0x1D506, + 0x1D507, + 0x1D50B, + 0x1D50D, + 0x1D515, + 0x1D516, + 0x1D51D, + 0x1D51E, + 0x1D53A, + 0x1D53B, + 0x1D53F, + 0x1D540, + 0x1D545, + 0x1D546, + 0x1D547, + 0x1D54A, + 0x1D551, + 0x1D552, + 0x1D6A6, + 0x1D6A8, + 0x1D7CC, + 0x1D7CE, + 0x1DA8C, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, + 0x1E000, + 0x1E007, + 0x1E008, + 0x1E019, + 0x1E01B, + 0x1E022, + 0x1E023, + 0x1E025, + 0x1E026, + 0x1E02B, + 0x1E100, + 0x1E12D, + 0x1E130, + 0x1E13E, + 0x1E140, + 0x1E14A, + 0x1E14E, + 0x1E150, + 0x1E2C0, + 0x1E2FA, + 0x1E2FF, + 0x1E300, + 0x1E800, + 0x1E8C5, + 0x1E8C7, + 0x1E8D7, + 0x1E900, + 0x1E94C, + 0x1E950, + 0x1E95A, + 0x1E95E, + 0x1E960, + 0x1EC71, + 0x1ECB5, + 0x1ED01, + 0x1ED3E, + 0x1EE00, + 0x1EE04, + 0x1EE05, + 0x1EE20, + 0x1EE21, + 0x1EE23, + 0x1EE24, + 0x1EE25, + 0x1EE27, + 0x1EE28, + 0x1EE29, + 0x1EE33, + 0x1EE34, + 0x1EE38, + 0x1EE39, + 0x1EE3A, + 0x1EE3B, + 0x1EE3C, + 0x1EE42, + 0x1EE43, + 0x1EE47, + 0x1EE48, + 0x1EE49, + 0x1EE4A, + 0x1EE4B, + 0x1EE4C, + 0x1EE4D, + 0x1EE50, + 0x1EE51, + 0x1EE53, + 0x1EE54, + 0x1EE55, + 0x1EE57, + 0x1EE58, + 0x1EE59, + 0x1EE5A, + 0x1EE5B, + 0x1EE5C, + 0x1EE5D, + 0x1EE5E, + 0x1EE5F, + 0x1EE60, + 0x1EE61, + 0x1EE63, + 0x1EE64, + 0x1EE65, + 0x1EE67, + 0x1EE6B, + 0x1EE6C, + 0x1EE73, + 0x1EE74, + 0x1EE78, + 0x1EE79, + 0x1EE7D, + 0x1EE7E, + 0x1EE7F, + 0x1EE80, + 0x1EE8A, + 0x1EE8B, + 0x1EE9C, + 0x1EEA1, + 0x1EEA4, + 0x1EEA5, + 0x1EEAA, + 0x1EEAB, + 0x1EEBC, + 0x1EEF0, + 0x1EEF2, + 0x1F000, + 0x1F02C, + 0x1F030, + 0x1F094, + 0x1F0A0, + 0x1F0AF, + 0x1F0B1, + 0x1F0C0, + 0x1F0C1, + 0x1F0D0, + 0x1F0D1, + 0x1F0F6, + 0x1F100, + 0x1F1AE, + 0x1F1E6, + 0x1F203, + 0x1F210, + 0x1F23C, + 0x1F240, + 0x1F249, + 0x1F250, + 0x1F252, + 0x1F260, + 0x1F266, + 0x1F300, + 0x1F6D8, + 0x1F6E0, + 0x1F6ED, + 0x1F6F0, + 0x1F6FD, + 0x1F700, + 0x1F774, + 0x1F780, + 0x1F7D9, + 0x1F7E0, + 0x1F7EC, + 0x1F800, + 0x1F80C, + 0x1F810, + 0x1F848, + 0x1F850, + 0x1F85A, + 0x1F860, + 0x1F888, + 0x1F890, + 0x1F8AE, + 0x1F8B0, + 0x1F8B2, + 0x1F900, + 0x1F979, + 0x1F97A, + 0x1F9CC, + 0x1F9CD, + 0x1FA54, + 0x1FA60, + 0x1FA6E, + 0x1FA70, + 0x1FA75, + 0x1FA78, + 0x1FA7B, + 0x1FA80, + 0x1FA87, + 0x1FA90, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, + 0x20000, + 0x2A6DE, + 0x2A700, + 0x2B735, + 0x2B740, + 0x2B81E, + 0x2B820, + 0x2CEA2, + 0x2CEB0, + 0x2EBE1, + 0x2F800, + 0x2FA1E, + 0x30000, + 0x3134B, + 0xE0001, + 0xE0002, + 0xE0020, + 0xE0080, + 0xE0100, + 0xE01F0 +}; + +# endif /* EBCDIC 037 */ + +# if 'A' == 65 /* ASCII/Latin1 */ + +static const UV UNI_IDENTIFIERTYPE__NOTNFKC_invlist[] = { /* for ASCII/Latin1 */ + 503, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0xA0, + 0xA1, + 0xA8, + 0xA9, + 0xAA, + 0xAB, + 0xAF, + 0xB0, + 0xB2, + 0xB6, + 0xB8, + 0xBB, + 0xBC, + 0xBF, + 0x132, + 0x134, + 0x13F, + 0x141, + 0x17F, + 0x180, + 0x1C4, + 0x1CD, + 0x1F1, + 0x1F4, + 0x2B0, + 0x2B9, + 0x2D8, + 0x2DE, + 0x2E0, + 0x2E5, + 0x340, + 0x342, + 0x343, + 0x345, + 0x374, + 0x375, + 0x37A, + 0x37B, + 0x37E, + 0x37F, + 0x384, + 0x386, + 0x387, + 0x388, + 0x3D0, + 0x3D7, + 0x3F0, + 0x3F3, + 0x3F4, + 0x3F6, + 0x3F9, + 0x3FA, + 0x587, + 0x588, + 0x675, + 0x679, + 0x958, + 0x960, + 0x9DC, + 0x9DE, + 0x9DF, + 0x9E0, + 0xA33, + 0xA34, + 0xA36, + 0xA37, + 0xA59, + 0xA5C, + 0xA5E, + 0xA5F, + 0xB5C, + 0xB5E, + 0xE33, + 0xE34, + 0xEB3, + 0xEB4, + 0xEDC, + 0xEDE, + 0xF0C, + 0xF0D, + 0xF43, + 0xF44, + 0xF4D, + 0xF4E, + 0xF52, + 0xF53, + 0xF57, + 0xF58, + 0xF5C, + 0xF5D, + 0xF69, + 0xF6A, + 0xF73, + 0xF74, + 0xF75, + 0xF77, + 0xF78, + 0xF79, + 0xF81, + 0xF82, + 0xF93, + 0xF94, + 0xF9D, + 0xF9E, + 0xFA2, + 0xFA3, + 0xFA7, + 0xFA8, + 0xFAC, + 0xFAD, + 0xFB9, + 0xFBA, + 0x10FC, + 0x10FD, + 0x1D2C, + 0x1D2F, + 0x1D30, + 0x1D3B, + 0x1D3C, + 0x1D4E, + 0x1D4F, + 0x1D6B, + 0x1D78, + 0x1D79, + 0x1D9B, + 0x1DC0, + 0x1E9A, + 0x1E9C, + 0x1F71, + 0x1F72, + 0x1F73, + 0x1F74, + 0x1F75, + 0x1F76, + 0x1F77, + 0x1F78, + 0x1F79, + 0x1F7A, + 0x1F7B, + 0x1F7C, + 0x1F7D, + 0x1F7E, + 0x1FBB, + 0x1FBC, + 0x1FBD, + 0x1FC2, + 0x1FC9, + 0x1FCA, + 0x1FCB, + 0x1FCC, + 0x1FCD, + 0x1FD0, + 0x1FD3, + 0x1FD4, + 0x1FDB, + 0x1FDC, + 0x1FDD, + 0x1FE0, + 0x1FE3, + 0x1FE4, + 0x1FEB, + 0x1FEC, + 0x1FED, + 0x1FF0, + 0x1FF9, + 0x1FFA, + 0x1FFB, + 0x1FFC, + 0x1FFD, + 0x1FFF, + 0x2000, + 0x200B, + 0x2011, + 0x2012, + 0x2017, + 0x2018, + 0x2024, + 0x2027, + 0x202F, + 0x2030, + 0x2033, + 0x2035, + 0x2036, + 0x2038, + 0x203C, + 0x203D, + 0x203E, + 0x203F, + 0x2047, + 0x204A, + 0x2057, + 0x2058, + 0x205F, + 0x2060, + 0x2070, + 0x2072, + 0x2074, + 0x208F, + 0x2090, + 0x209D, + 0x20A8, + 0x20A9, + 0x2100, + 0x2104, + 0x2105, + 0x2108, + 0x2109, + 0x2114, + 0x2115, + 0x2117, + 0x2119, + 0x211E, + 0x2120, + 0x2123, + 0x2124, + 0x2125, + 0x2126, + 0x2127, + 0x2128, + 0x2129, + 0x212A, + 0x212E, + 0x212F, + 0x2132, + 0x2133, + 0x213A, + 0x213B, + 0x2141, + 0x2145, + 0x214A, + 0x2150, + 0x2180, + 0x2189, + 0x218A, + 0x222C, + 0x222E, + 0x222F, + 0x2231, + 0x2460, + 0x24EB, + 0x2A0C, + 0x2A0D, + 0x2A74, + 0x2A77, + 0x2ADC, + 0x2ADD, + 0x2C7C, + 0x2C7E, + 0x2D6F, + 0x2D70, + 0x2E9F, + 0x2EA0, + 0x2EF3, + 0x2EF4, + 0x2F00, + 0x2FD6, + 0x3000, + 0x3001, + 0x3036, + 0x3037, + 0x3038, + 0x303B, + 0x309B, + 0x309D, + 0x309F, + 0x30A0, + 0x30FF, + 0x3100, + 0x3131, + 0x3164, + 0x3165, + 0x318F, + 0x3192, + 0x31A0, + 0x3200, + 0x321F, + 0x3220, + 0x3248, + 0x3250, + 0x327F, + 0x3280, + 0x3400, + 0xA69C, + 0xA69E, + 0xA770, + 0xA771, + 0xA7F8, + 0xA7FA, + 0xAB5C, + 0xAB60, + 0xAB69, + 0xAB6A, + 0xF900, + 0xFA0E, + 0xFA10, + 0xFA11, + 0xFA12, + 0xFA13, + 0xFA15, + 0xFA1F, + 0xFA20, + 0xFA21, + 0xFA22, + 0xFA23, + 0xFA25, + 0xFA27, + 0xFA2A, + 0xFA6E, + 0xFA70, + 0xFADA, + 0xFB00, + 0xFB07, + 0xFB13, + 0xFB18, + 0xFB1D, + 0xFB1E, + 0xFB1F, + 0xFB37, + 0xFB38, + 0xFB3D, + 0xFB3E, + 0xFB3F, + 0xFB40, + 0xFB42, + 0xFB43, + 0xFB45, + 0xFB46, + 0xFBB2, + 0xFBD3, + 0xFD3E, + 0xFD50, + 0xFD90, + 0xFD92, + 0xFDC8, + 0xFDF0, + 0xFDFD, + 0xFE10, + 0xFE1A, + 0xFE30, + 0xFE45, + 0xFE47, + 0xFE53, + 0xFE54, + 0xFE67, + 0xFE68, + 0xFE6C, + 0xFE70, + 0xFE73, + 0xFE74, + 0xFE75, + 0xFE76, + 0xFEFD, + 0xFF01, + 0xFFA0, + 0xFFA1, + 0xFFBF, + 0xFFC2, + 0xFFC8, + 0xFFCA, + 0xFFD0, + 0xFFD2, + 0xFFD8, + 0xFFDA, + 0xFFDD, + 0xFFE0, + 0xFFE7, + 0xFFE8, + 0xFFEF, + 0x1D15E, + 0x1D165, + 0x1D1BB, + 0x1D1C1, + 0x1D400, + 0x1D455, + 0x1D456, + 0x1D49D, + 0x1D49E, + 0x1D4A0, + 0x1D4A2, + 0x1D4A3, + 0x1D4A5, + 0x1D4A7, + 0x1D4A9, + 0x1D4AD, + 0x1D4AE, + 0x1D4BA, + 0x1D4BB, + 0x1D4BC, + 0x1D4BD, + 0x1D4C4, + 0x1D4C5, + 0x1D506, + 0x1D507, + 0x1D50B, + 0x1D50D, + 0x1D515, + 0x1D516, + 0x1D51D, + 0x1D51E, + 0x1D53A, + 0x1D53B, + 0x1D53F, + 0x1D540, + 0x1D545, + 0x1D546, + 0x1D547, + 0x1D54A, + 0x1D551, + 0x1D552, + 0x1D6A6, + 0x1D6A8, + 0x1D7CC, + 0x1D7CE, + 0x1D800, + 0x1EE00, + 0x1EE04, + 0x1EE05, + 0x1EE20, + 0x1EE21, + 0x1EE23, + 0x1EE24, + 0x1EE25, + 0x1EE27, + 0x1EE28, + 0x1EE29, + 0x1EE33, + 0x1EE34, + 0x1EE38, + 0x1EE39, + 0x1EE3A, + 0x1EE3B, + 0x1EE3C, + 0x1EE42, + 0x1EE43, + 0x1EE47, + 0x1EE48, + 0x1EE49, + 0x1EE4A, + 0x1EE4B, + 0x1EE4C, + 0x1EE4D, + 0x1EE50, + 0x1EE51, + 0x1EE53, + 0x1EE54, + 0x1EE55, + 0x1EE57, + 0x1EE58, + 0x1EE59, + 0x1EE5A, + 0x1EE5B, + 0x1EE5C, + 0x1EE5D, + 0x1EE5E, + 0x1EE5F, + 0x1EE60, + 0x1EE61, + 0x1EE63, + 0x1EE64, + 0x1EE65, + 0x1EE67, + 0x1EE6B, + 0x1EE6C, + 0x1EE73, + 0x1EE74, + 0x1EE78, + 0x1EE79, + 0x1EE7D, + 0x1EE7E, + 0x1EE7F, + 0x1EE80, + 0x1EE8A, + 0x1EE8B, + 0x1EE9C, + 0x1EEA1, + 0x1EEA4, + 0x1EEA5, + 0x1EEAA, + 0x1EEAB, + 0x1EEBC, + 0x1F100, + 0x1F10B, + 0x1F110, + 0x1F12F, + 0x1F130, + 0x1F150, + 0x1F16A, + 0x1F16D, + 0x1F190, + 0x1F191, + 0x1F200, + 0x1F203, + 0x1F210, + 0x1F23C, + 0x1F240, + 0x1F249, + 0x1F250, + 0x1F252, + 0x1FBF0, + 0x1FBFA, + 0x2F800, + 0x2FA1E +}; + +# endif /* ASCII/Latin1 */ + +# if 'A' == 193 /* EBCDIC 1047 */ \ + && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ + && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ + && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 + +static const UV UNI_IDENTIFIERTYPE__NOTNFKC_invlist[] = { /* for EBCDIC 1047 */ + 509, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x41, + 0x42, + 0x9A, + 0x9C, + 0x9D, + 0x9E, + 0xA0, + 0xA1, + 0xB7, + 0xBA, + 0xBB, + 0xBD, + 0xBE, + 0xBF, + 0xDA, + 0xDB, + 0xEA, + 0xEB, + 0xFA, + 0xFB, + 0x132, + 0x134, + 0x13F, + 0x141, + 0x17F, + 0x180, + 0x1C4, + 0x1CD, + 0x1F1, + 0x1F4, + 0x2B0, + 0x2B9, + 0x2D8, + 0x2DE, + 0x2E0, + 0x2E5, + 0x340, + 0x342, + 0x343, + 0x345, + 0x374, + 0x375, + 0x37A, + 0x37B, + 0x37E, + 0x37F, + 0x384, + 0x386, + 0x387, + 0x388, + 0x3D0, + 0x3D7, + 0x3F0, + 0x3F3, + 0x3F4, + 0x3F6, + 0x3F9, + 0x3FA, + 0x587, + 0x588, + 0x675, + 0x679, + 0x958, + 0x960, + 0x9DC, + 0x9DE, + 0x9DF, + 0x9E0, + 0xA33, + 0xA34, + 0xA36, + 0xA37, + 0xA59, + 0xA5C, + 0xA5E, + 0xA5F, + 0xB5C, + 0xB5E, + 0xE33, + 0xE34, + 0xEB3, + 0xEB4, + 0xEDC, + 0xEDE, + 0xF0C, + 0xF0D, + 0xF43, + 0xF44, + 0xF4D, + 0xF4E, + 0xF52, + 0xF53, + 0xF57, + 0xF58, + 0xF5C, + 0xF5D, + 0xF69, + 0xF6A, + 0xF73, + 0xF74, + 0xF75, + 0xF77, + 0xF78, + 0xF79, + 0xF81, + 0xF82, + 0xF93, + 0xF94, + 0xF9D, + 0xF9E, + 0xFA2, + 0xFA3, + 0xFA7, + 0xFA8, + 0xFAC, + 0xFAD, + 0xFB9, + 0xFBA, + 0x10FC, + 0x10FD, + 0x1D2C, + 0x1D2F, + 0x1D30, + 0x1D3B, + 0x1D3C, + 0x1D4E, + 0x1D4F, + 0x1D6B, + 0x1D78, + 0x1D79, + 0x1D9B, + 0x1DC0, + 0x1E9A, + 0x1E9C, + 0x1F71, + 0x1F72, + 0x1F73, + 0x1F74, + 0x1F75, + 0x1F76, + 0x1F77, + 0x1F78, + 0x1F79, + 0x1F7A, + 0x1F7B, + 0x1F7C, + 0x1F7D, + 0x1F7E, + 0x1FBB, + 0x1FBC, + 0x1FBD, + 0x1FC2, + 0x1FC9, + 0x1FCA, + 0x1FCB, + 0x1FCC, + 0x1FCD, + 0x1FD0, + 0x1FD3, + 0x1FD4, + 0x1FDB, + 0x1FDC, + 0x1FDD, + 0x1FE0, + 0x1FE3, + 0x1FE4, + 0x1FEB, + 0x1FEC, + 0x1FED, + 0x1FF0, + 0x1FF9, + 0x1FFA, + 0x1FFB, + 0x1FFC, + 0x1FFD, + 0x1FFF, + 0x2000, + 0x200B, + 0x2011, + 0x2012, + 0x2017, + 0x2018, + 0x2024, + 0x2027, + 0x202F, + 0x2030, + 0x2033, + 0x2035, + 0x2036, + 0x2038, + 0x203C, + 0x203D, + 0x203E, + 0x203F, + 0x2047, + 0x204A, + 0x2057, + 0x2058, + 0x205F, + 0x2060, + 0x2070, + 0x2072, + 0x2074, + 0x208F, + 0x2090, + 0x209D, + 0x20A8, + 0x20A9, + 0x2100, + 0x2104, + 0x2105, + 0x2108, + 0x2109, + 0x2114, + 0x2115, + 0x2117, + 0x2119, + 0x211E, + 0x2120, + 0x2123, + 0x2124, + 0x2125, + 0x2126, + 0x2127, + 0x2128, + 0x2129, + 0x212A, + 0x212E, + 0x212F, + 0x2132, + 0x2133, + 0x213A, + 0x213B, + 0x2141, + 0x2145, + 0x214A, + 0x2150, + 0x2180, + 0x2189, + 0x218A, + 0x222C, + 0x222E, + 0x222F, + 0x2231, + 0x2460, + 0x24EB, + 0x2A0C, + 0x2A0D, + 0x2A74, + 0x2A77, + 0x2ADC, + 0x2ADD, + 0x2C7C, + 0x2C7E, + 0x2D6F, + 0x2D70, + 0x2E9F, + 0x2EA0, + 0x2EF3, + 0x2EF4, + 0x2F00, + 0x2FD6, + 0x3000, + 0x3001, + 0x3036, + 0x3037, + 0x3038, + 0x303B, + 0x309B, + 0x309D, + 0x309F, + 0x30A0, + 0x30FF, + 0x3100, + 0x3131, + 0x3164, + 0x3165, + 0x318F, + 0x3192, + 0x31A0, + 0x3200, + 0x321F, + 0x3220, + 0x3248, + 0x3250, + 0x327F, + 0x3280, + 0x3400, + 0xA69C, + 0xA69E, + 0xA770, + 0xA771, + 0xA7F8, + 0xA7FA, + 0xAB5C, + 0xAB60, + 0xAB69, + 0xAB6A, + 0xF900, + 0xFA0E, + 0xFA10, + 0xFA11, + 0xFA12, + 0xFA13, + 0xFA15, + 0xFA1F, + 0xFA20, + 0xFA21, + 0xFA22, + 0xFA23, + 0xFA25, + 0xFA27, + 0xFA2A, + 0xFA6E, + 0xFA70, + 0xFADA, + 0xFB00, + 0xFB07, + 0xFB13, + 0xFB18, + 0xFB1D, + 0xFB1E, + 0xFB1F, + 0xFB37, + 0xFB38, + 0xFB3D, + 0xFB3E, + 0xFB3F, + 0xFB40, + 0xFB42, + 0xFB43, + 0xFB45, + 0xFB46, + 0xFBB2, + 0xFBD3, + 0xFD3E, + 0xFD50, + 0xFD90, + 0xFD92, + 0xFDC8, + 0xFDF0, + 0xFDFD, + 0xFE10, + 0xFE1A, + 0xFE30, + 0xFE45, + 0xFE47, + 0xFE53, + 0xFE54, + 0xFE67, + 0xFE68, + 0xFE6C, + 0xFE70, + 0xFE73, + 0xFE74, + 0xFE75, + 0xFE76, + 0xFEFD, + 0xFF01, + 0xFFA0, + 0xFFA1, + 0xFFBF, + 0xFFC2, + 0xFFC8, + 0xFFCA, + 0xFFD0, + 0xFFD2, + 0xFFD8, + 0xFFDA, + 0xFFDD, + 0xFFE0, + 0xFFE7, + 0xFFE8, + 0xFFEF, + 0x1D15E, + 0x1D165, + 0x1D1BB, + 0x1D1C1, + 0x1D400, + 0x1D455, + 0x1D456, + 0x1D49D, + 0x1D49E, + 0x1D4A0, + 0x1D4A2, + 0x1D4A3, + 0x1D4A5, + 0x1D4A7, + 0x1D4A9, + 0x1D4AD, + 0x1D4AE, + 0x1D4BA, + 0x1D4BB, + 0x1D4BC, + 0x1D4BD, + 0x1D4C4, + 0x1D4C5, + 0x1D506, + 0x1D507, + 0x1D50B, + 0x1D50D, + 0x1D515, + 0x1D516, + 0x1D51D, + 0x1D51E, + 0x1D53A, + 0x1D53B, + 0x1D53F, + 0x1D540, + 0x1D545, + 0x1D546, + 0x1D547, + 0x1D54A, + 0x1D551, + 0x1D552, + 0x1D6A6, + 0x1D6A8, + 0x1D7CC, + 0x1D7CE, + 0x1D800, + 0x1EE00, + 0x1EE04, + 0x1EE05, + 0x1EE20, + 0x1EE21, + 0x1EE23, + 0x1EE24, + 0x1EE25, + 0x1EE27, + 0x1EE28, + 0x1EE29, + 0x1EE33, + 0x1EE34, + 0x1EE38, + 0x1EE39, + 0x1EE3A, + 0x1EE3B, + 0x1EE3C, + 0x1EE42, + 0x1EE43, + 0x1EE47, + 0x1EE48, + 0x1EE49, + 0x1EE4A, + 0x1EE4B, + 0x1EE4C, + 0x1EE4D, + 0x1EE50, + 0x1EE51, + 0x1EE53, + 0x1EE54, + 0x1EE55, + 0x1EE57, + 0x1EE58, + 0x1EE59, + 0x1EE5A, + 0x1EE5B, + 0x1EE5C, + 0x1EE5D, + 0x1EE5E, + 0x1EE5F, + 0x1EE60, + 0x1EE61, + 0x1EE63, + 0x1EE64, + 0x1EE65, + 0x1EE67, + 0x1EE6B, + 0x1EE6C, + 0x1EE73, + 0x1EE74, + 0x1EE78, + 0x1EE79, + 0x1EE7D, + 0x1EE7E, + 0x1EE7F, + 0x1EE80, + 0x1EE8A, + 0x1EE8B, + 0x1EE9C, + 0x1EEA1, + 0x1EEA4, + 0x1EEA5, + 0x1EEAA, + 0x1EEAB, + 0x1EEBC, + 0x1F100, + 0x1F10B, + 0x1F110, + 0x1F12F, + 0x1F130, + 0x1F150, + 0x1F16A, + 0x1F16D, + 0x1F190, + 0x1F191, + 0x1F200, + 0x1F203, + 0x1F210, + 0x1F23C, + 0x1F240, + 0x1F249, + 0x1F250, + 0x1F252, + 0x1FBF0, + 0x1FBFA, + 0x2F800, + 0x2FA1E +}; + +# endif /* EBCDIC 1047 */ + +# if 'A' == 193 /* EBCDIC 037 */ \ + && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ + && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ + && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 + +static const UV UNI_IDENTIFIERTYPE__NOTNFKC_invlist[] = { /* for EBCDIC 037 */ + 507, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x41, + 0x42, + 0x9A, + 0x9C, + 0x9D, + 0x9E, + 0xA0, + 0xA1, + 0xB7, + 0xBA, + 0xBC, + 0xBF, + 0xDA, + 0xDB, + 0xEA, + 0xEB, + 0xFA, + 0xFB, + 0x132, + 0x134, + 0x13F, + 0x141, + 0x17F, + 0x180, + 0x1C4, + 0x1CD, + 0x1F1, + 0x1F4, + 0x2B0, + 0x2B9, + 0x2D8, + 0x2DE, + 0x2E0, + 0x2E5, + 0x340, + 0x342, + 0x343, + 0x345, + 0x374, + 0x375, + 0x37A, + 0x37B, + 0x37E, + 0x37F, + 0x384, + 0x386, + 0x387, + 0x388, + 0x3D0, + 0x3D7, + 0x3F0, + 0x3F3, + 0x3F4, + 0x3F6, + 0x3F9, + 0x3FA, + 0x587, + 0x588, + 0x675, + 0x679, + 0x958, + 0x960, + 0x9DC, + 0x9DE, + 0x9DF, + 0x9E0, + 0xA33, + 0xA34, + 0xA36, + 0xA37, + 0xA59, + 0xA5C, + 0xA5E, + 0xA5F, + 0xB5C, + 0xB5E, + 0xE33, + 0xE34, + 0xEB3, + 0xEB4, + 0xEDC, + 0xEDE, + 0xF0C, + 0xF0D, + 0xF43, + 0xF44, + 0xF4D, + 0xF4E, + 0xF52, + 0xF53, + 0xF57, + 0xF58, + 0xF5C, + 0xF5D, + 0xF69, + 0xF6A, + 0xF73, + 0xF74, + 0xF75, + 0xF77, + 0xF78, + 0xF79, + 0xF81, + 0xF82, + 0xF93, + 0xF94, + 0xF9D, + 0xF9E, + 0xFA2, + 0xFA3, + 0xFA7, + 0xFA8, + 0xFAC, + 0xFAD, + 0xFB9, + 0xFBA, + 0x10FC, + 0x10FD, + 0x1D2C, + 0x1D2F, + 0x1D30, + 0x1D3B, + 0x1D3C, + 0x1D4E, + 0x1D4F, + 0x1D6B, + 0x1D78, + 0x1D79, + 0x1D9B, + 0x1DC0, + 0x1E9A, + 0x1E9C, + 0x1F71, + 0x1F72, + 0x1F73, + 0x1F74, + 0x1F75, + 0x1F76, + 0x1F77, + 0x1F78, + 0x1F79, + 0x1F7A, + 0x1F7B, + 0x1F7C, + 0x1F7D, + 0x1F7E, + 0x1FBB, + 0x1FBC, + 0x1FBD, + 0x1FC2, + 0x1FC9, + 0x1FCA, + 0x1FCB, + 0x1FCC, + 0x1FCD, + 0x1FD0, + 0x1FD3, + 0x1FD4, + 0x1FDB, + 0x1FDC, + 0x1FDD, + 0x1FE0, + 0x1FE3, + 0x1FE4, + 0x1FEB, + 0x1FEC, + 0x1FED, + 0x1FF0, + 0x1FF9, + 0x1FFA, + 0x1FFB, + 0x1FFC, + 0x1FFD, + 0x1FFF, + 0x2000, + 0x200B, + 0x2011, + 0x2012, + 0x2017, + 0x2018, + 0x2024, + 0x2027, + 0x202F, + 0x2030, + 0x2033, + 0x2035, + 0x2036, + 0x2038, + 0x203C, + 0x203D, + 0x203E, + 0x203F, + 0x2047, + 0x204A, + 0x2057, + 0x2058, + 0x205F, + 0x2060, + 0x2070, + 0x2072, + 0x2074, + 0x208F, + 0x2090, + 0x209D, + 0x20A8, + 0x20A9, + 0x2100, + 0x2104, + 0x2105, + 0x2108, + 0x2109, + 0x2114, + 0x2115, + 0x2117, + 0x2119, + 0x211E, + 0x2120, + 0x2123, + 0x2124, + 0x2125, + 0x2126, + 0x2127, + 0x2128, + 0x2129, + 0x212A, + 0x212E, + 0x212F, + 0x2132, + 0x2133, + 0x213A, + 0x213B, + 0x2141, + 0x2145, + 0x214A, + 0x2150, + 0x2180, + 0x2189, + 0x218A, + 0x222C, + 0x222E, + 0x222F, + 0x2231, + 0x2460, + 0x24EB, + 0x2A0C, + 0x2A0D, + 0x2A74, + 0x2A77, + 0x2ADC, + 0x2ADD, + 0x2C7C, + 0x2C7E, + 0x2D6F, + 0x2D70, + 0x2E9F, + 0x2EA0, + 0x2EF3, + 0x2EF4, + 0x2F00, + 0x2FD6, + 0x3000, + 0x3001, + 0x3036, + 0x3037, + 0x3038, + 0x303B, + 0x309B, + 0x309D, + 0x309F, + 0x30A0, + 0x30FF, + 0x3100, + 0x3131, + 0x3164, + 0x3165, + 0x318F, + 0x3192, + 0x31A0, + 0x3200, + 0x321F, + 0x3220, + 0x3248, + 0x3250, + 0x327F, + 0x3280, + 0x3400, + 0xA69C, + 0xA69E, + 0xA770, + 0xA771, + 0xA7F8, + 0xA7FA, + 0xAB5C, + 0xAB60, + 0xAB69, + 0xAB6A, + 0xF900, + 0xFA0E, + 0xFA10, + 0xFA11, + 0xFA12, + 0xFA13, + 0xFA15, + 0xFA1F, + 0xFA20, + 0xFA21, + 0xFA22, + 0xFA23, + 0xFA25, + 0xFA27, + 0xFA2A, + 0xFA6E, + 0xFA70, + 0xFADA, + 0xFB00, + 0xFB07, + 0xFB13, + 0xFB18, + 0xFB1D, + 0xFB1E, + 0xFB1F, + 0xFB37, + 0xFB38, + 0xFB3D, + 0xFB3E, + 0xFB3F, + 0xFB40, + 0xFB42, + 0xFB43, + 0xFB45, + 0xFB46, + 0xFBB2, + 0xFBD3, + 0xFD3E, + 0xFD50, + 0xFD90, + 0xFD92, + 0xFDC8, + 0xFDF0, + 0xFDFD, + 0xFE10, + 0xFE1A, + 0xFE30, + 0xFE45, + 0xFE47, + 0xFE53, + 0xFE54, + 0xFE67, + 0xFE68, + 0xFE6C, + 0xFE70, + 0xFE73, + 0xFE74, + 0xFE75, + 0xFE76, + 0xFEFD, + 0xFF01, + 0xFFA0, + 0xFFA1, + 0xFFBF, + 0xFFC2, + 0xFFC8, + 0xFFCA, + 0xFFD0, + 0xFFD2, + 0xFFD8, + 0xFFDA, + 0xFFDD, + 0xFFE0, + 0xFFE7, + 0xFFE8, + 0xFFEF, + 0x1D15E, + 0x1D165, + 0x1D1BB, + 0x1D1C1, + 0x1D400, + 0x1D455, + 0x1D456, + 0x1D49D, + 0x1D49E, + 0x1D4A0, + 0x1D4A2, + 0x1D4A3, + 0x1D4A5, + 0x1D4A7, + 0x1D4A9, + 0x1D4AD, + 0x1D4AE, + 0x1D4BA, + 0x1D4BB, + 0x1D4BC, + 0x1D4BD, + 0x1D4C4, + 0x1D4C5, + 0x1D506, + 0x1D507, + 0x1D50B, + 0x1D50D, + 0x1D515, + 0x1D516, + 0x1D51D, + 0x1D51E, + 0x1D53A, + 0x1D53B, + 0x1D53F, + 0x1D540, + 0x1D545, + 0x1D546, + 0x1D547, + 0x1D54A, + 0x1D551, + 0x1D552, + 0x1D6A6, + 0x1D6A8, + 0x1D7CC, + 0x1D7CE, + 0x1D800, + 0x1EE00, + 0x1EE04, + 0x1EE05, + 0x1EE20, + 0x1EE21, + 0x1EE23, + 0x1EE24, + 0x1EE25, + 0x1EE27, + 0x1EE28, + 0x1EE29, + 0x1EE33, + 0x1EE34, + 0x1EE38, + 0x1EE39, + 0x1EE3A, + 0x1EE3B, + 0x1EE3C, + 0x1EE42, + 0x1EE43, + 0x1EE47, + 0x1EE48, + 0x1EE49, + 0x1EE4A, + 0x1EE4B, + 0x1EE4C, + 0x1EE4D, + 0x1EE50, + 0x1EE51, + 0x1EE53, + 0x1EE54, + 0x1EE55, + 0x1EE57, + 0x1EE58, + 0x1EE59, + 0x1EE5A, + 0x1EE5B, + 0x1EE5C, + 0x1EE5D, + 0x1EE5E, + 0x1EE5F, + 0x1EE60, + 0x1EE61, + 0x1EE63, + 0x1EE64, + 0x1EE65, + 0x1EE67, + 0x1EE6B, + 0x1EE6C, + 0x1EE73, + 0x1EE74, + 0x1EE78, + 0x1EE79, + 0x1EE7D, + 0x1EE7E, + 0x1EE7F, + 0x1EE80, + 0x1EE8A, + 0x1EE8B, + 0x1EE9C, + 0x1EEA1, + 0x1EEA4, + 0x1EEA5, + 0x1EEAA, + 0x1EEAB, + 0x1EEBC, + 0x1F100, + 0x1F10B, + 0x1F110, + 0x1F12F, + 0x1F130, + 0x1F150, + 0x1F16A, + 0x1F16D, + 0x1F190, + 0x1F191, + 0x1F200, + 0x1F203, + 0x1F210, + 0x1F23C, + 0x1F240, + 0x1F249, + 0x1F250, + 0x1F252, + 0x1FBF0, + 0x1FBFA, + 0x2F800, + 0x2FA1E +}; + +# endif /* EBCDIC 037 */ + +# if 'A' == 65 /* ASCII/Latin1 */ + +static const UV UNI_IDENTIFIERTYPE__NOTXID_invlist[] = { /* for ASCII/Latin1 */ + 691, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x9, + 0xE, + 0x20, + 0x27, + 0x28, + 0x2D, + 0x2F, + 0x30, + 0x3B, + 0x41, + 0x5B, + 0x5F, + 0x60, + 0x61, + 0x7B, + 0x7F, + 0x85, + 0x86, + 0xA1, + 0xA8, + 0xA9, + 0xAA, + 0xAB, + 0xAD, + 0xAE, + 0xAF, + 0xB0, + 0xB2, + 0xB6, + 0xB7, + 0xBB, + 0xBC, + 0xBF, + 0xC0, + 0xD7, + 0xD8, + 0xF7, + 0xF8, + 0x2C2, + 0x2C6, + 0x2D2, + 0x2D8, + 0x2DE, + 0x2E0, + 0x2E5, + 0x2EC, + 0x2ED, + 0x2EE, + 0x2EF, + 0x300, + 0x3F6, + 0x3F7, + 0x482, + 0x483, + 0x488, + 0x48A, + 0x55A, + 0x560, + 0x589, + 0x58A, + 0x58D, + 0x590, + 0x5BE, + 0x5BF, + 0x5C0, + 0x5C1, + 0x5C3, + 0x5C4, + 0x5C6, + 0x5C7, + 0x600, + 0x610, + 0x61B, + 0x61C, + 0x61E, + 0x620, + 0x66A, + 0x66E, + 0x6D4, + 0x6D5, + 0x6DD, + 0x6DF, + 0x6E9, + 0x6EA, + 0x700, + 0x70E, + 0x70F, + 0x710, + 0x7F6, + 0x7FA, + 0x7FE, + 0x800, + 0x830, + 0x83F, + 0x85E, + 0x85F, + 0x8E2, + 0x8E3, + 0x964, + 0x966, + 0x970, + 0x971, + 0x9F2, + 0x9FC, + 0x9FD, + 0x9FE, + 0xA76, + 0xA77, + 0xAF0, + 0xAF2, + 0xB70, + 0xB71, + 0xB72, + 0xB78, + 0xBF0, + 0xBFB, + 0xC77, + 0xC80, + 0xC84, + 0xC85, + 0xD4F, + 0xD50, + 0xD58, + 0xD5F, + 0xD70, + 0xD7A, + 0xDF4, + 0xDF5, + 0xE3F, + 0xE40, + 0xE4F, + 0xE50, + 0xE5A, + 0xE5C, + 0xF01, + 0xF0B, + 0xF0D, + 0xF18, + 0xF1A, + 0xF20, + 0xF2A, + 0xF35, + 0xF36, + 0xF37, + 0xF38, + 0xF39, + 0xF3A, + 0xF3E, + 0xF85, + 0xF86, + 0xFBE, + 0xFC6, + 0xFC7, + 0xFCD, + 0xFCE, + 0xFDB, + 0x104A, + 0x1050, + 0x109E, + 0x10A0, + 0x10FB, + 0x10FC, + 0x1360, + 0x1369, + 0x1372, + 0x137D, + 0x1390, + 0x139A, + 0x1400, + 0x1401, + 0x166D, + 0x166F, + 0x1680, + 0x1681, + 0x169B, + 0x169D, + 0x16EB, + 0x16EE, + 0x1735, + 0x1737, + 0x17D4, + 0x17D7, + 0x17D8, + 0x17DC, + 0x17F0, + 0x17FA, + 0x1800, + 0x180B, + 0x1940, + 0x1941, + 0x1944, + 0x1946, + 0x19DE, + 0x1A00, + 0x1A1E, + 0x1A20, + 0x1AA0, + 0x1AA7, + 0x1AA8, + 0x1AAE, + 0x1ABE, + 0x1ABF, + 0x1B5A, + 0x1B6B, + 0x1B74, + 0x1B7D, + 0x1BFC, + 0x1C00, + 0x1C3B, + 0x1C40, + 0x1C7E, + 0x1C80, + 0x1CC0, + 0x1CC8, + 0x1CD3, + 0x1CD4, + 0x2012, + 0x2017, + 0x2018, + 0x2019, + 0x201A, + 0x2024, + 0x2028, + 0x202A, + 0x2030, + 0x2033, + 0x2035, + 0x2036, + 0x2038, + 0x203C, + 0x203D, + 0x203E, + 0x2041, + 0x2047, + 0x204A, + 0x2054, + 0x2055, + 0x2057, + 0x2058, + 0x205F, + 0x20A0, + 0x20A8, + 0x20A9, + 0x20C0, + 0x20DD, + 0x20E1, + 0x20E2, + 0x20E5, + 0x2104, + 0x2105, + 0x2108, + 0x2109, + 0x2114, + 0x2115, + 0x2117, + 0x2118, + 0x211E, + 0x2120, + 0x2123, + 0x2124, + 0x2125, + 0x2126, + 0x2127, + 0x2128, + 0x2129, + 0x212A, + 0x213A, + 0x213B, + 0x2141, + 0x2145, + 0x214A, + 0x214E, + 0x214F, + 0x2150, + 0x218A, + 0x218C, + 0x2190, + 0x222C, + 0x222E, + 0x222F, + 0x2231, + 0x2329, + 0x232B, + 0x2427, + 0x2440, + 0x244B, + 0x24EB, + 0x2A0C, + 0x2A0D, + 0x2A74, + 0x2A77, + 0x2ADC, + 0x2ADD, + 0x2B74, + 0x2B76, + 0x2B96, + 0x2B97, + 0x2C00, + 0x2CE5, + 0x2CEB, + 0x2CF9, + 0x2D00, + 0x2D70, + 0x2D71, + 0x2E00, + 0x2E53, + 0x2E80, + 0x2E9A, + 0x2E9B, + 0x2E9F, + 0x2EA0, + 0x2EF3, + 0x2FF0, + 0x2FFC, + 0x3001, + 0x3005, + 0x3008, + 0x3021, + 0x3030, + 0x3031, + 0x3037, + 0x3038, + 0x303D, + 0x3040, + 0x3190, + 0x3192, + 0x31C0, + 0x31E4, + 0x3248, + 0x3250, + 0x327F, + 0x3280, + 0x4DC0, + 0x4E00, + 0xA490, + 0xA4C7, + 0xA4FE, + 0xA500, + 0xA60D, + 0xA610, + 0xA670, + 0xA674, + 0xA67E, + 0xA67F, + 0xA6F2, + 0xA6F8, + 0xA700, + 0xA717, + 0xA720, + 0xA722, + 0xA789, + 0xA78B, + 0xA828, + 0xA82C, + 0xA830, + 0xA83A, + 0xA874, + 0xA878, + 0xA8CE, + 0xA8D0, + 0xA8F8, + 0xA8FB, + 0xA8FC, + 0xA8FD, + 0xA92E, + 0xA930, + 0xA95F, + 0xA960, + 0xA9C1, + 0xA9CE, + 0xA9DE, + 0xA9E0, + 0xAA5C, + 0xAA60, + 0xAA77, + 0xAA7A, + 0xAADE, + 0xAAE0, + 0xAAF0, + 0xAAF2, + 0xAB5B, + 0xAB5C, + 0xAB6A, + 0xAB6C, + 0xABEB, + 0xABEC, + 0xFBB2, + 0xFBC2, + 0xFD3E, + 0xFD40, + 0xFDFD, + 0xFDFE, + 0xFE45, + 0xFE47, + 0xFFF9, + 0xFFFE, + 0x10100, + 0x10103, + 0x10107, + 0x10134, + 0x10137, + 0x10140, + 0x10175, + 0x1018F, + 0x10190, + 0x1019D, + 0x101A0, + 0x101A1, + 0x101D0, + 0x101FD, + 0x102E1, + 0x102FC, + 0x10320, + 0x10324, + 0x1039F, + 0x103A0, + 0x103D0, + 0x103D1, + 0x1056F, + 0x10570, + 0x10857, + 0x10860, + 0x10877, + 0x10880, + 0x108A7, + 0x108B0, + 0x108FB, + 0x10900, + 0x10916, + 0x1091C, + 0x1091F, + 0x10920, + 0x1093F, + 0x10940, + 0x109BC, + 0x109BE, + 0x109C0, + 0x109D0, + 0x109D2, + 0x10A00, + 0x10A40, + 0x10A49, + 0x10A50, + 0x10A59, + 0x10A7D, + 0x10A80, + 0x10A9D, + 0x10AA0, + 0x10AC8, + 0x10AC9, + 0x10AEB, + 0x10AF7, + 0x10B39, + 0x10B40, + 0x10B58, + 0x10B60, + 0x10B78, + 0x10B80, + 0x10B99, + 0x10B9D, + 0x10BA9, + 0x10BB0, + 0x10CFA, + 0x10D00, + 0x10E60, + 0x10E7F, + 0x10EAD, + 0x10EAE, + 0x10F1D, + 0x10F27, + 0x10F51, + 0x10F5A, + 0x10FC5, + 0x10FCC, + 0x11047, + 0x1104E, + 0x11052, + 0x11066, + 0x110BB, + 0x110C2, + 0x110CD, + 0x110CE, + 0x11140, + 0x11144, + 0x11174, + 0x11176, + 0x111C5, + 0x111C9, + 0x111CD, + 0x111CE, + 0x111DB, + 0x111DC, + 0x111DD, + 0x111E0, + 0x111E1, + 0x111F5, + 0x11238, + 0x1123E, + 0x112A9, + 0x112AA, + 0x1144B, + 0x11450, + 0x1145A, + 0x1145C, + 0x1145D, + 0x1145E, + 0x114C6, + 0x114C7, + 0x115C1, + 0x115D8, + 0x11641, + 0x11644, + 0x11660, + 0x1166D, + 0x1173A, + 0x11740, + 0x1183B, + 0x1183C, + 0x118EA, + 0x118F3, + 0x11944, + 0x11947, + 0x119E2, + 0x119E3, + 0x11A3F, + 0x11A47, + 0x11A9A, + 0x11A9D, + 0x11A9E, + 0x11AA3, + 0x11C41, + 0x11C46, + 0x11C5A, + 0x11C6D, + 0x11C70, + 0x11C72, + 0x11EF7, + 0x11EF9, + 0x11FC0, + 0x11FF2, + 0x11FFF, + 0x12000, + 0x12470, + 0x12475, + 0x13430, + 0x13439, + 0x16A6E, + 0x16A70, + 0x16AF5, + 0x16AF6, + 0x16B37, + 0x16B40, + 0x16B44, + 0x16B46, + 0x16B5B, + 0x16B62, + 0x16E80, + 0x16E9B, + 0x16FE2, + 0x16FE3, + 0x1BC9C, + 0x1BC9D, + 0x1BC9F, + 0x1BCA0, + 0x1D000, + 0x1D0F6, + 0x1D100, + 0x1D127, + 0x1D129, + 0x1D15E, + 0x1D16A, + 0x1D16D, + 0x1D183, + 0x1D185, + 0x1D18C, + 0x1D1AA, + 0x1D1AE, + 0x1D1BB, + 0x1D1C1, + 0x1D1E9, + 0x1D200, + 0x1D242, + 0x1D245, + 0x1D246, + 0x1D2E0, + 0x1D2F4, + 0x1D300, + 0x1D357, + 0x1D360, + 0x1D379, + 0x1D800, + 0x1DA00, + 0x1DA37, + 0x1DA3B, + 0x1DA6D, + 0x1DA75, + 0x1DA76, + 0x1DA84, + 0x1DA85, + 0x1DA8C, + 0x1E14F, + 0x1E150, + 0x1E2FF, + 0x1E300, + 0x1E8C7, + 0x1E8D0, + 0x1E95E, + 0x1E960, + 0x1EC71, + 0x1ECB5, + 0x1ED01, + 0x1ED3E, + 0x1EEF0, + 0x1EEF2, + 0x1F000, + 0x1F02C, + 0x1F030, + 0x1F094, + 0x1F0A0, + 0x1F0AF, + 0x1F0B1, + 0x1F0C0, + 0x1F0C1, + 0x1F0D0, + 0x1F0D1, + 0x1F0F6, + 0x1F10B, + 0x1F110, + 0x1F12F, + 0x1F130, + 0x1F150, + 0x1F16A, + 0x1F16D, + 0x1F190, + 0x1F191, + 0x1F1AE, + 0x1F1E6, + 0x1F200, + 0x1F260, + 0x1F266, + 0x1F300, + 0x1F6D8, + 0x1F6E0, + 0x1F6ED, + 0x1F6F0, + 0x1F6FD, + 0x1F700, + 0x1F774, + 0x1F780, + 0x1F7D9, + 0x1F7E0, + 0x1F7EC, + 0x1F800, + 0x1F80C, + 0x1F810, + 0x1F848, + 0x1F850, + 0x1F85A, + 0x1F860, + 0x1F888, + 0x1F890, + 0x1F8AE, + 0x1F8B0, + 0x1F8B2, + 0x1F900, + 0x1F979, + 0x1F97A, + 0x1F9CC, + 0x1F9CD, + 0x1FA54, + 0x1FA60, + 0x1FA6E, + 0x1FA70, + 0x1FA75, + 0x1FA78, + 0x1FA7B, + 0x1FA80, + 0x1FA87, + 0x1FA90, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB +}; + +# endif /* ASCII/Latin1 */ + +# if 'A' == 193 /* EBCDIC 1047 */ \ + && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ + && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ + && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 + +static const UV UNI_IDENTIFIERTYPE__NOTXID_invlist[] = { /* for EBCDIC 1047 */ + 705, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x5, + 0x6, + 0xB, + 0xE, + 0x15, + 0x16, + 0x25, + 0x26, + 0x40, + 0x41, + 0x4A, + 0x4B, + 0x4C, + 0x51, + 0x5A, + 0x60, + 0x61, + 0x62, + 0x6A, + 0x6D, + 0x6E, + 0x70, + 0x79, + 0x7A, + 0x7B, + 0x7D, + 0x7E, + 0x80, + 0x8A, + 0x8C, + 0x8F, + 0x91, + 0x9F, + 0xA0, + 0xA1, + 0xA2, + 0xAA, + 0xAC, + 0xAD, + 0xAE, + 0xAF, + 0xB3, + 0xB4, + 0xB7, + 0xBD, + 0xBE, + 0xBF, + 0xC1, + 0xD0, + 0xD1, + 0xE0, + 0xE2, + 0x2C2, + 0x2C6, + 0x2D2, + 0x2D8, + 0x2DE, + 0x2E0, + 0x2E5, + 0x2EC, + 0x2ED, + 0x2EE, + 0x2EF, + 0x300, + 0x3F6, + 0x3F7, + 0x482, + 0x483, + 0x488, + 0x48A, + 0x55A, + 0x560, + 0x589, + 0x58A, + 0x58D, + 0x590, + 0x5BE, + 0x5BF, + 0x5C0, + 0x5C1, + 0x5C3, + 0x5C4, + 0x5C6, + 0x5C7, + 0x600, + 0x610, + 0x61B, + 0x61C, + 0x61E, + 0x620, + 0x66A, + 0x66E, + 0x6D4, + 0x6D5, + 0x6DD, + 0x6DF, + 0x6E9, + 0x6EA, + 0x700, + 0x70E, + 0x70F, + 0x710, + 0x7F6, + 0x7FA, + 0x7FE, + 0x800, + 0x830, + 0x83F, + 0x85E, + 0x85F, + 0x8E2, + 0x8E3, + 0x964, + 0x966, + 0x970, + 0x971, + 0x9F2, + 0x9FC, + 0x9FD, + 0x9FE, + 0xA76, + 0xA77, + 0xAF0, + 0xAF2, + 0xB70, + 0xB71, + 0xB72, + 0xB78, + 0xBF0, + 0xBFB, + 0xC77, + 0xC80, + 0xC84, + 0xC85, + 0xD4F, + 0xD50, + 0xD58, + 0xD5F, + 0xD70, + 0xD7A, + 0xDF4, + 0xDF5, + 0xE3F, + 0xE40, + 0xE4F, + 0xE50, + 0xE5A, + 0xE5C, + 0xF01, + 0xF0B, + 0xF0D, + 0xF18, + 0xF1A, + 0xF20, + 0xF2A, + 0xF35, + 0xF36, + 0xF37, + 0xF38, + 0xF39, + 0xF3A, + 0xF3E, + 0xF85, + 0xF86, + 0xFBE, + 0xFC6, + 0xFC7, + 0xFCD, + 0xFCE, + 0xFDB, + 0x104A, + 0x1050, + 0x109E, + 0x10A0, + 0x10FB, + 0x10FC, + 0x1360, + 0x1369, + 0x1372, + 0x137D, + 0x1390, + 0x139A, + 0x1400, + 0x1401, + 0x166D, + 0x166F, + 0x1680, + 0x1681, + 0x169B, + 0x169D, + 0x16EB, + 0x16EE, + 0x1735, + 0x1737, + 0x17D4, + 0x17D7, + 0x17D8, + 0x17DC, + 0x17F0, + 0x17FA, + 0x1800, + 0x180B, + 0x1940, + 0x1941, + 0x1944, + 0x1946, + 0x19DE, + 0x1A00, + 0x1A1E, + 0x1A20, + 0x1AA0, + 0x1AA7, + 0x1AA8, + 0x1AAE, + 0x1ABE, + 0x1ABF, + 0x1B5A, + 0x1B6B, + 0x1B74, + 0x1B7D, + 0x1BFC, + 0x1C00, + 0x1C3B, + 0x1C40, + 0x1C7E, + 0x1C80, + 0x1CC0, + 0x1CC8, + 0x1CD3, + 0x1CD4, + 0x2012, + 0x2017, + 0x2018, + 0x2019, + 0x201A, + 0x2024, + 0x2028, + 0x202A, + 0x2030, + 0x2033, + 0x2035, + 0x2036, + 0x2038, + 0x203C, + 0x203D, + 0x203E, + 0x2041, + 0x2047, + 0x204A, + 0x2054, + 0x2055, + 0x2057, + 0x2058, + 0x205F, + 0x20A0, + 0x20A8, + 0x20A9, + 0x20C0, + 0x20DD, + 0x20E1, + 0x20E2, + 0x20E5, + 0x2104, + 0x2105, + 0x2108, + 0x2109, + 0x2114, + 0x2115, + 0x2117, + 0x2118, + 0x211E, + 0x2120, + 0x2123, + 0x2124, + 0x2125, + 0x2126, + 0x2127, + 0x2128, + 0x2129, + 0x212A, + 0x213A, + 0x213B, + 0x2141, + 0x2145, + 0x214A, + 0x214E, + 0x214F, + 0x2150, + 0x218A, + 0x218C, + 0x2190, + 0x222C, + 0x222E, + 0x222F, + 0x2231, + 0x2329, + 0x232B, + 0x2427, + 0x2440, + 0x244B, + 0x24EB, + 0x2A0C, + 0x2A0D, + 0x2A74, + 0x2A77, + 0x2ADC, + 0x2ADD, + 0x2B74, + 0x2B76, + 0x2B96, + 0x2B97, + 0x2C00, + 0x2CE5, + 0x2CEB, + 0x2CF9, + 0x2D00, + 0x2D70, + 0x2D71, + 0x2E00, + 0x2E53, + 0x2E80, + 0x2E9A, + 0x2E9B, + 0x2E9F, + 0x2EA0, + 0x2EF3, + 0x2FF0, + 0x2FFC, + 0x3001, + 0x3005, + 0x3008, + 0x3021, + 0x3030, + 0x3031, + 0x3037, + 0x3038, + 0x303D, + 0x3040, + 0x3190, + 0x3192, + 0x31C0, + 0x31E4, + 0x3248, + 0x3250, + 0x327F, + 0x3280, + 0x4DC0, + 0x4E00, + 0xA490, + 0xA4C7, + 0xA4FE, + 0xA500, + 0xA60D, + 0xA610, + 0xA670, + 0xA674, + 0xA67E, + 0xA67F, + 0xA6F2, + 0xA6F8, + 0xA700, + 0xA717, + 0xA720, + 0xA722, + 0xA789, + 0xA78B, + 0xA828, + 0xA82C, + 0xA830, + 0xA83A, + 0xA874, + 0xA878, + 0xA8CE, + 0xA8D0, + 0xA8F8, + 0xA8FB, + 0xA8FC, + 0xA8FD, + 0xA92E, + 0xA930, + 0xA95F, + 0xA960, + 0xA9C1, + 0xA9CE, + 0xA9DE, + 0xA9E0, + 0xAA5C, + 0xAA60, + 0xAA77, + 0xAA7A, + 0xAADE, + 0xAAE0, + 0xAAF0, + 0xAAF2, + 0xAB5B, + 0xAB5C, + 0xAB6A, + 0xAB6C, + 0xABEB, + 0xABEC, + 0xFBB2, + 0xFBC2, + 0xFD3E, + 0xFD40, + 0xFDFD, + 0xFDFE, + 0xFE45, + 0xFE47, + 0xFFF9, + 0xFFFE, + 0x10100, + 0x10103, + 0x10107, + 0x10134, + 0x10137, + 0x10140, + 0x10175, + 0x1018F, + 0x10190, + 0x1019D, + 0x101A0, + 0x101A1, + 0x101D0, + 0x101FD, + 0x102E1, + 0x102FC, + 0x10320, + 0x10324, + 0x1039F, + 0x103A0, + 0x103D0, + 0x103D1, + 0x1056F, + 0x10570, + 0x10857, + 0x10860, + 0x10877, + 0x10880, + 0x108A7, + 0x108B0, + 0x108FB, + 0x10900, + 0x10916, + 0x1091C, + 0x1091F, + 0x10920, + 0x1093F, + 0x10940, + 0x109BC, + 0x109BE, + 0x109C0, + 0x109D0, + 0x109D2, + 0x10A00, + 0x10A40, + 0x10A49, + 0x10A50, + 0x10A59, + 0x10A7D, + 0x10A80, + 0x10A9D, + 0x10AA0, + 0x10AC8, + 0x10AC9, + 0x10AEB, + 0x10AF7, + 0x10B39, + 0x10B40, + 0x10B58, + 0x10B60, + 0x10B78, + 0x10B80, + 0x10B99, + 0x10B9D, + 0x10BA9, + 0x10BB0, + 0x10CFA, + 0x10D00, + 0x10E60, + 0x10E7F, + 0x10EAD, + 0x10EAE, + 0x10F1D, + 0x10F27, + 0x10F51, + 0x10F5A, + 0x10FC5, + 0x10FCC, + 0x11047, + 0x1104E, + 0x11052, + 0x11066, + 0x110BB, + 0x110C2, + 0x110CD, + 0x110CE, + 0x11140, + 0x11144, + 0x11174, + 0x11176, + 0x111C5, + 0x111C9, + 0x111CD, + 0x111CE, + 0x111DB, + 0x111DC, + 0x111DD, + 0x111E0, + 0x111E1, + 0x111F5, + 0x11238, + 0x1123E, + 0x112A9, + 0x112AA, + 0x1144B, + 0x11450, + 0x1145A, + 0x1145C, + 0x1145D, + 0x1145E, + 0x114C6, + 0x114C7, + 0x115C1, + 0x115D8, + 0x11641, + 0x11644, + 0x11660, + 0x1166D, + 0x1173A, + 0x11740, + 0x1183B, + 0x1183C, + 0x118EA, + 0x118F3, + 0x11944, + 0x11947, + 0x119E2, + 0x119E3, + 0x11A3F, + 0x11A47, + 0x11A9A, + 0x11A9D, + 0x11A9E, + 0x11AA3, + 0x11C41, + 0x11C46, + 0x11C5A, + 0x11C6D, + 0x11C70, + 0x11C72, + 0x11EF7, + 0x11EF9, + 0x11FC0, + 0x11FF2, + 0x11FFF, + 0x12000, + 0x12470, + 0x12475, + 0x13430, + 0x13439, + 0x16A6E, + 0x16A70, + 0x16AF5, + 0x16AF6, + 0x16B37, + 0x16B40, + 0x16B44, + 0x16B46, + 0x16B5B, + 0x16B62, + 0x16E80, + 0x16E9B, + 0x16FE2, + 0x16FE3, + 0x1BC9C, + 0x1BC9D, + 0x1BC9F, + 0x1BCA0, + 0x1D000, + 0x1D0F6, + 0x1D100, + 0x1D127, + 0x1D129, + 0x1D15E, + 0x1D16A, + 0x1D16D, + 0x1D183, + 0x1D185, + 0x1D18C, + 0x1D1AA, + 0x1D1AE, + 0x1D1BB, + 0x1D1C1, + 0x1D1E9, + 0x1D200, + 0x1D242, + 0x1D245, + 0x1D246, + 0x1D2E0, + 0x1D2F4, + 0x1D300, + 0x1D357, + 0x1D360, + 0x1D379, + 0x1D800, + 0x1DA00, + 0x1DA37, + 0x1DA3B, + 0x1DA6D, + 0x1DA75, + 0x1DA76, + 0x1DA84, + 0x1DA85, + 0x1DA8C, + 0x1E14F, + 0x1E150, + 0x1E2FF, + 0x1E300, + 0x1E8C7, + 0x1E8D0, + 0x1E95E, + 0x1E960, + 0x1EC71, + 0x1ECB5, + 0x1ED01, + 0x1ED3E, + 0x1EEF0, + 0x1EEF2, + 0x1F000, + 0x1F02C, + 0x1F030, + 0x1F094, + 0x1F0A0, + 0x1F0AF, + 0x1F0B1, + 0x1F0C0, + 0x1F0C1, + 0x1F0D0, + 0x1F0D1, + 0x1F0F6, + 0x1F10B, + 0x1F110, + 0x1F12F, + 0x1F130, + 0x1F150, + 0x1F16A, + 0x1F16D, + 0x1F190, + 0x1F191, + 0x1F1AE, + 0x1F1E6, + 0x1F200, + 0x1F260, + 0x1F266, + 0x1F300, + 0x1F6D8, + 0x1F6E0, + 0x1F6ED, + 0x1F6F0, + 0x1F6FD, + 0x1F700, + 0x1F774, + 0x1F780, + 0x1F7D9, + 0x1F7E0, + 0x1F7EC, + 0x1F800, + 0x1F80C, + 0x1F810, + 0x1F848, + 0x1F850, + 0x1F85A, + 0x1F860, + 0x1F888, + 0x1F890, + 0x1F8AE, + 0x1F8B0, + 0x1F8B2, + 0x1F900, + 0x1F979, + 0x1F97A, + 0x1F9CC, + 0x1F9CD, + 0x1FA54, + 0x1FA60, + 0x1FA6E, + 0x1FA70, + 0x1FA75, + 0x1FA78, + 0x1FA7B, + 0x1FA80, + 0x1FA87, + 0x1FA90, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB +}; + +# endif /* EBCDIC 1047 */ + +# if 'A' == 193 /* EBCDIC 037 */ \ + && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ + && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ + && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 + +static const UV UNI_IDENTIFIERTYPE__NOTXID_invlist[] = { /* for EBCDIC 037 */ + 703, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x5, + 0x6, + 0xB, + 0xE, + 0x15, + 0x16, + 0x25, + 0x26, + 0x40, + 0x41, + 0x4A, + 0x4B, + 0x4C, + 0x51, + 0x5A, + 0x60, + 0x61, + 0x62, + 0x6A, + 0x6D, + 0x6E, + 0x70, + 0x79, + 0x7A, + 0x7B, + 0x7D, + 0x7E, + 0x80, + 0x8A, + 0x8C, + 0x8F, + 0x91, + 0x9F, + 0xA0, + 0xA1, + 0xA2, + 0xAA, + 0xAC, + 0xAF, + 0xB3, + 0xB4, + 0xB7, + 0xBA, + 0xBC, + 0xBF, + 0xC1, + 0xD0, + 0xD1, + 0xE0, + 0xE2, + 0x2C2, + 0x2C6, + 0x2D2, + 0x2D8, + 0x2DE, + 0x2E0, + 0x2E5, + 0x2EC, + 0x2ED, + 0x2EE, + 0x2EF, + 0x300, + 0x3F6, + 0x3F7, + 0x482, + 0x483, + 0x488, + 0x48A, + 0x55A, + 0x560, + 0x589, + 0x58A, + 0x58D, + 0x590, + 0x5BE, + 0x5BF, + 0x5C0, + 0x5C1, + 0x5C3, + 0x5C4, + 0x5C6, + 0x5C7, + 0x600, + 0x610, + 0x61B, + 0x61C, + 0x61E, + 0x620, + 0x66A, + 0x66E, + 0x6D4, + 0x6D5, + 0x6DD, + 0x6DF, + 0x6E9, + 0x6EA, + 0x700, + 0x70E, + 0x70F, + 0x710, + 0x7F6, + 0x7FA, + 0x7FE, + 0x800, + 0x830, + 0x83F, + 0x85E, + 0x85F, + 0x8E2, + 0x8E3, + 0x964, + 0x966, + 0x970, + 0x971, + 0x9F2, + 0x9FC, + 0x9FD, + 0x9FE, + 0xA76, + 0xA77, + 0xAF0, + 0xAF2, + 0xB70, + 0xB71, + 0xB72, + 0xB78, + 0xBF0, + 0xBFB, + 0xC77, + 0xC80, + 0xC84, + 0xC85, + 0xD4F, + 0xD50, + 0xD58, + 0xD5F, + 0xD70, + 0xD7A, + 0xDF4, + 0xDF5, + 0xE3F, + 0xE40, + 0xE4F, + 0xE50, + 0xE5A, + 0xE5C, + 0xF01, + 0xF0B, + 0xF0D, + 0xF18, + 0xF1A, + 0xF20, + 0xF2A, + 0xF35, + 0xF36, + 0xF37, + 0xF38, + 0xF39, + 0xF3A, + 0xF3E, + 0xF85, + 0xF86, + 0xFBE, + 0xFC6, + 0xFC7, + 0xFCD, + 0xFCE, + 0xFDB, + 0x104A, + 0x1050, + 0x109E, + 0x10A0, + 0x10FB, + 0x10FC, + 0x1360, + 0x1369, + 0x1372, + 0x137D, + 0x1390, + 0x139A, + 0x1400, + 0x1401, + 0x166D, + 0x166F, + 0x1680, + 0x1681, + 0x169B, + 0x169D, + 0x16EB, + 0x16EE, + 0x1735, + 0x1737, + 0x17D4, + 0x17D7, + 0x17D8, + 0x17DC, + 0x17F0, + 0x17FA, + 0x1800, + 0x180B, + 0x1940, + 0x1941, + 0x1944, + 0x1946, + 0x19DE, + 0x1A00, + 0x1A1E, + 0x1A20, + 0x1AA0, + 0x1AA7, + 0x1AA8, + 0x1AAE, + 0x1ABE, + 0x1ABF, + 0x1B5A, + 0x1B6B, + 0x1B74, + 0x1B7D, + 0x1BFC, + 0x1C00, + 0x1C3B, + 0x1C40, + 0x1C7E, + 0x1C80, + 0x1CC0, + 0x1CC8, + 0x1CD3, + 0x1CD4, + 0x2012, + 0x2017, + 0x2018, + 0x2019, + 0x201A, + 0x2024, + 0x2028, + 0x202A, + 0x2030, + 0x2033, + 0x2035, + 0x2036, + 0x2038, + 0x203C, + 0x203D, + 0x203E, + 0x2041, + 0x2047, + 0x204A, + 0x2054, + 0x2055, + 0x2057, + 0x2058, + 0x205F, + 0x20A0, + 0x20A8, + 0x20A9, + 0x20C0, + 0x20DD, + 0x20E1, + 0x20E2, + 0x20E5, + 0x2104, + 0x2105, + 0x2108, + 0x2109, + 0x2114, + 0x2115, + 0x2117, + 0x2118, + 0x211E, + 0x2120, + 0x2123, + 0x2124, + 0x2125, + 0x2126, + 0x2127, + 0x2128, + 0x2129, + 0x212A, + 0x213A, + 0x213B, + 0x2141, + 0x2145, + 0x214A, + 0x214E, + 0x214F, + 0x2150, + 0x218A, + 0x218C, + 0x2190, + 0x222C, + 0x222E, + 0x222F, + 0x2231, + 0x2329, + 0x232B, + 0x2427, + 0x2440, + 0x244B, + 0x24EB, + 0x2A0C, + 0x2A0D, + 0x2A74, + 0x2A77, + 0x2ADC, + 0x2ADD, + 0x2B74, + 0x2B76, + 0x2B96, + 0x2B97, + 0x2C00, + 0x2CE5, + 0x2CEB, + 0x2CF9, + 0x2D00, + 0x2D70, + 0x2D71, + 0x2E00, + 0x2E53, + 0x2E80, + 0x2E9A, + 0x2E9B, + 0x2E9F, + 0x2EA0, + 0x2EF3, + 0x2FF0, + 0x2FFC, + 0x3001, + 0x3005, + 0x3008, + 0x3021, + 0x3030, + 0x3031, + 0x3037, + 0x3038, + 0x303D, + 0x3040, + 0x3190, + 0x3192, + 0x31C0, + 0x31E4, + 0x3248, + 0x3250, + 0x327F, + 0x3280, + 0x4DC0, + 0x4E00, + 0xA490, + 0xA4C7, + 0xA4FE, + 0xA500, + 0xA60D, + 0xA610, + 0xA670, + 0xA674, + 0xA67E, + 0xA67F, + 0xA6F2, + 0xA6F8, + 0xA700, + 0xA717, + 0xA720, + 0xA722, + 0xA789, + 0xA78B, + 0xA828, + 0xA82C, + 0xA830, + 0xA83A, + 0xA874, + 0xA878, + 0xA8CE, + 0xA8D0, + 0xA8F8, + 0xA8FB, + 0xA8FC, + 0xA8FD, + 0xA92E, + 0xA930, + 0xA95F, + 0xA960, + 0xA9C1, + 0xA9CE, + 0xA9DE, + 0xA9E0, + 0xAA5C, + 0xAA60, + 0xAA77, + 0xAA7A, + 0xAADE, + 0xAAE0, + 0xAAF0, + 0xAAF2, + 0xAB5B, + 0xAB5C, + 0xAB6A, + 0xAB6C, + 0xABEB, + 0xABEC, + 0xFBB2, + 0xFBC2, + 0xFD3E, + 0xFD40, + 0xFDFD, + 0xFDFE, + 0xFE45, + 0xFE47, + 0xFFF9, + 0xFFFE, + 0x10100, + 0x10103, + 0x10107, + 0x10134, + 0x10137, + 0x10140, + 0x10175, + 0x1018F, + 0x10190, + 0x1019D, + 0x101A0, + 0x101A1, + 0x101D0, + 0x101FD, + 0x102E1, + 0x102FC, + 0x10320, + 0x10324, + 0x1039F, + 0x103A0, + 0x103D0, + 0x103D1, + 0x1056F, + 0x10570, + 0x10857, + 0x10860, + 0x10877, + 0x10880, + 0x108A7, + 0x108B0, + 0x108FB, + 0x10900, + 0x10916, + 0x1091C, + 0x1091F, + 0x10920, + 0x1093F, + 0x10940, + 0x109BC, + 0x109BE, + 0x109C0, + 0x109D0, + 0x109D2, + 0x10A00, + 0x10A40, + 0x10A49, + 0x10A50, + 0x10A59, + 0x10A7D, + 0x10A80, + 0x10A9D, + 0x10AA0, + 0x10AC8, + 0x10AC9, + 0x10AEB, + 0x10AF7, + 0x10B39, + 0x10B40, + 0x10B58, + 0x10B60, + 0x10B78, + 0x10B80, + 0x10B99, + 0x10B9D, + 0x10BA9, + 0x10BB0, + 0x10CFA, + 0x10D00, + 0x10E60, + 0x10E7F, + 0x10EAD, + 0x10EAE, + 0x10F1D, + 0x10F27, + 0x10F51, + 0x10F5A, + 0x10FC5, + 0x10FCC, + 0x11047, + 0x1104E, + 0x11052, + 0x11066, + 0x110BB, + 0x110C2, + 0x110CD, + 0x110CE, + 0x11140, + 0x11144, + 0x11174, + 0x11176, + 0x111C5, + 0x111C9, + 0x111CD, + 0x111CE, + 0x111DB, + 0x111DC, + 0x111DD, + 0x111E0, + 0x111E1, + 0x111F5, + 0x11238, + 0x1123E, + 0x112A9, + 0x112AA, + 0x1144B, + 0x11450, + 0x1145A, + 0x1145C, + 0x1145D, + 0x1145E, + 0x114C6, + 0x114C7, + 0x115C1, + 0x115D8, + 0x11641, + 0x11644, + 0x11660, + 0x1166D, + 0x1173A, + 0x11740, + 0x1183B, + 0x1183C, + 0x118EA, + 0x118F3, + 0x11944, + 0x11947, + 0x119E2, + 0x119E3, + 0x11A3F, + 0x11A47, + 0x11A9A, + 0x11A9D, + 0x11A9E, + 0x11AA3, + 0x11C41, + 0x11C46, + 0x11C5A, + 0x11C6D, + 0x11C70, + 0x11C72, + 0x11EF7, + 0x11EF9, + 0x11FC0, + 0x11FF2, + 0x11FFF, + 0x12000, + 0x12470, + 0x12475, + 0x13430, + 0x13439, + 0x16A6E, + 0x16A70, + 0x16AF5, + 0x16AF6, + 0x16B37, + 0x16B40, + 0x16B44, + 0x16B46, + 0x16B5B, + 0x16B62, + 0x16E80, + 0x16E9B, + 0x16FE2, + 0x16FE3, + 0x1BC9C, + 0x1BC9D, + 0x1BC9F, + 0x1BCA0, + 0x1D000, + 0x1D0F6, + 0x1D100, + 0x1D127, + 0x1D129, + 0x1D15E, + 0x1D16A, + 0x1D16D, + 0x1D183, + 0x1D185, + 0x1D18C, + 0x1D1AA, + 0x1D1AE, + 0x1D1BB, + 0x1D1C1, + 0x1D1E9, + 0x1D200, + 0x1D242, + 0x1D245, + 0x1D246, + 0x1D2E0, + 0x1D2F4, + 0x1D300, + 0x1D357, + 0x1D360, + 0x1D379, + 0x1D800, + 0x1DA00, + 0x1DA37, + 0x1DA3B, + 0x1DA6D, + 0x1DA75, + 0x1DA76, + 0x1DA84, + 0x1DA85, + 0x1DA8C, + 0x1E14F, + 0x1E150, + 0x1E2FF, + 0x1E300, + 0x1E8C7, + 0x1E8D0, + 0x1E95E, + 0x1E960, + 0x1EC71, + 0x1ECB5, + 0x1ED01, + 0x1ED3E, + 0x1EEF0, + 0x1EEF2, + 0x1F000, + 0x1F02C, + 0x1F030, + 0x1F094, + 0x1F0A0, + 0x1F0AF, + 0x1F0B1, + 0x1F0C0, + 0x1F0C1, + 0x1F0D0, + 0x1F0D1, + 0x1F0F6, + 0x1F10B, + 0x1F110, + 0x1F12F, + 0x1F130, + 0x1F150, + 0x1F16A, + 0x1F16D, + 0x1F190, + 0x1F191, + 0x1F1AE, + 0x1F1E6, + 0x1F200, + 0x1F260, + 0x1F266, + 0x1F300, + 0x1F6D8, + 0x1F6E0, + 0x1F6ED, + 0x1F6F0, + 0x1F6FD, + 0x1F700, + 0x1F774, + 0x1F780, + 0x1F7D9, + 0x1F7E0, + 0x1F7EC, + 0x1F800, + 0x1F80C, + 0x1F810, + 0x1F848, + 0x1F850, + 0x1F85A, + 0x1F860, + 0x1F888, + 0x1F890, + 0x1F8AE, + 0x1F8B0, + 0x1F8B2, + 0x1F900, + 0x1F979, + 0x1F97A, + 0x1F9CC, + 0x1F9CD, + 0x1FA54, + 0x1FA60, + 0x1FA6E, + 0x1FA70, + 0x1FA75, + 0x1FA78, + 0x1FA7B, + 0x1FA80, + 0x1FA87, + 0x1FA90, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB +}; + +# endif /* EBCDIC 037 */ + +static const UV UNI_IDENTIFIERTYPE__OBSOLETE_invlist[] = { /* for all charsets */ + 207, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x18D, + 0x18E, + 0x1AA, + 0x1AC, + 0x1B9, + 0x1BC, + 0x1BE, + 0x1C0, + 0x1F6, + 0x1F8, + 0x21C, + 0x21E, + 0x277, + 0x278, + 0x27C, + 0x27D, + 0x29E, + 0x29F, + 0x363, + 0x374, + 0x376, + 0x378, + 0x37F, + 0x380, + 0x3D8, + 0x3E2, + 0x3F3, + 0x3F4, + 0x3F7, + 0x3F9, + 0x3FA, + 0x3FC, + 0x460, + 0x48A, + 0x500, + 0x510, + 0x52A, + 0x52E, + 0x5A2, + 0x5A3, + 0x5C5, + 0x5C7, + 0x640, + 0x641, + 0x66E, + 0x670, + 0x68E, + 0x68F, + 0x6A1, + 0x6A2, + 0x7E8, + 0x7EB, + 0x7FA, + 0x7FB, + 0x8AD, + 0x8B2, + 0x94E, + 0x94F, + 0x951, + 0x953, + 0x978, + 0x979, + 0x980, + 0x981, + 0x9FC, + 0x9FD, + 0xC00, + 0xC01, + 0xC34, + 0xC35, + 0xC58, + 0xC5A, + 0xC81, + 0xC82, + 0xCDE, + 0xCDF, + 0xD01, + 0xD02, + 0xD04, + 0xD05, + 0xD3B, + 0xD3D, + 0xD5F, + 0xD60, + 0xDE6, + 0xDF0, + 0x10A0, + 0x10C6, + 0x10F1, + 0x10F7, + 0x1100, + 0x115F, + 0x1161, + 0x1200, + 0x1369, + 0x1372, + 0x17A8, + 0x17A9, + 0x17D1, + 0x17D2, + 0x17D3, + 0x17D4, + 0x17D8, + 0x17D9, + 0x17DD, + 0x17DE, + 0x1AB0, + 0x1ABE, + 0x1C80, + 0x1C89, + 0x1CD0, + 0x1CFA, + 0x1DC0, + 0x1DC4, + 0x1DCE, + 0x1DCF, + 0x1DD1, + 0x1DE7, + 0x2056, + 0x2057, + 0x2058, + 0x205F, + 0x2127, + 0x2128, + 0x2132, + 0x2133, + 0x214E, + 0x2150, + 0x2180, + 0x2189, + 0x2C6D, + 0x2C77, + 0x2C7E, + 0x2C80, + 0x2D00, + 0x2D26, + 0x2DE0, + 0x2E17, + 0x2E2A, + 0x2E33, + 0x2E35, + 0x2E36, + 0x2E39, + 0x2E3A, + 0x301E, + 0x301F, + 0x302E, + 0x3030, + 0x312E, + 0x312F, + 0xA610, + 0xA613, + 0xA62A, + 0xA62C, + 0xA640, + 0xA66F, + 0xA670, + 0xA67C, + 0xA680, + 0xA69C, + 0xA69E, + 0xA6A0, + 0xA700, + 0xA708, + 0xA722, + 0xA770, + 0xA771, + 0xA788, + 0xA790, + 0xA792, + 0xA794, + 0xA7AA, + 0xA7AB, + 0xA7AE, + 0xA7B0, + 0xA7B2, + 0xA7F5, + 0xA7F8, + 0xA7FB, + 0xA800, + 0xA8E0, + 0xA900, + 0xA960, + 0xA97D, + 0xA9E0, + 0xA9E7, + 0xAB30, + 0xAB5B, + 0xAB64, + 0xAB66, + 0xD7B0, + 0xD7C7, + 0xD7CB, + 0xD7FC, + 0x10140, + 0x10175, + 0x101D0, + 0x101FE, + 0x102E0, + 0x102FC, + 0x16FE3, + 0x16FE4, + 0x1B000, + 0x1B11F, + 0x1D200, + 0x1D246 +}; + +# if 'A' == 65 /* ASCII/Latin1 */ + +static const UV UNI_IDENTIFIERTYPE__RECOMMENDED_invlist[] = { /* for ASCII/Latin1 */ + 733, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x30, + 0x3A, + 0x41, + 0x5B, + 0x5F, + 0x60, + 0x61, + 0x7B, + 0xC0, + 0xD7, + 0xD8, + 0xF7, + 0xF8, + 0x132, + 0x134, + 0x13F, + 0x141, + 0x149, + 0x14A, + 0x17F, + 0x18F, + 0x190, + 0x1A0, + 0x1A2, + 0x1AF, + 0x1B1, + 0x1CD, + 0x1DD, + 0x1DE, + 0x1E4, + 0x1E6, + 0x1F1, + 0x1F4, + 0x1F6, + 0x1F8, + 0x21C, + 0x21E, + 0x220, + 0x226, + 0x234, + 0x259, + 0x25A, + 0x2BB, + 0x2BD, + 0x2EC, + 0x2ED, + 0x300, + 0x305, + 0x306, + 0x30D, + 0x30F, + 0x312, + 0x313, + 0x315, + 0x31B, + 0x31C, + 0x323, + 0x329, + 0x32D, + 0x32F, + 0x330, + 0x332, + 0x335, + 0x336, + 0x338, + 0x33A, + 0x342, + 0x343, + 0x345, + 0x346, + 0x37B, + 0x37E, + 0x386, + 0x387, + 0x388, + 0x38B, + 0x38C, + 0x38D, + 0x38E, + 0x3A2, + 0x3A3, + 0x3CF, + 0x3FC, + 0x460, + 0x48A, + 0x500, + 0x510, + 0x52A, + 0x52E, + 0x530, + 0x531, + 0x557, + 0x559, + 0x55A, + 0x561, + 0x587, + 0x5B4, + 0x5B5, + 0x5D0, + 0x5EB, + 0x5EF, + 0x5F3, + 0x620, + 0x640, + 0x641, + 0x656, + 0x660, + 0x66A, + 0x670, + 0x673, + 0x674, + 0x675, + 0x679, + 0x68E, + 0x68F, + 0x6A1, + 0x6A2, + 0x6D4, + 0x6D5, + 0x6D6, + 0x6E5, + 0x6E7, + 0x6EE, + 0x6FD, + 0x6FF, + 0x700, + 0x750, + 0x7B2, + 0x8A0, + 0x8AD, + 0x8B2, + 0x8B3, + 0x8B6, + 0x8C8, + 0x901, + 0x94E, + 0x94F, + 0x951, + 0x956, + 0x958, + 0x960, + 0x964, + 0x966, + 0x970, + 0x971, + 0x978, + 0x979, + 0x980, + 0x981, + 0x984, + 0x985, + 0x98D, + 0x98F, + 0x991, + 0x993, + 0x9A9, + 0x9AA, + 0x9B1, + 0x9B2, + 0x9B3, + 0x9B6, + 0x9BA, + 0x9BC, + 0x9C5, + 0x9C7, + 0x9C9, + 0x9CB, + 0x9CF, + 0x9D7, + 0x9D8, + 0x9E0, + 0x9E4, + 0x9E6, + 0x9F2, + 0x9FE, + 0x9FF, + 0xA01, + 0xA04, + 0xA05, + 0xA0B, + 0xA0F, + 0xA11, + 0xA13, + 0xA29, + 0xA2A, + 0xA31, + 0xA32, + 0xA33, + 0xA35, + 0xA36, + 0xA38, + 0xA3A, + 0xA3C, + 0xA3D, + 0xA3E, + 0xA43, + 0xA47, + 0xA49, + 0xA4B, + 0xA4E, + 0xA5C, + 0xA5D, + 0xA66, + 0xA75, + 0xA81, + 0xA84, + 0xA85, + 0xA8E, + 0xA8F, + 0xA92, + 0xA93, + 0xAA9, + 0xAAA, + 0xAB1, + 0xAB2, + 0xAB4, + 0xAB5, + 0xABA, + 0xABC, + 0xAC6, + 0xAC7, + 0xACA, + 0xACB, + 0xACE, + 0xAD0, + 0xAD1, + 0xAE0, + 0xAE4, + 0xAE6, + 0xAF0, + 0xAFA, + 0xB00, + 0xB01, + 0xB04, + 0xB05, + 0xB0D, + 0xB0F, + 0xB11, + 0xB13, + 0xB29, + 0xB2A, + 0xB31, + 0xB32, + 0xB34, + 0xB35, + 0xB3A, + 0xB3C, + 0xB44, + 0xB47, + 0xB49, + 0xB4B, + 0xB4E, + 0xB55, + 0xB58, + 0xB5F, + 0xB62, + 0xB66, + 0xB70, + 0xB71, + 0xB72, + 0xB82, + 0xB84, + 0xB85, + 0xB8B, + 0xB8E, + 0xB91, + 0xB92, + 0xB96, + 0xB99, + 0xB9B, + 0xB9C, + 0xB9D, + 0xB9E, + 0xBA0, + 0xBA3, + 0xBA5, + 0xBA8, + 0xBAB, + 0xBAE, + 0xBBA, + 0xBBE, + 0xBC3, + 0xBC6, + 0xBC9, + 0xBCA, + 0xBCE, + 0xBD0, + 0xBD1, + 0xBD7, + 0xBD8, + 0xBE6, + 0xBF0, + 0xC01, + 0xC0D, + 0xC0E, + 0xC11, + 0xC12, + 0xC29, + 0xC2A, + 0xC34, + 0xC35, + 0xC3A, + 0xC3D, + 0xC45, + 0xC46, + 0xC49, + 0xC4A, + 0xC4E, + 0xC55, + 0xC57, + 0xC60, + 0xC62, + 0xC66, + 0xC70, + 0xC80, + 0xC81, + 0xC82, + 0xC84, + 0xC85, + 0xC8D, + 0xC8E, + 0xC91, + 0xC92, + 0xCA9, + 0xCAA, + 0xCB4, + 0xCB5, + 0xCBA, + 0xCBC, + 0xCC5, + 0xCC6, + 0xCC9, + 0xCCA, + 0xCCE, + 0xCD5, + 0xCD7, + 0xCE0, + 0xCE4, + 0xCE6, + 0xCF0, + 0xCF1, + 0xCF3, + 0xD00, + 0xD01, + 0xD02, + 0xD04, + 0xD05, + 0xD0D, + 0xD0E, + 0xD11, + 0xD12, + 0xD3B, + 0xD3D, + 0xD44, + 0xD46, + 0xD49, + 0xD4A, + 0xD4F, + 0xD54, + 0xD58, + 0xD60, + 0xD62, + 0xD66, + 0xD70, + 0xD7A, + 0xD80, + 0xD82, + 0xD84, + 0xD85, + 0xD8F, + 0xD91, + 0xD97, + 0xD9A, + 0xDA6, + 0xDA7, + 0xDB2, + 0xDB3, + 0xDBC, + 0xDBD, + 0xDBE, + 0xDC0, + 0xDC7, + 0xDCA, + 0xDCB, + 0xDCF, + 0xDD5, + 0xDD6, + 0xDD7, + 0xDD8, + 0xDDF, + 0xDF2, + 0xDF3, + 0xE01, + 0xE33, + 0xE34, + 0xE3B, + 0xE40, + 0xE4F, + 0xE50, + 0xE5A, + 0xE81, + 0xE83, + 0xE84, + 0xE85, + 0xE86, + 0xE8B, + 0xE8C, + 0xEA4, + 0xEA5, + 0xEA6, + 0xEA7, + 0xEB3, + 0xEB4, + 0xEBE, + 0xEC0, + 0xEC5, + 0xEC6, + 0xEC7, + 0xEC8, + 0xECE, + 0xED0, + 0xEDA, + 0xEDE, + 0xEE0, + 0xF00, + 0xF01, + 0xF20, + 0xF2A, + 0xF35, + 0xF36, + 0xF37, + 0xF38, + 0xF3E, + 0xF43, + 0xF44, + 0xF48, + 0xF49, + 0xF4D, + 0xF4E, + 0xF52, + 0xF53, + 0xF57, + 0xF58, + 0xF5C, + 0xF5D, + 0xF69, + 0xF6A, + 0xF6D, + 0xF71, + 0xF73, + 0xF74, + 0xF75, + 0xF7A, + 0xF81, + 0xF82, + 0xF85, + 0xF86, + 0xF93, + 0xF94, + 0xF98, + 0xF99, + 0xF9D, + 0xF9E, + 0xFA2, + 0xFA3, + 0xFA7, + 0xFA8, + 0xFAC, + 0xFAD, + 0xFB9, + 0xFBA, + 0xFBD, + 0xFC6, + 0xFC7, + 0x1000, + 0x104A, + 0x1050, + 0x109E, + 0x10C7, + 0x10C8, + 0x10CD, + 0x10CE, + 0x10D0, + 0x10F1, + 0x10F7, + 0x10FB, + 0x10FD, + 0x1100, + 0x1200, + 0x1249, + 0x124A, + 0x124E, + 0x1250, + 0x1257, + 0x1258, + 0x1259, + 0x125A, + 0x125E, + 0x1260, + 0x1289, + 0x128A, + 0x128E, + 0x1290, + 0x12B1, + 0x12B2, + 0x12B6, + 0x12B8, + 0x12BF, + 0x12C0, + 0x12C1, + 0x12C2, + 0x12C6, + 0x12C8, + 0x12D7, + 0x12D8, + 0x1311, + 0x1312, + 0x1316, + 0x1318, + 0x135B, + 0x135D, + 0x1360, + 0x1380, + 0x1390, + 0x1780, + 0x17A3, + 0x17A5, + 0x17A8, + 0x17A9, + 0x17B4, + 0x17B6, + 0x17CB, + 0x17D2, + 0x17D3, + 0x17D7, + 0x17D8, + 0x17DC, + 0x17DD, + 0x17E0, + 0x17EA, + 0x1C90, + 0x1CBB, + 0x1CBD, + 0x1CC0, + 0x1E00, + 0x1E9A, + 0x1E9E, + 0x1E9F, + 0x1EA0, + 0x1EFA, + 0x1F00, + 0x1F16, + 0x1F18, + 0x1F1E, + 0x1F20, + 0x1F46, + 0x1F48, + 0x1F4E, + 0x1F50, + 0x1F58, + 0x1F59, + 0x1F5A, + 0x1F5B, + 0x1F5C, + 0x1F5D, + 0x1F5E, + 0x1F5F, + 0x1F71, + 0x1F72, + 0x1F73, + 0x1F74, + 0x1F75, + 0x1F76, + 0x1F77, + 0x1F78, + 0x1F79, + 0x1F7A, + 0x1F7B, + 0x1F7C, + 0x1F7D, + 0x1F80, + 0x1FB5, + 0x1FB6, + 0x1FBB, + 0x1FBC, + 0x1FBD, + 0x1FC2, + 0x1FC5, + 0x1FC6, + 0x1FC9, + 0x1FCA, + 0x1FCB, + 0x1FCC, + 0x1FCD, + 0x1FD0, + 0x1FD3, + 0x1FD6, + 0x1FDB, + 0x1FE0, + 0x1FE3, + 0x1FE4, + 0x1FEB, + 0x1FEC, + 0x1FED, + 0x1FF2, + 0x1FF5, + 0x1FF6, + 0x1FF9, + 0x1FFA, + 0x1FFB, + 0x1FFC, + 0x1FFD, + 0x2D27, + 0x2D28, + 0x2D2D, + 0x2D2E, + 0x2D80, + 0x2D97, + 0x2DA0, + 0x2DA7, + 0x2DA8, + 0x2DAF, + 0x2DB0, + 0x2DB7, + 0x2DB8, + 0x2DBF, + 0x2DC0, + 0x2DC7, + 0x2DC8, + 0x2DCF, + 0x2DD0, + 0x2DD7, + 0x2DD8, + 0x2DDF, + 0x3005, + 0x3008, + 0x3041, + 0x3097, + 0x3099, + 0x309B, + 0x309D, + 0x309F, + 0x30A1, + 0x30FB, + 0x30FC, + 0x30FF, + 0x3105, + 0x312E, + 0x312F, + 0x3130, + 0x31A0, + 0x31C0, + 0x3400, + 0x4DC0, + 0x4E00, + 0x9FFD, + 0xA67F, + 0xA680, + 0xA717, + 0xA720, + 0xA788, + 0xA789, + 0xA78D, + 0xA78E, + 0xA792, + 0xA794, + 0xA7AA, + 0xA7AB, + 0xA7AE, + 0xA7AF, + 0xA7B8, + 0xA7BA, + 0xA7C2, + 0xA7CB, + 0xA9E7, + 0xA9FF, + 0xAA60, + 0xAA77, + 0xAA7A, + 0xAA80, + 0xAB01, + 0xAB07, + 0xAB09, + 0xAB0F, + 0xAB11, + 0xAB17, + 0xAB20, + 0xAB27, + 0xAB28, + 0xAB2F, + 0xAB66, + 0xAB68, + 0xAC00, + 0xD7A4, + 0xFA0E, + 0xFA10, + 0xFA11, + 0xFA12, + 0xFA13, + 0xFA15, + 0xFA1F, + 0xFA20, + 0xFA21, + 0xFA22, + 0xFA23, + 0xFA25, + 0xFA27, + 0xFA2A, + 0x11301, + 0x11302, + 0x11303, + 0x11304, + 0x1133B, + 0x1133D, + 0x16FF0, + 0x16FF2, + 0x1B150, + 0x1B153, + 0x1B164, + 0x1B168, + 0x20000, + 0x2A6DE, + 0x2A700, + 0x2B735, + 0x2B740, + 0x2B81E, + 0x2B820, + 0x2CEA2, + 0x2CEB0, + 0x2EBE1, + 0x30000, + 0x3134B +}; + +# endif /* ASCII/Latin1 */ + +# if 'A' == 193 /* EBCDIC 1047 */ \ + && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ + && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ + && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 + +static const UV UNI_IDENTIFIERTYPE__RECOMMENDED_invlist[] = { /* for EBCDIC 1047 */ + 763, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x42, + 0x4A, + 0x51, + 0x5A, + 0x62, + 0x6A, + 0x6D, + 0x6E, + 0x70, + 0x79, + 0x80, + 0x8A, + 0x8C, + 0x8F, + 0x91, + 0x9A, + 0x9C, + 0x9D, + 0x9E, + 0x9F, + 0xA2, + 0xAA, + 0xAC, + 0xAD, + 0xAE, + 0xAF, + 0xBA, + 0xBB, + 0xC1, + 0xCA, + 0xCB, + 0xD0, + 0xD1, + 0xDA, + 0xDB, + 0xE0, + 0xE2, + 0xEA, + 0xEB, + 0xFA, + 0xFB, + 0xFF, + 0x100, + 0x132, + 0x134, + 0x13F, + 0x141, + 0x149, + 0x14A, + 0x17F, + 0x18F, + 0x190, + 0x1A0, + 0x1A2, + 0x1AF, + 0x1B1, + 0x1CD, + 0x1DD, + 0x1DE, + 0x1E4, + 0x1E6, + 0x1F1, + 0x1F4, + 0x1F6, + 0x1F8, + 0x21C, + 0x21E, + 0x220, + 0x226, + 0x234, + 0x259, + 0x25A, + 0x2BB, + 0x2BD, + 0x2EC, + 0x2ED, + 0x300, + 0x305, + 0x306, + 0x30D, + 0x30F, + 0x312, + 0x313, + 0x315, + 0x31B, + 0x31C, + 0x323, + 0x329, + 0x32D, + 0x32F, + 0x330, + 0x332, + 0x335, + 0x336, + 0x338, + 0x33A, + 0x342, + 0x343, + 0x345, + 0x346, + 0x37B, + 0x37E, + 0x386, + 0x387, + 0x388, + 0x38B, + 0x38C, + 0x38D, + 0x38E, + 0x3A2, + 0x3A3, + 0x3CF, + 0x3FC, + 0x460, + 0x48A, + 0x500, + 0x510, + 0x52A, + 0x52E, + 0x530, + 0x531, + 0x557, + 0x559, + 0x55A, + 0x561, + 0x587, + 0x5B4, + 0x5B5, + 0x5D0, + 0x5EB, + 0x5EF, + 0x5F3, + 0x620, + 0x640, + 0x641, + 0x656, + 0x660, + 0x66A, + 0x670, + 0x673, + 0x674, + 0x675, + 0x679, + 0x68E, + 0x68F, + 0x6A1, + 0x6A2, + 0x6D4, + 0x6D5, + 0x6D6, + 0x6E5, + 0x6E7, + 0x6EE, + 0x6FD, + 0x6FF, + 0x700, + 0x750, + 0x7B2, + 0x8A0, + 0x8AD, + 0x8B2, + 0x8B3, + 0x8B6, + 0x8C8, + 0x901, + 0x94E, + 0x94F, + 0x951, + 0x956, + 0x958, + 0x960, + 0x964, + 0x966, + 0x970, + 0x971, + 0x978, + 0x979, + 0x980, + 0x981, + 0x984, + 0x985, + 0x98D, + 0x98F, + 0x991, + 0x993, + 0x9A9, + 0x9AA, + 0x9B1, + 0x9B2, + 0x9B3, + 0x9B6, + 0x9BA, + 0x9BC, + 0x9C5, + 0x9C7, + 0x9C9, + 0x9CB, + 0x9CF, + 0x9D7, + 0x9D8, + 0x9E0, + 0x9E4, + 0x9E6, + 0x9F2, + 0x9FE, + 0x9FF, + 0xA01, + 0xA04, + 0xA05, + 0xA0B, + 0xA0F, + 0xA11, + 0xA13, + 0xA29, + 0xA2A, + 0xA31, + 0xA32, + 0xA33, + 0xA35, + 0xA36, + 0xA38, + 0xA3A, + 0xA3C, + 0xA3D, + 0xA3E, + 0xA43, + 0xA47, + 0xA49, + 0xA4B, + 0xA4E, + 0xA5C, + 0xA5D, + 0xA66, + 0xA75, + 0xA81, + 0xA84, + 0xA85, + 0xA8E, + 0xA8F, + 0xA92, + 0xA93, + 0xAA9, + 0xAAA, + 0xAB1, + 0xAB2, + 0xAB4, + 0xAB5, + 0xABA, + 0xABC, + 0xAC6, + 0xAC7, + 0xACA, + 0xACB, + 0xACE, + 0xAD0, + 0xAD1, + 0xAE0, + 0xAE4, + 0xAE6, + 0xAF0, + 0xAFA, + 0xB00, + 0xB01, + 0xB04, + 0xB05, + 0xB0D, + 0xB0F, + 0xB11, + 0xB13, + 0xB29, + 0xB2A, + 0xB31, + 0xB32, + 0xB34, + 0xB35, + 0xB3A, + 0xB3C, + 0xB44, + 0xB47, + 0xB49, + 0xB4B, + 0xB4E, + 0xB55, + 0xB58, + 0xB5F, + 0xB62, + 0xB66, + 0xB70, + 0xB71, + 0xB72, + 0xB82, + 0xB84, + 0xB85, + 0xB8B, + 0xB8E, + 0xB91, + 0xB92, + 0xB96, + 0xB99, + 0xB9B, + 0xB9C, + 0xB9D, + 0xB9E, + 0xBA0, + 0xBA3, + 0xBA5, + 0xBA8, + 0xBAB, + 0xBAE, + 0xBBA, + 0xBBE, + 0xBC3, + 0xBC6, + 0xBC9, + 0xBCA, + 0xBCE, + 0xBD0, + 0xBD1, + 0xBD7, + 0xBD8, + 0xBE6, + 0xBF0, + 0xC01, + 0xC0D, + 0xC0E, + 0xC11, + 0xC12, + 0xC29, + 0xC2A, + 0xC34, + 0xC35, + 0xC3A, + 0xC3D, + 0xC45, + 0xC46, + 0xC49, + 0xC4A, + 0xC4E, + 0xC55, + 0xC57, + 0xC60, + 0xC62, + 0xC66, + 0xC70, + 0xC80, + 0xC81, + 0xC82, + 0xC84, + 0xC85, + 0xC8D, + 0xC8E, + 0xC91, + 0xC92, + 0xCA9, + 0xCAA, + 0xCB4, + 0xCB5, + 0xCBA, + 0xCBC, + 0xCC5, + 0xCC6, + 0xCC9, + 0xCCA, + 0xCCE, + 0xCD5, + 0xCD7, + 0xCE0, + 0xCE4, + 0xCE6, + 0xCF0, + 0xCF1, + 0xCF3, + 0xD00, + 0xD01, + 0xD02, + 0xD04, + 0xD05, + 0xD0D, + 0xD0E, + 0xD11, + 0xD12, + 0xD3B, + 0xD3D, + 0xD44, + 0xD46, + 0xD49, + 0xD4A, + 0xD4F, + 0xD54, + 0xD58, + 0xD60, + 0xD62, + 0xD66, + 0xD70, + 0xD7A, + 0xD80, + 0xD82, + 0xD84, + 0xD85, + 0xD8F, + 0xD91, + 0xD97, + 0xD9A, + 0xDA6, + 0xDA7, + 0xDB2, + 0xDB3, + 0xDBC, + 0xDBD, + 0xDBE, + 0xDC0, + 0xDC7, + 0xDCA, + 0xDCB, + 0xDCF, + 0xDD5, + 0xDD6, + 0xDD7, + 0xDD8, + 0xDDF, + 0xDF2, + 0xDF3, + 0xE01, + 0xE33, + 0xE34, + 0xE3B, + 0xE40, + 0xE4F, + 0xE50, + 0xE5A, + 0xE81, + 0xE83, + 0xE84, + 0xE85, + 0xE86, + 0xE8B, + 0xE8C, + 0xEA4, + 0xEA5, + 0xEA6, + 0xEA7, + 0xEB3, + 0xEB4, + 0xEBE, + 0xEC0, + 0xEC5, + 0xEC6, + 0xEC7, + 0xEC8, + 0xECE, + 0xED0, + 0xEDA, + 0xEDE, + 0xEE0, + 0xF00, + 0xF01, + 0xF20, + 0xF2A, + 0xF35, + 0xF36, + 0xF37, + 0xF38, + 0xF3E, + 0xF43, + 0xF44, + 0xF48, + 0xF49, + 0xF4D, + 0xF4E, + 0xF52, + 0xF53, + 0xF57, + 0xF58, + 0xF5C, + 0xF5D, + 0xF69, + 0xF6A, + 0xF6D, + 0xF71, + 0xF73, + 0xF74, + 0xF75, + 0xF7A, + 0xF81, + 0xF82, + 0xF85, + 0xF86, + 0xF93, + 0xF94, + 0xF98, + 0xF99, + 0xF9D, + 0xF9E, + 0xFA2, + 0xFA3, + 0xFA7, + 0xFA8, + 0xFAC, + 0xFAD, + 0xFB9, + 0xFBA, + 0xFBD, + 0xFC6, + 0xFC7, + 0x1000, + 0x104A, + 0x1050, + 0x109E, + 0x10C7, + 0x10C8, + 0x10CD, + 0x10CE, + 0x10D0, + 0x10F1, + 0x10F7, + 0x10FB, + 0x10FD, + 0x1100, + 0x1200, + 0x1249, + 0x124A, + 0x124E, + 0x1250, + 0x1257, + 0x1258, + 0x1259, + 0x125A, + 0x125E, + 0x1260, + 0x1289, + 0x128A, + 0x128E, + 0x1290, + 0x12B1, + 0x12B2, + 0x12B6, + 0x12B8, + 0x12BF, + 0x12C0, + 0x12C1, + 0x12C2, + 0x12C6, + 0x12C8, + 0x12D7, + 0x12D8, + 0x1311, + 0x1312, + 0x1316, + 0x1318, + 0x135B, + 0x135D, + 0x1360, + 0x1380, + 0x1390, + 0x1780, + 0x17A3, + 0x17A5, + 0x17A8, + 0x17A9, + 0x17B4, + 0x17B6, + 0x17CB, + 0x17D2, + 0x17D3, + 0x17D7, + 0x17D8, + 0x17DC, + 0x17DD, + 0x17E0, + 0x17EA, + 0x1C90, + 0x1CBB, + 0x1CBD, + 0x1CC0, + 0x1E00, + 0x1E9A, + 0x1E9E, + 0x1E9F, + 0x1EA0, + 0x1EFA, + 0x1F00, + 0x1F16, + 0x1F18, + 0x1F1E, + 0x1F20, + 0x1F46, + 0x1F48, + 0x1F4E, + 0x1F50, + 0x1F58, + 0x1F59, + 0x1F5A, + 0x1F5B, + 0x1F5C, + 0x1F5D, + 0x1F5E, + 0x1F5F, + 0x1F71, + 0x1F72, + 0x1F73, + 0x1F74, + 0x1F75, + 0x1F76, + 0x1F77, + 0x1F78, + 0x1F79, + 0x1F7A, + 0x1F7B, + 0x1F7C, + 0x1F7D, + 0x1F80, + 0x1FB5, + 0x1FB6, + 0x1FBB, + 0x1FBC, + 0x1FBD, + 0x1FC2, + 0x1FC5, + 0x1FC6, + 0x1FC9, + 0x1FCA, + 0x1FCB, + 0x1FCC, + 0x1FCD, + 0x1FD0, + 0x1FD3, + 0x1FD6, + 0x1FDB, + 0x1FE0, + 0x1FE3, + 0x1FE4, + 0x1FEB, + 0x1FEC, + 0x1FED, + 0x1FF2, + 0x1FF5, + 0x1FF6, + 0x1FF9, + 0x1FFA, + 0x1FFB, + 0x1FFC, + 0x1FFD, + 0x2D27, + 0x2D28, + 0x2D2D, + 0x2D2E, + 0x2D80, + 0x2D97, + 0x2DA0, + 0x2DA7, + 0x2DA8, + 0x2DAF, + 0x2DB0, + 0x2DB7, + 0x2DB8, + 0x2DBF, + 0x2DC0, + 0x2DC7, + 0x2DC8, + 0x2DCF, + 0x2DD0, + 0x2DD7, + 0x2DD8, + 0x2DDF, + 0x3005, + 0x3008, + 0x3041, + 0x3097, + 0x3099, + 0x309B, + 0x309D, + 0x309F, + 0x30A1, + 0x30FB, + 0x30FC, + 0x30FF, + 0x3105, + 0x312E, + 0x312F, + 0x3130, + 0x31A0, + 0x31C0, + 0x3400, + 0x4DC0, + 0x4E00, + 0x9FFD, + 0xA67F, + 0xA680, + 0xA717, + 0xA720, + 0xA788, + 0xA789, + 0xA78D, + 0xA78E, + 0xA792, + 0xA794, + 0xA7AA, + 0xA7AB, + 0xA7AE, + 0xA7AF, + 0xA7B8, + 0xA7BA, + 0xA7C2, + 0xA7CB, + 0xA9E7, + 0xA9FF, + 0xAA60, + 0xAA77, + 0xAA7A, + 0xAA80, + 0xAB01, + 0xAB07, + 0xAB09, + 0xAB0F, + 0xAB11, + 0xAB17, + 0xAB20, + 0xAB27, + 0xAB28, + 0xAB2F, + 0xAB66, + 0xAB68, + 0xAC00, + 0xD7A4, + 0xFA0E, + 0xFA10, + 0xFA11, + 0xFA12, + 0xFA13, + 0xFA15, + 0xFA1F, + 0xFA20, + 0xFA21, + 0xFA22, + 0xFA23, + 0xFA25, + 0xFA27, + 0xFA2A, + 0x11301, + 0x11302, + 0x11303, + 0x11304, + 0x1133B, + 0x1133D, + 0x16FF0, + 0x16FF2, + 0x1B150, + 0x1B153, + 0x1B164, + 0x1B168, + 0x20000, + 0x2A6DE, + 0x2A700, + 0x2B735, + 0x2B740, + 0x2B81E, + 0x2B820, + 0x2CEA2, + 0x2CEB0, + 0x2EBE1, + 0x30000, + 0x3134B +}; + +# endif /* EBCDIC 1047 */ + +# if 'A' == 193 /* EBCDIC 037 */ \ + && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ + && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ + && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 + +static const UV UNI_IDENTIFIERTYPE__RECOMMENDED_invlist[] = { /* for EBCDIC 037 */ + 759, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x42, + 0x4A, + 0x51, + 0x5A, + 0x62, + 0x6A, + 0x6D, + 0x6E, + 0x70, + 0x79, + 0x80, + 0x8A, + 0x8C, + 0x8F, + 0x91, + 0x9A, + 0x9C, + 0x9D, + 0x9E, + 0x9F, + 0xA2, + 0xAA, + 0xAC, + 0xAF, + 0xC1, + 0xCA, + 0xCB, + 0xD0, + 0xD1, + 0xDA, + 0xDB, + 0xE0, + 0xE2, + 0xEA, + 0xEB, + 0xFA, + 0xFB, + 0xFF, + 0x100, + 0x132, + 0x134, + 0x13F, + 0x141, + 0x149, + 0x14A, + 0x17F, + 0x18F, + 0x190, + 0x1A0, + 0x1A2, + 0x1AF, + 0x1B1, + 0x1CD, + 0x1DD, + 0x1DE, + 0x1E4, + 0x1E6, + 0x1F1, + 0x1F4, + 0x1F6, + 0x1F8, + 0x21C, + 0x21E, + 0x220, + 0x226, + 0x234, + 0x259, + 0x25A, + 0x2BB, + 0x2BD, + 0x2EC, + 0x2ED, 0x300, - 0x375, - 0x376, - 0x378, - 0x37A, + 0x305, + 0x306, + 0x30D, + 0x30F, + 0x312, + 0x313, + 0x315, + 0x31B, + 0x31C, + 0x323, + 0x329, + 0x32D, + 0x32F, + 0x330, + 0x332, + 0x335, + 0x336, + 0x338, + 0x33A, + 0x342, + 0x343, + 0x345, + 0x346, + 0x37B, 0x37E, - 0x37F, - 0x380, 0x386, + 0x387, + 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, - 0x3F6, - 0x3F7, - 0x482, - 0x483, - 0x488, + 0x3CF, + 0x3FC, + 0x460, 0x48A, + 0x500, + 0x510, + 0x52A, + 0x52E, 0x530, 0x531, 0x557, 0x559, 0x55A, - 0x560, - 0x589, - 0x591, - 0x5BE, - 0x5BF, - 0x5C0, - 0x5C1, - 0x5C3, - 0x5C4, - 0x5C6, - 0x5C7, - 0x5C8, + 0x561, + 0x587, + 0x5B4, + 0x5B5, 0x5D0, 0x5EB, 0x5EF, 0x5F3, - 0x610, - 0x61B, 0x620, + 0x640, + 0x641, + 0x656, + 0x660, 0x66A, - 0x66E, + 0x670, + 0x673, + 0x674, + 0x675, + 0x679, + 0x68E, + 0x68F, + 0x6A1, + 0x6A2, 0x6D4, 0x6D5, - 0x6DD, - 0x6DF, - 0x6E9, - 0x6EA, + 0x6D6, + 0x6E5, + 0x6E7, + 0x6EE, 0x6FD, 0x6FF, 0x700, - 0x710, - 0x74B, - 0x74D, + 0x750, 0x7B2, - 0x7C0, - 0x7F6, - 0x7FA, - 0x7FB, - 0x7FD, - 0x7FE, - 0x800, - 0x82E, - 0x840, - 0x85C, - 0x860, - 0x86B, 0x8A0, - 0x8B5, + 0x8AD, + 0x8B2, + 0x8B3, 0x8B6, - 0x8BE, - 0x8D3, - 0x8E2, - 0x8E3, + 0x8C8, + 0x901, + 0x94E, + 0x94F, + 0x951, + 0x956, + 0x958, + 0x960, 0x964, 0x966, 0x970, 0x971, + 0x978, + 0x979, + 0x980, + 0x981, 0x984, 0x985, 0x98D, @@ -250706,14 +273739,10 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 1047 */ 0x9CF, 0x9D7, 0x9D8, - 0x9DC, - 0x9DE, - 0x9DF, + 0x9E0, 0x9E4, 0x9E6, 0x9F2, - 0x9FC, - 0x9FD, 0x9FE, 0x9FF, 0xA01, @@ -250727,9 +273756,9 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 1047 */ 0xA2A, 0xA31, 0xA32, - 0xA34, + 0xA33, 0xA35, - 0xA37, + 0xA36, 0xA38, 0xA3A, 0xA3C, @@ -250740,14 +273769,10 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 1047 */ 0xA49, 0xA4B, 0xA4E, - 0xA51, - 0xA52, - 0xA59, + 0xA5C, 0xA5D, - 0xA5E, - 0xA5F, 0xA66, - 0xA76, + 0xA75, 0xA81, 0xA84, 0xA85, @@ -250774,7 +273799,7 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 1047 */ 0xAE4, 0xAE6, 0xAF0, - 0xAF9, + 0xAFA, 0xB00, 0xB01, 0xB04, @@ -250791,17 +273816,15 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 1047 */ 0xB35, 0xB3A, 0xB3C, - 0xB45, + 0xB44, 0xB47, 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, - 0xB5C, - 0xB5E, 0xB5F, - 0xB64, + 0xB62, 0xB66, 0xB70, 0xB71, @@ -250838,13 +273861,15 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 1047 */ 0xBD8, 0xBE6, 0xBF0, - 0xC00, + 0xC01, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, + 0xC34, + 0xC35, 0xC3A, 0xC3D, 0xC45, @@ -250854,13 +273879,13 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 1047 */ 0xC4E, 0xC55, 0xC57, - 0xC58, - 0xC5B, 0xC60, - 0xC64, + 0xC62, 0xC66, 0xC70, 0xC80, + 0xC81, + 0xC82, 0xC84, 0xC85, 0xC8D, @@ -250880,8 +273905,6 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 1047 */ 0xCCE, 0xCD5, 0xCD7, - 0xCDE, - 0xCDF, 0xCE0, 0xCE4, 0xCE6, @@ -250889,21 +273912,25 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 1047 */ 0xCF1, 0xCF3, 0xD00, + 0xD01, + 0xD02, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, - 0xD45, + 0xD3B, + 0xD3D, + 0xD44, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, - 0xD5F, - 0xD64, + 0xD60, + 0xD62, 0xD66, 0xD70, 0xD7A, @@ -250911,8 +273938,12 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 1047 */ 0xD82, 0xD84, 0xD85, + 0xD8F, + 0xD91, 0xD97, 0xD9A, + 0xDA6, + 0xDA7, 0xDB2, 0xDB3, 0xDBC, @@ -250927,12 +273958,12 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 1047 */ 0xDD6, 0xDD7, 0xDD8, - 0xDE0, - 0xDE6, - 0xDF0, + 0xDDF, 0xDF2, - 0xDF4, + 0xDF3, 0xE01, + 0xE33, + 0xE34, 0xE3B, 0xE40, 0xE4F, @@ -250949,6 +273980,8 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 1047 */ 0xEA5, 0xEA6, 0xEA7, + 0xEB3, + 0xEB4, 0xEBE, 0xEC0, 0xEC5, @@ -250958,29 +273991,55 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 1047 */ 0xECE, 0xED0, 0xEDA, - 0xEDC, + 0xEDE, 0xEE0, 0xF00, 0xF01, - 0xF18, - 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, - 0xF39, - 0xF3A, 0xF3E, + 0xF43, + 0xF44, 0xF48, 0xF49, + 0xF4D, + 0xF4E, + 0xF52, + 0xF53, + 0xF57, + 0xF58, + 0xF5C, + 0xF5D, + 0xF69, + 0xF6A, 0xF6D, 0xF71, + 0xF73, + 0xF74, + 0xF75, + 0xF7A, + 0xF81, + 0xF82, 0xF85, 0xF86, + 0xF93, + 0xF94, 0xF98, 0xF99, + 0xF9D, + 0xF9E, + 0xFA2, + 0xFA3, + 0xFA7, + 0xFA8, + 0xFAC, + 0xFAD, + 0xFB9, + 0xFBA, 0xFBD, 0xFC6, 0xFC7, @@ -250988,15 +274047,17 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 1047 */ 0x104A, 0x1050, 0x109E, - 0x10A0, - 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, + 0x10F1, + 0x10F7, 0x10FB, - 0x10FC, + 0x10FD, + 0x1100, + 0x1200, 0x1249, 0x124A, 0x124E, @@ -251030,113 +274091,35 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 1047 */ 0x135B, 0x135D, 0x1360, - 0x1369, - 0x1372, 0x1380, 0x1390, - 0x13A0, - 0x13F6, - 0x13F8, - 0x13FE, - 0x1401, - 0x166D, - 0x166F, - 0x1680, - 0x1681, - 0x169B, - 0x16A0, - 0x16EB, - 0x16EE, - 0x16F9, - 0x1700, - 0x170D, - 0x170E, - 0x1715, - 0x1720, - 0x1735, - 0x1740, - 0x1754, - 0x1760, - 0x176D, - 0x176E, - 0x1771, - 0x1772, - 0x1774, 0x1780, - 0x17D4, + 0x17A3, + 0x17A5, + 0x17A8, + 0x17A9, + 0x17B4, + 0x17B6, + 0x17CB, + 0x17D2, + 0x17D3, 0x17D7, 0x17D8, 0x17DC, - 0x17DE, + 0x17DD, 0x17E0, 0x17EA, - 0x180B, - 0x180E, - 0x1810, - 0x181A, - 0x1820, - 0x1879, - 0x1880, - 0x18AB, - 0x18B0, - 0x18F6, - 0x1900, - 0x191F, - 0x1920, - 0x192C, - 0x1930, - 0x193C, - 0x1946, - 0x196E, - 0x1970, - 0x1975, - 0x1980, - 0x19AC, - 0x19B0, - 0x19CA, - 0x19D0, - 0x19DB, - 0x1A00, - 0x1A1C, - 0x1A20, - 0x1A5F, - 0x1A60, - 0x1A7D, - 0x1A7F, - 0x1A8A, - 0x1A90, - 0x1A9A, - 0x1AA7, - 0x1AA8, - 0x1AB0, - 0x1ABE, - 0x1B00, - 0x1B4C, - 0x1B50, - 0x1B5A, - 0x1B6B, - 0x1B74, - 0x1B80, - 0x1BF4, - 0x1C00, - 0x1C38, - 0x1C40, - 0x1C4A, - 0x1C4D, - 0x1C7E, - 0x1C80, - 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, - 0x1CD0, - 0x1CD3, - 0x1CD4, - 0x1CFB, - 0x1D00, - 0x1DFA, - 0x1DFB, + 0x1E00, + 0x1E9A, + 0x1E9E, + 0x1E9F, + 0x1EA0, + 0x1EFA, + 0x1F00, 0x1F16, 0x1F18, 0x1F1E, @@ -251153,88 +274136,56 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 1047 */ 0x1F5D, 0x1F5E, 0x1F5F, - 0x1F7E, + 0x1F71, + 0x1F72, + 0x1F73, + 0x1F74, + 0x1F75, + 0x1F76, + 0x1F77, + 0x1F78, + 0x1F79, + 0x1F7A, + 0x1F7B, + 0x1F7C, + 0x1F7D, 0x1F80, 0x1FB5, 0x1FB6, + 0x1FBB, + 0x1FBC, 0x1FBD, - 0x1FBE, - 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, + 0x1FC9, + 0x1FCA, + 0x1FCB, + 0x1FCC, 0x1FCD, 0x1FD0, - 0x1FD4, + 0x1FD3, 0x1FD6, - 0x1FDC, + 0x1FDB, 0x1FE0, + 0x1FE3, + 0x1FE4, + 0x1FEB, + 0x1FEC, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, + 0x1FF9, + 0x1FFA, + 0x1FFB, + 0x1FFC, 0x1FFD, - 0x203F, - 0x2041, - 0x2054, - 0x2055, - 0x2071, - 0x2072, - 0x207F, - 0x2080, - 0x2090, - 0x209D, - 0x20D0, - 0x20DD, - 0x20E1, - 0x20E2, - 0x20E5, - 0x20F1, - 0x2102, - 0x2103, - 0x2107, - 0x2108, - 0x210A, - 0x2114, - 0x2115, - 0x2116, - 0x2118, - 0x211E, - 0x2124, - 0x2125, - 0x2126, - 0x2127, - 0x2128, - 0x2129, - 0x212A, - 0x213A, - 0x213C, - 0x2140, - 0x2145, - 0x214A, - 0x214E, - 0x214F, - 0x2160, - 0x2189, - 0x2C00, - 0x2C2F, - 0x2C30, - 0x2C5F, - 0x2C60, - 0x2CE5, - 0x2CEB, - 0x2CF4, - 0x2D00, - 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, - 0x2D30, - 0x2D68, - 0x2D6F, - 0x2D70, - 0x2D7F, + 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, @@ -251252,98 +274203,52 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 1047 */ 0x2DD7, 0x2DD8, 0x2DDF, - 0x2DE0, - 0x2E00, 0x3005, 0x3008, - 0x3021, - 0x3030, - 0x3031, - 0x3036, - 0x3038, - 0x303D, 0x3041, 0x3097, 0x3099, - 0x30A0, + 0x309B, + 0x309D, + 0x309F, 0x30A1, 0x30FB, 0x30FC, - 0x3100, + 0x30FF, 0x3105, + 0x312E, + 0x312F, 0x3130, - 0x3131, - 0x318F, 0x31A0, - 0x31BB, - 0x31F0, - 0x3200, + 0x31C0, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, - 0xA000, - 0xA48D, - 0xA4D0, - 0xA4FE, - 0xA500, - 0xA60D, - 0xA610, - 0xA62C, - 0xA640, - 0xA670, - 0xA674, - 0xA67E, + 0x9FFD, 0xA67F, - 0xA6F2, + 0xA680, 0xA717, 0xA720, - 0xA722, + 0xA788, 0xA789, - 0xA78B, - 0xA7C0, + 0xA78D, + 0xA78E, + 0xA792, + 0xA794, + 0xA7AA, + 0xA7AB, + 0xA7AE, + 0xA7AF, + 0xA7B8, + 0xA7BA, 0xA7C2, - 0xA7C7, - 0xA7F7, - 0xA828, - 0xA840, - 0xA874, - 0xA880, - 0xA8C6, - 0xA8D0, - 0xA8DA, - 0xA8E0, - 0xA8F8, - 0xA8FB, - 0xA8FC, - 0xA8FD, - 0xA92E, - 0xA930, - 0xA954, - 0xA960, - 0xA97D, - 0xA980, - 0xA9C1, - 0xA9CF, - 0xA9DA, - 0xA9E0, + 0xA7CB, + 0xA9E7, 0xA9FF, - 0xAA00, - 0xAA37, - 0xAA40, - 0xAA4E, - 0xAA50, - 0xAA5A, 0xAA60, 0xAA77, 0xAA7A, - 0xAAC3, - 0xAADB, - 0xAADE, - 0xAAE0, - 0xAAF0, - 0xAAF2, - 0xAAF7, + 0xAA80, 0xAB01, 0xAB07, 0xAB09, @@ -251354,638 +274259,442 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 1047 */ 0xAB27, 0xAB28, 0xAB2F, - 0xAB30, - 0xAB5B, - 0xAB5C, + 0xAB66, 0xAB68, - 0xAB70, - 0xABEB, - 0xABEC, - 0xABEE, - 0xABF0, - 0xABFA, 0xAC00, 0xD7A4, - 0xD7B0, - 0xD7C7, - 0xD7CB, - 0xD7FC, - 0xF900, - 0xFA6E, - 0xFA70, - 0xFADA, - 0xFB00, - 0xFB07, - 0xFB13, - 0xFB18, - 0xFB1D, - 0xFB29, - 0xFB2A, - 0xFB37, - 0xFB38, - 0xFB3D, - 0xFB3E, - 0xFB3F, - 0xFB40, - 0xFB42, - 0xFB43, - 0xFB45, - 0xFB46, - 0xFBB2, - 0xFBD3, - 0xFD3E, - 0xFD50, - 0xFD90, - 0xFD92, - 0xFDC8, - 0xFDF0, - 0xFDFC, - 0xFE00, - 0xFE10, - 0xFE20, - 0xFE30, - 0xFE33, - 0xFE35, - 0xFE4D, - 0xFE50, - 0xFE70, - 0xFE75, - 0xFE76, - 0xFEFD, - 0xFF10, - 0xFF1A, - 0xFF21, - 0xFF3B, - 0xFF3F, - 0xFF40, - 0xFF41, - 0xFF5B, - 0xFF66, - 0xFFBF, - 0xFFC2, - 0xFFC8, - 0xFFCA, - 0xFFD0, - 0xFFD2, - 0xFFD8, - 0xFFDA, - 0xFFDD, - 0x10000, - 0x1000C, - 0x1000D, - 0x10027, - 0x10028, - 0x1003B, - 0x1003C, - 0x1003E, - 0x1003F, - 0x1004E, - 0x10050, - 0x1005E, - 0x10080, - 0x100FB, - 0x10140, - 0x10175, - 0x101FD, - 0x101FE, - 0x10280, - 0x1029D, - 0x102A0, - 0x102D1, - 0x102E0, - 0x102E1, - 0x10300, - 0x10320, - 0x1032D, - 0x1034B, - 0x10350, - 0x1037B, - 0x10380, - 0x1039E, - 0x103A0, - 0x103C4, - 0x103C8, - 0x103D0, - 0x103D1, - 0x103D6, - 0x10400, - 0x1049E, - 0x104A0, - 0x104AA, - 0x104B0, - 0x104D4, - 0x104D8, - 0x104FC, - 0x10500, - 0x10528, - 0x10530, - 0x10564, - 0x10600, - 0x10737, - 0x10740, - 0x10756, - 0x10760, - 0x10768, - 0x10800, - 0x10806, - 0x10808, - 0x10809, - 0x1080A, - 0x10836, - 0x10837, - 0x10839, - 0x1083C, - 0x1083D, - 0x1083F, - 0x10856, - 0x10860, - 0x10877, - 0x10880, - 0x1089F, - 0x108E0, - 0x108F3, - 0x108F4, - 0x108F6, - 0x10900, - 0x10916, - 0x10920, - 0x1093A, - 0x10980, - 0x109B8, - 0x109BE, - 0x109C0, - 0x10A00, - 0x10A04, - 0x10A05, - 0x10A07, - 0x10A0C, - 0x10A14, - 0x10A15, - 0x10A18, - 0x10A19, - 0x10A36, - 0x10A38, - 0x10A3B, - 0x10A3F, - 0x10A40, - 0x10A60, - 0x10A7D, - 0x10A80, - 0x10A9D, - 0x10AC0, - 0x10AC8, - 0x10AC9, - 0x10AE7, - 0x10B00, - 0x10B36, - 0x10B40, - 0x10B56, - 0x10B60, - 0x10B73, - 0x10B80, - 0x10B92, - 0x10C00, - 0x10C49, - 0x10C80, - 0x10CB3, - 0x10CC0, - 0x10CF3, - 0x10D00, - 0x10D28, - 0x10D30, - 0x10D3A, - 0x10F00, - 0x10F1D, - 0x10F27, - 0x10F28, - 0x10F30, - 0x10F51, - 0x10FE0, - 0x10FF7, - 0x11000, - 0x11047, - 0x11066, - 0x11070, - 0x1107F, - 0x110BB, - 0x110D0, - 0x110E9, - 0x110F0, - 0x110FA, - 0x11100, - 0x11135, - 0x11136, - 0x11140, - 0x11144, - 0x11147, - 0x11150, - 0x11174, - 0x11176, - 0x11177, - 0x11180, - 0x111C5, - 0x111C9, - 0x111CD, - 0x111D0, - 0x111DB, - 0x111DC, - 0x111DD, - 0x11200, - 0x11212, - 0x11213, - 0x11238, - 0x1123E, - 0x1123F, - 0x11280, - 0x11287, - 0x11288, - 0x11289, - 0x1128A, - 0x1128E, - 0x1128F, - 0x1129E, - 0x1129F, - 0x112A9, - 0x112B0, - 0x112EB, - 0x112F0, - 0x112FA, - 0x11300, + 0xFA0E, + 0xFA10, + 0xFA11, + 0xFA12, + 0xFA13, + 0xFA15, + 0xFA1F, + 0xFA20, + 0xFA21, + 0xFA22, + 0xFA23, + 0xFA25, + 0xFA27, + 0xFA2A, + 0x11301, + 0x11302, + 0x11303, 0x11304, - 0x11305, - 0x1130D, - 0x1130F, - 0x11311, - 0x11313, - 0x11329, - 0x1132A, - 0x11331, - 0x11332, - 0x11334, - 0x11335, - 0x1133A, 0x1133B, - 0x11345, - 0x11347, - 0x11349, - 0x1134B, - 0x1134E, - 0x11350, - 0x11351, - 0x11357, - 0x11358, - 0x1135D, - 0x11364, - 0x11366, - 0x1136D, - 0x11370, - 0x11375, - 0x11400, - 0x1144B, - 0x11450, - 0x1145A, - 0x1145E, - 0x11460, - 0x11480, - 0x114C6, - 0x114C7, - 0x114C8, - 0x114D0, - 0x114DA, - 0x11580, - 0x115B6, - 0x115B8, - 0x115C1, - 0x115D8, - 0x115DE, - 0x11600, - 0x11641, - 0x11644, - 0x11645, - 0x11650, - 0x1165A, - 0x11680, - 0x116B9, - 0x116C0, - 0x116CA, - 0x11700, - 0x1171B, - 0x1171D, - 0x1172C, - 0x11730, - 0x1173A, - 0x11800, - 0x1183B, - 0x118A0, - 0x118EA, - 0x118FF, - 0x11900, - 0x119A0, - 0x119A8, - 0x119AA, - 0x119D8, - 0x119DA, - 0x119E2, - 0x119E3, - 0x119E5, - 0x11A00, - 0x11A3F, - 0x11A47, - 0x11A48, - 0x11A50, - 0x11A9A, - 0x11A9D, - 0x11A9E, - 0x11AC0, - 0x11AF9, - 0x11C00, - 0x11C09, - 0x11C0A, - 0x11C37, - 0x11C38, - 0x11C41, - 0x11C50, - 0x11C5A, - 0x11C72, - 0x11C90, - 0x11C92, - 0x11CA8, - 0x11CA9, - 0x11CB7, - 0x11D00, - 0x11D07, - 0x11D08, - 0x11D0A, - 0x11D0B, - 0x11D37, - 0x11D3A, - 0x11D3B, - 0x11D3C, - 0x11D3E, - 0x11D3F, - 0x11D48, - 0x11D50, - 0x11D5A, - 0x11D60, - 0x11D66, - 0x11D67, - 0x11D69, - 0x11D6A, - 0x11D8F, - 0x11D90, - 0x11D92, - 0x11D93, - 0x11D99, - 0x11DA0, - 0x11DAA, - 0x11EE0, - 0x11EF7, - 0x12000, - 0x1239A, - 0x12400, - 0x1246F, - 0x12480, - 0x12544, - 0x13000, - 0x1342F, - 0x14400, - 0x14647, - 0x16800, - 0x16A39, + 0x1133D, + 0x16FF0, + 0x16FF2, + 0x1B150, + 0x1B153, + 0x1B164, + 0x1B168, + 0x20000, + 0x2A6DE, + 0x2A700, + 0x2B735, + 0x2B740, + 0x2B81E, + 0x2B820, + 0x2CEA2, + 0x2CEB0, + 0x2EBE1, + 0x30000, + 0x3134B +}; + +# endif /* EBCDIC 037 */ + +static const UV UNI_IDENTIFIERTYPE__TECHNICAL_invlist[] = { /* for all charsets */ + 191, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x180, + 0x181, + 0x18D, + 0x18E, + 0x1AA, + 0x1AC, + 0x1BA, + 0x1BC, + 0x1BE, + 0x1BF, + 0x1C0, + 0x1C4, + 0x234, + 0x237, + 0x250, + 0x259, + 0x25A, + 0x2B0, + 0x2B9, + 0x2BB, + 0x2BD, + 0x2C2, + 0x2C6, + 0x2D2, + 0x2EE, + 0x2EF, + 0x30E, + 0x30F, + 0x312, + 0x313, + 0x315, + 0x316, + 0x317, + 0x31B, + 0x31C, + 0x321, + 0x329, + 0x32D, + 0x32F, + 0x330, + 0x333, + 0x334, + 0x337, + 0x338, + 0x33A, + 0x340, + 0x346, + 0x34F, + 0x350, + 0x358, + 0x359, + 0x363, + 0x3CF, + 0x3D0, + 0x3D7, + 0x3D8, + 0x3F3, + 0x3F4, + 0x484, + 0x488, + 0x560, + 0x561, + 0x588, + 0x589, + 0x5C7, + 0x5C8, + 0x740, + 0x74B, + 0x953, + 0x955, + 0xD04, + 0xD05, + 0xD81, + 0xD82, + 0xD8F, + 0xD91, + 0xDA6, + 0xDA7, + 0xDDF, + 0xDE0, + 0xDF3, + 0xDF4, + 0xF18, + 0xF1A, + 0x17CB, + 0x17D2, + 0x17DD, + 0x17DE, + 0x1ABF, + 0x1AC1, + 0x1D00, + 0x1D2C, + 0x1D2F, + 0x1D30, + 0x1D3B, + 0x1D3C, + 0x1D4E, + 0x1D4F, + 0x1D6B, + 0x1D78, + 0x1D79, + 0x1D9B, + 0x1DC0, + 0x1DFA, + 0x1DFB, + 0x1E00, + 0x1E9C, + 0x1E9E, + 0x1E9F, + 0x1EA0, + 0x1EFA, + 0x1F00, + 0x203F, + 0x2041, + 0x20D0, + 0x20F1, + 0x2118, + 0x2119, + 0x212E, + 0x212F, + 0x2180, + 0x2184, + 0x24EB, + 0x2500, + 0x2800, + 0x2900, + 0x2C60, + 0x2C68, + 0x2C77, + 0x2C7C, + 0x2CF0, + 0x2CF2, + 0x2E00, + 0x2E0E, + 0x3021, + 0x3030, + 0x3031, + 0x3036, + 0x303B, + 0x303D, + 0x31F0, + 0x3200, + 0x327F, + 0x3280, + 0x4DC0, + 0x4E00, + 0xA708, + 0xA717, + 0xA722, + 0xA730, + 0xA78E, + 0xA78F, + 0xA7AF, + 0xA7B0, + 0xA7BA, + 0xA7C0, + 0xA7FA, + 0xA7FB, + 0xAB68, + 0xAB69, + 0xFB1E, + 0xFB1F, + 0xFBB2, + 0xFBC2, + 0xFD3E, + 0xFD40, + 0xFDFD, + 0xFDFE, + 0xFE20, + 0xFE30, + 0xFE45, + 0xFE47, + 0xFE73, + 0xFE74, + 0x1D000, + 0x1D0F6, + 0x1D100, + 0x1D127, + 0x1D129, + 0x1D15E, + 0x1D165, + 0x1D173, + 0x1D17B, + 0x1D1BB, + 0x1D1C1, + 0x1D1E9, + 0x1D242, + 0x1D245, + 0x1D300, + 0x1D357 +}; + +static const UV UNI_IDENTIFIERTYPE__UNCOMMONUSE_invlist[] = { /* for all charsets */ + 153, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x181, + 0x18D, + 0x18E, + 0x18F, + 0x190, + 0x1A0, + 0x1A2, + 0x1AA, + 0x1AC, + 0x1AF, + 0x1B1, + 0x1B9, + 0x1BC, + 0x1BE, + 0x1DD, + 0x1DE, + 0x1E4, + 0x1E6, + 0x220, + 0x226, + 0x237, + 0x250, + 0x253, + 0x255, + 0x256, + 0x258, + 0x25B, + 0x25C, + 0x263, + 0x264, + 0x268, + 0x26A, + 0x272, + 0x273, + 0x289, + 0x28A, + 0x292, + 0x293, + 0x305, + 0x306, + 0x30D, + 0x30E, + 0x316, + 0x317, + 0x321, + 0x323, + 0x332, + 0x333, + 0x334, + 0x335, + 0x336, + 0x337, + 0x358, + 0x359, + 0x591, + 0x5B4, + 0x5B5, + 0x5BE, + 0x5BF, + 0x5C0, + 0x5C1, + 0x5C3, + 0x5C4, + 0x5C6, + 0x5C7, + 0x5C8, + 0x610, + 0x61B, + 0x656, + 0x660, + 0x6D6, + 0x6DD, + 0x6DF, + 0x6E5, + 0x6E7, + 0x6E9, + 0x6EA, + 0x6EE, + 0x8B3, + 0x8B5, + 0x8D3, + 0x8E2, + 0x8E3, + 0x901, + 0x955, + 0x956, + 0xA51, + 0xA52, + 0xA75, + 0xA76, + 0xAF9, + 0xAFA, + 0xB44, + 0xB45, + 0xB62, + 0xB64, + 0xC5A, + 0xC5B, + 0xC62, + 0xC64, + 0xD44, + 0xD45, + 0xD62, + 0xD64, + 0xD8F, + 0xD91, + 0xDA6, + 0xDA7, + 0xDDF, + 0xDE0, + 0xDF3, + 0xDF4, + 0xF39, + 0xF3A, + 0x18A9, + 0x18AA, + 0x2054, + 0x2055, + 0x218A, + 0x218C, + 0x2BEC, + 0x2BF0, + 0x2C68, + 0x2C6D, + 0xA66F, + 0xA670, + 0xA67C, + 0xA67E, + 0xA69E, + 0xA69F, + 0xA78B, + 0xA78D, + 0xA78F, + 0xA790, + 0xA7B2, + 0xA7B8, + 0xA8FC, + 0xA8FE, + 0xAB60, + 0xAB64, + 0xFB1E, + 0xFB1F, + 0xFE2E, + 0xFE30, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, - 0x16AD0, - 0x16AEE, - 0x16AF0, - 0x16AF5, - 0x16B00, - 0x16B37, - 0x16B40, - 0x16B44, - 0x16B50, - 0x16B5A, - 0x16B63, - 0x16B78, - 0x16B7D, - 0x16B90, - 0x16E40, - 0x16E80, - 0x16F00, - 0x16F4B, - 0x16F4F, - 0x16F88, - 0x16F8F, - 0x16FA0, - 0x16FE0, - 0x16FE2, - 0x16FE3, + 0x1D1DE, + 0x1D1E9, + 0x1F54F, + 0x1F550 +}; + +static const UV UNI_IDEO_invlist[] = { /* for all charsets */ + 39, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x3006, + 0x3008, + 0x3021, + 0x302A, + 0x3038, + 0x303B, + 0x3400, + 0x4DC0, + 0x4E00, + 0x9FFD, + 0xF900, + 0xFA6E, + 0xFA70, + 0xFADA, 0x16FE4, + 0x16FE5, 0x17000, 0x187F8, 0x18800, - 0x18AF3, - 0x1B000, - 0x1B11F, - 0x1B150, - 0x1B153, - 0x1B164, - 0x1B168, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B170, 0x1B2FC, - 0x1BC00, - 0x1BC6B, - 0x1BC70, - 0x1BC7D, - 0x1BC80, - 0x1BC89, - 0x1BC90, - 0x1BC9A, - 0x1BC9D, - 0x1BC9F, - 0x1D165, - 0x1D16A, - 0x1D16D, - 0x1D173, - 0x1D17B, - 0x1D183, - 0x1D185, - 0x1D18C, - 0x1D1AA, - 0x1D1AE, - 0x1D242, - 0x1D245, - 0x1D400, - 0x1D455, - 0x1D456, - 0x1D49D, - 0x1D49E, - 0x1D4A0, - 0x1D4A2, - 0x1D4A3, - 0x1D4A5, - 0x1D4A7, - 0x1D4A9, - 0x1D4AD, - 0x1D4AE, - 0x1D4BA, - 0x1D4BB, - 0x1D4BC, - 0x1D4BD, - 0x1D4C4, - 0x1D4C5, - 0x1D506, - 0x1D507, - 0x1D50B, - 0x1D50D, - 0x1D515, - 0x1D516, - 0x1D51D, - 0x1D51E, - 0x1D53A, - 0x1D53B, - 0x1D53F, - 0x1D540, - 0x1D545, - 0x1D546, - 0x1D547, - 0x1D54A, - 0x1D551, - 0x1D552, - 0x1D6A6, - 0x1D6A8, - 0x1D6C1, - 0x1D6C2, - 0x1D6DB, - 0x1D6DC, - 0x1D6FB, - 0x1D6FC, - 0x1D715, - 0x1D716, - 0x1D735, - 0x1D736, - 0x1D74F, - 0x1D750, - 0x1D76F, - 0x1D770, - 0x1D789, - 0x1D78A, - 0x1D7A9, - 0x1D7AA, - 0x1D7C3, - 0x1D7C4, - 0x1D7CC, - 0x1D7CE, - 0x1D800, - 0x1DA00, - 0x1DA37, - 0x1DA3B, - 0x1DA6D, - 0x1DA75, - 0x1DA76, - 0x1DA84, - 0x1DA85, - 0x1DA9B, - 0x1DAA0, - 0x1DAA1, - 0x1DAB0, - 0x1E000, - 0x1E007, - 0x1E008, - 0x1E019, - 0x1E01B, - 0x1E022, - 0x1E023, - 0x1E025, - 0x1E026, - 0x1E02B, - 0x1E100, - 0x1E12D, - 0x1E130, - 0x1E13E, - 0x1E140, - 0x1E14A, - 0x1E14E, - 0x1E14F, - 0x1E2C0, - 0x1E2FA, - 0x1E800, - 0x1E8C5, - 0x1E8D0, - 0x1E8D7, - 0x1E900, - 0x1E94C, - 0x1E950, - 0x1E95A, - 0x1EE00, - 0x1EE04, - 0x1EE05, - 0x1EE20, - 0x1EE21, - 0x1EE23, - 0x1EE24, - 0x1EE25, - 0x1EE27, - 0x1EE28, - 0x1EE29, - 0x1EE33, - 0x1EE34, - 0x1EE38, - 0x1EE39, - 0x1EE3A, - 0x1EE3B, - 0x1EE3C, - 0x1EE42, - 0x1EE43, - 0x1EE47, - 0x1EE48, - 0x1EE49, - 0x1EE4A, - 0x1EE4B, - 0x1EE4C, - 0x1EE4D, - 0x1EE50, - 0x1EE51, - 0x1EE53, - 0x1EE54, - 0x1EE55, - 0x1EE57, - 0x1EE58, - 0x1EE59, - 0x1EE5A, - 0x1EE5B, - 0x1EE5C, - 0x1EE5D, - 0x1EE5E, - 0x1EE5F, - 0x1EE60, - 0x1EE61, - 0x1EE63, - 0x1EE64, - 0x1EE65, - 0x1EE67, - 0x1EE6B, - 0x1EE6C, - 0x1EE73, - 0x1EE74, - 0x1EE78, - 0x1EE79, - 0x1EE7D, - 0x1EE7E, - 0x1EE7F, - 0x1EE80, - 0x1EE8A, - 0x1EE8B, - 0x1EE9C, - 0x1EEA1, - 0x1EEA4, - 0x1EEA5, - 0x1EEAA, - 0x1EEAB, - 0x1EEBC, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -251996,64 +274705,43 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 1047 */ 0x2EBE1, 0x2F800, 0x2FA1E, - 0xE0100, - 0xE01F0 + 0x30000, + 0x3134B }; -# endif /* EBCDIC 1047 */ +static const UV UNI_IDEOGRAPHICSYMBOLS_invlist[] = { /* for all charsets */ + 3, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x16FE0, + 0x17000 +}; -# if 'A' == 193 /* EBCDIC 037 */ \ - && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ - && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ - && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 +# if 'A' == 65 /* ASCII/Latin1 */ -static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ - 1447, /* Number of elements */ +static const UV UNI_IDS_invlist[] = { /* for ASCII/Latin1 */ + 1245, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, - 0x42, - 0x4A, - 0x51, - 0x5A, - 0x62, - 0x6A, - 0x6D, - 0x6E, - 0x70, - 0x79, - 0x80, - 0x8A, - 0x8C, - 0x8F, - 0x91, - 0x9D, - 0x9E, - 0x9F, - 0xA0, - 0xA1, - 0xA2, + 0x41, + 0x5B, + 0x61, + 0x7B, 0xAA, - 0xAC, - 0xAF, - 0xB3, - 0xB4, - 0xC1, - 0xCA, - 0xCB, - 0xD0, - 0xD1, - 0xDA, - 0xDB, - 0xE0, - 0xE2, - 0xEA, - 0xEB, - 0xFA, - 0xFB, - 0xFF, - 0x100, + 0xAB, + 0xB5, + 0xB6, + 0xBA, + 0xBB, + 0xC0, + 0xD7, + 0xD8, + 0xF7, + 0xF8, 0x2C2, 0x2C6, 0x2D2, @@ -252063,7 +274751,7 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x2ED, 0x2EE, 0x2EF, - 0x300, + 0x370, 0x375, 0x376, 0x378, @@ -252072,6 +274760,8 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x37F, 0x380, 0x386, + 0x387, + 0x388, 0x38B, 0x38C, 0x38D, @@ -252081,8 +274771,6 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x3F6, 0x3F7, 0x482, - 0x483, - 0x488, 0x48A, 0x530, 0x531, @@ -252091,62 +274779,66 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x55A, 0x560, 0x589, - 0x591, - 0x5BE, - 0x5BF, - 0x5C0, - 0x5C1, - 0x5C3, - 0x5C4, - 0x5C6, - 0x5C7, - 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, - 0x610, - 0x61B, 0x620, - 0x66A, + 0x64B, 0x66E, + 0x670, + 0x671, 0x6D4, 0x6D5, - 0x6DD, - 0x6DF, - 0x6E9, - 0x6EA, + 0x6D6, + 0x6E5, + 0x6E7, + 0x6EE, + 0x6F0, + 0x6FA, 0x6FD, 0x6FF, 0x700, 0x710, - 0x74B, + 0x711, + 0x712, + 0x730, 0x74D, + 0x7A6, + 0x7B1, 0x7B2, - 0x7C0, + 0x7CA, + 0x7EB, + 0x7F4, 0x7F6, 0x7FA, 0x7FB, - 0x7FD, - 0x7FE, 0x800, - 0x82E, + 0x816, + 0x81A, + 0x81B, + 0x824, + 0x825, + 0x828, + 0x829, 0x840, - 0x85C, + 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, - 0x8BE, - 0x8D3, - 0x8E2, - 0x8E3, - 0x964, - 0x966, - 0x970, + 0x8C8, + 0x904, + 0x93A, + 0x93D, + 0x93E, + 0x950, + 0x951, + 0x958, + 0x962, 0x971, - 0x984, + 0x981, 0x985, 0x98D, 0x98F, @@ -252159,26 +274851,18 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x9B3, 0x9B6, 0x9BA, - 0x9BC, - 0x9C5, - 0x9C7, - 0x9C9, - 0x9CB, + 0x9BD, + 0x9BE, + 0x9CE, 0x9CF, - 0x9D7, - 0x9D8, 0x9DC, 0x9DE, 0x9DF, - 0x9E4, - 0x9E6, + 0x9E2, + 0x9F0, 0x9F2, 0x9FC, 0x9FD, - 0x9FE, - 0x9FF, - 0xA01, - 0xA04, 0xA05, 0xA0B, 0xA0F, @@ -252193,24 +274877,12 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0xA37, 0xA38, 0xA3A, - 0xA3C, - 0xA3D, - 0xA3E, - 0xA43, - 0xA47, - 0xA49, - 0xA4B, - 0xA4E, - 0xA51, - 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, - 0xA66, - 0xA76, - 0xA81, - 0xA84, + 0xA72, + 0xA75, 0xA85, 0xA8E, 0xA8F, @@ -252223,22 +274895,14 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0xAB4, 0xAB5, 0xABA, - 0xABC, - 0xAC6, - 0xAC7, - 0xACA, - 0xACB, - 0xACE, + 0xABD, + 0xABE, 0xAD0, 0xAD1, 0xAE0, - 0xAE4, - 0xAE6, - 0xAF0, + 0xAE2, 0xAF9, - 0xB00, - 0xB01, - 0xB04, + 0xAFA, 0xB05, 0xB0D, 0xB0F, @@ -252251,23 +274915,15 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0xB34, 0xB35, 0xB3A, - 0xB3C, - 0xB45, - 0xB47, - 0xB49, - 0xB4B, - 0xB4E, - 0xB56, - 0xB58, + 0xB3D, + 0xB3E, 0xB5C, 0xB5E, 0xB5F, - 0xB64, - 0xB66, - 0xB70, + 0xB62, 0xB71, 0xB72, - 0xB82, + 0xB83, 0xB84, 0xB85, 0xB8B, @@ -252287,19 +274943,9 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0xBAB, 0xBAE, 0xBBA, - 0xBBE, - 0xBC3, - 0xBC6, - 0xBC9, - 0xBCA, - 0xBCE, 0xBD0, 0xBD1, - 0xBD7, - 0xBD8, - 0xBE6, - 0xBF0, - 0xC00, + 0xC05, 0xC0D, 0xC0E, 0xC11, @@ -252308,21 +274954,13 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0xC2A, 0xC3A, 0xC3D, - 0xC45, - 0xC46, - 0xC49, - 0xC4A, - 0xC4E, - 0xC55, - 0xC57, + 0xC3E, 0xC58, 0xC5B, 0xC60, - 0xC64, - 0xC66, - 0xC70, + 0xC62, 0xC80, - 0xC84, + 0xC81, 0xC85, 0xC8D, 0xC8E, @@ -252333,44 +274971,30 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0xCB4, 0xCB5, 0xCBA, - 0xCBC, - 0xCC5, - 0xCC6, - 0xCC9, - 0xCCA, - 0xCCE, - 0xCD5, - 0xCD7, + 0xCBD, + 0xCBE, 0xCDE, 0xCDF, 0xCE0, - 0xCE4, - 0xCE6, - 0xCF0, + 0xCE2, 0xCF1, 0xCF3, - 0xD00, 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, - 0xD45, - 0xD46, - 0xD49, - 0xD4A, + 0xD3B, + 0xD3D, + 0xD3E, + 0xD4E, 0xD4F, 0xD54, - 0xD58, + 0xD57, 0xD5F, - 0xD64, - 0xD66, - 0xD70, + 0xD62, 0xD7A, 0xD80, - 0xD82, - 0xD84, 0xD85, 0xD97, 0xD9A, @@ -252381,24 +275005,12 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0xDBE, 0xDC0, 0xDC7, - 0xDCA, - 0xDCB, - 0xDCF, - 0xDD5, - 0xDD6, - 0xDD7, - 0xDD8, - 0xDE0, - 0xDE6, - 0xDF0, - 0xDF2, - 0xDF4, 0xE01, - 0xE3B, + 0xE31, + 0xE32, + 0xE34, 0xE40, - 0xE4F, - 0xE50, - 0xE5A, + 0xE47, 0xE81, 0xE83, 0xE84, @@ -252410,45 +275022,43 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0xEA5, 0xEA6, 0xEA7, + 0xEB1, + 0xEB2, + 0xEB4, + 0xEBD, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, - 0xEC8, - 0xECE, - 0xED0, - 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF01, - 0xF18, - 0xF1A, - 0xF20, - 0xF2A, - 0xF35, - 0xF36, - 0xF37, - 0xF38, - 0xF39, - 0xF3A, - 0xF3E, + 0xF40, 0xF48, 0xF49, 0xF6D, - 0xF71, - 0xF85, - 0xF86, - 0xF98, - 0xF99, - 0xFBD, - 0xFC6, - 0xFC7, + 0xF88, + 0xF8D, 0x1000, - 0x104A, + 0x102B, + 0x103F, + 0x1040, 0x1050, - 0x109E, + 0x1056, + 0x105A, + 0x105E, + 0x1061, + 0x1062, + 0x1065, + 0x1067, + 0x106E, + 0x1071, + 0x1075, + 0x1082, + 0x108E, + 0x108F, 0x10A0, 0x10C6, 0x10C7, @@ -252489,10 +275099,6 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x1316, 0x1318, 0x135B, - 0x135D, - 0x1360, - 0x1369, - 0x1372, 0x1380, 0x1390, 0x13A0, @@ -252512,42 +275118,32 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x1700, 0x170D, 0x170E, - 0x1715, + 0x1712, 0x1720, - 0x1735, + 0x1732, 0x1740, - 0x1754, + 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, - 0x1772, - 0x1774, 0x1780, - 0x17D4, + 0x17B4, 0x17D7, 0x17D8, 0x17DC, - 0x17DE, - 0x17E0, - 0x17EA, - 0x180B, - 0x180E, - 0x1810, - 0x181A, + 0x17DD, 0x1820, 0x1879, 0x1880, + 0x18A9, + 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, - 0x1920, - 0x192C, - 0x1930, - 0x193C, - 0x1946, + 0x1950, 0x196E, 0x1970, 0x1975, @@ -252555,35 +275151,27 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x19AC, 0x19B0, 0x19CA, - 0x19D0, - 0x19DB, 0x1A00, - 0x1A1C, + 0x1A17, 0x1A20, - 0x1A5F, - 0x1A60, - 0x1A7D, - 0x1A7F, - 0x1A8A, - 0x1A90, - 0x1A9A, + 0x1A55, 0x1AA7, 0x1AA8, - 0x1AB0, - 0x1ABE, - 0x1B00, + 0x1B05, + 0x1B34, + 0x1B45, 0x1B4C, - 0x1B50, - 0x1B5A, - 0x1B6B, - 0x1B74, - 0x1B80, - 0x1BF4, + 0x1B83, + 0x1BA1, + 0x1BAE, + 0x1BB0, + 0x1BBA, + 0x1BE6, 0x1C00, - 0x1C38, - 0x1C40, - 0x1C4A, + 0x1C24, 0x1C4D, + 0x1C50, + 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, @@ -252591,13 +275179,17 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x1CBB, 0x1CBD, 0x1CC0, - 0x1CD0, - 0x1CD3, - 0x1CD4, + 0x1CE9, + 0x1CED, + 0x1CEE, + 0x1CF4, + 0x1CF5, + 0x1CF7, + 0x1CFA, 0x1CFB, 0x1D00, - 0x1DFA, - 0x1DFB, + 0x1DC0, + 0x1E00, 0x1F16, 0x1F18, 0x1F1E, @@ -252635,22 +275227,12 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x1FF5, 0x1FF6, 0x1FFD, - 0x203F, - 0x2041, - 0x2054, - 0x2055, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, - 0x20D0, - 0x20DD, - 0x20E1, - 0x20E2, - 0x20E5, - 0x20F1, 0x2102, 0x2103, 0x2107, @@ -252684,6 +275266,8 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x2C60, 0x2CE5, 0x2CEB, + 0x2CEF, + 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, @@ -252695,7 +275279,7 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x2D68, 0x2D6F, 0x2D70, - 0x2D7F, + 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, @@ -252713,19 +275297,17 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x2DD7, 0x2DD8, 0x2DDF, - 0x2DE0, - 0x2E00, 0x3005, 0x3008, 0x3021, - 0x3030, + 0x302A, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, - 0x3099, + 0x309B, 0x30A0, 0x30A1, 0x30FB, @@ -252736,13 +275318,13 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -252750,13 +275332,15 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0xA500, 0xA60D, 0xA610, + 0xA620, + 0xA62A, 0xA62C, 0xA640, - 0xA670, - 0xA674, - 0xA67E, + 0xA66F, 0xA67F, - 0xA6F2, + 0xA69E, + 0xA6A0, + 0xA6F0, 0xA717, 0xA720, 0xA722, @@ -252764,47 +275348,69 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, - 0xA828, + 0xA7CB, + 0xA7F5, + 0xA802, + 0xA803, + 0xA806, + 0xA807, + 0xA80B, + 0xA80C, + 0xA823, 0xA840, 0xA874, - 0xA880, - 0xA8C6, - 0xA8D0, - 0xA8DA, - 0xA8E0, + 0xA882, + 0xA8B4, + 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, - 0xA92E, + 0xA8FF, + 0xA90A, + 0xA926, 0xA930, - 0xA954, + 0xA947, 0xA960, 0xA97D, - 0xA980, - 0xA9C1, + 0xA984, + 0xA9B3, 0xA9CF, - 0xA9DA, + 0xA9D0, 0xA9E0, + 0xA9E5, + 0xA9E6, + 0xA9F0, + 0xA9FA, 0xA9FF, 0xAA00, - 0xAA37, + 0xAA29, 0xAA40, - 0xAA4E, - 0xAA50, - 0xAA5A, + 0xAA43, + 0xAA44, + 0xAA4C, 0xAA60, 0xAA77, 0xAA7A, + 0xAA7B, + 0xAA7E, + 0xAAB0, + 0xAAB1, + 0xAAB2, + 0xAAB5, + 0xAAB7, + 0xAAB9, + 0xAABE, + 0xAAC0, + 0xAAC1, + 0xAAC2, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, - 0xAAF0, + 0xAAEB, 0xAAF2, - 0xAAF7, + 0xAAF5, 0xAB01, 0xAB07, 0xAB09, @@ -252818,13 +275424,9 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, - 0xABEB, - 0xABEC, - 0xABEE, - 0xABF0, - 0xABFA, + 0xABE3, 0xAC00, 0xD7A4, 0xD7B0, @@ -252840,6 +275442,8 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0xFB13, 0xFB18, 0xFB1D, + 0xFB1E, + 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, @@ -252861,24 +275465,12 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0xFDC8, 0xFDF0, 0xFDFC, - 0xFE00, - 0xFE10, - 0xFE20, - 0xFE30, - 0xFE33, - 0xFE35, - 0xFE4D, - 0xFE50, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, - 0xFF10, - 0xFF1A, 0xFF21, 0xFF3B, - 0xFF3F, - 0xFF40, 0xFF41, 0xFF5B, 0xFF66, @@ -252907,20 +275499,16 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x100FB, 0x10140, 0x10175, - 0x101FD, - 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, - 0x102E0, - 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, - 0x1037B, + 0x10376, 0x10380, 0x1039E, 0x103A0, @@ -252931,8 +275519,6 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x103D6, 0x10400, 0x1049E, - 0x104A0, - 0x104AA, 0x104B0, 0x104D4, 0x104D8, @@ -252976,19 +275562,13 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x109BE, 0x109C0, 0x10A00, - 0x10A04, - 0x10A05, - 0x10A07, - 0x10A0C, + 0x10A01, + 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, - 0x10A38, - 0x10A3B, - 0x10A3F, - 0x10A40, 0x10A60, 0x10A7D, 0x10A80, @@ -252996,7 +275576,7 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x10AC0, 0x10AC8, 0x10AC9, - 0x10AE7, + 0x10AE5, 0x10B00, 0x10B36, 0x10B40, @@ -253012,51 +275592,49 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x10CC0, 0x10CF3, 0x10D00, - 0x10D28, - 0x10D30, - 0x10D3A, + 0x10D24, + 0x10E80, + 0x10EAA, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, - 0x10F51, + 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, - 0x11000, - 0x11047, - 0x11066, - 0x11070, - 0x1107F, - 0x110BB, + 0x11003, + 0x11038, + 0x11083, + 0x110B0, 0x110D0, 0x110E9, - 0x110F0, - 0x110FA, - 0x11100, - 0x11135, - 0x11136, - 0x11140, + 0x11103, + 0x11127, 0x11144, + 0x11145, 0x11147, + 0x11148, 0x11150, - 0x11174, + 0x11173, 0x11176, 0x11177, - 0x11180, + 0x11183, + 0x111B3, + 0x111C1, 0x111C5, - 0x111C9, - 0x111CD, - 0x111D0, + 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, - 0x11238, - 0x1123E, - 0x1123F, + 0x1122C, 0x11280, 0x11287, 0x11288, @@ -253068,11 +275646,7 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x1129F, 0x112A9, 0x112B0, - 0x112EB, - 0x112F0, - 0x112FA, - 0x11300, - 0x11304, + 0x112DF, 0x11305, 0x1130D, 0x1130F, @@ -253085,76 +275659,74 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x11334, 0x11335, 0x1133A, - 0x1133B, - 0x11345, - 0x11347, - 0x11349, - 0x1134B, - 0x1134E, + 0x1133D, + 0x1133E, 0x11350, 0x11351, - 0x11357, - 0x11358, 0x1135D, - 0x11364, - 0x11366, - 0x1136D, - 0x11370, - 0x11375, + 0x11362, 0x11400, + 0x11435, + 0x11447, 0x1144B, - 0x11450, - 0x1145A, - 0x1145E, - 0x11460, + 0x1145F, + 0x11462, 0x11480, + 0x114B0, + 0x114C4, 0x114C6, 0x114C7, 0x114C8, - 0x114D0, - 0x114DA, 0x11580, - 0x115B6, - 0x115B8, - 0x115C1, + 0x115AF, 0x115D8, - 0x115DE, + 0x115DC, 0x11600, - 0x11641, + 0x11630, 0x11644, 0x11645, - 0x11650, - 0x1165A, 0x11680, + 0x116AB, + 0x116B8, 0x116B9, - 0x116C0, - 0x116CA, 0x11700, 0x1171B, - 0x1171D, - 0x1172C, - 0x11730, - 0x1173A, 0x11800, - 0x1183B, + 0x1182C, 0x118A0, - 0x118EA, + 0x118E0, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, 0x119A0, 0x119A8, 0x119AA, - 0x119D8, - 0x119DA, + 0x119D1, + 0x119E1, 0x119E2, 0x119E3, - 0x119E5, + 0x119E4, 0x11A00, - 0x11A3F, - 0x11A47, - 0x11A48, + 0x11A01, + 0x11A0B, + 0x11A33, + 0x11A3A, + 0x11A3B, 0x11A50, - 0x11A9A, + 0x11A51, + 0x11A5C, + 0x11A8A, 0x11A9D, 0x11A9E, 0x11AC0, @@ -253162,45 +275734,31 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x11C00, 0x11C09, 0x11C0A, - 0x11C37, - 0x11C38, + 0x11C2F, + 0x11C40, 0x11C41, - 0x11C50, - 0x11C5A, 0x11C72, 0x11C90, - 0x11C92, - 0x11CA8, - 0x11CA9, - 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, - 0x11D37, - 0x11D3A, - 0x11D3B, - 0x11D3C, - 0x11D3E, - 0x11D3F, - 0x11D48, - 0x11D50, - 0x11D5A, + 0x11D31, + 0x11D46, + 0x11D47, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, - 0x11D8F, - 0x11D90, - 0x11D92, - 0x11D93, + 0x11D8A, + 0x11D98, 0x11D99, - 0x11DA0, - 0x11DAA, 0x11EE0, - 0x11EF7, + 0x11EF3, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -253215,18 +275773,12 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x16A39, 0x16A40, 0x16A5F, - 0x16A60, - 0x16A6A, 0x16AD0, 0x16AEE, - 0x16AF0, - 0x16AF5, 0x16B00, - 0x16B37, + 0x16B30, 0x16B40, 0x16B44, - 0x16B50, - 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, @@ -253235,9 +275787,9 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x16E80, 0x16F00, 0x16F4B, - 0x16F4F, - 0x16F88, - 0x16F8F, + 0x16F50, + 0x16F51, + 0x16F93, 0x16FA0, 0x16FE0, 0x16FE2, @@ -253246,7 +275798,9 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -253263,20 +275817,6 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x1BC89, 0x1BC90, 0x1BC9A, - 0x1BC9D, - 0x1BC9F, - 0x1D165, - 0x1D16A, - 0x1D16D, - 0x1D173, - 0x1D17B, - 0x1D183, - 0x1D185, - 0x1D18C, - 0x1D1AA, - 0x1D1AE, - 0x1D242, - 0x1D245, 0x1D400, 0x1D455, 0x1D456, @@ -253337,48 +275877,20 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x1D7C3, 0x1D7C4, 0x1D7CC, - 0x1D7CE, - 0x1D800, - 0x1DA00, - 0x1DA37, - 0x1DA3B, - 0x1DA6D, - 0x1DA75, - 0x1DA76, - 0x1DA84, - 0x1DA85, - 0x1DA9B, - 0x1DAA0, - 0x1DAA1, - 0x1DAB0, - 0x1E000, - 0x1E007, - 0x1E008, - 0x1E019, - 0x1E01B, - 0x1E022, - 0x1E023, - 0x1E025, - 0x1E026, - 0x1E02B, 0x1E100, 0x1E12D, - 0x1E130, + 0x1E137, 0x1E13E, - 0x1E140, - 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, - 0x1E2FA, + 0x1E2EC, 0x1E800, 0x1E8C5, - 0x1E8D0, - 0x1E8D7, 0x1E900, + 0x1E944, + 0x1E94B, 0x1E94C, - 0x1E950, - 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, @@ -253446,7 +275958,7 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x1EEAB, 0x1EEBC, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -253457,85 +275969,64 @@ static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 0x2EBE1, 0x2F800, 0x2FA1E, - 0xE0100, - 0xE01F0 -}; - -# endif /* EBCDIC 037 */ - -static const UV UNI_IDEO_invlist[] = { /* for all charsets */ - 33, /* Number of elements */ - 148565664, /* Version and data structure type */ - 1, /* 0 if the list starts at 0; - 1 if it starts at the element beyond 0 */ - 0x0, - 0x3006, - 0x3008, - 0x3021, - 0x302A, - 0x3038, - 0x303B, - 0x3400, - 0x4DB6, - 0x4E00, - 0x9FF0, - 0xF900, - 0xFA6E, - 0xFA70, - 0xFADA, - 0x17000, - 0x187F8, - 0x18800, - 0x18AF3, - 0x1B170, - 0x1B2FC, - 0x20000, - 0x2A6D7, - 0x2A700, - 0x2B735, - 0x2B740, - 0x2B81E, - 0x2B820, - 0x2CEA2, - 0x2CEB0, - 0x2EBE1, - 0x2F800, - 0x2FA1E + 0x30000, + 0x3134B }; -static const UV UNI_IDEOGRAPHICSYMBOLS_invlist[] = { /* for all charsets */ - 3, /* Number of elements */ - 148565664, /* Version and data structure type */ - 1, /* 0 if the list starts at 0; - 1 if it starts at the element beyond 0 */ - 0x0, - 0x16FE0, - 0x17000 -}; +# endif /* ASCII/Latin1 */ -# if 'A' == 65 /* ASCII/Latin1 */ +# if 'A' == 193 /* EBCDIC 1047 */ \ + && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ + && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ + && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 -static const UV UNI_IDS_invlist[] = { /* for ASCII/Latin1 */ - 1219, /* Number of elements */ +static const UV UNI_IDS_invlist[] = { /* for EBCDIC 1047 */ + 1271, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, - 0x41, - 0x5B, - 0x61, - 0x7B, + 0x42, + 0x4A, + 0x51, + 0x5A, + 0x62, + 0x6A, + 0x70, + 0x79, + 0x80, + 0x8A, + 0x8C, + 0x8F, + 0x91, + 0x9D, + 0x9E, + 0x9F, + 0xA0, + 0xA1, + 0xA2, 0xAA, - 0xAB, - 0xB5, - 0xB6, + 0xAC, + 0xAD, + 0xAE, + 0xAF, 0xBA, 0xBB, - 0xC0, - 0xD7, - 0xD8, - 0xF7, - 0xF8, + 0xC1, + 0xCA, + 0xCB, + 0xD0, + 0xD1, + 0xDA, + 0xDB, + 0xE0, + 0xE2, + 0xEA, + 0xEB, + 0xF0, + 0xFB, + 0xFF, + 0x100, 0x2C2, 0x2C6, 0x2D2, @@ -253622,7 +276113,7 @@ static const UV UNI_IDS_invlist[] = { /* for ASCII/Latin1 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x904, 0x93A, 0x93D, @@ -253773,7 +276264,7 @@ static const UV UNI_IDS_invlist[] = { /* for ASCII/Latin1 */ 0xCE2, 0xCF1, 0xCF3, - 0xD05, + 0xD04, 0xD0D, 0xD0E, 0xD11, @@ -254112,13 +276603,13 @@ static const UV UNI_IDS_invlist[] = { /* for ASCII/Latin1 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -254142,8 +276633,8 @@ static const UV UNI_IDS_invlist[] = { /* for ASCII/Latin1 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA802, 0xA803, 0xA806, @@ -254218,7 +276709,7 @@ static const UV UNI_IDS_invlist[] = { /* for ASCII/Latin1 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABE3, 0xAC00, @@ -254387,12 +276878,18 @@ static const UV UNI_IDS_invlist[] = { /* for ASCII/Latin1 */ 0x10CF3, 0x10D00, 0x10D24, + 0x10E80, + 0x10EAA, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, @@ -254405,6 +276902,8 @@ static const UV UNI_IDS_invlist[] = { /* for ASCII/Latin1 */ 0x11127, 0x11144, 0x11145, + 0x11147, + 0x11148, 0x11150, 0x11173, 0x11176, @@ -254456,7 +276955,7 @@ static const UV UNI_IDS_invlist[] = { /* for ASCII/Latin1 */ 0x11447, 0x1144B, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -254482,7 +276981,19 @@ static const UV UNI_IDS_invlist[] = { /* for ASCII/Latin1 */ 0x118A0, 0x118E0, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, 0x119A0, 0x119A8, 0x119AA, @@ -254531,6 +277042,8 @@ static const UV UNI_IDS_invlist[] = { /* for ASCII/Latin1 */ 0x11D99, 0x11EE0, 0x11EF3, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -254570,7 +277083,9 @@ static const UV UNI_IDS_invlist[] = { /* for ASCII/Latin1 */ 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -254728,7 +277243,7 @@ static const UV UNI_IDS_invlist[] = { /* for ASCII/Latin1 */ 0x1EEAB, 0x1EEBC, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -254738,18 +277253,20 @@ static const UV UNI_IDS_invlist[] = { /* for ASCII/Latin1 */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; -# endif /* ASCII/Latin1 */ +# endif /* EBCDIC 1047 */ -# if 'A' == 193 /* EBCDIC 1047 */ \ - && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ - && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ - && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 +# if 'A' == 193 /* EBCDIC 037 */ \ + && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ + && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ + && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 -static const UV UNI_IDS_invlist[] = { /* for EBCDIC 1047 */ - 1245, /* Number of elements */ +static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ + 1267, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -254775,11 +277292,7 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 1047 */ 0xA2, 0xAA, 0xAC, - 0xAD, - 0xAE, 0xAF, - 0xBA, - 0xBB, 0xC1, 0xCA, 0xCB, @@ -254881,7 +277394,7 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 1047 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x904, 0x93A, 0x93D, @@ -255032,7 +277545,7 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 1047 */ 0xCE2, 0xCF1, 0xCF3, - 0xD05, + 0xD04, 0xD0D, 0xD0E, 0xD11, @@ -255371,13 +277884,13 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 1047 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -255401,8 +277914,8 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 1047 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA802, 0xA803, 0xA806, @@ -255477,7 +277990,7 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 1047 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABE3, 0xAC00, @@ -255646,12 +278159,18 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 1047 */ 0x10CF3, 0x10D00, 0x10D24, + 0x10E80, + 0x10EAA, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, @@ -255664,6 +278183,8 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 1047 */ 0x11127, 0x11144, 0x11145, + 0x11147, + 0x11148, 0x11150, 0x11173, 0x11176, @@ -255715,7 +278236,7 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 1047 */ 0x11447, 0x1144B, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -255741,7 +278262,19 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 1047 */ 0x118A0, 0x118E0, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, 0x119A0, 0x119A8, 0x119AA, @@ -255790,6 +278323,8 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 1047 */ 0x11D99, 0x11EE0, 0x11EF3, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -255829,7 +278364,9 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 1047 */ 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -255987,7 +278524,7 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 1047 */ 0x1EEAB, 0x1EEBC, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -255997,156 +278534,677 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 1047 */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; -# endif /* EBCDIC 1047 */ +# endif /* EBCDIC 037 */ -# if 'A' == 193 /* EBCDIC 037 */ \ - && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ - && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ - && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 +static const UV UNI_IDSB_invlist[] = { /* for all charsets */ + 5, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x2FF0, + 0x2FF2, + 0x2FF4, + 0x2FFC +}; -static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ - 1241, /* Number of elements */ +static const UV UNI_IDST_invlist[] = { /* for all charsets */ + 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, - 0x42, - 0x4A, - 0x51, - 0x5A, - 0x62, - 0x6A, - 0x70, - 0x79, - 0x80, - 0x8A, - 0x8C, - 0x8F, - 0x91, - 0x9D, - 0x9E, - 0x9F, - 0xA0, - 0xA1, - 0xA2, - 0xAA, - 0xAC, - 0xAF, - 0xC1, - 0xCA, - 0xCB, - 0xD0, - 0xD1, - 0xDA, - 0xDB, - 0xE0, - 0xE2, - 0xEA, - 0xEB, - 0xF0, - 0xFB, - 0xFF, - 0x100, - 0x2C2, - 0x2C6, - 0x2D2, + 0x2FF2, + 0x2FF4 +}; + +static const UV UNI_IN__1_DOT_1_invlist[] = { /* for all charsets */ + 576, /* Number of elements */ + 148565664, /* Version and data structure type */ + 0, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x1F6, + 0x1FA, + 0x218, + 0x250, + 0x2A9, + 0x2B0, + 0x2DF, 0x2E0, - 0x2E5, - 0x2EC, - 0x2ED, - 0x2EE, - 0x2EF, - 0x370, - 0x375, + 0x2EA, + 0x300, + 0x346, + 0x360, + 0x362, + 0x374, 0x376, + 0x37A, + 0x37B, + 0x37E, + 0x37F, + 0x384, + 0x38B, + 0x38C, + 0x38D, + 0x38E, + 0x3A2, + 0x3A3, + 0x3CF, + 0x3D0, + 0x3D7, + 0x3DA, + 0x3DB, + 0x3DC, + 0x3DD, + 0x3DE, + 0x3DF, + 0x3E0, + 0x3E1, + 0x3E2, + 0x3F4, + 0x401, + 0x40D, + 0x40E, + 0x450, + 0x451, + 0x45D, + 0x45E, + 0x487, + 0x490, + 0x4C5, + 0x4C7, + 0x4C9, + 0x4CB, + 0x4CD, + 0x4D0, + 0x4EC, + 0x4EE, + 0x4F6, + 0x4F8, + 0x4FA, + 0x531, + 0x557, + 0x559, + 0x560, + 0x561, + 0x588, + 0x589, + 0x58A, + 0x5B0, + 0x5BA, + 0x5BB, + 0x5C4, + 0x5D0, + 0x5EB, + 0x5F0, + 0x5F5, + 0x60C, + 0x60D, + 0x61B, + 0x61C, + 0x61F, + 0x620, + 0x621, + 0x63B, + 0x640, + 0x653, + 0x660, + 0x66E, + 0x670, + 0x6B8, + 0x6BA, + 0x6BF, + 0x6C0, + 0x6CF, + 0x6D0, + 0x6EE, + 0x6F0, + 0x6FA, + 0x901, + 0x904, + 0x905, + 0x93A, + 0x93C, + 0x94E, + 0x950, + 0x955, + 0x958, + 0x971, + 0x981, + 0x984, + 0x985, + 0x98D, + 0x98F, + 0x991, + 0x993, + 0x9A9, + 0x9AA, + 0x9B1, + 0x9B2, + 0x9B3, + 0x9B6, + 0x9BA, + 0x9BC, + 0x9BD, + 0x9BE, + 0x9C5, + 0x9C7, + 0x9C9, + 0x9CB, + 0x9CE, + 0x9D7, + 0x9D8, + 0x9DC, + 0x9DE, + 0x9DF, + 0x9E4, + 0x9E6, + 0x9FB, + 0xA02, + 0xA03, + 0xA05, + 0xA0B, + 0xA0F, + 0xA11, + 0xA13, + 0xA29, + 0xA2A, + 0xA31, + 0xA32, + 0xA34, + 0xA35, + 0xA37, + 0xA38, + 0xA3A, + 0xA3C, + 0xA3D, + 0xA3E, + 0xA43, + 0xA47, + 0xA49, + 0xA4B, + 0xA4E, + 0xA59, + 0xA5D, + 0xA5E, + 0xA5F, + 0xA66, + 0xA75, + 0xA81, + 0xA84, + 0xA85, + 0xA8C, + 0xA8D, + 0xA8E, + 0xA8F, + 0xA92, + 0xA93, + 0xAA9, + 0xAAA, + 0xAB1, + 0xAB2, + 0xAB4, + 0xAB5, + 0xABA, + 0xABC, + 0xAC6, + 0xAC7, + 0xACA, + 0xACB, + 0xACE, + 0xAD0, + 0xAD1, + 0xAE0, + 0xAE1, + 0xAE6, + 0xAF0, + 0xB01, + 0xB04, + 0xB05, + 0xB0D, + 0xB0F, + 0xB11, + 0xB13, + 0xB29, + 0xB2A, + 0xB31, + 0xB32, + 0xB34, + 0xB36, + 0xB3A, + 0xB3C, + 0xB44, + 0xB47, + 0xB49, + 0xB4B, + 0xB4E, + 0xB56, + 0xB58, + 0xB5C, + 0xB5E, + 0xB5F, + 0xB62, + 0xB66, + 0xB71, + 0xB82, + 0xB84, + 0xB85, + 0xB8B, + 0xB8E, + 0xB91, + 0xB92, + 0xB96, + 0xB99, + 0xB9B, + 0xB9C, + 0xB9D, + 0xB9E, + 0xBA0, + 0xBA3, + 0xBA5, + 0xBA8, + 0xBAB, + 0xBAE, + 0xBB6, + 0xBB7, + 0xBBA, + 0xBBE, + 0xBC3, + 0xBC6, + 0xBC9, + 0xBCA, + 0xBCE, + 0xBD7, + 0xBD8, + 0xBE7, + 0xBF3, + 0xC01, + 0xC04, + 0xC05, + 0xC0D, + 0xC0E, + 0xC11, + 0xC12, + 0xC29, + 0xC2A, + 0xC34, + 0xC35, + 0xC3A, + 0xC3E, + 0xC45, + 0xC46, + 0xC49, + 0xC4A, + 0xC4E, + 0xC55, + 0xC57, + 0xC60, + 0xC62, + 0xC66, + 0xC70, + 0xC82, + 0xC84, + 0xC85, + 0xC8D, + 0xC8E, + 0xC91, + 0xC92, + 0xCA9, + 0xCAA, + 0xCB4, + 0xCB5, + 0xCBA, + 0xCBE, + 0xCC5, + 0xCC6, + 0xCC9, + 0xCCA, + 0xCCE, + 0xCD5, + 0xCD7, + 0xCDE, + 0xCDF, + 0xCE0, + 0xCE2, + 0xCE6, + 0xCF0, + 0xD02, + 0xD04, + 0xD05, + 0xD0D, + 0xD0E, + 0xD11, + 0xD12, + 0xD29, + 0xD2A, + 0xD3A, + 0xD3E, + 0xD44, + 0xD46, + 0xD49, + 0xD4A, + 0xD4E, + 0xD57, + 0xD58, + 0xD60, + 0xD62, + 0xD66, + 0xD70, + 0xE01, + 0xE3B, + 0xE3F, + 0xE5C, + 0xE81, + 0xE83, + 0xE84, + 0xE85, + 0xE87, + 0xE89, + 0xE8A, + 0xE8B, + 0xE8D, + 0xE8E, + 0xE94, + 0xE98, + 0xE99, + 0xEA0, + 0xEA1, + 0xEA4, + 0xEA5, + 0xEA6, + 0xEA7, + 0xEA8, + 0xEAA, + 0xEAC, + 0xEAD, + 0xEBA, + 0xEBB, + 0xEBE, + 0xEC0, + 0xEC5, + 0xEC6, + 0xEC7, + 0xEC8, + 0xECE, + 0xED0, + 0xEDA, + 0xEDC, + 0xEDE, + 0x10A0, + 0x10C6, + 0x10D0, + 0x10F7, + 0x10FB, + 0x10FC, + 0x1100, + 0x115A, + 0x115F, + 0x11A3, + 0x11A8, + 0x11FA, + 0x1E00, + 0x1E9B, + 0x1EA0, + 0x1EFA, + 0x1F00, + 0x1F16, + 0x1F18, + 0x1F1E, + 0x1F20, + 0x1F46, + 0x1F48, + 0x1F4E, + 0x1F50, + 0x1F58, + 0x1F59, + 0x1F5A, + 0x1F5B, + 0x1F5C, + 0x1F5D, + 0x1F5E, + 0x1F5F, + 0x1F7E, + 0x1F80, + 0x1FB5, + 0x1FB6, + 0x1FC5, + 0x1FC6, + 0x1FD4, + 0x1FD6, + 0x1FDC, + 0x1FDD, + 0x1FF0, + 0x1FF2, + 0x1FF5, + 0x1FF6, + 0x1FFF, + 0x2000, + 0x202F, + 0x2030, + 0x2047, + 0x206A, + 0x2071, + 0x2074, + 0x208F, + 0x20A0, + 0x20AB, + 0x20D0, + 0x20E2, + 0x2100, + 0x2139, + 0x2153, + 0x2183, + 0x2190, + 0x21EB, + 0x2200, + 0x22F2, + 0x2300, + 0x2301, + 0x2302, + 0x237B, + 0x2400, + 0x2425, + 0x2440, + 0x244B, + 0x2460, + 0x24EB, + 0x2500, + 0x2596, + 0x25A0, + 0x25F0, + 0x2600, + 0x2614, + 0x261A, + 0x2670, + 0x2701, + 0x2705, + 0x2706, + 0x270A, + 0x270C, + 0x2728, + 0x2729, + 0x274C, + 0x274D, + 0x274E, + 0x274F, + 0x2753, + 0x2756, + 0x2757, + 0x2758, + 0x275F, + 0x2761, + 0x2768, + 0x2776, + 0x2795, + 0x2798, + 0x27B0, + 0x27B1, + 0x27BF, + 0x3000, + 0x3038, + 0x303F, + 0x3040, + 0x3041, + 0x3095, + 0x3099, + 0x309F, + 0x30A1, + 0x30FF, + 0x3105, + 0x312D, + 0x3131, + 0x318F, + 0x3190, + 0x31A0, + 0x3200, + 0x321D, + 0x3220, + 0x3244, + 0x3260, + 0x327C, + 0x327F, + 0x32B1, + 0x32C0, + 0x32CC, + 0x32D0, + 0x32FF, + 0x3300, + 0x3377, + 0x337B, + 0x33DE, + 0x33E0, + 0x33FF, + 0x4E00, + 0x9FA6, + 0xE000, + 0xFA2E, + 0xFB00, + 0xFB07, + 0xFB13, + 0xFB18, + 0xFB1E, + 0xFB37, + 0xFB38, + 0xFB3D, + 0xFB3E, + 0xFB3F, + 0xFB40, + 0xFB42, + 0xFB43, + 0xFB45, + 0xFB46, + 0xFBB2, + 0xFBD3, + 0xFD40, + 0xFD50, + 0xFD90, + 0xFD92, + 0xFDC8, + 0xFDF0, + 0xFDFC, + 0xFE20, + 0xFE24, + 0xFE30, + 0xFE45, + 0xFE49, + 0xFE53, + 0xFE54, + 0xFE67, + 0xFE68, + 0xFE6C, + 0xFE70, + 0xFE73, + 0xFE74, + 0xFE75, + 0xFE76, + 0xFEFD, + 0xFEFF, + 0xFF00, + 0xFF01, + 0xFF5F, + 0xFF61, + 0xFFBF, + 0xFFC2, + 0xFFC8, + 0xFFCA, + 0xFFD0, + 0xFFD2, + 0xFFD8, + 0xFFDA, + 0xFFDD, + 0xFFE0, + 0xFFE7, + 0xFFE8, + 0xFFEF, + 0xFFFD, + 0x10000 +}; + +static const UV UNI_IN__10_invlist[] = { /* for all charsets */ + 1318, /* Number of elements */ + 148565664, /* Version and data structure type */ + 0, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, 0x378, 0x37A, - 0x37E, - 0x37F, 0x380, - 0x386, - 0x387, - 0x388, + 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, - 0x3F6, - 0x3F7, - 0x482, - 0x48A, 0x530, 0x531, 0x557, 0x559, - 0x55A, 0x560, + 0x561, + 0x588, 0x589, + 0x58B, + 0x58D, + 0x590, + 0x591, + 0x5C8, 0x5D0, 0x5EB, - 0x5EF, - 0x5F3, - 0x620, - 0x64B, - 0x66E, - 0x670, - 0x671, - 0x6D4, - 0x6D5, - 0x6D6, - 0x6E5, - 0x6E7, - 0x6EE, - 0x6F0, - 0x6FA, - 0x6FD, - 0x6FF, - 0x700, - 0x710, - 0x711, - 0x712, - 0x730, + 0x5F0, + 0x5F5, + 0x600, + 0x61D, + 0x61E, + 0x70E, + 0x70F, + 0x74B, 0x74D, - 0x7A6, - 0x7B1, 0x7B2, - 0x7CA, - 0x7EB, - 0x7F4, - 0x7F6, - 0x7FA, + 0x7C0, 0x7FB, 0x800, - 0x816, - 0x81A, - 0x81B, - 0x824, - 0x825, - 0x828, - 0x829, + 0x82E, + 0x830, + 0x83F, 0x840, - 0x859, + 0x85C, + 0x85E, + 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8BE, - 0x904, - 0x93A, - 0x93D, - 0x93E, - 0x950, - 0x951, - 0x958, - 0x962, - 0x971, - 0x981, + 0x8D4, + 0x984, 0x985, 0x98D, 0x98F, @@ -256159,18 +279217,22 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 0x9B3, 0x9B6, 0x9BA, - 0x9BD, - 0x9BE, - 0x9CE, + 0x9BC, + 0x9C5, + 0x9C7, + 0x9C9, + 0x9CB, 0x9CF, + 0x9D7, + 0x9D8, 0x9DC, 0x9DE, 0x9DF, - 0x9E2, - 0x9F0, - 0x9F2, - 0x9FC, - 0x9FD, + 0x9E4, + 0x9E6, + 0x9FE, + 0xA01, + 0xA04, 0xA05, 0xA0B, 0xA0F, @@ -256185,12 +279247,24 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 0xA37, 0xA38, 0xA3A, + 0xA3C, + 0xA3D, + 0xA3E, + 0xA43, + 0xA47, + 0xA49, + 0xA4B, + 0xA4E, + 0xA51, + 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, - 0xA72, - 0xA75, + 0xA66, + 0xA76, + 0xA81, + 0xA84, 0xA85, 0xA8E, 0xA8F, @@ -256203,14 +279277,22 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 0xAB4, 0xAB5, 0xABA, - 0xABD, - 0xABE, + 0xABC, + 0xAC6, + 0xAC7, + 0xACA, + 0xACB, + 0xACE, 0xAD0, 0xAD1, 0xAE0, - 0xAE2, + 0xAE4, + 0xAE6, + 0xAF2, 0xAF9, - 0xAFA, + 0xB00, + 0xB01, + 0xB04, 0xB05, 0xB0D, 0xB0F, @@ -256223,15 +279305,21 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 0xB34, 0xB35, 0xB3A, - 0xB3D, - 0xB3E, + 0xB3C, + 0xB45, + 0xB47, + 0xB49, + 0xB4B, + 0xB4E, + 0xB56, + 0xB58, 0xB5C, 0xB5E, 0xB5F, - 0xB62, - 0xB71, - 0xB72, - 0xB83, + 0xB64, + 0xB66, + 0xB78, + 0xB82, 0xB84, 0xB85, 0xB8B, @@ -256251,8 +279339,20 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 0xBAB, 0xBAE, 0xBBA, + 0xBBE, + 0xBC3, + 0xBC6, + 0xBC9, + 0xBCA, + 0xBCE, 0xBD0, 0xBD1, + 0xBD7, + 0xBD8, + 0xBE6, + 0xBFB, + 0xC00, + 0xC04, 0xC05, 0xC0D, 0xC0E, @@ -256262,13 +279362,21 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 0xC2A, 0xC3A, 0xC3D, - 0xC3E, + 0xC45, + 0xC46, + 0xC49, + 0xC4A, + 0xC4E, + 0xC55, + 0xC57, 0xC58, 0xC5B, 0xC60, - 0xC62, - 0xC80, - 0xC81, + 0xC64, + 0xC66, + 0xC70, + 0xC78, + 0xC84, 0xC85, 0xC8D, 0xC8E, @@ -256279,30 +279387,40 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 0xCB4, 0xCB5, 0xCBA, - 0xCBD, - 0xCBE, + 0xCBC, + 0xCC5, + 0xCC6, + 0xCC9, + 0xCCA, + 0xCCE, + 0xCD5, + 0xCD7, 0xCDE, 0xCDF, 0xCE0, - 0xCE2, + 0xCE4, + 0xCE6, + 0xCF0, 0xCF1, 0xCF3, + 0xD00, + 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, - 0xD3B, - 0xD3D, - 0xD3E, - 0xD4E, - 0xD4F, + 0xD45, + 0xD46, + 0xD49, + 0xD4A, + 0xD50, 0xD54, - 0xD57, - 0xD5F, - 0xD62, - 0xD7A, + 0xD64, + 0xD66, 0xD80, + 0xD82, + 0xD84, 0xD85, 0xD97, 0xD9A, @@ -256313,69 +279431,77 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 0xDBE, 0xDC0, 0xDC7, + 0xDCA, + 0xDCB, + 0xDCF, + 0xDD5, + 0xDD6, + 0xDD7, + 0xDD8, + 0xDE0, + 0xDE6, + 0xDF0, + 0xDF2, + 0xDF5, 0xE01, - 0xE31, - 0xE32, - 0xE34, - 0xE40, - 0xE47, + 0xE3B, + 0xE3F, + 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, - 0xE86, + 0xE87, + 0xE89, + 0xE8A, 0xE8B, - 0xE8C, + 0xE8D, + 0xE8E, + 0xE94, + 0xE98, + 0xE99, + 0xEA0, + 0xEA1, 0xEA4, 0xEA5, 0xEA6, 0xEA7, - 0xEB1, - 0xEB2, - 0xEB4, - 0xEBD, + 0xEA8, + 0xEAA, + 0xEAC, + 0xEAD, + 0xEBA, + 0xEBB, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, + 0xEC8, + 0xECE, + 0xED0, + 0xEDA, 0xEDC, 0xEE0, 0xF00, - 0xF01, - 0xF40, 0xF48, 0xF49, 0xF6D, - 0xF88, - 0xF8D, + 0xF71, + 0xF98, + 0xF99, + 0xFBD, + 0xFBE, + 0xFCD, + 0xFCE, + 0xFDB, 0x1000, - 0x102B, - 0x103F, - 0x1040, - 0x1050, - 0x1056, - 0x105A, - 0x105E, - 0x1061, - 0x1062, - 0x1065, - 0x1067, - 0x106E, - 0x1071, - 0x1075, - 0x1082, - 0x108E, - 0x108F, - 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, - 0x10FB, - 0x10FC, 0x1249, 0x124A, 0x124E, @@ -256407,51 +279533,57 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 0x1316, 0x1318, 0x135B, + 0x135D, + 0x137D, 0x1380, - 0x1390, + 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, - 0x1401, - 0x166D, - 0x166F, - 0x1680, - 0x1681, - 0x169B, + 0x1400, + 0x169D, 0x16A0, - 0x16EB, - 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, - 0x1712, + 0x1715, 0x1720, - 0x1732, + 0x1737, 0x1740, - 0x1752, + 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, + 0x1772, + 0x1774, 0x1780, - 0x17B4, - 0x17D7, - 0x17D8, - 0x17DC, - 0x17DD, + 0x17DE, + 0x17E0, + 0x17EA, + 0x17F0, + 0x17FA, + 0x1800, + 0x180F, + 0x1810, + 0x181A, 0x1820, - 0x1879, + 0x1878, 0x1880, - 0x18A9, - 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, - 0x1950, + 0x1920, + 0x192C, + 0x1930, + 0x193C, + 0x1940, + 0x1941, + 0x1944, 0x196E, 0x1970, 0x1975, @@ -256459,45 +279591,41 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 0x19AC, 0x19B0, 0x19CA, - 0x1A00, - 0x1A17, - 0x1A20, - 0x1A55, - 0x1AA7, - 0x1AA8, - 0x1B05, - 0x1B34, - 0x1B45, + 0x19D0, + 0x19DB, + 0x19DE, + 0x1A1C, + 0x1A1E, + 0x1A5F, + 0x1A60, + 0x1A7D, + 0x1A7F, + 0x1A8A, + 0x1A90, + 0x1A9A, + 0x1AA0, + 0x1AAE, + 0x1AB0, + 0x1ABF, + 0x1B00, 0x1B4C, - 0x1B83, - 0x1BA1, - 0x1BAE, - 0x1BB0, - 0x1BBA, - 0x1BE6, - 0x1C00, - 0x1C24, + 0x1B50, + 0x1B7D, + 0x1B80, + 0x1BF4, + 0x1BFC, + 0x1C38, + 0x1C3B, + 0x1C4A, 0x1C4D, - 0x1C50, - 0x1C5A, - 0x1C7E, - 0x1C80, 0x1C89, - 0x1C90, - 0x1CBB, - 0x1CBD, 0x1CC0, - 0x1CE9, - 0x1CED, - 0x1CEE, - 0x1CF4, - 0x1CF5, - 0x1CF7, + 0x1CC8, + 0x1CD0, 0x1CFA, - 0x1CFB, 0x1D00, - 0x1DC0, - 0x1E00, + 0x1DFA, + 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, @@ -256518,66 +279646,54 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 0x1F80, 0x1FB5, 0x1FB6, - 0x1FBD, - 0x1FBE, - 0x1FBF, - 0x1FC2, 0x1FC5, 0x1FC6, - 0x1FCD, - 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, - 0x1FE0, - 0x1FED, + 0x1FDD, + 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, - 0x1FFD, - 0x2071, + 0x1FFF, + 0x2000, + 0x2065, + 0x2066, 0x2072, - 0x207F, - 0x2080, + 0x2074, + 0x208F, 0x2090, 0x209D, - 0x2102, - 0x2103, - 0x2107, - 0x2108, - 0x210A, - 0x2114, - 0x2115, - 0x2116, - 0x2118, - 0x211E, - 0x2124, - 0x2125, - 0x2126, - 0x2127, - 0x2128, - 0x2129, - 0x212A, - 0x213A, - 0x213C, - 0x2140, - 0x2145, - 0x214A, - 0x214E, - 0x214F, - 0x2160, - 0x2189, + 0x20A0, + 0x20C0, + 0x20D0, + 0x20F1, + 0x2100, + 0x218C, + 0x2190, + 0x2427, + 0x2440, + 0x244B, + 0x2460, + 0x2B74, + 0x2B76, + 0x2B96, + 0x2B98, + 0x2BBA, + 0x2BBD, + 0x2BC9, + 0x2BCA, + 0x2BD3, + 0x2BEC, + 0x2BF0, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, - 0x2CE5, - 0x2CEB, - 0x2CEF, - 0x2CF2, 0x2CF4, - 0x2D00, + 0x2CF9, 0x2D26, 0x2D27, 0x2D28, @@ -256586,8 +279702,8 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 0x2D30, 0x2D68, 0x2D6F, - 0x2D70, - 0x2D80, + 0x2D71, + 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, @@ -256605,120 +279721,82 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 0x2DD7, 0x2DD8, 0x2DDF, - 0x3005, - 0x3008, - 0x3021, - 0x302A, - 0x3031, - 0x3036, - 0x3038, - 0x303D, + 0x2DE0, + 0x2E4A, + 0x2E80, + 0x2E9A, + 0x2E9B, + 0x2EF4, + 0x2F00, + 0x2FD6, + 0x2FF0, + 0x2FFC, + 0x3000, + 0x3040, 0x3041, 0x3097, - 0x309B, - 0x30A0, - 0x30A1, - 0x30FB, - 0x30FC, + 0x3099, 0x3100, 0x3105, - 0x3130, + 0x312F, 0x3131, 0x318F, - 0x31A0, + 0x3190, 0x31BB, + 0x31C0, + 0x31E4, 0x31F0, - 0x3200, - 0x3400, + 0x321F, + 0x3220, + 0x32FF, + 0x3300, 0x4DB6, - 0x4E00, - 0x9FF0, + 0x4DC0, + 0x9FEB, 0xA000, 0xA48D, + 0xA490, + 0xA4C7, 0xA4D0, - 0xA4FE, - 0xA500, - 0xA60D, - 0xA610, - 0xA620, - 0xA62A, 0xA62C, 0xA640, - 0xA66F, - 0xA67F, - 0xA69E, - 0xA6A0, - 0xA6F0, - 0xA717, - 0xA720, - 0xA722, - 0xA789, - 0xA78B, - 0xA7C0, - 0xA7C2, - 0xA7C7, + 0xA6F8, + 0xA700, + 0xA7AF, + 0xA7B0, + 0xA7B8, 0xA7F7, - 0xA802, - 0xA803, - 0xA806, - 0xA807, - 0xA80B, - 0xA80C, - 0xA823, + 0xA82C, + 0xA830, + 0xA83A, 0xA840, - 0xA874, - 0xA882, - 0xA8B4, - 0xA8F2, - 0xA8F8, - 0xA8FB, - 0xA8FC, - 0xA8FD, - 0xA8FF, - 0xA90A, - 0xA926, - 0xA930, - 0xA947, - 0xA960, + 0xA878, + 0xA880, + 0xA8C6, + 0xA8CE, + 0xA8DA, + 0xA8E0, + 0xA8FE, + 0xA900, + 0xA954, + 0xA95F, 0xA97D, - 0xA984, - 0xA9B3, + 0xA980, + 0xA9CE, 0xA9CF, - 0xA9D0, - 0xA9E0, - 0xA9E5, - 0xA9E6, - 0xA9F0, - 0xA9FA, + 0xA9DA, + 0xA9DE, 0xA9FF, 0xAA00, - 0xAA29, + 0xAA37, 0xAA40, - 0xAA43, - 0xAA44, - 0xAA4C, - 0xAA60, - 0xAA77, - 0xAA7A, - 0xAA7B, - 0xAA7E, - 0xAAB0, - 0xAAB1, - 0xAAB2, - 0xAAB5, - 0xAAB7, - 0xAAB9, - 0xAABE, - 0xAAC0, - 0xAAC1, - 0xAAC2, + 0xAA4E, + 0xAA50, + 0xAA5A, + 0xAA5C, 0xAAC3, 0xAADB, - 0xAADE, - 0xAAE0, - 0xAAEB, - 0xAAF2, - 0xAAF5, + 0xAAF7, 0xAB01, 0xAB07, 0xAB09, @@ -256730,18 +279808,18 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB5B, - 0xAB5C, - 0xAB68, + 0xAB66, 0xAB70, - 0xABE3, + 0xABEE, + 0xABF0, + 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, - 0xF900, + 0xD800, 0xFA6E, 0xFA70, 0xFADA, @@ -256750,10 +279828,6 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 0xFB13, 0xFB18, 0xFB1D, - 0xFB1E, - 0xFB1F, - 0xFB29, - 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, @@ -256764,24 +279838,30 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 0xFB43, 0xFB45, 0xFB46, - 0xFBB2, + 0xFBC2, 0xFBD3, - 0xFD3E, + 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, - 0xFDF0, - 0xFDFC, + 0xFDD0, + 0xFDFE, + 0xFE00, + 0xFE1A, + 0xFE20, + 0xFE53, + 0xFE54, + 0xFE67, + 0xFE68, + 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, - 0xFF21, - 0xFF3B, - 0xFF41, - 0xFF5B, - 0xFF66, + 0xFEFF, + 0xFF00, + 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, @@ -256791,7 +279871,11 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 0xFFD8, 0xFFDA, 0xFFDD, - 0x10000, + 0xFFE0, + 0xFFE7, + 0xFFE8, + 0xFFEF, + 0xFFF9, 0x1000C, 0x1000D, 0x10027, @@ -256805,28 +279889,40 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 0x1005E, 0x10080, 0x100FB, - 0x10140, - 0x10175, + 0x10100, + 0x10103, + 0x10107, + 0x10134, + 0x10137, + 0x1018F, + 0x10190, + 0x1019C, + 0x101A0, + 0x101A1, + 0x101D0, + 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, + 0x102E0, + 0x102FC, 0x10300, - 0x10320, + 0x10324, 0x1032D, 0x1034B, 0x10350, - 0x10376, + 0x1037B, 0x10380, 0x1039E, - 0x103A0, + 0x1039F, 0x103C4, 0x103C8, - 0x103D0, - 0x103D1, 0x103D6, 0x10400, 0x1049E, + 0x104A0, + 0x104AA, 0x104B0, 0x104D4, 0x104D8, @@ -256835,6 +279931,8 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 0x10528, 0x10530, 0x10564, + 0x1056F, + 0x10570, 0x10600, 0x10737, 0x10740, @@ -256853,88 +279951,94 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 0x1083D, 0x1083F, 0x10856, - 0x10860, - 0x10877, - 0x10880, + 0x10857, 0x1089F, + 0x108A7, + 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, - 0x10900, - 0x10916, - 0x10920, + 0x108FB, + 0x1091C, + 0x1091F, 0x1093A, + 0x1093F, + 0x10940, 0x10980, 0x109B8, - 0x109BE, - 0x109C0, - 0x10A00, - 0x10A01, - 0x10A10, + 0x109BC, + 0x109D0, + 0x109D2, + 0x10A04, + 0x10A05, + 0x10A07, + 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, - 0x10A36, + 0x10A34, + 0x10A38, + 0x10A3B, + 0x10A3F, + 0x10A48, + 0x10A50, + 0x10A59, 0x10A60, - 0x10A7D, - 0x10A80, - 0x10A9D, + 0x10AA0, 0x10AC0, - 0x10AC8, - 0x10AC9, - 0x10AE5, + 0x10AE7, + 0x10AEB, + 0x10AF7, 0x10B00, 0x10B36, - 0x10B40, + 0x10B39, 0x10B56, - 0x10B60, + 0x10B58, 0x10B73, - 0x10B80, + 0x10B78, 0x10B92, + 0x10B99, + 0x10B9D, + 0x10BA9, + 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, + 0x10CFA, 0x10D00, - 0x10D24, - 0x10F00, - 0x10F1D, - 0x10F27, - 0x10F28, - 0x10F30, - 0x10F46, - 0x10FE0, - 0x10FF7, - 0x11003, - 0x11038, - 0x11083, - 0x110B0, + 0x10E60, + 0x10E7F, + 0x11000, + 0x1104E, + 0x11052, + 0x11070, + 0x1107F, + 0x110C2, 0x110D0, 0x110E9, - 0x11103, - 0x11127, + 0x110F0, + 0x110FA, + 0x11100, + 0x11135, + 0x11136, 0x11144, - 0x11145, 0x11150, - 0x11173, - 0x11176, 0x11177, - 0x11183, - 0x111B3, - 0x111C1, - 0x111C5, - 0x111DA, - 0x111DB, - 0x111DC, - 0x111DD, + 0x11180, + 0x111CE, + 0x111D0, + 0x111E0, + 0x111E1, + 0x111F5, 0x11200, 0x11212, 0x11213, - 0x1122C, + 0x1123F, 0x11280, 0x11287, 0x11288, @@ -256944,9 +280048,13 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 0x1128F, 0x1129E, 0x1129F, - 0x112A9, + 0x112AA, 0x112B0, - 0x112DF, + 0x112EB, + 0x112F0, + 0x112FA, + 0x11300, + 0x11304, 0x11305, 0x1130D, 0x1130F, @@ -256959,96 +280067,100 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 0x11334, 0x11335, 0x1133A, - 0x1133D, - 0x1133E, + 0x1133C, + 0x11345, + 0x11347, + 0x11349, + 0x1134B, + 0x1134E, 0x11350, 0x11351, + 0x11357, + 0x11358, 0x1135D, - 0x11362, + 0x11364, + 0x11366, + 0x1136D, + 0x11370, + 0x11375, 0x11400, - 0x11435, - 0x11447, - 0x1144B, - 0x1145F, - 0x11460, + 0x1145A, + 0x1145B, + 0x1145C, + 0x1145D, + 0x1145E, 0x11480, - 0x114B0, - 0x114C4, - 0x114C6, - 0x114C7, 0x114C8, + 0x114D0, + 0x114DA, 0x11580, - 0x115AF, - 0x115D8, - 0x115DC, + 0x115B6, + 0x115B8, + 0x115DE, 0x11600, - 0x11630, - 0x11644, 0x11645, + 0x11650, + 0x1165A, + 0x11660, + 0x1166D, 0x11680, - 0x116AB, 0x116B8, - 0x116B9, + 0x116C0, + 0x116CA, 0x11700, - 0x1171B, - 0x11800, - 0x1182C, + 0x1171A, + 0x1171D, + 0x1172C, + 0x11730, + 0x11740, 0x118A0, - 0x118E0, + 0x118F3, 0x118FF, 0x11900, - 0x119A0, - 0x119A8, - 0x119AA, - 0x119D1, - 0x119E1, - 0x119E2, - 0x119E3, - 0x119E4, 0x11A00, - 0x11A01, - 0x11A0B, - 0x11A33, - 0x11A3A, - 0x11A3B, + 0x11A48, 0x11A50, - 0x11A51, - 0x11A5C, - 0x11A8A, + 0x11A84, + 0x11A86, 0x11A9D, 0x11A9E, + 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, - 0x11C2F, - 0x11C40, - 0x11C41, - 0x11C72, + 0x11C37, + 0x11C38, + 0x11C46, + 0x11C50, + 0x11C6D, + 0x11C70, 0x11C90, + 0x11C92, + 0x11CA8, + 0x11CA9, + 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, - 0x11D31, - 0x11D46, - 0x11D47, - 0x11D60, - 0x11D66, - 0x11D67, - 0x11D69, - 0x11D6A, - 0x11D8A, - 0x11D98, - 0x11D99, - 0x11EE0, - 0x11EF3, + 0x11D37, + 0x11D3A, + 0x11D3B, + 0x11D3C, + 0x11D3E, + 0x11D3F, + 0x11D48, + 0x11D50, + 0x11D5A, 0x12000, 0x1239A, 0x12400, 0x1246F, + 0x12470, + 0x12475, 0x12480, 0x12544, 0x13000, @@ -257059,38 +280171,38 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 0x16A39, 0x16A40, 0x16A5F, + 0x16A60, + 0x16A6A, + 0x16A6E, + 0x16A70, 0x16AD0, 0x16AEE, + 0x16AF0, + 0x16AF6, 0x16B00, - 0x16B30, - 0x16B40, - 0x16B44, + 0x16B46, + 0x16B50, + 0x16B5A, + 0x16B5B, + 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, - 0x16E40, - 0x16E80, 0x16F00, - 0x16F4B, + 0x16F45, 0x16F50, - 0x16F51, - 0x16F93, + 0x16F7F, + 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, - 0x16FE3, - 0x16FE4, 0x17000, - 0x187F8, + 0x187ED, 0x18800, 0x18AF3, 0x1B000, 0x1B11F, - 0x1B150, - 0x1B153, - 0x1B164, - 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, @@ -257101,6 +280213,20 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 0x1BC89, 0x1BC90, 0x1BC9A, + 0x1BC9C, + 0x1BCA4, + 0x1D000, + 0x1D0F6, + 0x1D100, + 0x1D127, + 0x1D129, + 0x1D1E9, + 0x1D200, + 0x1D246, + 0x1D300, + 0x1D357, + 0x1D360, + 0x1D372, 0x1D400, 0x1D455, 0x1D456, @@ -257140,41 +280266,33 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 0x1D552, 0x1D6A6, 0x1D6A8, - 0x1D6C1, - 0x1D6C2, - 0x1D6DB, - 0x1D6DC, - 0x1D6FB, - 0x1D6FC, - 0x1D715, - 0x1D716, - 0x1D735, - 0x1D736, - 0x1D74F, - 0x1D750, - 0x1D76F, - 0x1D770, - 0x1D789, - 0x1D78A, - 0x1D7A9, - 0x1D7AA, - 0x1D7C3, - 0x1D7C4, 0x1D7CC, - 0x1E100, - 0x1E12D, - 0x1E137, - 0x1E13E, - 0x1E14E, - 0x1E14F, - 0x1E2C0, - 0x1E2EC, + 0x1D7CE, + 0x1DA8C, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, + 0x1E000, + 0x1E007, + 0x1E008, + 0x1E019, + 0x1E01B, + 0x1E022, + 0x1E023, + 0x1E025, + 0x1E026, + 0x1E02B, 0x1E800, 0x1E8C5, + 0x1E8C7, + 0x1E8D7, 0x1E900, - 0x1E944, 0x1E94B, - 0x1E94C, + 0x1E950, + 0x1E95A, + 0x1E95E, + 0x1E960, 0x1EE00, 0x1EE04, 0x1EE05, @@ -257241,7 +280359,73 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 0x1EEAA, 0x1EEAB, 0x1EEBC, - 0x20000, + 0x1EEF0, + 0x1EEF2, + 0x1F000, + 0x1F02C, + 0x1F030, + 0x1F094, + 0x1F0A0, + 0x1F0AF, + 0x1F0B1, + 0x1F0C0, + 0x1F0C1, + 0x1F0D0, + 0x1F0D1, + 0x1F0F6, + 0x1F100, + 0x1F10D, + 0x1F110, + 0x1F12F, + 0x1F130, + 0x1F16C, + 0x1F170, + 0x1F1AD, + 0x1F1E6, + 0x1F203, + 0x1F210, + 0x1F23C, + 0x1F240, + 0x1F249, + 0x1F250, + 0x1F252, + 0x1F260, + 0x1F266, + 0x1F300, + 0x1F6D5, + 0x1F6E0, + 0x1F6ED, + 0x1F6F0, + 0x1F6F9, + 0x1F700, + 0x1F774, + 0x1F780, + 0x1F7D5, + 0x1F800, + 0x1F80C, + 0x1F810, + 0x1F848, + 0x1F850, + 0x1F85A, + 0x1F860, + 0x1F888, + 0x1F890, + 0x1F8AE, + 0x1F900, + 0x1F90C, + 0x1F910, + 0x1F93F, + 0x1F940, + 0x1F94D, + 0x1F950, + 0x1F96C, + 0x1F980, + 0x1F998, + 0x1F9C0, + 0x1F9C1, + 0x1F9D0, + 0x1F9E7, + 0x1FFFE, 0x2A6D7, 0x2A700, 0x2B735, @@ -257252,618 +280436,43 @@ static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E -}; - -# endif /* EBCDIC 037 */ - -static const UV UNI_IDSB_invlist[] = { /* for all charsets */ - 5, /* Number of elements */ - 148565664, /* Version and data structure type */ - 1, /* 0 if the list starts at 0; - 1 if it starts at the element beyond 0 */ - 0x0, - 0x2FF0, - 0x2FF2, - 0x2FF4, - 0x2FFC -}; - -static const UV UNI_IDST_invlist[] = { /* for all charsets */ - 3, /* Number of elements */ - 148565664, /* Version and data structure type */ - 1, /* 0 if the list starts at 0; - 1 if it starts at the element beyond 0 */ - 0x0, - 0x2FF2, - 0x2FF4 -}; - -static const UV UNI_IN__1_DOT_1_invlist[] = { /* for all charsets */ - 576, /* Number of elements */ - 148565664, /* Version and data structure type */ - 0, /* 0 if the list starts at 0; - 1 if it starts at the element beyond 0 */ - 0x0, - 0x1F6, - 0x1FA, - 0x218, - 0x250, - 0x2A9, - 0x2B0, - 0x2DF, - 0x2E0, - 0x2EA, - 0x300, - 0x346, - 0x360, - 0x362, - 0x374, - 0x376, - 0x37A, - 0x37B, - 0x37E, - 0x37F, - 0x384, - 0x38B, - 0x38C, - 0x38D, - 0x38E, - 0x3A2, - 0x3A3, - 0x3CF, - 0x3D0, - 0x3D7, - 0x3DA, - 0x3DB, - 0x3DC, - 0x3DD, - 0x3DE, - 0x3DF, - 0x3E0, - 0x3E1, - 0x3E2, - 0x3F4, - 0x401, - 0x40D, - 0x40E, - 0x450, - 0x451, - 0x45D, - 0x45E, - 0x487, - 0x490, - 0x4C5, - 0x4C7, - 0x4C9, - 0x4CB, - 0x4CD, - 0x4D0, - 0x4EC, - 0x4EE, - 0x4F6, - 0x4F8, - 0x4FA, - 0x531, - 0x557, - 0x559, - 0x560, - 0x561, - 0x588, - 0x589, - 0x58A, - 0x5B0, - 0x5BA, - 0x5BB, - 0x5C4, - 0x5D0, - 0x5EB, - 0x5F0, - 0x5F5, - 0x60C, - 0x60D, - 0x61B, - 0x61C, - 0x61F, - 0x620, - 0x621, - 0x63B, - 0x640, - 0x653, - 0x660, - 0x66E, - 0x670, - 0x6B8, - 0x6BA, - 0x6BF, - 0x6C0, - 0x6CF, - 0x6D0, - 0x6EE, - 0x6F0, - 0x6FA, - 0x901, - 0x904, - 0x905, - 0x93A, - 0x93C, - 0x94E, - 0x950, - 0x955, - 0x958, - 0x971, - 0x981, - 0x984, - 0x985, - 0x98D, - 0x98F, - 0x991, - 0x993, - 0x9A9, - 0x9AA, - 0x9B1, - 0x9B2, - 0x9B3, - 0x9B6, - 0x9BA, - 0x9BC, - 0x9BD, - 0x9BE, - 0x9C5, - 0x9C7, - 0x9C9, - 0x9CB, - 0x9CE, - 0x9D7, - 0x9D8, - 0x9DC, - 0x9DE, - 0x9DF, - 0x9E4, - 0x9E6, - 0x9FB, - 0xA02, - 0xA03, - 0xA05, - 0xA0B, - 0xA0F, - 0xA11, - 0xA13, - 0xA29, - 0xA2A, - 0xA31, - 0xA32, - 0xA34, - 0xA35, - 0xA37, - 0xA38, - 0xA3A, - 0xA3C, - 0xA3D, - 0xA3E, - 0xA43, - 0xA47, - 0xA49, - 0xA4B, - 0xA4E, - 0xA59, - 0xA5D, - 0xA5E, - 0xA5F, - 0xA66, - 0xA75, - 0xA81, - 0xA84, - 0xA85, - 0xA8C, - 0xA8D, - 0xA8E, - 0xA8F, - 0xA92, - 0xA93, - 0xAA9, - 0xAAA, - 0xAB1, - 0xAB2, - 0xAB4, - 0xAB5, - 0xABA, - 0xABC, - 0xAC6, - 0xAC7, - 0xACA, - 0xACB, - 0xACE, - 0xAD0, - 0xAD1, - 0xAE0, - 0xAE1, - 0xAE6, - 0xAF0, - 0xB01, - 0xB04, - 0xB05, - 0xB0D, - 0xB0F, - 0xB11, - 0xB13, - 0xB29, - 0xB2A, - 0xB31, - 0xB32, - 0xB34, - 0xB36, - 0xB3A, - 0xB3C, - 0xB44, - 0xB47, - 0xB49, - 0xB4B, - 0xB4E, - 0xB56, - 0xB58, - 0xB5C, - 0xB5E, - 0xB5F, - 0xB62, - 0xB66, - 0xB71, - 0xB82, - 0xB84, - 0xB85, - 0xB8B, - 0xB8E, - 0xB91, - 0xB92, - 0xB96, - 0xB99, - 0xB9B, - 0xB9C, - 0xB9D, - 0xB9E, - 0xBA0, - 0xBA3, - 0xBA5, - 0xBA8, - 0xBAB, - 0xBAE, - 0xBB6, - 0xBB7, - 0xBBA, - 0xBBE, - 0xBC3, - 0xBC6, - 0xBC9, - 0xBCA, - 0xBCE, - 0xBD7, - 0xBD8, - 0xBE7, - 0xBF3, - 0xC01, - 0xC04, - 0xC05, - 0xC0D, - 0xC0E, - 0xC11, - 0xC12, - 0xC29, - 0xC2A, - 0xC34, - 0xC35, - 0xC3A, - 0xC3E, - 0xC45, - 0xC46, - 0xC49, - 0xC4A, - 0xC4E, - 0xC55, - 0xC57, - 0xC60, - 0xC62, - 0xC66, - 0xC70, - 0xC82, - 0xC84, - 0xC85, - 0xC8D, - 0xC8E, - 0xC91, - 0xC92, - 0xCA9, - 0xCAA, - 0xCB4, - 0xCB5, - 0xCBA, - 0xCBE, - 0xCC5, - 0xCC6, - 0xCC9, - 0xCCA, - 0xCCE, - 0xCD5, - 0xCD7, - 0xCDE, - 0xCDF, - 0xCE0, - 0xCE2, - 0xCE6, - 0xCF0, - 0xD02, - 0xD04, - 0xD05, - 0xD0D, - 0xD0E, - 0xD11, - 0xD12, - 0xD29, - 0xD2A, - 0xD3A, - 0xD3E, - 0xD44, - 0xD46, - 0xD49, - 0xD4A, - 0xD4E, - 0xD57, - 0xD58, - 0xD60, - 0xD62, - 0xD66, - 0xD70, - 0xE01, - 0xE3B, - 0xE3F, - 0xE5C, - 0xE81, - 0xE83, - 0xE84, - 0xE85, - 0xE87, - 0xE89, - 0xE8A, - 0xE8B, - 0xE8D, - 0xE8E, - 0xE94, - 0xE98, - 0xE99, - 0xEA0, - 0xEA1, - 0xEA4, - 0xEA5, - 0xEA6, - 0xEA7, - 0xEA8, - 0xEAA, - 0xEAC, - 0xEAD, - 0xEBA, - 0xEBB, - 0xEBE, - 0xEC0, - 0xEC5, - 0xEC6, - 0xEC7, - 0xEC8, - 0xECE, - 0xED0, - 0xEDA, - 0xEDC, - 0xEDE, - 0x10A0, - 0x10C6, - 0x10D0, - 0x10F7, - 0x10FB, - 0x10FC, - 0x1100, - 0x115A, - 0x115F, - 0x11A3, - 0x11A8, - 0x11FA, - 0x1E00, - 0x1E9B, - 0x1EA0, - 0x1EFA, - 0x1F00, - 0x1F16, - 0x1F18, - 0x1F1E, - 0x1F20, - 0x1F46, - 0x1F48, - 0x1F4E, - 0x1F50, - 0x1F58, - 0x1F59, - 0x1F5A, - 0x1F5B, - 0x1F5C, - 0x1F5D, - 0x1F5E, - 0x1F5F, - 0x1F7E, - 0x1F80, - 0x1FB5, - 0x1FB6, - 0x1FC5, - 0x1FC6, - 0x1FD4, - 0x1FD6, - 0x1FDC, - 0x1FDD, - 0x1FF0, - 0x1FF2, - 0x1FF5, - 0x1FF6, - 0x1FFF, - 0x2000, - 0x202F, - 0x2030, - 0x2047, - 0x206A, - 0x2071, - 0x2074, - 0x208F, - 0x20A0, - 0x20AB, - 0x20D0, - 0x20E2, - 0x2100, - 0x2139, - 0x2153, - 0x2183, - 0x2190, - 0x21EB, - 0x2200, - 0x22F2, - 0x2300, - 0x2301, - 0x2302, - 0x237B, - 0x2400, - 0x2425, - 0x2440, - 0x244B, - 0x2460, - 0x24EB, - 0x2500, - 0x2596, - 0x25A0, - 0x25F0, - 0x2600, - 0x2614, - 0x261A, - 0x2670, - 0x2701, - 0x2705, - 0x2706, - 0x270A, - 0x270C, - 0x2728, - 0x2729, - 0x274C, - 0x274D, - 0x274E, - 0x274F, - 0x2753, - 0x2756, - 0x2757, - 0x2758, - 0x275F, - 0x2761, - 0x2768, - 0x2776, - 0x2795, - 0x2798, - 0x27B0, - 0x27B1, - 0x27BF, - 0x3000, - 0x3038, - 0x303F, - 0x3040, - 0x3041, - 0x3095, - 0x3099, - 0x309F, - 0x30A1, - 0x30FF, - 0x3105, - 0x312D, - 0x3131, - 0x318F, - 0x3190, - 0x31A0, - 0x3200, - 0x321D, - 0x3220, - 0x3244, - 0x3260, - 0x327C, - 0x327F, - 0x32B1, - 0x32C0, - 0x32CC, - 0x32D0, - 0x32FF, - 0x3300, - 0x3377, - 0x337B, - 0x33DE, - 0x33E0, - 0x33FF, - 0x4E00, - 0x9FA6, - 0xE000, - 0xFA2E, - 0xFB00, - 0xFB07, - 0xFB13, - 0xFB18, - 0xFB1E, - 0xFB37, - 0xFB38, - 0xFB3D, - 0xFB3E, - 0xFB3F, - 0xFB40, - 0xFB42, - 0xFB43, - 0xFB45, - 0xFB46, - 0xFBB2, - 0xFBD3, - 0xFD40, - 0xFD50, - 0xFD90, - 0xFD92, - 0xFDC8, - 0xFDF0, - 0xFDFC, - 0xFE20, - 0xFE24, - 0xFE30, - 0xFE45, - 0xFE49, - 0xFE53, - 0xFE54, - 0xFE67, - 0xFE68, - 0xFE6C, - 0xFE70, - 0xFE73, - 0xFE74, - 0xFE75, - 0xFE76, - 0xFEFD, - 0xFEFF, - 0xFF00, - 0xFF01, - 0xFF5F, - 0xFF61, - 0xFFBF, - 0xFFC2, - 0xFFC8, - 0xFFCA, - 0xFFD0, - 0xFFD2, - 0xFFD8, - 0xFFDA, - 0xFFDD, - 0xFFE0, - 0xFFE7, - 0xFFE8, - 0xFFEF, - 0xFFFD, - 0x10000 + 0x2FA1E, + 0x2FFFE, + 0x30000, + 0x3FFFE, + 0x40000, + 0x4FFFE, + 0x50000, + 0x5FFFE, + 0x60000, + 0x6FFFE, + 0x70000, + 0x7FFFE, + 0x80000, + 0x8FFFE, + 0x90000, + 0x9FFFE, + 0xA0000, + 0xAFFFE, + 0xB0000, + 0xBFFFE, + 0xC0000, + 0xCFFFE, + 0xD0000, + 0xDFFFE, + 0xE0000, + 0xE0001, + 0xE0002, + 0xE0020, + 0xE0080, + 0xE0100, + 0xE01F0, + 0xEFFFE, + 0x110000 }; -static const UV UNI_IN__10_invlist[] = { /* for all charsets */ - 1318, /* Number of elements */ +static const UV UNI_IN__11_invlist[] = { /* for all charsets */ + 1336, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -257882,10 +280491,6 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0x531, 0x557, 0x559, - 0x560, - 0x561, - 0x588, - 0x589, 0x58B, 0x58D, 0x590, @@ -257893,7 +280498,7 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0x5C8, 0x5D0, 0x5EB, - 0x5F0, + 0x5EF, 0x5F5, 0x600, 0x61D, @@ -257905,7 +280510,7 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0x7B2, 0x7C0, 0x7FB, - 0x800, + 0x7FD, 0x82E, 0x830, 0x83F, @@ -257919,7 +280524,7 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0x8B5, 0x8B6, 0x8BE, - 0x8D4, + 0x8D3, 0x984, 0x985, 0x98D, @@ -257946,7 +280551,7 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0x9DF, 0x9E4, 0x9E6, - 0x9FE, + 0x9FF, 0xA01, 0xA04, 0xA05, @@ -257978,7 +280583,7 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0xA5E, 0xA5F, 0xA66, - 0xA76, + 0xA77, 0xA81, 0xA84, 0xA85, @@ -258068,8 +280673,6 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0xBE6, 0xBFB, 0xC00, - 0xC04, - 0xC05, 0xC0D, 0xC0E, 0xC11, @@ -258092,8 +280695,6 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0xC66, 0xC70, 0xC78, - 0xC84, - 0xC85, 0xC8D, 0xC8E, 0xC91, @@ -258286,7 +280887,7 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0x1810, 0x181A, 0x1820, - 0x1878, + 0x1879, 0x1880, 0x18AB, 0x18B0, @@ -258335,7 +280936,9 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0x1C4A, 0x1C4D, 0x1C89, - 0x1CC0, + 0x1C90, + 0x1CBB, + 0x1CBD, 0x1CC8, 0x1CD0, 0x1CFA, @@ -258396,13 +280999,9 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0x2B76, 0x2B96, 0x2B98, - 0x2BBA, - 0x2BBD, 0x2BC9, 0x2BCA, - 0x2BD3, - 0x2BEC, - 0x2BF0, + 0x2BFF, 0x2C00, 0x2C2F, 0x2C30, @@ -258438,7 +281037,7 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0x2DD8, 0x2DDF, 0x2DE0, - 0x2E4A, + 0x2E4F, 0x2E80, 0x2E9A, 0x2E9B, @@ -258454,7 +281053,7 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0x3099, 0x3100, 0x3105, - 0x312F, + 0x3130, 0x3131, 0x318F, 0x3190, @@ -258468,7 +281067,7 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0x3300, 0x4DB6, 0x4DC0, - 0x9FEB, + 0x9FF0, 0xA000, 0xA48D, 0xA490, @@ -258478,9 +281077,7 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0xA640, 0xA6F8, 0xA700, - 0xA7AF, - 0xA7B0, - 0xA7B8, + 0xA7BA, 0xA7F7, 0xA82C, 0xA830, @@ -258492,8 +281089,6 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0xA8CE, 0xA8DA, 0xA8E0, - 0xA8FE, - 0xA900, 0xA954, 0xA95F, 0xA97D, @@ -258694,11 +281289,11 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0x10A15, 0x10A18, 0x10A19, - 0x10A34, + 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, - 0x10A48, + 0x10A49, 0x10A50, 0x10A59, 0x10A60, @@ -258726,15 +281321,23 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0x10CC0, 0x10CF3, 0x10CFA, - 0x10D00, + 0x10D28, + 0x10D30, + 0x10D3A, 0x10E60, 0x10E7F, + 0x10F00, + 0x10F28, + 0x10F30, + 0x10F5A, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x110C2, + 0x110CD, + 0x110CE, 0x110D0, 0x110E9, 0x110F0, @@ -258742,7 +281345,7 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0x11100, 0x11135, 0x11136, - 0x11144, + 0x11147, 0x11150, 0x11177, 0x11180, @@ -258783,7 +281386,7 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0x11334, 0x11335, 0x1133A, - 0x1133C, + 0x1133B, 0x11345, 0x11347, 0x11349, @@ -258804,7 +281407,7 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0x1145B, 0x1145C, 0x1145D, - 0x1145E, + 0x1145F, 0x11480, 0x114C8, 0x114D0, @@ -258824,11 +281427,13 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0x116C0, 0x116CA, 0x11700, - 0x1171A, + 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x11740, + 0x11800, + 0x1183C, 0x118A0, 0x118F3, 0x118FF, @@ -258838,8 +281443,6 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0x11A50, 0x11A84, 0x11A86, - 0x11A9D, - 0x11A9E, 0x11AA3, 0x11AC0, 0x11AF9, @@ -258871,6 +281474,20 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0x11D48, 0x11D50, 0x11D5A, + 0x11D60, + 0x11D66, + 0x11D67, + 0x11D69, + 0x11D6A, + 0x11D8F, + 0x11D90, + 0x11D92, + 0x11D93, + 0x11D99, + 0x11DA0, + 0x11DAA, + 0x11EE0, + 0x11EF9, 0x12000, 0x1239A, 0x12400, @@ -258905,6 +281522,8 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0x16B78, 0x16B7D, 0x16B90, + 0x16E40, + 0x16E9B, 0x16F00, 0x16F45, 0x16F50, @@ -258914,7 +281533,7 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0x16FE0, 0x16FE2, 0x17000, - 0x187ED, + 0x187F2, 0x18800, 0x18AF3, 0x1B000, @@ -258939,10 +281558,12 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0x1D1E9, 0x1D200, 0x1D246, + 0x1D2E0, + 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, - 0x1D372, + 0x1D379, 0x1D400, 0x1D455, 0x1D456, @@ -259009,6 +281630,8 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0x1E95A, 0x1E95E, 0x1E960, + 0x1EC71, + 0x1ECB5, 0x1EE00, 0x1EE04, 0x1EE05, @@ -259092,8 +281715,6 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0x1F100, 0x1F10D, 0x1F110, - 0x1F12F, - 0x1F130, 0x1F16C, 0x1F170, 0x1F1AD, @@ -259112,11 +281733,11 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6F9, + 0x1F6FA, 0x1F700, 0x1F774, 0x1F780, - 0x1F7D5, + 0x1F7D9, 0x1F800, 0x1F80C, 0x1F810, @@ -259132,15 +281753,21 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0x1F910, 0x1F93F, 0x1F940, - 0x1F94D, - 0x1F950, - 0x1F96C, - 0x1F980, - 0x1F998, + 0x1F971, + 0x1F973, + 0x1F977, + 0x1F97A, + 0x1F97B, + 0x1F97C, + 0x1F9A3, + 0x1F9B0, + 0x1F9BA, 0x1F9C0, - 0x1F9C1, + 0x1F9C3, 0x1F9D0, - 0x1F9E7, + 0x1FA00, + 0x1FA60, + 0x1FA6E, 0x1FFFE, 0x2A6D7, 0x2A700, @@ -259187,8 +281814,8 @@ static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 0x110000 }; -static const UV UNI_IN__11_invlist[] = { /* for all charsets */ - 1336, /* Number of elements */ +static const UV UNI_IN__12_invlist[] = { /* for all charsets */ + 1354, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -259410,7 +282037,7 @@ static const UV UNI_IN__11_invlist[] = { /* for all charsets */ 0xC64, 0xC66, 0xC70, - 0xC78, + 0xC77, 0xC8D, 0xC8E, 0xC91, @@ -259484,27 +282111,13 @@ static const UV UNI_IN__11_invlist[] = { /* for all charsets */ 0xE83, 0xE84, 0xE85, - 0xE87, - 0xE89, - 0xE8A, + 0xE86, 0xE8B, - 0xE8D, - 0xE8E, - 0xE94, - 0xE98, - 0xE99, - 0xEA0, - 0xEA1, + 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, - 0xEA8, - 0xEAA, - 0xEAC, - 0xEAD, - 0xEBA, - 0xEBB, 0xEBE, 0xEC0, 0xEC5, @@ -259657,7 +282270,7 @@ static const UV UNI_IN__11_invlist[] = { /* for all charsets */ 0x1CBD, 0x1CC8, 0x1CD0, - 0x1CFA, + 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, @@ -259715,10 +282328,6 @@ static const UV UNI_IN__11_invlist[] = { /* for all charsets */ 0x2B76, 0x2B96, 0x2B98, - 0x2BC9, - 0x2BCA, - 0x2BFF, - 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, @@ -259753,7 +282362,7 @@ static const UV UNI_IN__11_invlist[] = { /* for all charsets */ 0x2DD8, 0x2DDF, 0x2DE0, - 0x2E4F, + 0x2E50, 0x2E80, 0x2E9A, 0x2E9B, @@ -259793,7 +282402,9 @@ static const UV UNI_IN__11_invlist[] = { /* for all charsets */ 0xA640, 0xA6F8, 0xA700, - 0xA7BA, + 0xA7C0, + 0xA7C2, + 0xA7C7, 0xA7F7, 0xA82C, 0xA830, @@ -259835,7 +282446,7 @@ static const UV UNI_IN__11_invlist[] = { /* for all charsets */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB66, + 0xAB68, 0xAB70, 0xABEE, 0xABF0, @@ -260046,6 +282657,8 @@ static const UV UNI_IN__11_invlist[] = { /* for all charsets */ 0x10F28, 0x10F30, 0x10F5A, + 0x10FE0, + 0x10FF7, 0x11000, 0x1104E, 0x11052, @@ -260123,7 +282736,7 @@ static const UV UNI_IN__11_invlist[] = { /* for all charsets */ 0x1145B, 0x1145C, 0x1145D, - 0x1145F, + 0x11460, 0x11480, 0x114C8, 0x114D0, @@ -260139,7 +282752,7 @@ static const UV UNI_IN__11_invlist[] = { /* for all charsets */ 0x11660, 0x1166D, 0x11680, - 0x116B8, + 0x116B9, 0x116C0, 0x116CA, 0x11700, @@ -260154,11 +282767,15 @@ static const UV UNI_IN__11_invlist[] = { /* for all charsets */ 0x118F3, 0x118FF, 0x11900, + 0x119A0, + 0x119A8, + 0x119AA, + 0x119D8, + 0x119DA, + 0x119E5, 0x11A00, 0x11A48, 0x11A50, - 0x11A84, - 0x11A86, 0x11AA3, 0x11AC0, 0x11AF9, @@ -260204,7 +282821,9 @@ static const UV UNI_IN__11_invlist[] = { /* for all charsets */ 0x11DAA, 0x11EE0, 0x11EF9, - 0x12000, + 0x11FC0, + 0x11FF2, + 0x11FFF, 0x1239A, 0x12400, 0x1246F, @@ -260214,6 +282833,8 @@ static const UV UNI_IN__11_invlist[] = { /* for all charsets */ 0x12544, 0x13000, 0x1342F, + 0x13430, + 0x13439, 0x14400, 0x14647, 0x16800, @@ -260241,19 +282862,23 @@ static const UV UNI_IN__11_invlist[] = { /* for all charsets */ 0x16E40, 0x16E9B, 0x16F00, - 0x16F45, - 0x16F50, - 0x16F7F, + 0x16F4B, + 0x16F4F, + 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, - 0x16FE2, + 0x16FE4, 0x17000, - 0x187F2, + 0x187F8, 0x18800, 0x18AF3, 0x1B000, 0x1B11F, + 0x1B150, + 0x1B153, + 0x1B164, + 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, @@ -260336,18 +282961,32 @@ static const UV UNI_IN__11_invlist[] = { /* for all charsets */ 0x1E025, 0x1E026, 0x1E02B, + 0x1E100, + 0x1E12D, + 0x1E130, + 0x1E13E, + 0x1E140, + 0x1E14A, + 0x1E14E, + 0x1E150, + 0x1E2C0, + 0x1E2FA, + 0x1E2FF, + 0x1E300, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1E900, - 0x1E94B, + 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, + 0x1ED01, + 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, @@ -260431,7 +283070,7 @@ static const UV UNI_IN__11_invlist[] = { /* for all charsets */ 0x1F100, 0x1F10D, 0x1F110, - 0x1F16C, + 0x1F16D, 0x1F170, 0x1F1AD, 0x1F1E6, @@ -260445,15 +283084,17 @@ static const UV UNI_IN__11_invlist[] = { /* for all charsets */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D5, + 0x1F6D6, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FA, + 0x1F6FB, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, + 0x1F7E0, + 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, @@ -260466,24 +283107,28 @@ static const UV UNI_IN__11_invlist[] = { /* for all charsets */ 0x1F8AE, 0x1F900, 0x1F90C, - 0x1F910, - 0x1F93F, - 0x1F940, - 0x1F971, + 0x1F90D, + 0x1F972, 0x1F973, 0x1F977, 0x1F97A, - 0x1F97B, - 0x1F97C, 0x1F9A3, - 0x1F9B0, - 0x1F9BA, - 0x1F9C0, - 0x1F9C3, - 0x1F9D0, - 0x1FA00, + 0x1F9A5, + 0x1F9AB, + 0x1F9AE, + 0x1F9CB, + 0x1F9CD, + 0x1FA54, 0x1FA60, 0x1FA6E, + 0x1FA70, + 0x1FA74, + 0x1FA78, + 0x1FA7B, + 0x1FA80, + 0x1FA83, + 0x1FA90, + 0x1FA96, 0x1FFFE, 0x2A6D7, 0x2A700, @@ -260530,8 +283175,8 @@ static const UV UNI_IN__11_invlist[] = { /* for all charsets */ 0x110000 }; -static const UV UNI_IN__12_invlist[] = { /* for all charsets */ - 1354, /* Number of elements */ +static const UV UNI_IN__12_DOT_1_invlist[] = { /* for all charsets */ + 1352, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -261104,8 +283749,6 @@ static const UV UNI_IN__12_invlist[] = { /* for all charsets */ 0x31F0, 0x321F, 0x3220, - 0x32FF, - 0x3300, 0x4DB6, 0x4DC0, 0x9FF0, @@ -261891,8 +284534,8 @@ static const UV UNI_IN__12_invlist[] = { /* for all charsets */ 0x110000 }; -static const UV UNI_IN__12_DOT_1_invlist[] = { /* for all charsets */ - 1352, /* Number of elements */ +static const UV UNI_IN__13_invlist[] = { /* for all charsets */ + 1372, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -261943,7 +284586,7 @@ static const UV UNI_IN__12_DOT_1_invlist[] = { /* for all charsets */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x984, 0x985, @@ -262052,7 +284695,7 @@ static const UV UNI_IN__12_DOT_1_invlist[] = { /* for all charsets */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -262141,8 +284784,6 @@ static const UV UNI_IN__12_DOT_1_invlist[] = { /* for all charsets */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -262156,7 +284797,7 @@ static const UV UNI_IN__12_DOT_1_invlist[] = { /* for all charsets */ 0xD64, 0xD66, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -262329,7 +284970,7 @@ static const UV UNI_IN__12_DOT_1_invlist[] = { /* for all charsets */ 0x1AA0, 0x1AAE, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -262404,7 +285045,7 @@ static const UV UNI_IN__12_DOT_1_invlist[] = { /* for all charsets */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, @@ -262439,7 +285080,7 @@ static const UV UNI_IN__12_DOT_1_invlist[] = { /* for all charsets */ 0x2DD8, 0x2DDF, 0x2DE0, - 0x2E50, + 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, @@ -262459,15 +285100,11 @@ static const UV UNI_IN__12_DOT_1_invlist[] = { /* for all charsets */ 0x3131, 0x318F, 0x3190, - 0x31BB, - 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, - 0x4DB6, - 0x4DC0, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA490, @@ -262479,9 +285116,9 @@ static const UV UNI_IN__12_DOT_1_invlist[] = { /* for all charsets */ 0xA700, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, - 0xA82C, + 0xA7CB, + 0xA7F5, + 0xA82D, 0xA830, 0xA83A, 0xA840, @@ -262521,7 +285158,7 @@ static const UV UNI_IN__12_DOT_1_invlist[] = { /* for all charsets */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6C, 0xAB70, 0xABEE, 0xABF0, @@ -262609,7 +285246,7 @@ static const UV UNI_IN__12_DOT_1_invlist[] = { /* for all charsets */ 0x10137, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -262728,10 +285365,18 @@ static const UV UNI_IN__12_DOT_1_invlist[] = { /* for all charsets */ 0x10D3A, 0x10E60, 0x10E7F, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAE, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, + 0x10FB0, + 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, @@ -262749,12 +285394,10 @@ static const UV UNI_IN__12_DOT_1_invlist[] = { /* for all charsets */ 0x11100, 0x11135, 0x11136, - 0x11147, + 0x11148, 0x11150, 0x11177, 0x11180, - 0x111CE, - 0x111D0, 0x111E0, 0x111E1, 0x111F5, @@ -262807,11 +285450,9 @@ static const UV UNI_IN__12_DOT_1_invlist[] = { /* for all charsets */ 0x11370, 0x11375, 0x11400, - 0x1145A, - 0x1145B, 0x1145C, 0x1145D, - 0x11460, + 0x11462, 0x11480, 0x114C8, 0x114D0, @@ -262841,7 +285482,21 @@ static const UV UNI_IN__12_DOT_1_invlist[] = { /* for all charsets */ 0x118A0, 0x118F3, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11947, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -262896,6 +285551,8 @@ static const UV UNI_IN__12_DOT_1_invlist[] = { /* for all charsets */ 0x11DAA, 0x11EE0, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, @@ -262943,11 +285600,15 @@ static const UV UNI_IN__12_DOT_1_invlist[] = { /* for all charsets */ 0x16F8F, 0x16FA0, 0x16FE0, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -263143,11 +285804,7 @@ static const UV UNI_IN__12_DOT_1_invlist[] = { /* for all charsets */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, @@ -263159,11 +285816,11 @@ static const UV UNI_IN__12_DOT_1_invlist[] = { /* for all charsets */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -263180,32 +285837,38 @@ static const UV UNI_IN__12_DOT_1_invlist[] = { /* for all charsets */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0x1FFFE, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -263217,7 +285880,7 @@ static const UV UNI_IN__12_DOT_1_invlist[] = { /* for all charsets */ 0x2F800, 0x2FA1E, 0x2FFFE, - 0x30000, + 0x3134B, 0x3FFFE, 0x40000, 0x4FFFE, @@ -279705,6 +302368,16 @@ static const UV UNI_INCHEROKEE_invlist[] = { /* for all charsets */ 0x1400 }; +static const UV UNI_INCHORASMIAN_invlist[] = { /* for all charsets */ + 3, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x10FB0, + 0x10FE0 +}; + static const UV UNI_INCOPTIC_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ @@ -279765,6 +302438,16 @@ static const UV UNI_INDICSIYAQNUMBERS_invlist[] = { /* for all charsets */ 0x1ECC0 }; +static const UV UNI_INDIVESAKURU_invlist[] = { /* for all charsets */ + 3, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x11900, + 0x11960 +}; + static const UV UNI_INDOGRA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ @@ -280055,6 +302738,16 @@ static const UV UNI_INKHAROSHTHI_invlist[] = { /* for all charsets */ 0x10A60 }; +static const UV UNI_INKHITANSMALLSCRIPT_invlist[] = { /* for all charsets */ + 3, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x18B00, + 0x18D00 +}; + static const UV UNI_INKHMER_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ @@ -280125,6 +302818,16 @@ static const UV UNI_INLINEARA_invlist[] = { /* for all charsets */ 0x10780 }; +static const UV UNI_INLISU_invlist[] = { /* for all charsets */ + 3, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0xA4D0, + 0xA500 +}; + static const UV UNI_INLYCIAN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ @@ -280506,7 +303209,7 @@ static const UV UNI_INPAUCINHAU_invlist[] = { /* for all charsets */ }; static const UV UNI_INPC__BOTTOM_invlist[] = { /* for all charsets */ - 283, /* Number of elements */ + 287, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -280663,6 +303366,8 @@ static const UV UNI_INPC__BOTTOM_invlist[] = { /* for all charsets */ 0x1CEE, 0xA825, 0xA826, + 0xA82C, + 0xA82D, 0xA8C4, 0xA8C5, 0xA92B, @@ -280755,6 +303460,8 @@ static const UV UNI_INPC__BOTTOM_invlist[] = { /* for all charsets */ 0x11833, 0x11839, 0x1183B, + 0x11943, + 0x11944, 0x119D4, 0x119D8, 0x119E0, @@ -280806,19 +303513,23 @@ static const UV UNI_INPC__BOTTOMANDLEFT_invlist[] = { /* for all charsets */ }; static const UV UNI_INPC__BOTTOMANDRIGHT_invlist[] = { /* for all charsets */ - 5, /* Number of elements */ + 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1B3B, 0x1B3C, + 0xA9BE, + 0xA9BF, 0xA9C0, - 0xA9C1 + 0xA9C1, + 0x11942, + 0x11943 }; static const UV UNI_INPC__LEFT_invlist[] = { /* for all charsets */ - 89, /* Number of elements */ + 95, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -280883,6 +303594,8 @@ static const UV UNI_INPC__LEFT_invlist[] = { /* for all charsets */ 0x1112D, 0x111B4, 0x111B5, + 0x111CE, + 0x111CF, 0x112E1, 0x112E2, 0x11347, @@ -280903,6 +303616,10 @@ static const UV UNI_INPC__LEFT_invlist[] = { /* for all charsets */ 0x11727, 0x1182D, 0x1182E, + 0x11935, + 0x11936, + 0x11937, + 0x11938, 0x119D2, 0x119D3, 0x119E4, @@ -280914,7 +303631,7 @@ static const UV UNI_INPC__LEFT_invlist[] = { /* for all charsets */ }; static const UV UNI_INPC__LEFTANDRIGHT_invlist[] = { /* for all charsets */ - 27, /* Number of elements */ + 29, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -280944,11 +303661,13 @@ static const UV UNI_INPC__LEFTANDRIGHT_invlist[] = { /* for all charsets */ 0x114BE, 0x114BF, 0x115BA, - 0x115BB + 0x115BB, + 0x11938, + 0x11939 }; static const UV UNI_INPC__NA_invlist[] = { /* for all charsets */ - 413, /* Number of elements */ + 421, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -281019,7 +303738,7 @@ static const UV UNI_INPC__NA_invlist[] = { /* for all charsets */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB62, 0xB64, @@ -281068,12 +303787,12 @@ static const UV UNI_INPC__NA_invlist[] = { /* for all charsets */ 0xD46, 0xD49, 0xD4A, - 0xD4E, + 0xD4F, 0xD57, 0xD58, 0xD62, 0xD64, - 0xD82, + 0xD81, 0xD84, 0xDCA, 0xDCB, @@ -281120,8 +303839,6 @@ static const UV UNI_INPC__NA_invlist[] = { /* for all charsets */ 0x102B, 0x1039, 0x103A, - 0x103C, - 0x103D, 0x103F, 0x1056, 0x105A, @@ -281207,6 +303924,8 @@ static const UV UNI_INPC__NA_invlist[] = { /* for all charsets */ 0xA80C, 0xA823, 0xA828, + 0xA82C, + 0xA82D, 0xA880, 0xA882, 0xA8B4, @@ -281275,8 +303994,12 @@ static const UV UNI_INPC__NA_invlist[] = { /* for all charsets */ 0x11183, 0x111B3, 0x111C1, + 0x111C2, + 0x111C4, 0x111C9, 0x111CD, + 0x111CE, + 0x111D0, 0x1122C, 0x11238, 0x1123E, @@ -281318,11 +304041,17 @@ static const UV UNI_INPC__NA_invlist[] = { /* for all charsets */ 0x116AB, 0x116B8, 0x1171D, - 0x1171E, - 0x1171F, 0x1172C, 0x1182C, 0x1183B, + 0x11930, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x1193E, + 0x1193F, + 0x11944, 0x119D1, 0x119D8, 0x119DA, @@ -281332,12 +304061,10 @@ static const UV UNI_INPC__NA_invlist[] = { /* for all charsets */ 0x11A01, 0x11A0B, 0x11A33, - 0x11A3A, - 0x11A3B, 0x11A3F, 0x11A51, 0x11A5C, - 0x11A8A, + 0x11A84, 0x11A99, 0x11C2F, 0x11C37, @@ -281355,7 +304082,7 @@ static const UV UNI_INPC__NA_invlist[] = { /* for all charsets */ 0x11D3E, 0x11D3F, 0x11D45, - 0x11D47, + 0x11D46, 0x11D48, 0x11D8A, 0x11D8F, @@ -281384,7 +304111,7 @@ static const UV UNI_INPC__OVERSTRUCK_invlist[] = { /* for all charsets */ }; static const UV UNI_INPC__RIGHT_invlist[] = { /* for all charsets */ - 323, /* Number of elements */ + 329, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -281571,8 +304298,6 @@ static const UV UNI_INPC__RIGHT_invlist[] = { /* for all charsets */ 0xA984, 0xA9B4, 0xA9B6, - 0xA9BE, - 0xA9BF, 0xAA33, 0xAA34, 0xAA4D, @@ -281683,6 +304408,12 @@ static const UV UNI_INPC__RIGHT_invlist[] = { /* for all charsets */ 0x1182F, 0x11838, 0x11839, + 0x11930, + 0x11935, + 0x1193D, + 0x1193E, + 0x11940, + 0x11941, 0x119D1, 0x119D2, 0x119D3, @@ -281703,6 +304434,8 @@ static const UV UNI_INPC__RIGHT_invlist[] = { /* for all charsets */ 0x11CAA, 0x11CB4, 0x11CB5, + 0x11D46, + 0x11D47, 0x11D8A, 0x11D8F, 0x11D93, @@ -281714,7 +304447,7 @@ static const UV UNI_INPC__RIGHT_invlist[] = { /* for all charsets */ }; static const UV UNI_INPC__TOP_invlist[] = { /* for all charsets */ - 371, /* Number of elements */ + 387, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -281753,7 +304486,7 @@ static const UV UNI_INPC__TOP_invlist[] = { /* for all charsets */ 0xB02, 0xB3F, 0xB40, - 0xB56, + 0xB55, 0xB57, 0xB82, 0xB83, @@ -281786,7 +304519,9 @@ static const UV UNI_INPC__TOP_invlist[] = { /* for all charsets */ 0xD3B, 0xD3D, 0xD4D, - 0xD4E, + 0xD4F, + 0xD81, + 0xD82, 0xDCA, 0xDCB, 0xDD2, @@ -281993,8 +304728,12 @@ static const UV UNI_INPC__TOP_invlist[] = { /* for all charsets */ 0x11182, 0x111BC, 0x111BF, + 0x111C2, + 0x111C4, 0x111CB, 0x111CC, + 0x111CF, + 0x111D0, 0x11230, 0x11232, 0x11234, @@ -282049,6 +304788,12 @@ static const UV UNI_INPC__TOP_invlist[] = { /* for all charsets */ 0x1172C, 0x11833, 0x11838, + 0x1193B, + 0x1193D, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, 0x119DA, 0x119DC, 0x11A01, @@ -282057,10 +304802,14 @@ static const UV UNI_INPC__TOP_invlist[] = { /* for all charsets */ 0x11A0A, 0x11A35, 0x11A39, + 0x11A3A, + 0x11A3B, 0x11A51, 0x11A52, 0x11A54, 0x11A57, + 0x11A84, + 0x11A8A, 0x11A96, 0x11A97, 0x11A98, @@ -282111,6 +304860,18 @@ static const UV UNI_INPC__TOPANDBOTTOM_invlist[] = { /* for all charsets */ 0x11130 }; +static const UV UNI_INPC__TOPANDBOTTOMANDLEFT_invlist[] = { /* for all charsets */ + 5, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x103C, + 0x103D, + 0x1171E, + 0x1171F +}; + static const UV UNI_INPC__TOPANDBOTTOMANDRIGHT_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ @@ -282306,7 +305067,7 @@ static const UV UNI_INSC__AVAGRAHA_invlist[] = { /* for all charsets */ }; static const UV UNI_INSC__BINDU_invlist[] = { /* for all charsets */ - 107, /* Number of elements */ + 113, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -282335,7 +305096,9 @@ static const UV UNI_INSC__BINDU_invlist[] = { /* for all charsets */ 0xC83, 0xD00, 0xD03, - 0xD82, + 0xD04, + 0xD05, + 0xD81, 0xD83, 0xE4D, 0xE4E, @@ -282381,6 +305144,8 @@ static const UV UNI_INSC__BINDU_invlist[] = { /* for all charsets */ 0x11102, 0x11180, 0x11182, + 0x111CF, + 0x111D0, 0x11234, 0x11235, 0x112DF, @@ -282403,6 +305168,8 @@ static const UV UNI_INSC__BINDU_invlist[] = { /* for all charsets */ 0x116AC, 0x11837, 0x11838, + 0x1193B, + 0x1193D, 0x119DE, 0x119DF, 0x11A35, @@ -282462,7 +305229,7 @@ static const UV UNI_INSC__CANTILLATIONMARK_invlist[] = { /* for all charsets */ }; static const UV UNI_INSC__CONSONANT_invlist[] = { /* for all charsets */ - 299, /* Number of elements */ + 307, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -282705,6 +305472,8 @@ static const UV UNI_INSC__CONSONANT_invlist[] = { /* for all charsets */ 0x11127, 0x11144, 0x11145, + 0x11147, + 0x11148, 0x11155, 0x11173, 0x11191, @@ -282749,6 +305518,12 @@ static const UV UNI_INSC__CONSONANT_invlist[] = { /* for all charsets */ 0x1171B, 0x1180A, 0x1182C, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, 0x119AE, 0x119D1, 0x11A0B, @@ -282846,7 +305621,7 @@ static const UV UNI_INSC__CONSONANTKILLER_invlist[] = { /* for all charsets */ }; static const UV UNI_INSC__CONSONANTMEDIAL_invlist[] = { /* for all charsets */ - 25, /* Number of elements */ + 29, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -282871,6 +305646,10 @@ static const UV UNI_INSC__CONSONANTMEDIAL_invlist[] = { /* for all charsets */ 0xAA37, 0x1171D, 0x11720, + 0x11940, + 0x11941, + 0x11942, + 0x11943, 0x11A3B, 0x11A3F, 0x11D47, @@ -283010,25 +305789,29 @@ static const UV UNI_INSC__CONSONANTPLACEHOLDER_invlist[] = { /* for EBCDIC 037 # endif /* EBCDIC 037 */ static const UV UNI_INSC__CONSONANTPRECEDINGREPHA_invlist[] = { /* for all charsets */ - 5, /* Number of elements */ + 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD4E, 0xD4F, + 0x11941, + 0x11942, 0x11D46, 0x11D47 }; static const UV UNI_INSC__CONSONANTPREFIXED_invlist[] = { /* for all charsets */ - 7, /* Number of elements */ + 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x111C2, 0x111C4, + 0x1193F, + 0x11940, 0x11A3A, 0x11A3B, 0x11A84, @@ -283084,7 +305867,7 @@ static const UV UNI_INSC__CONSONANTSUCCEEDINGREPHA_invlist[] = { /* for all cha }; static const UV UNI_INSC__CONSONANTWITHSTACKER_invlist[] = { /* for all charsets */ - 7, /* Number of elements */ + 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -283094,7 +305877,9 @@ static const UV UNI_INSC__CONSONANTWITHSTACKER_invlist[] = { /* for all charset 0x1CF5, 0x1CF7, 0x11003, - 0x11005 + 0x11005, + 0x11460, + 0x11462 }; static const UV UNI_INSC__GEMINATIONMARK_invlist[] = { /* for all charsets */ @@ -283112,7 +305897,7 @@ static const UV UNI_INSC__GEMINATIONMARK_invlist[] = { /* for all charsets */ }; static const UV UNI_INSC__INVISIBLESTACKER_invlist[] = { /* for all charsets */ - 23, /* Number of elements */ + 25, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -283131,6 +305916,8 @@ static const UV UNI_INSC__INVISIBLESTACKER_invlist[] = { /* for all charsets */ 0x10A40, 0x11133, 0x11134, + 0x1193E, + 0x1193F, 0x11A47, 0x11A48, 0x11A99, @@ -283162,7 +305949,7 @@ static const UV UNI_INSC__NONJOINER_invlist[] = { /* for all charsets */ }; static const UV UNI_INSC__NUKTA_invlist[] = { /* for all charsets */ - 51, /* Number of elements */ + 53, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -283215,6 +306002,8 @@ static const UV UNI_INSC__NUKTA_invlist[] = { /* for all charsets */ 0x116B8, 0x1183A, 0x1183B, + 0x11943, + 0x11944, 0x11D42, 0x11D43 }; @@ -283222,7 +306011,7 @@ static const UV UNI_INSC__NUKTA_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_INSC__NUMBER_invlist[] = { /* for ASCII/Latin1 */ - 89, /* Number of elements */ + 91, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -283309,6 +306098,8 @@ static const UV UNI_INSC__NUMBER_invlist[] = { /* for ASCII/Latin1 */ 0x116CA, 0x11730, 0x1173C, + 0x11950, + 0x1195A, 0x11C50, 0x11C6D, 0x11D50, @@ -283325,7 +306116,7 @@ static const UV UNI_INSC__NUMBER_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_INSC__NUMBER_invlist[] = { /* for EBCDIC 1047 */ - 89, /* Number of elements */ + 91, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -283412,6 +306203,8 @@ static const UV UNI_INSC__NUMBER_invlist[] = { /* for EBCDIC 1047 */ 0x116CA, 0x11730, 0x1173C, + 0x11950, + 0x1195A, 0x11C50, 0x11C6D, 0x11D50, @@ -283428,7 +306221,7 @@ static const UV UNI_INSC__NUMBER_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_INSC__NUMBER_invlist[] = { /* for EBCDIC 037 */ - 89, /* Number of elements */ + 91, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -283515,6 +306308,8 @@ static const UV UNI_INSC__NUMBER_invlist[] = { /* for EBCDIC 037 */ 0x116CA, 0x11730, 0x1173C, + 0x11950, + 0x1195A, 0x11C50, 0x11C6D, 0x11D50, @@ -283538,7 +306333,7 @@ static const UV UNI_INSC__NUMBERJOINER_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_INSC__OTHER_invlist[] = { /* for ASCII/Latin1 */ - 627, /* Number of elements */ + 643, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -283673,7 +306468,7 @@ static const UV UNI_INSC__OTHER_invlist[] = { /* for ASCII/Latin1 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -283764,8 +306559,6 @@ static const UV UNI_INSC__OTHER_invlist[] = { /* for ASCII/Latin1 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -283783,7 +306576,7 @@ static const UV UNI_INSC__OTHER_invlist[] = { /* for ASCII/Latin1 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -283951,6 +306744,8 @@ static const UV UNI_INSC__OTHER_invlist[] = { /* for ASCII/Latin1 */ 0x25CD, 0xA800, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA880, @@ -284018,14 +306813,14 @@ static const UV UNI_INSC__OTHER_invlist[] = { /* for ASCII/Latin1 */ 0x11136, 0x11140, 0x11144, - 0x11147, + 0x11148, 0x11150, 0x11174, 0x11180, 0x111C4, 0x111C9, 0x111CD, - 0x111D0, + 0x111CE, 0x111DA, 0x111E1, 0x111F5, @@ -284082,7 +306877,7 @@ static const UV UNI_INSC__OTHER_invlist[] = { /* for ASCII/Latin1 */ 0x11450, 0x1145A, 0x1145E, - 0x11460, + 0x11462, 0x11481, 0x114C5, 0x114D0, @@ -284109,6 +306904,22 @@ static const UV UNI_INSC__OTHER_invlist[] = { /* for ASCII/Latin1 */ 0x1173C, 0x11800, 0x1183B, + 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11944, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -284179,7 +306990,7 @@ static const UV UNI_INSC__OTHER_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_INSC__OTHER_invlist[] = { /* for EBCDIC 1047 */ - 627, /* Number of elements */ + 643, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -284314,7 +307125,7 @@ static const UV UNI_INSC__OTHER_invlist[] = { /* for EBCDIC 1047 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -284405,8 +307216,6 @@ static const UV UNI_INSC__OTHER_invlist[] = { /* for EBCDIC 1047 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -284424,7 +307233,7 @@ static const UV UNI_INSC__OTHER_invlist[] = { /* for EBCDIC 1047 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -284592,6 +307401,8 @@ static const UV UNI_INSC__OTHER_invlist[] = { /* for EBCDIC 1047 */ 0x25CD, 0xA800, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA880, @@ -284659,14 +307470,14 @@ static const UV UNI_INSC__OTHER_invlist[] = { /* for EBCDIC 1047 */ 0x11136, 0x11140, 0x11144, - 0x11147, + 0x11148, 0x11150, 0x11174, 0x11180, 0x111C4, 0x111C9, 0x111CD, - 0x111D0, + 0x111CE, 0x111DA, 0x111E1, 0x111F5, @@ -284723,7 +307534,7 @@ static const UV UNI_INSC__OTHER_invlist[] = { /* for EBCDIC 1047 */ 0x11450, 0x1145A, 0x1145E, - 0x11460, + 0x11462, 0x11481, 0x114C5, 0x114D0, @@ -284750,6 +307561,22 @@ static const UV UNI_INSC__OTHER_invlist[] = { /* for EBCDIC 1047 */ 0x1173C, 0x11800, 0x1183B, + 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11944, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -284820,7 +307647,7 @@ static const UV UNI_INSC__OTHER_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_INSC__OTHER_invlist[] = { /* for EBCDIC 037 */ - 627, /* Number of elements */ + 643, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -284955,7 +307782,7 @@ static const UV UNI_INSC__OTHER_invlist[] = { /* for EBCDIC 037 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -285046,8 +307873,6 @@ static const UV UNI_INSC__OTHER_invlist[] = { /* for EBCDIC 037 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -285065,7 +307890,7 @@ static const UV UNI_INSC__OTHER_invlist[] = { /* for EBCDIC 037 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -285233,6 +308058,8 @@ static const UV UNI_INSC__OTHER_invlist[] = { /* for EBCDIC 037 */ 0x25CD, 0xA800, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA880, @@ -285300,14 +308127,14 @@ static const UV UNI_INSC__OTHER_invlist[] = { /* for EBCDIC 037 */ 0x11136, 0x11140, 0x11144, - 0x11147, + 0x11148, 0x11150, 0x11174, 0x11180, 0x111C4, 0x111C9, 0x111CD, - 0x111D0, + 0x111CE, 0x111DA, 0x111E1, 0x111F5, @@ -285364,7 +308191,7 @@ static const UV UNI_INSC__OTHER_invlist[] = { /* for EBCDIC 037 */ 0x11450, 0x1145A, 0x1145E, - 0x11460, + 0x11462, 0x11481, 0x114C5, 0x114D0, @@ -285391,6 +308218,22 @@ static const UV UNI_INSC__OTHER_invlist[] = { /* for EBCDIC 037 */ 0x1173C, 0x11800, 0x1183B, + 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11944, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -285456,7 +308299,7 @@ static const UV UNI_INSC__OTHER_invlist[] = { /* for EBCDIC 037 */ # endif /* EBCDIC 037 */ static const UV UNI_INSC__PUREKILLER_invlist[] = { /* for all charsets */ - 39, /* Number of elements */ + 43, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -285485,6 +308328,8 @@ static const UV UNI_INSC__PUREKILLER_invlist[] = { /* for all charsets */ 0x1BAB, 0x1BF2, 0x1BF4, + 0xA82C, + 0xA82D, 0xA953, 0xA954, 0xABED, @@ -285495,6 +308340,8 @@ static const UV UNI_INSC__PUREKILLER_invlist[] = { /* for all charsets */ 0x112EB, 0x1172B, 0x1172C, + 0x1193D, + 0x1193E, 0x11A34, 0x11A35, 0x11D44, @@ -285882,7 +308729,7 @@ static const UV UNI_INSC__VOWEL_invlist[] = { /* for all charsets */ }; static const UV UNI_INSC__VOWELDEPENDENT_invlist[] = { /* for all charsets */ - 259, /* Number of elements */ + 265, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -285927,7 +308774,7 @@ static const UV UNI_INSC__VOWELDEPENDENT_invlist[] = { /* for all charsets */ 0xB49, 0xB4B, 0xB4D, - 0xB56, + 0xB55, 0xB58, 0xB62, 0xB64, @@ -286077,6 +308924,8 @@ static const UV UNI_INSC__VOWELDEPENDENT_invlist[] = { /* for all charsets */ 0x111C0, 0x111CB, 0x111CD, + 0x111CE, + 0x111CF, 0x1122C, 0x11234, 0x112E0, @@ -286111,6 +308960,10 @@ static const UV UNI_INSC__VOWELDEPENDENT_invlist[] = { /* for all charsets */ 0x1172B, 0x1182C, 0x11837, + 0x11930, + 0x11936, + 0x11937, + 0x11939, 0x119D1, 0x119D8, 0x119DA, @@ -286148,7 +309001,7 @@ static const UV UNI_INSC__VOWELDEPENDENT_invlist[] = { /* for all charsets */ }; static const UV UNI_INSC__VOWELINDEPENDENT_invlist[] = { /* for all charsets */ - 171, /* Number of elements */ + 175, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -286299,6 +309152,10 @@ static const UV UNI_INSC__VOWELINDEPENDENT_invlist[] = { /* for all charsets */ 0x1168A, 0x11800, 0x1180A, + 0x11900, + 0x11907, + 0x11909, + 0x1190A, 0x119A0, 0x119A8, 0x119AA, @@ -286325,16 +309182,6 @@ static const UV UNI_INSC__VOWELINDEPENDENT_invlist[] = { /* for all charsets */ 0x11D6C }; -static const UV UNI_INSHARADA_invlist[] = { /* for all charsets */ - 3, /* Number of elements */ - 148565664, /* Version and data structure type */ - 1, /* 0 if the list starts at 0; - 1 if it starts at the element beyond 0 */ - 0x0, - 0x11180, - 0x111E0 -}; - static const UV UNI_INSIDDHAM_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ @@ -286605,6 +309452,16 @@ static const UV UNI_INWARANGCITI_invlist[] = { /* for all charsets */ 0x11900 }; +static const UV UNI_INYEZIDI_invlist[] = { /* for all charsets */ + 3, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x10E80, + 0x10EC0 +}; + static const UV UNI_INZANABAZARSQUARE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ @@ -286702,17 +309559,19 @@ static const UV UNI_JG__AFRICANNOON_invlist[] = { /* for all charsets */ }; static const UV UNI_JG__AFRICANQAF_invlist[] = { /* for all charsets */ - 3, /* Number of elements */ + 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x8BC, - 0x8BD + 0x8BD, + 0x8C4, + 0x8C5 }; static const UV UNI_JG__AIN_invlist[] = { /* for all charsets */ - 11, /* Number of elements */ + 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -286726,7 +309585,9 @@ static const UV UNI_JG__AIN_invlist[] = { /* for all charsets */ 0x75D, 0x760, 0x8B3, - 0x8B4 + 0x8B4, + 0x8C3, + 0x8C4 }; static const UV UNI_JG__ALAPH_invlist[] = { /* for all charsets */ @@ -286760,7 +309621,7 @@ static const UV UNI_JG__ALEF_invlist[] = { /* for all charsets */ }; static const UV UNI_JG__BEH_invlist[] = { /* for all charsets */ - 15, /* Number of elements */ + 17, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -286778,7 +309639,9 @@ static const UV UNI_JG__BEH_invlist[] = { /* for all charsets */ 0x8A0, 0x8A2, 0x8B6, - 0x8B9 + 0x8B9, + 0x8BE, + 0x8C1 }; static const UV UNI_JG__BETH_invlist[] = { /* for all charsets */ @@ -286898,7 +309761,7 @@ static const UV UNI_JG__FINALSEMKATH_invlist[] = { /* for all charsets */ }; static const UV UNI_JG__GAF_invlist[] = { /* for all charsets */ - 13, /* Number of elements */ + 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -286914,7 +309777,9 @@ static const UV UNI_JG__GAF_invlist[] = { /* for all charsets */ 0x762, 0x765, 0x8B0, - 0x8B1 + 0x8B1, + 0x8C2, + 0x8C3 }; static const UV UNI_JG__GAMAL_invlist[] = { /* for all charsets */ @@ -286930,7 +309795,7 @@ static const UV UNI_JG__GAMAL_invlist[] = { /* for all charsets */ }; static const UV UNI_JG__HAH_invlist[] = { /* for all charsets */ - 17, /* Number of elements */ + 21, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -286950,7 +309815,11 @@ static const UV UNI_JG__HAH_invlist[] = { /* for all charsets */ 0x77C, 0x77D, 0x8A2, - 0x8A3 + 0x8A3, + 0x8C1, + 0x8C2, + 0x8C5, + 0x8C7 }; static const UV UNI_JG__HAMZAONHEHGOAL_invlist[] = { /* for all charsets */ @@ -287082,7 +309951,7 @@ static const UV UNI_JG__KNOTTEDHEH_invlist[] = { /* for all charsets */ }; static const UV UNI_JG__LAM_invlist[] = { /* for all charsets */ - 9, /* Number of elements */ + 11, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -287094,7 +309963,9 @@ static const UV UNI_JG__LAM_invlist[] = { /* for all charsets */ 0x76A, 0x76B, 0x8A6, - 0x8A7 + 0x8A7, + 0x8C7, + 0x8C8 }; static const UV UNI_JG__LAMADH_invlist[] = { /* for all charsets */ @@ -287550,7 +310421,7 @@ static const UV UNI_JG__NOJOININGGROUP_invlist[] = { /* for all charsets */ 0x8AE, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x10AC0, 0x10AC6, 0x10AC7, @@ -287974,7 +310845,7 @@ static const UV UNI_JT__C_invlist[] = { /* for all charsets */ }; static const UV UNI_JT__D_invlist[] = { /* for all charsets */ - 129, /* Number of elements */ + 145, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -288060,7 +310931,7 @@ static const UV UNI_JT__D_invlist[] = { /* for all charsets */ 0x8B6, 0x8B9, 0x8BA, - 0x8BE, + 0x8C8, 0x1807, 0x1808, 0x1820, @@ -288105,12 +310976,28 @@ static const UV UNI_JT__D_invlist[] = { /* for all charsets */ 0x10F45, 0x10F51, 0x10F54, + 0x10FB0, + 0x10FB1, + 0x10FB2, + 0x10FB4, + 0x10FB8, + 0x10FB9, + 0x10FBB, + 0x10FBD, + 0x10FBE, + 0x10FC0, + 0x10FC1, + 0x10FC2, + 0x10FC4, + 0x10FC5, + 0x10FCA, + 0x10FCB, 0x1E900, 0x1E944 }; static const UV UNI_JT__L_invlist[] = { /* for all charsets */ - 9, /* Number of elements */ + 11, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -288122,11 +311009,13 @@ static const UV UNI_JT__L_invlist[] = { /* for all charsets */ 0x10AD7, 0x10AD8, 0x10D00, - 0x10D01 + 0x10D01, + 0x10FCB, + 0x10FCC }; static const UV UNI_JT__R_invlist[] = { /* for all charsets */ - 113, /* Number of elements */ + 125, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -288195,6 +311084,8 @@ static const UV UNI_JT__R_invlist[] = { /* for all charsets */ 0x84A, 0x854, 0x855, + 0x856, + 0x859, 0x867, 0x868, 0x869, @@ -288242,13 +311133,23 @@ static const UV UNI_JT__R_invlist[] = { /* for all charsets */ 0x10F33, 0x10F34, 0x10F54, - 0x10F55 + 0x10F55, + 0x10FB4, + 0x10FB7, + 0x10FB9, + 0x10FBB, + 0x10FBD, + 0x10FBE, + 0x10FC2, + 0x10FC4, + 0x10FC9, + 0x10FCA }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_JT__T_invlist[] = { /* for ASCII/Latin1 */ - 661, /* Number of elements */ + 677, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -288375,7 +311276,7 @@ static const UV UNI_JT__T_invlist[] = { /* for ASCII/Latin1 */ 0xB45, 0xB4D, 0xB4E, - 0xB56, + 0xB55, 0xB57, 0xB62, 0xB64, @@ -288421,6 +311322,8 @@ static const UV UNI_JT__T_invlist[] = { /* for ASCII/Latin1 */ 0xD4E, 0xD62, 0xD64, + 0xD81, + 0xD82, 0xDCA, 0xDCB, 0xDD2, @@ -288534,7 +311437,7 @@ static const UV UNI_JT__T_invlist[] = { /* for ASCII/Latin1 */ 0x1A7F, 0x1A80, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B04, 0x1B34, @@ -288621,6 +311524,8 @@ static const UV UNI_JT__T_invlist[] = { /* for ASCII/Latin1 */ 0xA80C, 0xA825, 0xA827, + 0xA82C, + 0xA82D, 0xA8C4, 0xA8C6, 0xA8E0, @@ -288703,6 +311608,8 @@ static const UV UNI_JT__T_invlist[] = { /* for ASCII/Latin1 */ 0x10AE7, 0x10D24, 0x10D28, + 0x10EAB, + 0x10EAD, 0x10F46, 0x10F51, 0x11001, @@ -288729,6 +311636,8 @@ static const UV UNI_JT__T_invlist[] = { /* for ASCII/Latin1 */ 0x111BF, 0x111C9, 0x111CD, + 0x111CF, + 0x111D0, 0x1122F, 0x11232, 0x11234, @@ -288799,6 +311708,12 @@ static const UV UNI_JT__T_invlist[] = { /* for ASCII/Latin1 */ 0x11838, 0x11839, 0x1183B, + 0x1193B, + 0x1193D, + 0x1193E, + 0x1193F, + 0x11943, + 0x11944, 0x119D4, 0x119D8, 0x119DA, @@ -288863,6 +311778,8 @@ static const UV UNI_JT__T_invlist[] = { /* for ASCII/Latin1 */ 0x16F50, 0x16F8F, 0x16F93, + 0x16FE4, + 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1BCA0, @@ -288923,7 +311840,7 @@ static const UV UNI_JT__T_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_JT__T_invlist[] = { /* for EBCDIC 1047 */ - 661, /* Number of elements */ + 677, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -289050,7 +311967,7 @@ static const UV UNI_JT__T_invlist[] = { /* for EBCDIC 1047 */ 0xB45, 0xB4D, 0xB4E, - 0xB56, + 0xB55, 0xB57, 0xB62, 0xB64, @@ -289096,6 +312013,8 @@ static const UV UNI_JT__T_invlist[] = { /* for EBCDIC 1047 */ 0xD4E, 0xD62, 0xD64, + 0xD81, + 0xD82, 0xDCA, 0xDCB, 0xDD2, @@ -289209,7 +312128,7 @@ static const UV UNI_JT__T_invlist[] = { /* for EBCDIC 1047 */ 0x1A7F, 0x1A80, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B04, 0x1B34, @@ -289296,6 +312215,8 @@ static const UV UNI_JT__T_invlist[] = { /* for EBCDIC 1047 */ 0xA80C, 0xA825, 0xA827, + 0xA82C, + 0xA82D, 0xA8C4, 0xA8C6, 0xA8E0, @@ -289378,6 +312299,8 @@ static const UV UNI_JT__T_invlist[] = { /* for EBCDIC 1047 */ 0x10AE7, 0x10D24, 0x10D28, + 0x10EAB, + 0x10EAD, 0x10F46, 0x10F51, 0x11001, @@ -289404,6 +312327,8 @@ static const UV UNI_JT__T_invlist[] = { /* for EBCDIC 1047 */ 0x111BF, 0x111C9, 0x111CD, + 0x111CF, + 0x111D0, 0x1122F, 0x11232, 0x11234, @@ -289474,6 +312399,12 @@ static const UV UNI_JT__T_invlist[] = { /* for EBCDIC 1047 */ 0x11838, 0x11839, 0x1183B, + 0x1193B, + 0x1193D, + 0x1193E, + 0x1193F, + 0x11943, + 0x11944, 0x119D4, 0x119D8, 0x119DA, @@ -289538,6 +312469,8 @@ static const UV UNI_JT__T_invlist[] = { /* for EBCDIC 1047 */ 0x16F50, 0x16F8F, 0x16F93, + 0x16FE4, + 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1BCA0, @@ -289598,7 +312531,7 @@ static const UV UNI_JT__T_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_JT__T_invlist[] = { /* for EBCDIC 037 */ - 661, /* Number of elements */ + 677, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -289725,7 +312658,7 @@ static const UV UNI_JT__T_invlist[] = { /* for EBCDIC 037 */ 0xB45, 0xB4D, 0xB4E, - 0xB56, + 0xB55, 0xB57, 0xB62, 0xB64, @@ -289771,6 +312704,8 @@ static const UV UNI_JT__T_invlist[] = { /* for EBCDIC 037 */ 0xD4E, 0xD62, 0xD64, + 0xD81, + 0xD82, 0xDCA, 0xDCB, 0xDD2, @@ -289884,7 +312819,7 @@ static const UV UNI_JT__T_invlist[] = { /* for EBCDIC 037 */ 0x1A7F, 0x1A80, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B04, 0x1B34, @@ -289971,6 +312906,8 @@ static const UV UNI_JT__T_invlist[] = { /* for EBCDIC 037 */ 0xA80C, 0xA825, 0xA827, + 0xA82C, + 0xA82D, 0xA8C4, 0xA8C6, 0xA8E0, @@ -290053,6 +312990,8 @@ static const UV UNI_JT__T_invlist[] = { /* for EBCDIC 037 */ 0x10AE7, 0x10D24, 0x10D28, + 0x10EAB, + 0x10EAD, 0x10F46, 0x10F51, 0x11001, @@ -290079,6 +313018,8 @@ static const UV UNI_JT__T_invlist[] = { /* for EBCDIC 037 */ 0x111BF, 0x111C9, 0x111CD, + 0x111CF, + 0x111D0, 0x1122F, 0x11232, 0x11234, @@ -290149,6 +313090,12 @@ static const UV UNI_JT__T_invlist[] = { /* for EBCDIC 037 */ 0x11838, 0x11839, 0x1183B, + 0x1193B, + 0x1193D, + 0x1193E, + 0x1193F, + 0x11943, + 0x11944, 0x119D4, 0x119D8, 0x119DA, @@ -290213,6 +313160,8 @@ static const UV UNI_JT__T_invlist[] = { /* for EBCDIC 037 */ 0x16F50, 0x16F8F, 0x16F93, + 0x16FE4, + 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1BCA0, @@ -290270,7 +313219,7 @@ static const UV UNI_JT__T_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_JT__U_invlist[] = { /* for ASCII/Latin1 */ - 703, /* Number of elements */ + 727, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -290336,8 +313285,6 @@ static const UV UNI_JT__U_invlist[] = { /* for ASCII/Latin1 */ 0x829, 0x82E, 0x840, - 0x856, - 0x859, 0x85C, 0x860, 0x861, @@ -290350,7 +313297,7 @@ static const UV UNI_JT__U_invlist[] = { /* for ASCII/Latin1 */ 0x8AE, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -290419,7 +313366,7 @@ static const UV UNI_JT__U_invlist[] = { /* for ASCII/Latin1 */ 0xB45, 0xB4D, 0xB4E, - 0xB56, + 0xB55, 0xB57, 0xB62, 0xB64, @@ -290465,6 +313412,8 @@ static const UV UNI_JT__U_invlist[] = { /* for ASCII/Latin1 */ 0xD4E, 0xD62, 0xD64, + 0xD81, + 0xD82, 0xDCA, 0xDCB, 0xDD2, @@ -290580,7 +313529,7 @@ static const UV UNI_JT__U_invlist[] = { /* for ASCII/Latin1 */ 0x1A7F, 0x1A80, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B04, 0x1B34, @@ -290667,6 +313616,8 @@ static const UV UNI_JT__U_invlist[] = { /* for ASCII/Latin1 */ 0xA80C, 0xA825, 0xA827, + 0xA82C, + 0xA82D, 0xA840, 0xA873, 0xA8C4, @@ -290765,10 +313716,22 @@ static const UV UNI_JT__U_invlist[] = { /* for ASCII/Latin1 */ 0x10BAF, 0x10D00, 0x10D28, + 0x10EAB, + 0x10EAD, 0x10F30, 0x10F45, 0x10F46, 0x10F55, + 0x10FB0, + 0x10FB1, + 0x10FB2, + 0x10FB7, + 0x10FB8, + 0x10FC0, + 0x10FC1, + 0x10FC5, + 0x10FC9, + 0x10FCC, 0x11001, 0x11002, 0x11038, @@ -290793,6 +313756,8 @@ static const UV UNI_JT__U_invlist[] = { /* for ASCII/Latin1 */ 0x111BF, 0x111C9, 0x111CD, + 0x111CF, + 0x111D0, 0x1122F, 0x11232, 0x11234, @@ -290863,6 +313828,12 @@ static const UV UNI_JT__U_invlist[] = { /* for ASCII/Latin1 */ 0x11838, 0x11839, 0x1183B, + 0x1193B, + 0x1193D, + 0x1193E, + 0x1193F, + 0x11943, + 0x11944, 0x119D4, 0x119D8, 0x119DA, @@ -290927,6 +313898,8 @@ static const UV UNI_JT__U_invlist[] = { /* for ASCII/Latin1 */ 0x16F50, 0x16F8F, 0x16F93, + 0x16FE4, + 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1BCA0, @@ -290987,7 +313960,7 @@ static const UV UNI_JT__U_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_JT__U_invlist[] = { /* for EBCDIC 1047 */ - 703, /* Number of elements */ + 727, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -291053,8 +314026,6 @@ static const UV UNI_JT__U_invlist[] = { /* for EBCDIC 1047 */ 0x829, 0x82E, 0x840, - 0x856, - 0x859, 0x85C, 0x860, 0x861, @@ -291067,7 +314038,7 @@ static const UV UNI_JT__U_invlist[] = { /* for EBCDIC 1047 */ 0x8AE, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -291136,7 +314107,7 @@ static const UV UNI_JT__U_invlist[] = { /* for EBCDIC 1047 */ 0xB45, 0xB4D, 0xB4E, - 0xB56, + 0xB55, 0xB57, 0xB62, 0xB64, @@ -291182,6 +314153,8 @@ static const UV UNI_JT__U_invlist[] = { /* for EBCDIC 1047 */ 0xD4E, 0xD62, 0xD64, + 0xD81, + 0xD82, 0xDCA, 0xDCB, 0xDD2, @@ -291297,7 +314270,7 @@ static const UV UNI_JT__U_invlist[] = { /* for EBCDIC 1047 */ 0x1A7F, 0x1A80, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B04, 0x1B34, @@ -291384,6 +314357,8 @@ static const UV UNI_JT__U_invlist[] = { /* for EBCDIC 1047 */ 0xA80C, 0xA825, 0xA827, + 0xA82C, + 0xA82D, 0xA840, 0xA873, 0xA8C4, @@ -291482,10 +314457,22 @@ static const UV UNI_JT__U_invlist[] = { /* for EBCDIC 1047 */ 0x10BAF, 0x10D00, 0x10D28, + 0x10EAB, + 0x10EAD, 0x10F30, 0x10F45, 0x10F46, 0x10F55, + 0x10FB0, + 0x10FB1, + 0x10FB2, + 0x10FB7, + 0x10FB8, + 0x10FC0, + 0x10FC1, + 0x10FC5, + 0x10FC9, + 0x10FCC, 0x11001, 0x11002, 0x11038, @@ -291510,6 +314497,8 @@ static const UV UNI_JT__U_invlist[] = { /* for EBCDIC 1047 */ 0x111BF, 0x111C9, 0x111CD, + 0x111CF, + 0x111D0, 0x1122F, 0x11232, 0x11234, @@ -291580,6 +314569,12 @@ static const UV UNI_JT__U_invlist[] = { /* for EBCDIC 1047 */ 0x11838, 0x11839, 0x1183B, + 0x1193B, + 0x1193D, + 0x1193E, + 0x1193F, + 0x11943, + 0x11944, 0x119D4, 0x119D8, 0x119DA, @@ -291644,6 +314639,8 @@ static const UV UNI_JT__U_invlist[] = { /* for EBCDIC 1047 */ 0x16F50, 0x16F8F, 0x16F93, + 0x16FE4, + 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1BCA0, @@ -291704,7 +314701,7 @@ static const UV UNI_JT__U_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_JT__U_invlist[] = { /* for EBCDIC 037 */ - 703, /* Number of elements */ + 727, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -291770,8 +314767,6 @@ static const UV UNI_JT__U_invlist[] = { /* for EBCDIC 037 */ 0x829, 0x82E, 0x840, - 0x856, - 0x859, 0x85C, 0x860, 0x861, @@ -291784,7 +314779,7 @@ static const UV UNI_JT__U_invlist[] = { /* for EBCDIC 037 */ 0x8AE, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -291853,7 +314848,7 @@ static const UV UNI_JT__U_invlist[] = { /* for EBCDIC 037 */ 0xB45, 0xB4D, 0xB4E, - 0xB56, + 0xB55, 0xB57, 0xB62, 0xB64, @@ -291899,6 +314894,8 @@ static const UV UNI_JT__U_invlist[] = { /* for EBCDIC 037 */ 0xD4E, 0xD62, 0xD64, + 0xD81, + 0xD82, 0xDCA, 0xDCB, 0xDD2, @@ -292014,7 +315011,7 @@ static const UV UNI_JT__U_invlist[] = { /* for EBCDIC 037 */ 0x1A7F, 0x1A80, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B04, 0x1B34, @@ -292101,6 +315098,8 @@ static const UV UNI_JT__U_invlist[] = { /* for EBCDIC 037 */ 0xA80C, 0xA825, 0xA827, + 0xA82C, + 0xA82D, 0xA840, 0xA873, 0xA8C4, @@ -292199,10 +315198,22 @@ static const UV UNI_JT__U_invlist[] = { /* for EBCDIC 037 */ 0x10BAF, 0x10D00, 0x10D28, + 0x10EAB, + 0x10EAD, 0x10F30, 0x10F45, 0x10F46, 0x10F55, + 0x10FB0, + 0x10FB1, + 0x10FB2, + 0x10FB7, + 0x10FB8, + 0x10FC0, + 0x10FC1, + 0x10FC5, + 0x10FC9, + 0x10FCC, 0x11001, 0x11002, 0x11038, @@ -292227,6 +315238,8 @@ static const UV UNI_JT__U_invlist[] = { /* for EBCDIC 037 */ 0x111BF, 0x111C9, 0x111CD, + 0x111CF, + 0x111D0, 0x1122F, 0x11232, 0x11234, @@ -292297,6 +315310,12 @@ static const UV UNI_JT__U_invlist[] = { /* for EBCDIC 037 */ 0x11838, 0x11839, 0x1183B, + 0x1193B, + 0x1193D, + 0x1193E, + 0x1193F, + 0x11943, + 0x11944, 0x119D4, 0x119D8, 0x119DA, @@ -292361,6 +315380,8 @@ static const UV UNI_JT__U_invlist[] = { /* for EBCDIC 037 */ 0x16F50, 0x16F8F, 0x16F93, + 0x16FE4, + 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1BCA0, @@ -292579,6 +315600,18 @@ static const UV UNI_KHOJ_invlist[] = { /* for all charsets */ 0x1123F }; +static const UV UNI_KITS_invlist[] = { /* for all charsets */ + 5, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x16FE4, + 0x16FE5, + 0x18B00, + 0x18CD6 +}; + static const UV UNI_KNDA_invlist[] = { /* for all charsets */ 43, /* Number of elements */ 148565664, /* Version and data structure type */ @@ -292648,7 +315681,7 @@ static const UV UNI_KTHI_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_L_invlist[] = { /* for ASCII/Latin1 */ - 1219, /* Number of elements */ + 1245, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -292754,7 +315787,7 @@ static const UV UNI_L_invlist[] = { /* for ASCII/Latin1 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x904, 0x93A, 0x93D, @@ -292905,7 +315938,7 @@ static const UV UNI_L_invlist[] = { /* for ASCII/Latin1 */ 0xCE2, 0xCF1, 0xCF3, - 0xD05, + 0xD04, 0xD0D, 0xD0E, 0xD11, @@ -293248,13 +316281,13 @@ static const UV UNI_L_invlist[] = { /* for ASCII/Latin1 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -293278,8 +316311,8 @@ static const UV UNI_L_invlist[] = { /* for ASCII/Latin1 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA802, 0xA803, 0xA806, @@ -293354,7 +316387,7 @@ static const UV UNI_L_invlist[] = { /* for ASCII/Latin1 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABE3, 0xAC00, @@ -293521,12 +316554,18 @@ static const UV UNI_L_invlist[] = { /* for ASCII/Latin1 */ 0x10CF3, 0x10D00, 0x10D24, + 0x10E80, + 0x10EAA, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, @@ -293539,6 +316578,8 @@ static const UV UNI_L_invlist[] = { /* for ASCII/Latin1 */ 0x11127, 0x11144, 0x11145, + 0x11147, + 0x11148, 0x11150, 0x11173, 0x11176, @@ -293590,7 +316631,7 @@ static const UV UNI_L_invlist[] = { /* for ASCII/Latin1 */ 0x11447, 0x1144B, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -293616,7 +316657,19 @@ static const UV UNI_L_invlist[] = { /* for ASCII/Latin1 */ 0x118A0, 0x118E0, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, 0x119A0, 0x119A8, 0x119AA, @@ -293665,6 +316718,8 @@ static const UV UNI_L_invlist[] = { /* for ASCII/Latin1 */ 0x11D99, 0x11EE0, 0x11EF3, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12480, @@ -293702,7 +316757,9 @@ static const UV UNI_L_invlist[] = { /* for ASCII/Latin1 */ 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -293860,7 +316917,7 @@ static const UV UNI_L_invlist[] = { /* for ASCII/Latin1 */ 0x1EEAB, 0x1EEBC, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -293870,7 +316927,9 @@ static const UV UNI_L_invlist[] = { /* for ASCII/Latin1 */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; # endif /* ASCII/Latin1 */ @@ -293881,7 +316940,7 @@ static const UV UNI_L_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_L_invlist[] = { /* for EBCDIC 1047 */ - 1245, /* Number of elements */ + 1271, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -294013,7 +317072,7 @@ static const UV UNI_L_invlist[] = { /* for EBCDIC 1047 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x904, 0x93A, 0x93D, @@ -294164,7 +317223,7 @@ static const UV UNI_L_invlist[] = { /* for EBCDIC 1047 */ 0xCE2, 0xCF1, 0xCF3, - 0xD05, + 0xD04, 0xD0D, 0xD0E, 0xD11, @@ -294507,13 +317566,13 @@ static const UV UNI_L_invlist[] = { /* for EBCDIC 1047 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -294537,8 +317596,8 @@ static const UV UNI_L_invlist[] = { /* for EBCDIC 1047 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA802, 0xA803, 0xA806, @@ -294613,7 +317672,7 @@ static const UV UNI_L_invlist[] = { /* for EBCDIC 1047 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABE3, 0xAC00, @@ -294780,12 +317839,18 @@ static const UV UNI_L_invlist[] = { /* for EBCDIC 1047 */ 0x10CF3, 0x10D00, 0x10D24, + 0x10E80, + 0x10EAA, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, @@ -294798,6 +317863,8 @@ static const UV UNI_L_invlist[] = { /* for EBCDIC 1047 */ 0x11127, 0x11144, 0x11145, + 0x11147, + 0x11148, 0x11150, 0x11173, 0x11176, @@ -294849,7 +317916,7 @@ static const UV UNI_L_invlist[] = { /* for EBCDIC 1047 */ 0x11447, 0x1144B, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -294875,7 +317942,19 @@ static const UV UNI_L_invlist[] = { /* for EBCDIC 1047 */ 0x118A0, 0x118E0, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, 0x119A0, 0x119A8, 0x119AA, @@ -294924,6 +318003,8 @@ static const UV UNI_L_invlist[] = { /* for EBCDIC 1047 */ 0x11D99, 0x11EE0, 0x11EF3, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12480, @@ -294961,7 +318042,9 @@ static const UV UNI_L_invlist[] = { /* for EBCDIC 1047 */ 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -295119,7 +318202,7 @@ static const UV UNI_L_invlist[] = { /* for EBCDIC 1047 */ 0x1EEAB, 0x1EEBC, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -295129,7 +318212,9 @@ static const UV UNI_L_invlist[] = { /* for EBCDIC 1047 */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; # endif /* EBCDIC 1047 */ @@ -295140,7 +318225,7 @@ static const UV UNI_L_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_L_invlist[] = { /* for EBCDIC 037 */ - 1241, /* Number of elements */ + 1267, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -295268,7 +318353,7 @@ static const UV UNI_L_invlist[] = { /* for EBCDIC 037 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x904, 0x93A, 0x93D, @@ -295419,7 +318504,7 @@ static const UV UNI_L_invlist[] = { /* for EBCDIC 037 */ 0xCE2, 0xCF1, 0xCF3, - 0xD05, + 0xD04, 0xD0D, 0xD0E, 0xD11, @@ -295762,13 +318847,13 @@ static const UV UNI_L_invlist[] = { /* for EBCDIC 037 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -295792,8 +318877,8 @@ static const UV UNI_L_invlist[] = { /* for EBCDIC 037 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA802, 0xA803, 0xA806, @@ -295868,7 +318953,7 @@ static const UV UNI_L_invlist[] = { /* for EBCDIC 037 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABE3, 0xAC00, @@ -296035,12 +319120,18 @@ static const UV UNI_L_invlist[] = { /* for EBCDIC 037 */ 0x10CF3, 0x10D00, 0x10D24, + 0x10E80, + 0x10EAA, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, @@ -296053,6 +319144,8 @@ static const UV UNI_L_invlist[] = { /* for EBCDIC 037 */ 0x11127, 0x11144, 0x11145, + 0x11147, + 0x11148, 0x11150, 0x11173, 0x11176, @@ -296104,7 +319197,7 @@ static const UV UNI_L_invlist[] = { /* for EBCDIC 037 */ 0x11447, 0x1144B, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -296130,7 +319223,19 @@ static const UV UNI_L_invlist[] = { /* for EBCDIC 037 */ 0x118A0, 0x118E0, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, 0x119A0, 0x119A8, 0x119AA, @@ -296179,6 +319284,8 @@ static const UV UNI_L_invlist[] = { /* for EBCDIC 037 */ 0x11D99, 0x11EE0, 0x11EF3, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12480, @@ -296216,7 +319323,9 @@ static const UV UNI_L_invlist[] = { /* for EBCDIC 037 */ 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -296374,7 +319483,7 @@ static const UV UNI_L_invlist[] = { /* for EBCDIC 037 */ 0x1EEAB, 0x1EEBC, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -296384,7 +319493,9 @@ static const UV UNI_L_invlist[] = { /* for EBCDIC 037 */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; # endif /* EBCDIC 037 */ @@ -296654,7 +319765,7 @@ static const UV UNI_LATINEXTE_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LATN_invlist[] = { /* for ASCII/Latin1 */ - 79, /* Number of elements */ + 81, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -296715,13 +319826,15 @@ static const UV UNI_LATN_invlist[] = { /* for ASCII/Latin1 */ 0x2189, 0x2C60, 0x2C80, + 0xA700, + 0xA708, 0xA722, 0xA788, 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA800, 0xA92E, 0xA92F, @@ -296730,7 +319843,7 @@ static const UV UNI_LATN_invlist[] = { /* for ASCII/Latin1 */ 0xAB5C, 0xAB65, 0xAB66, - 0xAB68, + 0xAB6A, 0xFB00, 0xFB07, 0xFF21, @@ -296747,7 +319860,7 @@ static const UV UNI_LATN_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LATN_invlist[] = { /* for EBCDIC 1047 */ - 105, /* Number of elements */ + 107, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -296834,13 +319947,15 @@ static const UV UNI_LATN_invlist[] = { /* for EBCDIC 1047 */ 0x2189, 0x2C60, 0x2C80, + 0xA700, + 0xA708, 0xA722, 0xA788, 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA800, 0xA92E, 0xA92F, @@ -296849,7 +319964,7 @@ static const UV UNI_LATN_invlist[] = { /* for EBCDIC 1047 */ 0xAB5C, 0xAB65, 0xAB66, - 0xAB68, + 0xAB6A, 0xFB00, 0xFB07, 0xFF21, @@ -296866,7 +319981,7 @@ static const UV UNI_LATN_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LATN_invlist[] = { /* for EBCDIC 037 */ - 101, /* Number of elements */ + 103, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -296949,13 +320064,15 @@ static const UV UNI_LATN_invlist[] = { /* for EBCDIC 037 */ 0x2189, 0x2C60, 0x2C80, + 0xA700, + 0xA708, 0xA722, 0xA788, 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA800, 0xA92E, 0xA92F, @@ -296964,7 +320081,7 @@ static const UV UNI_LATN_invlist[] = { /* for EBCDIC 037 */ 0xAB5C, 0xAB65, 0xAB66, - 0xAB68, + 0xAB6A, 0xFB00, 0xFB07, 0xFF21, @@ -297686,7 +320803,7 @@ static const UV UNI_LB__AI_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__AL_invlist[] = { /* for ASCII/Latin1 */ - 1511, /* Number of elements */ + 1541, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -297814,7 +320931,7 @@ static const UV UNI_LB__AL_invlist[] = { /* for ASCII/Latin1 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8E2, 0x8E3, 0x904, @@ -297979,7 +321096,7 @@ static const UV UNI_LB__AL_invlist[] = { /* for ASCII/Latin1 */ 0xCE2, 0xCF1, 0xCF3, - 0xD05, + 0xD04, 0xD0D, 0xD0E, 0xD11, @@ -298441,7 +321558,7 @@ static const UV UNI_LB__AL_invlist[] = { /* for ASCII/Latin1 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, @@ -298497,6 +321614,8 @@ static const UV UNI_LB__AL_invlist[] = { /* for ASCII/Latin1 */ 0x2E4C, 0x2E4D, 0x2E4E, + 0x2E50, + 0x2E53, 0x4DC0, 0x4E00, 0xA4D0, @@ -298520,8 +321639,8 @@ static const UV UNI_LB__AL_invlist[] = { /* for ASCII/Latin1 */ 0xA700, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA802, 0xA803, 0xA806, @@ -298582,7 +321701,7 @@ static const UV UNI_LB__AL_invlist[] = { /* for ASCII/Latin1 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6C, 0xAB70, 0xABE3, 0xFB00, @@ -298628,7 +321747,7 @@ static const UV UNI_LB__AL_invlist[] = { /* for ASCII/Latin1 */ 0x10137, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -298741,12 +321860,18 @@ static const UV UNI_LB__AL_invlist[] = { /* for ASCII/Latin1 */ 0x10D24, 0x10E60, 0x10E7F, + 0x10E80, + 0x10EAA, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F46, 0x10F51, 0x10F5A, + 0x10FB0, + 0x10FCC, 0x10FE0, 0x10FF7, 0x11003, @@ -298767,6 +321892,8 @@ static const UV UNI_LB__AL_invlist[] = { /* for ASCII/Latin1 */ 0x11127, 0x11144, 0x11145, + 0x11147, + 0x11148, 0x11150, 0x11173, 0x11174, @@ -298834,7 +321961,7 @@ static const UV UNI_LB__AL_invlist[] = { /* for ASCII/Latin1 */ 0x1145D, 0x1145E, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -298862,7 +321989,19 @@ static const UV UNI_LB__AL_invlist[] = { /* for ASCII/Latin1 */ 0x118EA, 0x118F3, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, 0x119A0, 0x119A8, 0x119AA, @@ -298919,6 +322058,8 @@ static const UV UNI_LB__AL_invlist[] = { /* for ASCII/Latin1 */ 0x11EF3, 0x11EF7, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x11FC0, 0x11FDD, 0x11FE1, @@ -298971,6 +322112,8 @@ static const UV UNI_LB__AL_invlist[] = { /* for ASCII/Latin1 */ 0x16F51, 0x16F93, 0x16FA0, + 0x18B00, + 0x18CD6, 0x1BC00, 0x1BC6B, 0x1BC70, @@ -299200,7 +322343,11 @@ static const UV UNI_LB__AL_invlist[] = { /* for ASCII/Latin1 */ 0x1F900, 0x1F90C, 0x1FA00, - 0x1FA54 + 0x1FA54, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB }; # endif /* ASCII/Latin1 */ @@ -299211,7 +322358,7 @@ static const UV UNI_LB__AL_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 1047 */ - 1539, /* Number of elements */ + 1569, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -299367,7 +322514,7 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 1047 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8E2, 0x8E3, 0x904, @@ -299532,7 +322679,7 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 1047 */ 0xCE2, 0xCF1, 0xCF3, - 0xD05, + 0xD04, 0xD0D, 0xD0E, 0xD11, @@ -299994,7 +323141,7 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 1047 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, @@ -300050,6 +323197,8 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 1047 */ 0x2E4C, 0x2E4D, 0x2E4E, + 0x2E50, + 0x2E53, 0x4DC0, 0x4E00, 0xA4D0, @@ -300073,8 +323222,8 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 1047 */ 0xA700, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA802, 0xA803, 0xA806, @@ -300135,7 +323284,7 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 1047 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6C, 0xAB70, 0xABE3, 0xFB00, @@ -300181,7 +323330,7 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 1047 */ 0x10137, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -300294,12 +323443,18 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 1047 */ 0x10D24, 0x10E60, 0x10E7F, + 0x10E80, + 0x10EAA, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F46, 0x10F51, 0x10F5A, + 0x10FB0, + 0x10FCC, 0x10FE0, 0x10FF7, 0x11003, @@ -300320,6 +323475,8 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 1047 */ 0x11127, 0x11144, 0x11145, + 0x11147, + 0x11148, 0x11150, 0x11173, 0x11174, @@ -300387,7 +323544,7 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 1047 */ 0x1145D, 0x1145E, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -300415,7 +323572,19 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 1047 */ 0x118EA, 0x118F3, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, 0x119A0, 0x119A8, 0x119AA, @@ -300472,6 +323641,8 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 1047 */ 0x11EF3, 0x11EF7, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x11FC0, 0x11FDD, 0x11FE1, @@ -300524,6 +323695,8 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 1047 */ 0x16F51, 0x16F93, 0x16FA0, + 0x18B00, + 0x18CD6, 0x1BC00, 0x1BC6B, 0x1BC70, @@ -300753,7 +323926,11 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 1047 */ 0x1F900, 0x1F90C, 0x1FA00, - 0x1FA54 + 0x1FA54, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB }; # endif /* EBCDIC 1047 */ @@ -300764,7 +323941,7 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 037 */ - 1535, /* Number of elements */ + 1565, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -300916,7 +324093,7 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 037 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8E2, 0x8E3, 0x904, @@ -301081,7 +324258,7 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 037 */ 0xCE2, 0xCF1, 0xCF3, - 0xD05, + 0xD04, 0xD0D, 0xD0E, 0xD11, @@ -301543,7 +324720,7 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 037 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, @@ -301599,6 +324776,8 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 037 */ 0x2E4C, 0x2E4D, 0x2E4E, + 0x2E50, + 0x2E53, 0x4DC0, 0x4E00, 0xA4D0, @@ -301622,8 +324801,8 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 037 */ 0xA700, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA802, 0xA803, 0xA806, @@ -301684,7 +324863,7 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 037 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6C, 0xAB70, 0xABE3, 0xFB00, @@ -301730,7 +324909,7 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 037 */ 0x10137, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -301843,12 +325022,18 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 037 */ 0x10D24, 0x10E60, 0x10E7F, + 0x10E80, + 0x10EAA, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F46, 0x10F51, 0x10F5A, + 0x10FB0, + 0x10FCC, 0x10FE0, 0x10FF7, 0x11003, @@ -301869,6 +325054,8 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 037 */ 0x11127, 0x11144, 0x11145, + 0x11147, + 0x11148, 0x11150, 0x11173, 0x11174, @@ -301936,7 +325123,7 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 037 */ 0x1145D, 0x1145E, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -301964,7 +325151,19 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 037 */ 0x118EA, 0x118F3, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, 0x119A0, 0x119A8, 0x119AA, @@ -302021,6 +325220,8 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 037 */ 0x11EF3, 0x11EF7, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x11FC0, 0x11FDD, 0x11FE1, @@ -302073,6 +325274,8 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 037 */ 0x16F51, 0x16F93, 0x16FA0, + 0x18B00, + 0x18CD6, 0x1BC00, 0x1BC6B, 0x1BC70, @@ -302302,7 +325505,11 @@ static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 037 */ 0x1F900, 0x1F90C, 0x1FA00, - 0x1FA54 + 0x1FA54, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB }; # endif /* EBCDIC 037 */ @@ -302322,7 +325529,7 @@ static const UV UNI_LB__B2_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__BA_invlist[] = { /* for ASCII/Latin1 */ - 193, /* Number of elements */ + 197, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -302463,6 +325670,8 @@ static const UV UNI_LB__BA_invlist[] = { /* for ASCII/Latin1 */ 0x10AF6, 0x10B39, 0x10B40, + 0x10EAD, + 0x10EAE, 0x11047, 0x11049, 0x110BE, @@ -302483,7 +325692,7 @@ static const UV UNI_LB__BA_invlist[] = { /* for ASCII/Latin1 */ 0x112AA, 0x1144B, 0x1144F, - 0x1145B, + 0x1145A, 0x1145C, 0x115C2, 0x115C4, @@ -302493,6 +325702,8 @@ static const UV UNI_LB__BA_invlist[] = { /* for ASCII/Latin1 */ 0x11643, 0x1173C, 0x1173F, + 0x11944, + 0x11947, 0x11A41, 0x11A45, 0x11A9A, @@ -302529,7 +325740,7 @@ static const UV UNI_LB__BA_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LB__BA_invlist[] = { /* for EBCDIC 1047 */ - 193, /* Number of elements */ + 197, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -302670,6 +325881,8 @@ static const UV UNI_LB__BA_invlist[] = { /* for EBCDIC 1047 */ 0x10AF6, 0x10B39, 0x10B40, + 0x10EAD, + 0x10EAE, 0x11047, 0x11049, 0x110BE, @@ -302690,7 +325903,7 @@ static const UV UNI_LB__BA_invlist[] = { /* for EBCDIC 1047 */ 0x112AA, 0x1144B, 0x1144F, - 0x1145B, + 0x1145A, 0x1145C, 0x115C2, 0x115C4, @@ -302700,6 +325913,8 @@ static const UV UNI_LB__BA_invlist[] = { /* for EBCDIC 1047 */ 0x11643, 0x1173C, 0x1173F, + 0x11944, + 0x11947, 0x11A41, 0x11A45, 0x11A9A, @@ -302736,7 +325951,7 @@ static const UV UNI_LB__BA_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LB__BA_invlist[] = { /* for EBCDIC 037 */ - 193, /* Number of elements */ + 197, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -302877,6 +326092,8 @@ static const UV UNI_LB__BA_invlist[] = { /* for EBCDIC 037 */ 0x10AF6, 0x10B39, 0x10B40, + 0x10EAD, + 0x10EAE, 0x11047, 0x11049, 0x110BE, @@ -302897,7 +326114,7 @@ static const UV UNI_LB__BA_invlist[] = { /* for EBCDIC 037 */ 0x112AA, 0x1144B, 0x1144F, - 0x1145B, + 0x1145A, 0x1145C, 0x115C2, 0x115C4, @@ -302907,6 +326124,8 @@ static const UV UNI_LB__BA_invlist[] = { /* for EBCDIC 037 */ 0x11643, 0x1173C, 0x1173F, + 0x11944, + 0x11947, 0x11A41, 0x11A45, 0x11A9A, @@ -303792,7 +327011,7 @@ static const UV UNI_LB__CL_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__CM_invlist[] = { /* for ASCII/Latin1 */ - 538, /* Number of elements */ + 556, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -303926,7 +327145,7 @@ static const UV UNI_LB__CM_invlist[] = { /* for ASCII/Latin1 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB62, 0xB64, @@ -303980,7 +327199,7 @@ static const UV UNI_LB__CM_invlist[] = { /* for ASCII/Latin1 */ 0xD58, 0xD62, 0xD64, - 0xD82, + 0xD81, 0xD84, 0xDCA, 0xDCB, @@ -304039,7 +327258,7 @@ static const UV UNI_LB__CM_invlist[] = { /* for ASCII/Latin1 */ 0x1A7F, 0x1A80, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B05, 0x1B34, @@ -304106,6 +327325,8 @@ static const UV UNI_LB__CM_invlist[] = { /* for ASCII/Latin1 */ 0xA80C, 0xA823, 0xA828, + 0xA82C, + 0xA82D, 0xA880, 0xA882, 0xA8B4, @@ -304164,6 +327385,8 @@ static const UV UNI_LB__CM_invlist[] = { /* for ASCII/Latin1 */ 0x10AE7, 0x10D24, 0x10D28, + 0x10EAB, + 0x10EAD, 0x10F46, 0x10F51, 0x11000, @@ -304188,6 +327411,8 @@ static const UV UNI_LB__CM_invlist[] = { /* for ASCII/Latin1 */ 0x111C1, 0x111C9, 0x111CD, + 0x111CE, + 0x111D0, 0x1122C, 0x11238, 0x1123E, @@ -304230,6 +327455,16 @@ static const UV UNI_LB__CM_invlist[] = { /* for ASCII/Latin1 */ 0x116B8, 0x1182C, 0x1183B, + 0x11930, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, + 0x11944, 0x119D1, 0x119D8, 0x119DA, @@ -304284,6 +327519,8 @@ static const UV UNI_LB__CM_invlist[] = { /* for ASCII/Latin1 */ 0x16F88, 0x16F8F, 0x16F93, + 0x16FF0, + 0x16FF2, 0x1BC9D, 0x1BC9F, 0x1BCA0, @@ -304344,7 +327581,7 @@ static const UV UNI_LB__CM_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LB__CM_invlist[] = { /* for EBCDIC 1047 */ - 542, /* Number of elements */ + 560, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -304482,7 +327719,7 @@ static const UV UNI_LB__CM_invlist[] = { /* for EBCDIC 1047 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB62, 0xB64, @@ -304536,7 +327773,7 @@ static const UV UNI_LB__CM_invlist[] = { /* for EBCDIC 1047 */ 0xD58, 0xD62, 0xD64, - 0xD82, + 0xD81, 0xD84, 0xDCA, 0xDCB, @@ -304595,7 +327832,7 @@ static const UV UNI_LB__CM_invlist[] = { /* for EBCDIC 1047 */ 0x1A7F, 0x1A80, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B05, 0x1B34, @@ -304662,6 +327899,8 @@ static const UV UNI_LB__CM_invlist[] = { /* for EBCDIC 1047 */ 0xA80C, 0xA823, 0xA828, + 0xA82C, + 0xA82D, 0xA880, 0xA882, 0xA8B4, @@ -304720,6 +327959,8 @@ static const UV UNI_LB__CM_invlist[] = { /* for EBCDIC 1047 */ 0x10AE7, 0x10D24, 0x10D28, + 0x10EAB, + 0x10EAD, 0x10F46, 0x10F51, 0x11000, @@ -304744,6 +327985,8 @@ static const UV UNI_LB__CM_invlist[] = { /* for EBCDIC 1047 */ 0x111C1, 0x111C9, 0x111CD, + 0x111CE, + 0x111D0, 0x1122C, 0x11238, 0x1123E, @@ -304786,6 +328029,16 @@ static const UV UNI_LB__CM_invlist[] = { /* for EBCDIC 1047 */ 0x116B8, 0x1182C, 0x1183B, + 0x11930, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, + 0x11944, 0x119D1, 0x119D8, 0x119DA, @@ -304840,6 +328093,8 @@ static const UV UNI_LB__CM_invlist[] = { /* for EBCDIC 1047 */ 0x16F88, 0x16F8F, 0x16F93, + 0x16FF0, + 0x16FF2, 0x1BC9D, 0x1BC9F, 0x1BCA0, @@ -304900,7 +328155,7 @@ static const UV UNI_LB__CM_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LB__CM_invlist[] = { /* for EBCDIC 037 */ - 542, /* Number of elements */ + 560, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -305038,7 +328293,7 @@ static const UV UNI_LB__CM_invlist[] = { /* for EBCDIC 037 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB62, 0xB64, @@ -305092,7 +328347,7 @@ static const UV UNI_LB__CM_invlist[] = { /* for EBCDIC 037 */ 0xD58, 0xD62, 0xD64, - 0xD82, + 0xD81, 0xD84, 0xDCA, 0xDCB, @@ -305151,7 +328406,7 @@ static const UV UNI_LB__CM_invlist[] = { /* for EBCDIC 037 */ 0x1A7F, 0x1A80, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B05, 0x1B34, @@ -305218,6 +328473,8 @@ static const UV UNI_LB__CM_invlist[] = { /* for EBCDIC 037 */ 0xA80C, 0xA823, 0xA828, + 0xA82C, + 0xA82D, 0xA880, 0xA882, 0xA8B4, @@ -305276,6 +328533,8 @@ static const UV UNI_LB__CM_invlist[] = { /* for EBCDIC 037 */ 0x10AE7, 0x10D24, 0x10D28, + 0x10EAB, + 0x10EAD, 0x10F46, 0x10F51, 0x11000, @@ -305300,6 +328559,8 @@ static const UV UNI_LB__CM_invlist[] = { /* for EBCDIC 037 */ 0x111C1, 0x111C9, 0x111CD, + 0x111CE, + 0x111D0, 0x1122C, 0x11238, 0x1123E, @@ -305342,6 +328603,16 @@ static const UV UNI_LB__CM_invlist[] = { /* for EBCDIC 037 */ 0x116B8, 0x1182C, 0x1183B, + 0x11930, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, + 0x11944, 0x119D1, 0x119D8, 0x119DA, @@ -305396,6 +328667,8 @@ static const UV UNI_LB__CM_invlist[] = { /* for EBCDIC 037 */ 0x16F88, 0x16F8F, 0x16F93, + 0x16FF0, + 0x16FF2, 0x1BC9D, 0x1BC9F, 0x1BCA0, @@ -305552,96 +328825,6 @@ static const UV UNI_LB__CR_invlist[] = { /* for EBCDIC 037 */ # endif /* EBCDIC 037 */ -static const UV UNI_LB__EB_invlist[] = { /* for all charsets */ - 73, /* Number of elements */ - 148565664, /* Version and data structure type */ - 1, /* 0 if the list starts at 0; - 1 if it starts at the element beyond 0 */ - 0x0, - 0x261D, - 0x261E, - 0x26F9, - 0x26FA, - 0x270A, - 0x270E, - 0x1F385, - 0x1F386, - 0x1F3C2, - 0x1F3C5, - 0x1F3C7, - 0x1F3C8, - 0x1F3CA, - 0x1F3CD, - 0x1F442, - 0x1F444, - 0x1F446, - 0x1F451, - 0x1F466, - 0x1F479, - 0x1F47C, - 0x1F47D, - 0x1F481, - 0x1F484, - 0x1F485, - 0x1F488, - 0x1F48F, - 0x1F490, - 0x1F491, - 0x1F492, - 0x1F4AA, - 0x1F4AB, - 0x1F574, - 0x1F576, - 0x1F57A, - 0x1F57B, - 0x1F590, - 0x1F591, - 0x1F595, - 0x1F597, - 0x1F645, - 0x1F648, - 0x1F64B, - 0x1F650, - 0x1F6A3, - 0x1F6A4, - 0x1F6B4, - 0x1F6B7, - 0x1F6C0, - 0x1F6C1, - 0x1F6CC, - 0x1F6CD, - 0x1F90F, - 0x1F910, - 0x1F918, - 0x1F920, - 0x1F926, - 0x1F927, - 0x1F930, - 0x1F93A, - 0x1F93C, - 0x1F93F, - 0x1F9B5, - 0x1F9B7, - 0x1F9B8, - 0x1F9BA, - 0x1F9BB, - 0x1F9BC, - 0x1F9CD, - 0x1F9D0, - 0x1F9D1, - 0x1F9DE -}; - -static const UV UNI_LB__EM_invlist[] = { /* for all charsets */ - 3, /* Number of elements */ - 148565664, /* Version and data structure type */ - 1, /* 0 if the list starts at 0; - 1 if it starts at the element beyond 0 */ - 0x0, - 0x1F3FB, - 0x1F400 -}; - # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__EX_invlist[] = { /* for ASCII/Latin1 */ @@ -305831,7 +329014,7 @@ static const UV UNI_LB__EX_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__GL_invlist[] = { /* for ASCII/Latin1 */ - 25, /* Number of elements */ + 27, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -305859,7 +329042,9 @@ static const UV UNI_LB__GL_invlist[] = { /* for ASCII/Latin1 */ 0x202F, 0x2030, 0x13430, - 0x13437 + 0x13437, + 0x16FE4, + 0x16FE5 }; # endif /* ASCII/Latin1 */ @@ -305870,7 +329055,7 @@ static const UV UNI_LB__GL_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LB__GL_invlist[] = { /* for EBCDIC 1047 */ - 25, /* Number of elements */ + 27, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -305898,7 +329083,9 @@ static const UV UNI_LB__GL_invlist[] = { /* for EBCDIC 1047 */ 0x202F, 0x2030, 0x13430, - 0x13437 + 0x13437, + 0x16FE4, + 0x16FE5 }; # endif /* EBCDIC 1047 */ @@ -305909,7 +329096,7 @@ static const UV UNI_LB__GL_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LB__GL_invlist[] = { /* for EBCDIC 037 */ - 25, /* Number of elements */ + 27, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -305937,7 +329124,9 @@ static const UV UNI_LB__GL_invlist[] = { /* for EBCDIC 037 */ 0x202F, 0x2030, 0x13430, - 0x13437 + 0x13437, + 0x16FE4, + 0x16FE5 }; # endif /* EBCDIC 037 */ @@ -307631,7 +330820,7 @@ static const UV UNI_LB__HY_invlist[] = { /* for EBCDIC 037 */ # endif /* EBCDIC 037 */ static const UV UNI_LB__ID_invlist[] = { /* for all charsets */ - 327, /* Number of elements */ + 331, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -307757,8 +330946,6 @@ static const UV UNI_LB__ID_invlist[] = { /* for all charsets */ 0x3131, 0x318F, 0x3190, - 0x31BB, - 0x31C0, 0x31E4, 0x3200, 0x321F, @@ -307831,7 +331018,9 @@ static const UV UNI_LB__ID_invlist[] = { /* for all charsets */ 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18B00, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B170, @@ -307934,7 +331123,7 @@ static const UV UNI_LB__ID_invlist[] = { /* for all charsets */ 0x1F890, 0x1F8AE, 0x1F900, - 0x1F90C, + 0x1F90D, 0x1F90F, 0x1F910, 0x1F918, @@ -307945,6 +331134,8 @@ static const UV UNI_LB__ID_invlist[] = { /* for all charsets */ 0x1F93A, 0x1F93C, 0x1F93F, + 0x1F977, + 0x1F978, 0x1F9B5, 0x1F9B7, 0x1F9B8, @@ -307957,6 +331148,8 @@ static const UV UNI_LB__ID_invlist[] = { /* for all charsets */ 0x1F9DE, 0x1FA00, 0x1FA54, + 0x1FB00, + 0x1FC00, 0x1FFFE, 0x20000, 0x2FFFE, @@ -308227,7 +331420,7 @@ static const UV UNI_LB__NS_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__NU_invlist[] = { /* for ASCII/Latin1 */ - 119, /* Number of elements */ + 123, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -308332,6 +331525,8 @@ static const UV UNI_LB__NU_invlist[] = { /* for ASCII/Latin1 */ 0x1173A, 0x118E0, 0x118EA, + 0x11950, + 0x1195A, 0x11C50, 0x11C5A, 0x11D50, @@ -308349,7 +331544,9 @@ static const UV UNI_LB__NU_invlist[] = { /* for ASCII/Latin1 */ 0x1E2F0, 0x1E2FA, 0x1E950, - 0x1E95A + 0x1E95A, + 0x1FBF0, + 0x1FBFA }; # endif /* ASCII/Latin1 */ @@ -308360,7 +331557,7 @@ static const UV UNI_LB__NU_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LB__NU_invlist[] = { /* for EBCDIC 1047 */ - 119, /* Number of elements */ + 123, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -308465,6 +331662,8 @@ static const UV UNI_LB__NU_invlist[] = { /* for EBCDIC 1047 */ 0x1173A, 0x118E0, 0x118EA, + 0x11950, + 0x1195A, 0x11C50, 0x11C5A, 0x11D50, @@ -308482,7 +331681,9 @@ static const UV UNI_LB__NU_invlist[] = { /* for EBCDIC 1047 */ 0x1E2F0, 0x1E2FA, 0x1E950, - 0x1E95A + 0x1E95A, + 0x1FBF0, + 0x1FBFA }; # endif /* EBCDIC 1047 */ @@ -308493,7 +331694,7 @@ static const UV UNI_LB__NU_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LB__NU_invlist[] = { /* for EBCDIC 037 */ - 119, /* Number of elements */ + 123, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -308598,6 +331799,8 @@ static const UV UNI_LB__NU_invlist[] = { /* for EBCDIC 037 */ 0x1173A, 0x118E0, 0x118EA, + 0x11950, + 0x1195A, 0x11C50, 0x11C5A, 0x11D50, @@ -308615,7 +331818,9 @@ static const UV UNI_LB__NU_invlist[] = { /* for EBCDIC 037 */ 0x1E2F0, 0x1E2FA, 0x1E950, - 0x1E95A + 0x1E95A, + 0x1FBF0, + 0x1FBFA }; # endif /* EBCDIC 037 */ @@ -309851,7 +333056,7 @@ static const UV UNI_LB__WJ_invlist[] = { /* for all charsets */ }; static const UV UNI_LB__XX_invlist[] = { /* for all charsets */ - 1240, /* Number of elements */ + 1266, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -309902,7 +333107,7 @@ static const UV UNI_LB__XX_invlist[] = { /* for all charsets */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x984, 0x985, @@ -310011,7 +333216,7 @@ static const UV UNI_LB__XX_invlist[] = { /* for all charsets */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -310100,8 +333305,6 @@ static const UV UNI_LB__XX_invlist[] = { /* for all charsets */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -310115,7 +333318,7 @@ static const UV UNI_LB__XX_invlist[] = { /* for all charsets */ 0xD64, 0xD66, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -310288,7 +333491,7 @@ static const UV UNI_LB__XX_invlist[] = { /* for all charsets */ 0x1AA0, 0x1AAE, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -310361,7 +333564,7 @@ static const UV UNI_LB__XX_invlist[] = { /* for all charsets */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, @@ -310396,7 +333599,7 @@ static const UV UNI_LB__XX_invlist[] = { /* for all charsets */ 0x2DD8, 0x2DDF, 0x2DE0, - 0x2E50, + 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, @@ -310416,8 +333619,6 @@ static const UV UNI_LB__XX_invlist[] = { /* for all charsets */ 0x3131, 0x318F, 0x3190, - 0x31BB, - 0x31C0, 0x31E4, 0x31F0, 0x321F, @@ -310432,9 +333633,9 @@ static const UV UNI_LB__XX_invlist[] = { /* for all charsets */ 0xA700, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, - 0xA82C, + 0xA7CB, + 0xA7F5, + 0xA82D, 0xA830, 0xA83A, 0xA840, @@ -310474,7 +333675,7 @@ static const UV UNI_LB__XX_invlist[] = { /* for all charsets */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6C, 0xAB70, 0xABEE, 0xABF0, @@ -310562,7 +333763,7 @@ static const UV UNI_LB__XX_invlist[] = { /* for all charsets */ 0x10137, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -310681,10 +333882,18 @@ static const UV UNI_LB__XX_invlist[] = { /* for all charsets */ 0x10D3A, 0x10E60, 0x10E7F, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAE, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, + 0x10FB0, + 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, @@ -310702,12 +333911,10 @@ static const UV UNI_LB__XX_invlist[] = { /* for all charsets */ 0x11100, 0x11135, 0x11136, - 0x11147, + 0x11148, 0x11150, 0x11177, 0x11180, - 0x111CE, - 0x111D0, 0x111E0, 0x111E1, 0x111F5, @@ -310760,11 +333967,9 @@ static const UV UNI_LB__XX_invlist[] = { /* for all charsets */ 0x11370, 0x11375, 0x11400, - 0x1145A, - 0x1145B, 0x1145C, 0x1145D, - 0x11460, + 0x11462, 0x11480, 0x114C8, 0x114D0, @@ -310794,7 +333999,21 @@ static const UV UNI_LB__XX_invlist[] = { /* for all charsets */ 0x118A0, 0x118F3, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11947, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -310849,6 +334068,8 @@ static const UV UNI_LB__XX_invlist[] = { /* for all charsets */ 0x11DAA, 0x11EE0, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, @@ -310896,11 +334117,15 @@ static const UV UNI_LB__XX_invlist[] = { /* for all charsets */ 0x16F8F, 0x16FA0, 0x16FE0, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -311084,6 +334309,12 @@ static const UV UNI_LB__XX_invlist[] = { /* for all charsets */ 0x1EEF0, 0x1EEF2, 0x1F000, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, + 0x1FC00, 0x1FFFE, 0x20000, 0x2FFFE, @@ -311226,17 +334457,29 @@ static const UV UNI_LINEARBSYLLABARY_invlist[] = { /* for all charsets */ }; static const UV UNI_LISU_invlist[] = { /* for all charsets */ - 3, /* Number of elements */ + 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA4D0, - 0xA500 + 0xA500, + 0x11FB0, + 0x11FB1 +}; + +static const UV UNI_LISUSUP_invlist[] = { /* for all charsets */ + 3, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x11FB0, + 0x11FC0 }; static const UV UNI_LM_invlist[] = { /* for all charsets */ - 121, /* Number of elements */ + 123, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -311345,6 +334588,8 @@ static const UV UNI_LM_invlist[] = { /* for all charsets */ 0xAAF5, 0xAB5C, 0xAB60, + 0xAB69, + 0xAB6A, 0xFF70, 0xFF71, 0xFF9E, @@ -311366,7 +334611,7 @@ static const UV UNI_LM_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LO_invlist[] = { /* for ASCII/Latin1 */ - 953, /* Number of elements */ + 979, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -311420,7 +334665,7 @@ static const UV UNI_LO_invlist[] = { /* for ASCII/Latin1 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x904, 0x93A, 0x93D, @@ -311571,7 +334816,7 @@ static const UV UNI_LO_invlist[] = { /* for ASCII/Latin1 */ 0xCE2, 0xCF1, 0xCF3, - 0xD05, + 0xD04, 0xD0D, 0xD0E, 0xD11, @@ -311798,13 +335043,13 @@ static const UV UNI_LO_invlist[] = { /* for ASCII/Latin1 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA015, 0xA016, @@ -312051,12 +335296,18 @@ static const UV UNI_LO_invlist[] = { /* for ASCII/Latin1 */ 0x10C49, 0x10D00, 0x10D24, + 0x10E80, + 0x10EAA, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, @@ -312069,6 +335320,8 @@ static const UV UNI_LO_invlist[] = { /* for ASCII/Latin1 */ 0x11127, 0x11144, 0x11145, + 0x11147, + 0x11148, 0x11150, 0x11173, 0x11176, @@ -312120,7 +335373,7 @@ static const UV UNI_LO_invlist[] = { /* for ASCII/Latin1 */ 0x11447, 0x1144B, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -312144,7 +335397,19 @@ static const UV UNI_LO_invlist[] = { /* for ASCII/Latin1 */ 0x11800, 0x1182C, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, 0x119A0, 0x119A8, 0x119AA, @@ -312193,6 +335458,8 @@ static const UV UNI_LO_invlist[] = { /* for ASCII/Latin1 */ 0x11D99, 0x11EE0, 0x11EF3, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12480, @@ -312220,7 +335487,9 @@ static const UV UNI_LO_invlist[] = { /* for ASCII/Latin1 */ 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -312312,7 +335581,7 @@ static const UV UNI_LO_invlist[] = { /* for ASCII/Latin1 */ 0x1EEAB, 0x1EEBC, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -312322,7 +335591,9 @@ static const UV UNI_LO_invlist[] = { /* for ASCII/Latin1 */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; # endif /* ASCII/Latin1 */ @@ -312333,7 +335604,7 @@ static const UV UNI_LO_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LO_invlist[] = { /* for EBCDIC 1047 */ - 951, /* Number of elements */ + 977, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -312385,7 +335656,7 @@ static const UV UNI_LO_invlist[] = { /* for EBCDIC 1047 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x904, 0x93A, 0x93D, @@ -312536,7 +335807,7 @@ static const UV UNI_LO_invlist[] = { /* for EBCDIC 1047 */ 0xCE2, 0xCF1, 0xCF3, - 0xD05, + 0xD04, 0xD0D, 0xD0E, 0xD11, @@ -312763,13 +336034,13 @@ static const UV UNI_LO_invlist[] = { /* for EBCDIC 1047 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA015, 0xA016, @@ -313016,12 +336287,18 @@ static const UV UNI_LO_invlist[] = { /* for EBCDIC 1047 */ 0x10C49, 0x10D00, 0x10D24, + 0x10E80, + 0x10EAA, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, @@ -313034,6 +336311,8 @@ static const UV UNI_LO_invlist[] = { /* for EBCDIC 1047 */ 0x11127, 0x11144, 0x11145, + 0x11147, + 0x11148, 0x11150, 0x11173, 0x11176, @@ -313085,7 +336364,7 @@ static const UV UNI_LO_invlist[] = { /* for EBCDIC 1047 */ 0x11447, 0x1144B, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -313109,7 +336388,19 @@ static const UV UNI_LO_invlist[] = { /* for EBCDIC 1047 */ 0x11800, 0x1182C, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, 0x119A0, 0x119A8, 0x119AA, @@ -313158,6 +336449,8 @@ static const UV UNI_LO_invlist[] = { /* for EBCDIC 1047 */ 0x11D99, 0x11EE0, 0x11EF3, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12480, @@ -313185,7 +336478,9 @@ static const UV UNI_LO_invlist[] = { /* for EBCDIC 1047 */ 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -313277,7 +336572,7 @@ static const UV UNI_LO_invlist[] = { /* for EBCDIC 1047 */ 0x1EEAB, 0x1EEBC, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -313287,7 +336582,9 @@ static const UV UNI_LO_invlist[] = { /* for EBCDIC 1047 */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; # endif /* EBCDIC 1047 */ @@ -313298,7 +336595,7 @@ static const UV UNI_LO_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LO_invlist[] = { /* for EBCDIC 037 */ - 951, /* Number of elements */ + 977, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -313350,7 +336647,7 @@ static const UV UNI_LO_invlist[] = { /* for EBCDIC 037 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x904, 0x93A, 0x93D, @@ -313501,7 +336798,7 @@ static const UV UNI_LO_invlist[] = { /* for EBCDIC 037 */ 0xCE2, 0xCF1, 0xCF3, - 0xD05, + 0xD04, 0xD0D, 0xD0E, 0xD11, @@ -313728,13 +337025,13 @@ static const UV UNI_LO_invlist[] = { /* for EBCDIC 037 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA015, 0xA016, @@ -313981,12 +337278,18 @@ static const UV UNI_LO_invlist[] = { /* for EBCDIC 037 */ 0x10C49, 0x10D00, 0x10D24, + 0x10E80, + 0x10EAA, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, @@ -313999,6 +337302,8 @@ static const UV UNI_LO_invlist[] = { /* for EBCDIC 037 */ 0x11127, 0x11144, 0x11145, + 0x11147, + 0x11148, 0x11150, 0x11173, 0x11176, @@ -314050,7 +337355,7 @@ static const UV UNI_LO_invlist[] = { /* for EBCDIC 037 */ 0x11447, 0x1144B, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -314074,7 +337379,19 @@ static const UV UNI_LO_invlist[] = { /* for EBCDIC 037 */ 0x11800, 0x1182C, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, 0x119A0, 0x119A8, 0x119AA, @@ -314123,6 +337440,8 @@ static const UV UNI_LO_invlist[] = { /* for EBCDIC 037 */ 0x11D99, 0x11EE0, 0x11EF3, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12480, @@ -314150,7 +337469,9 @@ static const UV UNI_LO_invlist[] = { /* for EBCDIC 037 */ 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -314242,7 +337563,7 @@ static const UV UNI_LO_invlist[] = { /* for EBCDIC 037 */ 0x1EEAB, 0x1EEBC, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -314252,7 +337573,9 @@ static const UV UNI_LO_invlist[] = { /* for EBCDIC 037 */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; # endif /* EBCDIC 037 */ @@ -314312,7 +337635,7 @@ static const UV UNI_LYDI_invlist[] = { /* for all charsets */ }; static const UV UNI_M_invlist[] = { /* for all charsets */ - 561, /* Number of elements */ + 581, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -314433,7 +337756,7 @@ static const UV UNI_M_invlist[] = { /* for all charsets */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB62, 0xB64, @@ -314487,7 +337810,7 @@ static const UV UNI_M_invlist[] = { /* for all charsets */ 0xD58, 0xD62, 0xD64, - 0xD82, + 0xD81, 0xD84, 0xDCA, 0xDCB, @@ -314582,7 +337905,7 @@ static const UV UNI_M_invlist[] = { /* for all charsets */ 0x1A7F, 0x1A80, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B05, 0x1B34, @@ -314639,6 +337962,8 @@ static const UV UNI_M_invlist[] = { /* for all charsets */ 0xA80C, 0xA823, 0xA828, + 0xA82C, + 0xA82D, 0xA880, 0xA882, 0xA8B4, @@ -314709,6 +338034,8 @@ static const UV UNI_M_invlist[] = { /* for all charsets */ 0x10AE7, 0x10D24, 0x10D28, + 0x10EAB, + 0x10EAD, 0x10F46, 0x10F51, 0x11000, @@ -314733,6 +338060,8 @@ static const UV UNI_M_invlist[] = { /* for all charsets */ 0x111C1, 0x111C9, 0x111CD, + 0x111CE, + 0x111D0, 0x1122C, 0x11238, 0x1123E, @@ -314777,6 +338106,16 @@ static const UV UNI_M_invlist[] = { /* for all charsets */ 0x1172C, 0x1182C, 0x1183B, + 0x11930, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, + 0x11944, 0x119D1, 0x119D8, 0x119DA, @@ -314831,6 +338170,10 @@ static const UV UNI_M_invlist[] = { /* for all charsets */ 0x16F88, 0x16F8F, 0x16F93, + 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x1BC9D, 0x1BC9F, 0x1D165, @@ -315860,7 +339203,7 @@ static const UV UNI_MAYANNUMERALS_invlist[] = { /* for all charsets */ }; static const UV UNI_MC_invlist[] = { /* for all charsets */ - 337, /* Number of elements */ + 351, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -316103,6 +339446,8 @@ static const UV UNI_MC_invlist[] = { /* for all charsets */ 0x111B6, 0x111BF, 0x111C1, + 0x111CE, + 0x111CF, 0x1122C, 0x1122F, 0x11232, @@ -316165,6 +339510,16 @@ static const UV UNI_MC_invlist[] = { /* for all charsets */ 0x1182F, 0x11838, 0x11839, + 0x11930, + 0x11936, + 0x11937, + 0x11939, + 0x1193D, + 0x1193E, + 0x11940, + 0x11941, + 0x11942, + 0x11943, 0x119D1, 0x119D4, 0x119DC, @@ -316197,6 +339552,8 @@ static const UV UNI_MC_invlist[] = { /* for all charsets */ 0x11EF7, 0x16F51, 0x16F88, + 0x16FF0, + 0x16FF2, 0x1D165, 0x1D167, 0x1D16D, @@ -316352,7 +339709,7 @@ static const UV UNI_MISCTECHNICAL_invlist[] = { /* for all charsets */ }; static const UV UNI_MLYM_invlist[] = { /* for all charsets */ - 25, /* Number of elements */ + 23, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -316362,8 +339719,6 @@ static const UV UNI_MLYM_invlist[] = { /* for all charsets */ 0x964, 0x966, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -316384,7 +339739,7 @@ static const UV UNI_MLYM_invlist[] = { /* for all charsets */ }; static const UV UNI_MN_invlist[] = { /* for all charsets */ - 637, /* Number of elements */ + 655, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -316505,7 +339860,7 @@ static const UV UNI_MN_invlist[] = { /* for all charsets */ 0xB45, 0xB4D, 0xB4E, - 0xB56, + 0xB55, 0xB57, 0xB62, 0xB64, @@ -316551,6 +339906,8 @@ static const UV UNI_MN_invlist[] = { /* for all charsets */ 0xD4E, 0xD62, 0xD64, + 0xD81, + 0xD82, 0xDCA, 0xDCB, 0xDD2, @@ -316665,6 +340022,8 @@ static const UV UNI_MN_invlist[] = { /* for all charsets */ 0x1A80, 0x1AB0, 0x1ABE, + 0x1ABF, + 0x1AC1, 0x1B00, 0x1B04, 0x1B34, @@ -316745,6 +340104,8 @@ static const UV UNI_MN_invlist[] = { /* for all charsets */ 0xA80C, 0xA825, 0xA827, + 0xA82C, + 0xA82D, 0xA8C4, 0xA8C6, 0xA8E0, @@ -316823,6 +340184,8 @@ static const UV UNI_MN_invlist[] = { /* for all charsets */ 0x10AE7, 0x10D24, 0x10D28, + 0x10EAB, + 0x10EAD, 0x10F46, 0x10F51, 0x11001, @@ -316849,6 +340212,8 @@ static const UV UNI_MN_invlist[] = { /* for all charsets */ 0x111BF, 0x111C9, 0x111CD, + 0x111CF, + 0x111D0, 0x1122F, 0x11232, 0x11234, @@ -316919,6 +340284,12 @@ static const UV UNI_MN_invlist[] = { /* for all charsets */ 0x11838, 0x11839, 0x1183B, + 0x1193B, + 0x1193D, + 0x1193E, + 0x1193F, + 0x11943, + 0x11944, 0x119D4, 0x119D8, 0x119DA, @@ -316981,6 +340352,8 @@ static const UV UNI_MN_invlist[] = { /* for all charsets */ 0x16F50, 0x16F8F, 0x16F93, + 0x16FE4, + 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1D167, @@ -317188,7 +340561,7 @@ static const UV UNI_MYMR_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_N_invlist[] = { /* for ASCII/Latin1 */ - 261, /* Number of elements */ + 267, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -317385,6 +340758,8 @@ static const UV UNI_N_invlist[] = { /* for ASCII/Latin1 */ 0x10F27, 0x10F51, 0x10F55, + 0x10FC5, + 0x10FCC, 0x11052, 0x11070, 0x110F0, @@ -317409,6 +340784,8 @@ static const UV UNI_N_invlist[] = { /* for ASCII/Latin1 */ 0x1173C, 0x118E0, 0x118F3, + 0x11950, + 0x1195A, 0x11C50, 0x11C6D, 0x11D50, @@ -317452,7 +340829,9 @@ static const UV UNI_N_invlist[] = { /* for ASCII/Latin1 */ 0x1ED2F, 0x1ED3E, 0x1F100, - 0x1F10D + 0x1F10D, + 0x1FBF0, + 0x1FBFA }; # endif /* ASCII/Latin1 */ @@ -317463,7 +340842,7 @@ static const UV UNI_N_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_N_invlist[] = { /* for EBCDIC 1047 */ - 261, /* Number of elements */ + 267, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -317660,6 +341039,8 @@ static const UV UNI_N_invlist[] = { /* for EBCDIC 1047 */ 0x10F27, 0x10F51, 0x10F55, + 0x10FC5, + 0x10FCC, 0x11052, 0x11070, 0x110F0, @@ -317684,6 +341065,8 @@ static const UV UNI_N_invlist[] = { /* for EBCDIC 1047 */ 0x1173C, 0x118E0, 0x118F3, + 0x11950, + 0x1195A, 0x11C50, 0x11C6D, 0x11D50, @@ -317727,7 +341110,9 @@ static const UV UNI_N_invlist[] = { /* for EBCDIC 1047 */ 0x1ED2F, 0x1ED3E, 0x1F100, - 0x1F10D + 0x1F10D, + 0x1FBF0, + 0x1FBFA }; # endif /* EBCDIC 1047 */ @@ -317738,7 +341123,7 @@ static const UV UNI_N_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_N_invlist[] = { /* for EBCDIC 037 */ - 261, /* Number of elements */ + 267, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -317935,6 +341320,8 @@ static const UV UNI_N_invlist[] = { /* for EBCDIC 037 */ 0x10F27, 0x10F51, 0x10F55, + 0x10FC5, + 0x10FCC, 0x11052, 0x11070, 0x110F0, @@ -317959,6 +341346,8 @@ static const UV UNI_N_invlist[] = { /* for EBCDIC 037 */ 0x1173C, 0x118E0, 0x118F3, + 0x11950, + 0x1195A, 0x11C50, 0x11C6D, 0x11D50, @@ -318002,7 +341391,9 @@ static const UV UNI_N_invlist[] = { /* for EBCDIC 037 */ 0x1ED2F, 0x1ED3E, 0x1F100, - 0x1F10D + 0x1F10D, + 0x1FBF0, + 0x1FBFA }; # endif /* EBCDIC 037 */ @@ -318044,7 +341435,7 @@ static const UV UNI_NARB_invlist[] = { /* for all charsets */ }; static const UV UNI_NB_invlist[] = { /* for all charsets */ - 108, /* Number of elements */ + 110, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -318073,10 +341464,10 @@ static const UV UNI_NB_invlist[] = { /* for all charsets */ 0x10C80, 0x10D40, 0x10E60, - 0x10E80, + 0x10EC0, 0x10F00, 0x10F70, - 0x10FE0, + 0x10FB0, 0x11250, 0x11280, 0x11380, @@ -318089,7 +341480,7 @@ static const UV UNI_NB_invlist[] = { /* for all charsets */ 0x11800, 0x11850, 0x118A0, - 0x11900, + 0x11960, 0x119A0, 0x11AB0, 0x11AC0, @@ -318100,7 +341491,7 @@ static const UV UNI_NB_invlist[] = { /* for all charsets */ 0x11DB0, 0x11EE0, 0x11F00, - 0x11FC0, + 0x11FB0, 0x12550, 0x13000, 0x13440, @@ -318115,7 +341506,7 @@ static const UV UNI_NB_invlist[] = { /* for all charsets */ 0x16F00, 0x16FA0, 0x16FE0, - 0x18B00, + 0x18D90, 0x1B000, 0x1B300, 0x1BC00, @@ -318143,13 +341534,15 @@ static const UV UNI_NB_invlist[] = { /* for all charsets */ 0x1EE00, 0x1EF00, 0x1F000, - 0x1FB00, + 0x1FC00, 0x20000, 0x2A6E0, 0x2A700, 0x2EBF0, 0x2F800, 0x2FA20, + 0x30000, + 0x31350, 0xE0000, 0xE0080, 0xE0100, @@ -318171,21 +341564,19 @@ static const UV UNI_NBAT_invlist[] = { /* for all charsets */ }; static const UV UNI_NEWA_invlist[] = { /* for all charsets */ - 7, /* Number of elements */ + 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11400, - 0x1145A, - 0x1145B, 0x1145C, 0x1145D, - 0x11460 + 0x11462 }; static const UV UNI_NFCQC__M_invlist[] = { /* for all charsets */ - 83, /* Number of elements */ + 85, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -318271,11 +341662,13 @@ static const UV UNI_NFCQC__M_invlist[] = { /* for all charsets */ 0x114BD, 0x114BE, 0x115AF, - 0x115B0 + 0x115B0, + 0x11930, + 0x11931 }; static const UV UNI_NFCQC__Y_invlist[] = { /* for all charsets */ - 223, /* Number of elements */ + 225, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -318496,6 +341889,8 @@ static const UV UNI_NFCQC__Y_invlist[] = { /* for all charsets */ 0x114BE, 0x115AF, 0x115B0, + 0x11930, + 0x11931, 0x1D15E, 0x1D165, 0x1D1BB, @@ -318507,7 +341902,7 @@ static const UV UNI_NFCQC__Y_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NFDQC__Y_invlist[] = { /* for ASCII/Latin1 */ - 463, /* Number of elements */ + 465, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -318968,6 +342363,8 @@ static const UV UNI_NFDQC__Y_invlist[] = { /* for ASCII/Latin1 */ 0x114BF, 0x115BA, 0x115BC, + 0x11938, + 0x11939, 0x1D15E, 0x1D165, 0x1D1BB, @@ -318984,7 +342381,7 @@ static const UV UNI_NFDQC__Y_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NFDQC__Y_invlist[] = { /* for EBCDIC 1047 */ - 467, /* Number of elements */ + 469, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -319449,6 +342846,8 @@ static const UV UNI_NFDQC__Y_invlist[] = { /* for EBCDIC 1047 */ 0x114BF, 0x115BA, 0x115BC, + 0x11938, + 0x11939, 0x1D15E, 0x1D165, 0x1D1BB, @@ -319465,7 +342864,7 @@ static const UV UNI_NFDQC__Y_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NFDQC__Y_invlist[] = { /* for EBCDIC 037 */ - 467, /* Number of elements */ + 469, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -319930,6 +343329,8 @@ static const UV UNI_NFDQC__Y_invlist[] = { /* for EBCDIC 037 */ 0x114BF, 0x115BA, 0x115BC, + 0x11938, + 0x11939, 0x1D15E, 0x1D165, 0x1D1BB, @@ -319943,7 +343344,7 @@ static const UV UNI_NFDQC__Y_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NFKCQC__N_invlist[] = { /* for ASCII/Latin1 */ - 497, /* Number of elements */ + 501, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -320238,6 +343639,8 @@ static const UV UNI_NFKCQC__N_invlist[] = { /* for ASCII/Latin1 */ 0xA7FA, 0xAB5C, 0xAB60, + 0xAB69, + 0xAB6A, 0xF900, 0xFA0E, 0xFA10, @@ -320442,6 +343845,8 @@ static const UV UNI_NFKCQC__N_invlist[] = { /* for ASCII/Latin1 */ 0x1F249, 0x1F250, 0x1F252, + 0x1FBF0, + 0x1FBFA, 0x2F800, 0x2FA1E }; @@ -320454,7 +343859,7 @@ static const UV UNI_NFKCQC__N_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NFKCQC__N_invlist[] = { /* for EBCDIC 1047 */ - 503, /* Number of elements */ + 507, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -320755,6 +344160,8 @@ static const UV UNI_NFKCQC__N_invlist[] = { /* for EBCDIC 1047 */ 0xA7FA, 0xAB5C, 0xAB60, + 0xAB69, + 0xAB6A, 0xF900, 0xFA0E, 0xFA10, @@ -320959,6 +344366,8 @@ static const UV UNI_NFKCQC__N_invlist[] = { /* for EBCDIC 1047 */ 0x1F249, 0x1F250, 0x1F252, + 0x1FBF0, + 0x1FBFA, 0x2F800, 0x2FA1E }; @@ -320971,7 +344380,7 @@ static const UV UNI_NFKCQC__N_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NFKCQC__N_invlist[] = { /* for EBCDIC 037 */ - 501, /* Number of elements */ + 505, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -321270,6 +344679,8 @@ static const UV UNI_NFKCQC__N_invlist[] = { /* for EBCDIC 037 */ 0xA7FA, 0xAB5C, 0xAB60, + 0xAB69, + 0xAB6A, 0xF900, 0xFA0E, 0xFA10, @@ -321474,6 +344885,8 @@ static const UV UNI_NFKCQC__N_invlist[] = { /* for EBCDIC 037 */ 0x1F249, 0x1F250, 0x1F252, + 0x1FBF0, + 0x1FBFA, 0x2F800, 0x2FA1E }; @@ -321483,7 +344896,7 @@ static const UV UNI_NFKCQC__N_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NFKCQC__Y_invlist[] = { /* for ASCII/Latin1 */ - 571, /* Number of elements */ + 577, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -321836,6 +345249,8 @@ static const UV UNI_NFKCQC__Y_invlist[] = { /* for ASCII/Latin1 */ 0xA7FA, 0xAB5C, 0xAB60, + 0xAB69, + 0xAB6A, 0xF900, 0xFA0E, 0xFA10, @@ -321926,6 +345341,8 @@ static const UV UNI_NFKCQC__Y_invlist[] = { /* for ASCII/Latin1 */ 0x114BE, 0x115AF, 0x115B0, + 0x11930, + 0x11931, 0x1D15E, 0x1D165, 0x1D1BB, @@ -322056,6 +345473,8 @@ static const UV UNI_NFKCQC__Y_invlist[] = { /* for ASCII/Latin1 */ 0x1F249, 0x1F250, 0x1F252, + 0x1FBF0, + 0x1FBFA, 0x2F800, 0x2FA1E }; @@ -322068,7 +345487,7 @@ static const UV UNI_NFKCQC__Y_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NFKCQC__Y_invlist[] = { /* for EBCDIC 1047 */ - 577, /* Number of elements */ + 583, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -322427,6 +345846,8 @@ static const UV UNI_NFKCQC__Y_invlist[] = { /* for EBCDIC 1047 */ 0xA7FA, 0xAB5C, 0xAB60, + 0xAB69, + 0xAB6A, 0xF900, 0xFA0E, 0xFA10, @@ -322517,6 +345938,8 @@ static const UV UNI_NFKCQC__Y_invlist[] = { /* for EBCDIC 1047 */ 0x114BE, 0x115AF, 0x115B0, + 0x11930, + 0x11931, 0x1D15E, 0x1D165, 0x1D1BB, @@ -322647,6 +346070,8 @@ static const UV UNI_NFKCQC__Y_invlist[] = { /* for EBCDIC 1047 */ 0x1F249, 0x1F250, 0x1F252, + 0x1FBF0, + 0x1FBFA, 0x2F800, 0x2FA1E }; @@ -322659,7 +346084,7 @@ static const UV UNI_NFKCQC__Y_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NFKCQC__Y_invlist[] = { /* for EBCDIC 037 */ - 575, /* Number of elements */ + 581, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -323016,6 +346441,8 @@ static const UV UNI_NFKCQC__Y_invlist[] = { /* for EBCDIC 037 */ 0xA7FA, 0xAB5C, 0xAB60, + 0xAB69, + 0xAB6A, 0xF900, 0xFA0E, 0xFA10, @@ -323106,6 +346533,8 @@ static const UV UNI_NFKCQC__Y_invlist[] = { /* for EBCDIC 037 */ 0x114BE, 0x115AF, 0x115B0, + 0x11930, + 0x11931, 0x1D15E, 0x1D165, 0x1D1BB, @@ -323236,6 +346665,8 @@ static const UV UNI_NFKCQC__Y_invlist[] = { /* for EBCDIC 037 */ 0x1F249, 0x1F250, 0x1F252, + 0x1FBF0, + 0x1FBFA, 0x2F800, 0x2FA1E }; @@ -323245,7 +346676,7 @@ static const UV UNI_NFKCQC__Y_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NFKDQC__N_invlist[] = { /* for ASCII/Latin1 */ - 779, /* Number of elements */ + 785, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -323804,6 +347235,8 @@ static const UV UNI_NFKDQC__N_invlist[] = { /* for ASCII/Latin1 */ 0xA7FA, 0xAB5C, 0xAB60, + 0xAB69, + 0xAB6A, 0xAC00, 0xD7A4, 0xF900, @@ -323896,6 +347329,8 @@ static const UV UNI_NFKDQC__N_invlist[] = { /* for ASCII/Latin1 */ 0x114BF, 0x115BA, 0x115BC, + 0x11938, + 0x11939, 0x1D15E, 0x1D165, 0x1D1BB, @@ -324026,6 +347461,8 @@ static const UV UNI_NFKDQC__N_invlist[] = { /* for ASCII/Latin1 */ 0x1F249, 0x1F250, 0x1F252, + 0x1FBF0, + 0x1FBFA, 0x2F800, 0x2FA1E }; @@ -324038,7 +347475,7 @@ static const UV UNI_NFKDQC__N_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NFKDQC__N_invlist[] = { /* for EBCDIC 1047 */ - 777, /* Number of elements */ + 783, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -324595,6 +348032,8 @@ static const UV UNI_NFKDQC__N_invlist[] = { /* for EBCDIC 1047 */ 0xA7FA, 0xAB5C, 0xAB60, + 0xAB69, + 0xAB6A, 0xAC00, 0xD7A4, 0xF900, @@ -324687,6 +348126,8 @@ static const UV UNI_NFKDQC__N_invlist[] = { /* for EBCDIC 1047 */ 0x114BF, 0x115BA, 0x115BC, + 0x11938, + 0x11939, 0x1D15E, 0x1D165, 0x1D1BB, @@ -324817,6 +348258,8 @@ static const UV UNI_NFKDQC__N_invlist[] = { /* for EBCDIC 1047 */ 0x1F249, 0x1F250, 0x1F252, + 0x1FBF0, + 0x1FBFA, 0x2F800, 0x2FA1E }; @@ -324829,7 +348272,7 @@ static const UV UNI_NFKDQC__N_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NFKDQC__N_invlist[] = { /* for EBCDIC 037 */ - 779, /* Number of elements */ + 785, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -325388,6 +348831,8 @@ static const UV UNI_NFKDQC__N_invlist[] = { /* for EBCDIC 037 */ 0xA7FA, 0xAB5C, 0xAB60, + 0xAB69, + 0xAB6A, 0xAC00, 0xD7A4, 0xF900, @@ -325480,6 +348925,8 @@ static const UV UNI_NFKDQC__N_invlist[] = { /* for EBCDIC 037 */ 0x114BF, 0x115BA, 0x115BC, + 0x11938, + 0x11939, 0x1D15E, 0x1D165, 0x1D1BB, @@ -325610,6 +349057,8 @@ static const UV UNI_NFKDQC__N_invlist[] = { /* for EBCDIC 037 */ 0x1F249, 0x1F250, 0x1F252, + 0x1FBF0, + 0x1FBFA, 0x2F800, 0x2FA1E }; @@ -325663,7 +349112,7 @@ static const UV UNI_NL_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NO_invlist[] = { /* for ASCII/Latin1 */ - 141, /* Number of elements */ + 143, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -325774,6 +349223,8 @@ static const UV UNI_NO_invlist[] = { /* for ASCII/Latin1 */ 0x10F27, 0x10F51, 0x10F55, + 0x10FC5, + 0x10FCC, 0x11052, 0x11066, 0x111E1, @@ -325818,7 +349269,7 @@ static const UV UNI_NO_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NO_invlist[] = { /* for EBCDIC 1047 */ - 143, /* Number of elements */ + 145, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -325931,6 +349382,8 @@ static const UV UNI_NO_invlist[] = { /* for EBCDIC 1047 */ 0x10F27, 0x10F51, 0x10F55, + 0x10FC5, + 0x10FCC, 0x11052, 0x11066, 0x111E1, @@ -325975,7 +349428,7 @@ static const UV UNI_NO_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NO_invlist[] = { /* for EBCDIC 037 */ - 143, /* Number of elements */ + 145, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -326088,6 +349541,8 @@ static const UV UNI_NO_invlist[] = { /* for EBCDIC 037 */ 0x10F27, 0x10F51, 0x10F55, + 0x10FC5, + 0x10FCC, 0x11052, 0x11066, 0x111E1, @@ -326307,7 +349762,7 @@ static const UV UNI_NT__DI_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NT__NU_invlist[] = { /* for ASCII/Latin1 */ - 301, /* Number of elements */ + 303, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -326544,6 +349999,8 @@ static const UV UNI_NT__NU_invlist[] = { /* for ASCII/Latin1 */ 0x10F27, 0x10F51, 0x10F55, + 0x10FC5, + 0x10FCC, 0x1105B, 0x11066, 0x111E1, @@ -326622,7 +350079,7 @@ static const UV UNI_NT__NU_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NT__NU_invlist[] = { /* for EBCDIC 1047 */ - 301, /* Number of elements */ + 303, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -326859,6 +350316,8 @@ static const UV UNI_NT__NU_invlist[] = { /* for EBCDIC 1047 */ 0x10F27, 0x10F51, 0x10F55, + 0x10FC5, + 0x10FCC, 0x1105B, 0x11066, 0x111E1, @@ -326937,7 +350396,7 @@ static const UV UNI_NT__NU_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NT__NU_invlist[] = { /* for EBCDIC 037 */ - 301, /* Number of elements */ + 303, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -327174,6 +350633,8 @@ static const UV UNI_NT__NU_invlist[] = { /* for EBCDIC 037 */ 0x10F27, 0x10F51, 0x10F55, + 0x10FC5, + 0x10FCC, 0x1105B, 0x11066, 0x111E1, @@ -327269,7 +350730,7 @@ static const UV UNI_NV___MINUS_1_SLASH_2_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NV__0_invlist[] = { /* for ASCII/Latin1 */ - 159, /* Number of elements */ + 163, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -327398,6 +350859,8 @@ static const UV UNI_NV__0_invlist[] = { /* for ASCII/Latin1 */ 0x11731, 0x118E0, 0x118E1, + 0x11950, + 0x11951, 0x11C50, 0x11C51, 0x11D50, @@ -327431,7 +350894,9 @@ static const UV UNI_NV__0_invlist[] = { /* for ASCII/Latin1 */ 0x1F100, 0x1F102, 0x1F10B, - 0x1F10D + 0x1F10D, + 0x1FBF0, + 0x1FBF1 }; # endif /* ASCII/Latin1 */ @@ -327442,7 +350907,7 @@ static const UV UNI_NV__0_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NV__0_invlist[] = { /* for EBCDIC 1047 */ - 159, /* Number of elements */ + 163, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -327571,6 +351036,8 @@ static const UV UNI_NV__0_invlist[] = { /* for EBCDIC 1047 */ 0x11731, 0x118E0, 0x118E1, + 0x11950, + 0x11951, 0x11C50, 0x11C51, 0x11D50, @@ -327604,7 +351071,9 @@ static const UV UNI_NV__0_invlist[] = { /* for EBCDIC 1047 */ 0x1F100, 0x1F102, 0x1F10B, - 0x1F10D + 0x1F10D, + 0x1FBF0, + 0x1FBF1 }; # endif /* EBCDIC 1047 */ @@ -327615,7 +351084,7 @@ static const UV UNI_NV__0_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NV__0_invlist[] = { /* for EBCDIC 037 */ - 159, /* Number of elements */ + 163, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -327744,6 +351213,8 @@ static const UV UNI_NV__0_invlist[] = { /* for EBCDIC 037 */ 0x11731, 0x118E0, 0x118E1, + 0x11950, + 0x11951, 0x11C50, 0x11C51, 0x11D50, @@ -327777,7 +351248,9 @@ static const UV UNI_NV__0_invlist[] = { /* for EBCDIC 037 */ 0x1F100, 0x1F102, 0x1F10B, - 0x1F10D + 0x1F10D, + 0x1FBF0, + 0x1FBF1 }; # endif /* EBCDIC 037 */ @@ -327785,7 +351258,7 @@ static const UV UNI_NV__0_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NV__1_invlist[] = { /* for ASCII/Latin1 */ - 269, /* Number of elements */ + 275, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -327966,6 +351439,8 @@ static const UV UNI_NV__1_invlist[] = { /* for ASCII/Latin1 */ 0x10F1E, 0x10F51, 0x10F52, + 0x10FC5, + 0x10FC6, 0x11052, 0x11053, 0x11067, @@ -327992,6 +351467,8 @@ static const UV UNI_NV__1_invlist[] = { /* for ASCII/Latin1 */ 0x11732, 0x118E1, 0x118E2, + 0x11951, + 0x11952, 0x11C51, 0x11C52, 0x11C5A, @@ -328056,6 +351533,8 @@ static const UV UNI_NV__1_invlist[] = { /* for ASCII/Latin1 */ 0x1ED02, 0x1F102, 0x1F103, + 0x1FBF1, + 0x1FBF2, 0x2092A, 0x2092B }; @@ -328068,7 +351547,7 @@ static const UV UNI_NV__1_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NV__1_invlist[] = { /* for EBCDIC 1047 */ - 269, /* Number of elements */ + 275, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -328249,6 +351728,8 @@ static const UV UNI_NV__1_invlist[] = { /* for EBCDIC 1047 */ 0x10F1E, 0x10F51, 0x10F52, + 0x10FC5, + 0x10FC6, 0x11052, 0x11053, 0x11067, @@ -328275,6 +351756,8 @@ static const UV UNI_NV__1_invlist[] = { /* for EBCDIC 1047 */ 0x11732, 0x118E1, 0x118E2, + 0x11951, + 0x11952, 0x11C51, 0x11C52, 0x11C5A, @@ -328339,6 +351822,8 @@ static const UV UNI_NV__1_invlist[] = { /* for EBCDIC 1047 */ 0x1ED02, 0x1F102, 0x1F103, + 0x1FBF1, + 0x1FBF2, 0x2092A, 0x2092B }; @@ -328351,7 +351836,7 @@ static const UV UNI_NV__1_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NV__1_invlist[] = { /* for EBCDIC 037 */ - 269, /* Number of elements */ + 275, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -328532,6 +352017,8 @@ static const UV UNI_NV__1_invlist[] = { /* for EBCDIC 037 */ 0x10F1E, 0x10F51, 0x10F52, + 0x10FC5, + 0x10FC6, 0x11052, 0x11053, 0x11067, @@ -328558,6 +352045,8 @@ static const UV UNI_NV__1_invlist[] = { /* for EBCDIC 037 */ 0x11732, 0x118E1, 0x118E2, + 0x11951, + 0x11952, 0x11C51, 0x11C52, 0x11C5A, @@ -328622,6 +352111,8 @@ static const UV UNI_NV__1_invlist[] = { /* for EBCDIC 037 */ 0x1ED02, 0x1F102, 0x1F103, + 0x1FBF1, + 0x1FBF2, 0x2092A, 0x2092B }; @@ -329105,7 +352596,7 @@ static const UV UNI_NV__1_SLASH_9_invlist[] = { /* for all charsets */ }; static const UV UNI_NV__10_invlist[] = { /* for all charsets */ - 115, /* Number of elements */ + 117, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -329200,6 +352691,8 @@ static const UV UNI_NV__10_invlist[] = { /* for all charsets */ 0x10F23, 0x10F52, 0x10F53, + 0x10FC9, + 0x10FCA, 0x1105B, 0x1105C, 0x111EA, @@ -329227,7 +352720,7 @@ static const UV UNI_NV__10_invlist[] = { /* for all charsets */ }; static const UV UNI_NV__100_invlist[] = { /* for all charsets */ - 69, /* Number of elements */ + 71, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -329288,6 +352781,8 @@ static const UV UNI_NV__100_invlist[] = { /* for all charsets */ 0x10F26, 0x10F54, 0x10F55, + 0x10FCB, + 0x10FCC, 0x11064, 0x11065, 0x111F3, @@ -329709,7 +353204,7 @@ static const UV UNI_NV__19_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NV__2_invlist[] = { /* for ASCII/Latin1 */ - 267, /* Number of elements */ + 273, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -329880,6 +353375,8 @@ static const UV UNI_NV__2_invlist[] = { /* for ASCII/Latin1 */ 0x10E62, 0x10F1E, 0x10F1F, + 0x10FC6, + 0x10FC7, 0x11053, 0x11054, 0x11068, @@ -329906,6 +353403,8 @@ static const UV UNI_NV__2_invlist[] = { /* for ASCII/Latin1 */ 0x11733, 0x118E2, 0x118E3, + 0x11952, + 0x11953, 0x11C52, 0x11C53, 0x11C5B, @@ -329978,6 +353477,8 @@ static const UV UNI_NV__2_invlist[] = { /* for ASCII/Latin1 */ 0x1ED30, 0x1F103, 0x1F104, + 0x1FBF2, + 0x1FBF3, 0x22390, 0x22391 }; @@ -329990,7 +353491,7 @@ static const UV UNI_NV__2_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NV__2_invlist[] = { /* for EBCDIC 1047 */ - 267, /* Number of elements */ + 273, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -330161,6 +353662,8 @@ static const UV UNI_NV__2_invlist[] = { /* for EBCDIC 1047 */ 0x10E62, 0x10F1E, 0x10F1F, + 0x10FC6, + 0x10FC7, 0x11053, 0x11054, 0x11068, @@ -330187,6 +353690,8 @@ static const UV UNI_NV__2_invlist[] = { /* for EBCDIC 1047 */ 0x11733, 0x118E2, 0x118E3, + 0x11952, + 0x11953, 0x11C52, 0x11C53, 0x11C5B, @@ -330259,6 +353764,8 @@ static const UV UNI_NV__2_invlist[] = { /* for EBCDIC 1047 */ 0x1ED30, 0x1F103, 0x1F104, + 0x1FBF2, + 0x1FBF3, 0x22390, 0x22391 }; @@ -330271,7 +353778,7 @@ static const UV UNI_NV__2_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NV__2_invlist[] = { /* for EBCDIC 037 */ - 267, /* Number of elements */ + 273, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -330442,6 +353949,8 @@ static const UV UNI_NV__2_invlist[] = { /* for EBCDIC 037 */ 0x10E62, 0x10F1E, 0x10F1F, + 0x10FC6, + 0x10FC7, 0x11053, 0x11054, 0x11068, @@ -330468,6 +353977,8 @@ static const UV UNI_NV__2_invlist[] = { /* for EBCDIC 037 */ 0x11733, 0x118E2, 0x118E3, + 0x11952, + 0x11953, 0x11C52, 0x11C53, 0x11C5B, @@ -330540,6 +354051,8 @@ static const UV UNI_NV__2_invlist[] = { /* for EBCDIC 037 */ 0x1ED30, 0x1F103, 0x1F104, + 0x1FBF2, + 0x1FBF3, 0x22390, 0x22391 }; @@ -330579,7 +354092,7 @@ static const UV UNI_NV__2_SLASH_5_invlist[] = { /* for all charsets */ }; static const UV UNI_NV__20_invlist[] = { /* for all charsets */ - 71, /* Number of elements */ + 73, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -330638,6 +354151,8 @@ static const UV UNI_NV__20_invlist[] = { /* for all charsets */ 0x10F24, 0x10F53, 0x10F54, + 0x10FCA, + 0x10FCB, 0x1105C, 0x1105D, 0x111EB, @@ -330835,7 +354350,7 @@ static const UV UNI_NV__29_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NV__3_invlist[] = { /* for ASCII/Latin1 */ - 261, /* Number of elements */ + 267, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -330994,6 +354509,8 @@ static const UV UNI_NV__3_invlist[] = { /* for ASCII/Latin1 */ 0x10E63, 0x10F1F, 0x10F20, + 0x10FC7, + 0x10FC8, 0x11054, 0x11055, 0x11069, @@ -331020,6 +354537,8 @@ static const UV UNI_NV__3_invlist[] = { /* for ASCII/Latin1 */ 0x11734, 0x118E3, 0x118E4, + 0x11953, + 0x11954, 0x11C53, 0x11C54, 0x11C5C, @@ -331092,6 +354611,8 @@ static const UV UNI_NV__3_invlist[] = { /* for ASCII/Latin1 */ 0x1ED31, 0x1F104, 0x1F105, + 0x1FBF3, + 0x1FBF4, 0x20AFD, 0x20AFE, 0x20B19, @@ -331110,7 +354631,7 @@ static const UV UNI_NV__3_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NV__3_invlist[] = { /* for EBCDIC 1047 */ - 261, /* Number of elements */ + 267, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -331269,6 +354790,8 @@ static const UV UNI_NV__3_invlist[] = { /* for EBCDIC 1047 */ 0x10E63, 0x10F1F, 0x10F20, + 0x10FC7, + 0x10FC8, 0x11054, 0x11055, 0x11069, @@ -331295,6 +354818,8 @@ static const UV UNI_NV__3_invlist[] = { /* for EBCDIC 1047 */ 0x11734, 0x118E3, 0x118E4, + 0x11953, + 0x11954, 0x11C53, 0x11C54, 0x11C5C, @@ -331367,6 +354892,8 @@ static const UV UNI_NV__3_invlist[] = { /* for EBCDIC 1047 */ 0x1ED31, 0x1F104, 0x1F105, + 0x1FBF3, + 0x1FBF4, 0x20AFD, 0x20AFE, 0x20B19, @@ -331385,7 +354912,7 @@ static const UV UNI_NV__3_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NV__3_invlist[] = { /* for EBCDIC 037 */ - 261, /* Number of elements */ + 267, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -331544,6 +355071,8 @@ static const UV UNI_NV__3_invlist[] = { /* for EBCDIC 037 */ 0x10E63, 0x10F1F, 0x10F20, + 0x10FC7, + 0x10FC8, 0x11054, 0x11055, 0x11069, @@ -331570,6 +355099,8 @@ static const UV UNI_NV__3_invlist[] = { /* for EBCDIC 037 */ 0x11734, 0x118E3, 0x118E4, + 0x11953, + 0x11954, 0x11C53, 0x11C54, 0x11C5C, @@ -331642,6 +355173,8 @@ static const UV UNI_NV__3_invlist[] = { /* for EBCDIC 037 */ 0x1ED31, 0x1F104, 0x1F105, + 0x1FBF3, + 0x1FBF4, 0x20AFD, 0x20AFE, 0x20B19, @@ -332035,7 +355568,7 @@ static const UV UNI_NV__39_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NV__4_invlist[] = { /* for ASCII/Latin1 */ - 247, /* Number of elements */ + 253, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -332182,6 +355715,8 @@ static const UV UNI_NV__4_invlist[] = { /* for ASCII/Latin1 */ 0x10E64, 0x10F20, 0x10F21, + 0x10FC8, + 0x10FC9, 0x11055, 0x11056, 0x1106A, @@ -332208,6 +355743,8 @@ static const UV UNI_NV__4_invlist[] = { /* for ASCII/Latin1 */ 0x11735, 0x118E4, 0x118E5, + 0x11954, + 0x11955, 0x11C54, 0x11C55, 0x11C5D, @@ -332280,6 +355817,8 @@ static const UV UNI_NV__4_invlist[] = { /* for ASCII/Latin1 */ 0x1ED32, 0x1F105, 0x1F106, + 0x1FBF4, + 0x1FBF5, 0x20064, 0x20065, 0x200E2, @@ -332296,7 +355835,7 @@ static const UV UNI_NV__4_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NV__4_invlist[] = { /* for EBCDIC 1047 */ - 247, /* Number of elements */ + 253, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -332443,6 +355982,8 @@ static const UV UNI_NV__4_invlist[] = { /* for EBCDIC 1047 */ 0x10E64, 0x10F20, 0x10F21, + 0x10FC8, + 0x10FC9, 0x11055, 0x11056, 0x1106A, @@ -332469,6 +356010,8 @@ static const UV UNI_NV__4_invlist[] = { /* for EBCDIC 1047 */ 0x11735, 0x118E4, 0x118E5, + 0x11954, + 0x11955, 0x11C54, 0x11C55, 0x11C5D, @@ -332541,6 +356084,8 @@ static const UV UNI_NV__4_invlist[] = { /* for EBCDIC 1047 */ 0x1ED32, 0x1F105, 0x1F106, + 0x1FBF4, + 0x1FBF5, 0x20064, 0x20065, 0x200E2, @@ -332557,7 +356102,7 @@ static const UV UNI_NV__4_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NV__4_invlist[] = { /* for EBCDIC 037 */ - 247, /* Number of elements */ + 253, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -332704,6 +356249,8 @@ static const UV UNI_NV__4_invlist[] = { /* for EBCDIC 037 */ 0x10E64, 0x10F20, 0x10F21, + 0x10FC8, + 0x10FC9, 0x11055, 0x11056, 0x1106A, @@ -332730,6 +356277,8 @@ static const UV UNI_NV__4_invlist[] = { /* for EBCDIC 037 */ 0x11735, 0x118E4, 0x118E5, + 0x11954, + 0x11955, 0x11C54, 0x11C55, 0x11C5D, @@ -332802,6 +356351,8 @@ static const UV UNI_NV__4_invlist[] = { /* for EBCDIC 037 */ 0x1ED32, 0x1F105, 0x1F106, + 0x1FBF4, + 0x1FBF5, 0x20064, 0x20065, 0x200E2, @@ -333033,7 +356584,7 @@ static const UV UNI_NV__49_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NV__5_invlist[] = { /* for ASCII/Latin1 */ - 253, /* Number of elements */ + 257, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -333216,6 +356767,8 @@ static const UV UNI_NV__5_invlist[] = { /* for ASCII/Latin1 */ 0x11736, 0x118E5, 0x118E6, + 0x11955, + 0x11956, 0x11C55, 0x11C56, 0x11C5E, @@ -333288,6 +356841,8 @@ static const UV UNI_NV__5_invlist[] = { /* for ASCII/Latin1 */ 0x1ED33, 0x1F106, 0x1F107, + 0x1FBF5, + 0x1FBF6, 0x20121, 0x20122 }; @@ -333300,7 +356855,7 @@ static const UV UNI_NV__5_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NV__5_invlist[] = { /* for EBCDIC 1047 */ - 253, /* Number of elements */ + 257, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -333483,6 +357038,8 @@ static const UV UNI_NV__5_invlist[] = { /* for EBCDIC 1047 */ 0x11736, 0x118E5, 0x118E6, + 0x11955, + 0x11956, 0x11C55, 0x11C56, 0x11C5E, @@ -333555,6 +357112,8 @@ static const UV UNI_NV__5_invlist[] = { /* for EBCDIC 1047 */ 0x1ED33, 0x1F106, 0x1F107, + 0x1FBF5, + 0x1FBF6, 0x20121, 0x20122 }; @@ -333567,7 +357126,7 @@ static const UV UNI_NV__5_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NV__5_invlist[] = { /* for EBCDIC 037 */ - 253, /* Number of elements */ + 257, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -333750,6 +357309,8 @@ static const UV UNI_NV__5_invlist[] = { /* for EBCDIC 037 */ 0x11736, 0x118E5, 0x118E6, + 0x11955, + 0x11956, 0x11C55, 0x11C56, 0x11C5E, @@ -333822,6 +357383,8 @@ static const UV UNI_NV__5_invlist[] = { /* for EBCDIC 037 */ 0x1ED33, 0x1F106, 0x1F107, + 0x1FBF5, + 0x1FBF6, 0x20121, 0x20122 }; @@ -334023,7 +357586,7 @@ static const UV UNI_NV__500000_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NV__6_invlist[] = { /* for ASCII/Latin1 */ - 223, /* Number of elements */ + 227, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -334186,6 +357749,8 @@ static const UV UNI_NV__6_invlist[] = { /* for ASCII/Latin1 */ 0x11737, 0x118E6, 0x118E7, + 0x11956, + 0x11957, 0x11C56, 0x11C57, 0x11C5F, @@ -334248,6 +357813,8 @@ static const UV UNI_NV__6_invlist[] = { /* for ASCII/Latin1 */ 0x1ED34, 0x1F107, 0x1F108, + 0x1FBF6, + 0x1FBF7, 0x20AEA, 0x20AEB }; @@ -334260,7 +357827,7 @@ static const UV UNI_NV__6_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NV__6_invlist[] = { /* for EBCDIC 1047 */ - 223, /* Number of elements */ + 227, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -334423,6 +357990,8 @@ static const UV UNI_NV__6_invlist[] = { /* for EBCDIC 1047 */ 0x11737, 0x118E6, 0x118E7, + 0x11956, + 0x11957, 0x11C56, 0x11C57, 0x11C5F, @@ -334485,6 +358054,8 @@ static const UV UNI_NV__6_invlist[] = { /* for EBCDIC 1047 */ 0x1ED34, 0x1F107, 0x1F108, + 0x1FBF6, + 0x1FBF7, 0x20AEA, 0x20AEB }; @@ -334497,7 +358068,7 @@ static const UV UNI_NV__6_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NV__6_invlist[] = { /* for EBCDIC 037 */ - 223, /* Number of elements */ + 227, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -334660,6 +358231,8 @@ static const UV UNI_NV__6_invlist[] = { /* for EBCDIC 037 */ 0x11737, 0x118E6, 0x118E7, + 0x11956, + 0x11957, 0x11C56, 0x11C57, 0x11C5F, @@ -334722,6 +358295,8 @@ static const UV UNI_NV__6_invlist[] = { /* for EBCDIC 037 */ 0x1ED34, 0x1F107, 0x1F108, + 0x1FBF6, + 0x1FBF7, 0x20AEA, 0x20AEB }; @@ -334829,7 +358404,7 @@ static const UV UNI_NV__600000_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NV__7_invlist[] = { /* for ASCII/Latin1 */ - 217, /* Number of elements */ + 221, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -334988,6 +358563,8 @@ static const UV UNI_NV__7_invlist[] = { /* for ASCII/Latin1 */ 0x11738, 0x118E7, 0x118E8, + 0x11957, + 0x11958, 0x11C57, 0x11C58, 0x11C60, @@ -335048,6 +358625,8 @@ static const UV UNI_NV__7_invlist[] = { /* for ASCII/Latin1 */ 0x1ED35, 0x1F108, 0x1F109, + 0x1FBF7, + 0x1FBF8, 0x20001, 0x20002 }; @@ -335060,7 +358639,7 @@ static const UV UNI_NV__7_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NV__7_invlist[] = { /* for EBCDIC 1047 */ - 217, /* Number of elements */ + 221, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -335219,6 +358798,8 @@ static const UV UNI_NV__7_invlist[] = { /* for EBCDIC 1047 */ 0x11738, 0x118E7, 0x118E8, + 0x11957, + 0x11958, 0x11C57, 0x11C58, 0x11C60, @@ -335279,6 +358860,8 @@ static const UV UNI_NV__7_invlist[] = { /* for EBCDIC 1047 */ 0x1ED35, 0x1F108, 0x1F109, + 0x1FBF7, + 0x1FBF8, 0x20001, 0x20002 }; @@ -335291,7 +358874,7 @@ static const UV UNI_NV__7_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NV__7_invlist[] = { /* for EBCDIC 037 */ - 217, /* Number of elements */ + 221, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -335450,6 +359033,8 @@ static const UV UNI_NV__7_invlist[] = { /* for EBCDIC 037 */ 0x11738, 0x118E7, 0x118E8, + 0x11957, + 0x11958, 0x11C57, 0x11C58, 0x11C60, @@ -335510,6 +359095,8 @@ static const UV UNI_NV__7_invlist[] = { /* for EBCDIC 037 */ 0x1ED35, 0x1F108, 0x1F109, + 0x1FBF7, + 0x1FBF8, 0x20001, 0x20002 }; @@ -335645,7 +359232,7 @@ static const UV UNI_NV__700000_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NV__8_invlist[] = { /* for ASCII/Latin1 */ - 211, /* Number of elements */ + 215, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -335800,6 +359387,8 @@ static const UV UNI_NV__8_invlist[] = { /* for ASCII/Latin1 */ 0x11739, 0x118E8, 0x118E9, + 0x11958, + 0x11959, 0x11C58, 0x11C59, 0x11C61, @@ -335859,7 +359448,9 @@ static const UV UNI_NV__8_invlist[] = { /* for ASCII/Latin1 */ 0x1ED35, 0x1ED36, 0x1F109, - 0x1F10A + 0x1F10A, + 0x1FBF8, + 0x1FBF9 }; # endif /* ASCII/Latin1 */ @@ -335870,7 +359461,7 @@ static const UV UNI_NV__8_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NV__8_invlist[] = { /* for EBCDIC 1047 */ - 211, /* Number of elements */ + 215, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -336025,6 +359616,8 @@ static const UV UNI_NV__8_invlist[] = { /* for EBCDIC 1047 */ 0x11739, 0x118E8, 0x118E9, + 0x11958, + 0x11959, 0x11C58, 0x11C59, 0x11C61, @@ -336084,7 +359677,9 @@ static const UV UNI_NV__8_invlist[] = { /* for EBCDIC 1047 */ 0x1ED35, 0x1ED36, 0x1F109, - 0x1F10A + 0x1F10A, + 0x1FBF8, + 0x1FBF9 }; # endif /* EBCDIC 1047 */ @@ -336095,7 +359690,7 @@ static const UV UNI_NV__8_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NV__8_invlist[] = { /* for EBCDIC 037 */ - 211, /* Number of elements */ + 215, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -336250,6 +359845,8 @@ static const UV UNI_NV__8_invlist[] = { /* for EBCDIC 037 */ 0x11739, 0x118E8, 0x118E9, + 0x11958, + 0x11959, 0x11C58, 0x11C59, 0x11C61, @@ -336309,7 +359906,9 @@ static const UV UNI_NV__8_invlist[] = { /* for EBCDIC 037 */ 0x1ED35, 0x1ED36, 0x1F109, - 0x1F10A + 0x1F10A, + 0x1FBF8, + 0x1FBF9 }; # endif /* EBCDIC 037 */ @@ -336411,7 +360010,7 @@ static const UV UNI_NV__800000_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NV__9_invlist[] = { /* for ASCII/Latin1 */ - 215, /* Number of elements */ + 219, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -336568,6 +360167,8 @@ static const UV UNI_NV__9_invlist[] = { /* for ASCII/Latin1 */ 0x1173A, 0x118E9, 0x118EA, + 0x11959, + 0x1195A, 0x11C59, 0x11C5A, 0x11C62, @@ -336628,6 +360229,8 @@ static const UV UNI_NV__9_invlist[] = { /* for ASCII/Latin1 */ 0x1ED37, 0x1F10A, 0x1F10B, + 0x1FBF9, + 0x1FBFA, 0x2F890, 0x2F891 }; @@ -336640,7 +360243,7 @@ static const UV UNI_NV__9_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NV__9_invlist[] = { /* for EBCDIC 1047 */ - 215, /* Number of elements */ + 219, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -336797,6 +360400,8 @@ static const UV UNI_NV__9_invlist[] = { /* for EBCDIC 1047 */ 0x1173A, 0x118E9, 0x118EA, + 0x11959, + 0x1195A, 0x11C59, 0x11C5A, 0x11C62, @@ -336857,6 +360462,8 @@ static const UV UNI_NV__9_invlist[] = { /* for EBCDIC 1047 */ 0x1ED37, 0x1F10A, 0x1F10B, + 0x1FBF9, + 0x1FBFA, 0x2F890, 0x2F891 }; @@ -336869,7 +360476,7 @@ static const UV UNI_NV__9_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NV__9_invlist[] = { /* for EBCDIC 037 */ - 215, /* Number of elements */ + 219, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -337026,6 +360633,8 @@ static const UV UNI_NV__9_invlist[] = { /* for EBCDIC 037 */ 0x1173A, 0x118E9, 0x118EA, + 0x11959, + 0x1195A, 0x11C59, 0x11C5A, 0x11C62, @@ -337086,6 +360695,8 @@ static const UV UNI_NV__9_invlist[] = { /* for EBCDIC 037 */ 0x1ED37, 0x1F10A, 0x1F10B, + 0x1FBF9, + 0x1FBFA, 0x2F890, 0x2F891 }; @@ -337201,7 +360812,7 @@ static const UV UNI_NV__900000_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NV__NAN_invlist[] = { /* for ASCII/Latin1 */ - 405, /* Number of elements */ + 411, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -337510,6 +361121,8 @@ static const UV UNI_NV__NAN_invlist[] = { /* for ASCII/Latin1 */ 0x10F27, 0x10F51, 0x10F55, + 0x10FC5, + 0x10FCC, 0x11052, 0x11070, 0x110F0, @@ -337534,6 +361147,8 @@ static const UV UNI_NV__NAN_invlist[] = { /* for ASCII/Latin1 */ 0x1173C, 0x118E0, 0x118F3, + 0x11950, + 0x1195A, 0x11C50, 0x11C6D, 0x11D50, @@ -337578,6 +361193,8 @@ static const UV UNI_NV__NAN_invlist[] = { /* for ASCII/Latin1 */ 0x1ED3E, 0x1F100, 0x1F10D, + 0x1FBF0, + 0x1FBFA, 0x20001, 0x20002, 0x20064, @@ -337620,7 +361237,7 @@ static const UV UNI_NV__NAN_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NV__NAN_invlist[] = { /* for EBCDIC 1047 */ - 405, /* Number of elements */ + 411, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -337929,6 +361546,8 @@ static const UV UNI_NV__NAN_invlist[] = { /* for EBCDIC 1047 */ 0x10F27, 0x10F51, 0x10F55, + 0x10FC5, + 0x10FCC, 0x11052, 0x11070, 0x110F0, @@ -337953,6 +361572,8 @@ static const UV UNI_NV__NAN_invlist[] = { /* for EBCDIC 1047 */ 0x1173C, 0x118E0, 0x118F3, + 0x11950, + 0x1195A, 0x11C50, 0x11C6D, 0x11D50, @@ -337997,6 +361618,8 @@ static const UV UNI_NV__NAN_invlist[] = { /* for EBCDIC 1047 */ 0x1ED3E, 0x1F100, 0x1F10D, + 0x1FBF0, + 0x1FBFA, 0x20001, 0x20002, 0x20064, @@ -338039,7 +361662,7 @@ static const UV UNI_NV__NAN_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NV__NAN_invlist[] = { /* for EBCDIC 037 */ - 405, /* Number of elements */ + 411, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -338348,6 +361971,8 @@ static const UV UNI_NV__NAN_invlist[] = { /* for EBCDIC 037 */ 0x10F27, 0x10F51, 0x10F55, + 0x10FC5, + 0x10FCC, 0x11052, 0x11070, 0x110F0, @@ -338372,6 +361997,8 @@ static const UV UNI_NV__NAN_invlist[] = { /* for EBCDIC 037 */ 0x1173C, 0x118E0, 0x118F3, + 0x11950, + 0x1195A, 0x11C50, 0x11C6D, 0x11D50, @@ -338416,6 +362043,8 @@ static const UV UNI_NV__NAN_invlist[] = { /* for EBCDIC 037 */ 0x1ED3E, 0x1F100, 0x1F10D, + 0x1FBF0, + 0x1FBFA, 0x20001, 0x20002, 0x20064, @@ -338532,7 +362161,7 @@ static const UV UNI_ORYA_invlist[] = { /* for all charsets */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -338583,7 +362212,7 @@ static const UV UNI_OTTOMANSIYAQNUMBERS_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_P_invlist[] = { /* for ASCII/Latin1 */ - 365, /* Number of elements */ + 371, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -338768,6 +362397,8 @@ static const UV UNI_P_invlist[] = { /* for ASCII/Latin1 */ 0x2E2F, 0x2E30, 0x2E50, + 0x2E52, + 0x2E53, 0x3001, 0x3004, 0x3008, @@ -338874,6 +362505,8 @@ static const UV UNI_P_invlist[] = { /* for ASCII/Latin1 */ 0x10B40, 0x10B99, 0x10B9D, + 0x10EAD, + 0x10EAE, 0x10F55, 0x10F5A, 0x11047, @@ -338900,7 +362533,7 @@ static const UV UNI_P_invlist[] = { /* for ASCII/Latin1 */ 0x112AA, 0x1144B, 0x11450, - 0x1145B, + 0x1145A, 0x1145C, 0x1145D, 0x1145E, @@ -338916,6 +362549,8 @@ static const UV UNI_P_invlist[] = { /* for ASCII/Latin1 */ 0x1173F, 0x1183B, 0x1183C, + 0x11944, + 0x11947, 0x119E2, 0x119E3, 0x11A3F, @@ -338962,7 +362597,7 @@ static const UV UNI_P_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_P_invlist[] = { /* for EBCDIC 1047 */ - 373, /* Number of elements */ + 379, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -339155,6 +362790,8 @@ static const UV UNI_P_invlist[] = { /* for EBCDIC 1047 */ 0x2E2F, 0x2E30, 0x2E50, + 0x2E52, + 0x2E53, 0x3001, 0x3004, 0x3008, @@ -339261,6 +362898,8 @@ static const UV UNI_P_invlist[] = { /* for EBCDIC 1047 */ 0x10B40, 0x10B99, 0x10B9D, + 0x10EAD, + 0x10EAE, 0x10F55, 0x10F5A, 0x11047, @@ -339287,7 +362926,7 @@ static const UV UNI_P_invlist[] = { /* for EBCDIC 1047 */ 0x112AA, 0x1144B, 0x11450, - 0x1145B, + 0x1145A, 0x1145C, 0x1145D, 0x1145E, @@ -339303,6 +362942,8 @@ static const UV UNI_P_invlist[] = { /* for EBCDIC 1047 */ 0x1173F, 0x1183B, 0x1183C, + 0x11944, + 0x11947, 0x119E2, 0x119E3, 0x11A3F, @@ -339349,7 +362990,7 @@ static const UV UNI_P_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_P_invlist[] = { /* for EBCDIC 037 */ - 371, /* Number of elements */ + 377, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -339540,6 +363181,8 @@ static const UV UNI_P_invlist[] = { /* for EBCDIC 037 */ 0x2E2F, 0x2E30, 0x2E50, + 0x2E52, + 0x2E53, 0x3001, 0x3004, 0x3008, @@ -339646,6 +363289,8 @@ static const UV UNI_P_invlist[] = { /* for EBCDIC 037 */ 0x10B40, 0x10B99, 0x10B9D, + 0x10EAD, + 0x10EAE, 0x10F55, 0x10F5A, 0x11047, @@ -339672,7 +363317,7 @@ static const UV UNI_P_invlist[] = { /* for EBCDIC 037 */ 0x112AA, 0x1144B, 0x11450, - 0x1145B, + 0x1145A, 0x1145C, 0x1145D, 0x1145E, @@ -339688,6 +363333,8 @@ static const UV UNI_P_invlist[] = { /* for EBCDIC 037 */ 0x1173F, 0x1183B, 0x1183C, + 0x11944, + 0x11947, 0x119E2, 0x119E3, 0x11A3F, @@ -340065,7 +363712,7 @@ static const UV UNI_PCM_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_PD_invlist[] = { /* for ASCII/Latin1 */ - 35, /* Number of elements */ + 37, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -340103,7 +363750,9 @@ static const UV UNI_PD_invlist[] = { /* for ASCII/Latin1 */ 0xFE63, 0xFE64, 0xFF0D, - 0xFF0E + 0xFF0E, + 0x10EAD, + 0x10EAE }; # endif /* ASCII/Latin1 */ @@ -340114,7 +363763,7 @@ static const UV UNI_PD_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_PD_invlist[] = { /* for EBCDIC 1047 */ - 35, /* Number of elements */ + 37, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -340152,7 +363801,9 @@ static const UV UNI_PD_invlist[] = { /* for EBCDIC 1047 */ 0xFE63, 0xFE64, 0xFF0D, - 0xFF0E + 0xFF0E, + 0x10EAD, + 0x10EAE }; # endif /* EBCDIC 1047 */ @@ -340163,7 +363814,7 @@ static const UV UNI_PD_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_PD_invlist[] = { /* for EBCDIC 037 */ - 35, /* Number of elements */ + 37, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -340201,7 +363852,9 @@ static const UV UNI_PD_invlist[] = { /* for EBCDIC 037 */ 0xFE63, 0xFE64, 0xFF0D, - 0xFF0E + 0xFF0E, + 0x10EAD, + 0x10EAE }; # endif /* EBCDIC 037 */ @@ -340999,7 +364652,7 @@ static const UV UNI_PLAYINGCARDS_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_PO_invlist[] = { /* for ASCII/Latin1 */ - 359, /* Number of elements */ + 363, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -341180,6 +364833,8 @@ static const UV UNI_PO_invlist[] = { /* for ASCII/Latin1 */ 0x2E42, 0x2E43, 0x2E50, + 0x2E52, + 0x2E53, 0x3001, 0x3004, 0x303D, @@ -341310,7 +364965,7 @@ static const UV UNI_PO_invlist[] = { /* for ASCII/Latin1 */ 0x112AA, 0x1144B, 0x11450, - 0x1145B, + 0x1145A, 0x1145C, 0x1145D, 0x1145E, @@ -341326,6 +364981,8 @@ static const UV UNI_PO_invlist[] = { /* for ASCII/Latin1 */ 0x1173F, 0x1183B, 0x1183C, + 0x11944, + 0x11947, 0x119E2, 0x119E3, 0x11A3F, @@ -341372,7 +365029,7 @@ static const UV UNI_PO_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_PO_invlist[] = { /* for EBCDIC 1047 */ - 363, /* Number of elements */ + 367, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -341557,6 +365214,8 @@ static const UV UNI_PO_invlist[] = { /* for EBCDIC 1047 */ 0x2E42, 0x2E43, 0x2E50, + 0x2E52, + 0x2E53, 0x3001, 0x3004, 0x303D, @@ -341687,7 +365346,7 @@ static const UV UNI_PO_invlist[] = { /* for EBCDIC 1047 */ 0x112AA, 0x1144B, 0x11450, - 0x1145B, + 0x1145A, 0x1145C, 0x1145D, 0x1145E, @@ -341703,6 +365362,8 @@ static const UV UNI_PO_invlist[] = { /* for EBCDIC 1047 */ 0x1173F, 0x1183B, 0x1183C, + 0x11944, + 0x11947, 0x119E2, 0x119E3, 0x11A3F, @@ -341749,7 +365410,7 @@ static const UV UNI_PO_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_PO_invlist[] = { /* for EBCDIC 037 */ - 363, /* Number of elements */ + 367, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -341934,6 +365595,8 @@ static const UV UNI_PO_invlist[] = { /* for EBCDIC 037 */ 0x2E42, 0x2E43, 0x2E50, + 0x2E52, + 0x2E53, 0x3001, 0x3004, 0x303D, @@ -342064,7 +365727,7 @@ static const UV UNI_PO_invlist[] = { /* for EBCDIC 037 */ 0x112AA, 0x1144B, 0x11450, - 0x1145B, + 0x1145A, 0x1145C, 0x1145D, 0x1145E, @@ -342080,6 +365743,8 @@ static const UV UNI_PO_invlist[] = { /* for EBCDIC 037 */ 0x1173F, 0x1183B, 0x1183C, + 0x11944, + 0x11947, 0x119E2, 0x119E3, 0x11A3F, @@ -342635,7 +366300,7 @@ static const UV UNI_PUA_invlist[] = { /* for all charsets */ }; static const UV UNI_QAAI_invlist[] = { /* for all charsets */ - 35, /* Number of elements */ + 37, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -342649,8 +366314,10 @@ static const UV UNI_QAAI_invlist[] = { /* for all charsets */ 0x953, 0x955, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1DC2, + 0x1DF8, + 0x1DF9, 0x1DFA, 0x1DFB, 0x1E00, @@ -342875,7 +366542,7 @@ static const UV UNI_RUNR_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_S_invlist[] = { /* for ASCII/Latin1 */ - 453, /* Number of elements */ + 459, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -343080,10 +366747,12 @@ static const UV UNI_S_invlist[] = { /* for ASCII/Latin1 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C00, 0x2CE5, 0x2CEB, + 0x2E50, + 0x2E52, 0x2E80, 0x2E9A, 0x2E9B, @@ -343140,6 +366809,8 @@ static const UV UNI_S_invlist[] = { /* for ASCII/Latin1 */ 0xAA7A, 0xAB5B, 0xAB5C, + 0xAB6A, + 0xAB6C, 0xFB29, 0xFB2A, 0xFBB2, @@ -343179,7 +366850,7 @@ static const UV UNI_S_invlist[] = { /* for ASCII/Latin1 */ 0x1018C, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -343272,10 +366943,8 @@ static const UV UNI_S_invlist[] = { /* for ASCII/Latin1 */ 0x1F0D0, 0x1F0D1, 0x1F0F6, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F10D, + 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, @@ -343287,11 +366956,11 @@ static const UV UNI_S_invlist[] = { /* for ASCII/Latin1 */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -343308,30 +366977,34 @@ static const UV UNI_S_invlist[] = { /* for ASCII/Latin1 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96 + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB }; # endif /* ASCII/Latin1 */ @@ -343342,7 +367015,7 @@ static const UV UNI_S_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_S_invlist[] = { /* for EBCDIC 1047 */ - 459, /* Number of elements */ + 465, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -343553,10 +367226,12 @@ static const UV UNI_S_invlist[] = { /* for EBCDIC 1047 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C00, 0x2CE5, 0x2CEB, + 0x2E50, + 0x2E52, 0x2E80, 0x2E9A, 0x2E9B, @@ -343613,6 +367288,8 @@ static const UV UNI_S_invlist[] = { /* for EBCDIC 1047 */ 0xAA7A, 0xAB5B, 0xAB5C, + 0xAB6A, + 0xAB6C, 0xFB29, 0xFB2A, 0xFBB2, @@ -343652,7 +367329,7 @@ static const UV UNI_S_invlist[] = { /* for EBCDIC 1047 */ 0x1018C, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -343745,10 +367422,8 @@ static const UV UNI_S_invlist[] = { /* for EBCDIC 1047 */ 0x1F0D0, 0x1F0D1, 0x1F0F6, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F10D, + 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, @@ -343760,11 +367435,11 @@ static const UV UNI_S_invlist[] = { /* for EBCDIC 1047 */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -343781,30 +367456,34 @@ static const UV UNI_S_invlist[] = { /* for EBCDIC 1047 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96 + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB }; # endif /* EBCDIC 1047 */ @@ -343815,7 +367494,7 @@ static const UV UNI_S_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_S_invlist[] = { /* for EBCDIC 037 */ - 457, /* Number of elements */ + 463, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -344024,10 +367703,12 @@ static const UV UNI_S_invlist[] = { /* for EBCDIC 037 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C00, 0x2CE5, 0x2CEB, + 0x2E50, + 0x2E52, 0x2E80, 0x2E9A, 0x2E9B, @@ -344084,6 +367765,8 @@ static const UV UNI_S_invlist[] = { /* for EBCDIC 037 */ 0xAA7A, 0xAB5B, 0xAB5C, + 0xAB6A, + 0xAB6C, 0xFB29, 0xFB2A, 0xFBB2, @@ -344123,7 +367806,7 @@ static const UV UNI_S_invlist[] = { /* for EBCDIC 037 */ 0x1018C, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -344216,10 +367899,8 @@ static const UV UNI_S_invlist[] = { /* for EBCDIC 037 */ 0x1F0D0, 0x1F0D1, 0x1F0F6, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F10D, + 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, @@ -344231,11 +367912,11 @@ static const UV UNI_S_invlist[] = { /* for EBCDIC 037 */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -344252,30 +367933,34 @@ static const UV UNI_S_invlist[] = { /* for EBCDIC 037 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96 + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB }; # endif /* EBCDIC 037 */ @@ -344689,7 +368374,7 @@ static const UV UNI_SB__CL_invlist[] = { /* for EBCDIC 037 */ # endif /* EBCDIC 037 */ static const UV UNI_SB__EX_invlist[] = { /* for all charsets */ - 567, /* Number of elements */ + 587, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -344810,7 +368495,7 @@ static const UV UNI_SB__EX_invlist[] = { /* for all charsets */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB62, 0xB64, @@ -344864,7 +368549,7 @@ static const UV UNI_SB__EX_invlist[] = { /* for all charsets */ 0xD58, 0xD62, 0xD64, - 0xD82, + 0xD81, 0xD84, 0xDCA, 0xDCB, @@ -344959,7 +368644,7 @@ static const UV UNI_SB__EX_invlist[] = { /* for all charsets */ 0x1A7F, 0x1A80, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B05, 0x1B34, @@ -345018,6 +368703,8 @@ static const UV UNI_SB__EX_invlist[] = { /* for all charsets */ 0xA80C, 0xA823, 0xA828, + 0xA82C, + 0xA82D, 0xA880, 0xA882, 0xA8B4, @@ -345090,6 +368777,8 @@ static const UV UNI_SB__EX_invlist[] = { /* for all charsets */ 0x10AE7, 0x10D24, 0x10D28, + 0x10EAB, + 0x10EAD, 0x10F46, 0x10F51, 0x11000, @@ -345114,6 +368803,8 @@ static const UV UNI_SB__EX_invlist[] = { /* for all charsets */ 0x111C1, 0x111C9, 0x111CD, + 0x111CE, + 0x111D0, 0x1122C, 0x11238, 0x1123E, @@ -345158,6 +368849,16 @@ static const UV UNI_SB__EX_invlist[] = { /* for all charsets */ 0x1172C, 0x1182C, 0x1183B, + 0x11930, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, + 0x11944, 0x119D1, 0x119D8, 0x119DA, @@ -345212,6 +368913,10 @@ static const UV UNI_SB__EX_invlist[] = { /* for all charsets */ 0x16F88, 0x16F8F, 0x16F93, + 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x1BC9D, 0x1BC9F, 0x1D165, @@ -345425,7 +369130,7 @@ static const UV UNI_SB__FO_invlist[] = { /* for EBCDIC 037 */ # endif /* EBCDIC 037 */ static const UV UNI_SB__LE_invlist[] = { /* for all charsets */ - 1011, /* Number of elements */ + 1039, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -345497,7 +369202,7 @@ static const UV UNI_SB__LE_invlist[] = { /* for all charsets */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x904, 0x93A, 0x93D, @@ -345648,7 +369353,7 @@ static const UV UNI_SB__LE_invlist[] = { /* for all charsets */ 0xCE2, 0xCF1, 0xCF3, - 0xD05, + 0xD04, 0xD0D, 0xD0E, 0xD11, @@ -345897,13 +369602,13 @@ static const UV UNI_SB__LE_invlist[] = { /* for all charsets */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -346000,6 +369705,8 @@ static const UV UNI_SB__LE_invlist[] = { /* for all charsets */ 0xAB27, 0xAB28, 0xAB2F, + 0xAB69, + 0xAB6A, 0xABC0, 0xABE3, 0xAC00, @@ -346154,12 +369861,18 @@ static const UV UNI_SB__LE_invlist[] = { /* for all charsets */ 0x10C49, 0x10D00, 0x10D24, + 0x10E80, + 0x10EAA, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, @@ -346172,6 +369885,8 @@ static const UV UNI_SB__LE_invlist[] = { /* for all charsets */ 0x11127, 0x11144, 0x11145, + 0x11147, + 0x11148, 0x11150, 0x11173, 0x11176, @@ -346223,7 +369938,7 @@ static const UV UNI_SB__LE_invlist[] = { /* for all charsets */ 0x11447, 0x1144B, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -346247,7 +369962,19 @@ static const UV UNI_SB__LE_invlist[] = { /* for all charsets */ 0x11800, 0x1182C, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, 0x119A0, 0x119A8, 0x119AA, @@ -346296,6 +370023,8 @@ static const UV UNI_SB__LE_invlist[] = { /* for all charsets */ 0x11D99, 0x11EE0, 0x11EF3, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -346333,7 +370062,9 @@ static const UV UNI_SB__LE_invlist[] = { /* for all charsets */ 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -346429,7 +370160,7 @@ static const UV UNI_SB__LE_invlist[] = { /* for all charsets */ 0x1EEAB, 0x1EEBC, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -346439,13 +370170,15 @@ static const UV UNI_SB__LE_invlist[] = { /* for all charsets */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_SB__LO_invlist[] = { /* for ASCII/Latin1 */ - 1293, /* Number of elements */ + 1299, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -347660,12 +371393,18 @@ static const UV UNI_SB__LO_invlist[] = { /* for ASCII/Latin1 */ 0xA7C0, 0xA7C3, 0xA7C4, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7CB, + 0xA7F6, + 0xA7F7, 0xA7F8, 0xA7FB, 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB69, 0xAB70, 0xABC0, 0xFB00, @@ -347752,7 +371491,7 @@ static const UV UNI_SB__LO_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_SB__LO_invlist[] = { /* for EBCDIC 1047 */ - 1301, /* Number of elements */ + 1307, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -348975,12 +372714,18 @@ static const UV UNI_SB__LO_invlist[] = { /* for EBCDIC 1047 */ 0xA7C0, 0xA7C3, 0xA7C4, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7CB, + 0xA7F6, + 0xA7F7, 0xA7F8, 0xA7FB, 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB69, 0xAB70, 0xABC0, 0xFB00, @@ -349067,7 +372812,7 @@ static const UV UNI_SB__LO_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_SB__LO_invlist[] = { /* for EBCDIC 037 */ - 1301, /* Number of elements */ + 1307, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -350290,12 +374035,18 @@ static const UV UNI_SB__LO_invlist[] = { /* for EBCDIC 037 */ 0xA7C0, 0xA7C3, 0xA7C4, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7CB, + 0xA7F6, + 0xA7F7, 0xA7F8, 0xA7FB, 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB69, 0xAB70, 0xABC0, 0xFB00, @@ -350379,7 +374130,7 @@ static const UV UNI_SB__LO_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_SB__NU_invlist[] = { /* for ASCII/Latin1 */ - 121, /* Number of elements */ + 125, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -350486,6 +374237,8 @@ static const UV UNI_SB__NU_invlist[] = { /* for ASCII/Latin1 */ 0x1173A, 0x118E0, 0x118EA, + 0x11950, + 0x1195A, 0x11C50, 0x11C5A, 0x11D50, @@ -350503,7 +374256,9 @@ static const UV UNI_SB__NU_invlist[] = { /* for ASCII/Latin1 */ 0x1E2F0, 0x1E2FA, 0x1E950, - 0x1E95A + 0x1E95A, + 0x1FBF0, + 0x1FBFA }; # endif /* ASCII/Latin1 */ @@ -350514,7 +374269,7 @@ static const UV UNI_SB__NU_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_SB__NU_invlist[] = { /* for EBCDIC 1047 */ - 121, /* Number of elements */ + 125, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -350621,6 +374376,8 @@ static const UV UNI_SB__NU_invlist[] = { /* for EBCDIC 1047 */ 0x1173A, 0x118E0, 0x118EA, + 0x11950, + 0x1195A, 0x11C50, 0x11C5A, 0x11D50, @@ -350638,7 +374395,9 @@ static const UV UNI_SB__NU_invlist[] = { /* for EBCDIC 1047 */ 0x1E2F0, 0x1E2FA, 0x1E950, - 0x1E95A + 0x1E95A, + 0x1FBF0, + 0x1FBFA }; # endif /* EBCDIC 1047 */ @@ -350649,7 +374408,7 @@ static const UV UNI_SB__NU_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_SB__NU_invlist[] = { /* for EBCDIC 037 */ - 121, /* Number of elements */ + 125, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -350756,6 +374515,8 @@ static const UV UNI_SB__NU_invlist[] = { /* for EBCDIC 037 */ 0x1173A, 0x118E0, 0x118EA, + 0x11950, + 0x1195A, 0x11C50, 0x11C5A, 0x11D50, @@ -350773,7 +374534,9 @@ static const UV UNI_SB__NU_invlist[] = { /* for EBCDIC 037 */ 0x1E2F0, 0x1E2FA, 0x1E950, - 0x1E95A + 0x1E95A, + 0x1FBF0, + 0x1FBFA }; # endif /* EBCDIC 037 */ @@ -351087,7 +374850,7 @@ static const UV UNI_SB__SP_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_SB__ST_invlist[] = { /* for ASCII/Latin1 */ - 143, /* Number of elements */ + 147, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -351212,6 +374975,10 @@ static const UV UNI_SB__ST_invlist[] = { /* for ASCII/Latin1 */ 0x11643, 0x1173C, 0x1173F, + 0x11944, + 0x11945, + 0x11946, + 0x11947, 0x11A42, 0x11A44, 0x11A9B, @@ -351244,7 +375011,7 @@ static const UV UNI_SB__ST_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_SB__ST_invlist[] = { /* for EBCDIC 1047 */ - 143, /* Number of elements */ + 147, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -351369,6 +375136,10 @@ static const UV UNI_SB__ST_invlist[] = { /* for EBCDIC 1047 */ 0x11643, 0x1173C, 0x1173F, + 0x11944, + 0x11945, + 0x11946, + 0x11947, 0x11A42, 0x11A44, 0x11A9B, @@ -351401,7 +375172,7 @@ static const UV UNI_SB__ST_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_SB__ST_invlist[] = { /* for EBCDIC 037 */ - 143, /* Number of elements */ + 147, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -351526,6 +375297,10 @@ static const UV UNI_SB__ST_invlist[] = { /* for EBCDIC 037 */ 0x11643, 0x1173C, 0x1173F, + 0x11944, + 0x11945, + 0x11946, + 0x11947, 0x11A42, 0x11A44, 0x11A9B, @@ -351555,7 +375330,7 @@ static const UV UNI_SB__ST_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_SB__UP_invlist[] = { /* for ASCII/Latin1 */ - 1285, /* Number of elements */ + 1289, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -352761,7 +376536,11 @@ static const UV UNI_SB__UP_invlist[] = { /* for ASCII/Latin1 */ 0xA7C2, 0xA7C3, 0xA7C4, - 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7F5, + 0xA7F6, 0xFF21, 0xFF3B, 0x10400, @@ -352854,7 +376633,7 @@ static const UV UNI_SB__UP_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_SB__UP_invlist[] = { /* for EBCDIC 1047 */ - 1303, /* Number of elements */ + 1307, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -354078,7 +377857,11 @@ static const UV UNI_SB__UP_invlist[] = { /* for EBCDIC 1047 */ 0xA7C2, 0xA7C3, 0xA7C4, - 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7F5, + 0xA7F6, 0xFF21, 0xFF3B, 0x10400, @@ -354171,7 +377954,7 @@ static const UV UNI_SB__UP_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_SB__UP_invlist[] = { /* for EBCDIC 037 */ - 1299, /* Number of elements */ + 1303, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -355391,7 +379174,11 @@ static const UV UNI_SB__UP_invlist[] = { /* for EBCDIC 037 */ 0xA7C2, 0xA7C3, 0xA7C4, - 0xA7C7, + 0xA7C8, + 0xA7C9, + 0xA7CA, + 0xA7F5, + 0xA7F6, 0xFF21, 0xFF3B, 0x10400, @@ -355481,7 +379268,7 @@ static const UV UNI_SB__UP_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_SB__XX_invlist[] = { /* for ASCII/Latin1 */ - 1579, /* Number of elements */ + 1611, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -355621,7 +379408,7 @@ static const UV UNI_SB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x970, 0x971, @@ -355736,7 +379523,7 @@ static const UV UNI_SB__XX_invlist[] = { /* for ASCII/Latin1 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -355829,8 +379616,6 @@ static const UV UNI_SB__XX_invlist[] = { /* for ASCII/Latin1 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -355848,7 +379633,7 @@ static const UV UNI_SB__XX_invlist[] = { /* for ASCII/Latin1 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -356051,7 +379836,7 @@ static const UV UNI_SB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x1AA7, 0x1AAC, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -356273,13 +380058,13 @@ static const UV UNI_SB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -356305,9 +380090,11 @@ static const UV UNI_SB__XX_invlist[] = { /* for ASCII/Latin1 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA876, @@ -356361,7 +380148,7 @@ static const UV UNI_SB__XX_invlist[] = { /* for ASCII/Latin1 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABEE, 0xABF0, @@ -356586,6 +380373,12 @@ static const UV UNI_SB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, @@ -356594,6 +380387,8 @@ static const UV UNI_SB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x10F51, 0x10F55, 0x10F5A, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -356615,7 +380410,7 @@ static const UV UNI_SB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x11136, 0x11140, 0x11141, - 0x11147, + 0x11148, 0x11150, 0x11174, 0x11176, @@ -356623,8 +380418,6 @@ static const UV UNI_SB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x11180, 0x111C7, 0x111C9, - 0x111CE, - 0x111D0, 0x111DB, 0x111DC, 0x111DD, @@ -356687,7 +380480,7 @@ static const UV UNI_SB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x11450, 0x1145A, 0x1145E, - 0x11460, + 0x11462, 0x11480, 0x114C6, 0x114C7, @@ -356725,7 +380518,23 @@ static const UV UNI_SB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x118A0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11945, + 0x11946, + 0x11947, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -356788,6 +380597,8 @@ static const UV UNI_SB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x11DAA, 0x11EE0, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -356835,11 +380646,15 @@ static const UV UNI_SB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x16FE0, 0x16FE2, 0x16FE3, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -357046,8 +380861,10 @@ static const UV UNI_SB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x1F18A, 0x1F676, 0x1F679, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -357058,6 +380875,8 @@ static const UV UNI_SB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0001, 0xE0002, 0xE0020, @@ -357074,7 +380893,7 @@ static const UV UNI_SB__XX_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 1047 */ - 1599, /* Number of elements */ + 1631, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -357234,7 +381053,7 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x970, 0x971, @@ -357349,7 +381168,7 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 1047 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -357442,8 +381261,6 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 1047 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -357461,7 +381278,7 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 1047 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -357664,7 +381481,7 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x1AA7, 0x1AAC, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -357886,13 +381703,13 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -357918,9 +381735,11 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 1047 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA876, @@ -357974,7 +381793,7 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 1047 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABEE, 0xABF0, @@ -358199,6 +382018,12 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, @@ -358207,6 +382032,8 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x10F51, 0x10F55, 0x10F5A, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -358228,7 +382055,7 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x11136, 0x11140, 0x11141, - 0x11147, + 0x11148, 0x11150, 0x11174, 0x11176, @@ -358236,8 +382063,6 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x11180, 0x111C7, 0x111C9, - 0x111CE, - 0x111D0, 0x111DB, 0x111DC, 0x111DD, @@ -358300,7 +382125,7 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x11450, 0x1145A, 0x1145E, - 0x11460, + 0x11462, 0x11480, 0x114C6, 0x114C7, @@ -358338,7 +382163,23 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x118A0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11945, + 0x11946, + 0x11947, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -358401,6 +382242,8 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x11DAA, 0x11EE0, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -358448,11 +382291,15 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x16FE0, 0x16FE2, 0x16FE3, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -358659,8 +382506,10 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x1F18A, 0x1F676, 0x1F679, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -358671,6 +382520,8 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0001, 0xE0002, 0xE0020, @@ -358687,7 +382538,7 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 037 */ - 1597, /* Number of elements */ + 1629, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -358845,7 +382696,7 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 037 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x970, 0x971, @@ -358960,7 +382811,7 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 037 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -359053,8 +382904,6 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 037 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -359072,7 +382921,7 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 037 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -359275,7 +383124,7 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 037 */ 0x1AA7, 0x1AAC, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -359497,13 +383346,13 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 037 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -359529,9 +383378,11 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 037 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA876, @@ -359585,7 +383436,7 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 037 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABEE, 0xABF0, @@ -359810,6 +383661,12 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 037 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, @@ -359818,6 +383675,8 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 037 */ 0x10F51, 0x10F55, 0x10F5A, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -359839,7 +383698,7 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 037 */ 0x11136, 0x11140, 0x11141, - 0x11147, + 0x11148, 0x11150, 0x11174, 0x11176, @@ -359847,8 +383706,6 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 037 */ 0x11180, 0x111C7, 0x111C9, - 0x111CE, - 0x111D0, 0x111DB, 0x111DC, 0x111DD, @@ -359911,7 +383768,7 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 037 */ 0x11450, 0x1145A, 0x1145E, - 0x11460, + 0x11462, 0x11480, 0x114C6, 0x114C7, @@ -359949,7 +383806,23 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 037 */ 0x118A0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11945, + 0x11946, + 0x11947, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -360012,6 +383885,8 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 037 */ 0x11DAA, 0x11EE0, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -360059,11 +383934,15 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 037 */ 0x16FE0, 0x16FE2, 0x16FE3, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -360270,8 +384149,10 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 037 */ 0x1F18A, 0x1F676, 0x1F679, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -360282,6 +384163,8 @@ static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 037 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0001, 0xE0002, 0xE0020, @@ -360513,7 +384396,7 @@ static const UV UNI_SC__ARAB_invlist[] = { /* for all charsets */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -360604,24 +384487,6 @@ static const UV UNI_SC__ARAB_invlist[] = { /* for all charsets */ 0x1EEF2 }; -static const UV UNI_SC__ARMN_invlist[] = { /* for all charsets */ - 11, /* Number of elements */ - 148565664, /* Version and data structure type */ - 1, /* 0 if the list starts at 0; - 1 if it starts at the element beyond 0 */ - 0x0, - 0x531, - 0x557, - 0x559, - 0x589, - 0x58A, - 0x58B, - 0x58D, - 0x590, - 0xFB13, - 0xFB18 -}; - static const UV UNI_SC__BENG_invlist[] = { /* for all charsets */ 29, /* Number of elements */ 148565664, /* Version and data structure type */ @@ -360669,7 +384534,7 @@ static const UV UNI_SC__BOPO_invlist[] = { /* for all charsets */ 0x3105, 0x3130, 0x31A0, - 0x31BB + 0x31C0 }; static const UV UNI_SC__BUGI_invlist[] = { /* for all charsets */ @@ -360703,7 +384568,7 @@ static const UV UNI_SC__CAKM_invlist[] = { /* for all charsets */ 0x11100, 0x11135, 0x11136, - 0x11147 + 0x11148 }; static const UV UNI_SC__COPT_invlist[] = { /* for all charsets */ @@ -361095,7 +384960,7 @@ static const UV UNI_SC__GURU_invlist[] = { /* for all charsets */ }; static const UV UNI_SC__HAN_invlist[] = { /* for all charsets */ - 35, /* Number of elements */ + 39, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -361115,15 +384980,17 @@ static const UV UNI_SC__HAN_invlist[] = { /* for all charsets */ 0x3038, 0x303C, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xF900, 0xFA6E, 0xFA70, 0xFADA, + 0x16FF0, + 0x16FF2, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -361133,7 +385000,9 @@ static const UV UNI_SC__HAN_invlist[] = { /* for all charsets */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; static const UV UNI_SC__HANG_invlist[] = { /* for all charsets */ @@ -361367,15 +385236,15 @@ static const UV UNI_SC__LATN_invlist[] = { /* for ASCII/Latin1 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA800, 0xAB30, 0xAB5B, 0xAB5C, 0xAB65, 0xAB66, - 0xAB68, + 0xAB6A, 0xFB00, 0xFB07, 0xFF21, @@ -361472,15 +385341,15 @@ static const UV UNI_SC__LATN_invlist[] = { /* for EBCDIC 1047 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA800, 0xAB30, 0xAB5B, 0xAB5C, 0xAB65, 0xAB66, - 0xAB68, + 0xAB6A, 0xFB00, 0xFB07, 0xFF21, @@ -361573,15 +385442,15 @@ static const UV UNI_SC__LATN_invlist[] = { /* for EBCDIC 037 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA800, 0xAB30, 0xAB5B, 0xAB5C, 0xAB65, 0xAB66, - 0xAB68, + 0xAB6A, 0xFB00, 0xFB07, 0xFF21, @@ -361681,14 +385550,12 @@ static const UV UNI_SC__MANI_invlist[] = { /* for all charsets */ }; static const UV UNI_SC__MLYM_invlist[] = { /* for all charsets */ - 17, /* Number of elements */ + 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -361810,7 +385677,7 @@ static const UV UNI_SC__ORYA_invlist[] = { /* for all charsets */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -361871,7 +385738,7 @@ static const UV UNI_SC__QAAI_invlist[] = { /* for all charsets */ 0x951, 0x955, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1CD0, 0x1CD3, 0x1CD4, @@ -361931,14 +385798,12 @@ static const UV UNI_SC__ROHG_invlist[] = { /* for all charsets */ }; static const UV UNI_SC__SHRD_invlist[] = { /* for all charsets */ - 5, /* Number of elements */ + 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11180, - 0x111CE, - 0x111D0, 0x111E0 }; @@ -361960,7 +385825,7 @@ static const UV UNI_SC__SINH_invlist[] = { /* for all charsets */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -362005,7 +385870,7 @@ static const UV UNI_SC__SYLO_invlist[] = { /* for all charsets */ 1 if it starts at the element beyond 0 */ 0x0, 0xA800, - 0xA82C + 0xA82D }; static const UV UNI_SC__SYRC_invlist[] = { /* for all charsets */ @@ -362172,6 +386037,20 @@ static const UV UNI_SC__TIRH_invlist[] = { /* for all charsets */ 0x114DA }; +static const UV UNI_SC__YEZI_invlist[] = { /* for all charsets */ + 7, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAE, + 0x10EB0, + 0x10EB2 +}; + static const UV UNI_SC__YI_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ @@ -362187,7 +386066,7 @@ static const UV UNI_SC__YI_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_SC__ZYYY_invlist[] = { /* for ASCII/Latin1 */ - 344, /* Number of elements */ + 346, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -362219,8 +386098,6 @@ static const UV UNI_SC__ZYYY_invlist[] = { /* for ASCII/Latin1 */ 0x386, 0x387, 0x388, - 0x589, - 0x58A, 0x605, 0x606, 0x60C, @@ -362297,10 +386174,10 @@ static const UV UNI_SC__ZYYY_invlist[] = { /* for ASCII/Latin1 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C00, 0x2E00, - 0x2E50, + 0x2E53, 0x2FF0, 0x2FFC, 0x3000, @@ -362345,6 +386222,8 @@ static const UV UNI_SC__ZYYY_invlist[] = { /* for ASCII/Latin1 */ 0xA9D0, 0xAB5B, 0xAB5C, + 0xAB6A, + 0xAB6C, 0xFD3E, 0xFD40, 0xFE10, @@ -362380,7 +386259,7 @@ static const UV UNI_SC__ZYYY_invlist[] = { /* for ASCII/Latin1 */ 0x10137, 0x10140, 0x10190, - 0x1019C, + 0x1019D, 0x101D0, 0x101FD, 0x102E1, @@ -362468,11 +386347,7 @@ static const UV UNI_SC__ZYYY_invlist[] = { /* for ASCII/Latin1 */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F1AE, 0x1F1E6, 0x1F200, 0x1F201, @@ -362486,11 +386361,11 @@ static const UV UNI_SC__ZYYY_invlist[] = { /* for ASCII/Latin1 */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -362507,30 +386382,36 @@ static const UV UNI_SC__ZYYY_invlist[] = { /* for ASCII/Latin1 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0xE0001, 0xE0002, 0xE0020, @@ -362545,7 +386426,7 @@ static const UV UNI_SC__ZYYY_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_SC__ZYYY_invlist[] = { /* for EBCDIC 1047 */ - 370, /* Number of elements */ + 372, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -362603,8 +386484,6 @@ static const UV UNI_SC__ZYYY_invlist[] = { /* for EBCDIC 1047 */ 0x386, 0x387, 0x388, - 0x589, - 0x58A, 0x605, 0x606, 0x60C, @@ -362681,10 +386560,10 @@ static const UV UNI_SC__ZYYY_invlist[] = { /* for EBCDIC 1047 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C00, 0x2E00, - 0x2E50, + 0x2E53, 0x2FF0, 0x2FFC, 0x3000, @@ -362729,6 +386608,8 @@ static const UV UNI_SC__ZYYY_invlist[] = { /* for EBCDIC 1047 */ 0xA9D0, 0xAB5B, 0xAB5C, + 0xAB6A, + 0xAB6C, 0xFD3E, 0xFD40, 0xFE10, @@ -362764,7 +386645,7 @@ static const UV UNI_SC__ZYYY_invlist[] = { /* for EBCDIC 1047 */ 0x10137, 0x10140, 0x10190, - 0x1019C, + 0x1019D, 0x101D0, 0x101FD, 0x102E1, @@ -362852,11 +386733,7 @@ static const UV UNI_SC__ZYYY_invlist[] = { /* for EBCDIC 1047 */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F1AE, 0x1F1E6, 0x1F200, 0x1F201, @@ -362870,11 +386747,11 @@ static const UV UNI_SC__ZYYY_invlist[] = { /* for EBCDIC 1047 */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -362891,30 +386768,36 @@ static const UV UNI_SC__ZYYY_invlist[] = { /* for EBCDIC 1047 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0xE0001, 0xE0002, 0xE0020, @@ -362929,7 +386812,7 @@ static const UV UNI_SC__ZYYY_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_SC__ZYYY_invlist[] = { /* for EBCDIC 037 */ - 366, /* Number of elements */ + 368, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -362983,8 +386866,6 @@ static const UV UNI_SC__ZYYY_invlist[] = { /* for EBCDIC 037 */ 0x386, 0x387, 0x388, - 0x589, - 0x58A, 0x605, 0x606, 0x60C, @@ -363061,10 +386942,10 @@ static const UV UNI_SC__ZYYY_invlist[] = { /* for EBCDIC 037 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C00, 0x2E00, - 0x2E50, + 0x2E53, 0x2FF0, 0x2FFC, 0x3000, @@ -363109,6 +386990,8 @@ static const UV UNI_SC__ZYYY_invlist[] = { /* for EBCDIC 037 */ 0xA9D0, 0xAB5B, 0xAB5C, + 0xAB6A, + 0xAB6C, 0xFD3E, 0xFD40, 0xFE10, @@ -363144,7 +387027,7 @@ static const UV UNI_SC__ZYYY_invlist[] = { /* for EBCDIC 037 */ 0x10137, 0x10140, 0x10190, - 0x1019C, + 0x1019D, 0x101D0, 0x101FD, 0x102E1, @@ -363232,11 +387115,7 @@ static const UV UNI_SC__ZYYY_invlist[] = { /* for EBCDIC 037 */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F1AE, 0x1F1E6, 0x1F200, 0x1F201, @@ -363250,11 +387129,11 @@ static const UV UNI_SC__ZYYY_invlist[] = { /* for EBCDIC 037 */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -363271,30 +387150,36 @@ static const UV UNI_SC__ZYYY_invlist[] = { /* for EBCDIC 037 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0xE0001, 0xE0002, 0xE0020, @@ -363570,7 +387455,7 @@ static const UV UNI_SHORTHANDFORMATCONTROLS_invlist[] = { /* for all charsets * }; static const UV UNI_SHRD_invlist[] = { /* for all charsets */ - 15, /* Number of elements */ + 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -363586,8 +387471,6 @@ static const UV UNI_SHRD_invlist[] = { /* for all charsets */ 0x1CE0, 0x1CE1, 0x11180, - 0x111CE, - 0x111D0, 0x111E0 }; @@ -363627,7 +387510,7 @@ static const UV UNI_SINH_invlist[] = { /* for all charsets */ 0x0, 0x964, 0x966, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -363668,7 +387551,7 @@ static const UV UNI_SINHALAARCHAICNUMBERS_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_SK_invlist[] = { /* for ASCII/Latin1 */ - 59, /* Number of elements */ + 61, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -363721,6 +387604,8 @@ static const UV UNI_SK_invlist[] = { /* for ASCII/Latin1 */ 0xA78B, 0xAB5B, 0xAB5C, + 0xAB6A, + 0xAB6C, 0xFBB2, 0xFBC2, 0xFF3E, @@ -363741,7 +387626,7 @@ static const UV UNI_SK_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_SK_invlist[] = { /* for EBCDIC 1047 */ - 57, /* Number of elements */ + 59, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -363792,6 +387677,8 @@ static const UV UNI_SK_invlist[] = { /* for EBCDIC 1047 */ 0xA78B, 0xAB5B, 0xAB5C, + 0xAB6A, + 0xAB6C, 0xFBB2, 0xFBC2, 0xFF3E, @@ -363812,7 +387699,7 @@ static const UV UNI_SK_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_SK_invlist[] = { /* for EBCDIC 037 */ - 55, /* Number of elements */ + 57, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -363861,6 +387748,8 @@ static const UV UNI_SK_invlist[] = { /* for EBCDIC 037 */ 0xA78B, 0xAB5B, 0xAB5C, + 0xAB6A, + 0xAB6C, 0xFBB2, 0xFBC2, 0xFF3E, @@ -364328,7 +388217,7 @@ static const UV UNI_SMALLKANAEXT_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_SO_invlist[] = { /* for ASCII/Latin1 */ - 361, /* Number of elements */ + 365, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -364493,10 +388382,12 @@ static const UV UNI_SO_invlist[] = { /* for ASCII/Latin1 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C00, 0x2CE5, 0x2CEB, + 0x2E50, + 0x2E52, 0x2E80, 0x2E9A, 0x2E9B, @@ -364562,7 +388453,7 @@ static const UV UNI_SO_invlist[] = { /* for ASCII/Latin1 */ 0x1018C, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -364631,10 +388522,8 @@ static const UV UNI_SO_invlist[] = { /* for ASCII/Latin1 */ 0x1F0D0, 0x1F0D1, 0x1F0F6, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F10D, + 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, @@ -364648,11 +388537,11 @@ static const UV UNI_SO_invlist[] = { /* for ASCII/Latin1 */ 0x1F300, 0x1F3FB, 0x1F400, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -364669,30 +388558,34 @@ static const UV UNI_SO_invlist[] = { /* for ASCII/Latin1 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96 + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB }; # endif /* ASCII/Latin1 */ @@ -364703,7 +388596,7 @@ static const UV UNI_SO_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_SO_invlist[] = { /* for EBCDIC 1047 */ - 361, /* Number of elements */ + 365, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -364868,10 +388761,12 @@ static const UV UNI_SO_invlist[] = { /* for EBCDIC 1047 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C00, 0x2CE5, 0x2CEB, + 0x2E50, + 0x2E52, 0x2E80, 0x2E9A, 0x2E9B, @@ -364937,7 +388832,7 @@ static const UV UNI_SO_invlist[] = { /* for EBCDIC 1047 */ 0x1018C, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -365006,10 +388901,8 @@ static const UV UNI_SO_invlist[] = { /* for EBCDIC 1047 */ 0x1F0D0, 0x1F0D1, 0x1F0F6, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F10D, + 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, @@ -365023,11 +388916,11 @@ static const UV UNI_SO_invlist[] = { /* for EBCDIC 1047 */ 0x1F300, 0x1F3FB, 0x1F400, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -365044,30 +388937,34 @@ static const UV UNI_SO_invlist[] = { /* for EBCDIC 1047 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96 + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB }; # endif /* EBCDIC 1047 */ @@ -365078,7 +388975,7 @@ static const UV UNI_SO_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_SO_invlist[] = { /* for EBCDIC 037 */ - 361, /* Number of elements */ + 365, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -365243,10 +389140,12 @@ static const UV UNI_SO_invlist[] = { /* for EBCDIC 037 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C00, 0x2CE5, 0x2CEB, + 0x2E50, + 0x2E52, 0x2E80, 0x2E9A, 0x2E9B, @@ -365312,7 +389211,7 @@ static const UV UNI_SO_invlist[] = { /* for EBCDIC 037 */ 0x1018C, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -365381,10 +389280,8 @@ static const UV UNI_SO_invlist[] = { /* for EBCDIC 037 */ 0x1F0D0, 0x1F0D1, 0x1F0F6, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F10D, + 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, @@ -365398,11 +389295,11 @@ static const UV UNI_SO_invlist[] = { /* for EBCDIC 037 */ 0x1F300, 0x1F3FB, 0x1F400, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -365419,30 +389316,34 @@ static const UV UNI_SO_invlist[] = { /* for EBCDIC 037 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96 + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB }; # endif /* EBCDIC 037 */ @@ -365504,7 +389405,7 @@ static const UV UNI_SPECIALS_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_STERM_invlist[] = { /* for ASCII/Latin1 */ - 149, /* Number of elements */ + 153, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -365635,6 +389536,10 @@ static const UV UNI_STERM_invlist[] = { /* for ASCII/Latin1 */ 0x11643, 0x1173C, 0x1173F, + 0x11944, + 0x11945, + 0x11946, + 0x11947, 0x11A42, 0x11A44, 0x11A9B, @@ -365667,7 +389572,7 @@ static const UV UNI_STERM_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_STERM_invlist[] = { /* for EBCDIC 1047 */ - 149, /* Number of elements */ + 153, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -365798,6 +389703,10 @@ static const UV UNI_STERM_invlist[] = { /* for EBCDIC 1047 */ 0x11643, 0x1173C, 0x1173F, + 0x11944, + 0x11945, + 0x11946, + 0x11947, 0x11A42, 0x11A44, 0x11A9B, @@ -365830,7 +389739,7 @@ static const UV UNI_STERM_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_STERM_invlist[] = { /* for EBCDIC 037 */ - 149, /* Number of elements */ + 153, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -365961,6 +389870,10 @@ static const UV UNI_STERM_invlist[] = { /* for EBCDIC 037 */ 0x11643, 0x1173C, 0x1173F, + 0x11944, + 0x11945, + 0x11946, + 0x11947, 0x11A42, 0x11A44, 0x11A9B, @@ -366120,7 +390033,7 @@ static const UV UNI_SYLO_invlist[] = { /* for all charsets */ 0x9E6, 0x9F0, 0xA800, - 0xA82C + 0xA82D }; static const UV UNI_SYMBOLSANDPICTOGRAPHSEXTA_invlist[] = { /* for all charsets */ @@ -366133,8 +390046,18 @@ static const UV UNI_SYMBOLSANDPICTOGRAPHSEXTA_invlist[] = { /* for all charsets 0x1FB00 }; +static const UV UNI_SYMBOLSFORLEGACYCOMPUTING_invlist[] = { /* for all charsets */ + 3, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x1FB00, + 0x1FC00 +}; + static const UV UNI_SYRC_invlist[] = { /* for all charsets */ - 21, /* Number of elements */ + 23, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -366158,7 +390081,9 @@ static const UV UNI_SYRC_invlist[] = { /* for all charsets */ 0x74D, 0x750, 0x860, - 0x86B + 0x86B, + 0x1DF8, + 0x1DF9 }; static const UV UNI_SYRIACSUP_invlist[] = { /* for all charsets */ @@ -366322,7 +390247,7 @@ static const UV UNI_TAML_invlist[] = { /* for all charsets */ }; static const UV UNI_TANG_invlist[] = { /* for all charsets */ - 7, /* Number of elements */ + 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -366332,7 +390257,9 @@ static const UV UNI_TANG_invlist[] = { /* for all charsets */ 0x17000, 0x187F8, 0x18800, - 0x18AF3 + 0x18B00, + 0x18D00, + 0x18D09 }; static const UV UNI_TANGUTCOMPONENTS_invlist[] = { /* for all charsets */ @@ -366345,6 +390272,16 @@ static const UV UNI_TANGUTCOMPONENTS_invlist[] = { /* for all charsets */ 0x18B00 }; +static const UV UNI_TANGUTSUP_invlist[] = { /* for all charsets */ + 3, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x18D00, + 0x18D90 +}; + static const UV UNI_TAVT_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ @@ -366400,7 +390337,7 @@ static const UV UNI_TELU_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_TERM_invlist[] = { /* for ASCII/Latin1 */ - 205, /* Number of elements */ + 209, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -366571,7 +390508,7 @@ static const UV UNI_TERM_invlist[] = { /* for ASCII/Latin1 */ 0x112AA, 0x1144B, 0x1144E, - 0x1145B, + 0x1145A, 0x1145C, 0x115C2, 0x115C6, @@ -366581,6 +390518,10 @@ static const UV UNI_TERM_invlist[] = { /* for ASCII/Latin1 */ 0x11643, 0x1173C, 0x1173F, + 0x11944, + 0x11945, + 0x11946, + 0x11947, 0x11A42, 0x11A44, 0x11A9B, @@ -366619,7 +390560,7 @@ static const UV UNI_TERM_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_TERM_invlist[] = { /* for EBCDIC 1047 */ - 207, /* Number of elements */ + 211, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -366792,7 +390733,7 @@ static const UV UNI_TERM_invlist[] = { /* for EBCDIC 1047 */ 0x112AA, 0x1144B, 0x1144E, - 0x1145B, + 0x1145A, 0x1145C, 0x115C2, 0x115C6, @@ -366802,6 +390743,10 @@ static const UV UNI_TERM_invlist[] = { /* for EBCDIC 1047 */ 0x11643, 0x1173C, 0x1173F, + 0x11944, + 0x11945, + 0x11946, + 0x11947, 0x11A42, 0x11A44, 0x11A9B, @@ -366840,7 +390785,7 @@ static const UV UNI_TERM_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_TERM_invlist[] = { /* for EBCDIC 037 */ - 207, /* Number of elements */ + 211, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -367013,7 +390958,7 @@ static const UV UNI_TERM_invlist[] = { /* for EBCDIC 037 */ 0x112AA, 0x1144B, 0x1144E, - 0x1145B, + 0x1145A, 0x1145C, 0x115C2, 0x115C6, @@ -367023,6 +390968,10 @@ static const UV UNI_TERM_invlist[] = { /* for EBCDIC 037 */ 0x11643, 0x1173C, 0x1173F, + 0x11944, + 0x11945, + 0x11946, + 0x11947, 0x11A42, 0x11A44, 0x11A9B, @@ -367202,15 +391151,15 @@ static const UV UNI_UGAR_invlist[] = { /* for all charsets */ }; static const UV UNI_UIDEO_invlist[] = { /* for all charsets */ - 29, /* Number of elements */ + 31, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xFA0E, 0xFA10, 0xFA11, @@ -367226,7 +391175,7 @@ static const UV UNI_UIDEO_invlist[] = { /* for all charsets */ 0xFA27, 0xFA2A, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -367234,7 +391183,9 @@ static const UV UNI_UIDEO_invlist[] = { /* for all charsets */ 0x2B820, 0x2CEA2, 0x2CEB0, - 0x2EBE1 + 0x2EBE1, + 0x30000, + 0x3134B }; static const UV UNI_VAI_invlist[] = { /* for all charsets */ @@ -367270,7 +391221,7 @@ static const UV UNI_VERTICALFORMS_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_VO__R_invlist[] = { /* for ASCII/Latin1 */ - 173, /* Number of elements */ + 177, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -367379,12 +391330,16 @@ static const UV UNI_VO__R_invlist[] = { /* for ASCII/Latin1 */ 0x2B30, 0x2B50, 0x2B5A, + 0x2B97, + 0x2B98, 0x2BB8, 0x2BD2, 0x2BD3, 0x2BEC, 0x2BF0, 0x2C00, + 0x2E50, + 0x2E52, 0x2E80, 0xA4D0, 0xA960, @@ -367426,7 +391381,7 @@ static const UV UNI_VO__R_invlist[] = { /* for ASCII/Latin1 */ 0x14400, 0x14680, 0x16FE0, - 0x18B00, + 0x18D90, 0x1B000, 0x1B300, 0x1D000, @@ -367438,7 +391393,7 @@ static const UV UNI_VO__R_invlist[] = { /* for ASCII/Latin1 */ 0x1F000, 0x1F800, 0x1F900, - 0x1FAA0, + 0x1FB00, 0x20000, 0x2FFFE, 0x30000, @@ -367457,7 +391412,7 @@ static const UV UNI_VO__R_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_VO__R_invlist[] = { /* for EBCDIC 1047 */ - 171, /* Number of elements */ + 175, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -367564,12 +391519,16 @@ static const UV UNI_VO__R_invlist[] = { /* for EBCDIC 1047 */ 0x2B30, 0x2B50, 0x2B5A, + 0x2B97, + 0x2B98, 0x2BB8, 0x2BD2, 0x2BD3, 0x2BEC, 0x2BF0, 0x2C00, + 0x2E50, + 0x2E52, 0x2E80, 0xA4D0, 0xA960, @@ -367611,7 +391570,7 @@ static const UV UNI_VO__R_invlist[] = { /* for EBCDIC 1047 */ 0x14400, 0x14680, 0x16FE0, - 0x18B00, + 0x18D90, 0x1B000, 0x1B300, 0x1D000, @@ -367623,7 +391582,7 @@ static const UV UNI_VO__R_invlist[] = { /* for EBCDIC 1047 */ 0x1F000, 0x1F800, 0x1F900, - 0x1FAA0, + 0x1FB00, 0x20000, 0x2FFFE, 0x30000, @@ -367642,7 +391601,7 @@ static const UV UNI_VO__R_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_VO__R_invlist[] = { /* for EBCDIC 037 */ - 171, /* Number of elements */ + 175, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -367749,12 +391708,16 @@ static const UV UNI_VO__R_invlist[] = { /* for EBCDIC 037 */ 0x2B30, 0x2B50, 0x2B5A, + 0x2B97, + 0x2B98, 0x2BB8, 0x2BD2, 0x2BD3, 0x2BEC, 0x2BF0, 0x2C00, + 0x2E50, + 0x2E52, 0x2E80, 0xA4D0, 0xA960, @@ -367796,7 +391759,7 @@ static const UV UNI_VO__R_invlist[] = { /* for EBCDIC 037 */ 0x14400, 0x14680, 0x16FE0, - 0x18B00, + 0x18D90, 0x1B000, 0x1B300, 0x1D000, @@ -367808,7 +391771,7 @@ static const UV UNI_VO__R_invlist[] = { /* for EBCDIC 037 */ 0x1F000, 0x1F800, 0x1F900, - 0x1FAA0, + 0x1FB00, 0x20000, 0x2FFFE, 0x30000, @@ -367936,7 +391899,7 @@ static const UV UNI_VO__TU_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_VO__U_invlist[] = { /* for ASCII/Latin1 */ - 251, /* Number of elements */ + 255, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -368047,12 +392010,16 @@ static const UV UNI_VO__U_invlist[] = { /* for ASCII/Latin1 */ 0x2B30, 0x2B50, 0x2B5A, + 0x2B97, + 0x2B98, 0x2BB8, 0x2BD2, 0x2BD3, 0x2BEC, 0x2BF0, 0x2C00, + 0x2E50, + 0x2E52, 0x2E80, 0x3001, 0x3003, @@ -368168,7 +392135,7 @@ static const UV UNI_VO__U_invlist[] = { /* for ASCII/Latin1 */ 0x14400, 0x14680, 0x16FE0, - 0x18B00, + 0x18D90, 0x1B000, 0x1B300, 0x1D000, @@ -368182,7 +392149,7 @@ static const UV UNI_VO__U_invlist[] = { /* for ASCII/Latin1 */ 0x1F202, 0x1F800, 0x1F900, - 0x1FAA0, + 0x1FB00, 0x20000, 0x2FFFE, 0x30000, @@ -368201,7 +392168,7 @@ static const UV UNI_VO__U_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_VO__U_invlist[] = { /* for EBCDIC 1047 */ - 249, /* Number of elements */ + 253, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -368310,12 +392277,16 @@ static const UV UNI_VO__U_invlist[] = { /* for EBCDIC 1047 */ 0x2B30, 0x2B50, 0x2B5A, + 0x2B97, + 0x2B98, 0x2BB8, 0x2BD2, 0x2BD3, 0x2BEC, 0x2BF0, 0x2C00, + 0x2E50, + 0x2E52, 0x2E80, 0x3001, 0x3003, @@ -368431,7 +392402,7 @@ static const UV UNI_VO__U_invlist[] = { /* for EBCDIC 1047 */ 0x14400, 0x14680, 0x16FE0, - 0x18B00, + 0x18D90, 0x1B000, 0x1B300, 0x1D000, @@ -368445,7 +392416,7 @@ static const UV UNI_VO__U_invlist[] = { /* for EBCDIC 1047 */ 0x1F202, 0x1F800, 0x1F900, - 0x1FAA0, + 0x1FB00, 0x20000, 0x2FFFE, 0x30000, @@ -368464,7 +392435,7 @@ static const UV UNI_VO__U_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_VO__U_invlist[] = { /* for EBCDIC 037 */ - 249, /* Number of elements */ + 253, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -368573,12 +392544,16 @@ static const UV UNI_VO__U_invlist[] = { /* for EBCDIC 037 */ 0x2B30, 0x2B50, 0x2B5A, + 0x2B97, + 0x2B98, 0x2BB8, 0x2BD2, 0x2BD3, 0x2BEC, 0x2BF0, 0x2C00, + 0x2E50, + 0x2E52, 0x2E80, 0x3001, 0x3003, @@ -368694,7 +392669,7 @@ static const UV UNI_VO__U_invlist[] = { /* for EBCDIC 037 */ 0x14400, 0x14680, 0x16FE0, - 0x18B00, + 0x18D90, 0x1B000, 0x1B300, 0x1D000, @@ -368708,7 +392683,7 @@ static const UV UNI_VO__U_invlist[] = { /* for EBCDIC 037 */ 0x1F202, 0x1F800, 0x1F900, - 0x1FAA0, + 0x1FB00, 0x20000, 0x2FFFE, 0x30000, @@ -368897,7 +392872,7 @@ static const UV UNI_WB__EX_invlist[] = { /* for EBCDIC 037 */ # endif /* EBCDIC 037 */ static const UV UNI_WB__EXTEND_invlist[] = { /* for all charsets */ - 569, /* Number of elements */ + 589, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -369018,7 +392993,7 @@ static const UV UNI_WB__EXTEND_invlist[] = { /* for all charsets */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB62, 0xB64, @@ -369072,7 +393047,7 @@ static const UV UNI_WB__EXTEND_invlist[] = { /* for all charsets */ 0xD58, 0xD62, 0xD64, - 0xD82, + 0xD81, 0xD84, 0xDCA, 0xDCB, @@ -369167,7 +393142,7 @@ static const UV UNI_WB__EXTEND_invlist[] = { /* for all charsets */ 0x1A7F, 0x1A80, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B05, 0x1B34, @@ -369226,6 +393201,8 @@ static const UV UNI_WB__EXTEND_invlist[] = { /* for all charsets */ 0xA80C, 0xA823, 0xA828, + 0xA82C, + 0xA82D, 0xA880, 0xA882, 0xA8B4, @@ -369298,6 +393275,8 @@ static const UV UNI_WB__EXTEND_invlist[] = { /* for all charsets */ 0x10AE7, 0x10D24, 0x10D28, + 0x10EAB, + 0x10EAD, 0x10F46, 0x10F51, 0x11000, @@ -369322,6 +393301,8 @@ static const UV UNI_WB__EXTEND_invlist[] = { /* for all charsets */ 0x111C1, 0x111C9, 0x111CD, + 0x111CE, + 0x111D0, 0x1122C, 0x11238, 0x1123E, @@ -369366,6 +393347,16 @@ static const UV UNI_WB__EXTEND_invlist[] = { /* for all charsets */ 0x1172C, 0x1182C, 0x1183B, + 0x11930, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, + 0x11944, 0x119D1, 0x119D8, 0x119DA, @@ -369420,6 +393411,10 @@ static const UV UNI_WB__EXTEND_invlist[] = { /* for all charsets */ 0x16F88, 0x16F8F, 0x16F93, + 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x1BC9D, 0x1BC9F, 0x1D165, @@ -369659,7 +393654,7 @@ static const UV UNI_WB__KA_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_WB__LE_invlist[] = { /* for ASCII/Latin1 */ - 1075, /* Number of elements */ + 1095, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -369681,8 +393676,6 @@ static const UV UNI_WB__LE_invlist[] = { /* for ASCII/Latin1 */ 0xF8, 0x2D8, 0x2DE, - 0x2E5, - 0x2EC, 0x300, 0x370, 0x375, @@ -369709,13 +393702,13 @@ static const UV UNI_WB__LE_invlist[] = { /* for ASCII/Latin1 */ 0x531, 0x557, 0x559, - 0x55A, - 0x55B, 0x55D, 0x55E, 0x55F, 0x560, 0x589, + 0x58A, + 0x58B, 0x5F3, 0x5F4, 0x620, @@ -369763,7 +393756,7 @@ static const UV UNI_WB__LE_invlist[] = { /* for ASCII/Latin1 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x904, 0x93A, 0x93D, @@ -369914,7 +393907,7 @@ static const UV UNI_WB__LE_invlist[] = { /* for ASCII/Latin1 */ 0xCE2, 0xCF1, 0xCF3, - 0xD05, + 0xD04, 0xD0D, 0xD0E, 0xD11, @@ -370185,7 +394178,7 @@ static const UV UNI_WB__LE_invlist[] = { /* for ASCII/Latin1 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0xA000, 0xA48D, 0xA4D0, @@ -370202,11 +394195,11 @@ static const UV UNI_WB__LE_invlist[] = { /* for ASCII/Latin1 */ 0xA69E, 0xA6A0, 0xA6F0, - 0xA717, + 0xA708, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA802, 0xA803, 0xA806, @@ -370255,7 +394248,7 @@ static const UV UNI_WB__LE_invlist[] = { /* for ASCII/Latin1 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6A, 0xAB70, 0xABE3, 0xAC00, @@ -370406,12 +394399,18 @@ static const UV UNI_WB__LE_invlist[] = { /* for ASCII/Latin1 */ 0x10CF3, 0x10D00, 0x10D24, + 0x10E80, + 0x10EAA, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, @@ -370424,6 +394423,8 @@ static const UV UNI_WB__LE_invlist[] = { /* for ASCII/Latin1 */ 0x11127, 0x11144, 0x11145, + 0x11147, + 0x11148, 0x11150, 0x11173, 0x11176, @@ -370475,7 +394476,7 @@ static const UV UNI_WB__LE_invlist[] = { /* for ASCII/Latin1 */ 0x11447, 0x1144B, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -370499,7 +394500,19 @@ static const UV UNI_WB__LE_invlist[] = { /* for ASCII/Latin1 */ 0x118A0, 0x118E0, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, 0x119A0, 0x119A8, 0x119AA, @@ -370548,6 +394561,8 @@ static const UV UNI_WB__LE_invlist[] = { /* for ASCII/Latin1 */ 0x11D99, 0x11EE0, 0x11EF3, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -370748,7 +394763,7 @@ static const UV UNI_WB__LE_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 1047 */ - 1101, /* Number of elements */ + 1121, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -370796,8 +394811,6 @@ static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 1047 */ 0x100, 0x2D8, 0x2DE, - 0x2E5, - 0x2EC, 0x300, 0x370, 0x375, @@ -370824,13 +394837,13 @@ static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 1047 */ 0x531, 0x557, 0x559, - 0x55A, - 0x55B, 0x55D, 0x55E, 0x55F, 0x560, 0x589, + 0x58A, + 0x58B, 0x5F3, 0x5F4, 0x620, @@ -370878,7 +394891,7 @@ static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 1047 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x904, 0x93A, 0x93D, @@ -371029,7 +395042,7 @@ static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 1047 */ 0xCE2, 0xCF1, 0xCF3, - 0xD05, + 0xD04, 0xD0D, 0xD0E, 0xD11, @@ -371300,7 +395313,7 @@ static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 1047 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0xA000, 0xA48D, 0xA4D0, @@ -371317,11 +395330,11 @@ static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 1047 */ 0xA69E, 0xA6A0, 0xA6F0, - 0xA717, + 0xA708, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA802, 0xA803, 0xA806, @@ -371370,7 +395383,7 @@ static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 1047 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6A, 0xAB70, 0xABE3, 0xAC00, @@ -371521,12 +395534,18 @@ static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 1047 */ 0x10CF3, 0x10D00, 0x10D24, + 0x10E80, + 0x10EAA, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, @@ -371539,6 +395558,8 @@ static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 1047 */ 0x11127, 0x11144, 0x11145, + 0x11147, + 0x11148, 0x11150, 0x11173, 0x11176, @@ -371590,7 +395611,7 @@ static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 1047 */ 0x11447, 0x1144B, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -371614,7 +395635,19 @@ static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 1047 */ 0x118A0, 0x118E0, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, 0x119A0, 0x119A8, 0x119AA, @@ -371663,6 +395696,8 @@ static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 1047 */ 0x11D99, 0x11EE0, 0x11EF3, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -371863,7 +395898,7 @@ static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 037 */ - 1097, /* Number of elements */ + 1117, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -371907,8 +395942,6 @@ static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 037 */ 0x100, 0x2D8, 0x2DE, - 0x2E5, - 0x2EC, 0x300, 0x370, 0x375, @@ -371935,13 +395968,13 @@ static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 037 */ 0x531, 0x557, 0x559, - 0x55A, - 0x55B, 0x55D, 0x55E, 0x55F, 0x560, 0x589, + 0x58A, + 0x58B, 0x5F3, 0x5F4, 0x620, @@ -371989,7 +396022,7 @@ static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 037 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x904, 0x93A, 0x93D, @@ -372140,7 +396173,7 @@ static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 037 */ 0xCE2, 0xCF1, 0xCF3, - 0xD05, + 0xD04, 0xD0D, 0xD0E, 0xD11, @@ -372411,7 +396444,7 @@ static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 037 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0xA000, 0xA48D, 0xA4D0, @@ -372428,11 +396461,11 @@ static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 037 */ 0xA69E, 0xA6A0, 0xA6F0, - 0xA717, + 0xA708, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA802, 0xA803, 0xA806, @@ -372481,7 +396514,7 @@ static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 037 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6A, 0xAB70, 0xABE3, 0xAC00, @@ -372632,12 +396665,18 @@ static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 037 */ 0x10CF3, 0x10D00, 0x10D24, + 0x10E80, + 0x10EAA, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, @@ -372650,6 +396689,8 @@ static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 037 */ 0x11127, 0x11144, 0x11145, + 0x11147, + 0x11148, 0x11150, 0x11173, 0x11176, @@ -372701,7 +396742,7 @@ static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 037 */ 0x11447, 0x1144B, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -372725,7 +396766,19 @@ static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 037 */ 0x118A0, 0x118E0, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, 0x119A0, 0x119A8, 0x119AA, @@ -372774,6 +396827,8 @@ static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 037 */ 0x11D99, 0x11EE0, 0x11EF3, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -373049,7 +397104,7 @@ static const UV UNI_WB__MB_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_WB__ML_invlist[] = { /* for ASCII/Latin1 */ - 17, /* Number of elements */ + 19, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -373060,6 +397115,8 @@ static const UV UNI_WB__ML_invlist[] = { /* for ASCII/Latin1 */ 0xB8, 0x387, 0x388, + 0x55F, + 0x560, 0x5F4, 0x5F5, 0x2027, @@ -373080,7 +397137,7 @@ static const UV UNI_WB__ML_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_WB__ML_invlist[] = { /* for EBCDIC 1047 */ - 17, /* Number of elements */ + 19, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -373091,6 +397148,8 @@ static const UV UNI_WB__ML_invlist[] = { /* for EBCDIC 1047 */ 0xB4, 0x387, 0x388, + 0x55F, + 0x560, 0x5F4, 0x5F5, 0x2027, @@ -373111,7 +397170,7 @@ static const UV UNI_WB__ML_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_WB__ML_invlist[] = { /* for EBCDIC 037 */ - 17, /* Number of elements */ + 19, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -373122,6 +397181,8 @@ static const UV UNI_WB__ML_invlist[] = { /* for EBCDIC 037 */ 0xB4, 0x387, 0x388, + 0x55F, + 0x560, 0x5F4, 0x5F5, 0x2027, @@ -373325,7 +397386,7 @@ static const UV UNI_WB__NL_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_WB__NU_invlist[] = { /* for ASCII/Latin1 */ - 121, /* Number of elements */ + 125, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -373432,6 +397493,8 @@ static const UV UNI_WB__NU_invlist[] = { /* for ASCII/Latin1 */ 0x1173A, 0x118E0, 0x118EA, + 0x11950, + 0x1195A, 0x11C50, 0x11C5A, 0x11D50, @@ -373449,7 +397512,9 @@ static const UV UNI_WB__NU_invlist[] = { /* for ASCII/Latin1 */ 0x1E2F0, 0x1E2FA, 0x1E950, - 0x1E95A + 0x1E95A, + 0x1FBF0, + 0x1FBFA }; # endif /* ASCII/Latin1 */ @@ -373460,7 +397525,7 @@ static const UV UNI_WB__NU_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_WB__NU_invlist[] = { /* for EBCDIC 1047 */ - 121, /* Number of elements */ + 125, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -373567,6 +397632,8 @@ static const UV UNI_WB__NU_invlist[] = { /* for EBCDIC 1047 */ 0x1173A, 0x118E0, 0x118EA, + 0x11950, + 0x1195A, 0x11C50, 0x11C5A, 0x11D50, @@ -373584,7 +397651,9 @@ static const UV UNI_WB__NU_invlist[] = { /* for EBCDIC 1047 */ 0x1E2F0, 0x1E2FA, 0x1E950, - 0x1E95A + 0x1E95A, + 0x1FBF0, + 0x1FBFA }; # endif /* EBCDIC 1047 */ @@ -373595,7 +397664,7 @@ static const UV UNI_WB__NU_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_WB__NU_invlist[] = { /* for EBCDIC 037 */ - 121, /* Number of elements */ + 125, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -373702,6 +397771,8 @@ static const UV UNI_WB__NU_invlist[] = { /* for EBCDIC 037 */ 0x1173A, 0x118E0, 0x118EA, + 0x11950, + 0x1195A, 0x11C50, 0x11C5A, 0x11D50, @@ -373719,7 +397790,9 @@ static const UV UNI_WB__NU_invlist[] = { /* for EBCDIC 037 */ 0x1E2F0, 0x1E2FA, 0x1E950, - 0x1E95A + 0x1E95A, + 0x1FBF0, + 0x1FBFA }; # endif /* EBCDIC 037 */ @@ -373853,7 +397926,7 @@ static const UV UNI_WB__WSEGSPACE_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_WB__XX_invlist[] = { /* for ASCII/Latin1 */ - 1465, /* Number of elements */ + 1487, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -373897,8 +397970,6 @@ static const UV UNI_WB__XX_invlist[] = { /* for ASCII/Latin1 */ 0xF8, 0x2D8, 0x2DE, - 0x2E5, - 0x2EC, 0x375, 0x376, 0x378, @@ -373919,13 +397990,9 @@ static const UV UNI_WB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x531, 0x557, 0x559, - 0x55A, - 0x55B, 0x55D, 0x55E, - 0x55F, - 0x560, - 0x58A, + 0x58B, 0x591, 0x5BE, 0x5BF, @@ -373983,7 +398050,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x964, 0x966, @@ -374100,7 +398167,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for ASCII/Latin1 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -374193,8 +398260,6 @@ static const UV UNI_WB__XX_invlist[] = { /* for ASCII/Latin1 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -374212,7 +398277,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for ASCII/Latin1 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -374401,7 +398466,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x1A90, 0x1A9A, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -374587,7 +398652,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x32D0, @@ -374608,12 +398673,14 @@ static const UV UNI_WB__XX_invlist[] = { /* for ASCII/Latin1 */ 0xA67E, 0xA67F, 0xA6F2, - 0xA717, + 0xA708, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA880, @@ -374671,7 +398738,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for ASCII/Latin1 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6A, 0xAB70, 0xABEB, 0xABEC, @@ -374880,12 +398947,20 @@ static const UV UNI_WB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -374907,7 +398982,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x11136, 0x11140, 0x11144, - 0x11147, + 0x11148, 0x11150, 0x11174, 0x11176, @@ -374916,7 +398991,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x111C5, 0x111C9, 0x111CD, - 0x111D0, + 0x111CE, 0x111DB, 0x111DC, 0x111DD, @@ -374975,7 +399050,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x11450, 0x1145A, 0x1145E, - 0x11460, + 0x11462, 0x11480, 0x114C6, 0x114C7, @@ -375007,7 +399082,21 @@ static const UV UNI_WB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x118A0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11944, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -375068,6 +399157,8 @@ static const UV UNI_WB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x11DAA, 0x11EE0, 0x11EF7, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -375111,7 +399202,9 @@ static const UV UNI_WB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x16FE0, 0x16FE2, 0x16FE3, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x1B000, 0x1B001, 0x1B164, @@ -375316,6 +399409,8 @@ static const UV UNI_WB__XX_invlist[] = { /* for ASCII/Latin1 */ 0x1F200, 0x1F3FB, 0x1F400, + 0x1FBF0, + 0x1FBFA, 0xE0001, 0xE0002, 0xE0020, @@ -375332,7 +399427,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 1047 */ - 1489, /* Number of elements */ + 1511, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -375400,8 +399495,6 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x100, 0x2D8, 0x2DE, - 0x2E5, - 0x2EC, 0x375, 0x376, 0x378, @@ -375422,13 +399515,9 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x531, 0x557, 0x559, - 0x55A, - 0x55B, 0x55D, 0x55E, - 0x55F, - 0x560, - 0x58A, + 0x58B, 0x591, 0x5BE, 0x5BF, @@ -375486,7 +399575,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x964, 0x966, @@ -375603,7 +399692,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 1047 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -375696,8 +399785,6 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 1047 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -375715,7 +399802,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 1047 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -375904,7 +399991,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x1A90, 0x1A9A, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -376090,7 +400177,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x32D0, @@ -376111,12 +400198,14 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 1047 */ 0xA67E, 0xA67F, 0xA6F2, - 0xA717, + 0xA708, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA880, @@ -376174,7 +400263,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 1047 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6A, 0xAB70, 0xABEB, 0xABEC, @@ -376383,12 +400472,20 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -376410,7 +400507,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x11136, 0x11140, 0x11144, - 0x11147, + 0x11148, 0x11150, 0x11174, 0x11176, @@ -376419,7 +400516,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x111C5, 0x111C9, 0x111CD, - 0x111D0, + 0x111CE, 0x111DB, 0x111DC, 0x111DD, @@ -376478,7 +400575,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x11450, 0x1145A, 0x1145E, - 0x11460, + 0x11462, 0x11480, 0x114C6, 0x114C7, @@ -376510,7 +400607,21 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x118A0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11944, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -376571,6 +400682,8 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x11DAA, 0x11EE0, 0x11EF7, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -376614,7 +400727,9 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x16FE0, 0x16FE2, 0x16FE3, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x1B000, 0x1B001, 0x1B164, @@ -376819,6 +400934,8 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 1047 */ 0x1F200, 0x1F3FB, 0x1F400, + 0x1FBF0, + 0x1FBFA, 0xE0001, 0xE0002, 0xE0020, @@ -376835,7 +400952,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 037 */ - 1485, /* Number of elements */ + 1507, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -376899,8 +401016,6 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 037 */ 0x100, 0x2D8, 0x2DE, - 0x2E5, - 0x2EC, 0x375, 0x376, 0x378, @@ -376921,13 +401036,9 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 037 */ 0x531, 0x557, 0x559, - 0x55A, - 0x55B, 0x55D, 0x55E, - 0x55F, - 0x560, - 0x58A, + 0x58B, 0x591, 0x5BE, 0x5BF, @@ -376985,7 +401096,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 037 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x964, 0x966, @@ -377102,7 +401213,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 037 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -377195,8 +401306,6 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 037 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -377214,7 +401323,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 037 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -377403,7 +401512,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 037 */ 0x1A90, 0x1A9A, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -377589,7 +401698,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 037 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x32D0, @@ -377610,12 +401719,14 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 037 */ 0xA67E, 0xA67F, 0xA6F2, - 0xA717, + 0xA708, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA880, @@ -377673,7 +401784,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 037 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6A, 0xAB70, 0xABEB, 0xABEC, @@ -377882,12 +401993,20 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 037 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -377909,7 +402028,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 037 */ 0x11136, 0x11140, 0x11144, - 0x11147, + 0x11148, 0x11150, 0x11174, 0x11176, @@ -377918,7 +402037,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 037 */ 0x111C5, 0x111C9, 0x111CD, - 0x111D0, + 0x111CE, 0x111DB, 0x111DC, 0x111DD, @@ -377977,7 +402096,7 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 037 */ 0x11450, 0x1145A, 0x1145E, - 0x11460, + 0x11462, 0x11480, 0x114C6, 0x114C7, @@ -378009,7 +402128,21 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 037 */ 0x118A0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11944, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -378070,6 +402203,8 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 037 */ 0x11DAA, 0x11EE0, 0x11EF7, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -378113,7 +402248,9 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 037 */ 0x16FE0, 0x16FE2, 0x16FE3, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x1B000, 0x1B001, 0x1B164, @@ -378318,6 +402455,8 @@ static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 037 */ 0x1F200, 0x1F3FB, 0x1F400, + 0x1FBF0, + 0x1FBFA, 0xE0001, 0xE0002, 0xE0020, @@ -378343,7 +402482,7 @@ static const UV UNI_WCHO_invlist[] = { /* for all charsets */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_XIDC_invlist[] = { /* for ASCII/Latin1 */ - 1441, /* Number of elements */ + 1475, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -378453,7 +402592,7 @@ static const UV UNI_XIDC_invlist[] = { /* for ASCII/Latin1 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -378572,7 +402711,7 @@ static const UV UNI_XIDC_invlist[] = { /* for ASCII/Latin1 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -378665,8 +402804,6 @@ static const UV UNI_XIDC_invlist[] = { /* for ASCII/Latin1 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -378684,7 +402821,7 @@ static const UV UNI_XIDC_invlist[] = { /* for ASCII/Latin1 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -378886,6 +403023,8 @@ static const UV UNI_XIDC_invlist[] = { /* for ASCII/Latin1 */ 0x1AA8, 0x1AB0, 0x1ABE, + 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -379053,13 +403192,13 @@ static const UV UNI_XIDC_invlist[] = { /* for ASCII/Latin1 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -379081,9 +403220,11 @@ static const UV UNI_XIDC_invlist[] = { /* for ASCII/Latin1 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA880, @@ -379135,7 +403276,7 @@ static const UV UNI_XIDC_invlist[] = { /* for ASCII/Latin1 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABEB, 0xABEC, @@ -379344,12 +403485,20 @@ static const UV UNI_XIDC_invlist[] = { /* for ASCII/Latin1 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -379367,7 +403516,7 @@ static const UV UNI_XIDC_invlist[] = { /* for ASCII/Latin1 */ 0x11136, 0x11140, 0x11144, - 0x11147, + 0x11148, 0x11150, 0x11174, 0x11176, @@ -379376,7 +403525,7 @@ static const UV UNI_XIDC_invlist[] = { /* for ASCII/Latin1 */ 0x111C5, 0x111C9, 0x111CD, - 0x111D0, + 0x111CE, 0x111DB, 0x111DC, 0x111DD, @@ -379435,7 +403584,7 @@ static const UV UNI_XIDC_invlist[] = { /* for ASCII/Latin1 */ 0x11450, 0x1145A, 0x1145E, - 0x11460, + 0x11462, 0x11480, 0x114C6, 0x114C7, @@ -379469,7 +403618,21 @@ static const UV UNI_XIDC_invlist[] = { /* for ASCII/Latin1 */ 0x118A0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11944, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -379530,6 +403693,8 @@ static const UV UNI_XIDC_invlist[] = { /* for ASCII/Latin1 */ 0x11DAA, 0x11EE0, 0x11EF7, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -379571,11 +403736,15 @@ static const UV UNI_XIDC_invlist[] = { /* for ASCII/Latin1 */ 0x16FE0, 0x16FE2, 0x16FE3, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -379774,8 +403943,10 @@ static const UV UNI_XIDC_invlist[] = { /* for ASCII/Latin1 */ 0x1EEAA, 0x1EEAB, 0x1EEBC, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -379786,6 +403957,8 @@ static const UV UNI_XIDC_invlist[] = { /* for ASCII/Latin1 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0100, 0xE01F0 }; @@ -379798,7 +403971,7 @@ static const UV UNI_XIDC_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 1047 */ - 1465, /* Number of elements */ + 1499, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -379932,7 +404105,7 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 1047 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -380051,7 +404224,7 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 1047 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -380144,8 +404317,6 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 1047 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -380163,7 +404334,7 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 1047 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -380365,6 +404536,8 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 1047 */ 0x1AA8, 0x1AB0, 0x1ABE, + 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -380532,13 +404705,13 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 1047 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -380560,9 +404733,11 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 1047 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA880, @@ -380614,7 +404789,7 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 1047 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABEB, 0xABEC, @@ -380823,12 +404998,20 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 1047 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -380846,7 +405029,7 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 1047 */ 0x11136, 0x11140, 0x11144, - 0x11147, + 0x11148, 0x11150, 0x11174, 0x11176, @@ -380855,7 +405038,7 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 1047 */ 0x111C5, 0x111C9, 0x111CD, - 0x111D0, + 0x111CE, 0x111DB, 0x111DC, 0x111DD, @@ -380914,7 +405097,7 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 1047 */ 0x11450, 0x1145A, 0x1145E, - 0x11460, + 0x11462, 0x11480, 0x114C6, 0x114C7, @@ -380948,7 +405131,21 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 1047 */ 0x118A0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11944, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -381009,6 +405206,8 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 1047 */ 0x11DAA, 0x11EE0, 0x11EF7, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -381050,11 +405249,15 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 1047 */ 0x16FE0, 0x16FE2, 0x16FE3, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -381253,8 +405456,10 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 1047 */ 0x1EEAA, 0x1EEAB, 0x1EEBC, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -381265,6 +405470,8 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 1047 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0100, 0xE01F0 }; @@ -381277,7 +405484,7 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 037 */ - 1461, /* Number of elements */ + 1495, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -381407,7 +405614,7 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 037 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x8E2, 0x8E3, @@ -381526,7 +405733,7 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 037 */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -381619,8 +405826,6 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 037 */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -381638,7 +405843,7 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 037 */ 0xD70, 0xD7A, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -381840,6 +406045,8 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 037 */ 0x1AA8, 0x1AB0, 0x1ABE, + 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -382007,13 +406214,13 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 037 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -382035,9 +406242,11 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 037 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA828, + 0xA82C, + 0xA82D, 0xA840, 0xA874, 0xA880, @@ -382089,7 +406298,7 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 037 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABEB, 0xABEC, @@ -382298,12 +406507,20 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 037 */ 0x10D28, 0x10D30, 0x10D3A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAD, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, @@ -382321,7 +406538,7 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 037 */ 0x11136, 0x11140, 0x11144, - 0x11147, + 0x11148, 0x11150, 0x11174, 0x11176, @@ -382330,7 +406547,7 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 037 */ 0x111C5, 0x111C9, 0x111CD, - 0x111D0, + 0x111CE, 0x111DB, 0x111DC, 0x111DD, @@ -382389,7 +406606,7 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 037 */ 0x11450, 0x1145A, 0x1145E, - 0x11460, + 0x11462, 0x11480, 0x114C6, 0x114C7, @@ -382423,7 +406640,21 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 037 */ 0x118A0, 0x118EA, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11944, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -382484,6 +406715,8 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 037 */ 0x11DAA, 0x11EE0, 0x11EF7, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -382525,11 +406758,15 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 037 */ 0x16FE0, 0x16FE2, 0x16FE3, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -382728,8 +406965,10 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 037 */ 0x1EEAA, 0x1EEAB, 0x1EEBC, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -382740,6 +406979,8 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 037 */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0100, 0xE01F0 }; @@ -382749,7 +406990,7 @@ static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_XIDS_invlist[] = { /* for ASCII/Latin1 */ - 1233, /* Number of elements */ + 1259, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -382855,7 +407096,7 @@ static const UV UNI_XIDS_invlist[] = { /* for ASCII/Latin1 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x904, 0x93A, 0x93D, @@ -383006,7 +407247,7 @@ static const UV UNI_XIDS_invlist[] = { /* for ASCII/Latin1 */ 0xCE2, 0xCF1, 0xCF3, - 0xD05, + 0xD04, 0xD0D, 0xD0E, 0xD11, @@ -383345,13 +407586,13 @@ static const UV UNI_XIDS_invlist[] = { /* for ASCII/Latin1 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -383375,8 +407616,8 @@ static const UV UNI_XIDS_invlist[] = { /* for ASCII/Latin1 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA802, 0xA803, 0xA806, @@ -383451,7 +407692,7 @@ static const UV UNI_XIDS_invlist[] = { /* for ASCII/Latin1 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABE3, 0xAC00, @@ -383634,12 +407875,18 @@ static const UV UNI_XIDS_invlist[] = { /* for ASCII/Latin1 */ 0x10CF3, 0x10D00, 0x10D24, + 0x10E80, + 0x10EAA, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, @@ -383652,6 +407899,8 @@ static const UV UNI_XIDS_invlist[] = { /* for ASCII/Latin1 */ 0x11127, 0x11144, 0x11145, + 0x11147, + 0x11148, 0x11150, 0x11173, 0x11176, @@ -383703,7 +407952,7 @@ static const UV UNI_XIDS_invlist[] = { /* for ASCII/Latin1 */ 0x11447, 0x1144B, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -383729,7 +407978,19 @@ static const UV UNI_XIDS_invlist[] = { /* for ASCII/Latin1 */ 0x118A0, 0x118E0, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, 0x119A0, 0x119A8, 0x119AA, @@ -383778,6 +408039,8 @@ static const UV UNI_XIDS_invlist[] = { /* for ASCII/Latin1 */ 0x11D99, 0x11EE0, 0x11EF3, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -383817,7 +408080,9 @@ static const UV UNI_XIDS_invlist[] = { /* for ASCII/Latin1 */ 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -383975,7 +408240,7 @@ static const UV UNI_XIDS_invlist[] = { /* for ASCII/Latin1 */ 0x1EEAB, 0x1EEBC, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -383985,7 +408250,9 @@ static const UV UNI_XIDS_invlist[] = { /* for ASCII/Latin1 */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; # endif /* ASCII/Latin1 */ @@ -383996,7 +408263,7 @@ static const UV UNI_XIDS_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 1047 */ - 1259, /* Number of elements */ + 1285, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -384128,7 +408395,7 @@ static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 1047 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x904, 0x93A, 0x93D, @@ -384279,7 +408546,7 @@ static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 1047 */ 0xCE2, 0xCF1, 0xCF3, - 0xD05, + 0xD04, 0xD0D, 0xD0E, 0xD11, @@ -384618,13 +408885,13 @@ static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 1047 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -384648,8 +408915,8 @@ static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 1047 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA802, 0xA803, 0xA806, @@ -384724,7 +408991,7 @@ static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 1047 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABE3, 0xAC00, @@ -384907,12 +409174,18 @@ static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 1047 */ 0x10CF3, 0x10D00, 0x10D24, + 0x10E80, + 0x10EAA, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, @@ -384925,6 +409198,8 @@ static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 1047 */ 0x11127, 0x11144, 0x11145, + 0x11147, + 0x11148, 0x11150, 0x11173, 0x11176, @@ -384976,7 +409251,7 @@ static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 1047 */ 0x11447, 0x1144B, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -385002,7 +409277,19 @@ static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 1047 */ 0x118A0, 0x118E0, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, 0x119A0, 0x119A8, 0x119AA, @@ -385051,6 +409338,8 @@ static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 1047 */ 0x11D99, 0x11EE0, 0x11EF3, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -385090,7 +409379,9 @@ static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 1047 */ 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -385248,7 +409539,7 @@ static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 1047 */ 0x1EEAB, 0x1EEBC, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -385258,7 +409549,9 @@ static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 1047 */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; # endif /* EBCDIC 1047 */ @@ -385269,7 +409562,7 @@ static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 037 */ - 1255, /* Number of elements */ + 1281, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -385397,7 +409690,7 @@ static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 037 */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x904, 0x93A, 0x93D, @@ -385548,7 +409841,7 @@ static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 037 */ 0xCE2, 0xCF1, 0xCF3, - 0xD05, + 0xD04, 0xD0D, 0xD0E, 0xD11, @@ -385887,13 +410180,13 @@ static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 037 */ 0x3131, 0x318F, 0x31A0, - 0x31BB, + 0x31C0, 0x31F0, 0x3200, 0x3400, - 0x4DB6, + 0x4DC0, 0x4E00, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA4D0, @@ -385917,8 +410210,8 @@ static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 037 */ 0xA78B, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, + 0xA7CB, + 0xA7F5, 0xA802, 0xA803, 0xA806, @@ -385993,7 +410286,7 @@ static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 037 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB68, + 0xAB6A, 0xAB70, 0xABE3, 0xAC00, @@ -386176,12 +410469,18 @@ static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 037 */ 0x10CF3, 0x10D00, 0x10D24, + 0x10E80, + 0x10EAA, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, + 0x10FB0, + 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, @@ -386194,6 +410493,8 @@ static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 037 */ 0x11127, 0x11144, 0x11145, + 0x11147, + 0x11148, 0x11150, 0x11173, 0x11176, @@ -386245,7 +410546,7 @@ static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 037 */ 0x11447, 0x1144B, 0x1145F, - 0x11460, + 0x11462, 0x11480, 0x114B0, 0x114C4, @@ -386271,7 +410572,19 @@ static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 037 */ 0x118A0, 0x118E0, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11930, + 0x1193F, + 0x11940, + 0x11941, + 0x11942, 0x119A0, 0x119A8, 0x119AA, @@ -386320,6 +410633,8 @@ static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 037 */ 0x11D99, 0x11EE0, 0x11EF3, + 0x11FB0, + 0x11FB1, 0x12000, 0x1239A, 0x12400, @@ -386359,7 +410674,9 @@ static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 037 */ 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -386517,7 +410834,7 @@ static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 037 */ 0x1EEAB, 0x1EEBC, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -386527,7 +410844,9 @@ static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 037 */ 0x2CEB0, 0x2EBE1, 0x2F800, - 0x2FA1E + 0x2FA1E, + 0x30000, + 0x3134B }; # endif /* EBCDIC 037 */ @@ -386560,6 +410879,28 @@ static const UV UNI_XSUX_invlist[] = { /* for all charsets */ 0x12544 }; +static const UV UNI_YEZI_invlist[] = { /* for all charsets */ + 15, /* Number of elements */ + 148565664, /* Version and data structure type */ + 1, /* 0 if the list starts at 0; + 1 if it starts at the element beyond 0 */ + 0x0, + 0x60C, + 0x60D, + 0x61B, + 0x61C, + 0x61F, + 0x620, + 0x660, + 0x66A, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAE, + 0x10EB0, + 0x10EB2 +}; + static const UV UNI_YI_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ @@ -386811,7 +411152,7 @@ static const UV UNI_ZS_invlist[] = { /* for EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_ZYYY_invlist[] = { /* for ASCII/Latin1 */ - 292, /* Number of elements */ + 296, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -386891,12 +411232,12 @@ static const UV UNI_ZYYY_invlist[] = { /* for ASCII/Latin1 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C00, 0x2E00, 0x2E43, 0x2E44, - 0x2E50, + 0x2E53, 0x2FF0, 0x2FFC, 0x3000, @@ -386925,12 +411266,14 @@ static const UV UNI_ZYYY_invlist[] = { /* for ASCII/Latin1 */ 0x3400, 0x4DC0, 0x4E00, - 0xA700, + 0xA708, 0xA722, 0xA788, 0xA78B, 0xAB5B, 0xAB5C, + 0xAB6A, + 0xAB6C, 0xFD3E, 0xFD40, 0xFE10, @@ -386958,7 +411301,7 @@ static const UV UNI_ZYYY_invlist[] = { /* for ASCII/Latin1 */ 0xFFF9, 0xFFFE, 0x10190, - 0x1019C, + 0x1019D, 0x101D0, 0x101FD, 0x16FE2, @@ -387042,11 +411385,7 @@ static const UV UNI_ZYYY_invlist[] = { /* for ASCII/Latin1 */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F1AE, 0x1F1E6, 0x1F200, 0x1F201, @@ -387058,11 +411397,11 @@ static const UV UNI_ZYYY_invlist[] = { /* for ASCII/Latin1 */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -387079,30 +411418,36 @@ static const UV UNI_ZYYY_invlist[] = { /* for ASCII/Latin1 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0xE0001, 0xE0002, 0xE0020, @@ -387117,7 +411462,7 @@ static const UV UNI_ZYYY_invlist[] = { /* for ASCII/Latin1 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_ZYYY_invlist[] = { /* for EBCDIC 1047 */ - 318, /* Number of elements */ + 322, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -387223,12 +411568,12 @@ static const UV UNI_ZYYY_invlist[] = { /* for EBCDIC 1047 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C00, 0x2E00, 0x2E43, 0x2E44, - 0x2E50, + 0x2E53, 0x2FF0, 0x2FFC, 0x3000, @@ -387257,12 +411602,14 @@ static const UV UNI_ZYYY_invlist[] = { /* for EBCDIC 1047 */ 0x3400, 0x4DC0, 0x4E00, - 0xA700, + 0xA708, 0xA722, 0xA788, 0xA78B, 0xAB5B, 0xAB5C, + 0xAB6A, + 0xAB6C, 0xFD3E, 0xFD40, 0xFE10, @@ -387290,7 +411637,7 @@ static const UV UNI_ZYYY_invlist[] = { /* for EBCDIC 1047 */ 0xFFF9, 0xFFFE, 0x10190, - 0x1019C, + 0x1019D, 0x101D0, 0x101FD, 0x16FE2, @@ -387374,11 +411721,7 @@ static const UV UNI_ZYYY_invlist[] = { /* for EBCDIC 1047 */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F1AE, 0x1F1E6, 0x1F200, 0x1F201, @@ -387390,11 +411733,11 @@ static const UV UNI_ZYYY_invlist[] = { /* for EBCDIC 1047 */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -387411,30 +411754,36 @@ static const UV UNI_ZYYY_invlist[] = { /* for EBCDIC 1047 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0xE0001, 0xE0002, 0xE0020, @@ -387449,7 +411798,7 @@ static const UV UNI_ZYYY_invlist[] = { /* for EBCDIC 1047 */ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_ZYYY_invlist[] = { /* for EBCDIC 037 */ - 314, /* Number of elements */ + 318, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -387551,12 +411900,12 @@ static const UV UNI_ZYYY_invlist[] = { /* for EBCDIC 037 */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C00, 0x2E00, 0x2E43, 0x2E44, - 0x2E50, + 0x2E53, 0x2FF0, 0x2FFC, 0x3000, @@ -387585,12 +411934,14 @@ static const UV UNI_ZYYY_invlist[] = { /* for EBCDIC 037 */ 0x3400, 0x4DC0, 0x4E00, - 0xA700, + 0xA708, 0xA722, 0xA788, 0xA78B, 0xAB5B, 0xAB5C, + 0xAB6A, + 0xAB6C, 0xFD3E, 0xFD40, 0xFE10, @@ -387618,7 +411969,7 @@ static const UV UNI_ZYYY_invlist[] = { /* for EBCDIC 037 */ 0xFFF9, 0xFFFE, 0x10190, - 0x1019C, + 0x1019D, 0x101D0, 0x101FD, 0x16FE2, @@ -387702,11 +412053,7 @@ static const UV UNI_ZYYY_invlist[] = { /* for EBCDIC 037 */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F1AE, 0x1F1E6, 0x1F200, 0x1F201, @@ -387718,11 +412065,11 @@ static const UV UNI_ZYYY_invlist[] = { /* for EBCDIC 037 */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -387739,30 +412086,36 @@ static const UV UNI_ZYYY_invlist[] = { /* for EBCDIC 037 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0xE0001, 0xE0002, 0xE0020, @@ -387772,7 +412125,7 @@ static const UV UNI_ZYYY_invlist[] = { /* for EBCDIC 037 */ # endif /* EBCDIC 037 */ static const UV UNI_ZZZZ_invlist[] = { /* for all charsets */ - 1328, /* Number of elements */ + 1350, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -387823,7 +412176,7 @@ static const UV UNI_ZZZZ_invlist[] = { /* for all charsets */ 0x8A0, 0x8B5, 0x8B6, - 0x8BE, + 0x8C8, 0x8D3, 0x984, 0x985, @@ -387932,7 +412285,7 @@ static const UV UNI_ZZZZ_invlist[] = { /* for all charsets */ 0xB49, 0xB4B, 0xB4E, - 0xB56, + 0xB55, 0xB58, 0xB5C, 0xB5E, @@ -388021,8 +412374,6 @@ static const UV UNI_ZZZZ_invlist[] = { /* for all charsets */ 0xCF1, 0xCF3, 0xD00, - 0xD04, - 0xD05, 0xD0D, 0xD0E, 0xD11, @@ -388036,7 +412387,7 @@ static const UV UNI_ZZZZ_invlist[] = { /* for all charsets */ 0xD64, 0xD66, 0xD80, - 0xD82, + 0xD81, 0xD84, 0xD85, 0xD97, @@ -388209,7 +412560,7 @@ static const UV UNI_ZZZZ_invlist[] = { /* for all charsets */ 0x1AA0, 0x1AAE, 0x1AB0, - 0x1ABF, + 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, @@ -388284,7 +412635,7 @@ static const UV UNI_ZZZZ_invlist[] = { /* for all charsets */ 0x2B74, 0x2B76, 0x2B96, - 0x2B98, + 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, @@ -388319,7 +412670,7 @@ static const UV UNI_ZZZZ_invlist[] = { /* for all charsets */ 0x2DD8, 0x2DDF, 0x2DE0, - 0x2E50, + 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, @@ -388339,15 +412690,11 @@ static const UV UNI_ZZZZ_invlist[] = { /* for all charsets */ 0x3131, 0x318F, 0x3190, - 0x31BB, - 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, - 0x4DB6, - 0x4DC0, - 0x9FF0, + 0x9FFD, 0xA000, 0xA48D, 0xA490, @@ -388359,9 +412706,9 @@ static const UV UNI_ZZZZ_invlist[] = { /* for all charsets */ 0xA700, 0xA7C0, 0xA7C2, - 0xA7C7, - 0xA7F7, - 0xA82C, + 0xA7CB, + 0xA7F5, + 0xA82D, 0xA830, 0xA83A, 0xA840, @@ -388401,7 +412748,7 @@ static const UV UNI_ZZZZ_invlist[] = { /* for all charsets */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB68, + 0xAB6C, 0xAB70, 0xABEE, 0xABF0, @@ -388491,7 +412838,7 @@ static const UV UNI_ZZZZ_invlist[] = { /* for all charsets */ 0x10137, 0x1018F, 0x10190, - 0x1019C, + 0x1019D, 0x101A0, 0x101A1, 0x101D0, @@ -388610,10 +412957,18 @@ static const UV UNI_ZZZZ_invlist[] = { /* for all charsets */ 0x10D3A, 0x10E60, 0x10E7F, + 0x10E80, + 0x10EAA, + 0x10EAB, + 0x10EAE, + 0x10EB0, + 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, + 0x10FB0, + 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, @@ -388631,12 +412986,10 @@ static const UV UNI_ZZZZ_invlist[] = { /* for all charsets */ 0x11100, 0x11135, 0x11136, - 0x11147, + 0x11148, 0x11150, 0x11177, 0x11180, - 0x111CE, - 0x111D0, 0x111E0, 0x111E1, 0x111F5, @@ -388689,11 +413042,9 @@ static const UV UNI_ZZZZ_invlist[] = { /* for all charsets */ 0x11370, 0x11375, 0x11400, - 0x1145A, - 0x1145B, 0x1145C, 0x1145D, - 0x11460, + 0x11462, 0x11480, 0x114C8, 0x114D0, @@ -388723,7 +413074,21 @@ static const UV UNI_ZZZZ_invlist[] = { /* for all charsets */ 0x118A0, 0x118F3, 0x118FF, - 0x11900, + 0x11907, + 0x11909, + 0x1190A, + 0x1190C, + 0x11914, + 0x11915, + 0x11917, + 0x11918, + 0x11936, + 0x11937, + 0x11939, + 0x1193B, + 0x11947, + 0x11950, + 0x1195A, 0x119A0, 0x119A8, 0x119AA, @@ -388778,6 +413143,8 @@ static const UV UNI_ZZZZ_invlist[] = { /* for all charsets */ 0x11DAA, 0x11EE0, 0x11EF9, + 0x11FB0, + 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, @@ -388825,11 +413192,15 @@ static const UV UNI_ZZZZ_invlist[] = { /* for all charsets */ 0x16F8F, 0x16FA0, 0x16FE0, - 0x16FE4, + 0x16FE5, + 0x16FF0, + 0x16FF2, 0x17000, 0x187F8, 0x18800, - 0x18AF3, + 0x18CD6, + 0x18D00, + 0x18D09, 0x1B000, 0x1B11F, 0x1B150, @@ -389025,11 +413396,7 @@ static const UV UNI_ZZZZ_invlist[] = { /* for all charsets */ 0x1F0D1, 0x1F0F6, 0x1F100, - 0x1F10D, - 0x1F110, - 0x1F16D, - 0x1F170, - 0x1F1AD, + 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, @@ -389041,11 +413408,11 @@ static const UV UNI_ZZZZ_invlist[] = { /* for all charsets */ 0x1F260, 0x1F266, 0x1F300, - 0x1F6D6, + 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, - 0x1F6FB, + 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, @@ -389062,32 +413429,38 @@ static const UV UNI_ZZZZ_invlist[] = { /* for all charsets */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F8B0, + 0x1F8B2, 0x1F900, - 0x1F90C, - 0x1F90D, - 0x1F972, - 0x1F973, - 0x1F977, + 0x1F979, 0x1F97A, - 0x1F9A3, - 0x1F9A5, - 0x1F9AB, - 0x1F9AE, - 0x1F9CB, + 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, - 0x1FA74, + 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, - 0x1FA83, + 0x1FA87, 0x1FA90, - 0x1FA96, + 0x1FAA9, + 0x1FAB0, + 0x1FAB7, + 0x1FAC0, + 0x1FAC3, + 0x1FAD0, + 0x1FAD7, + 0x1FB00, + 0x1FB93, + 0x1FB94, + 0x1FBCB, + 0x1FBF0, + 0x1FBFA, 0x20000, - 0x2A6D7, + 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, @@ -389098,6 +413471,8 @@ static const UV UNI_ZZZZ_invlist[] = { /* for all charsets */ 0x2EBE1, 0x2F800, 0x2FA1E, + 0x30000, + 0x3134B, 0xE0001, 0xE0002, 0xE0020, @@ -389246,17 +413621,22 @@ const char * const deprecated_property_msgs[] = { "Supplanted by Line_Break property values; see www.unicode.org/reports/tr14" }; +#endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ + +#if defined(PERL_IN_REGCOMP_C) + #define UNI_HYPHEN (UNI_HYPHEN_perl_aux + (MAX_UNI_KEYWORD_INDEX * 2)) #define UNI_LB__SG (UNI_LB__SG_perl_aux + (MAX_UNI_KEYWORD_INDEX * 1)) typedef enum { - PERL_BIN_PLACEHOLDER = 0, /* So no real value is zero */ + PERL_BIN_PLACEHOLDER = 0, /* So no real value is zero */ UNI_ADLM, UNI_AEGEANNUMBERS, UNI_AGE__10, UNI_AGE__11, UNI_AGE__12, UNI_AGE__12_DOT_1, + UNI_AGE__13, UNI_AGE__2, UNI_AGE__2_DOT_1, UNI_AGE__3, @@ -389385,6 +413765,7 @@ typedef enum { UNI_CCC__34, UNI_CCC__35, UNI_CCC__36, + UNI_CCC__6, UNI_CCC__7, UNI_CCC__8, UNI_CCC__84, @@ -389407,6 +413788,7 @@ typedef enum { UNI_CHER, UNI_CHEROKEESUP, UNI_CHESSSYMBOLS, + UNI_CHRS, UNI_CI, UNI_CJK, UNI_CJKCOMPAT, @@ -389419,6 +413801,7 @@ typedef enum { UNI_CJKEXTD, UNI_CJKEXTE, UNI_CJKEXTF, + UNI_CJKEXTG, UNI_CJKRADICALSSUP, UNI_CJKSTROKES, UNI_CJKSYMBOLS, @@ -389455,6 +413838,7 @@ typedef enum { UNI_DIACRITICALSEXT, UNI_DIACRITICALSFORSYMBOLS, UNI_DIACRITICALSSUP, + UNI_DIAK, UNI_DINGBATS, UNI_DOGR, UNI_DOMINO, @@ -389485,20 +413869,26 @@ typedef enum { UNI_EA__N, UNI_EA__NA, UNI_EA__W, + UNI_EBASE, + UNI_ECOMP, UNI_EGYP, UNI_EGYPTIANHIEROGLYPHFORMATCONTROLS, UNI_ELBA, UNI_ELYM, + UNI_EMOD, + UNI_EMOJI, UNI_EMOTICONS, UNI_ENCLOSEDALPHANUM, UNI_ENCLOSEDALPHANUMSUP, UNI_ENCLOSEDCJK, UNI_ENCLOSEDIDEOGRAPHICSUP, + UNI_EPRES, UNI_ETHI, UNI_ETHIOPICEXT, UNI_ETHIOPICEXTA, UNI_ETHIOPICSUP, UNI_EXT, + UNI_EXTPICT, UNI_GCB__CN, UNI_GCB__EX, UNI_GCB__L, @@ -389541,6 +413931,19 @@ typedef enum { UNI_HUNG, UNI_HYPHEN_perl_aux, UNI_IDC, + UNI_IDENTIFIERSTATUS__ALLOWED, + UNI_IDENTIFIERSTATUS__RESTRICTED, + UNI_IDENTIFIERTYPE__DEFAULTIGNORABLE, + UNI_IDENTIFIERTYPE__EXCLUSION, + UNI_IDENTIFIERTYPE__INCLUSION, + UNI_IDENTIFIERTYPE__LIMITEDUSE, + UNI_IDENTIFIERTYPE__NOTCHARACTER, + UNI_IDENTIFIERTYPE__NOTNFKC, + UNI_IDENTIFIERTYPE__NOTXID, + UNI_IDENTIFIERTYPE__OBSOLETE, + UNI_IDENTIFIERTYPE__RECOMMENDED, + UNI_IDENTIFIERTYPE__TECHNICAL, + UNI_IDENTIFIERTYPE__UNCOMMONUSE, UNI_IDEO, UNI_IDEOGRAPHICSYMBOLS, UNI_IDS, @@ -389567,12 +413970,14 @@ typedef enum { UNI_INCHAKMA, UNI_INCHAM, UNI_INCHEROKEE, + UNI_INCHORASMIAN, UNI_INCOPTIC, UNI_INCUNEIFORM, UNI_INCYRILLIC, UNI_INDEVANAGARI, UNI_INDICNUMBERFORMS, UNI_INDICSIYAQNUMBERS, + UNI_INDIVESAKURU, UNI_INDOGRA, UNI_INDUPLOYAN, UNI_INEGYPTIANHIEROGLYPHS, @@ -389602,6 +414007,7 @@ typedef enum { UNI_INKANNADA, UNI_INKATAKANA, UNI_INKHAROSHTHI, + UNI_INKHITANSMALLSCRIPT, UNI_INKHMER, UNI_INKHOJKI, UNI_INKHUDAWADI, @@ -389609,6 +414015,7 @@ typedef enum { UNI_INLEPCHA, UNI_INLIMBU, UNI_INLINEARA, + UNI_INLISU, UNI_INLYCIAN, UNI_INLYDIAN, UNI_INMAHAJANI, @@ -389657,6 +414064,7 @@ typedef enum { UNI_INPC__RIGHT, UNI_INPC__TOP, UNI_INPC__TOPANDBOTTOM, + UNI_INPC__TOPANDBOTTOMANDLEFT, UNI_INPC__TOPANDBOTTOMANDRIGHT, UNI_INPC__TOPANDLEFT, UNI_INPC__TOPANDLEFTANDRIGHT, @@ -389704,7 +414112,6 @@ typedef enum { UNI_INSC__VOWEL, UNI_INSC__VOWELDEPENDENT, UNI_INSC__VOWELINDEPENDENT, - UNI_INSHARADA, UNI_INSIDDHAM, UNI_INSINHALA, UNI_INSOGDIAN, @@ -389732,11 +414139,13 @@ typedef enum { UNI_INVS, UNI_INWANCHO, UNI_INWARANGCITI, + UNI_INYEZIDI, UNI_INZANABAZARSQUARE, UNI_IN__10, UNI_IN__11, UNI_IN__12, UNI_IN__12_DOT_1, + UNI_IN__13, UNI_IN__1_DOT_1, UNI_IN__2, UNI_IN__2_DOT_1, @@ -389881,6 +414290,7 @@ typedef enum { UNI_KHMERSYMBOLS, UNI_KHMR, UNI_KHOJ, + UNI_KITS, UNI_KNDA, UNI_KTHI, UNI_L, @@ -389906,8 +414316,6 @@ typedef enum { UNI_LB__CM, UNI_LB__CP, UNI_LB__CR, - UNI_LB__EB, - UNI_LB__EM, UNI_LB__EX, UNI_LB__GL, UNI_LB__H2, @@ -389941,6 +414349,7 @@ typedef enum { UNI_LINEARBIDEOGRAMS, UNI_LINEARBSYLLABARY, UNI_LISU, + UNI_LISUSUP, UNI_LM, UNI_LO, UNI_LOE, @@ -390222,7 +414631,6 @@ typedef enum { UNI_SC, UNI_SC__ADLM, UNI_SC__ARAB, - UNI_SC__ARMN, UNI_SC__BENG, UNI_SC__BOPO, UNI_SC__BUGI, @@ -390285,6 +414693,7 @@ typedef enum { UNI_SC__TGLG, UNI_SC__THAA, UNI_SC__TIRH, + UNI_SC__YEZI, UNI_SC__YI, UNI_SC__ZYYY, UNI_SD, @@ -390321,6 +414730,7 @@ typedef enum { UNI_SUTTONSIGNWRITING, UNI_SYLO, UNI_SYMBOLSANDPICTOGRAPHSEXTA, + UNI_SYMBOLSFORLEGACYCOMPUTING, UNI_SYRC, UNI_SYRIACSUP, UNI_TAGB, @@ -390333,6 +414743,7 @@ typedef enum { UNI_TAML, UNI_TANG, UNI_TANGUTCOMPONENTS, + UNI_TANGUTSUP, UNI_TAVT, UNI_TELU, UNI_TERM, @@ -390393,6 +414804,7 @@ typedef enum { UNI_XPOSIXWORD, UNI_XPOSIXXDIGIT, UNI_XSUX, + UNI_YEZI, UNI_YI, UNI_YIJING, UNI_YIRADICALS, @@ -390412,7 +414824,6 @@ typedef enum { UNI__PERL_IDSTART, UNI__PERL_IS_IN_MULTI_CHAR_FOLD, UNI__PERL_NCHAR, - UNI__PERL_NON_FINAL_FOLDS, UNI__PERL_PATWS, UNI__PERL_PROBLEMATIC_LOCALE_FOLDEDS_START, UNI__PERL_PROBLEMATIC_LOCALE_FOLDS, @@ -390422,6 +414833,10 @@ typedef enum { #define MAX_UNI_KEYWORD_INDEX UNI__PERL_SURROGATE +#endif /* defined(PERL_IN_REGCOMP_C) */ + +#if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) + static const UV * const uni_prop_ptrs[] = { NULL, /* Placeholder */ UNI_ADLM_invlist, @@ -390430,6 +414845,7 @@ static const UV * const uni_prop_ptrs[] = { UNI_AGE__11_invlist, UNI_AGE__12_invlist, UNI_AGE__12_DOT_1_invlist, + UNI_AGE__13_invlist, UNI_AGE__2_invlist, UNI_AGE__2_DOT_1_invlist, UNI_AGE__3_invlist, @@ -390558,6 +414974,7 @@ static const UV * const uni_prop_ptrs[] = { UNI_CCC__34_invlist, UNI_CCC__35_invlist, UNI_CCC__36_invlist, + UNI_CCC__6_invlist, UNI_CCC__7_invlist, UNI_CCC__8_invlist, UNI_CCC__84_invlist, @@ -390580,6 +414997,7 @@ static const UV * const uni_prop_ptrs[] = { UNI_CHER_invlist, UNI_CHEROKEESUP_invlist, UNI_CHESSSYMBOLS_invlist, + UNI_CHRS_invlist, UNI_CI_invlist, UNI_CJK_invlist, UNI_CJKCOMPAT_invlist, @@ -390592,6 +415010,7 @@ static const UV * const uni_prop_ptrs[] = { UNI_CJKEXTD_invlist, UNI_CJKEXTE_invlist, UNI_CJKEXTF_invlist, + UNI_CJKEXTG_invlist, UNI_CJKRADICALSSUP_invlist, UNI_CJKSTROKES_invlist, UNI_CJKSYMBOLS_invlist, @@ -390628,6 +415047,7 @@ static const UV * const uni_prop_ptrs[] = { UNI_DIACRITICALSEXT_invlist, UNI_DIACRITICALSFORSYMBOLS_invlist, UNI_DIACRITICALSSUP_invlist, + UNI_DIAK_invlist, UNI_DINGBATS_invlist, UNI_DOGR_invlist, UNI_DOMINO_invlist, @@ -390658,20 +415078,26 @@ static const UV * const uni_prop_ptrs[] = { UNI_EA__N_invlist, UNI_EA__NA_invlist, UNI_EA__W_invlist, + UNI_EBASE_invlist, + UNI_ECOMP_invlist, UNI_EGYP_invlist, UNI_EGYPTIANHIEROGLYPHFORMATCONTROLS_invlist, UNI_ELBA_invlist, UNI_ELYM_invlist, + UNI_EMOD_invlist, + UNI_EMOJI_invlist, UNI_EMOTICONS_invlist, UNI_ENCLOSEDALPHANUM_invlist, UNI_ENCLOSEDALPHANUMSUP_invlist, UNI_ENCLOSEDCJK_invlist, UNI_ENCLOSEDIDEOGRAPHICSUP_invlist, + UNI_EPRES_invlist, UNI_ETHI_invlist, UNI_ETHIOPICEXT_invlist, UNI_ETHIOPICEXTA_invlist, UNI_ETHIOPICSUP_invlist, UNI_EXT_invlist, + UNI_EXTPICT_invlist, UNI_GCB__CN_invlist, UNI_GCB__EX_invlist, UNI_GCB__L_invlist, @@ -390714,6 +415140,19 @@ static const UV * const uni_prop_ptrs[] = { UNI_HUNG_invlist, UNI_HYPHEN_invlist, UNI_IDC_invlist, + UNI_IDENTIFIERSTATUS__ALLOWED_invlist, + UNI_IDENTIFIERSTATUS__RESTRICTED_invlist, + UNI_IDENTIFIERTYPE__DEFAULTIGNORABLE_invlist, + UNI_IDENTIFIERTYPE__EXCLUSION_invlist, + UNI_IDENTIFIERTYPE__INCLUSION_invlist, + UNI_IDENTIFIERTYPE__LIMITEDUSE_invlist, + UNI_IDENTIFIERTYPE__NOTCHARACTER_invlist, + UNI_IDENTIFIERTYPE__NOTNFKC_invlist, + UNI_IDENTIFIERTYPE__NOTXID_invlist, + UNI_IDENTIFIERTYPE__OBSOLETE_invlist, + UNI_IDENTIFIERTYPE__RECOMMENDED_invlist, + UNI_IDENTIFIERTYPE__TECHNICAL_invlist, + UNI_IDENTIFIERTYPE__UNCOMMONUSE_invlist, UNI_IDEO_invlist, UNI_IDEOGRAPHICSYMBOLS_invlist, UNI_IDS_invlist, @@ -390740,12 +415179,14 @@ static const UV * const uni_prop_ptrs[] = { UNI_INCHAKMA_invlist, UNI_INCHAM_invlist, UNI_INCHEROKEE_invlist, + UNI_INCHORASMIAN_invlist, UNI_INCOPTIC_invlist, UNI_INCUNEIFORM_invlist, UNI_INCYRILLIC_invlist, UNI_INDEVANAGARI_invlist, UNI_INDICNUMBERFORMS_invlist, UNI_INDICSIYAQNUMBERS_invlist, + UNI_INDIVESAKURU_invlist, UNI_INDOGRA_invlist, UNI_INDUPLOYAN_invlist, UNI_INEGYPTIANHIEROGLYPHS_invlist, @@ -390775,6 +415216,7 @@ static const UV * const uni_prop_ptrs[] = { UNI_INKANNADA_invlist, UNI_INKATAKANA_invlist, UNI_INKHAROSHTHI_invlist, + UNI_INKHITANSMALLSCRIPT_invlist, UNI_INKHMER_invlist, UNI_INKHOJKI_invlist, UNI_INKHUDAWADI_invlist, @@ -390782,6 +415224,7 @@ static const UV * const uni_prop_ptrs[] = { UNI_INLEPCHA_invlist, UNI_INLIMBU_invlist, UNI_INLINEARA_invlist, + UNI_INLISU_invlist, UNI_INLYCIAN_invlist, UNI_INLYDIAN_invlist, UNI_INMAHAJANI_invlist, @@ -390830,6 +415273,7 @@ static const UV * const uni_prop_ptrs[] = { UNI_INPC__RIGHT_invlist, UNI_INPC__TOP_invlist, UNI_INPC__TOPANDBOTTOM_invlist, + UNI_INPC__TOPANDBOTTOMANDLEFT_invlist, UNI_INPC__TOPANDBOTTOMANDRIGHT_invlist, UNI_INPC__TOPANDLEFT_invlist, UNI_INPC__TOPANDLEFTANDRIGHT_invlist, @@ -390877,7 +415321,6 @@ static const UV * const uni_prop_ptrs[] = { UNI_INSC__VOWEL_invlist, UNI_INSC__VOWELDEPENDENT_invlist, UNI_INSC__VOWELINDEPENDENT_invlist, - UNI_INSHARADA_invlist, UNI_INSIDDHAM_invlist, UNI_INSINHALA_invlist, UNI_INSOGDIAN_invlist, @@ -390905,11 +415348,13 @@ static const UV * const uni_prop_ptrs[] = { UNI_INVS_invlist, UNI_INWANCHO_invlist, UNI_INWARANGCITI_invlist, + UNI_INYEZIDI_invlist, UNI_INZANABAZARSQUARE_invlist, UNI_IN__10_invlist, UNI_IN__11_invlist, UNI_IN__12_invlist, UNI_IN__12_DOT_1_invlist, + UNI_IN__13_invlist, UNI_IN__1_DOT_1_invlist, UNI_IN__2_invlist, UNI_IN__2_DOT_1_invlist, @@ -391054,6 +415499,7 @@ static const UV * const uni_prop_ptrs[] = { UNI_KHMERSYMBOLS_invlist, UNI_KHMR_invlist, UNI_KHOJ_invlist, + UNI_KITS_invlist, UNI_KNDA_invlist, UNI_KTHI_invlist, UNI_L_invlist, @@ -391079,8 +415525,6 @@ static const UV * const uni_prop_ptrs[] = { UNI_LB__CM_invlist, UNI_LB__CP_invlist, UNI_LB__CR_invlist, - UNI_LB__EB_invlist, - UNI_LB__EM_invlist, UNI_LB__EX_invlist, UNI_LB__GL_invlist, UNI_LB__H2_invlist, @@ -391114,6 +415558,7 @@ static const UV * const uni_prop_ptrs[] = { UNI_LINEARBIDEOGRAMS_invlist, UNI_LINEARBSYLLABARY_invlist, UNI_LISU_invlist, + UNI_LISUSUP_invlist, UNI_LM_invlist, UNI_LO_invlist, UNI_LOE_invlist, @@ -391395,7 +415840,6 @@ static const UV * const uni_prop_ptrs[] = { UNI_SC_invlist, UNI_SC__ADLM_invlist, UNI_SC__ARAB_invlist, - UNI_SC__ARMN_invlist, UNI_SC__BENG_invlist, UNI_SC__BOPO_invlist, UNI_SC__BUGI_invlist, @@ -391458,6 +415902,7 @@ static const UV * const uni_prop_ptrs[] = { UNI_SC__TGLG_invlist, UNI_SC__THAA_invlist, UNI_SC__TIRH_invlist, + UNI_SC__YEZI_invlist, UNI_SC__YI_invlist, UNI_SC__ZYYY_invlist, UNI_SD_invlist, @@ -391494,6 +415939,7 @@ static const UV * const uni_prop_ptrs[] = { UNI_SUTTONSIGNWRITING_invlist, UNI_SYLO_invlist, UNI_SYMBOLSANDPICTOGRAPHSEXTA_invlist, + UNI_SYMBOLSFORLEGACYCOMPUTING_invlist, UNI_SYRC_invlist, UNI_SYRIACSUP_invlist, UNI_TAGB_invlist, @@ -391506,6 +415952,7 @@ static const UV * const uni_prop_ptrs[] = { UNI_TAML_invlist, UNI_TANG_invlist, UNI_TANGUTCOMPONENTS_invlist, + UNI_TANGUTSUP_invlist, UNI_TAVT_invlist, UNI_TELU_invlist, UNI_TERM_invlist, @@ -391566,6 +416013,7 @@ static const UV * const uni_prop_ptrs[] = { UNI_XPOSIXWORD_invlist, UNI_XPOSIXXDIGIT_invlist, UNI_XSUX_invlist, + UNI_YEZI_invlist, UNI_YI_invlist, UNI_YIJING_invlist, UNI_YIRADICALS_invlist, @@ -391585,7 +416033,6 @@ static const UV * const uni_prop_ptrs[] = { UNI__PERL_IDSTART_invlist, UNI__PERL_IS_IN_MULTI_CHAR_FOLD_invlist, UNI__PERL_NCHAR_invlist, - UNI__PERL_NON_FINAL_FOLDS_invlist, UNI__PERL_PATWS_invlist, UNI__PERL_PROBLEMATIC_LOCALE_FOLDEDS_START_invlist, UNI__PERL_PROBLEMATIC_LOCALE_FOLDS_invlist, @@ -391593,6 +416040,10 @@ static const UV * const uni_prop_ptrs[] = { UNI__PERL_SURROGATE_invlist }; +#endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ + +#if defined(PERL_IN_REGCOMP_C) + /* Synonyms for perl properties */ #define UNI_AHEX UNI_POSIXXDIGIT @@ -391636,6 +416087,10 @@ static const UV * const uni_prop_ptrs[] = { #define UNI_XPERLSPACE UNI_XPOSIXSPACE +#endif /* defined(PERL_IN_REGCOMP_C) */ + +#if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) + static const char * const UNI_age_values[] = { "1.1", "2.0", @@ -391659,6 +416114,7 @@ static const char * const UNI_age_values[] = { "11.0", "12.0", "12.1", + "13.0", "NA", "na", "Unassigned", @@ -391667,6 +416123,7 @@ static const char * const UNI_age_values[] = { "V11_0", "V12_0", "V12_1", + "V13_0", "V1_1", "V2_0", "V2_1", @@ -391690,6 +416147,7 @@ static const char * const UNI_age_values[] = { "v110", "v120", "v121", + "v130", "v20", "v21", "v30", @@ -391964,6 +416422,8 @@ static const char * const UNI_blk_values[] = { "Chess Symbols", "Chess_Symbols", "chesssymbols", + "Chorasmian", + "chorasmian", "CJK", "cjk", "CJK_Compat", @@ -391998,6 +416458,8 @@ static const char * const UNI_blk_values[] = { "cjkexte", "CJK_Ext_F", "cjkextf", + "CJK_Ext_G", + "cjkextg", "CJK_Radicals_Sup", "cjkradicalssup", "CJK Radicals Supplement", @@ -392032,6 +416494,9 @@ static const char * const UNI_blk_values[] = { "CJK Unified Ideographs Extension F", "CJK_Unified_Ideographs_Extension_F", "cjkunifiedideographsextensionf", + "CJK Unified Ideographs Extension G", + "CJK_Unified_Ideographs_Extension_G", + "cjkunifiedideographsextensiong", "Combining Diacritical Marks", "Combining_Diacritical_Marks", "combiningdiacriticalmarks", @@ -392123,6 +416588,9 @@ static const char * const UNI_blk_values[] = { "diacriticalssup", "Dingbats", "dingbats", + "Dives Akuru", + "Dives_Akuru", + "divesakuru", "Dogra", "dogra", "Domino", @@ -392348,6 +416816,9 @@ static const char * const UNI_blk_values[] = { "kayahli", "Kharoshthi", "kharoshthi", + "Khitan Small Script", + "Khitan_Small_Script", + "khitansmallscript", "Khmer", "khmer", "Khmer Symbols", @@ -392414,6 +416885,11 @@ static const char * const UNI_blk_values[] = { "linearbsyllabary", "Lisu", "lisu", + "Lisu_Sup", + "lisusup", + "Lisu Supplement", + "Lisu_Supplement", + "lisusupplement", "Low Surrogates", "Low_Surrogates", "lowsurrogates", @@ -392764,6 +417240,9 @@ static const char * const UNI_blk_values[] = { "Symbols and Pictographs Extended-A", "Symbols_And_Pictographs_Extended_A", "symbolsandpictographsextendeda", + "Symbols for Legacy Computing", + "Symbols_For_Legacy_Computing", + "symbolsforlegacycomputing", "Syriac", "syriac", "Syriac_Sup", @@ -392805,6 +417284,11 @@ static const char * const UNI_blk_values[] = { "Tangut Components", "Tangut_Components", "tangutcomponents", + "Tangut_Sup", + "tangutsup", + "Tangut Supplement", + "Tangut_Supplement", + "tangutsupplement", "Telugu", "telugu", "Thaana", @@ -392859,6 +417343,8 @@ static const char * const UNI_blk_values[] = { "Warang Citi", "Warang_Citi", "warangciti", + "Yezidi", + "yezidi", "Yijing", "yijing", "Yijing Hexagram Symbols", @@ -392892,6 +417378,7 @@ static const char * const UNI_bpt_values[] = { static const char * const UNI_ccc_values[] = { "0", "1", + "6", "7", "8", "9", @@ -393069,6 +417556,10 @@ static const char * const UNI_ccc_values[] = { "doubleabove", "Double_Below", "doublebelow", + "HANR", + "hanr", + "Han_Reading", + "hanreading", "Iota_Subscript", "iotasubscript", "IS", @@ -393456,6 +417947,42 @@ static const char * const UNI_hst_values[] = { NULL }; +static const char * const UNI_identifierstatus_values[] = { + "Allowed", + "allowed", + "Restricted", + "restricted", + NULL +}; + +static const char * const UNI_identifiertype_values[] = { + "Default_Ignorable", + "defaultignorable", + "Deprecated", + "deprecated", + "Exclusion", + "exclusion", + "Inclusion", + "inclusion", + "Limited_Use", + "limiteduse", + "Not_Character", + "notcharacter", + "Not_NFKC", + "notnfkc", + "Not_XID", + "notxid", + "Obsolete", + "obsolete", + "Recommended", + "recommended", + "Technical", + "technical", + "Uncommon_Use", + "uncommonuse", + NULL +}; + static const char * const UNI_in_values[] = { "1.1", "2.0", @@ -393479,12 +418006,14 @@ static const char * const UNI_in_values[] = { "11.0", "12.0", "12.1", + "13.0", "Unassigned", "unassigned", "V10_0", "V11_0", "V12_0", "V12_1", + "V13_0", "V2_0", "V2_1", "V3_0", @@ -393506,6 +418035,7 @@ static const char * const UNI_in_values[] = { "v110", "v120", "v121", + "v130", "v20", "v21", "v30", @@ -393547,6 +418077,8 @@ static const char * const UNI_inpc_values[] = { "top", "Top_And_Bottom", "topandbottom", + "Top_And_Bottom_And_Left", + "topandbottomandleft", "Top_And_Bottom_And_Right", "topandbottomandright", "Top_And_Left", @@ -394382,6 +418914,10 @@ static const char * const UNI_sc_values[] = { "cher", "Cherokee", "cherokee", + "Chorasmian", + "chorasmian", + "Chrs", + "chrs", "Common", "common", "Copt", @@ -394404,6 +418940,10 @@ static const char * const UNI_sc_values[] = { "deva", "Devanagari", "devanagari", + "Diak", + "diak", + "Dives_Akuru", + "divesakuru", "Dogr", "dogr", "Dogra", @@ -394528,6 +419068,8 @@ static const char * const UNI_sc_values[] = { "khar", "Kharoshthi", "kharoshthi", + "Khitan_Small_Script", + "khitansmallscript", "Khmer", "khmer", "Khmr", @@ -394538,6 +419080,8 @@ static const char * const UNI_sc_values[] = { "khojki", "Khudawadi", "khudawadi", + "Kits", + "kits", "Knda", "knda", "Kthi", @@ -394884,6 +419428,10 @@ static const char * const UNI_sc_values[] = { "xpeo", "Xsux", "xsux", + "Yezi", + "yezi", + "Yezidi", + "yezidi", "Yi", "yi", "Yiii", @@ -395020,6 +419568,8 @@ UNI_ea_values, UNI_gc_values, UNI_gcb_values, UNI_hst_values, +UNI_identifierstatus_values, +UNI_identifiertype_values, UNI_in_values, UNI_inpc_values, UNI_insc_values, @@ -395062,7 +419612,13 @@ UNI_wb_values #define UNI_dia_values_index UNI_ahex_values_index #define UNI_dt_values_index 7 #define UNI_ea_values_index 8 +#define UNI_ebase_values_index UNI_ahex_values_index +#define UNI_ecomp_values_index UNI_ahex_values_index +#define UNI_emod_values_index UNI_ahex_values_index +#define UNI_emoji_values_index UNI_ahex_values_index +#define UNI_epres_values_index UNI_ahex_values_index #define UNI_ext_values_index UNI_ahex_values_index +#define UNI_extpict_values_index UNI_ahex_values_index #define UNI_gc_values_index 9 #define UNI_gcb_values_index 10 #define UNI_grbase_values_index UNI_ahex_values_index @@ -395071,44 +419627,46 @@ UNI_wb_values #define UNI_hst_values_index 11 #define UNI_hyphen_values_index UNI_ahex_values_index #define UNI_idc_values_index UNI_ahex_values_index +#define UNI_identifierstatus_values_index 12 +#define UNI_identifiertype_values_index 13 #define UNI_ideo_values_index UNI_ahex_values_index #define UNI_ids_values_index UNI_ahex_values_index #define UNI_idsb_values_index UNI_ahex_values_index #define UNI_idst_values_index UNI_ahex_values_index -#define UNI_in_values_index 12 -#define UNI_inpc_values_index 13 -#define UNI_insc_values_index 14 -#define UNI_jg_values_index 15 +#define UNI_in_values_index 14 +#define UNI_inpc_values_index 15 +#define UNI_insc_values_index 16 +#define UNI_jg_values_index 17 #define UNI_joinc_values_index UNI_ahex_values_index -#define UNI_jt_values_index 16 -#define UNI_lb_values_index 17 +#define UNI_jt_values_index 18 +#define UNI_lb_values_index 19 #define UNI_loe_values_index UNI_ahex_values_index #define UNI_lower_values_index UNI_ahex_values_index #define UNI_math_values_index UNI_ahex_values_index #define UNI_nchar_values_index UNI_ahex_values_index -#define UNI_nfcqc_values_index 18 -#define UNI_nfdqc_values_index 19 +#define UNI_nfcqc_values_index 20 +#define UNI_nfdqc_values_index 21 #define UNI_nfkcqc_values_index UNI_nfcqc_values_index #define UNI_nfkdqc_values_index UNI_nfdqc_values_index -#define UNI_nt_values_index 20 -#define UNI_nv_values_index 21 +#define UNI_nt_values_index 22 +#define UNI_nv_values_index 23 #define UNI_patsyn_values_index UNI_ahex_values_index #define UNI_patws_values_index UNI_ahex_values_index #define UNI_pcm_values_index UNI_ahex_values_index #define UNI_qmark_values_index UNI_ahex_values_index #define UNI_radical_values_index UNI_ahex_values_index #define UNI_ri_values_index UNI_ahex_values_index -#define UNI_sb_values_index 22 -#define UNI_sc_values_index 23 +#define UNI_sb_values_index 24 +#define UNI_sc_values_index 25 #define UNI_scx_values_index UNI_sc_values_index #define UNI_sd_values_index UNI_ahex_values_index #define UNI_sterm_values_index UNI_ahex_values_index #define UNI_term_values_index UNI_ahex_values_index #define UNI_uideo_values_index UNI_ahex_values_index #define UNI_upper_values_index UNI_ahex_values_index -#define UNI_vo_values_index 24 +#define UNI_vo_values_index 26 #define UNI_vs_values_index UNI_ahex_values_index -#define UNI_wb_values_index 25 +#define UNI_wb_values_index 27 #define UNI_wspace_values_index UNI_ahex_values_index #define UNI_xidc_values_index UNI_ahex_values_index #define UNI_xids_values_index UNI_ahex_values_index @@ -395124,27 +419682,27 @@ UNI_wb_values #define GCB_Maybe_Emoji_NonBreak 4 static const U8 GCB_table[17][17] = { - /* 'XPG' stands for 'XPG_XX'; 'edg' stands for 'EDGE'; u stands - * for 'unused in this Unicode release (and the data in the row - * or column are garbage) */ -/* XX CR CN EX L LF LV LVT PP RI SM T V XPG ZWJ edg u */ -/* XX */ { 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1 }, -/* CR */ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, -/* CN */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, -/* EX */ { 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 3 }, -/* L */ { 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1 }, -/* LF */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, -/* LV */ { 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1 }, -/* LVT*/ { 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1 }, -/* PP */ { 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 }, -/* RI */ { 1, 1, 1, 0, 1, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 1 }, -/* SM */ { 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1 }, -/* T */ { 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1 }, -/* V */ { 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1 }, -/* XPG*/ { 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1 }, -/* ZWJ*/ { 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 4, 0, 1, 0 }, -/* edg*/ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1 }, -/* u */ { 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0 } + /* 'edg' stands for 'EDGE'; 'EPX' stands for 'ExtPict_XX'; u + * stands for 'unused in this Unicode release (and the data in + * its row and column are garbage) */ +/* XX CN CR edg EPX EX L LF LV LVT PP RI SM T V ZWJ u */ +/* XX */ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1 }, +/* CN */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, +/* CR */ { 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, +/* edg*/ { 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, +/* EPX*/ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1 }, +/* EX */ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 3 }, +/* L */ { 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1 }, +/* LF */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, +/* LV */ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1 }, +/* LVT*/ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1 }, +/* PP */ { 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, +/* RI */ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 2, 0, 1, 1, 0, 1 }, +/* SM */ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1 }, +/* T */ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1 }, +/* V */ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1 }, +/* ZWJ*/ { 1, 1, 1, 1, 4, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0 }, +/* u */ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0 } }; #define LB_NOBREAK 0 @@ -395158,48 +419716,51 @@ static const U8 GCB_table[17][17] = { #define LB_RI_then_RI 15 #define LB_various_then_PO_or_PR 32 -static const U8 LB_table[39][39] = { - /* 'edg' stands for 'EDGE' */ -/* AL BA BB B2 SY CR CP CL CM CB EB EM EX GL H2 H3 HL HY ID IS IN JL JT JV LF BK NL NS NU OP PO PR QU RI SP WJ ZWJ ZW edg */ -/* AL */ { 0, 0, 1, 1, 2, 0, 2, 2, 0, 1, 1, 1, 2, 0, 1, 1, 0, 0, 1, 2, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 }, -/* BA */ {14, 0,14,14, 2, 0, 2, 2, 0, 1,14,14, 2,14,14,14,14, 0,14, 2,14,14,14,14, 0, 0, 0, 0,14,14,14,14, 0,14, 0, 0, 0, 0, 1 }, -/* BB */ { 0, 0, 0, 0, 2, 0, 2, 2, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, -/* B2 */ { 1, 0, 1, 2, 2, 0, 2, 2, 0, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 2, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1 }, -/* SY */ { 1, 0, 1, 1, 2, 0, 2, 2, 0, 1, 1, 1, 2, 0, 1, 1, 0, 0, 1, 2, 1, 1, 1, 1, 0, 0, 0, 0,12, 1,33,33, 0, 1, 0, 0, 0, 0, 1 }, -/* CR */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, -/* CP */ { 0, 0, 1, 1, 2, 0, 2, 2, 0, 1, 1, 1, 2, 0, 1, 1, 0, 0, 1, 2, 1, 1, 1, 1, 0, 0, 0, 2, 0, 1,33,33, 0, 1, 0, 0, 0, 0, 1 }, -/* CL */ { 1, 0, 1, 1, 2, 0, 2, 2, 0, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 2, 1, 1, 1, 1, 0, 0, 0, 2, 1, 1,33,33, 0, 1, 0, 0, 0, 0, 1 }, -/* CM */ { 3, 3, 3, 3, 3, 0, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 0, 1 }, -/* CB */ { 1, 1, 1, 1, 2, 0, 2, 2, 0, 1, 1, 1, 2, 0, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1 }, -/* EB */ { 1, 0, 1, 1, 2, 0, 2, 2, 0, 1, 1, 0, 2, 0, 1, 1, 1, 0, 1, 2, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1 }, -/* EM */ { 1, 0, 1, 1, 2, 0, 2, 2, 0, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 2, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1 }, -/* EX */ { 1, 0, 1, 1, 2, 0, 2, 2, 0, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 2, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1 }, -/* GL */ { 0, 0, 0, 0, 2, 0, 2, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, -/* H2 */ { 1, 0, 1, 1, 2, 0, 2, 2, 0, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1 }, -/* H3 */ { 1, 0, 1, 1, 2, 0, 2, 2, 0, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 2, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1 }, -/* HL */ { 0, 0, 1, 1, 2, 0, 2, 2, 0, 1, 1, 1, 2, 0, 1, 1, 0, 0, 1, 2, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 }, -/* HY */ {14, 0,14,14, 2, 0, 2, 2, 0, 1,14,14, 2,14,14,14,14, 0,14, 2,14,14,14,14, 0, 0, 0, 0,13,14,14,14, 0,14, 0, 0, 0, 0, 1 }, -/* ID */ { 1, 0, 1, 1, 2, 0, 2, 2, 0, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 2, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1 }, -/* IS */ { 0, 0, 1, 1, 2, 0, 2, 2, 0, 1, 1, 1, 2, 0, 1, 1, 0, 0, 1, 2, 1, 1, 1, 1, 0, 0, 0, 0,12, 1,33,33, 0, 1, 0, 0, 0, 0, 1 }, -/* IN */ { 1, 0, 1, 1, 2, 0, 2, 2, 0, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 2, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1 }, -/* JL */ { 1, 0, 1, 1, 2, 0, 2, 2, 0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1 }, -/* JT */ { 1, 0, 1, 1, 2, 0, 2, 2, 0, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 2, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1 }, -/* JV */ { 1, 0, 1, 1, 2, 0, 2, 2, 0, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1 }, -/* LF */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, -/* BK */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, -/* NL */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, -/* NS */ { 1, 0, 1, 1, 2, 0, 2, 2, 0, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 2, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1 }, -/* NU */ { 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 2, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 }, -/* OP */ { 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 0, 1 }, -/* PO */ { 0, 0, 1, 1, 2, 0, 2, 2, 0, 1, 1, 1, 2, 0, 1, 1, 0, 0, 1, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0,10, 1, 1, 0, 1, 0, 0, 0, 0, 1 }, -/* PR */ { 0, 0, 1, 1, 2, 0, 2, 2, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0,10, 1, 1, 0, 1, 0, 0, 0, 0, 1 }, -/* QU */ { 0, 0, 0, 0, 2, 0, 2, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, -/* RI */ { 1, 0, 1, 1, 2, 0, 2, 2, 0, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 2, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0,15, 0, 0, 0, 0, 1 }, -/* SP */ { 7, 7, 7, 7, 8, 0, 8, 8, 7, 7, 7, 7, 8, 7, 7, 7, 7, 7, 7, 8, 7, 7, 7, 7, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 0, 8, 7, 0, 1 }, -/* WJ */ { 0, 0, 0, 0, 2, 0, 2, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, -/* ZWJ*/ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, -/* ZW */ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1 }, -/* edg*/ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +static const U8 LB_table[41][41] = { + /* 'EAO' stands for 'East_Asian_OP'; 'edg' stands for 'EDGE'; u stands for 'unused in this Unicode release (and the data in its row and + * column are garbage) */ +/* AL B2 BA BB BK CB CL CM CP CR EAO EB edg EM EX GL H2 H3 HL HY ID IN IS JL JT JV LF NL NS NU OP PO PR QU RI SP SY WJ ZW ZWJ u */ +/* AL */ { 0, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 0, 0, 1, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 2 }, +/* B2 */ { 1, 2, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, +/* BA */ {14,14, 0,14, 0, 1, 2, 0, 2, 0, 14,14, 1,14, 2,14,14,14,14, 0,14,13, 2,14,14,14, 0, 0, 0,14,14,14,14, 0,14, 0, 2, 0, 0, 0, 2 }, +/* BB */ { 0, 0, 0, 0, 0, 1, 2, 0, 2, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2 }, +/* BK */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, +/* CB */ { 1, 1, 1, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, +/* CL */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 1, 1, 0, 0, 2, 1, 1,33,33, 0, 1, 0, 2, 0, 0, 0, 2 }, +/* CM */ { 3, 3, 3, 3, 0, 3, 3, 0, 3, 0, 3, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 0, 3, 3 }, +/* CP */ { 0, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 0, 0, 1, 0, 2, 1, 1, 1, 0, 0, 2, 0, 1,33,33, 0, 1, 0, 2, 0, 0, 0, 2 }, +/* CR */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, +/* EAO*/ { 2, 2, 2, 2, 0, 2, 2, 2, 2, 0, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 0, 2, 2 }, +/* EB */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 0, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, +/* edg*/ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, +/* EM */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, +/* EX */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, +/* GL */ { 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2 }, +/* H2 */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, +/* H3 */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, +/* HL */ { 0, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 0, 0, 1, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 2 }, +/* HY */ {14,14, 0,14, 0, 1, 2, 0, 2, 0, 14,14, 1,14, 2,14,14,14,14, 0,14,13, 2,14,14,14, 0, 0, 0,13,14,14,14, 0,14, 0, 2, 0, 0, 0, 2 }, +/* ID */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, +/* IN */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, +/* IS */ { 0, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 0, 0, 1, 0, 2, 1, 1, 1, 0, 0, 0,12, 1,33,33, 0, 1, 0, 2, 0, 0, 0, 2 }, +/* JL */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 0, 0, 1, 0, 1, 0, 2, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, +/* JT */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, +/* JV */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, +/* LF */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, +/* NL */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, +/* NS */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, +/* NU */ { 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 2, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, +/* OP */ { 2, 2, 2, 2, 0, 2, 2, 2, 2, 0, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 0, 2, 2 }, +/* PO */ { 0, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 0, 0, 1, 0, 2, 1, 1, 1, 0, 0, 0, 0,10, 1, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, +/* PR */ { 0, 1, 0, 1, 0, 1, 2, 0, 2, 0, 10, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,10, 1, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, +/* QU */ { 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 2, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2 }, +/* RI */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0,15, 0, 2, 0, 0, 0, 2 }, +/* SP */ { 7, 7, 7, 7, 0, 7, 8, 7, 8, 0, 7, 7, 1, 7, 8, 7, 7, 7, 7, 7, 7, 7, 8, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 7, 0, 8, 8, 0, 7, 8 }, +/* SY */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 0, 0, 1, 0, 2, 1, 1, 1, 0, 0, 0,12, 1,33,33, 0, 1, 0, 2, 0, 0, 0, 2 }, +/* WJ */ { 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2 }, +/* ZW */ { 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1 }, +/* ZWJ*/ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, +/* u */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 1, 1, 0, 0, 2, 1, 1,33,33, 0, 1, 0, 2, 0, 0, 0, 2 } }; #define WB_NOBREAK 0 @@ -395215,34 +419776,34 @@ static const U8 LB_table[39][39] = { #define WB_RI_then_RI 16 static const U8 WB_table[23][23] = { - /* 'Ext' stands for 'Extend'; 'XPG' stands for 'XPG_LE'; 'XPH' stands for 'XPG_XX'; - * 'edg' stands for 'EDGE'; 'hs' stands for 'Perl_Tailored_HSpace'; u stands for - * 'unused in this Unicode release (and the data in the row or column are garbage) - * */ -/* XX LE CR DQ Ext EX FO HL KA LF ML MN MB NL NU hs RI SQ XPG XPH ZWJ edg u */ -/* XX */ { 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1 }, -/* LE */ { 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 9, 1, 9, 1, 0, 1, 1, 9, 1, 1, 0, 1, 1 }, -/* CR */ { 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1 }, -/* DQ */ { 1, 1, 1, 1, 0, 1, 0, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1 }, -/* Ext*/ { 3, 3, 1, 3, 0, 3, 0, 3, 3, 1, 3, 3, 3, 1, 3, 1, 3, 3, 3, 3, 0, 1, 3 }, -/* EX */ { 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1 }, -/* FO */ { 3, 3, 1, 3, 0, 3, 0, 3, 3, 1, 3, 3, 3, 1, 3, 1, 3, 3, 3, 3, 0, 1, 3 }, -/* HL */ { 1, 0, 1, 7, 0, 0, 0, 0, 1, 1, 9, 1, 9, 1, 0, 1, 1, 8, 0, 1, 0, 1, 1 }, -/* KA */ { 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1 }, -/* LF */ { 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1 }, -/* ML */ { 1,11, 1, 1, 0, 1, 0,11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 11, 1, 0, 1, 1 }, -/* MN */ { 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1,13, 1, 1, 1, 1, 1, 0, 1, 1 }, -/* MB */ { 1,11, 1, 1, 0, 1, 0,11, 1, 1, 1, 1, 1, 1,13, 1, 1, 1, 11, 1, 0, 1, 1 }, -/* NL */ { 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1 }, -/* NU */ { 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1,15,15, 1, 0, 1, 1,15, 0, 1, 0, 1, 1 }, -/* hs */ { 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 2, 1, 1, 1, 1, 0, 1, 1 }, -/* RI */ { 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,16, 1, 1, 1, 0, 1, 1 }, -/* SQ */ { 1,11, 1, 1, 0, 1, 0,11, 1, 1, 1, 1, 1, 1,13, 1, 1, 1, 11, 1, 0, 1, 1 }, -/* XPG*/ { 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 9, 1, 9, 1, 0, 1, 1, 9, 0, 1, 0, 1, 1 }, -/* XPH*/ { 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1 }, -/* ZWJ*/ { 3, 3, 1, 3, 0, 3, 0, 3, 3, 1, 3, 3, 3, 1, 3, 1, 3, 3, 0, 0, 0, 1, 0 }, -/* edg*/ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1 }, -/* u */ { 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0 } + /* 'edg' stands for 'EDGE'; 'EPL' stands for 'ExtPict_LE'; 'EPX' stands for + * 'ExtPict_XX'; 'Ext' stands for 'Extend'; 'hs' stands for 'Perl_Tailored_HSpace'; + * u stands for 'unused in this Unicode release (and the data in its row and column + * are garbage) */ +/* XX CR DQ edg EPL EPX EX Ext FO HL hs KA LE LF MB ML MN NL NU RI SQ ZWJ u */ +/* XX */ { 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1 }, +/* CR */ { 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1 }, +/* DQ */ { 1, 1, 1, 1, 1, 1, 1, 0, 0, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1 }, +/* edg*/ { 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, +/* EPL*/ { 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 9, 9, 1, 1, 0, 1, 9, 0, 1 }, +/* EPX*/ { 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1 }, +/* EX */ { 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1 }, +/* Ext*/ { 3, 1, 3, 1, 3, 3, 3, 0, 0, 3, 1, 3, 3, 1, 3, 3, 3, 1, 3, 3, 3, 0, 3 }, +/* FO */ { 3, 1, 3, 1, 3, 3, 3, 0, 0, 3, 1, 3, 3, 1, 3, 3, 3, 1, 3, 3, 3, 0, 3 }, +/* HL */ { 1, 1, 7, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 9, 9, 1, 1, 0, 1, 8, 0, 1 }, +/* hs */ { 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 2, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1 }, +/* KA */ { 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1 }, +/* LE */ { 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 9, 9, 1, 1, 0, 1, 9, 0, 1 }, +/* LF */ { 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1 }, +/* MB */ { 1, 1, 1, 1, 11, 1, 1, 0, 0,11, 1, 1,11, 1, 1, 1, 1, 1,13, 1, 1, 0, 1 }, +/* ML */ { 1, 1, 1, 1, 11, 1, 1, 0, 0,11, 1, 1,11, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1 }, +/* MN */ { 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,13, 1, 1, 0, 1 }, +/* NL */ { 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1 }, +/* NU */ { 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1,15, 1,15, 1, 0, 1,15, 0, 1 }, +/* RI */ { 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,16, 1, 0, 1 }, +/* SQ */ { 1, 1, 1, 1, 11, 1, 1, 0, 0,11, 1, 1,11, 1, 1, 1, 1, 1,13, 1, 1, 0, 1 }, +/* ZWJ*/ { 3, 1, 3, 1, 0, 0, 3, 0, 0, 3, 1, 3, 3, 1, 3, 3, 3, 1, 3, 3, 3, 0, 0 }, +/* u */ { 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0 } }; #endif /* defined(PERL_IN_REGEXEC_C) */ @@ -395255,55 +419816,57 @@ static const U8 WB_table[23][23] = { #define MAX_FOLD_FROMS 3 /* Generated from: - * d34c77b7e7a94986cc82056919f4ffc1503b73091561e16bd8ef145ac0fd04c5 lib/Unicode/UCD.pm - * 5e91b649379ec79af7cfb6b09410a24557cba4c6d733cd0a2b8a78a1448736d2 lib/unicore/ArabicShaping.txt - * f5feb19cd084b2b1568fbc0f94f4b4b54941406e7fb36c7570f8352fd5022dbe lib/unicore/BidiBrackets.txt - * e6cbd8ffe94f2e0fbfa6695d6c06c1e72eef7d3aa93cb6329d111285198b5e62 lib/unicore/BidiMirroring.txt - * a28b205afe8625fffdb6544a5fe14cf02b91493d9900f07820fa2102a17548f7 lib/unicore/Blocks.txt - * 9c772627c6ee77eea6a17b42927b8ee28ca05dc65d6a511062104baaf3d12294 lib/unicore/CaseFolding.txt - * abc8394c5bde62453118b00c1c5842160a04d7fffb2e829ee5426b846596d081 lib/unicore/CompositionExclusions.txt - * 2fc081011d8fabaf7cf4937732dd5a6d6a57e492c43f3adfeded513387ee0ec3 lib/unicore/DAge.txt - * a6eb7a8671fb532fbd88c37fd7b20b5b2e7dbfc8b121f74c14abe2947db0da68 lib/unicore/DCoreProperties.txt - * 92dcdda84142194a1596f22180fcdf8c0e7f86897f09cc9203c7dc636c549f5f lib/unicore/DNormalizationProps.txt - * 904500178b2e752635bef27aaed3a2a3718a100bce35ff96b3890be7a8315d8f lib/unicore/EastAsianWidth.txt - * 1989b03d93023d8f5cc33eebf0d2ea80c8bd8f8c97843059ea039acb582c2078 lib/unicore/EmojiData.txt - * d7930c2a7318e66b4ba756d5e5b41fbc586c2ad43d450ae9d320a758510bae2e lib/unicore/EquivalentUnifiedIdeograph.txt - * 8606af08712a8c18fe268d418e2e5a87eddee6e190cce4c2d5a76b4fadf035e8 lib/unicore/HangulSyllableType.txt - * 49a1bf18b048454154881f6a8a605b5e2fc73e85fcc4df1cb26d52e8c2aeb9bf lib/unicore/IndicPositionalCategory.txt - * 1b6f3ef6e00e5b2e2a93d2d3c954ca1cce368599c5f11874cd0f0ce222d4637b lib/unicore/IndicSyllabicCategory.txt - * 285c5c1ae458bc3ccd6a1398a94d2d67ce6bc1d7fc0f098762836050345e9434 lib/unicore/Jamo.txt - * 961f842fc70b5afd1d82c6645e68c10d1f701382aed38ae38cb2ff27f671903c lib/unicore/LineBreak.txt - * ff61a0687d2f32c0dd1094254b8bde967883b43c2d4d50fd17531d498e41ab2c lib/unicore/NameAliases.txt - * d3eb9a288ebeaf9de1237989f490705e287b6f610b59d2459fb1b7c2d8e39c39 lib/unicore/NamedSequences.txt - * d30d3ee430cf3527449d024954f053e419fa4aa2246eb59e5cd8d621af0c4b3f lib/unicore/PropList.txt - * efce54f7c715a332c19b3d14c6a0eea30c6cde91caf6ff0d21c755be933736f4 lib/unicore/PropValueAliases.txt - * d3cc3f9f0b6a8f0b7ef1d6ef202675426c28f4a75de01fc69ed977a93a00982b lib/unicore/PropertyAliases.txt - * 3746848c181b5dbc1e614dfac9b8a5e3568e6525c693ac14e692ac55dec57e91 lib/unicore/ScriptExtensions.txt - * e6313a8edfd24f36c7a006fbcf1d1b7245b5dd009c6dde80441f0da08b822c43 lib/unicore/Scripts.txt - * 817ce2e9edca8e075a153f54b8f3b020345e37652cd2bda9b1495c366af17e7e lib/unicore/SpecialCasing.txt - * 93ab1acd8fd9d450463b50ae77eab151a7cda48f98b25b56baed8070f80fc936 lib/unicore/UnicodeData.txt - * ec5ba64af58297a46de17848eb984d2b231adb304de92e9d0d3befdbf9dc2551 lib/unicore/VerticalOrientation.txt - * 95bd55cf803b93eb0b4990cf0e1d70ede263b36412d9c6921fd6f15cef058961 lib/unicore/auxiliary/GCBTest.txt - * 39d73448fd257e6082f83ddf4c8bf6feb191e85dc8fc56b1a8512482de5e3dea lib/unicore/auxiliary/GraphemeBreakProperty.txt - * f385e70f79f5959ae66d64b00f4bda39db6cef78e5363a0cdd88db46eafc6c8f lib/unicore/auxiliary/LBTest.txt - * 7d6c909af97d0ab545a132d412f6e4e65c7eb5158514a7feb9bf00bcd05875f9 lib/unicore/auxiliary/SBTest.txt - * c47d674ef4170c46185bf56f7a4c6627f65f012295e0994f7dc4aea51f8fd8cf lib/unicore/auxiliary/SentenceBreakProperty.txt - * 3e3320bbbe775de7f1a0b9a30021eb949116a9b05cb461c90596c5ecf1743831 lib/unicore/auxiliary/WBTest.txt - * f221f89fe3bb3becc00de726d5694c4b7f464c316baff6d339b2ff3900bcb96c lib/unicore/auxiliary/WordBreakProperty.txt - * db2c41c618bab54b00e58223ad11cec550f9b9fd1a471de236e660da92fe4870 lib/unicore/extracted/DBidiClass.txt - * fecd8a1c49935d794c4c1012f4158aa536a13049a4c10d01aaf7b5f90f3b2cbc lib/unicore/extracted/DBinaryProperties.txt - * db6f38fb4aa8b9181b5e6a9f320de9d5c2c9b5687116a619b3cb90138b025e0b lib/unicore/extracted/DCombiningClass.txt - * 2524f69c175831fd84bfbaf13ea37992f41db167d728c51b1d0002c1d0b130b0 lib/unicore/extracted/DDecompositionType.txt - * 16852301d54ae59b5cfe0daa6b8e17fb688ed055d59b2a5a11eaafc650cc9d30 lib/unicore/extracted/DEastAsianWidth.txt - * 78f898b988049a5bea5039cea6ffe87a92596859ac660a6c438519b512fe2ee6 lib/unicore/extracted/DGeneralCategory.txt - * 33441692403901287c834f96bd33b671133a6f74e2732c61a497608b9e434932 lib/unicore/extracted/DJoinGroup.txt - * a792ac5ef602e3bace679cc96d7491701dcdb73d81c782253de88fdcc5e70e50 lib/unicore/extracted/DJoinType.txt - * 78e2600e24fa7d5ab62117de50b382f8b31b08401c37a0782c38dacb340b64e7 lib/unicore/extracted/DLineBreak.txt - * 1bde4ad73e271c6349fbd1972e54f38bba5cc1900c28f678e79b9e8909b31793 lib/unicore/extracted/DNumType.txt - * 6278722699123f3890e4b1cc42011e96d8960e4958a3b93484361530983d2611 lib/unicore/extracted/DNumValues.txt - * b3d90fc23817ea4e33e9a90107c0a6c7b23314efd5712905ed172624d5524693 lib/unicore/mktables - * a712c758275b460d18fa77a26ed3589689bb3f69dcc1ea99b913e32db92a5cd2 lib/unicore/version + * d60b1a3dffe16c4aaaf3f00d21993bb320d05e9828b106182214764d4c69935c lib/Unicode/UCD.pm + * ce96627d4fc91b4fd886c409caeb9b76cf7bd345e12f05c6701add7f233f6437 lib/unicore/ArabicShaping.txt + * 0e69eef3da722cc104522d8372e86d5b86bb7afcc761b0c991e39e832294946d lib/unicore/BidiBrackets.txt + * a00d9d21585106a52113fb7b1d3d0373a5835be72e76862fb559ebddd474d70e lib/unicore/BidiMirroring.txt + * 81a82b6a9fcf1a9c12f588d7a1decd73a9afdc4cac95b0eb7e576e7942d6c19f lib/unicore/Blocks.txt + * 99d231d7c91688bbe8ca8ccebcc2f46b5b222f844babe4827295bae11e2abe5f lib/unicore/CaseFolding.txt + * 38badafd818d8405324fe298c0676be0c95186368c84b5368375fd871a645144 lib/unicore/CompositionExclusions.txt + * e779a443d3aa2a3166a15becaa2b737c922480e32c0453d5956093633555078f lib/unicore/DAge.txt + * a5d45f59b39deaab3c72ce8c1a2e212a5e086dff11b1f9d5bb0e352642e82248 lib/unicore/DCoreProperties.txt + * 3ac44e11c84bdaf6b207d2c2c20eed857ae17052393fc7f71b0fe951186ba906 lib/unicore/DNormalizationProps.txt + * 4f822ec7a9ebbb3138ad29bade8b9688d25b39c7a3c0b7431f01e7229e4fcb6e lib/unicore/EastAsianWidth.txt + * fc535aa1047a70105ab9a22c2b4c3f363a2ff02fe48ebbc5eeb9873b2752ff0b lib/unicore/EquivalentUnifiedIdeograph.txt + * b9c5158ce944d2fec57e0e4ecb716bdabfc3bdde73525f1772fe03f61a30d473 lib/unicore/HangulSyllableType.txt + * 36c1b2a626ff1fb23b8b21e6ea8712698f8ce668dded1cb48b8ddf6a6a1b04e9 lib/unicore/IdStatus.txt + * 4857c4ffa3898e6128b2d46b0a02e499a663fb91464a69ef3611096f01293acc lib/unicore/IdType.txt + * 69197b019fa5f2fb0d8c6ed1ed8acb9f2e8b5b8f45a947953ffa652f3bf54983 lib/unicore/IndicPositionalCategory.txt + * 6604e2f0fde7428675364aa0006bc686b79488dcc60ae8cb29800af2be3352e8 lib/unicore/IndicSyllabicCategory.txt + * 84ead63924aaa74b988b2eaf254a8733276ed108633ce2ef77a9ee1de7818162 lib/unicore/Jamo.txt + * d5abcd8f54c8a2aa912924c485ccf7f968ad98feaa303d8e9a29ad89172f1faf lib/unicore/LineBreak.txt + * 985128e8c8b2540233331d9b27d897d2c23bd5bcf1d05da960befce6efc59542 lib/unicore/NameAliases.txt + * 27282b8aa01d4d0c44aef436cb74195ae8639ffa187aeee4e6247af76febea76 lib/unicore/NamedSequences.txt + * 485b5a3ed25dbf1f94dfa5a9b69d8b4550ffd0c33045ccc55ccfd7c80b2a40cf lib/unicore/PropList.txt + * 6b3902e9268cd843fe65cbdea992108c9528343ec0679f800b96f356bb553e5a lib/unicore/PropValueAliases.txt + * 2bd5777847e3d6add3c7e5c0d1393ddcab89e5a0ac3ff498cb0c53041f0b86e4 lib/unicore/PropertyAliases.txt + * 03a61dc89422e44cc2b73e8e893321007880ab69e2a4d281c0f1bc29c602b9d0 lib/unicore/ScriptExtensions.txt + * 9a5ed1ec9b5f0d7147e9371ad792ab39203611af7637cff2aa4a5c663b172cde lib/unicore/Scripts.txt + * 6424312f1dc39b22e0ff9c0ffb13dfad424d9b03e6a6dc6bca941f6bf5ef1ffd lib/unicore/SpecialCasing.txt + * bdbffbbfc8ad4d3a6d01b5891510458f3d36f7170422af4ea2bed3211a73e8bb lib/unicore/UnicodeData.txt + * 160f41816234addb511901d5f21febd69574578dd93de6ef8153e35693325575 lib/unicore/VerticalOrientation.txt + * 32dfb37d21db530529a6ec3dc13d96f21f8e7c7faf7ff3db8a9760cd76cec81d lib/unicore/auxiliary/GCBTest.txt + * 2bd3c5e2d62701ff81fb3ec318e179a4618cabb1493b1e0dd2b4e7e56c5437c4 lib/unicore/auxiliary/GraphemeBreakProperty.txt + * c51fbebfa82a0f36473b44bfd71d5ef6cb6a1f81fb313375dc9a1910d79bb2b6 lib/unicore/auxiliary/LBTest.txt + * 80b0107750818d8f370bd120b6fe56b6855b60581f72affe8b60409a469b4b65 lib/unicore/auxiliary/SBTest.txt + * 09e3166ebab166ac630a227f77f4e794ebd433271abd5588f5a67e7f199c71ee lib/unicore/auxiliary/SentenceBreakProperty.txt + * bf5373ce28a5df06796c93dc159dd15a997bb2950c92704b40ae8190cfc3716d lib/unicore/auxiliary/WBTest.txt + * a2b7373cf2fe3fa3b26dbb53405ca849985f771ff47f1c61743978003ff80499 lib/unicore/auxiliary/WordBreakProperty.txt + * d2686f400a638c80775d7c662556fb8fa8dd3bbe4aa548d9d31624264c6e1bb1 lib/unicore/emoji/emoji.txt + * b827ae5da8c2b08947cc9a120a7b7fd2f1676fb160b508df78075381635b127c lib/unicore/extracted/DBidiClass.txt + * 6fdc5b5ef40444a8f0c772e6b67c00498d4216fe0c0fdf76744ce338f2ad3810 lib/unicore/extracted/DBinaryProperties.txt + * e14928a5bf6ad5958a80332bd42e96e14420080a95c660e5da29384e496755d0 lib/unicore/extracted/DCombiningClass.txt + * 579a03281fbe87b78d5d9a8523de4d255edd7e4ca6eab0e4c7729de97e9b89b1 lib/unicore/extracted/DDecompositionType.txt + * ad83c59b257e9d480ffd3001d4ac240c5fed7cb1919453e1c4e8877035256bcd lib/unicore/extracted/DEastAsianWidth.txt + * 4502f0969e4e6558c4b4c6ca4c23dad70b863d61dd3d5eed1a62a6c3c99fd570 lib/unicore/extracted/DGeneralCategory.txt + * 00bb88b89e2adb646f3177f9444e2d3192386b81a5de9556104b338274b253e1 lib/unicore/extracted/DJoinGroup.txt + * ac835b6e11a60c9820d3cf2d1cb0558dd68efb8f53f404a51632e4726690a6d7 lib/unicore/extracted/DJoinType.txt + * baba9dfc133e3cb770a89aaf0973b1341fa61c2da6c176baf6428898b3b568d8 lib/unicore/extracted/DLineBreak.txt + * 6d4a8c945dd7db83ed617cbb7d937de7f4ecf016ff22970d846e996a7c9a2a5d lib/unicore/extracted/DNumType.txt + * 5b7c14380d5cceeaffcfbc18db1ed936391d2af2d51f5a41f1a17b692c77e59b lib/unicore/extracted/DNumValues.txt + * ee0dd174fd5b158d82dfea95d7d822ca0bfcd490182669353dca3ab39a8ee807 lib/unicore/mktables + * 50b85a67451145545a65cea370dab8d3444fbfe07e9c34cef560c5b7da9d3eef lib/unicore/version * 2680b9254eb236c5c090f11b149605043e8c8433661b96efc4a42fb4709342a5 regen/charset_translations.pl - * 03e51b0f07beebd5da62ab943899aa4934eee1f792fa27c1fb638c33bf4ac6ea regen/mk_PL_charclass.pl - * 61ea8132bb9ea5c637609e2d026b0b85ce17d6bec544c2f08ce411e6f65e8386 regen/mk_invlists.pl + * 6bbad21de0848e0236b02f34f5fa0edd3cdae9ba8173cc9469a5513936b9e728 regen/mk_PL_charclass.pl + * 7a7e778e903508b1c244a77bae57ec57606ab775bb5f81719dbb122eb66d4259 regen/mk_invlists.pl * ex: set ro: */ diff --git a/Master/tlpkg/tlperl/lib/CORE/config.h b/Master/tlpkg/tlperl/lib/CORE/config.h index c5bcbbea304..992116833f7 100644 --- a/Master/tlpkg/tlperl/lib/CORE/config.h +++ b/Master/tlpkg/tlperl/lib/CORE/config.h @@ -9,7 +9,7 @@ /* Package name : perl5 * Source directory : - * Configuration time: Wed Mar 4 17:19:06 2020 + * Configuration time: Tue Feb 23 20:23:57 2021 * Configured by : siepo * Target system : */ @@ -346,7 +346,7 @@ /* HAS_REGCOMP: * This symbol, if defined, indicates that the regcomp() routine is - * available to do some regular patern matching (usually on POSIX.2 + * available to do some regular pattern matching (usually on POSIX.2 * conforming systems). */ /*#define HAS_REGCOMP / * POSIX.2 */ @@ -1229,7 +1229,7 @@ * 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 "d:\\tlperl\\lib" /**/ +#define ARCHLIB "e:\\tlperl\\lib" /**/ /*#define ARCHLIB_EXP "" / **/ /* BIN: @@ -1244,8 +1244,8 @@ * This symbol, if defined, indicates that we'd like to relocate entries * in @INC at run time based on the location of the perl binary. */ -#define BIN "d:\\tlperl\\bin" /**/ -#define BIN_EXP "d:\\tlperl\\bin" /**/ +#define BIN "e:\\tlperl\\bin" /**/ +#define BIN_EXP "e:\\tlperl\\bin" /**/ #define PERL_RELOCATABLE_INC "undef" /**/ /* PERL_INC_VERSION_LIST: @@ -1283,7 +1283,7 @@ * 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 "d:\\tlperl\\lib" /**/ +#define PRIVLIB "e:\\tlperl\\lib" /**/ #define PRIVLIB_EXP (PerlEnv_lib_path(PERL_VERSION_STRING, NULL)) /**/ /* SITEARCH: @@ -1301,7 +1301,7 @@ * 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 "d:\\tlperl\\site\\lib" /**/ +#define SITEARCH "e:\\tlperl\\site\\lib" /**/ /*#define SITEARCH_EXP "" / **/ /* SITELIB: @@ -1324,7 +1324,7 @@ * 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 "d:\\tlperl\\site\\lib" /**/ +#define SITELIB "e:\\tlperl\\site\\lib" /**/ #define SITELIB_EXP (PerlEnv_sitelib_path(PERL_VERSION_STRING, NULL)) /**/ #define SITELIB_STEM "" /**/ @@ -1369,7 +1369,7 @@ * feature tests from Configure are generally more reliable. */ #define OSNAME "MSWin32" /**/ -#define OSVERS "10.0.18363.418" /**/ +#define OSVERS "10.0.19042.804" /**/ /* CAT2: * This macro concatenates 2 tokens together. @@ -1456,6 +1456,10 @@ /* HASATTRIBUTE_WARN_UNUSED_RESULT: * Can we handle GCC attribute for warning on unused results */ +/* HASATTRIBUTE_ALWAYS_INLINE: + * Can we handle GCC attribute for functions that should always be + * inlined. + */ /*#define HASATTRIBUTE_DEPRECATED / **/ /*#define HASATTRIBUTE_FORMAT / **/ /*#define PRINTF_FORMAT_NULL_OK / **/ @@ -1465,6 +1469,7 @@ /*#define HASATTRIBUTE_PURE / **/ /*#define HASATTRIBUTE_UNUSED / **/ /*#define HASATTRIBUTE_WARN_UNUSED_RESULT / **/ +/*#define HASATTRIBUTE_ALWAYS_INLINE / **/ /* HAS_BACKTRACE: * This symbol, if defined, indicates that the backtrace() routine is @@ -1904,6 +1909,10 @@ * This symbol, if defined, indicates the availability of * struct sockaddr_in6; */ +/* HAS_SOCKADDR_STORAGE: + * This symbol, if defined, indicates the availability of + * struct sockaddr_storage; + */ /* HAS_SIN6_SCOPE_ID: * This symbol, if defined, indicates that the struct sockaddr_in6 * structure has a member called sin6_scope_id. @@ -1928,6 +1937,7 @@ /*#define HAS_SOCKETPAIR / **/ /*#define HAS_SOCKADDR_SA_LEN / **/ /*#define HAS_SOCKADDR_IN6 / **/ +#define HAS_SOCKADDR_STORAGE /**/ #define HAS_SIN6_SCOPE_ID /**/ /*#define HAS_IP_MREQ / **/ /*#define HAS_IP_MREQ_SOURCE / **/ @@ -4196,11 +4206,11 @@ /*#define USE_64_BIT_ALL / **/ #endif -/* USE_CBACKTRACE: +/* USE_C_BACKTRACE: * This symbol, if defined, indicates that Perl should * be built with support for backtrace. */ -/*#define USE_CBACKTRACE / **/ +/*#define USE_C_BACKTRACE / **/ /* USE_DTRACE: * This symbol, if defined, indicates that Perl should @@ -5087,6 +5097,12 @@ /*#define HAS_TTYNAME_R / **/ #define TTYNAME_R_PROTO 0 /**/ +/* HAS_WCRTOMB: + * This symbol, if defined, indicates that the wcrtomb routine is + * available to convert a wide character into a multi-byte character. + */ +/*#define HAS_WCRTOMB / **/ + /* I_MACH_CTHREADS: * This symbol, if defined, indicates to the C program that it should * include . diff --git a/Master/tlpkg/tlperl/lib/CORE/cop.h b/Master/tlpkg/tlperl/lib/CORE/cop.h index 29e6bfed8e0..e16875ad2cf 100644 --- a/Master/tlpkg/tlperl/lib/CORE/cop.h +++ b/Master/tlpkg/tlperl/lib/CORE/cop.h @@ -76,30 +76,31 @@ typedef struct jmpenv JMPENV; /* * PERL_FLEXIBLE_EXCEPTIONS - * + * * All the flexible exceptions code has been removed. * See the following threads for details: * - * http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2004-07/msg00378.html - * + * Message-Id: 20040713143217.GB1424@plum.flirble.org + * https://www.nntp.perl.org/group/perl.perl5.porters/2004/07/msg93041.html + * * Joshua's original patches (which weren't applied) and discussion: - * + * * http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/1998-02/msg01396.html * http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/1998-02/msg01489.html * http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/1998-02/msg01491.html * http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/1998-02/msg01608.html * http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/1998-02/msg02144.html * http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/1998-02/msg02998.html - * + * * Chip's reworked patch and discussion: - * + * * http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/1999-03/msg00520.html - * + * * The flaw in these patches (which went unnoticed at the time) was * that they moved some code that could potentially die() out of the * region protected by the setjmp()s. This caused exceptions within * END blocks and such to not be handled by the correct setjmp(). - * + * * The original patches that introduces flexible exceptions were: * * https://github.com/Perl/perl5/commit/312caa8e97f1c7ee342a9895c2f0e749625b4929 @@ -183,6 +184,8 @@ it has not been precomputed. Returns a mortal scalar copy of the value associated with the key, or C<&PL_sv_placeholder> if there is no value associated with the key. +=for apidoc Amnh||COPHH_KEY_UTF8 + =cut */ @@ -190,7 +193,7 @@ associated with the key. Perl_refcounted_he_fetch_pvn(aTHX_ cophh, keypv, keylen, hash, flags) /* -=for apidoc Amx|SV *|cophh_fetch_pvs|const COPHH *cophh|"literal string" key|U32 flags +=for apidoc Amx|SV *|cophh_fetch_pvs|const COPHH *cophh|"key"|U32 flags Like L, but takes a literal string instead of a string/length pair, and no precomputed hash. @@ -296,7 +299,7 @@ be stored with referential integrity, but will be coerced to strings. Perl_refcounted_he_new_pvn(aTHX_ cophh, keypv, keylen, hash, value, flags) /* -=for apidoc Amx|COPHH *|cophh_store_pvs|const COPHH *cophh|"literal string" key|SV *value|U32 flags +=for apidoc Amx|COPHH *|cophh_store_pvs|const COPHH *cophh|"key"|SV *value|U32 flags Like L, but takes a literal string instead of a string/length pair, and no precomputed hash. @@ -353,7 +356,7 @@ hash of the key string, or zero if it has not been precomputed. (SV *)NULL, flags) /* -=for apidoc Amx|COPHH *|cophh_delete_pvs|const COPHH *cophh|"literal string" key|U32 flags +=for apidoc Amx|COPHH *|cophh_delete_pvs|const COPHH *cophh|"key"|U32 flags Like L, but takes a literal string instead of a string/length pair, and no precomputed hash. @@ -412,13 +415,19 @@ struct cop { /* compile time state of %^H. See the comment in op.c for how this is used to recreate a hash to return from caller. */ COPHH * cop_hints_hash; + /* for now just a bitmask stored here. + If we get sufficient features this may become a pointer. + How these flags are stored is subject to change without + notice. Use the macros to test for features. + */ + U32 cop_features; }; #ifdef USE_ITHREADS # define CopFILE(c) ((c)->cop_file) # define CopFILEGV(c) (CopFILE(c) \ ? gv_fetchfile(CopFILE(c)) : NULL) - + # ifdef NETWARE # define CopFILE_set(c,pv) ((c)->cop_file = savepv(pv)) # define CopFILE_setn(c,pv,l) ((c)->cop_file = savepvn((pv),(l))) @@ -493,7 +502,7 @@ associated with the key. cophh_fetch_pvn(CopHINTHASH_get(cop), keypv, keylen, hash, flags) /* -=for apidoc Am|SV *|cop_hints_fetch_pvs|const COP *cop|"literal string" key|U32 flags +=for apidoc Am|SV *|cop_hints_fetch_pvs|const COP *cop|"key"|U32 flags Like L, but takes a literal string instead of a string/length pair, and no precomputed hash. @@ -541,6 +550,24 @@ be zero. #define cop_hints_2hv(cop, flags) \ cophh_2hv(CopHINTHASH_get(cop), flags) +/* +=for apidoc Am|const char *|CopLABEL|COP *const cop + +Returns the label attached to a cop. + +=for apidoc Am|const char *|CopLABEL_len|COP *const cop|STRLEN *len + +Returns the label attached to a cop, and stores its length in bytes into +C<*len>. + +=for apidoc Am|const char *|CopLABEL_len_flags|COP *const cop|STRLEN *len|U32 *flags + +Returns the label attached to a cop, and stores its length in bytes into +C<*len>. Upon return, C<*flags> will be set to either C or 0. + +=cut +*/ + #define CopLABEL(c) Perl_cop_fetch_label(aTHX_ (c), NULL, NULL) #define CopLABEL_len(c,len) Perl_cop_fetch_label(aTHX_ (c), len, NULL) #define CopLABEL_len_flags(c,len,flags) Perl_cop_fetch_label(aTHX_ (c), len, flags) @@ -567,6 +594,7 @@ be zero. /* subroutine context */ struct block_sub { OP * retop; /* op to execute on exit from sub */ + I32 old_cxsubix; /* previous value of si_cxsubix */ /* Above here is the same for sub, format and eval. */ PAD *prevcomppad; /* the caller's PL_comppad */ CV * cv; @@ -579,6 +607,7 @@ struct block_sub { /* format context */ struct block_format { OP * retop; /* op to execute on exit from sub */ + I32 old_cxsubix; /* previous value of si_cxsubix */ /* Above here is the same for sub, format and eval. */ PAD *prevcomppad; /* the caller's PL_comppad */ CV * cv; @@ -645,6 +674,7 @@ struct block_format { /* eval context */ struct block_eval { OP * retop; /* op to execute on exit from eval */ + I32 old_cxsubix; /* previous value of si_cxsubix */ /* Above here is the same for sub, format and eval. */ SV * old_namesv; OP * old_eval_root; @@ -917,32 +947,32 @@ struct context { #define CXINC (cxstack_ix < cxstack_max ? ++cxstack_ix : (cxstack_ix = cxinc())) -/* +/* =head1 "Gimme" Values */ /* -=for apidoc AmU||G_SCALAR +=for apidoc AmnU||G_SCALAR Used to indicate scalar context. See C>, C>, and L. -=for apidoc AmU||G_ARRAY +=for apidoc AmnU||G_ARRAY Used to indicate list context. See C>, C> and L. -=for apidoc AmU||G_VOID +=for apidoc AmnU||G_VOID Used to indicate void context. See C> and L. -=for apidoc AmU||G_DISCARD +=for apidoc AmnU||G_DISCARD Indicates that arguments returned from a callback should be discarded. See L. -=for apidoc AmU||G_EVAL +=for apidoc AmnU||G_EVAL Used to force a Perl C wrapper around a callback. See L. -=for apidoc AmU||G_NOARGS +=for apidoc AmnU||G_NOARGS Indicates that no arguments are being sent to a callback. See L. @@ -956,23 +986,24 @@ L. #define G_WANT 3 /* extra flags for Perl_call_* routines */ -#define G_DISCARD 4 /* Call FREETMPS. +#define G_DISCARD 0x4 /* Call FREETMPS. Don't change this without consulting the hash actions codes defined in hv.h */ -#define G_EVAL 8 /* Assume eval {} around subroutine call. */ -#define G_NOARGS 16 /* Don't construct a @_ array. */ -#define G_KEEPERR 32 /* Warn for errors, don't overwrite $@ */ -#define G_NODEBUG 64 /* Disable debugging at toplevel. */ -#define G_METHOD 128 /* Calling method. */ -#define G_FAKINGEVAL 256 /* Faking an eval context for call_sv or +#define G_EVAL 0x8 /* Assume eval {} around subroutine call. */ +#define G_NOARGS 0x10 /* Don't construct a @_ array. */ +#define G_KEEPERR 0x20 /* Warn for errors, don't overwrite $@ */ +#define G_NODEBUG 0x40 /* Disable debugging at toplevel. */ +#define G_METHOD 0x80 /* Calling method. */ +#define G_FAKINGEVAL 0x100 /* Faking an eval context for call_sv or fold_constants. */ -#define G_UNDEF_FILL 512 /* Fill the stack with &PL_sv_undef +#define G_UNDEF_FILL 0x200 /* Fill the stack with &PL_sv_undef A special case for UNSHIFT in Perl_magic_methcall(). */ -#define G_WRITING_TO_STDERR 1024 /* Perl_write_to_stderr() is calling +#define G_WRITING_TO_STDERR 0x400 /* Perl_write_to_stderr() is calling Perl_magic_methcall(). */ -#define G_RE_REPARSING 0x800 /* compiling a run-time /(?{..})/ */ -#define G_METHOD_NAMED 4096 /* calling named method, eg without :: or ' */ +#define G_RE_REPARSING 0x800 /* compiling a run-time /(?{..})/ */ +#define G_METHOD_NAMED 0x1000 /* calling named method, eg without :: or ' */ +#define G_RETHROW 0x2000 /* eval_sv(): re-throw any error */ /* flag bits for PL_in_eval */ #define EVAL_NULL 0 /* not in an eval */ @@ -985,6 +1016,8 @@ L. /* Support for switching (stack and block) contexts. * This ensures magic doesn't invalidate local stack and cx pointers. + * Which one to use (or add) is mostly, but not completely arbitrary: See + * http://nntp.perl.org/group/perl.perl5.porters/257169 */ #define PERLSI_UNKNOWN -1 @@ -999,6 +1032,7 @@ L. #define PERLSI_DIEHOOK 8 #define PERLSI_REQUIRE 9 #define PERLSI_MULTICALL 10 +#define PERLSI_REGCOMP 11 struct stackinfo { AV * si_stack; /* stack for current runlevel */ @@ -1007,6 +1041,7 @@ struct stackinfo { struct stackinfo * si_next; I32 si_cxix; /* current context index */ I32 si_cxmax; /* maximum allocated index */ + I32 si_cxsubix; /* topmost sub/eval/format */ I32 si_type; /* type of runlevel */ I32 si_markoff; /* offset where markstack begins for us. * currently used only with DEBUGGING, @@ -1053,6 +1088,7 @@ typedef struct stackinfo PERL_SI; } \ next->si_type = type; \ next->si_cxix = -1; \ + next->si_cxsubix = -1; \ PUSHSTACK_INIT_HWM(next); \ AvFILLp(next->si_stack) = 0; \ SWITCHSTACK(PL_curstack,next->si_stack); \ @@ -1098,17 +1134,17 @@ typedef struct stackinfo PERL_SI; /* =head1 Multicall Functions -=for apidoc Ams||dMULTICALL +=for apidoc Amns||dMULTICALL Declare local variables for a multicall. See L. -=for apidoc Ams||PUSH_MULTICALL +=for apidoc Ams||PUSH_MULTICALL|CV* the_cv Opening bracket for a lightweight callback. See L. -=for apidoc Ams||MULTICALL +=for apidoc Amns||MULTICALL Make a lightweight callback. See L. -=for apidoc Ams||POP_MULTICALL +=for apidoc Amns||POP_MULTICALL Closing bracket for a lightweight callback. See L. diff --git a/Master/tlpkg/tlperl/lib/CORE/cv.h b/Master/tlpkg/tlperl/lib/CORE/cv.h index d50e320f167..9a169e865cf 100644 --- a/Master/tlpkg/tlperl/lib/CORE/cv.h +++ b/Master/tlpkg/tlperl/lib/CORE/cv.h @@ -18,7 +18,7 @@ struct xpvcv { /* =head1 Handy Values -=for apidoc AmU||Nullcv +=for apidoc ADmnU||Nullcv Null CV pointer. (deprecated - use C<(CV *)NULL> instead) @@ -49,7 +49,7 @@ See L. #define CvROOT(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_root_u.xcv_root #define CvXSUB(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_root_u.xcv_xsub #define CvXSUBANY(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_start_u.xcv_xsubany -#define CvGV(sv) S_CvGV(aTHX_ (CV *)(sv)) +#define CvGV(sv) Perl_CvGV(aTHX_ (CV *)(sv)) #define CvGV_set(cv,gv) Perl_cvgv_set(aTHX_ cv, gv) #define CvHASGV(cv) cBOOL(SvANY(cv)->xcv_gv_u.xcv_gv) #define CvFILE(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_file @@ -61,9 +61,9 @@ See L. (CvFILE(sv) = CopFILE(cop), CvDYNFILE_off(sv)) #endif #define CvFILEGV(sv) (gv_fetchfile(CvFILE(sv))) -#define CvDEPTH(sv) (*S_CvDEPTHp((const CV *)sv)) +#define CvDEPTH(sv) (*Perl_CvDEPTH((const CV *)sv)) /* For use when you only have a XPVCV*, not a real CV*. - Must be assert protected as in S_CvDEPTHp before use. */ + Must be assert protected as in Perl_CvDEPTH before use. */ #define CvDEPTHunsafe(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_depth /* these CvPADLIST/CvRESERVED asserts can be reverted one day, once stabilized */ diff --git a/Master/tlpkg/tlperl/lib/CORE/dosish.h b/Master/tlpkg/tlperl/lib/CORE/dosish.h index dff759b309d..5b2716046d7 100644 --- a/Master/tlpkg/tlperl/lib/CORE/dosish.h +++ b/Master/tlpkg/tlperl/lib/CORE/dosish.h @@ -51,7 +51,8 @@ # define PERL_SYS_TERM_BODY() \ HINTS_REFCNT_TERM; KEYWORD_PLUGIN_MUTEX_TERM; \ OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM; \ - MALLOC_TERM; LOCALE_TERM; USER_PROP_MUTEX_TERM; + MALLOC_TERM; LOCALE_TERM; USER_PROP_MUTEX_TERM; \ + ENV_TERM; #endif #define dXSUB_SYS dNOOP @@ -71,8 +72,6 @@ */ #if defined(WIN64) || defined(USE_LARGE_FILES) # define Stat_t struct _stati64 -#elif defined(UNDER_CE) -# define Stat_t struct xcestat #else # define Stat_t struct stat #endif diff --git a/Master/tlpkg/tlperl/lib/CORE/dquote_inline.h b/Master/tlpkg/tlperl/lib/CORE/dquote_inline.h deleted file mode 100644 index f0ce9d6280e..00000000000 --- a/Master/tlpkg/tlperl/lib/CORE/dquote_inline.h +++ /dev/null @@ -1,67 +0,0 @@ -/* dquote_inline.h - * - * Copyright (C) 2015 by Larry Wall and others - * - * You may distribute under the terms of either the GNU General Public - * License or the Artistic License, as specified in the README file. - */ - -#ifndef PERL_DQUOTE_INLINE_H_ /* Guard against nested #inclusion */ -#define PERL_DQUOTE_INLINE_H_ - -/* - - regcurly - a little FSA that accepts {\d+,?\d*} - Pulled from reg.c. - */ -PERL_STATIC_INLINE I32 -S_regcurly(const char *s) -{ - PERL_ARGS_ASSERT_REGCURLY; - - if (*s++ != '{') - return FALSE; - if (!isDIGIT(*s)) - return FALSE; - while (isDIGIT(*s)) - s++; - if (*s == ',') { - s++; - while (isDIGIT(*s)) - s++; - } - - return *s == '}'; -} - -/* This is inline not for speed, but because it is so tiny */ - -PERL_STATIC_INLINE char* -S_form_short_octal_warning(pTHX_ - const char * const s, /* Points to first non-octal */ - const STRLEN len /* Length of octals string, so - (s-len) points to first - octal */ -) -{ - /* Return a character string consisting of a warning message for when a - * string constant in octal is weird, like "\078". */ - - const char * sans_leading_zeros = s - len; - - PERL_ARGS_ASSERT_FORM_SHORT_OCTAL_WARNING; - - assert(*s == '8' || *s == '9'); - - /* Remove the leading zeros, retaining one zero so won't be zero length */ - while (*sans_leading_zeros == '0') sans_leading_zeros++; - if (sans_leading_zeros == s) { - sans_leading_zeros--; - } - - return Perl_form(aTHX_ - "'%.*s' resolved to '\\o{%.*s}%c'", - (int) (len + 2), s - len - 1, - (int) (s - sans_leading_zeros), sans_leading_zeros, - *s); -} -#endif /* PERL_DQUOTE_INLINE_H_ */ diff --git a/Master/tlpkg/tlperl/lib/CORE/ebcdic_tables.h b/Master/tlpkg/tlperl/lib/CORE/ebcdic_tables.h index 4036114cb1f..cf1beeb85e2 100644 --- a/Master/tlpkg/tlperl/lib/CORE/ebcdic_tables.h +++ b/Master/tlpkg/tlperl/lib/CORE/ebcdic_tables.h @@ -12,7 +12,7 @@ * More info is in utfebcdic.h * * Some of the tables are adapted from - * http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ + * https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ * which requires this copyright notice: Copyright (c) 2008-2009 Bjoern Hoehrmann @@ -288,7 +288,7 @@ SOFTWARE. /* The table below is adapted from - * http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ + * https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ * See copyright notice at the beginning of this file. */ @@ -329,7 +329,7 @@ SOFTWARE. /* The table below is adapted from - * http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ + * https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ * See copyright notice at the beginning of this file. */ @@ -368,14 +368,15 @@ SOFTWARE. /*N11=253*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, /*N12=276*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,299, /*N13=299*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -/*N14=322*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,299 +/*N14=322*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,345, +/*N15=345*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,299 /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22*/ }; # endif /* The table below is adapted from - * http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ + * https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ * See copyright notice at the beginning of this file. */ @@ -665,7 +666,7 @@ SOFTWARE. /* The table below is adapted from - * http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ + * https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ * See copyright notice at the beginning of this file. */ @@ -706,7 +707,7 @@ SOFTWARE. /* The table below is adapted from - * http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ + * https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ * See copyright notice at the beginning of this file. */ @@ -745,14 +746,15 @@ SOFTWARE. /*N11=253*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, /*N12=276*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,299, /*N13=299*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -/*N14=322*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,299 +/*N14=322*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,345, +/*N15=345*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,299 /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22*/ }; # endif /* The table below is adapted from - * http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ + * https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ * See copyright notice at the beginning of this file. */ diff --git a/Master/tlpkg/tlperl/lib/CORE/embed.h b/Master/tlpkg/tlperl/lib/CORE/embed.h index 75c91f77f45..182b12aa937 100644 --- a/Master/tlpkg/tlperl/lib/CORE/embed.h +++ b/Master/tlpkg/tlperl/lib/CORE/embed.h @@ -27,25 +27,20 @@ /* Hide global symbols */ #define Gv_AMupdate(a,b) Perl_Gv_AMupdate(aTHX_ a,b) +#define SvAMAGIC_off Perl_SvAMAGIC_off +#define SvAMAGIC_on Perl_SvAMAGIC_on #define _force_out_malformed_utf8_message(a,b,c,d) Perl__force_out_malformed_utf8_message(aTHX_ a,b,c,d) #define _is_uni_FOO(a,b) Perl__is_uni_FOO(aTHX_ a,b) #define _is_uni_perl_idcont(a) Perl__is_uni_perl_idcont(aTHX_ a) #define _is_uni_perl_idstart(a) Perl__is_uni_perl_idstart(aTHX_ a) -#define _is_utf8_FOO(a,b,c,d,e,f,g,h) Perl__is_utf8_FOO(aTHX_ a,b,c,d,e,f,g,h) -#define _is_utf8_FOO_with_len(a,b,c) Perl__is_utf8_FOO_with_len(aTHX_ a,b,c) -#define _is_utf8_char_helper Perl__is_utf8_char_helper -#define _is_utf8_idcont(a) Perl__is_utf8_idcont(aTHX_ a) -#define _is_utf8_idstart(a) Perl__is_utf8_idstart(aTHX_ a) -#define _is_utf8_mark(a) Perl__is_utf8_mark(aTHX_ a) -#define _is_utf8_perl_idcont_with_len(a,b) Perl__is_utf8_perl_idcont_with_len(aTHX_ a,b) -#define _is_utf8_perl_idstart_with_len(a,b) Perl__is_utf8_perl_idstart_with_len(aTHX_ a,b) -#define _is_utf8_xidcont(a) Perl__is_utf8_xidcont(aTHX_ a) -#define _is_utf8_xidstart(a) Perl__is_utf8_xidstart(aTHX_ a) +#define _is_utf8_FOO(a,b,c) Perl__is_utf8_FOO(aTHX_ a,b,c) +#define _is_utf8_perl_idcont(a,b) Perl__is_utf8_perl_idcont(aTHX_ a,b) +#define _is_utf8_perl_idstart(a,b) Perl__is_utf8_perl_idstart(aTHX_ a,b) #define _to_uni_fold_flags(a,b,c,d) Perl__to_uni_fold_flags(aTHX_ a,b,c,d) -#define _to_utf8_fold_flags(a,b,c,d,e,f,g) Perl__to_utf8_fold_flags(aTHX_ a,b,c,d,e,f,g) -#define _to_utf8_lower_flags(a,b,c,d,e,f,g) Perl__to_utf8_lower_flags(aTHX_ a,b,c,d,e,f,g) -#define _to_utf8_title_flags(a,b,c,d,e,f,g) Perl__to_utf8_title_flags(aTHX_ a,b,c,d,e,f,g) -#define _to_utf8_upper_flags(a,b,c,d,e,f,g) Perl__to_utf8_upper_flags(aTHX_ a,b,c,d,e,f,g) +#define _to_utf8_fold_flags(a,b,c,d,e) Perl__to_utf8_fold_flags(aTHX_ a,b,c,d,e) +#define _to_utf8_lower_flags(a,b,c,d,e) Perl__to_utf8_lower_flags(aTHX_ a,b,c,d,e) +#define _to_utf8_title_flags(a,b,c,d,e) Perl__to_utf8_title_flags(aTHX_ a,b,c,d,e) +#define _to_utf8_upper_flags(a,b,c,d,e) Perl__to_utf8_upper_flags(aTHX_ a,b,c,d,e) #define _utf8n_to_uvchr_msgs_helper Perl__utf8n_to_uvchr_msgs_helper #define amagic_call(a,b,c,d) Perl_amagic_call(aTHX_ a,b,c,d) #define amagic_deref_call(a,b) Perl_amagic_deref_call(aTHX_ a,b) @@ -64,7 +59,7 @@ #define av_push(a,b) Perl_av_push(aTHX_ a,b) #define av_shift(a) Perl_av_shift(aTHX_ a) #define av_store(a,b,c) Perl_av_store(aTHX_ a,b,c) -#define av_top_index(a) S_av_top_index(aTHX_ a) +#define av_top_index(a) Perl_av_top_index(aTHX_ a) #define av_undef(a) Perl_av_undef(aTHX_ a) #define av_unshift(a,b) Perl_av_unshift(aTHX_ a,b) #define block_end(a,b) Perl_block_end(aTHX_ a,b) @@ -92,13 +87,17 @@ #define ck_warner_d Perl_ck_warner_d #endif #define clear_defarray(a,b) Perl_clear_defarray(aTHX_ a,b) +#define cop_fetch_label(a,b,c) Perl_cop_fetch_label(aTHX_ a,b,c) +#define cop_store_label(a,b,c,d) Perl_cop_store_label(aTHX_ a,b,c,d) #ifndef PERL_IMPLICIT_CONTEXT #define croak Perl_croak #endif -#define croak_memory_wrap S_croak_memory_wrap +#define croak_memory_wrap Perl_croak_memory_wrap #define croak_no_modify Perl_croak_no_modify #define croak_sv(a) Perl_croak_sv(aTHX_ a) #define croak_xs_usage Perl_croak_xs_usage +#define csighandler1 Perl_csighandler1 +#define csighandler3 Perl_csighandler3 #ifndef NO_MATHOMS #define custom_op_desc(a) Perl_custom_op_desc(aTHX_ a) #endif @@ -189,13 +188,11 @@ #define getcwd_sv(a) Perl_getcwd_sv(aTHX_ a) #define gp_free(a) Perl_gp_free(aTHX_ a) #define gp_ref(a) Perl_gp_ref(aTHX_ a) -#define grok_bin(a,b,c,d) Perl_grok_bin(aTHX_ a,b,c,d) -#define grok_hex(a,b,c,d) Perl_grok_hex(aTHX_ a,b,c,d) +#define grok_bin_oct_hex(a,b,c,d,e,f,g) Perl_grok_bin_oct_hex(aTHX_ a,b,c,d,e,f,g) #define grok_infnan(a,b) Perl_grok_infnan(aTHX_ a,b) #define grok_number(a,b,c) Perl_grok_number(aTHX_ a,b,c) #define grok_number_flags(a,b,c,d) Perl_grok_number_flags(aTHX_ a,b,c,d) #define grok_numeric_radix(a,b) Perl_grok_numeric_radix(aTHX_ a,b) -#define grok_oct(a,b,c,d) Perl_grok_oct(aTHX_ a,b,c,d) #define gv_add_by_type(a,b) Perl_gv_add_by_type(aTHX_ a,b) #define gv_autoload_pv(a,b,c) Perl_gv_autoload_pv(aTHX_ a,b,c) #define gv_autoload_pvn(a,b,c,d) Perl_gv_autoload_pvn(aTHX_ a,b,c,d) @@ -259,184 +256,23 @@ #define init_stacks() Perl_init_stacks(aTHX) #define init_tm(a) Perl_init_tm(aTHX_ a) #define intro_my() Perl_intro_my(aTHX) -#ifndef NO_MATHOMS -#define isALNUM_lazy(a) Perl_isALNUM_lazy(aTHX_ a) -#endif -#define isC9_STRICT_UTF8_CHAR S_isC9_STRICT_UTF8_CHAR -#ifndef NO_MATHOMS -#define isIDFIRST_lazy(a) Perl_isIDFIRST_lazy(aTHX_ a) -#endif -#define isSTRICT_UTF8_CHAR S_isSTRICT_UTF8_CHAR -#define isUTF8_CHAR S_isUTF8_CHAR -#define is_c9strict_utf8_string_loclen S_is_c9strict_utf8_string_loclen +#define isC9_STRICT_UTF8_CHAR Perl_isC9_STRICT_UTF8_CHAR +#define isSTRICT_UTF8_CHAR Perl_isSTRICT_UTF8_CHAR +#define isUTF8_CHAR Perl_isUTF8_CHAR +#define is_c9strict_utf8_string_loclen Perl_is_c9strict_utf8_string_loclen #define is_lvalue_sub() Perl_is_lvalue_sub(aTHX) -#define is_safe_syscall(a,b,c,d) S_is_safe_syscall(aTHX_ a,b,c,d) -#define is_strict_utf8_string_loclen S_is_strict_utf8_string_loclen -#ifndef NO_MATHOMS -#define is_uni_alnum(a) Perl_is_uni_alnum(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_alnum_lc(a) Perl_is_uni_alnum_lc(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_alnumc(a) Perl_is_uni_alnumc(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_alnumc_lc(a) Perl_is_uni_alnumc_lc(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_alpha(a) Perl_is_uni_alpha(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_alpha_lc(a) Perl_is_uni_alpha_lc(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_ascii(a) Perl_is_uni_ascii(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_ascii_lc(a) Perl_is_uni_ascii_lc(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_blank(a) Perl_is_uni_blank(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_blank_lc(a) Perl_is_uni_blank_lc(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_cntrl(a) Perl_is_uni_cntrl(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_cntrl_lc(a) Perl_is_uni_cntrl_lc(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_digit(a) Perl_is_uni_digit(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_digit_lc(a) Perl_is_uni_digit_lc(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_graph(a) Perl_is_uni_graph(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_graph_lc(a) Perl_is_uni_graph_lc(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_idfirst(a) Perl_is_uni_idfirst(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_idfirst_lc(a) Perl_is_uni_idfirst_lc(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_lower(a) Perl_is_uni_lower(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_lower_lc(a) Perl_is_uni_lower_lc(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_print(a) Perl_is_uni_print(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_print_lc(a) Perl_is_uni_print_lc(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_punct(a) Perl_is_uni_punct(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_punct_lc(a) Perl_is_uni_punct_lc(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_space(a) Perl_is_uni_space(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_space_lc(a) Perl_is_uni_space_lc(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_upper(a) Perl_is_uni_upper(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_upper_lc(a) Perl_is_uni_upper_lc(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_xdigit(a) Perl_is_uni_xdigit(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_uni_xdigit_lc(a) Perl_is_uni_xdigit_lc(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_alnum(a) Perl_is_utf8_alnum(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_alnumc(a) Perl_is_utf8_alnumc(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_alpha(a) Perl_is_utf8_alpha(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_ascii(a) Perl_is_utf8_ascii(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_blank(a) Perl_is_utf8_blank(aTHX_ a) -#endif +#define is_safe_syscall(a,b,c,d) Perl_is_safe_syscall(aTHX_ a,b,c,d) +#define is_strict_utf8_string_loclen Perl_is_strict_utf8_string_loclen #ifndef NO_MATHOMS #define is_utf8_char Perl_is_utf8_char #endif -#ifndef NO_MATHOMS -#define is_utf8_cntrl(a) Perl_is_utf8_cntrl(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_digit(a) Perl_is_utf8_digit(aTHX_ a) -#endif -#define is_utf8_fixed_width_buf_loclen_flags S_is_utf8_fixed_width_buf_loclen_flags -#ifndef NO_MATHOMS -#define is_utf8_graph(a) Perl_is_utf8_graph(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_idcont(a) Perl_is_utf8_idcont(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_idfirst(a) Perl_is_utf8_idfirst(aTHX_ a) -#endif -#define is_utf8_invariant_string_loc S_is_utf8_invariant_string_loc -#ifndef NO_MATHOMS -#define is_utf8_lower(a) Perl_is_utf8_lower(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_mark(a) Perl_is_utf8_mark(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_perl_space(a) Perl_is_utf8_perl_space(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_perl_word(a) Perl_is_utf8_perl_word(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_posix_digit(a) Perl_is_utf8_posix_digit(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_print(a) Perl_is_utf8_print(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_punct(a) Perl_is_utf8_punct(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_space(a) Perl_is_utf8_space(aTHX_ a) -#endif -#define is_utf8_string_flags S_is_utf8_string_flags +#define is_utf8_char_helper Perl_is_utf8_char_helper +#define is_utf8_fixed_width_buf_loclen_flags Perl_is_utf8_fixed_width_buf_loclen_flags +#define is_utf8_invariant_string_loc Perl_is_utf8_invariant_string_loc +#define is_utf8_string_flags Perl_is_utf8_string_flags #define is_utf8_string_loclen Perl_is_utf8_string_loclen -#define is_utf8_string_loclen_flags S_is_utf8_string_loclen_flags -#ifndef NO_MATHOMS -#define is_utf8_upper(a) Perl_is_utf8_upper(aTHX_ a) -#endif -#define is_utf8_valid_partial_char_flags S_is_utf8_valid_partial_char_flags -#ifndef NO_MATHOMS -#define is_utf8_xdigit(a) Perl_is_utf8_xdigit(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_xidcont(a) Perl_is_utf8_xidcont(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_xidfirst(a) Perl_is_utf8_xidfirst(aTHX_ a) -#endif +#define is_utf8_string_loclen_flags Perl_is_utf8_string_loclen_flags +#define is_utf8_valid_partial_char_flags Perl_is_utf8_valid_partial_char_flags #define isinfnan Perl_isinfnan #define leave_adjust_stacks(a,b,c,d) Perl_leave_adjust_stacks(aTHX_ a,b,c,d) #define leave_scope(a) Perl_leave_scope(aTHX_ a) @@ -477,6 +313,7 @@ #define mg_size(a) Perl_mg_size(aTHX_ a) #define mini_mktime Perl_mini_mktime #define moreswitches(a) Perl_moreswitches(aTHX_ a) +#define mortal_getenv Perl_mortal_getenv #define mro_get_linear_isa(a) Perl_mro_get_linear_isa(aTHX_ a) #define mro_method_changed_in(a) Perl_mro_method_changed_in(aTHX_ a) #define my_atof(a) Perl_my_atof(aTHX_ a) @@ -573,18 +410,12 @@ #define op_refcnt_unlock() Perl_op_refcnt_unlock(aTHX) #define op_scope(a) Perl_op_scope(aTHX_ a) #define op_sibling_splice Perl_op_sibling_splice -#ifndef NO_MATHOMS -#define pack_cat(a,b,c,d,e,f,g) Perl_pack_cat(aTHX_ a,b,c,d,e,f,g) -#endif #define packlist(a,b,c,d,e) Perl_packlist(aTHX_ a,b,c,d,e) #define pad_add_anon(a,b) Perl_pad_add_anon(aTHX_ a,b) #define pad_add_name_pv(a,b,c,d) Perl_pad_add_name_pv(aTHX_ a,b,c,d) #define pad_add_name_pvn(a,b,c,d,e) Perl_pad_add_name_pvn(aTHX_ a,b,c,d,e) #define pad_add_name_sv(a,b,c,d) Perl_pad_add_name_sv(aTHX_ a,b,c,d) #define pad_alloc(a,b) Perl_pad_alloc(aTHX_ a,b) -#ifndef NO_MATHOMS -#define pad_compname_type(a) Perl_pad_compname_type(aTHX_ a) -#endif #define pad_findmy_pv(a,b) Perl_pad_findmy_pv(aTHX_ a,b) #define pad_findmy_pvn(a,b,c) Perl_pad_findmy_pvn(aTHX_ a,b,c) #define pad_findmy_sv(a,b) Perl_pad_findmy_sv(aTHX_ a,b) @@ -600,7 +431,9 @@ #define parse_label(a) Perl_parse_label(aTHX_ a) #define parse_listexpr(a) Perl_parse_listexpr(aTHX_ a) #define parse_stmtseq(a) Perl_parse_stmtseq(aTHX_ a) +#define parse_subsignature(a) Perl_parse_subsignature(aTHX_ a) #define parse_termexpr(a) Perl_parse_termexpr(aTHX_ a) +#define perly_sighandler Perl_perly_sighandler #define pmop_dump(a) Perl_pmop_dump(aTHX_ a) #define pop_scope() Perl_pop_scope(aTHX) #define pregcomp(a,b) Perl_pregcomp(aTHX_ a,b) @@ -724,8 +557,8 @@ #define sv_2mortal(a) Perl_sv_2mortal(aTHX_ a) #define sv_2nv_flags(a,b) Perl_sv_2nv_flags(aTHX_ a,b) #define sv_2pv_flags(a,b,c) Perl_sv_2pv_flags(aTHX_ a,b,c) -#define sv_2pvbyte(a,b) Perl_sv_2pvbyte(aTHX_ a,b) -#define sv_2pvutf8(a,b) Perl_sv_2pvutf8(aTHX_ a,b) +#define sv_2pvbyte_flags(a,b,c) Perl_sv_2pvbyte_flags(aTHX_ a,b,c) +#define sv_2pvutf8_flags(a,b,c) Perl_sv_2pvutf8_flags(aTHX_ a,b,c) #define sv_2uv_flags(a,b) Perl_sv_2uv_flags(aTHX_ a,b) #define sv_backoff Perl_sv_backoff #define sv_bless(a,b) Perl_sv_bless(aTHX_ a,b) @@ -766,6 +599,7 @@ #define sv_inc_nomg(a) Perl_sv_inc_nomg(aTHX_ a) #define sv_insert_flags(a,b,c,d,e,f) Perl_sv_insert_flags(aTHX_ a,b,c,d,e,f) #define sv_isa(a,b) Perl_sv_isa(aTHX_ a,b) +#define sv_isa_sv(a,b) Perl_sv_isa_sv(aTHX_ a,b) #define sv_isobject(a) Perl_sv_isobject(aTHX_ a) #ifndef NO_MATHOMS #define sv_iv(a) Perl_sv_iv(aTHX_ a) @@ -774,8 +608,12 @@ #define sv_len_utf8(a) Perl_sv_len_utf8(aTHX_ a) #define sv_magic(a,b,c,d,e) Perl_sv_magic(aTHX_ a,b,c,d,e) #define sv_magicext(a,b,c,d,e,f) Perl_sv_magicext(aTHX_ a,b,c,d,e,f) +#define sv_mortalcopy_flags(a,b) Perl_sv_mortalcopy_flags(aTHX_ a,b) #define sv_newmortal() Perl_sv_newmortal(aTHX) #define sv_newref(a) Perl_sv_newref(aTHX_ a) +#ifndef NO_MATHOMS +#define sv_nolocking(a) Perl_sv_nolocking(aTHX_ a) +#endif #define sv_nosharing(a) Perl_sv_nosharing(aTHX_ a) #ifndef NO_MATHOMS #define sv_nounlocking(a) Perl_sv_nounlocking(aTHX_ a) @@ -851,7 +689,7 @@ #define sv_upgrade(a,b) Perl_sv_upgrade(aTHX_ a,b) #define sv_usepvn_flags(a,b,c,d) Perl_sv_usepvn_flags(aTHX_ a,b,c,d) #define sv_utf8_decode(a) Perl_sv_utf8_decode(aTHX_ a) -#define sv_utf8_downgrade(a,b) Perl_sv_utf8_downgrade(aTHX_ a,b) +#define sv_utf8_downgrade_flags(a,b,c) Perl_sv_utf8_downgrade_flags(aTHX_ a,b,c) #define sv_utf8_encode(a) Perl_sv_utf8_encode(aTHX_ a) #define sv_utf8_upgrade_flags_grow(a,b,c) Perl_sv_utf8_upgrade_flags_grow(aTHX_ a,b,c) #ifndef NO_MATHOMS @@ -871,18 +709,9 @@ #define thread_locale_init Perl_thread_locale_init #define thread_locale_term Perl_thread_locale_term #define to_uni_lower(a,b,c) Perl_to_uni_lower(aTHX_ a,b,c) -#ifndef NO_MATHOMS -#define to_uni_lower_lc(a) Perl_to_uni_lower_lc(aTHX_ a) -#endif #define to_uni_title(a,b,c) Perl_to_uni_title(aTHX_ a,b,c) -#ifndef NO_MATHOMS -#define to_uni_title_lc(a) Perl_to_uni_title_lc(aTHX_ a) -#endif #define to_uni_upper(a,b,c) Perl_to_uni_upper(aTHX_ a,b,c) #ifndef NO_MATHOMS -#define to_uni_upper_lc(a) Perl_to_uni_upper_lc(aTHX_ a) -#endif -#ifndef NO_MATHOMS #define unpack_str(a,b,c,d,e,f,g,h) Perl_unpack_str(aTHX_ a,b,c,d,e,f,g,h) #endif #define unpackstring(a,b,c,d,e) Perl_unpackstring(aTHX_ a,b,c,d,e) @@ -895,16 +724,23 @@ #define utf8_hop_safe Perl_utf8_hop_safe #define utf8_length(a,b) Perl_utf8_length(aTHX_ a,b) #define utf8_to_bytes(a,b) Perl_utf8_to_bytes(aTHX_ a,b) +#ifndef NO_MATHOMS #define utf8_to_uvchr(a,b) Perl_utf8_to_uvchr(aTHX_ a,b) +#endif +#define utf8_to_uvchr_buf_helper(a,b,c) Perl_utf8_to_uvchr_buf_helper(aTHX_ a,b,c) #ifndef NO_MATHOMS #define utf8_to_uvuni(a,b) Perl_utf8_to_uvuni(aTHX_ a,b) #endif #define utf8_to_uvuni_buf(a,b,c) Perl_utf8_to_uvuni_buf(aTHX_ a,b,c) -#define utf8n_to_uvchr_msgs S_utf8n_to_uvchr_msgs +#define utf8n_to_uvchr_msgs Perl_utf8n_to_uvchr_msgs +#ifndef NO_MATHOMS #define utf8n_to_uvuni(a,b,c,d) Perl_utf8n_to_uvuni(aTHX_ a,b,c,d) +#endif #define uvoffuni_to_utf8_flags_msgs(a,b,c,d) Perl_uvoffuni_to_utf8_flags_msgs(aTHX_ a,b,c,d) #define uvuni_to_utf8(a,b) Perl_uvuni_to_utf8(aTHX_ a,b) +#ifndef NO_MATHOMS #define uvuni_to_utf8_flags(a,b,c) Perl_uvuni_to_utf8_flags(aTHX_ a,b,c) +#endif #define valid_utf8_to_uvchr Perl_valid_utf8_to_uvchr #ifndef NO_MATHOMS #define valid_utf8_to_uvuni(a,b) Perl_valid_utf8_to_uvuni(aTHX_ a,b) @@ -934,14 +770,20 @@ #define whichsig_sv(a) Perl_whichsig_sv(aTHX_ a) #define wrap_keyword_plugin(a,b) Perl_wrap_keyword_plugin(aTHX_ a,b) #define wrap_op_checker(a,b,c) Perl_wrap_op_checker(aTHX_ a,b,c) -#if !(defined(HAS_MEMMEM)) -#define ninstr Perl_ninstr -#endif -#if !(defined(HAS_SIGACTION) && defined(SA_SIGINFO)) +#if !(defined(PERL_USE_3ARG_SIGHANDLER)) #define csighandler Perl_csighandler #endif #if !defined(EBCDIC) -#define _variant_byte_number S__variant_byte_number +#define variant_byte_number Perl_variant_byte_number +#endif +#if !defined(HAS_STRLCAT) +#define my_strlcat Perl_my_strlcat +#endif +#if !defined(HAS_STRLCPY) +#define my_strlcpy Perl_my_strlcpy +#endif +#if !defined(HAS_STRNLEN) +#define my_strnlen Perl_my_strnlen #endif #if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP) #define my_chsize(a,b) Perl_my_chsize(aTHX_ a,b) @@ -951,32 +793,30 @@ #define my_popen(a,b) Perl_my_popen(aTHX_ a,b) #endif #if !defined(PERL_NO_INLINE_FUNCTIONS) -#define cx_popblock(a) S_cx_popblock(aTHX_ a) -#define cx_popeval(a) S_cx_popeval(aTHX_ a) -#define cx_popformat(a) S_cx_popformat(aTHX_ a) -#define cx_popgiven(a) S_cx_popgiven(aTHX_ a) -#define cx_poploop(a) S_cx_poploop(aTHX_ a) -#define cx_popsub(a) S_cx_popsub(aTHX_ a) -#define cx_popsub_args(a) S_cx_popsub_args(aTHX_ a) -#define cx_popsub_common(a) S_cx_popsub_common(aTHX_ a) -#define cx_popwhen(a) S_cx_popwhen(aTHX_ a) -#define cx_pushblock(a,b,c,d) S_cx_pushblock(aTHX_ a,b,c,d) -#define cx_pusheval(a,b,c) S_cx_pusheval(aTHX_ a,b,c) -#define cx_pushformat(a,b,c,d) S_cx_pushformat(aTHX_ a,b,c,d) -#define cx_pushgiven(a,b) S_cx_pushgiven(aTHX_ a,b) -#define cx_pushloop_for(a,b,c) S_cx_pushloop_for(aTHX_ a,b,c) -#define cx_pushloop_plain(a) S_cx_pushloop_plain(aTHX_ a) -#define cx_pushsub(a,b,c,d) S_cx_pushsub(aTHX_ a,b,c,d) -#define cx_pushwhen(a) S_cx_pushwhen(aTHX_ a) -#define cx_topblock(a) S_cx_topblock(aTHX_ a) +#define cx_popblock(a) Perl_cx_popblock(aTHX_ a) +#define cx_popeval(a) Perl_cx_popeval(aTHX_ a) +#define cx_popformat(a) Perl_cx_popformat(aTHX_ a) +#define cx_popgiven(a) Perl_cx_popgiven(aTHX_ a) +#define cx_poploop(a) Perl_cx_poploop(aTHX_ a) +#define cx_popsub(a) Perl_cx_popsub(aTHX_ a) +#define cx_popsub_args(a) Perl_cx_popsub_args(aTHX_ a) +#define cx_popsub_common(a) Perl_cx_popsub_common(aTHX_ a) +#define cx_popwhen(a) Perl_cx_popwhen(aTHX_ a) +#define cx_pushblock(a,b,c,d) Perl_cx_pushblock(aTHX_ a,b,c,d) +#define cx_pusheval(a,b,c) Perl_cx_pusheval(aTHX_ a,b,c) +#define cx_pushformat(a,b,c,d) Perl_cx_pushformat(aTHX_ a,b,c,d) +#define cx_pushgiven(a,b) Perl_cx_pushgiven(aTHX_ a,b) +#define cx_pushloop_for(a,b,c) Perl_cx_pushloop_for(aTHX_ a,b,c) +#define cx_pushloop_plain(a) Perl_cx_pushloop_plain(aTHX_ a) +#define cx_pushsub(a,b,c,d) Perl_cx_pushsub(aTHX_ a,b,c,d) +#define cx_pushwhen(a) Perl_cx_pushwhen(aTHX_ a) +#define cx_topblock(a) Perl_cx_topblock(aTHX_ a) +#define gimme_V() Perl_gimme_V(aTHX) #endif #if defined(DEBUGGING) #define pad_setsv(a,b) Perl_pad_setsv(aTHX_ a,b) #define pad_sv(a) Perl_pad_sv(aTHX_ a) #endif -#if defined(HAS_SIGACTION) && defined(SA_SIGINFO) -#define csighandler Perl_csighandler -#endif #if defined(HAVE_INTERP_INTERN) #define sys_intern_clear() Perl_sys_intern_clear(aTHX) #define sys_intern_init() Perl_sys_intern_init(aTHX) @@ -1014,6 +854,9 @@ #define warn_nocontext Perl_warn_nocontext #define warner_nocontext Perl_warner_nocontext #endif +#if defined(PERL_USE_3ARG_SIGHANDLER) +#define csighandler Perl_csighandler +#endif #if defined(UNLINK_ALL_VERSIONS) #define unlnk(a) Perl_unlnk(aTHX_ a) #endif @@ -1071,10 +914,6 @@ #define PerlIO_unread(a,b,c) Perl_PerlIO_unread(aTHX_ a,b,c) #define PerlIO_write(a,b,c) Perl_PerlIO_write(aTHX_ a,b,c) #endif -#if defined(USE_QUADMATH) -#define quadmath_format_needed Perl_quadmath_format_needed -#define quadmath_format_single Perl_quadmath_format_single -#endif #if defined(WIN32) || defined(__SYMBIAN32__) || defined(VMS) #define do_aspawn(a,b,c) Perl_do_aspawn(aTHX_ a,b,c) #define do_spawn(a) Perl_do_spawn(aTHX_ a) @@ -1083,12 +922,18 @@ #if defined(PERL_CORE) || defined(PERL_EXT) #define _byte_dump_string(a,b,c) Perl__byte_dump_string(aTHX_ a,b,c) #define _inverse_folds(a,b,c) Perl__inverse_folds(aTHX_ a,b,c) -#define append_utf8_from_native_byte S_append_utf8_from_native_byte +#define append_utf8_from_native_byte Perl_append_utf8_from_native_byte #define av_reify(a) Perl_av_reify(aTHX_ a) +#define cntrl_to_mnemonic Perl_cntrl_to_mnemonic #define current_re_engine() Perl_current_re_engine(aTHX) #define cv_ckproto_len_flags(a,b,c,d,e) Perl_cv_ckproto_len_flags(aTHX_ a,b,c,d,e) +#define do_uniprop_match Perl_do_uniprop_match #define get_and_check_backslash_N_name(a,b,c,d) Perl_get_and_check_backslash_N_name(aTHX_ a,b,c,d) +#define get_deprecated_property_msg Perl_get_deprecated_property_msg +#define get_prop_definition(a) Perl_get_prop_definition(aTHX_ a) +#define get_prop_values Perl_get_prop_values #define grok_atoUV Perl_grok_atoUV +#define load_charnames(a,b,c,d) Perl_load_charnames(aTHX_ a,b,c,d) #define mg_find_mglob(a) Perl_mg_find_mglob(aTHX_ a) #define multiconcat_stringify(a) Perl_multiconcat_stringify(aTHX_ a) #define multideref_stringify(a,b) Perl_multideref_stringify(aTHX_ a,b) @@ -1106,9 +951,7 @@ #define scan_word(a,b,c,d,e) Perl_scan_word(aTHX_ a,b,c,d,e) #define skipspace_flags(a,b) Perl_skipspace_flags(aTHX_ a,b) #define sv_magicext_mglob(a) Perl_sv_magicext_mglob(aTHX_ a) -#define sv_only_taint_gmagic S_sv_only_taint_gmagic -#define swash_fetch(a,b,c) Perl_swash_fetch(aTHX_ a,b,c) -#define swash_init(a,b,c,d,e) Perl_swash_init(aTHX_ a,b,c,d,e) +#define sv_only_taint_gmagic Perl_sv_only_taint_gmagic #define utf16_to_utf8(a,b,c,d) Perl_utf16_to_utf8(aTHX_ a,b,c,d) #define utf16_to_utf8_reversed(a,b,c,d) Perl_utf16_to_utf8_reversed(aTHX_ a,b,c,d) #define validate_proto(a,b,c,d) Perl_validate_proto(aTHX_ a,b,c,d) @@ -1117,20 +960,26 @@ # if ! defined(HAS_MEMRCHR) && (defined(PERL_CORE) || defined(PERL_EXT)) #define my_memrchr S_my_memrchr # endif +# if !(!defined(PERL_EXT_RE_BUILD)) +# if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) +#define get_re_gclass_nonbitmap_data(a,b,c,d,e,f) Perl_get_re_gclass_nonbitmap_data(aTHX_ a,b,c,d,e,f) +# endif +# endif # if !defined(PERL_EXT_RE_BUILD) # if defined(PERL_IN_REGCOMP_C) #define _append_range_to_invlist(a,b,c) S__append_range_to_invlist(aTHX_ a,b,c) #define _invlist_array_init S__invlist_array_init #define get_invlist_previous_index_addr S_get_invlist_previous_index_addr #define invlist_clear(a) S_invlist_clear(aTHX_ a) -#define invlist_extend(a,b) S_invlist_extend(aTHX_ a,b) #define invlist_max S_invlist_max #define invlist_previous_index S_invlist_previous_index #define invlist_replace_list_destroys_src(a,b) S_invlist_replace_list_destroys_src(aTHX_ a,b) -#define invlist_set_len(a,b,c) S_invlist_set_len(aTHX_ a,b,c) #define invlist_set_previous_index S_invlist_set_previous_index #define invlist_trim S_invlist_trim # endif +# if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) +#define get_regclass_nonbitmap_data(a,b,c,d,e,f) Perl_get_regclass_nonbitmap_data(aTHX_ a,b,c,d,e,f) +# endif # endif # if defined(DEBUGGING) # if defined(PERL_IN_REGCOMP_C) @@ -1138,7 +987,7 @@ #define dump_trie_interim_list(a,b,c,d,e) S_dump_trie_interim_list(aTHX_ a,b,c,d,e) #define dump_trie_interim_table(a,b,c,d,e) S_dump_trie_interim_table(aTHX_ a,b,c,d,e) #define dumpuntil(a,b,c,d,e,f,g,h) S_dumpuntil(aTHX_ a,b,c,d,e,f,g,h) -#define put_charclass_bitmap_innards(a,b,c,d,e,f) S_put_charclass_bitmap_innards(aTHX_ a,b,c,d,e,f) +#define put_charclass_bitmap_innards(a,b,c,d,e,f,g) S_put_charclass_bitmap_innards(aTHX_ a,b,c,d,e,f,g) #define put_charclass_bitmap_innards_common(a,b,c,d,e,f) S_put_charclass_bitmap_innards_common(aTHX_ a,b,c,d,e,f) #define put_charclass_bitmap_innards_invlist(a,b) S_put_charclass_bitmap_innards_invlist(aTHX_ a,b) #define put_code_point(a,b) S_put_code_point(aTHX_ a,b) @@ -1167,47 +1016,49 @@ #define sv_setsv_cow(a,b) Perl_sv_setsv_cow(aTHX_ a,b) # endif # if defined(PERL_CORE) || defined (PERL_EXT) -#define is_utf8_non_invariant_string S_is_utf8_non_invariant_string +#define is_utf8_non_invariant_string Perl_is_utf8_non_invariant_string #define sv_or_pv_pos_u2b(a,b,c,d) S_sv_or_pv_pos_u2b(aTHX_ a,b,c,d) # endif # if defined(PERL_CORE) || defined(PERL_EXT) #define isSCRIPT_RUN(a,b,c) Perl_isSCRIPT_RUN(aTHX_ a,b,c) #define variant_under_utf8_count S_variant_under_utf8_count # endif +# if defined(PERL_IN_GV_C) || defined(PERL_IN_UNIVERSAL_C) +#define gv_stashsvpvn_cached(a,b,c,d) Perl_gv_stashsvpvn_cached(aTHX_ a,b,c,d) +# endif # if defined(PERL_IN_REGCOMP_C) -#define _make_exactf_invlist(a,b) S__make_exactf_invlist(aTHX_ a,b) #define add_above_Latin1_folds(a,b,c) S_add_above_Latin1_folds(aTHX_ a,b,c) -#define add_cp_to_invlist(a,b) S_add_cp_to_invlist(aTHX_ a,b) #define add_data S_add_data #define add_multi_match(a,b,c) S_add_multi_match(aTHX_ a,b,c) #define change_engine_size(a,b) S_change_engine_size(aTHX_ a,b) -#define cntrl_to_mnemonic S_cntrl_to_mnemonic +#define compile_wildcard(a,b,c) S_compile_wildcard(aTHX_ a,b,c) #define compute_EXACTish S_compute_EXACTish #define construct_ahocorasick_from_trie(a,b,c) S_construct_ahocorasick_from_trie(aTHX_ a,b,c) #define edit_distance S_edit_distance +#define execute_wildcard(a,b,c,d,e,f,g) S_execute_wildcard(aTHX_ a,b,c,d,e,f,g) +#define find_first_differing_byte_pos S_find_first_differing_byte_pos #define get_ANYOFM_contents(a) S_get_ANYOFM_contents(aTHX_ a) #define get_ANYOF_cp_list_for_ssc(a,b) S_get_ANYOF_cp_list_for_ssc(aTHX_ a,b) -#define get_invlist_iter_addr S_get_invlist_iter_addr #define grok_bslash_N(a,b,c,d,e,f,g) S_grok_bslash_N(aTHX_ a,b,c,d,e,f,g) #define handle_named_backref(a,b,c,d) S_handle_named_backref(aTHX_ a,b,c,d) +#define handle_names_wildcard(a,b,c,d) S_handle_names_wildcard(aTHX_ a,b,c,d) #define handle_possible_posix(a,b,c,d,e) S_handle_possible_posix(aTHX_ a,b,c,d,e) #define handle_regex_sets(a,b,c,d,e) S_handle_regex_sets(aTHX_ a,b,c,d,e) -#define handle_user_defined_property(a,b,c,d,e,f,g,h,i,j) Perl_handle_user_defined_property(aTHX_ a,b,c,d,e,f,g,h,i,j) +#define handle_user_defined_property(a,b,c,d,e,f,g,h,i,j) S_handle_user_defined_property(aTHX_ a,b,c,d,e,f,g,h,i,j) #define invlist_contents(a,b) S_invlist_contents(aTHX_ a,b) -#define invlist_highest S_invlist_highest #define invlist_is_iterating S_invlist_is_iterating -#define invlist_iterfinish S_invlist_iterfinish -#define invlist_iterinit S_invlist_iterinit -#define invlist_iternext S_invlist_iternext +#define invlist_lowest S_invlist_lowest #define is_ssc_worth_it S_is_ssc_worth_it #define join_exact(a,b,c,d,e,f,g) S_join_exact(aTHX_ a,b,c,d,e,f,g) +#define make_exactf_invlist(a,b) S_make_exactf_invlist(aTHX_ a,b) #define make_trie(a,b,c,d,e,f,g,h) S_make_trie(aTHX_ a,b,c,d,e,f,g,h) #define new_regcurly S_new_regcurly #define nextchar(a) S_nextchar(aTHX_ a) #define output_posix_warnings(a,b) S_output_posix_warnings(aTHX_ a,b) #define parse_lparen_question_flags(a) S_parse_lparen_question_flags(aTHX_ a) -#define parse_uniprop_string(a,b,c,d,e,f,g,h,i) Perl_parse_uniprop_string(aTHX_ a,b,c,d,e,f,g,h,i) +#define parse_uniprop_string(a,b,c,d,e,f,g,h,i,j) S_parse_uniprop_string(aTHX_ a,b,c,d,e,f,g,h,i,j) #define populate_ANYOF_from_invlist(a,b) S_populate_ANYOF_from_invlist(aTHX_ a,b) +#define rck_elide_nothing(a) S_rck_elide_nothing(aTHX_ a) #define reg(a,b,c,d) S_reg(aTHX_ a,b,c,d) #define reg2Lanode(a,b,c,d) S_reg2Lanode(aTHX_ a,b,c,d) #define reg_node(a,b) S_reg_node(aTHX_ a,b) @@ -1221,6 +1072,7 @@ #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) #define regpiece(a,b,c) S_regpiece(aTHX_ a,b,c) +#define regpnode(a,b,c) S_regpnode(aTHX_ a,b,c) #define regtail(a,b,c,d) S_regtail(aTHX_ a,b,c,d) #define scan_commit(a,b,c,d) S_scan_commit(aTHX_ a,b,c,d) #define set_ANYOF_arg(a,b,c,d,e) S_set_ANYOF_arg(aTHX_ a,b,c,d,e) @@ -1238,23 +1090,54 @@ #define ssc_is_cp_posixl_init S_ssc_is_cp_posixl_init #define ssc_or(a,b,c) S_ssc_or(aTHX_ a,b,c) #define ssc_union(a,b,c) S_ssc_union(aTHX_ a,b,c) -#define study_chunk(a,b,c,d,e,f,g,h,i,j,k) S_study_chunk(aTHX_ a,b,c,d,e,f,g,h,i,j,k) +#define study_chunk(a,b,c,d,e,f,g,h,i,j,k,l) S_study_chunk(aTHX_ a,b,c,d,e,f,g,h,i,j,k,l) # endif -# if defined(PERL_IN_REGCOMP_C) || defined (PERL_IN_DUMP_C) +# if defined(PERL_IN_REGCOMP_C) || defined (PERL_IN_DUMP_C) || defined(PERL_IN_OP_C) #define _invlist_dump(a,b,c,d) Perl__invlist_dump(aTHX_ a,b,c,d) # endif +# if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_DOOP_C) || defined(PERL_IN_OP_C) +#define add_cp_to_invlist(a,b) S_add_cp_to_invlist(aTHX_ a,b) +#define invlist_extend(a,b) S_invlist_extend(aTHX_ a,b) +#define invlist_highest S_invlist_highest +#define invlist_set_len(a,b,c) S_invlist_set_len(aTHX_ a,b,c) +# endif +# if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_DOOP_C) || defined(PERL_IN_OP_C) || defined(PERL_IN_UTF8_C) +#define _add_range_to_invlist(a,b,c) Perl__add_range_to_invlist(aTHX_ a,b,c) +#define _invlist_intersection_maybe_complement_2nd(a,b,c,d) Perl__invlist_intersection_maybe_complement_2nd(aTHX_ a,b,c,d) +#define _invlist_invert(a) Perl__invlist_invert(aTHX_ a) +#define _invlist_union_maybe_complement_2nd(a,b,c,d) Perl__invlist_union_maybe_complement_2nd(aTHX_ a,b,c,d) +#define _new_invlist(a) Perl__new_invlist(aTHX_ a) +#define _setup_canned_invlist(a,b,c) Perl__setup_canned_invlist(aTHX_ a,b,c) +# endif +# if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_DQUOTE_C) || defined(PERL_IN_TOKE_C) +#define form_alien_digit_msg(a,b,c,d,e,f) Perl_form_alien_digit_msg(aTHX_ a,b,c,d,e,f) +#define grok_bslash_c(a,b,c,d) Perl_grok_bslash_c(aTHX_ a,b,c,d) +#define grok_bslash_o(a,b,c,d,e,f,g,h) Perl_grok_bslash_o(aTHX_ a,b,c,d,e,f,g,h) +#define grok_bslash_x(a,b,c,d,e,f,g,h) Perl_grok_bslash_x(aTHX_ a,b,c,d,e,f,g,h) +# endif +# if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_DQUOTE_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_UTF8_C) +#define form_cp_too_large_msg(a,b,c,d) Perl_form_cp_too_large_msg(aTHX_ a,b,c,d) +# endif +# if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_OP_C) +#define get_invlist_iter_addr S_get_invlist_iter_addr +#define invlist_iterfinish S_invlist_iterfinish +#define invlist_iterinit S_invlist_iterinit +#define invlist_iternext S_invlist_iternext +# endif # if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_PERL_C) || defined(PERL_IN_UTF8_C) #define _invlistEQ(a,b,c) Perl__invlistEQ(aTHX_ a,b,c) #define _new_invlist_C_array(a) Perl__new_invlist_C_array(aTHX_ a) # endif +# if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_PP_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_UNIVERSAL_C) +#define get_regex_charset_name S_get_regex_charset_name +# endif # if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) -#define _get_regclass_nonbitmap_data(a,b,c,d,e,f) Perl__get_regclass_nonbitmap_data(aTHX_ a,b,c,d,e,f) #ifndef PERL_IMPLICIT_CONTEXT #define re_printf Perl_re_printf #endif #define regprop(a,b,c,d,e) Perl_regprop(aTHX_ a,b,c,d,e) # endif -# if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_UTF8_C) || defined(PERL_IN_PP_C) +# if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_PP_C) || defined(PERL_IN_OP_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_UTF8_C) || defined(PERL_IN_DOOP_C) #define _invlist_contains_cp S__invlist_contains_cp #define _invlist_len S__invlist_len #define _invlist_search Perl__invlist_search @@ -1262,24 +1145,18 @@ #define invlist_array S_invlist_array #define is_invlist S_is_invlist # endif +# if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_TOKE_C) +#define is_grapheme(a,b,c,d) Perl_is_grapheme(aTHX_ a,b,c,d) +# endif +# if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C) +#define _to_fold_latin1 Perl__to_fold_latin1 +# endif # if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_SV_C) #define invlist_clone(a,b) Perl_invlist_clone(aTHX_ a,b) # endif -# if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_DQUOTE_C) -#define form_short_octal_warning(a,b) S_form_short_octal_warning(aTHX_ a,b) -#define grok_bslash_c(a,b) Perl_grok_bslash_c(aTHX_ a,b) -#define grok_bslash_o(a,b,c,d,e,f,g,h) Perl_grok_bslash_o(aTHX_ a,b,c,d,e,f,g,h) -#define grok_bslash_x(a,b,c,d,e,f,g,h) Perl_grok_bslash_x(aTHX_ a,b,c,d,e,f,g,h) +# if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C) #define regcurly S_regcurly # endif -# if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C) -#define _add_range_to_invlist(a,b,c) Perl__add_range_to_invlist(aTHX_ a,b,c) -#define _invlist_intersection_maybe_complement_2nd(a,b,c,d) Perl__invlist_intersection_maybe_complement_2nd(aTHX_ a,b,c,d) -#define _invlist_invert(a) Perl__invlist_invert(aTHX_ a) -#define _invlist_union_maybe_complement_2nd(a,b,c,d) Perl__invlist_union_maybe_complement_2nd(aTHX_ a,b,c,d) -#define _new_invlist(a) Perl__new_invlist(aTHX_ a) -#define _setup_canned_invlist(a,b,c) Perl__setup_canned_invlist(aTHX_ a,b,c) -# endif # if defined(PERL_IN_REGEXEC_C) #define advance_one_LB(a,b,c) S_advance_one_LB(aTHX_ a,b,c) #define advance_one_SB(a,b,c) S_advance_one_SB(aTHX_ a,b,c) @@ -1312,15 +1189,9 @@ #define to_byte_substr(a) S_to_byte_substr(aTHX_ a) #define to_utf8_substr(a) S_to_utf8_substr(aTHX_ a) # endif -# if defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_TOKE_C) -#define _is_grapheme(a,b,c,d) Perl__is_grapheme(aTHX_ a,b,c,d) -# endif # if defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C) #define isFOO_lc(a,b) Perl_isFOO_lc(aTHX_ a,b) # endif -# if defined(PERL_IN_UTF8_C) || defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) -#define _to_fold_latin1 Perl__to_fold_latin1 -# endif #endif #ifdef PERL_CORE #define PerlLIO_dup2_cloexec(a,b) Perl_PerlLIO_dup2_cloexec(aTHX_ a,b) @@ -1361,6 +1232,7 @@ #define ck_glob(a) Perl_ck_glob(aTHX_ a) #define ck_grep(a) Perl_ck_grep(aTHX_ a) #define ck_index(a) Perl_ck_index(aTHX_ a) +#define ck_isa(a) Perl_ck_isa(aTHX_ a) #define ck_join(a) Perl_ck_join(aTHX_ a) #define ck_length(a) Perl_ck_length(aTHX_ a) #define ck_lfun(a) Perl_ck_lfun(aTHX_ a) @@ -1391,6 +1263,9 @@ #define ck_tell(a) Perl_ck_tell(aTHX_ a) #define ck_trunc(a) Perl_ck_trunc(aTHX_ a) #define closest_cop(a,b,c,d) Perl_closest_cop(aTHX_ a,b,c,d) +#define cmpchain_extend(a,b,c) Perl_cmpchain_extend(aTHX_ a,b,c) +#define cmpchain_finish(a) Perl_cmpchain_finish(aTHX_ a) +#define cmpchain_start(a,b,c) Perl_cmpchain_start(aTHX_ a,b,c) #define core_prototype(a,b,c,d) Perl_core_prototype(aTHX_ a,b,c,d) #define coresub_op(a,b,c) Perl_coresub_op(aTHX_ a,b,c) #define create_eval_scope(a,b) Perl_create_eval_scope(aTHX_ a,b) @@ -1448,6 +1323,7 @@ #define init_named_cv(a,b) Perl_init_named_cv(aTHX_ a,b) #define init_uniprops() Perl_init_uniprops(aTHX) #define invert(a) Perl_invert(aTHX_ a) +#define invmap_dump(a,b) Perl_invmap_dump(aTHX_ a,b) #define io_close(a,b,c,d) Perl_io_close(aTHX_ a,b,c,d) #define isinfnansv(a) Perl_isinfnansv(aTHX_ a) #define jmaybe(a) Perl_jmaybe(aTHX_ a) @@ -1571,6 +1447,8 @@ #define setfd_cloexec_or_inhexec_by_sysfdness(a) Perl_setfd_cloexec_or_inhexec_by_sysfdness(aTHX_ a) #define setfd_inhexec Perl_setfd_inhexec #define setfd_inhexec_for_sysfd(a) Perl_setfd_inhexec_for_sysfd(aTHX_ a) +#define sighandler1 Perl_sighandler1 +#define sighandler3 Perl_sighandler3 #define sub_crush_depth(a) Perl_sub_crush_depth(aTHX_ a) #define sv_2num(a) Perl_sv_2num(aTHX_ a) #define sv_clean_all() Perl_sv_clean_all(aTHX) @@ -1578,7 +1456,6 @@ #define sv_del_backref(a,b) Perl_sv_del_backref(aTHX_ a,b) #define sv_free_arenas() Perl_sv_free_arenas(aTHX) #define sv_len_utf8_nomg(a) Perl_sv_len_utf8_nomg(aTHX_ a) -#define sv_mortalcopy_flags(a,b) Perl_sv_mortalcopy_flags(aTHX_ a,b) #define sv_resetpvn(a,b,c) Perl_sv_resetpvn(aTHX_ a,b,c) #define sv_sethek(a,b) Perl_sv_sethek(aTHX_ a,b) #ifndef PERL_IMPLICIT_CONTEXT @@ -1610,12 +1487,12 @@ #define my_nl_langinfo S_my_nl_langinfo # endif # endif -# if !(defined(HAS_SIGACTION) && defined(SA_SIGINFO)) -#define sighandler Perl_sighandler -# endif # if !(defined(PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION)) #define do_exec(a) Perl_do_exec(aTHX_ a) # endif +# if !(defined(PERL_USE_3ARG_SIGHANDLER)) +#define sighandler Perl_sighandler +# endif # if !(defined(_MSC_VER)) #define magic_regdatum_set(a,b) Perl_magic_regdatum_set(aTHX_ a,b) # endif @@ -1666,6 +1543,11 @@ # if !defined(WIN32) #define do_exec3(a,b,c) Perl_do_exec3(aTHX_ a,b,c) # endif +# if 0 /* Not currently used, but may be needed in the future */ +# if defined(PERL_IN_UTF8_C) +#define warn_on_first_deprecated_use(a,b,c,d,e) S_warn_on_first_deprecated_use(aTHX_ a,b,c,d,e) +# endif +# endif # if defined (HAS_SOCKETPAIR) || (defined (HAS_SOCKET) && defined(SOCK_DGRAM) && defined(AF_INET) && defined(PF_INET)) #define PerlSock_socketpair_cloexec(a,b,c,d) Perl_PerlSock_socketpair_cloexec(aTHX_ a,b,c,d) # endif @@ -1709,9 +1591,6 @@ # if defined(HAS_PIPE) #define PerlProc_pipe_cloexec(a) Perl_PerlProc_pipe_cloexec(aTHX_ a) # endif -# if defined(HAS_SIGACTION) && defined(SA_SIGINFO) -#define sighandler Perl_sighandler -# endif # if defined(HAS_SOCKET) #define PerlSock_accept_cloexec(a,b,c) Perl_PerlSock_accept_cloexec(aTHX_ a,b,c) #define PerlSock_socket_cloexec(a,b,c) Perl_PerlSock_socket_cloexec(aTHX_ a,b,c) @@ -1757,12 +1636,11 @@ #define openn_setup(a,b,c,d,e,f) S_openn_setup(aTHX_ a,b,c,d,e,f) # endif # if defined(PERL_IN_DOOP_C) -#define do_trans_complex(a) S_do_trans_complex(aTHX_ a) -#define do_trans_complex_utf8(a) S_do_trans_complex_utf8(aTHX_ a) -#define do_trans_count(a) S_do_trans_count(aTHX_ a) -#define do_trans_count_utf8(a) S_do_trans_count_utf8(aTHX_ a) -#define do_trans_simple(a) S_do_trans_simple(aTHX_ a) -#define do_trans_simple_utf8(a) S_do_trans_simple_utf8(aTHX_ a) +#define do_trans_complex(a,b) S_do_trans_complex(aTHX_ a,b) +#define do_trans_count(a,b) S_do_trans_count(aTHX_ a,b) +#define do_trans_count_invmap(a,b) S_do_trans_count_invmap(aTHX_ a,b) +#define do_trans_invmap(a,b) S_do_trans_invmap(aTHX_ a,b) +#define do_trans_simple(a,b) S_do_trans_simple(aTHX_ a,b) # endif # if defined(PERL_IN_DUMP_C) #define deb_curcv(a) S_deb_curcv(aTHX_ a) @@ -1778,7 +1656,6 @@ #define gv_magicalize(a,b,c,d,e) S_gv_magicalize(aTHX_ a,b,c,d,e) #define gv_magicalize_isa(a) S_gv_magicalize_isa(aTHX_ a) #define gv_stashpvn_internal(a,b,c) S_gv_stashpvn_internal(aTHX_ a,b,c) -#define gv_stashsvpvn_cached(a,b,c,d) S_gv_stashsvpvn_cached(aTHX_ a,b,c,d) #define maybe_multimagic_gv(a,b,c) S_maybe_multimagic_gv(aTHX_ a,b,c) #define parse_gv_stash_name(a,b,c,d,e,f,g,h) S_parse_gv_stash_name(aTHX_ a,b,c,d,e,f,g,h) #define require_tie_mod(a,b,c,d,e) S_require_tie_mod(aTHX_ a,b,c,d,e) @@ -1843,6 +1720,9 @@ #define mro_gather_and_rename(a,b,c,d,e) S_mro_gather_and_rename(aTHX_ a,b,c,d,e) #define mro_get_linear_isa_dfs(a,b) S_mro_get_linear_isa_dfs(aTHX_ a,b) # endif +# if defined(PERL_IN_NUMERIC_C) +#define output_non_portable(a) S_output_non_portable(aTHX_ a) +# endif # if defined(PERL_IN_OP_C) #define apply_attrs(a,b,c) S_apply_attrs(aTHX_ a,b,c) #define apply_attrs_my(a,b,c,d) S_apply_attrs_my(aTHX_ a,b,c,d) @@ -1899,6 +1779,9 @@ #define pad_findlex(a,b,c,d,e,f,g,h,i) S_pad_findlex(aTHX_ a,b,c,d,e,f,g,h,i) #define pad_reset() S_pad_reset(aTHX) # endif +# if defined(PERL_IN_PAD_C) || defined(PERL_IN_OP_C) +#define PadnameIN_SCOPE S_PadnameIN_SCOPE +# endif # if defined(PERL_IN_PERL_C) #define find_beginning(a,b) S_find_beginning(aTHX_ a,b) #define forbid_setid(a,b) S_forbid_setid(aTHX_ a,b) @@ -1924,6 +1807,9 @@ #define do_delete_local() S_do_delete_local(aTHX) #define refto(a) S_refto(aTHX_ a) # endif +# if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C) +#define lossless_NV_to_IV S_lossless_NV_to_IV +# endif # if defined(PERL_IN_PP_CTL_C) #define check_type_and_open(a) S_check_type_and_open(aTHX_ a) #define destroy_matcher(a) S_destroy_matcher(aTHX_ a) @@ -1950,6 +1836,7 @@ # if defined(PERL_IN_PP_HOT_C) #define do_oddball(a,b) S_do_oddball(aTHX_ a,b) #define opmethod_stash(a) S_opmethod_stash(aTHX_ a) +#define should_we_output_Debug_r(a) S_should_we_output_Debug_r(aTHX_ a) # endif # if defined(PERL_IN_PP_PACK_C) #define div128(a,b) S_div128(aTHX_ a,b) @@ -1968,15 +1855,24 @@ # endif # if defined(PERL_IN_PP_SORT_C) #define amagic_cmp(a,b) S_amagic_cmp(aTHX_ a,b) +#define amagic_cmp_desc(a,b) S_amagic_cmp_desc(aTHX_ a,b) #define amagic_i_ncmp(a,b) S_amagic_i_ncmp(aTHX_ a,b) +#define amagic_i_ncmp_desc(a,b) S_amagic_i_ncmp_desc(aTHX_ a,b) #define amagic_ncmp(a,b) S_amagic_ncmp(aTHX_ a,b) +#define amagic_ncmp_desc(a,b) S_amagic_ncmp_desc(aTHX_ a,b) +#define cmp_desc(a,b) S_cmp_desc(aTHX_ a,b) #define sortcv(a,b) S_sortcv(aTHX_ a,b) #define sortcv_stacked(a,b) S_sortcv_stacked(aTHX_ a,b) #define sortcv_xsub(a,b) S_sortcv_xsub(aTHX_ a,b) +#define sortsv_flags_impl(a,b,c,d) S_sortsv_flags_impl(aTHX_ a,b,c,d) #define sv_i_ncmp(a,b) S_sv_i_ncmp(aTHX_ a,b) +#define sv_i_ncmp_desc(a,b) S_sv_i_ncmp_desc(aTHX_ a,b) #define sv_ncmp(a,b) S_sv_ncmp(aTHX_ a,b) +#define sv_ncmp_desc(a,b) S_sv_ncmp_desc(aTHX_ a,b) # if defined(USE_LOCALE_COLLATE) #define amagic_cmp_locale(a,b) S_amagic_cmp_locale(aTHX_ a,b) +#define amagic_cmp_locale_desc(a,b) S_amagic_cmp_locale_desc(aTHX_ a,b) +#define cmp_locale_desc(a,b) S_cmp_locale_desc(aTHX_ a,b) # endif # endif # if defined(PERL_IN_PP_SYS_C) @@ -2062,26 +1958,22 @@ #define yywarn(a,b) S_yywarn(aTHX_ a,b) # endif # if defined(PERL_IN_UNIVERSAL_C) -#define isa_lookup(a,b,c,d) S_isa_lookup(aTHX_ a,b,c,d) +#define isa_lookup(a,b,c,d,e) S_isa_lookup(aTHX_ a,b,c,d,e) +#define sv_derived_from_svpvn(a,b,c,d,e) S_sv_derived_from_svpvn(aTHX_ a,b,c,d,e) # endif # if defined(PERL_IN_UTF8_C) #define _to_utf8_case(a,b,c,d,e,f,g,h,i) S__to_utf8_case(aTHX_ a,b,c,d,e,f,g,h,i) -#define check_and_deprecate(a,b,c,d,e,f) S_check_and_deprecate(aTHX_ a,b,c,d,e,f) #define check_locale_boundary_crossing(a,b,c,d) S_check_locale_boundary_crossing(aTHX_ a,b,c,d) #define does_utf8_overflow S_does_utf8_overflow #define isFF_OVERLONG S_isFF_OVERLONG -#define is_utf8_common(a,b) S_is_utf8_common(aTHX_ a,b) -#define is_utf8_common_with_len(a,b,c) S_is_utf8_common_with_len(aTHX_ a,b,c) +#define is_utf8_common(a,b,c) S_is_utf8_common(aTHX_ a,b,c) #define is_utf8_overlong_given_start_byte_ok S_is_utf8_overlong_given_start_byte_ok #define new_msg_hv(a,b,c) S_new_msg_hv(aTHX_ a,b,c) -#define swash_scan_list_line(a,b,c,d,e,f,g) S_swash_scan_list_line(aTHX_ a,b,c,d,e,f,g) -#define swatch_get(a,b,c) S_swatch_get(aTHX_ a,b,c) #define to_lower_latin1 S_to_lower_latin1 #define turkic_fc(a,b,c,d) S_turkic_fc(aTHX_ a,b,c,d) #define turkic_lc(a,b,c,d) S_turkic_lc(aTHX_ a,b,c,d) #define turkic_uc(a,b,c,d) S_turkic_uc(aTHX_ a,b,c,d) #define unexpected_non_continuation_text(a,b,c,d) S_unexpected_non_continuation_text(aTHX_ a,b,c,d) -#define warn_on_first_deprecated_use(a,b,c,d,e) S_warn_on_first_deprecated_use(aTHX_ a,b,c,d,e) # endif # if defined(PERL_IN_UTF8_C) || defined(PERL_IN_PP_C) #define _to_upper_title_latin1(a,b,c,d) Perl__to_upper_title_latin1(aTHX_ a,b,c,d) @@ -2103,6 +1995,9 @@ # if defined(PERL_USES_PL_PIDSTATUS) && defined(PERL_IN_UTIL_C) #define pidgone(a,b) S_pidgone(aTHX_ a,b) # endif +# if defined(PERL_USE_3ARG_SIGHANDLER) +#define sighandler Perl_sighandler +# endif # if defined(USE_C_BACKTRACE) #define get_c_backtrace(a,b) Perl_get_c_backtrace(aTHX_ a,b) # endif @@ -2122,6 +2017,10 @@ #define PerlIO_restore_errno(a) Perl_PerlIO_restore_errno(aTHX_ a) #define PerlIO_save_errno(a) Perl_PerlIO_save_errno(aTHX_ a) # endif +# if defined(USE_QUADMATH) +#define quadmath_format_needed Perl_quadmath_format_needed +#define quadmath_format_valid Perl_quadmath_format_valid +# endif # if defined(_MSC_VER) #define magic_regdatum_set(a,b) Perl_magic_regdatum_set(aTHX_ a,b) # endif diff --git a/Master/tlpkg/tlperl/lib/CORE/embedvar.h b/Master/tlpkg/tlperl/lib/CORE/embedvar.h index 35cf8f21915..de1aa999a81 100644 --- a/Master/tlpkg/tlperl/lib/CORE/embedvar.h +++ b/Master/tlpkg/tlperl/lib/CORE/embedvar.h @@ -40,6 +40,9 @@ # define vTHX PERL_GET_INTERP # endif +#define PL_AboveLatin1 (vTHX->IAboveLatin1) +#define PL_Assigned_invlist (vTHX->IAssigned_invlist) +#define PL_CCC_non0_non230 (vTHX->ICCC_non0_non230) #define PL_DBcontrol (vTHX->IDBcontrol) #define PL_DBcv (vTHX->IDBcv) #define PL_DBgv (vTHX->IDBgv) @@ -50,14 +53,28 @@ #define PL_DBtrace (vTHX->IDBtrace) #define PL_Dir (vTHX->IDir) #define PL_Env (vTHX->IEnv) +#define PL_GCB_invlist (vTHX->IGCB_invlist) +#define PL_HasMultiCharFold (vTHX->IHasMultiCharFold) +#define PL_InBitmap (vTHX->IInBitmap) +#define PL_InMultiCharFold (vTHX->IInMultiCharFold) +#define PL_LB_invlist (vTHX->ILB_invlist) #define PL_LIO (vTHX->ILIO) +#define PL_Latin1 (vTHX->ILatin1) #define PL_Mem (vTHX->IMem) #define PL_MemParse (vTHX->IMemParse) #define PL_MemShared (vTHX->IMemShared) +#define PL_Posix_ptrs (vTHX->IPosix_ptrs) +#define PL_Private_Use (vTHX->IPrivate_Use) #define PL_Proc (vTHX->IProc) +#define PL_SB_invlist (vTHX->ISB_invlist) +#define PL_SCX_invlist (vTHX->ISCX_invlist) #define PL_Sock (vTHX->ISock) #define PL_StdIO (vTHX->IStdIO) #define PL_Sv (vTHX->ISv) +#define PL_TR_SPECIAL_HANDLING_UTF8 (vTHX->ITR_SPECIAL_HANDLING_UTF8) +#define PL_UpperLatin1 (vTHX->IUpperLatin1) +#define PL_WB_invlist (vTHX->IWB_invlist) +#define PL_XPosix_ptrs (vTHX->IXPosix_ptrs) #define PL_Xpv (vTHX->IXpv) #define PL_an (vTHX->Ian) #define PL_argvgv (vTHX->Iargvgv) @@ -155,6 +172,7 @@ #define PL_in_clean_objs (vTHX->Iin_clean_objs) #define PL_in_eval (vTHX->Iin_eval) #define PL_in_load_module (vTHX->Iin_load_module) +#define PL_in_some_fold (vTHX->Iin_some_fold) #define PL_in_utf8_COLLATE_locale (vTHX->Iin_utf8_COLLATE_locale) #define PL_in_utf8_CTYPE_locale (vTHX->Iin_utf8_CTYPE_locale) #define PL_in_utf8_turkic_locale (vTHX->Iin_utf8_turkic_locale) @@ -167,11 +185,6 @@ #define PL_langinfo_buf (vTHX->Ilanginfo_buf) #define PL_langinfo_bufsize (vTHX->Ilanginfo_bufsize) #define PL_last_in_gv (vTHX->Ilast_in_gv) -#define PL_last_swash_hv (vTHX->Ilast_swash_hv) -#define PL_last_swash_key (vTHX->Ilast_swash_key) -#define PL_last_swash_klen (vTHX->Ilast_swash_klen) -#define PL_last_swash_slen (vTHX->Ilast_swash_slen) -#define PL_last_swash_tmps (vTHX->Ilast_swash_tmps) #define PL_lastfd (vTHX->Ilastfd) #define PL_lastgotoprobe (vTHX->Ilastgotoprobe) #define PL_laststatval (vTHX->Ilaststatval) @@ -190,6 +203,8 @@ #define PL_markstack_ptr (vTHX->Imarkstack_ptr) #define PL_max_intro_pending (vTHX->Imax_intro_pending) #define PL_maxsysfd (vTHX->Imaxsysfd) +#define PL_mbrlen_ps (vTHX->Imbrlen_ps) +#define PL_mbrtowc_ps (vTHX->Imbrtowc_ps) #define PL_memory_debug_header (vTHX->Imemory_debug_header) #define PL_mess_sv (vTHX->Imess_sv) #define PL_min_intro_pending (vTHX->Imin_intro_pending) @@ -272,15 +287,15 @@ #define PL_scopestack_max (vTHX->Iscopestack_max) #define PL_scopestack_name (vTHX->Iscopestack_name) #define PL_secondgv (vTHX->Isecondgv) -#define PL_seen_deprecated_macro (vTHX->Iseen_deprecated_macro) #define PL_setlocale_buf (vTHX->Isetlocale_buf) #define PL_setlocale_bufsize (vTHX->Isetlocale_bufsize) #define PL_sharehook (vTHX->Isharehook) #define PL_sig_pending (vTHX->Isig_pending) +#define PL_sighandler1p (vTHX->Isighandler1p) +#define PL_sighandler3p (vTHX->Isighandler3p) #define PL_sighandlerp (vTHX->Isighandlerp) #define PL_signalhook (vTHX->Isignalhook) #define PL_signals (vTHX->Isignals) -#define PL_sort_RealCmp (vTHX->Isort_RealCmp) #define PL_sortcop (vTHX->Isortcop) #define PL_sortstash (vTHX->Isortstash) #define PL_splitstr (vTHX->Isplitstr) @@ -335,60 +350,46 @@ #define PL_unitcheckav_save (vTHX->Iunitcheckav_save) #define PL_unlockhook (vTHX->Iunlockhook) #define PL_unsafe (vTHX->Iunsafe) +#define PL_utf8_charname_begin (vTHX->Iutf8_charname_begin) +#define PL_utf8_charname_continue (vTHX->Iutf8_charname_continue) +#define PL_utf8_foldclosures (vTHX->Iutf8_foldclosures) +#define PL_utf8_idcont (vTHX->Iutf8_idcont) +#define PL_utf8_idstart (vTHX->Iutf8_idstart) +#define PL_utf8_mark (vTHX->Iutf8_mark) +#define PL_utf8_perl_idcont (vTHX->Iutf8_perl_idcont) +#define PL_utf8_perl_idstart (vTHX->Iutf8_perl_idstart) +#define PL_utf8_tofold (vTHX->Iutf8_tofold) +#define PL_utf8_tolower (vTHX->Iutf8_tolower) +#define PL_utf8_tosimplefold (vTHX->Iutf8_tosimplefold) +#define PL_utf8_totitle (vTHX->Iutf8_totitle) +#define PL_utf8_toupper (vTHX->Iutf8_toupper) +#define PL_utf8_xidcont (vTHX->Iutf8_xidcont) +#define PL_utf8_xidstart (vTHX->Iutf8_xidstart) #define PL_utf8cache (vTHX->Iutf8cache) #define PL_utf8locale (vTHX->Iutf8locale) #define PL_warn_locale (vTHX->Iwarn_locale) #define PL_warnhook (vTHX->Iwarnhook) #define PL_watchaddr (vTHX->Iwatchaddr) #define PL_watchok (vTHX->Iwatchok) +#define PL_wcrtomb_ps (vTHX->Iwcrtomb_ps) #define PL_xsubfilename (vTHX->Ixsubfilename) #endif /* MULTIPLICITY */ #if defined(PERL_GLOBAL_STRUCT) -#define PL_AboveLatin1 (my_vars->GAboveLatin1) -#define PL_GAboveLatin1 (my_vars->GAboveLatin1) -#define PL_Assigned_invlist (my_vars->GAssigned_invlist) -#define PL_GAssigned_invlist (my_vars->GAssigned_invlist) -#define PL_CCC_non0_non230 (my_vars->GCCC_non0_non230) -#define PL_GCCC_non0_non230 (my_vars->GCCC_non0_non230) #define PL_C_locale_obj (my_vars->GC_locale_obj) #define PL_GC_locale_obj (my_vars->GC_locale_obj) -#define PL_GCB_invlist (my_vars->GGCB_invlist) -#define PL_GGCB_invlist (my_vars->GGCB_invlist) -#define PL_HasMultiCharFold (my_vars->GHasMultiCharFold) -#define PL_GHasMultiCharFold (my_vars->GHasMultiCharFold) -#define PL_InBitmap (my_vars->GInBitmap) -#define PL_GInBitmap (my_vars->GInBitmap) -#define PL_InMultiCharFold (my_vars->GInMultiCharFold) -#define PL_GInMultiCharFold (my_vars->GInMultiCharFold) -#define PL_LB_invlist (my_vars->GLB_invlist) -#define PL_GLB_invlist (my_vars->GLB_invlist) -#define PL_Latin1 (my_vars->GLatin1) -#define PL_GLatin1 (my_vars->GLatin1) -#define PL_NonFinalFold (my_vars->GNonFinalFold) -#define PL_GNonFinalFold (my_vars->GNonFinalFold) -#define PL_Posix_ptrs (my_vars->GPosix_ptrs) -#define PL_GPosix_ptrs (my_vars->GPosix_ptrs) -#define PL_Private_Use (my_vars->GPrivate_Use) -#define PL_GPrivate_Use (my_vars->GPrivate_Use) -#define PL_SB_invlist (my_vars->GSB_invlist) -#define PL_GSB_invlist (my_vars->GSB_invlist) -#define PL_SCX_invlist (my_vars->GSCX_invlist) -#define PL_GSCX_invlist (my_vars->GSCX_invlist) -#define PL_UpperLatin1 (my_vars->GUpperLatin1) -#define PL_GUpperLatin1 (my_vars->GUpperLatin1) -#define PL_WB_invlist (my_vars->GWB_invlist) -#define PL_GWB_invlist (my_vars->GWB_invlist) -#define PL_XPosix_ptrs (my_vars->GXPosix_ptrs) -#define PL_GXPosix_ptrs (my_vars->GXPosix_ptrs) #define PL_appctx (my_vars->Gappctx) #define PL_Gappctx (my_vars->Gappctx) #define PL_check (my_vars->Gcheck) #define PL_Gcheck (my_vars->Gcheck) #define PL_check_mutex (my_vars->Gcheck_mutex) #define PL_Gcheck_mutex (my_vars->Gcheck_mutex) +#define PL_csighandler1p (my_vars->Gcsighandler1p) +#define PL_Gcsighandler1p (my_vars->Gcsighandler1p) +#define PL_csighandler3p (my_vars->Gcsighandler3p) +#define PL_Gcsighandler3p (my_vars->Gcsighandler3p) #define PL_csighandlerp (my_vars->Gcsighandlerp) #define PL_Gcsighandlerp (my_vars->Gcsighandlerp) #define PL_curinterp (my_vars->Gcurinterp) @@ -397,6 +398,8 @@ #define PL_Gdo_undump (my_vars->Gdo_undump) #define PL_dollarzero_mutex (my_vars->Gdollarzero_mutex) #define PL_Gdollarzero_mutex (my_vars->Gdollarzero_mutex) +#define PL_env_mutex (my_vars->Genv_mutex) +#define PL_Genv_mutex (my_vars->Genv_mutex) #define PL_fold_locale (my_vars->Gfold_locale) #define PL_Gfold_locale (my_vars->Gfold_locale) #define PL_hash_chars (my_vars->Ghash_chars) @@ -409,8 +412,6 @@ #define PL_Ghash_state (my_vars->Ghash_state) #define PL_hints_mutex (my_vars->Ghints_mutex) #define PL_Ghints_mutex (my_vars->Ghints_mutex) -#define PL_in_some_fold (my_vars->Gin_some_fold) -#define PL_Gin_some_fold (my_vars->Gin_some_fold) #define PL_keyword_plugin (my_vars->Gkeyword_plugin) #define PL_Gkeyword_plugin (my_vars->Gkeyword_plugin) #define PL_keyword_plugin_mutex (my_vars->Gkeyword_plugin_mutex) @@ -497,36 +498,6 @@ #define PL_Guser_def_props_aTHX (my_vars->Guser_def_props_aTHX) #define PL_user_prop_mutex (my_vars->Guser_prop_mutex) #define PL_Guser_prop_mutex (my_vars->Guser_prop_mutex) -#define PL_utf8_charname_begin (my_vars->Gutf8_charname_begin) -#define PL_Gutf8_charname_begin (my_vars->Gutf8_charname_begin) -#define PL_utf8_charname_continue (my_vars->Gutf8_charname_continue) -#define PL_Gutf8_charname_continue (my_vars->Gutf8_charname_continue) -#define PL_utf8_foldclosures (my_vars->Gutf8_foldclosures) -#define PL_Gutf8_foldclosures (my_vars->Gutf8_foldclosures) -#define PL_utf8_idcont (my_vars->Gutf8_idcont) -#define PL_Gutf8_idcont (my_vars->Gutf8_idcont) -#define PL_utf8_idstart (my_vars->Gutf8_idstart) -#define PL_Gutf8_idstart (my_vars->Gutf8_idstart) -#define PL_utf8_mark (my_vars->Gutf8_mark) -#define PL_Gutf8_mark (my_vars->Gutf8_mark) -#define PL_utf8_perl_idcont (my_vars->Gutf8_perl_idcont) -#define PL_Gutf8_perl_idcont (my_vars->Gutf8_perl_idcont) -#define PL_utf8_perl_idstart (my_vars->Gutf8_perl_idstart) -#define PL_Gutf8_perl_idstart (my_vars->Gutf8_perl_idstart) -#define PL_utf8_tofold (my_vars->Gutf8_tofold) -#define PL_Gutf8_tofold (my_vars->Gutf8_tofold) -#define PL_utf8_tolower (my_vars->Gutf8_tolower) -#define PL_Gutf8_tolower (my_vars->Gutf8_tolower) -#define PL_utf8_tosimplefold (my_vars->Gutf8_tosimplefold) -#define PL_Gutf8_tosimplefold (my_vars->Gutf8_tosimplefold) -#define PL_utf8_totitle (my_vars->Gutf8_totitle) -#define PL_Gutf8_totitle (my_vars->Gutf8_totitle) -#define PL_utf8_toupper (my_vars->Gutf8_toupper) -#define PL_Gutf8_toupper (my_vars->Gutf8_toupper) -#define PL_utf8_xidcont (my_vars->Gutf8_xidcont) -#define PL_Gutf8_xidcont (my_vars->Gutf8_xidcont) -#define PL_utf8_xidstart (my_vars->Gutf8_xidstart) -#define PL_Gutf8_xidstart (my_vars->Gutf8_xidstart) #define PL_veto_cleanup (my_vars->Gveto_cleanup) #define PL_Gveto_cleanup (my_vars->Gveto_cleanup) #define PL_watch_pvx (my_vars->Gwatch_pvx) diff --git a/Master/tlpkg/tlperl/lib/CORE/feature.h b/Master/tlpkg/tlperl/lib/CORE/feature.h index 3877e16efe7..2f2f23c4da7 100644 --- a/Master/tlpkg/tlperl/lib/CORE/feature.h +++ b/Master/tlpkg/tlperl/lib/CORE/feature.h @@ -12,6 +12,22 @@ #define HINT_FEATURE_SHIFT 26 +#define FEATURE_BITWISE_BIT 0x0001 +#define FEATURE___SUB___BIT 0x0002 +#define FEATURE_MYREF_BIT 0x0004 +#define FEATURE_EVALBYTES_BIT 0x0008 +#define FEATURE_FC_BIT 0x0010 +#define FEATURE_INDIRECT_BIT 0x0020 +#define FEATURE_ISA_BIT 0x0040 +#define FEATURE_POSTDEREF_QQ_BIT 0x0080 +#define FEATURE_REFALIASING_BIT 0x0100 +#define FEATURE_SAY_BIT 0x0200 +#define FEATURE_SIGNATURES_BIT 0x0400 +#define FEATURE_STATE_BIT 0x0800 +#define FEATURE_SWITCH_BIT 0x1000 +#define FEATURE_UNIEVAL_BIT 0x2000 +#define FEATURE_UNICODE_BIT 0x4000 + #define FEATURE_BUNDLE_DEFAULT 0 #define FEATURE_BUNDLE_510 1 #define FEATURE_BUNDLE_511 2 @@ -25,12 +41,10 @@ #define CURRENT_FEATURE_BUNDLE \ ((CURRENT_HINTS & HINT_FEATURE_MASK) >> HINT_FEATURE_SHIFT) -/* Avoid using ... && Perl_feature_is_enabled(...) as that triggers a bug in - the HP-UX cc on PA-RISC */ -#define FEATURE_IS_ENABLED(name) \ - ((CURRENT_HINTS \ - & HINT_LOCALIZE_HH) \ - ? Perl_feature_is_enabled(aTHX_ STR_WITH_LEN(name)) : FALSE) +#define FEATURE_IS_ENABLED_MASK(mask) \ + ((CURRENT_HINTS & HINT_LOCALIZE_HH) \ + ? (PL_curcop->cop_features & (mask)) : FALSE) + /* The longest string we pass in. */ #define MAX_FEATURE_LEN (sizeof("postderef_qq")-1) @@ -39,7 +53,13 @@ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_515 && \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ - FEATURE_IS_ENABLED("fc")) \ + FEATURE_IS_ENABLED_MASK(FEATURE_FC_BIT)) \ + ) + +#define FEATURE_ISA_IS_ENABLED \ + ( \ + CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ + FEATURE_IS_ENABLED_MASK(FEATURE_ISA_BIT) \ ) #define FEATURE_SAY_IS_ENABLED \ @@ -47,7 +67,7 @@ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_510 && \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ - FEATURE_IS_ENABLED("say")) \ + FEATURE_IS_ENABLED_MASK(FEATURE_SAY_BIT)) \ ) #define FEATURE_STATE_IS_ENABLED \ @@ -55,7 +75,7 @@ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_510 && \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ - FEATURE_IS_ENABLED("state")) \ + FEATURE_IS_ENABLED_MASK(FEATURE_STATE_BIT)) \ ) #define FEATURE_SWITCH_IS_ENABLED \ @@ -63,14 +83,21 @@ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_510 && \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ - FEATURE_IS_ENABLED("switch")) \ + FEATURE_IS_ENABLED_MASK(FEATURE_SWITCH_BIT)) \ ) #define FEATURE_BITWISE_IS_ENABLED \ ( \ CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_527 \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ - FEATURE_IS_ENABLED("bitwise")) \ + FEATURE_IS_ENABLED_MASK(FEATURE_BITWISE_BIT)) \ + ) + +#define FEATURE_INDIRECT_IS_ENABLED \ + ( \ + CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527 \ + || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ + FEATURE_IS_ENABLED_MASK(FEATURE_INDIRECT_BIT)) \ ) #define FEATURE_EVALBYTES_IS_ENABLED \ @@ -78,13 +105,13 @@ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_515 && \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ - FEATURE_IS_ENABLED("evalbytes")) \ + FEATURE_IS_ENABLED_MASK(FEATURE_EVALBYTES_BIT)) \ ) #define FEATURE_SIGNATURES_IS_ENABLED \ ( \ CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ - FEATURE_IS_ENABLED("signatures") \ + FEATURE_IS_ENABLED_MASK(FEATURE_SIGNATURES_BIT) \ ) #define FEATURE___SUB___IS_ENABLED \ @@ -92,13 +119,13 @@ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_515 && \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ - FEATURE_IS_ENABLED("__SUB__")) \ + FEATURE_IS_ENABLED_MASK(FEATURE___SUB___BIT)) \ ) #define FEATURE_REFALIASING_IS_ENABLED \ ( \ CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ - FEATURE_IS_ENABLED("refaliasing") \ + FEATURE_IS_ENABLED_MASK(FEATURE_REFALIASING_BIT) \ ) #define FEATURE_POSTDEREF_QQ_IS_ENABLED \ @@ -106,7 +133,7 @@ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_523 && \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ - FEATURE_IS_ENABLED("postderef_qq")) \ + FEATURE_IS_ENABLED_MASK(FEATURE_POSTDEREF_QQ_BIT)) \ ) #define FEATURE_UNIEVAL_IS_ENABLED \ @@ -114,13 +141,13 @@ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_515 && \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ - FEATURE_IS_ENABLED("unieval")) \ + FEATURE_IS_ENABLED_MASK(FEATURE_UNIEVAL_BIT)) \ ) #define FEATURE_MYREF_IS_ENABLED \ ( \ CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ - FEATURE_IS_ENABLED("myref") \ + FEATURE_IS_ENABLED_MASK(FEATURE_MYREF_BIT) \ ) #define FEATURE_UNICODE_IS_ENABLED \ @@ -128,10 +155,23 @@ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_511 && \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ - FEATURE_IS_ENABLED("unicode")) \ + FEATURE_IS_ENABLED_MASK(FEATURE_UNICODE_BIT)) \ ) +#define SAVEFEATUREBITS() SAVEI32(PL_compiling.cop_features) + +#define CLEARFEATUREBITS() (PL_compiling.cop_features = 0) + +#define STOREFEATUREBITSHH(hh) \ + (hv_stores((hh), "feature/bits", newSVuv(PL_compiling.cop_features))) + +#define FETCHFEATUREBITSHH(hh) \ + STMT_START { \ + SV **fbsv = hv_fetchs((hh), "feature/bits", FALSE); \ + PL_compiling.cop_features = fbsv ? SvUV(*fbsv) : 0; \ + } STMT_END + #endif /* PERL_CORE or PERL_EXT */ #ifdef PERL_IN_OP_C @@ -165,6 +205,136 @@ S_enable_feature_bundle(pTHX_ SV *ver) } #endif /* PERL_IN_OP_C */ +#ifdef PERL_IN_MG_C + +#define magic_sethint_feature(keysv, keypv, keylen, valsv, valbool) \ + S_magic_sethint_feature(aTHX_ (keysv), (keypv), (keylen), (valsv), (valbool)) +PERL_STATIC_INLINE void +S_magic_sethint_feature(pTHX_ SV *keysv, const char *keypv, STRLEN keylen, + SV *valsv, bool valbool) { + if (keysv) + keypv = SvPV_const(keysv, keylen); + + if (memBEGINs(keypv, keylen, "feature_")) { + const char *subf = keypv + (sizeof("feature_")-1); + U32 mask = 0; + switch (*subf) { + case '_': + if (keylen == sizeof("feature___SUB__")-1 + && memcmp(subf+1, "_SUB__", keylen - sizeof("feature_")) == 0) { + mask = FEATURE___SUB___BIT; + break; + } + return; + + case 'b': + if (keylen == sizeof("feature_bitwise")-1 + && memcmp(subf+1, "itwise", keylen - sizeof("feature_")) == 0) { + mask = FEATURE_BITWISE_BIT; + break; + } + return; + + case 'e': + if (keylen == sizeof("feature_evalbytes")-1 + && memcmp(subf+1, "valbytes", keylen - sizeof("feature_")) == 0) { + mask = FEATURE_EVALBYTES_BIT; + break; + } + return; + + case 'f': + if (keylen == sizeof("feature_fc")-1 + && memcmp(subf+1, "c", keylen - sizeof("feature_")) == 0) { + mask = FEATURE_FC_BIT; + break; + } + return; + + case 'i': + if (keylen == sizeof("feature_indirect")-1 + && memcmp(subf+1, "ndirect", keylen - sizeof("feature_")) == 0) { + mask = FEATURE_INDIRECT_BIT; + break; + } + else if (keylen == sizeof("feature_isa")-1 + && memcmp(subf+1, "sa", keylen - sizeof("feature_")) == 0) { + mask = FEATURE_ISA_BIT; + break; + } + return; + + case 'm': + if (keylen == sizeof("feature_myref")-1 + && memcmp(subf+1, "yref", keylen - sizeof("feature_")) == 0) { + mask = FEATURE_MYREF_BIT; + break; + } + return; + + case 'p': + if (keylen == sizeof("feature_postderef_qq")-1 + && memcmp(subf+1, "ostderef_qq", keylen - sizeof("feature_")) == 0) { + mask = FEATURE_POSTDEREF_QQ_BIT; + break; + } + return; + + case 'r': + if (keylen == sizeof("feature_refaliasing")-1 + && memcmp(subf+1, "efaliasing", keylen - sizeof("feature_")) == 0) { + mask = FEATURE_REFALIASING_BIT; + break; + } + return; + + case 's': + if (keylen == sizeof("feature_say")-1 + && memcmp(subf+1, "ay", keylen - sizeof("feature_")) == 0) { + mask = FEATURE_SAY_BIT; + break; + } + else if (keylen == sizeof("feature_signatures")-1 + && memcmp(subf+1, "ignatures", keylen - sizeof("feature_")) == 0) { + mask = FEATURE_SIGNATURES_BIT; + break; + } + else if (keylen == sizeof("feature_state")-1 + && memcmp(subf+1, "tate", keylen - sizeof("feature_")) == 0) { + mask = FEATURE_STATE_BIT; + break; + } + else if (keylen == sizeof("feature_switch")-1 + && memcmp(subf+1, "witch", keylen - sizeof("feature_")) == 0) { + mask = FEATURE_SWITCH_BIT; + break; + } + return; + + case 'u': + if (keylen == sizeof("feature_unicode")-1 + && memcmp(subf+1, "nicode", keylen - sizeof("feature_")) == 0) { + mask = FEATURE_UNICODE_BIT; + break; + } + else if (keylen == sizeof("feature_unieval")-1 + && memcmp(subf+1, "nieval", keylen - sizeof("feature_")) == 0) { + mask = FEATURE_UNIEVAL_BIT; + break; + } + return; + + default: + return; + } + if (valsv ? SvTRUE(valsv) : valbool) + PL_compiling.cop_features |= mask; + else + PL_compiling.cop_features &= ~mask; + } +} +#endif /* PERL_IN_MG_C */ + #endif /* PERL_FEATURE_H_ */ /* ex: set ro: */ diff --git a/Master/tlpkg/tlperl/lib/CORE/handy.h b/Master/tlpkg/tlperl/lib/CORE/handy.h index 51f79efcf39..fd0866828c4 100644 --- a/Master/tlpkg/tlperl/lib/CORE/handy.h +++ b/Master/tlpkg/tlperl/lib/CORE/handy.h @@ -20,11 +20,11 @@ /* =head1 Handy Values -=for apidoc AmU||Nullch +=for apidoc AmnU||Nullch Null character pointer. (No longer available when C is defined.) -=for apidoc AmU||Nullsv +=for apidoc AmnU||Nullsv Null SV pointer. (No longer available when C is defined.) =cut @@ -97,10 +97,17 @@ Null SV pointer. (No longer available when C is defined.) # define HAS_BOOL 1 #endif -/* cast-to-bool. A simple (bool) cast may not do the right thing: if bool is - * defined as char for example, then the cast from int is - * implementation-defined (bool)!!(cbool) in a ternary triggers a bug in xlc on - * AIX */ +/* +=for apidoc Am|bool|cBOOL|bool expr + +Cast-to-bool. A simple S>> cast may not do the right thing: +if C is defined as C, for example, then the cast from C is +implementation-defined. + +C<(bool)!!(cbool)> in a ternary triggers a bug in xlc on AIX + +=cut +*/ #define cBOOL(cbool) ((cbool) ? (bool)1 : (bool)0) /* Try to figure out __func__ or __FUNCTION__ equivalent, if any. @@ -109,8 +116,7 @@ Null SV pointer. (No longer available when C is defined.) * XXX Similarly, a Configure probe for __FILE__ and __LINE__ is needed. */ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || (defined(__SUNPRO_C)) /* C99 or close enough. */ # define FUNCTION__ __func__ -#elif (defined(USING_MSVC6)) || /* MSVC6 has neither __func__ nor __FUNCTION and no good workarounds, either. */ \ - (defined(__DECC_VER)) /* Tru64 or VMS, and strict C89 being used, but not modern enough cc (in Tur64, -c99 not known, only -std1). */ +#elif (defined(__DECC_VER)) /* Tru64 or VMS, and strict C89 being used, but not modern enough cc (in Tur64, -c99 not known, only -std1). */ # define FUNCTION__ "" #else # define FUNCTION__ __FUNCTION__ /* Common extension. */ @@ -263,16 +269,22 @@ typedef U64TYPE U64; # define isPOWER_OF_2(n) ((n) && ((n) & ((n)-1)) == 0) #endif -/* This is a helper macro to avoid preprocessor issues, replaced by nothing - * unless under DEBUGGING, where it expands to an assert of its argument, - * followed by a comma (hence the comma operator). If we just used a straight - * assert(), we would get a comma with nothing before it when not DEBUGGING. - * - * We also use empty definition under Coverity since the __ASSERT__ - * checks often check for things that Really Cannot Happen, and Coverity - * detects that and gets all excited. */ +/* +=for apidoc Am|void|__ASSERT_|bool expr + +This is a helper macro to avoid preprocessor issues, replaced by nothing +unless under DEBUGGING, where it expands to an assert of its argument, +followed by a comma (hence the comma operator). If we just used a straight +assert(), we would get a comma with nothing before it when not DEBUGGING. + +=cut + +We also use empty definition under Coverity since the __ASSERT__ +checks often check for things that Really Cannot Happen, and Coverity +detects that and gets all excited. */ -#if defined(DEBUGGING) && !defined(__COVERITY__) +#if defined(DEBUGGING) && !defined(__COVERITY__) \ + && ! defined(PERL_SMALL_MACRO_BUFFER) # define __ASSERT_(statement) assert(statement), #else # define __ASSERT_(statement) @@ -281,76 +293,76 @@ typedef U64TYPE U64; /* =head1 SV Manipulation Functions -=for apidoc Ama|SV*|newSVpvs|"literal string" s +=for apidoc Ama|SV*|newSVpvs|"literal string" Like C, but takes a literal string instead of a string/length pair. -=for apidoc Ama|SV*|newSVpvs_flags|"literal string" s|U32 flags +=for apidoc Ama|SV*|newSVpvs_flags|"literal string"|U32 flags Like C, but takes a literal string instead of a string/length pair. -=for apidoc Ama|SV*|newSVpvs_share|"literal string" s +=for apidoc Ama|SV*|newSVpvs_share|"literal string" Like C, but takes a literal string instead of a string/length pair and omits the hash parameter. -=for apidoc Am|void|sv_catpvs_flags|SV* sv|"literal string" s|I32 flags +=for apidoc Am|void|sv_catpvs_flags|SV* sv|"literal string"|I32 flags Like C, but takes a literal string instead of a string/length pair. -=for apidoc Am|void|sv_catpvs_nomg|SV* sv|"literal string" s +=for apidoc Am|void|sv_catpvs_nomg|SV* sv|"literal string" Like C, but takes a literal string instead of a string/length pair. -=for apidoc Am|void|sv_catpvs|SV* sv|"literal string" s +=for apidoc Am|void|sv_catpvs|SV* sv|"literal string" Like C, but takes a literal string instead of a string/length pair. -=for apidoc Am|void|sv_catpvs_mg|SV* sv|"literal string" s +=for apidoc Am|void|sv_catpvs_mg|SV* sv|"literal string" Like C, but takes a literal string instead of a string/length pair. -=for apidoc Am|void|sv_setpvs|SV* sv|"literal string" s +=for apidoc Am|void|sv_setpvs|SV* sv|"literal string" Like C, but takes a literal string instead of a string/length pair. -=for apidoc Am|void|sv_setpvs_mg|SV* sv|"literal string" s +=for apidoc Am|void|sv_setpvs_mg|SV* sv|"literal string" Like C, but takes a literal string instead of a string/length pair. -=for apidoc Am|SV *|sv_setref_pvs|"literal string" s +=for apidoc Am|SV *|sv_setref_pvs|SV *const rv|const char *const classname|"literal string" Like C, but takes a literal string instead of a string/length pair. =head1 Memory Management -=for apidoc Ama|char*|savepvs|"literal string" s +=for apidoc Ama|char*|savepvs|"literal string" Like C, but takes a literal string instead of a string/length pair. -=for apidoc Ama|char*|savesharedpvs|"literal string" s +=for apidoc Ama|char*|savesharedpvs|"literal string" A version of C which allocates the duplicate string in memory which is shared between threads. =head1 GV Functions -=for apidoc Am|HV*|gv_stashpvs|"literal string" name|I32 create +=for apidoc Am|HV*|gv_stashpvs|"name"|I32 create Like C, but takes a literal string instead of a string/length pair. =head1 Hash Manipulation Functions -=for apidoc Am|SV**|hv_fetchs|HV* tb|"literal string" key|I32 lval +=for apidoc Am|SV**|hv_fetchs|HV* tb|"key"|I32 lval Like C, but takes a literal string instead of a string/length pair. -=for apidoc Am|SV**|hv_stores|HV* tb|"literal string" key|SV* val +=for apidoc Am|SV**|hv_stores|HV* tb|"key"|SV* val Like C, but takes a literal string instead of a string/length pair and omits the hash parameter. =head1 Lexer interface -=for apidoc Amx|void|lex_stuff_pvs|"literal string" pv|U32 flags +=for apidoc Amx|void|lex_stuff_pvs|"pv"|U32 flags Like L, but takes a literal string instead of a string/length pair. @@ -358,14 +370,22 @@ a string/length pair. =cut */ -/* concatenating with "" ensures that only literal strings are accepted as - * argument */ -#define STR_WITH_LEN(s) ("" s ""), (sizeof(s)-1) +/* +=head1 Handy Values + +=for apidoc Amu|pair|STR_WITH_LEN|"literal string" + +Returns two comma separated tokens of the input literal string, and its length. +This is convenience macro which helps out in some API calls. +Note that it can't be used as an argument to macros or functions that under +some configurations might be macros, which means that it requires the full +Perl_xxx(aTHX_ ...) form for any API calls where it's used. + +=cut +*/ -/* note that STR_WITH_LEN() can't be used as argument to macros or functions - * that under some configurations might be macros, which means that it requires - * the full Perl_xxx(aTHX_ ...) form for any API calls where it's used. - */ + +#define STR_WITH_LEN(s) ("" s ""), (sizeof(s)-1) /* STR_WITH_LEN() shortcuts */ #define newSVpvs(str) Perl_newSVpvn(aTHX_ STR_WITH_LEN(str)) @@ -443,11 +463,28 @@ Test two buffers (which may contain embedded C characters, to see if they are equal. The C parameter indicates the number of bytes to compare. Returns zero if equal, or non-zero if non-equal. +=for apidoc Am|bool|memEQs|char* s1|STRLEN l1|"s2" +Like L, but the second string is a literal enclosed in double quotes, +C gives the number of bytes in C. +Returns zero if equal, or non-zero if non-equal. + =for apidoc Am|bool|memNE|char* s1|char* s2|STRLEN len Test two buffers (which may contain embedded C characters, to see if they are not equal. The C parameter indicates the number of bytes to compare. Returns zero if non-equal, or non-zero if equal. +=for apidoc Am|bool|memNEs|char* s1|STRLEN l1|"s2" +Like L, but the second string is a literal enclosed in double quotes, +C gives the number of bytes in C. +Returns zero if non-equal, or zero if non-equal. + +=for apidoc Am|bool|memCHRs|"list"|char c +Returns the position of the first occurence of the byte C in the literal +string C<"list">, or NULL if C doesn't appear in C<"list">. All bytes are +treated as unsigned char. Thus this macro can be used to determine if C is +in a set of particular characters. Unlike L, it works even if C +is C (and the set doesn't include C). + =cut New macros should use the following conventions for their names (which are @@ -467,7 +504,7 @@ based on the underlying C library functions): length may be unknown, but can be calculated by C, since it is terminated by a NUL, which isn't included in its length. - The optional 'n' following 'str' means that that there is a third parameter, + The optional 'n' following 'str' means that there is a third parameter, giving the maximum number of bytes to look at in each string. Even if both strings are longer than the length parameter, those extra bytes will be unexamined. @@ -539,6 +576,8 @@ based on the underlying C library functions): #define memGT(s1,s2,l) (memcmp(s1,s2,l) > 0) #define memGE(s1,s2,l) (memcmp(s1,s2,l) >= 0) +#define memCHRs(s1,c) ((const char *) memchr("" s1 "" , c, sizeof(s1)-1)) + /* * Character classes. * @@ -569,9 +608,9 @@ each class. (Not all macros have all variants; each item below lists the ones valid for it.) None are affected by C, and only the ones with C in the name are affected by the current locale. -The base function, e.g., C, takes an octet (either a C or a -C) as input and returns a boolean as to whether or not the character -represented by that octet is (or on non-ASCII platforms, corresponds to) an +The base function, e.g., C, takes any signed or unsigned value, +treating it as a code point, and returns a boolean as to whether or not the +character represented by it is (or on non-ASCII platforms, corresponds to) an ASCII character in the named class based on platform, Unicode, and Perl rules. If the input is a number that doesn't fit in an octet, FALSE is returned. @@ -585,97 +624,109 @@ since ASCII is a subset of Latin-1. But the non-ASCII code points are treated as if they are Latin-1 characters. For example, C will return true when called with the code point 0xDF, which is a word character in both ASCII and EBCDIC (though it represents different characters in each). +If the input is a number that doesn't fit in an octet, FALSE is returned. +(Perl's documentation uses a colloquial definition of Latin-1, to include all +code points below 256.) -Variant C_uvchr> is like the C_L1> variant, but accepts any UV code -point as input. If the code point is larger than 255, Unicode rules are used -to determine if it is in the character class. For example, +Variant C_uvchr> is exactly like the C_L1> variant, for +inputs below 256, but if the code point is larger than 255, Unicode rules are +used to determine if it is in the character class. For example, C returns TRUE, since 0x100 is LATIN CAPITAL LETTER A WITH MACRON in Unicode, and is a word character. -Variant C_utf8_safe> is like C_uvchr>, but is used for UTF-8 -encoded strings. Each call classifies one character, even if the string -contains many. This variant takes two parameters. The first, C

, is a -pointer to the first byte of the character to be classified. (Recall that it -may take more than one byte to represent a character in UTF-8 strings.) The -second parameter, C, points to anywhere in the string beyond the first -character, up to one byte past the end of the entire string. The suffix -C<_safe> in the function's name indicates that it will not attempt to read -beyond S>, provided that the constraint S e>> is true (this -is asserted for in C<-DDEBUGGING> builds). If the UTF-8 for the input -character is malformed in some way, the program may croak, or the function may -return FALSE, at the discretion of the implementation, and subject to change in -future releases. - -Variant C_utf8> is like C_utf8_safe>, but takes just a single -parameter, C

, which has the same meaning as the corresponding parameter does -in C_utf8_safe>. The function therefore can't check if it is reading -beyond the end of the string. Starting in Perl v5.30, it will take a second -parameter, becoming a synonym for C_utf8_safe>. At that time every -program that uses it will have to be changed to successfully compile. In the -meantime, the first runtime call to C_utf8> from each call point in the -program will raise a deprecation warning, enabled by default. You can convert -your program now to use C_utf8_safe>, and avoid the warnings, and get an -extra measure of protection, or you can wait until v5.30, when you'll be forced -to add the C parameter. - -Variant C_LC> is like the C_A> and C_L1> variants, but the -result is based on the current locale, which is what C in the name stands -for. If Perl can determine that the current locale is a UTF-8 locale, it uses -the published Unicode rules; otherwise, it uses the C library function that -gives the named classification. For example, C when not in a -UTF-8 locale returns the result of calling C. FALSE is always +Variants C_utf8> and C_utf8_safe> are like C_uvchr>, +but are used for UTF-8 encoded strings. The two forms are different names for +the same thing. Each call to one of these classifies the first character of +the string starting at C

. The second parameter, C, points to anywhere in +the string beyond the first character, up to one byte past the end of the +entire string. Although both variants are identical, the suffix C<_safe> in +one name emphasizes that it will not attempt to read beyond S>, +provided that the constraint S e>> is true (this is asserted for in +C<-DDEBUGGING> builds). If the UTF-8 for the input character is malformed in +some way, the program may croak, or the function may return FALSE, at the +discretion of the implementation, and subject to change in future releases. + +Variant C_LC> is like the C_A> and C_L1> variants, +but the result is based on the current locale, which is what C in the name +stands for. If Perl can determine that the current locale is a UTF-8 locale, +it uses the published Unicode rules; otherwise, it uses the C library function +that gives the named classification. For example, C when not in +a UTF-8 locale returns the result of calling C. FALSE is always returned if the input won't fit into an octet. On some platforms where the C library function is known to be defective, Perl changes its result to follow the POSIX standard's rules. -Variant C_LC_uvchr> is like C_LC>, but is defined on any UV. It -returns the same as C_LC> for input code points less than 256, and -returns the hard-coded, not-affected-by-locale, Unicode results for larger ones. - -Variant C_LC_utf8_safe> is like C_LC_uvchr>, but is used for UTF-8 -encoded strings. Each call classifies one character, even if the string -contains many. This variant takes two parameters. The first, C

, is a -pointer to the first byte of the character to be classified. (Recall that it -may take more than one byte to represent a character in UTF-8 strings.) The -second parameter, C, points to anywhere in the string beyond the first -character, up to one byte past the end of the entire string. The suffix -C<_safe> in the function's name indicates that it will not attempt to read +Variant C_LC_uvchr> acts exactly like C_LC> for inputs less +than 256, but for larger ones it returns the Unicode classification of the code +point. + +Variants C_LC_utf8> and C_LC_utf8_safe> are like +C_LC_uvchr>, but are used for UTF-8 encoded strings. The two forms +are different names for the same thing. Each call to one of these classifies +the first character of the string starting at C

. The second parameter, +C, points to anywhere in the string beyond the first character, up to one +byte past the end of the entire string. Although both variants are identical, +the suffix C<_safe> in one name emphasizes that it will not attempt to read beyond S>, provided that the constraint S e>> is true (this is asserted for in C<-DDEBUGGING> builds). If the UTF-8 for the input character is malformed in some way, the program may croak, or the function may return FALSE, at the discretion of the implementation, and subject to change in future releases. -Variant C_LC_utf8> is like C_LC_utf8_safe>, but takes just a single -parameter, C

, which has the same meaning as the corresponding parameter does -in C_LC_utf8_safe>. The function therefore can't check if it is reading -beyond the end of the string. Starting in Perl v5.30, it will take a second -parameter, becoming a synonym for C_LC_utf8_safe>. At that time every -program that uses it will have to be changed to successfully compile. In the -meantime, the first runtime call to C_LC_utf8> from each call point in -the program will raise a deprecation warning, enabled by default. You can -convert your program now to use C_LC_utf8_safe>, and avoid the warnings, -and get an extra measure of protection, or you can wait until v5.30, when -you'll be forced to add the C parameter. - -=for apidoc Am|bool|isALPHA|char ch -Returns a boolean indicating whether the specified character is an -alphabetic character, analogous to C. +=for apidoc Am|bool|isALPHA|int ch +Returns a boolean indicating whether the specified input is one of C<[A-Za-z]>, +analogous to C. See the L for an explanation of variants -C, C, C, C, -C, C, and C. +C, C, C, C, +C, C, C, C, +and C. -=for apidoc Am|bool|isALPHANUMERIC|char ch -Returns a boolean indicating whether the specified character is a either an -alphabetic character or decimal digit, analogous to C. +=cut + +Here and below, we add the protoypes of these macros for downstream programs +that would be interested in them, such as Devel::PPPort + +=for apidoc Amh|bool|isALPHA_A|int ch +=for apidoc Amh|bool|isALPHA_L1|int ch +=for apidoc Amh|bool|isALPHA_uvchr|int ch +=for apidoc Amh|bool|isALPHA_utf8_safe|U8 * s|U8 * end +=for apidoc Amh|bool|isALPHA_utf8|U8 * s|U8 * end +=for apidoc Amh|bool|isALPHA_LC|int ch +=for apidoc Amh|bool|isALPHA_LC_uvchr|int ch +=for apidoc Amh|bool|isALPHA_LC_utf8_safe|U8 * s| U8 *end + +=for apidoc Am|bool|isALPHANUMERIC|int ch +Returns a boolean indicating whether the specified character is one of +C<[A-Za-z0-9]>, analogous to C. See the L for an explanation of variants C, C, C, -C, C, C, -and C. - -=for apidoc Am|bool|isASCII|char ch +C, C, C, +C, C, and +C. + +A (discouraged from use) synonym is C (where the C suffix means +this corresponds to the C language alphanumeric definition). Also +there are the variants +C, C +C, and C. + +=for apidoc Amh|bool|isALPHANUMERIC_A|int ch +=for apidoc Amh|bool|isALPHANUMERIC_L1|int ch +=for apidoc Amh|bool|isALPHANUMERIC_uvchr|int ch +=for apidoc Amh|bool|isALPHANUMERIC_utf8_safe|U8 * s|U8 * end +=for apidoc Amh|bool|isALPHANUMERIC_utf8|U8 * s|U8 * end +=for apidoc Amh|bool|isALPHANUMERIC_LC|int ch +=for apidoc Amh|bool|isALPHANUMERIC_LC_uvchr|int ch +=for apidoc Amh|bool|isALPHANUMERIC_LC_utf8_safe|U8 * s| U8 *end +=for apidoc Amh|bool|isALNUMC|int ch +=for apidoc Amh|bool|isALNUMC_A|int ch +=for apidoc Amh|bool|isALNUMC_L1|int ch +=for apidoc Amh|bool|isALNUMC_LC|int ch +=for apidoc Amh|bool|isALNUMC_LC_uvchr|int ch + +=for apidoc Am|bool|isASCII|int ch Returns a boolean indicating whether the specified character is one of the 128 characters in the ASCII character set, analogous to C. On non-ASCII platforms, it returns TRUE iff this @@ -683,60 +734,119 @@ character corresponds to an ASCII character. Variants C and C are identical to C. See the L for an explanation of variants -C, C, C, C, and -C. Note, however, that some platforms do not have the C -library routine C. In these cases, the variants whose names contain -C are the same as the corresponding ones without. +C, C, C, C, +C, C, and C. +Note, however, that some platforms do not have the C library routine +C. In these cases, the variants whose names contain C are the +same as the corresponding ones without. + +=for apidoc Amh|bool|isASCII_A|int ch +=for apidoc Amh|bool|isASCII_L1|int ch +=for apidoc Amh|bool|isASCII_uvchr|int ch +=for apidoc Amh|bool|isASCII_utf8_safe|U8 * s|U8 * end +=for apidoc Amh|bool|isASCII_utf8|U8 * s|U8 * end +=for apidoc Amh|bool|isASCII_LC|int ch +=for apidoc Amh|bool|isASCII_LC_uvchr|int ch +=for apidoc Amh|bool|isASCII_LC_utf8_safe|U8 * s| U8 *end Also note, that because all ASCII characters are UTF-8 invariant (meaning they have the exact same representation (always a single byte) whether encoded in UTF-8 or not), C will give the correct results when called with any -byte in any string encoded or not in UTF-8. And similarly C -will work properly on any string encoded or not in UTF-8. +byte in any string encoded or not in UTF-8. And similarly C and +C will work properly on any string encoded or not in UTF-8. =for apidoc Am|bool|isBLANK|char ch Returns a boolean indicating whether the specified character is a character considered to be a blank, analogous to C. See the L for an explanation of variants -C, C, C, C, -C, C, and C. Note, +C, C, C, C, +C, C, C, C, +and C. Note, however, that some platforms do not have the C library routine C. In these cases, the variants whose names contain C are the same as the corresponding ones without. +=for apidoc Amh|bool|isBLANK_A|int ch +=for apidoc Amh|bool|isBLANK_L1|int ch +=for apidoc Amh|bool|isBLANK_uvchr|int ch +=for apidoc Amh|bool|isBLANK_utf8_safe|U8 * s|U8 * end +=for apidoc Amh|bool|isBLANK_utf8|U8 * s|U8 * end +=for apidoc Amh|bool|isBLANK_LC|int ch +=for apidoc Amh|bool|isBLANK_LC_uvchr|int ch +=for apidoc Amh|bool|isBLANK_LC_utf8_safe|U8 * s| U8 *end + =for apidoc Am|bool|isCNTRL|char ch Returns a boolean indicating whether the specified character is a control character, analogous to C. See the L for an explanation of variants -C, C, C, C, -C, C, and C On EBCDIC +C, C, C, C, +C, C, C, C +and C. On EBCDIC platforms, you almost always want to use the C variant. +=for apidoc Amh|bool|isCNTRL_A|int ch +=for apidoc Amh|bool|isCNTRL_L1|int ch +=for apidoc Amh|bool|isCNTRL_uvchr|int ch +=for apidoc Amh|bool|isCNTRL_utf8_safe|U8 * s|U8 * end +=for apidoc Amh|bool|isCNTRL_utf8|U8 * s|U8 * end +=for apidoc Amh|bool|isCNTRL_LC|int ch +=for apidoc Amh|bool|isCNTRL_LC_uvchr|int ch +=for apidoc Amh|bool|isCNTRL_LC_utf8_safe|U8 * s| U8 *end + =for apidoc Am|bool|isDIGIT|char ch Returns a boolean indicating whether the specified character is a digit, analogous to C. Variants C and C are identical to C. See the L for an explanation of variants -C, C, C, C, and -C. +C, C, C, C, +C, C, and C. + +=for apidoc Amh|bool|isDIGIT_A|int ch +=for apidoc Amh|bool|isDIGIT_L1|int ch +=for apidoc Amh|bool|isDIGIT_uvchr|int ch +=for apidoc Amh|bool|isDIGIT_utf8_safe|U8 * s|U8 * end +=for apidoc Amh|bool|isDIGIT_utf8|U8 * s|U8 * end +=for apidoc Amh|bool|isDIGIT_LC|int ch +=for apidoc Amh|bool|isDIGIT_LC_uvchr|int ch +=for apidoc Amh|bool|isDIGIT_LC_utf8_safe|U8 * s| U8 *end =for apidoc Am|bool|isGRAPH|char ch Returns a boolean indicating whether the specified character is a graphic character, analogous to C. See the L for an explanation of -variants C, C, C, C, -C, C, and C. +variants C, C, C, C, +C, C, C, +C, and C. + +=for apidoc Amh|bool|isGRAPH_A|int ch +=for apidoc Amh|bool|isGRAPH_L1|int ch +=for apidoc Amh|bool|isGRAPH_uvchr|int ch +=for apidoc Amh|bool|isGRAPH_utf8_safe|U8 * s|U8 * end +=for apidoc Amh|bool|isGRAPH_utf8|U8 * s|U8 * end +=for apidoc Amh|bool|isGRAPH_LC|int ch +=for apidoc Amh|bool|isGRAPH_LC_uvchr|int ch +=for apidoc Amh|bool|isGRAPH_LC_utf8_safe|U8 * s| U8 *end =for apidoc Am|bool|isLOWER|char ch Returns a boolean indicating whether the specified character is a lowercase character, analogous to C. See the L for an explanation of variants -C, C, C, C, -C, C, and C. +C, C, C, C, +C, C, C, C, +and C. + +=for apidoc Amh|bool|isLOWER_A|int ch +=for apidoc Amh|bool|isLOWER_L1|int ch +=for apidoc Amh|bool|isLOWER_uvchr|int ch +=for apidoc Amh|bool|isLOWER_utf8_safe|U8 * s|U8 * end +=for apidoc Amh|bool|isLOWER_utf8|U8 * s|U8 * end +=for apidoc Amh|bool|isLOWER_LC|int ch +=for apidoc Amh|bool|isLOWER_LC_uvchr|int ch +=for apidoc Amh|bool|isLOWER_LC_utf8_safe|U8 * s| U8 *end =for apidoc Am|bool|isOCTAL|char ch Returns a boolean indicating whether the specified character is an @@ -744,6 +854,9 @@ octal digit, [0-7]. The only two variants are C and C; each is identical to C. +=for apidoc Amh|bool|isOCTAL_A|int ch +=for apidoc Amh|bool|isOCTAL_L1|int ch + =for apidoc Am|bool|isPUNCT|char ch Returns a boolean indicating whether the specified character is a punctuation character, analogous to C. @@ -751,8 +864,18 @@ Note that the definition of what is punctuation isn't as straightforward as one might desire. See L for details. See the L for an explanation of -variants C, C, C, C, -C, C, and C. +variants C, C, C, C, +C, C, C, C, +and C. + +=for apidoc Amh|bool|isPUNCT_A|int ch +=for apidoc Amh|bool|isPUNCT_L1|int ch +=for apidoc Amh|bool|isPUNCT_uvchr|int ch +=for apidoc Amh|bool|isPUNCT_utf8_safe|U8 * s|U8 * end +=for apidoc Amh|bool|isPUNCT_utf8|U8 * s|U8 * end +=for apidoc Amh|bool|isPUNCT_LC|int ch +=for apidoc Amh|bool|isPUNCT_LC_uvchr|int ch +=for apidoc Amh|bool|isPUNCT_LC_utf8_safe|U8 * s| U8 *end =for apidoc Am|bool|isSPACE|char ch Returns a boolean indicating whether the specified character is a @@ -765,8 +888,18 @@ in the non-locale variants, was that C did not match a vertical tab. (See L for a macro that matches a vertical tab in all releases.) See the L for an explanation of variants -C, C, C, C, -C, C, and C. +C, C, C, C, +C, C, C, C, +and C. + +=for apidoc Amh|bool|isSPACE_A|int ch +=for apidoc Amh|bool|isSPACE_L1|int ch +=for apidoc Amh|bool|isSPACE_uvchr|int ch +=for apidoc Amh|bool|isSPACE_utf8_safe|U8 * s|U8 * end +=for apidoc Amh|bool|isSPACE_utf8|U8 * s|U8 * end +=for apidoc Amh|bool|isSPACE_LC|int ch +=for apidoc Amh|bool|isSPACE_LC_uvchr|int ch +=for apidoc Amh|bool|isSPACE_LC_utf8_safe|U8 * s| U8 *end =for apidoc Am|bool|isPSXSPC|char ch (short for Posix Space) @@ -779,23 +912,53 @@ C forms don't match a Vertical Tab, and the C forms do. Otherwise they are identical. Thus this macro is analogous to what C matches in a regular expression. See the L for an explanation of -variants C, C, C, C, -C, C, and C. +variants C, C, C, C, +C, C, C, +C, and C. + +=for apidoc Amh|bool|isPSXSPC_A|int ch +=for apidoc Amh|bool|isPSXSPC_L1|int ch +=for apidoc Amh|bool|isPSXSPC_uvchr|int ch +=for apidoc Amh|bool|isPSXSPC_utf8_safe|U8 * s|U8 * end +=for apidoc Amh|bool|isPSXSPC_utf8|U8 * s|U8 * end +=for apidoc Amh|bool|isPSXSPC_LC|int ch +=for apidoc Amh|bool|isPSXSPC_LC_uvchr|int ch +=for apidoc Amh|bool|isPSXSPC_LC_utf8_safe|U8 * s| U8 *end =for apidoc Am|bool|isUPPER|char ch Returns a boolean indicating whether the specified character is an uppercase character, analogous to C. See the L for an explanation of -variants C, C, C, C, -C, C, and C. +variants C, C, C, C, +C, C, C, C, +and C. + +=for apidoc Amh|bool|isUPPER_A|int ch +=for apidoc Amh|bool|isUPPER_L1|int ch +=for apidoc Amh|bool|isUPPER_uvchr|int ch +=for apidoc Amh|bool|isUPPER_utf8_safe|U8 * s|U8 * end +=for apidoc Amh|bool|isUPPER_utf8|U8 * s|U8 * end +=for apidoc Amh|bool|isUPPER_LC|int ch +=for apidoc Amh|bool|isUPPER_LC_uvchr|int ch +=for apidoc Amh|bool|isUPPER_LC_utf8_safe|U8 * s| U8 *end =for apidoc Am|bool|isPRINT|char ch Returns a boolean indicating whether the specified character is a printable character, analogous to C. See the L for an explanation of variants -C, C, C, C, -C, C, and C. +C, C, C, C, +C, C, C, C, +and C. + +=for apidoc Amh|bool|isPRINT_A|int ch +=for apidoc Amh|bool|isPRINT_L1|int ch +=for apidoc Amh|bool|isPRINT_uvchr|int ch +=for apidoc Amh|bool|isPRINT_utf8_safe|U8 * s|U8 * end +=for apidoc Amh|bool|isPRINT_utf8|U8 * s|U8 * end +=for apidoc Amh|bool|isPRINT_LC|int ch +=for apidoc Amh|bool|isPRINT_LC_uvchr|int ch +=for apidoc Amh|bool|isPRINT_LC_utf8_safe|U8 * s| U8 *end =for apidoc Am|bool|isWORDCHAR|char ch Returns a boolean indicating whether the specified character is a character @@ -807,10 +970,24 @@ C is a synonym provided for backward compatibility, even though a word character includes more than the standard C language meaning of alphanumeric. See the L for an explanation of -variants C, C, C, and -C. C, C, and -C are also as described there, but additionally -include the platform's native underscore. +variants C, C, C, +C, and C. C, +C, C, and C +are also as described there, but additionally include the platform's native +underscore. + +=for apidoc Amh|bool|isWORDCHAR_A|int ch +=for apidoc Amh|bool|isWORDCHAR_L1|int ch +=for apidoc Amh|bool|isWORDCHAR_uvchr|int ch +=for apidoc Amh|bool|isWORDCHAR_utf8_safe|U8 * s|U8 * end +=for apidoc Amh|bool|isWORDCHAR_utf8|U8 * s|U8 * end +=for apidoc Amh|bool|isWORDCHAR_LC|int ch +=for apidoc Amh|bool|isWORDCHAR_LC_uvchr|int ch +=for apidoc Amh|bool|isWORDCHAR_LC_utf8_safe|U8 * s| U8 *end +=for apidoc Amh|bool|isALNUM|int ch +=for apidoc Amh|bool|isALNUM_A|int ch +=for apidoc Amh|bool|isALNUM_LC|int ch +=for apidoc Amh|bool|isALNUM_LC_uvchr|int ch =for apidoc Am|bool|isXDIGIT|char ch Returns a boolean indicating whether the specified character is a hexadecimal @@ -818,8 +995,17 @@ digit. In the ASCII range these are C<[0-9A-Fa-f]>. Variants C and C are identical to C. See the L for an explanation of variants -C, C, C, C, -and C. +C, C, C, C, +C, C, and C. + +=for apidoc Amh|bool|isXDIGIT_A|int ch +=for apidoc Amh|bool|isXDIGIT_L1|int ch +=for apidoc Amh|bool|isXDIGIT_uvchr|int ch +=for apidoc Amh|bool|isXDIGIT_utf8_safe|U8 * s|U8 * end +=for apidoc Amh|bool|isXDIGIT_utf8|U8 * s|U8 * end +=for apidoc Amh|bool|isXDIGIT_LC|int ch +=for apidoc Amh|bool|isXDIGIT_LC_uvchr|int ch +=for apidoc Amh|bool|isXDIGIT_LC_utf8_safe|U8 * s| U8 *end =for apidoc Am|bool|isIDFIRST|char ch Returns a boolean indicating whether the specified character can be the first @@ -828,8 +1014,18 @@ the official Unicode property C. The difference is that this returns true only if the input character also matches L. See the L for an explanation of variants -C, C, C, C, -C, C, and C. +C, C, C, C, +C, C, C, +C, and C. + +=for apidoc Amh|bool|isIDFIRST_A|int ch +=for apidoc Amh|bool|isIDFIRST_L1|int ch +=for apidoc Amh|bool|isIDFIRST_uvchr|int ch +=for apidoc Amh|bool|isIDFIRST_utf8_safe|U8 * s|U8 * end +=for apidoc Amh|bool|isIDFIRST_utf8|U8 * s|U8 * end +=for apidoc Amh|bool|isIDFIRST_LC|int ch +=for apidoc Amh|bool|isIDFIRST_LC_uvchr|int ch +=for apidoc Amh|bool|isIDFIRST_LC_utf8_safe|U8 * s| U8 *end =for apidoc Am|bool|isIDCONT|char ch Returns a boolean indicating whether the specified character can be the @@ -837,10 +1033,18 @@ second or succeeding character of an identifier. This is very close to, but not quite the same as the official Unicode property C. The difference is that this returns true only if the input character also matches L. See the L for -an -explanation of variants C, C, C, -C, C, C, and -C. +an explanation of variants C, C, C, +C, C, C, C, +C, and C. + +=for apidoc Amh|bool|isIDCONT_A|int ch +=for apidoc Amh|bool|isIDCONT_L1|int ch +=for apidoc Amh|bool|isIDCONT_uvchr|int ch +=for apidoc Amh|bool|isIDCONT_utf8_safe|U8 * s|U8 * end +=for apidoc Amh|bool|isIDCONT_utf8|U8 * s|U8 * end +=for apidoc Amh|bool|isIDCONT_LC|int ch +=for apidoc Amh|bool|isIDCONT_LC_uvchr|int ch +=for apidoc Amh|bool|isIDCONT_LC_utf8_safe|U8 * s| U8 *end =head1 Miscellaneous Functions @@ -860,7 +1064,7 @@ an API that does allow every possible legal result to be returned.) Likewise no other function that is crippled by not being able to give the correct results for the full range of possible inputs has been implemented here. -=for apidoc Am|U8|toUPPER|U8 ch +=for apidoc Am|U8|toUPPER|int ch Converts the specified character to uppercase. If the input is anything but an ASCII lowercase character, that input character itself is returned. Variant C is equivalent. @@ -876,7 +1080,7 @@ The first code point of the uppercased version is returned (but note, as explained at L, that there may be more.) -=for apidoc Am|UV|toUPPER_utf8_safe|U8* p|U8* e|U8* s|STRLEN* lenp +=for apidoc Am|UV|toUPPER_utf8|U8* p|U8* e|U8* s|STRLEN* lenp Converts the first UTF-8 encoded character in the sequence starting at C

and extending no further than S> to its uppercase version, and stores that in UTF-8 in C, and its length in bytes in C. Note @@ -887,24 +1091,14 @@ The first code point of the uppercased version is returned (but note, as explained at L, that there may be more). -The suffix C<_safe> in the function's name indicates that it will not attempt -to read beyond S>, provided that the constraint S e>> is -true (this is asserted for in C<-DDEBUGGING> builds). If the UTF-8 for the -input character is malformed in some way, the program may croak, or the -function may return the REPLACEMENT CHARACTER, at the discretion of the -implementation, and subject to change in future releases. +It will not attempt to read beyond S>, provided that the constraint +S e>> is true (this is asserted for in C<-DDEBUGGING> builds). If +the UTF-8 for the input character is malformed in some way, the program may +croak, or the function may return the REPLACEMENT CHARACTER, at the discretion +of the implementation, and subject to change in future releases. -=for apidoc Am|UV|toUPPER_utf8|U8* p|U8* s|STRLEN* lenp -This is like C>, but doesn't have the C -parameter The function therefore can't check if it is reading -beyond the end of the string. Starting in Perl v5.30, it will take the C -parameter, becoming a synonym for C. At that time every -program that uses it will have to be changed to successfully compile. In the -meantime, the first runtime call to C from each call point in the -program will raise a deprecation warning, enabled by default. You can convert -your program now to use C, and avoid the warnings, and get an -extra measure of protection, or you can wait until v5.30, when you'll be forced -to add the C parameter. +=for apidoc Am|UV|toUPPER_utf8_safe|U8* p|U8* e|U8* s|STRLEN* lenp +Same as L. =for apidoc Am|U8|toFOLD|U8 ch Converts the specified character to foldcase. If the input is anything but an @@ -923,7 +1117,7 @@ The first code point of the foldcased version is returned (but note, as explained at L, that there may be more). -=for apidoc Am|UV|toFOLD_utf8_safe|U8* p|U8* e|U8* s|STRLEN* lenp +=for apidoc Am|UV|toFOLD_utf8|U8* p|U8* e|U8* s|STRLEN* lenp Converts the first UTF-8 encoded character in the sequence starting at C

and extending no further than S> to its foldcase version, and stores that in UTF-8 in C, and its length in bytes in C. Note @@ -934,24 +1128,15 @@ The first code point of the foldcased version is returned (but note, as explained at L, that there may be more). -The suffix C<_safe> in the function's name indicates that it will not attempt +It will not attempt to read beyond S>, provided that the constraint S e>> is true (this is asserted for in C<-DDEBUGGING> builds). If the UTF-8 for the input character is malformed in some way, the program may croak, or the function may return the REPLACEMENT CHARACTER, at the discretion of the implementation, and subject to change in future releases. -=for apidoc Am|UV|toFOLD_utf8|U8* p|U8* s|STRLEN* lenp -This is like C>, but doesn't have the C -parameter The function therefore can't check if it is reading -beyond the end of the string. Starting in Perl v5.30, it will take the C -parameter, becoming a synonym for C. At that time every -program that uses it will have to be changed to successfully compile. In the -meantime, the first runtime call to C from each call point in the -program will raise a deprecation warning, enabled by default. You can convert -your program now to use C, and avoid the warnings, and get an -extra measure of protection, or you can wait until v5.30, when you'll be forced -to add the C parameter. +=for apidoc Am|UV|toFOLD_utf8_safe|U8* p|U8* e|U8* s|STRLEN* lenp +Same as L. =for apidoc Am|U8|toLOWER|U8 ch Converts the specified character to lowercase. If the input is anything but an @@ -977,8 +1162,7 @@ The first code point of the lowercased version is returned (but note, as explained at L, that there may be more). - -=for apidoc Am|UV|toLOWER_utf8_safe|U8* p|U8* e|U8* s|STRLEN* lenp +=for apidoc Am|UV|toLOWER_utf8|U8* p|U8* e|U8* s|STRLEN* lenp Converts the first UTF-8 encoded character in the sequence starting at C

and extending no further than S> to its lowercase version, and stores that in UTF-8 in C, and its length in bytes in C. Note @@ -988,25 +1172,14 @@ bytes since the lowercase version may be longer than the original character. The first code point of the lowercased version is returned (but note, as explained at L, that there may be more). +It will not attempt to read beyond S>, provided that the constraint +S e>> is true (this is asserted for in C<-DDEBUGGING> builds). If +the UTF-8 for the input character is malformed in some way, the program may +croak, or the function may return the REPLACEMENT CHARACTER, at the discretion +of the implementation, and subject to change in future releases. -The suffix C<_safe> in the function's name indicates that it will not attempt -to read beyond S>, provided that the constraint S e>> is -true (this is asserted for in C<-DDEBUGGING> builds). If the UTF-8 for the -input character is malformed in some way, the program may croak, or the -function may return the REPLACEMENT CHARACTER, at the discretion of the -implementation, and subject to change in future releases. - -=for apidoc Am|UV|toLOWER_utf8|U8* p|U8* s|STRLEN* lenp -This is like C>, but doesn't have the C -parameter The function therefore can't check if it is reading -beyond the end of the string. Starting in Perl v5.30, it will take the C -parameter, becoming a synonym for C. At that time every -program that uses it will have to be changed to successfully compile. In the -meantime, the first runtime call to C from each call point in the -program will raise a deprecation warning, enabled by default. You can convert -your program now to use C, and avoid the warnings, and get an -extra measure of protection, or you can wait until v5.30, when you'll be forced -to add the C parameter. +=for apidoc Am|UV|toLOWER_utf8_safe|U8* p|U8* e|U8* s|STRLEN* lenp +Same as L. =for apidoc Am|U8|toTITLE|U8 ch Converts the specified character to titlecase. If the input is anything but an @@ -1026,7 +1199,7 @@ The first code point of the titlecased version is returned (but note, as explained at L, that there may be more). -=for apidoc Am|UV|toTITLE_utf8_safe|U8* p|U8* e|U8* s|STRLEN* lenp +=for apidoc Am|UV|toTITLE_utf8|U8* p|U8* e|U8* s|STRLEN* lenp Converts the first UTF-8 encoded character in the sequence starting at C

and extending no further than S> to its titlecase version, and stores that in UTF-8 in C, and its length in bytes in C. Note @@ -1037,24 +1210,15 @@ The first code point of the titlecased version is returned (but note, as explained at L, that there may be more). -The suffix C<_safe> in the function's name indicates that it will not attempt +It will not attempt to read beyond S>, provided that the constraint S e>> is true (this is asserted for in C<-DDEBUGGING> builds). If the UTF-8 for the input character is malformed in some way, the program may croak, or the function may return the REPLACEMENT CHARACTER, at the discretion of the implementation, and subject to change in future releases. -=for apidoc Am|UV|toTITLE_utf8|U8* p|U8* s|STRLEN* lenp -This is like C>, but doesn't have the C -parameter The function therefore can't check if it is reading -beyond the end of the string. Starting in Perl v5.30, it will take the C -parameter, becoming a synonym for C. At that time every -program that uses it will have to be changed to successfully compile. In the -meantime, the first runtime call to C from each call point in the -program will raise a deprecation warning, enabled by default. You can convert -your program now to use C, and avoid the warnings, and get an -extra measure of protection, or you can wait until v5.30, when you'll be forced -to add the C parameter. +=for apidoc Am|UV|toTITLE_utf8_safe|U8* p|U8* e|U8* s|STRLEN* lenp +Same as L. =cut @@ -1067,7 +1231,22 @@ patched there. The file as of this writing is cpan/Devel-PPPort/parts/inc/misc */ -/* Specify the widest unsigned type on the platform. */ +/* + void below because that's the best fit, and works for Devel::PPPort +=for apidoc AmnU|void|WIDEST_UTYPE + +Yields the widest unsigned integer type on the platform, currently either +C or C<64>. This can be used in declarations such as + + WIDEST_UTYPE my_uv; + +or casts + + my_uv = (WIDEST_UTYPE) val; + +=cut + +*/ #ifdef QUADKIND # define WIDEST_UTYPE U64 #else @@ -1094,27 +1273,23 @@ patched there. The file as of this writing is cpan/Devel-PPPort/parts/inc/misc #define FITS_IN_8_BITS(c) (1) #endif +/* Returns true if l <= c <= (l + n), where 'l' and 'n' are non-negative + * Written this way so that after optimization, only one conditional test is + * needed. (The NV casts stop any warnings about comparison always being true + * if called with an unsigned. The cast preserves the sign, which is all we + * care about.) */ +#define withinCOUNT(c, l, n) (__ASSERT_((NV) (l) >= 0) \ + __ASSERT_((NV) (n) >= 0) \ + (((WIDEST_UTYPE) (((c)) - ((l) | 0))) <= (((WIDEST_UTYPE) ((n) | 0))))) + /* Returns true if c is in the range l..u, where 'l' is non-negative * Written this way so that after optimization, only one conditional test is - * needed. - * - * This isn't fully general, except for the special cased 'signed char' (which - * should be resolved at compile time): It won't work if 'c' is negative, and - * 'l' is larger than the max for that signed type. Thus if 'c' is a negative - * int, and 'l' is larger than INT_MAX, it will fail. To protect agains this - * happening, there is an assert that will generate a warning if c is larger - * than e.g. INT_MAX if it is an 'unsigned int'. This could be a false - * positive, but khw couldn't figure out a way to make it better. It's good - * enough so far */ -#define inRANGE(c, l, u) (__ASSERT_((l) >= 0) __ASSERT_((u) >= (l)) \ - ((sizeof(c) == 1) \ - ? (((WIDEST_UTYPE) ((((U8) (c))|0) - (l))) <= ((WIDEST_UTYPE) ((u) - (l)))) \ - : (__ASSERT_( (((WIDEST_UTYPE) 1) << (CHARBITS * sizeof(c) - 1) & (c)) \ - /* sign bit of c is 0 */ == 0 \ - || (((~ ((WIDEST_UTYPE) 1) << ((CHARBITS * sizeof(c) - 1) - 1))\ - /* l not larger than largest value in c's signed type */ \ - & ~ ((WIDEST_UTYPE) 0)) & (l)) == 0) \ - ((WIDEST_UTYPE) (((c) - (l)) | 0) <= ((WIDEST_UTYPE) ((u) - (l))))))) + * needed. */ +#define inRANGE(c, l, u) (__ASSERT_((u) >= (l)) \ + ( (sizeof(c) == sizeof(U8)) ? withinCOUNT(((U8) (c)), (l), ((u) - (l))) \ + : (sizeof(c) == sizeof(U32)) ? withinCOUNT(((U32) (c)), (l), ((u) - (l))) \ + : (__ASSERT_(sizeof(c) == sizeof(WIDEST_UTYPE)) \ + withinCOUNT(((WIDEST_UTYPE) (c)), (l), ((u) - (l)))))) #ifdef EBCDIC # ifndef _ALL_SOURCE @@ -1173,9 +1348,6 @@ patched there. The file as of this writing is cpan/Devel-PPPort/parts/inc/misc # define _CC_GRAPH 8 /* [:graph:] */ # define _CC_CASED 9 /* [:lower:] or [:upper:] under /i */ # define _CC_SPACE 10 /* \s, [:space:] */ -# define _CC_PSXSPC _CC_SPACE /* XXX Temporary, can be removed - when the deprecated isFOO_utf8() - functions are removed */ # define _CC_BLANK 11 /* [:blank:] */ # define _CC_XDIGIT 12 /* [:xdigit:] */ # define _CC_CNTRL 13 /* [:cntrl:] */ @@ -1193,18 +1365,14 @@ patched there. The file as of this writing is cpan/Devel-PPPort/parts/inc/misc # define _CC_QUOTEMETA 20 # define _CC_NON_FINAL_FOLD 21 # define _CC_IS_IN_SOME_FOLD 22 -# define _CC_MNEMONIC_CNTRL 23 - -# define _CC_IDCONT 24 /* XXX Temporary, can be removed when the deprecated - isFOO_utf8() functions are removed */ +# define _CC_BINDIGIT 23 +# define _CC_OCTDIGIT 24 +# define _CC_MNEMONIC_CNTRL 25 /* 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 +# define _CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE 31 +/* Unused: 24-30 * 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 @@ -1329,8 +1497,11 @@ END_EXTERN_C _generic_isCC(c, _CC_NON_FINAL_FOLD) # define _IS_IN_SOME_FOLD_ONLY_FOR_USE_BY_REGCOMP_DOT_C(c) \ _generic_isCC(c, _CC_IS_IN_SOME_FOLD) -# define _IS_MNEMONIC_CNTRL_ONLY_FOR_USE_BY_REGCOMP_DOT_C(c) \ - _generic_isCC(c, _CC_MNEMONIC_CNTRL) + +/* is c a control character for which we have a mnemonic? */ +# if defined(PERL_CORE) || defined(PERL_EXT) +# define isMNEMONIC_CNTRL(c) _generic_isCC(c, _CC_MNEMONIC_CNTRL) +# endif #else /* else we don't have perl.h H_PERL */ /* If we don't have perl.h, we are compiling a utility program. Below we @@ -1383,7 +1554,7 @@ END_EXTERN_C || (c) == '\f' || (c) == '\n' || (c) == '\r' \ || (c) == '\t' || (c) == '\v' \ || inRANGE((c), 1, 3) /* SOH, STX, ETX */ \ - || (c) == 7 /* U+7F DEL */ \ + || (c) == 7F /* U+7F DEL */ \ || inRANGE((c), 0x0E, 0x13) /* SO SI DLE \ DC[1-3] */ \ || (c) == 0x18 /* U+18 CAN */ \ @@ -1717,8 +1888,8 @@ END_EXTERN_C * number defined earlier in this file. _generic_uvchr() is used for POSIX * classes where there is a macro or function 'above_latin1' that takes the * single argument 'c' and returns the desired value. These exist for those - * classes which have simple definitions, avoiding the overhead of a hash - * lookup or inversion list binary search. _generic_swash_uvchr() can be used + * classes which have simple definitions, avoiding the overhead of an inversion + * list binary search. _generic_invlist_uvchr() can be used * for classes where that overhead is faster than a direct lookup. * _generic_uvchr() won't compile if 'c' isn't unsigned, as it won't match the * 'above_latin1' prototype. _generic_isCC() macro does bounds checking, so @@ -1729,30 +1900,30 @@ END_EXTERN_C #define _generic_uvchr(classnum, above_latin1, c) ((c) < 256 \ ? _generic_isCC(c, classnum) \ : above_latin1(c)) -#define _generic_swash_uvchr(classnum, c) ((c) < 256 \ +#define _generic_invlist_uvchr(classnum, c) ((c) < 256 \ ? _generic_isCC(c, classnum) \ : _is_uni_FOO(classnum, c)) -#define isALPHA_uvchr(c) _generic_swash_uvchr(_CC_ALPHA, c) -#define isALPHANUMERIC_uvchr(c) _generic_swash_uvchr(_CC_ALPHANUMERIC, c) +#define isALPHA_uvchr(c) _generic_invlist_uvchr(_CC_ALPHA, c) +#define isALPHANUMERIC_uvchr(c) _generic_invlist_uvchr(_CC_ALPHANUMERIC, c) #define isASCII_uvchr(c) isASCII(c) #define isBLANK_uvchr(c) _generic_uvchr(_CC_BLANK, is_HORIZWS_cp_high, c) #define isCNTRL_uvchr(c) isCNTRL_L1(c) /* All controls are in Latin1 */ -#define isDIGIT_uvchr(c) _generic_swash_uvchr(_CC_DIGIT, c) -#define isGRAPH_uvchr(c) _generic_swash_uvchr(_CC_GRAPH, c) +#define isDIGIT_uvchr(c) _generic_invlist_uvchr(_CC_DIGIT, c) +#define isGRAPH_uvchr(c) _generic_invlist_uvchr(_CC_GRAPH, c) #define isIDCONT_uvchr(c) \ _generic_uvchr(_CC_WORDCHAR, _is_uni_perl_idcont, c) #define isIDFIRST_uvchr(c) \ _generic_uvchr(_CC_IDFIRST, _is_uni_perl_idstart, c) -#define isLOWER_uvchr(c) _generic_swash_uvchr(_CC_LOWER, c) -#define isPRINT_uvchr(c) _generic_swash_uvchr(_CC_PRINT, c) +#define isLOWER_uvchr(c) _generic_invlist_uvchr(_CC_LOWER, c) +#define isPRINT_uvchr(c) _generic_invlist_uvchr(_CC_PRINT, c) -#define isPUNCT_uvchr(c) _generic_swash_uvchr(_CC_PUNCT, c) +#define isPUNCT_uvchr(c) _generic_invlist_uvchr(_CC_PUNCT, c) #define isSPACE_uvchr(c) _generic_uvchr(_CC_SPACE, is_XPERLSPACE_cp_high, c) #define isPSXSPC_uvchr(c) isSPACE_uvchr(c) -#define isUPPER_uvchr(c) _generic_swash_uvchr(_CC_UPPER, c) +#define isUPPER_uvchr(c) _generic_invlist_uvchr(_CC_UPPER, c) #define isVERTWS_uvchr(c) _generic_uvchr(_CC_VERTSPACE, is_VERTWS_cp_high, c) -#define isWORDCHAR_uvchr(c) _generic_swash_uvchr(_CC_WORDCHAR, c) +#define isWORDCHAR_uvchr(c) _generic_invlist_uvchr(_CC_WORDCHAR, c) #define isXDIGIT_uvchr(c) _generic_uvchr(_CC_XDIGIT, is_XDIGIT_cp_high, c) #define toFOLD_uvchr(c,s,l) to_uni_fold(c,s,l) @@ -1792,52 +1963,36 @@ END_EXTERN_C * _generic_uvchr, so see it for more info. */ #define _generic_LC_uvchr(latin1, above_latin1, c) \ (c < 256 ? latin1(c) : above_latin1(c)) -#define _generic_LC_swash_uvchr(latin1, classnum, c) \ +#define _generic_LC_invlist_uvchr(latin1, classnum, c) \ (c < 256 ? latin1(c) : _is_uni_FOO(classnum, c)) -#define isALPHA_LC_uvchr(c) _generic_LC_swash_uvchr(isALPHA_LC, _CC_ALPHA, c) -#define isALPHANUMERIC_LC_uvchr(c) _generic_LC_swash_uvchr(isALPHANUMERIC_LC, \ +#define isALPHA_LC_uvchr(c) _generic_LC_invlist_uvchr(isALPHA_LC, _CC_ALPHA, c) +#define isALPHANUMERIC_LC_uvchr(c) _generic_LC_invlist_uvchr(isALPHANUMERIC_LC, \ _CC_ALPHANUMERIC, c) #define isASCII_LC_uvchr(c) isASCII_LC(c) #define isBLANK_LC_uvchr(c) _generic_LC_uvchr(isBLANK_LC, \ is_HORIZWS_cp_high, c) #define isCNTRL_LC_uvchr(c) (c < 256 ? isCNTRL_LC(c) : 0) -#define isDIGIT_LC_uvchr(c) _generic_LC_swash_uvchr(isDIGIT_LC, _CC_DIGIT, c) -#define isGRAPH_LC_uvchr(c) _generic_LC_swash_uvchr(isGRAPH_LC, _CC_GRAPH, c) +#define isDIGIT_LC_uvchr(c) _generic_LC_invlist_uvchr(isDIGIT_LC, _CC_DIGIT, c) +#define isGRAPH_LC_uvchr(c) _generic_LC_invlist_uvchr(isGRAPH_LC, _CC_GRAPH, c) #define isIDCONT_LC_uvchr(c) _generic_LC_uvchr(isIDCONT_LC, \ _is_uni_perl_idcont, c) #define isIDFIRST_LC_uvchr(c) _generic_LC_uvchr(isIDFIRST_LC, \ _is_uni_perl_idstart, c) -#define isLOWER_LC_uvchr(c) _generic_LC_swash_uvchr(isLOWER_LC, _CC_LOWER, c) -#define isPRINT_LC_uvchr(c) _generic_LC_swash_uvchr(isPRINT_LC, _CC_PRINT, c) +#define isLOWER_LC_uvchr(c) _generic_LC_invlist_uvchr(isLOWER_LC, _CC_LOWER, c) +#define isPRINT_LC_uvchr(c) _generic_LC_invlist_uvchr(isPRINT_LC, _CC_PRINT, c) #define isPSXSPC_LC_uvchr(c) isSPACE_LC_uvchr(c) -#define isPUNCT_LC_uvchr(c) _generic_LC_swash_uvchr(isPUNCT_LC, _CC_PUNCT, c) +#define isPUNCT_LC_uvchr(c) _generic_LC_invlist_uvchr(isPUNCT_LC, _CC_PUNCT, c) #define isSPACE_LC_uvchr(c) _generic_LC_uvchr(isSPACE_LC, \ is_XPERLSPACE_cp_high, c) -#define isUPPER_LC_uvchr(c) _generic_LC_swash_uvchr(isUPPER_LC, _CC_UPPER, c) -#define isWORDCHAR_LC_uvchr(c) _generic_LC_swash_uvchr(isWORDCHAR_LC, \ +#define isUPPER_LC_uvchr(c) _generic_LC_invlist_uvchr(isUPPER_LC, _CC_UPPER, c) +#define isWORDCHAR_LC_uvchr(c) _generic_LC_invlist_uvchr(isWORDCHAR_LC, \ _CC_WORDCHAR, c) #define isXDIGIT_LC_uvchr(c) _generic_LC_uvchr(isXDIGIT_LC, \ is_XDIGIT_cp_high, c) #define isBLANK_LC_uni(c) isBLANK_LC_uvchr(UNI_TO_NATIVE(c)) -/* For internal core Perl use only: the base macros for defining macros like - * isALPHA_utf8. These are like the earlier defined macros, but take an input - * UTF-8 encoded string 'p'. If the input is in the Latin1 range, use - * the Latin1 macro 'classnum' on 'p'. Otherwise use the value given by the - * 'utf8' parameter. This relies on the fact that ASCII characters have the - * same representation whether utf8 or not. Note that it assumes that the utf8 - * has been validated, and ignores 'use bytes' */ -#define _base_generic_utf8(enum_name, name, p, use_locale ) \ - _is_utf8_FOO(CAT2(_CC_, enum_name), \ - (const U8 *) p, \ - "is" STRINGIFY(name) "_utf8", \ - "is" STRINGIFY(name) "_utf8_safe", \ - 1, use_locale, __FILE__,__LINE__) - -#define _generic_utf8(name, p) _base_generic_utf8(name, name, p, 0) - /* The "_safe" macros make sure that we don't attempt to read beyond 'e', but * they don't otherwise go out of their way to look for malformed UTF-8. If * they can return accurate results without knowing if the input is otherwise @@ -1862,8 +2017,9 @@ END_EXTERN_C #endif #define _generic_utf8_safe(classnum, p, e, above_latin1) \ - (__ASSERT_(_utf8_safe_assert(p, e)) \ - (UTF8_IS_INVARIANT(*(p))) \ + ((! _utf8_safe_assert(p, e)) \ + ? (_force_out_malformed_utf8_message((U8 *) (p), (U8 *) (e), 0, 1), 0)\ + : (UTF8_IS_INVARIANT(*(p))) \ ? _generic_isCC(*(p), classnum) \ : (UTF8_IS_DOWNGRADEABLE_START(*(p)) \ ? ((LIKELY((e) - (p) > 1 && UTF8_IS_CONTINUATION(*((p)+1)))) \ @@ -1876,7 +2032,7 @@ END_EXTERN_C * 'above_latin1' can be a macro */ #define _generic_func_utf8_safe(classnum, above_latin1, p, e) \ _generic_utf8_safe(classnum, p, e, above_latin1(p, e)) -#define _generic_non_swash_utf8_safe(classnum, above_latin1, p, e) \ +#define _generic_non_invlist_utf8_safe(classnum, above_latin1, p, e) \ _generic_utf8_safe(classnum, p, e, \ (UNLIKELY((e) - (p) < UTF8SKIP(p)) \ ? (_force_out_malformed_utf8_message( \ @@ -1884,8 +2040,8 @@ END_EXTERN_C : above_latin1(p))) /* Like the above, but passes classnum to _isFOO_utf8(), instead of having an * 'above_latin1' parameter */ -#define _generic_swash_utf8_safe(classnum, p, e) \ -_generic_utf8_safe(classnum, p, e, _is_utf8_FOO_with_len(classnum, p, e)) +#define _generic_invlist_utf8_safe(classnum, p, e) \ + _generic_utf8_safe(classnum, p, e, _is_utf8_FOO(classnum, p, e)) /* Like the above, but should be used only when it is known that there are no * characters in the upper-Latin1 range (128-255 on ASCII platforms) which the @@ -1900,34 +2056,34 @@ _generic_utf8_safe(classnum, p, e, _is_utf8_FOO_with_len(classnum, p, e)) : above_latin1) -#define isALPHA_utf8(p) _generic_utf8(ALPHA, p) -#define isALPHANUMERIC_utf8(p) _generic_utf8(ALPHANUMERIC, p) -#define isASCII_utf8(p) _generic_utf8(ASCII, p) -#define isBLANK_utf8(p) _generic_utf8(BLANK, p) -#define isCNTRL_utf8(p) _generic_utf8(CNTRL, p) -#define isDIGIT_utf8(p) _generic_utf8(DIGIT, p) -#define isGRAPH_utf8(p) _generic_utf8(GRAPH, p) -#define isIDCONT_utf8(p) _generic_utf8(IDCONT, p) -#define isIDFIRST_utf8(p) _generic_utf8(IDFIRST, p) -#define isLOWER_utf8(p) _generic_utf8(LOWER, p) -#define isPRINT_utf8(p) _generic_utf8(PRINT, p) -#define isPSXSPC_utf8(p) _generic_utf8(PSXSPC, p) -#define isPUNCT_utf8(p) _generic_utf8(PUNCT, p) -#define isSPACE_utf8(p) _generic_utf8(SPACE, p) -#define isUPPER_utf8(p) _generic_utf8(UPPER, p) -#define isVERTWS_utf8(p) _generic_utf8(VERTSPACE, p) -#define isWORDCHAR_utf8(p) _generic_utf8(WORDCHAR, p) -#define isXDIGIT_utf8(p) _generic_utf8(XDIGIT, p) - -#define isALPHA_utf8_safe(p, e) _generic_swash_utf8_safe(_CC_ALPHA, p, e) +#define isALPHA_utf8(p, e) isALPHA_utf8_safe(p, e) +#define isALPHANUMERIC_utf8(p, e) isALPHANUMERIC_utf8_safe(p, e) +#define isASCII_utf8(p, e) isASCII_utf8_safe(p, e) +#define isBLANK_utf8(p, e) isBLANK_utf8_safe(p, e) +#define isCNTRL_utf8(p, e) isCNTRL_utf8_safe(p, e) +#define isDIGIT_utf8(p, e) isDIGIT_utf8_safe(p, e) +#define isGRAPH_utf8(p, e) isGRAPH_utf8_safe(p, e) +#define isIDCONT_utf8(p, e) isIDCONT_utf8_safe(p, e) +#define isIDFIRST_utf8(p, e) isIDFIRST_utf8_safe(p, e) +#define isLOWER_utf8(p, e) isLOWER_utf8_safe(p, e) +#define isPRINT_utf8(p, e) isPRINT_utf8_safe(p, e) +#define isPSXSPC_utf8(p, e) isPSXSPC_utf8_safe(p, e) +#define isPUNCT_utf8(p, e) isPUNCT_utf8_safe(p, e) +#define isSPACE_utf8(p, e) isSPACE_utf8_safe(p, e) +#define isUPPER_utf8(p, e) isUPPER_utf8_safe(p, e) +#define isVERTWS_utf8(p, e) isVERTWS_utf8_safe(p, e) +#define isWORDCHAR_utf8(p, e) isWORDCHAR_utf8_safe(p, e) +#define isXDIGIT_utf8(p, e) isXDIGIT_utf8_safe(p, e) + +#define isALPHA_utf8_safe(p, e) _generic_invlist_utf8_safe(_CC_ALPHA, p, e) #define isALPHANUMERIC_utf8_safe(p, e) \ - _generic_swash_utf8_safe(_CC_ALPHANUMERIC, p, e) + _generic_invlist_utf8_safe(_CC_ALPHANUMERIC, p, e) #define isASCII_utf8_safe(p, e) \ /* Because ASCII is invariant under utf8, the non-utf8 macro \ * works */ \ (__ASSERT_(_utf8_safe_assert(p, e)) isASCII(*(p))) #define isBLANK_utf8_safe(p, e) \ - _generic_non_swash_utf8_safe(_CC_BLANK, is_HORIZWS_high, p, e) + _generic_non_invlist_utf8_safe(_CC_BLANK, is_HORIZWS_high, p, e) #ifdef EBCDIC /* Because all controls are UTF-8 invariants in EBCDIC, we can use this @@ -1940,32 +2096,32 @@ _generic_utf8_safe(classnum, p, e, _is_utf8_FOO_with_len(classnum, p, e)) #define isDIGIT_utf8_safe(p, e) \ _generic_utf8_safe_no_upper_latin1(_CC_DIGIT, p, e, \ - _is_utf8_FOO_with_len(_CC_DIGIT, p, e)) -#define isGRAPH_utf8_safe(p, e) _generic_swash_utf8_safe(_CC_GRAPH, p, e) + _is_utf8_FOO(_CC_DIGIT, p, e)) +#define isGRAPH_utf8_safe(p, e) _generic_invlist_utf8_safe(_CC_GRAPH, p, e) #define isIDCONT_utf8_safe(p, e) _generic_func_utf8_safe(_CC_WORDCHAR, \ - _is_utf8_perl_idcont_with_len, p, e) + _is_utf8_perl_idcont, p, e) /* To prevent S_scan_word in toke.c from hanging, we have to make sure that * IDFIRST is an alnum. See - * http://rt.perl.org/rt3/Ticket/Display.html?id=74022 for more detail than you + * https://github.com/Perl/perl5/issues/10275 for more detail than you * ever wanted to know about. (In the ASCII range, there isn't a difference.) * This used to be not the XID version, but we decided to go with the more * modern Unicode definition */ #define isIDFIRST_utf8_safe(p, e) \ _generic_func_utf8_safe(_CC_IDFIRST, \ - _is_utf8_perl_idstart_with_len, (U8 *) (p), (U8 *) (e)) + _is_utf8_perl_idstart, (U8 *) (p), (U8 *) (e)) -#define isLOWER_utf8_safe(p, e) _generic_swash_utf8_safe(_CC_LOWER, p, e) -#define isPRINT_utf8_safe(p, e) _generic_swash_utf8_safe(_CC_PRINT, p, e) +#define isLOWER_utf8_safe(p, e) _generic_invlist_utf8_safe(_CC_LOWER, p, e) +#define isPRINT_utf8_safe(p, e) _generic_invlist_utf8_safe(_CC_PRINT, p, e) #define isPSXSPC_utf8_safe(p, e) isSPACE_utf8_safe(p, e) -#define isPUNCT_utf8_safe(p, e) _generic_swash_utf8_safe(_CC_PUNCT, p, e) +#define isPUNCT_utf8_safe(p, e) _generic_invlist_utf8_safe(_CC_PUNCT, p, e) #define isSPACE_utf8_safe(p, e) \ - _generic_non_swash_utf8_safe(_CC_SPACE, is_XPERLSPACE_high, p, e) -#define isUPPER_utf8_safe(p, e) _generic_swash_utf8_safe(_CC_UPPER, p, e) + _generic_non_invlist_utf8_safe(_CC_SPACE, is_XPERLSPACE_high, p, e) +#define isUPPER_utf8_safe(p, e) _generic_invlist_utf8_safe(_CC_UPPER, p, e) #define isVERTWS_utf8_safe(p, e) \ - _generic_non_swash_utf8_safe(_CC_VERTSPACE, is_VERTWS_high, p, e) + _generic_non_invlist_utf8_safe(_CC_VERTSPACE, is_VERTWS_high, p, e) #define isWORDCHAR_utf8_safe(p, e) \ - _generic_swash_utf8_safe(_CC_WORDCHAR, p, e) + _generic_invlist_utf8_safe(_CC_WORDCHAR, p, e) #define isXDIGIT_utf8_safe(p, e) \ _generic_utf8_safe_no_upper_latin1(_CC_XDIGIT, p, e, \ (UNLIKELY((e) - (p) < UTF8SKIP(p)) \ @@ -1973,45 +2129,39 @@ _generic_utf8_safe(classnum, p, e, _is_utf8_FOO_with_len(classnum, p, e)) (U8 *) (p), (U8 *) (e), 0, 1), 0) \ : is_XDIGIT_high(p))) -#define toFOLD_utf8(p,s,l) to_utf8_fold(p,s,l) -#define toLOWER_utf8(p,s,l) to_utf8_lower(p,s,l) -#define toTITLE_utf8(p,s,l) to_utf8_title(p,s,l) -#define toUPPER_utf8(p,s,l) to_utf8_upper(p,s,l) +#define toFOLD_utf8(p,e,s,l) toFOLD_utf8_safe(p,e,s,l) +#define toLOWER_utf8(p,e,s,l) toLOWER_utf8_safe(p,e,s,l) +#define toTITLE_utf8(p,e,s,l) toTITLE_utf8_safe(p,e,s,l) +#define toUPPER_utf8(p,e,s,l) toUPPER_utf8_safe(p,e,s,l) /* For internal core use only, subject to change */ -#define _toFOLD_utf8_flags(p,e,s,l,f) _to_utf8_fold_flags (p,e,s,l,f, "", 0) -#define _toLOWER_utf8_flags(p,e,s,l,f) _to_utf8_lower_flags(p,e,s,l,f, "", 0) -#define _toTITLE_utf8_flags(p,e,s,l,f) _to_utf8_title_flags(p,e,s,l,f, "", 0) -#define _toUPPER_utf8_flags(p,e,s,l,f) _to_utf8_upper_flags(p,e,s,l,f, "", 0) +#define _toFOLD_utf8_flags(p,e,s,l,f) _to_utf8_fold_flags (p,e,s,l,f) +#define _toLOWER_utf8_flags(p,e,s,l,f) _to_utf8_lower_flags(p,e,s,l,f) +#define _toTITLE_utf8_flags(p,e,s,l,f) _to_utf8_title_flags(p,e,s,l,f) +#define _toUPPER_utf8_flags(p,e,s,l,f) _to_utf8_upper_flags(p,e,s,l,f) #define toFOLD_utf8_safe(p,e,s,l) _toFOLD_utf8_flags(p,e,s,l, FOLD_FLAGS_FULL) #define toLOWER_utf8_safe(p,e,s,l) _toLOWER_utf8_flags(p,e,s,l, 0) #define toTITLE_utf8_safe(p,e,s,l) _toTITLE_utf8_flags(p,e,s,l, 0) #define toUPPER_utf8_safe(p,e,s,l) _toUPPER_utf8_flags(p,e,s,l, 0) -/* For internal core Perl use only: the base macros for defining macros like - * isALPHA_LC_utf8. These are like _generic_utf8, but if the first code point - * in 'p' is within the 0-255 range, it uses locale rules from the passed-in - * 'macro' parameter */ -#define _generic_LC_utf8(name, p) _base_generic_utf8(name, name, p, 1) - -#define isALPHA_LC_utf8(p) _generic_LC_utf8(ALPHA, p) -#define isALPHANUMERIC_LC_utf8(p) _generic_LC_utf8(ALPHANUMERIC, p) -#define isASCII_LC_utf8(p) _generic_LC_utf8(ASCII, p) -#define isBLANK_LC_utf8(p) _generic_LC_utf8(BLANK, p) -#define isCNTRL_LC_utf8(p) _generic_LC_utf8(CNTRL, p) -#define isDIGIT_LC_utf8(p) _generic_LC_utf8(DIGIT, p) -#define isGRAPH_LC_utf8(p) _generic_LC_utf8(GRAPH, p) -#define isIDCONT_LC_utf8(p) _generic_LC_utf8(IDCONT, p) -#define isIDFIRST_LC_utf8(p) _generic_LC_utf8(IDFIRST, p) -#define isLOWER_LC_utf8(p) _generic_LC_utf8(LOWER, p) -#define isPRINT_LC_utf8(p) _generic_LC_utf8(PRINT, p) -#define isPSXSPC_LC_utf8(p) _generic_LC_utf8(PSXSPC, p) -#define isPUNCT_LC_utf8(p) _generic_LC_utf8(PUNCT, p) -#define isSPACE_LC_utf8(p) _generic_LC_utf8(SPACE, p) -#define isUPPER_LC_utf8(p) _generic_LC_utf8(UPPER, p) -#define isWORDCHAR_LC_utf8(p) _generic_LC_utf8(WORDCHAR, p) -#define isXDIGIT_LC_utf8(p) _generic_LC_utf8(XDIGIT, p) +#define isALPHA_LC_utf8(p, e) isALPHA_LC_utf8_safe(p, e) +#define isALPHANUMERIC_LC_utf8(p, e) isALPHANUMERIC_LC_utf8_safe(p, e) +#define isASCII_LC_utf8(p, e) isASCII_LC_utf8_safe(p, e) +#define isBLANK_LC_utf8(p, e) isBLANK_LC_utf8_safe(p, e) +#define isCNTRL_LC_utf8(p, e) isCNTRL_LC_utf8_safe(p, e) +#define isDIGIT_LC_utf8(p, e) isDIGIT_LC_utf8_safe(p, e) +#define isGRAPH_LC_utf8(p, e) isGRAPH_LC_utf8_safe(p, e) +#define isIDCONT_LC_utf8(p, e) isIDCONT_LC_utf8_safe(p, e) +#define isIDFIRST_LC_utf8(p, e) isIDFIRST_LC_utf8_safe(p, e) +#define isLOWER_LC_utf8(p, e) isLOWER_LC_utf8_safe(p, e) +#define isPRINT_LC_utf8(p, e) isPRINT_LC_utf8_safe(p, e) +#define isPSXSPC_LC_utf8(p, e) isPSXSPC_LC_utf8_safe(p, e) +#define isPUNCT_LC_utf8(p, e) isPUNCT_LC_utf8_safe(p, e) +#define isSPACE_LC_utf8(p, e) isSPACE_LC_utf8_safe(p, e) +#define isUPPER_LC_utf8(p, e) isUPPER_LC_utf8_safe(p, e) +#define isWORDCHAR_LC_utf8(p, e) isWORDCHAR_LC_utf8_safe(p, e) +#define isXDIGIT_LC_utf8(p, e) isXDIGIT_LC_utf8_safe(p, e) /* For internal core Perl use only: the base macros for defining macros like * isALPHA_LC_utf8_safe. These are like _generic_utf8, but if the first code @@ -2028,14 +2178,14 @@ _generic_utf8_safe(classnum, p, e, _is_utf8_FOO_with_len(classnum, p, e)) (U8 *) (p), (U8 *) (e), 0, 1), 0)) \ : above_latin1)) -#define _generic_LC_swash_utf8_safe(macro, classnum, p, e) \ +#define _generic_LC_invlist_utf8_safe(macro, classnum, p, e) \ _generic_LC_utf8_safe(macro, p, e, \ - _is_utf8_FOO_with_len(classnum, p, e)) + _is_utf8_FOO(classnum, p, e)) #define _generic_LC_func_utf8_safe(macro, above_latin1, p, e) \ _generic_LC_utf8_safe(macro, p, e, above_latin1(p, e)) -#define _generic_LC_non_swash_utf8_safe(classnum, above_latin1, p, e) \ +#define _generic_LC_non_invlist_utf8_safe(classnum, above_latin1, p, e) \ _generic_LC_utf8_safe(classnum, p, e, \ (UNLIKELY((e) - (p) < UTF8SKIP(p)) \ ? (_force_out_malformed_utf8_message( \ @@ -2043,41 +2193,41 @@ _generic_utf8_safe(classnum, p, e, _is_utf8_FOO_with_len(classnum, p, e)) : above_latin1(p))) #define isALPHANUMERIC_LC_utf8_safe(p, e) \ - _generic_LC_swash_utf8_safe(isALPHANUMERIC_LC, \ + _generic_LC_invlist_utf8_safe(isALPHANUMERIC_LC, \ _CC_ALPHANUMERIC, p, e) #define isALPHA_LC_utf8_safe(p, e) \ - _generic_LC_swash_utf8_safe(isALPHA_LC, _CC_ALPHA, p, e) + _generic_LC_invlist_utf8_safe(isALPHA_LC, _CC_ALPHA, p, e) #define isASCII_LC_utf8_safe(p, e) \ (__ASSERT_(_utf8_safe_assert(p, e)) isASCII_LC(*(p))) #define isBLANK_LC_utf8_safe(p, e) \ - _generic_LC_non_swash_utf8_safe(isBLANK_LC, is_HORIZWS_high, p, e) + _generic_LC_non_invlist_utf8_safe(isBLANK_LC, is_HORIZWS_high, p, e) #define isCNTRL_LC_utf8_safe(p, e) \ _generic_LC_utf8_safe(isCNTRL_LC, p, e, 0) #define isDIGIT_LC_utf8_safe(p, e) \ - _generic_LC_swash_utf8_safe(isDIGIT_LC, _CC_DIGIT, p, e) + _generic_LC_invlist_utf8_safe(isDIGIT_LC, _CC_DIGIT, p, e) #define isGRAPH_LC_utf8_safe(p, e) \ - _generic_LC_swash_utf8_safe(isGRAPH_LC, _CC_GRAPH, p, e) + _generic_LC_invlist_utf8_safe(isGRAPH_LC, _CC_GRAPH, p, e) #define isIDCONT_LC_utf8_safe(p, e) \ _generic_LC_func_utf8_safe(isIDCONT_LC, \ - _is_utf8_perl_idcont_with_len, p, e) + _is_utf8_perl_idcont, p, e) #define isIDFIRST_LC_utf8_safe(p, e) \ _generic_LC_func_utf8_safe(isIDFIRST_LC, \ - _is_utf8_perl_idstart_with_len, p, e) + _is_utf8_perl_idstart, p, e) #define isLOWER_LC_utf8_safe(p, e) \ - _generic_LC_swash_utf8_safe(isLOWER_LC, _CC_LOWER, p, e) + _generic_LC_invlist_utf8_safe(isLOWER_LC, _CC_LOWER, p, e) #define isPRINT_LC_utf8_safe(p, e) \ - _generic_LC_swash_utf8_safe(isPRINT_LC, _CC_PRINT, p, e) + _generic_LC_invlist_utf8_safe(isPRINT_LC, _CC_PRINT, p, e) #define isPSXSPC_LC_utf8_safe(p, e) isSPACE_LC_utf8_safe(p, e) #define isPUNCT_LC_utf8_safe(p, e) \ - _generic_LC_swash_utf8_safe(isPUNCT_LC, _CC_PUNCT, p, e) + _generic_LC_invlist_utf8_safe(isPUNCT_LC, _CC_PUNCT, p, e) #define isSPACE_LC_utf8_safe(p, e) \ - _generic_LC_non_swash_utf8_safe(isSPACE_LC, is_XPERLSPACE_high, p, e) + _generic_LC_non_invlist_utf8_safe(isSPACE_LC, is_XPERLSPACE_high, p, e) #define isUPPER_LC_utf8_safe(p, e) \ - _generic_LC_swash_utf8_safe(isUPPER_LC, _CC_UPPER, p, e) + _generic_LC_invlist_utf8_safe(isUPPER_LC, _CC_UPPER, p, e) #define isWORDCHAR_LC_utf8_safe(p, e) \ - _generic_LC_swash_utf8_safe(isWORDCHAR_LC, _CC_WORDCHAR, p, e) + _generic_LC_invlist_utf8_safe(isWORDCHAR_LC, _CC_WORDCHAR, p, e) #define isXDIGIT_LC_utf8_safe(p, e) \ - _generic_LC_non_swash_utf8_safe(isXDIGIT_LC, is_XDIGIT_high, p, e) + _generic_LC_non_invlist_utf8_safe(isXDIGIT_LC, is_XDIGIT_high, p, e) /* Macros for backwards compatibility and for completeness when the ASCII and * Latin1 values are identical */ @@ -2087,20 +2237,24 @@ _generic_utf8_safe(classnum, p, e, _is_utf8_FOO_with_len(classnum, p, e)) #define isOCTAL_L1(c) isOCTAL_A(c) #define isXDIGIT_L1(c) isXDIGIT_A(c) #define isALNUM(c) isWORDCHAR(c) +#define isALNUM_A(c) isALNUM(c) #define isALNUMU(c) isWORDCHAR_L1(c) #define isALNUM_LC(c) isWORDCHAR_LC(c) #define isALNUM_uni(c) isWORDCHAR_uni(c) #define isALNUM_LC_uvchr(c) isWORDCHAR_LC_uvchr(c) -#define isALNUM_utf8(p) isWORDCHAR_utf8(p) -#define isALNUM_LC_utf8(p) isWORDCHAR_LC_utf8(p) +#define isALNUM_utf8(p,e) isWORDCHAR_utf8(p,e) +#define isALNUM_utf8_safe(p,e) isWORDCHAR_utf8_safe(p,e) +#define isALNUM_LC_utf8(p,e)isWORDCHAR_LC_utf8(p,e) +#define isALNUM_LC_utf8_safe(p,e)isWORDCHAR_LC_utf8_safe(p,e) #define isALNUMC_A(c) isALPHANUMERIC_A(c) /* Mnemonic: "C's alnum" */ #define isALNUMC_L1(c) isALPHANUMERIC_L1(c) #define isALNUMC(c) isALPHANUMERIC(c) #define isALNUMC_LC(c) isALPHANUMERIC_LC(c) #define isALNUMC_uni(c) isALPHANUMERIC_uni(c) #define isALNUMC_LC_uvchr(c) isALPHANUMERIC_LC_uvchr(c) -#define isALNUMC_utf8(p) isALPHANUMERIC_utf8(p) -#define isALNUMC_LC_utf8(p) isALPHANUMERIC_LC_utf8(p) +#define isALNUMC_utf8(p,e) isALPHANUMERIC_utf8(p,e) +#define isALNUMC_utf8_safe(p,e) isALPHANUMERIC_utf8_safe(p,e) +#define isALNUMC_LC_utf8_safe(p,e) isALPHANUMERIC_LC_utf8_safe(p,e) /* On EBCDIC platforms, CTRL-@ is 0, CTRL-A is 1, etc, just like on ASCII, * except that they don't necessarily mean the same characters, e.g. CTRL-D is @@ -2141,17 +2295,22 @@ typedef U32 line_t; } \ return a; -/* Converts a character known to represent a hexadecimal digit (0-9, A-F, or - * a-f) to its numeric value. READ_XDIGIT's argument is a string pointer, - * which is advanced. The input is validated only by an assert() in DEBUGGING - * builds. In both ASCII and EBCDIC the last 4 bits of the digits are 0-9; and - * the last 4 bits of A-F and a-f are 1-6, so adding 9 yields 10-15 */ -#define XDIGIT_VALUE(c) (__ASSERT_(isXDIGIT(c)) (0xf & (isDIGIT(c) \ - ? (c) \ - : ((c) + 9)))) -#define READ_XDIGIT(s) (__ASSERT_(isXDIGIT(*s)) (0xf & (isDIGIT(*(s)) \ - ? (*(s)++) \ - : (*(s)++ + 9)))) +/* Converts a character KNOWN to represent a hexadecimal digit (0-9, A-F, or + * a-f) to its numeric value without using any branches. The input is + * validated only by an assert() in DEBUGGING builds. + * + * It works by right shifting and isolating the bit that is 0 for the digits, + * and 1 for at least the alphas A-F, a-f. The bit is shifted to the ones + * position, and then to the eights position. Both are added together to form + * 0 if the input is '0'-'9' and to form 9 if alpha. This is added to the + * final four bits of the input to form the correct value. */ +#define XDIGIT_VALUE(c) (__ASSERT_(isXDIGIT(c)) \ + ((NATIVE_TO_LATIN1(c) >> 6) & 1) /* 1 if alpha; 0 if not */ \ + + ((NATIVE_TO_LATIN1(c) >> 3) & 8) /* 8 if alpha; 0 if not */ \ + + ((c) & 0xF)) /* 0-9 if input valid hex digit */ + +/* The argument is a string pointer, which is advanced. */ +#define READ_XDIGIT(s) ((s)++, XDIGIT_VALUE(*((s) - 1))) /* Converts a character known to represent an octal digit (0-7) to its numeric * value. The input is validated only by an assert() in DEBUGGING builds. In @@ -2464,11 +2623,23 @@ void Perl_mem_log_del_sv(const SV *sv, const char *filename, const int linenumbe #define StructCopy(s,d,t) (*((t*)(d)) = *((t*)(s))) -/* C_ARRAY_LENGTH is the number of elements in the C array (so you - * want your zero-based indices to be less than but not equal to). - * - * C_ARRAY_END is one past the last: half-open/half-closed range, - * not last-inclusive range. */ +/* +=head1 Handy Values + +=for apidoc Am|STRLEN|C_ARRAY_LENGTH|void *a + +Returns the number of elements in the input C array (so you want your +zero-based indices to be less than but not equal to). + +=for apidoc Am|void *|C_ARRAY_END|void *a + +Returns a pointer to one element past the final element of the input C array. + +=cut + +C_ARRAY_END is one past the last: half-open/half-closed range, not +last-inclusive range. +*/ #define C_ARRAY_LENGTH(a) (sizeof(a)/sizeof((a)[0])) #define C_ARRAY_END(a) ((a) + C_ARRAY_LENGTH(a)) diff --git a/Master/tlpkg/tlperl/lib/CORE/hv.h b/Master/tlpkg/tlperl/lib/CORE/hv.h index dcc6eb1e2fb..607152c840b 100644 --- a/Master/tlpkg/tlperl/lib/CORE/hv.h +++ b/Master/tlpkg/tlperl/lib/CORE/hv.h @@ -142,14 +142,14 @@ struct xpvhv { /* =head1 Hash Manipulation Functions -=for apidoc AmU||HEf_SVKEY +=for apidoc AmnU||HEf_SVKEY This flag, used in the length slot of hash entries and magic structures, specifies the structure contains an C pointer where a C pointer is to be expected. (For information only--not to be used). =head1 Handy Values -=for apidoc AmU||Nullhv +=for apidoc ADmnU||Nullhv Null HV pointer. (deprecated - use C<(HV *)NULL> instead) @@ -263,6 +263,16 @@ C. # define Nullhv Null(HV*) #endif #define HvARRAY(hv) ((hv)->sv_u.svu_hash) + +/* + +=for apidoc Am|STRLEN|HvFILL|HV *const hv + +See L. + +=cut + +*/ #define HvFILL(hv) Perl_hv_fill(aTHX_ MUTABLE_HV(hv)) #define HvMAX(hv) ((XPVHV*) SvANY(hv))->xhv_max /* This quite intentionally does no flag checking first. That's your @@ -565,7 +575,7 @@ struct refcounted_he { }; /* -=for apidoc m|SV *|refcounted_he_fetch_pvs|const struct refcounted_he *chain|"literal string" key|U32 flags +=for apidoc m|SV *|refcounted_he_fetch_pvs|const struct refcounted_he *chain|"key"|U32 flags Like L, but takes a literal string instead of a string/length pair, and no precomputed hash. @@ -577,7 +587,7 @@ instead of a string/length pair, and no precomputed hash. Perl_refcounted_he_fetch_pvn(aTHX_ chain, STR_WITH_LEN(key), 0, flags) /* -=for apidoc m|struct refcounted_he *|refcounted_he_new_pvs|struct refcounted_he *parent|"literal string" key|SV *value|U32 flags +=for apidoc m|struct refcounted_he *|refcounted_he_new_pvs|struct refcounted_he *parent|"key"|SV *value|U32 flags Like L, but takes a literal string instead of a string/length pair, and no precomputed hash. diff --git a/Master/tlpkg/tlperl/lib/CORE/hv_func.h b/Master/tlpkg/tlperl/lib/CORE/hv_func.h index a519839d6c0..3e2d2be80b7 100755 --- a/Master/tlpkg/tlperl/lib/CORE/hv_func.h +++ b/Master/tlpkg/tlperl/lib/CORE/hv_func.h @@ -130,7 +130,7 @@ U32 S_perl_hash_with_seed(const U8 * const seed, const U8 * const str, const STR * including reading from the environment, or we randomly setup the * seed. The seed will be passed into the PERL_HASH_SEED_STATE() function * defined for the configuration defined for this perl, which will then - * initialze whatever state it might need later in hashing. */ + * initialize whatever state it might need later in hashing. */ #ifndef PERL_HASH_SEED # if defined(USE_HASH_SEED) @@ -197,8 +197,8 @@ void S_perl_siphash_seed_state(const unsigned char * const seed_buf, unsigned ch } #define PERL_SIPHASH_FNC(FNC,SIP_ROUNDS,SIP_FINAL_ROUNDS) \ -PERL_STATIC_INLINE U32 \ -FNC ## _with_state \ +PERL_STATIC_INLINE U64 \ +FNC ## _with_state_64 \ (const unsigned char * const state, const unsigned char *in, const STRLEN inlen) \ { \ const int left = inlen & 7; \ @@ -223,12 +223,12 @@ FNC ## _with_state \ \ switch( left ) \ { \ - case 7: b |= ( ( U64 )in[ 6] ) << 48; \ - case 6: b |= ( ( U64 )in[ 5] ) << 40; \ - case 5: b |= ( ( U64 )in[ 4] ) << 32; \ - case 4: b |= ( ( U64 )in[ 3] ) << 24; \ - case 3: b |= ( ( U64 )in[ 2] ) << 16; \ - case 2: b |= ( ( U64 )in[ 1] ) << 8; \ + case 7: b |= ( ( U64 )in[ 6] ) << 48; /*FALLTHROUGH*/ \ + case 6: b |= ( ( U64 )in[ 5] ) << 40; /*FALLTHROUGH*/ \ + case 5: b |= ( ( U64 )in[ 4] ) << 32; /*FALLTHROUGH*/ \ + case 4: b |= ( ( U64 )in[ 3] ) << 24; /*FALLTHROUGH*/ \ + case 3: b |= ( ( U64 )in[ 2] ) << 16; /*FALLTHROUGH*/ \ + case 2: b |= ( ( U64 )in[ 1] ) << 8; /*FALLTHROUGH*/ \ case 1: b |= ( ( U64 )in[ 0] ); break; \ case 0: break; \ } \ @@ -244,10 +244,23 @@ FNC ## _with_state \ SIP_FINAL_ROUNDS \ \ b = v0 ^ v1 ^ v2 ^ v3; \ - return (U32)(b & U32_MAX); \ + return b; \ } \ \ PERL_STATIC_INLINE U32 \ +FNC ## _with_state \ + (const unsigned char * const state, const unsigned char *in, const STRLEN inlen) \ +{ \ + union { \ + U64 h64; \ + U32 h32[2]; \ + } h; \ + h.h64= FNC ## _with_state_64(state,in,inlen); \ + return h.h32[0] ^ h.h32[1]; \ +} \ + \ + \ +PERL_STATIC_INLINE U32 \ FNC (const unsigned char * const seed, const unsigned char *in, const STRLEN inlen) \ { \ U64 state[4]; \ @@ -267,6 +280,7 @@ PERL_SIPHASH_FNC( ,SIPROUND;SIPROUND; ,SIPROUND;SIPROUND;SIPROUND;SIPROUND; ) + #endif /* defined(CAN64BITHASH) */ diff --git a/Master/tlpkg/tlperl/lib/CORE/hv_macro.h b/Master/tlpkg/tlperl/lib/CORE/hv_macro.h index 77a4c848967..fa8c3123c53 100644 --- a/Master/tlpkg/tlperl/lib/CORE/hv_macro.h +++ b/Master/tlpkg/tlperl/lib/CORE/hv_macro.h @@ -5,8 +5,17 @@ #define CAN64BITHASH #endif +#ifdef CAN64BITHASH + #ifndef U64TYPE + /* This probably isn't going to work, but failing with a compiler error due to + lack of uint64_t is no worse than failing right now with an #error. */ + #define U64 uint64_t + #endif +#endif + + /*----------------------------------------------------------------------------- - * Endianess, misalignment capabilities and util macros + * Endianess and util macros * * The following 3 macros are defined in this section. The other macros defined * are only needed to help derive these 3. @@ -20,35 +29,30 @@ * ROTR64(x,r) Rotate x right by r bits */ -#ifndef U32_ALIGNMENT_REQUIRED - #if (BYTEORDER == 0x1234 || BYTEORDER == 0x12345678) - #define U8TO16_LE(ptr) (*((const U16*)(ptr))) - #define U8TO32_LE(ptr) (*((const U32*)(ptr))) - #define U8TO64_LE(ptr) (*((const U64*)(ptr))) - #elif (BYTEORDER == 0x4321 || BYTEORDER == 0x87654321) - #if defined(__GNUC__) && (__GNUC__>4 || (__GNUC__==4 && __GNUC_MINOR__>=3)) - #define U8TO16_LE(ptr) (__builtin_bswap16(*((U16*)(ptr)))) - #define U8TO32_LE(ptr) (__builtin_bswap32(*((U32*)(ptr)))) - #define U8TO64_LE(ptr) (__builtin_bswap64(*((U64*)(ptr)))) - #endif - #endif -#endif - #ifndef U8TO16_LE - /* Without a known fast bswap32 we're just as well off doing this */ - #define U8TO16_LE(ptr) ((U32)(ptr)[0]|(U32)(ptr)[1]<<8) - #define U8TO32_LE(ptr) ((U32)(ptr)[0]|(U32)(ptr)[1]<<8|(U32)(ptr)[2]<<16|(U32)(ptr)[3]<<24) - #define U8TO64_LE(ptr) ((U64)(ptr)[0]|(U64)(ptr)[1]<<8|(U64)(ptr)[2]<<16|(U64)(ptr)[3]<<24|\ - (U64)(ptr)[4]<<32|(U64)(ptr)[5]<<40|\ - (U64)(ptr)[6]<<48|(U64)(ptr)[7]<<56) -#endif + #define _shifted_octet(type,ptr,idx,shift) (((type)(((U8*)(ptr))[(idx)]))<<(shift)) + #ifdef USE_UNALIGNED_PTR_DEREF + #define U8TO16_LE(ptr) (*((const U16*)(ptr))) + #define U8TO32_LE(ptr) (*((const U32*)(ptr))) + #define U8TO64_LE(ptr) (*((const U64*)(ptr))) + #else + #define U8TO16_LE(ptr) (_shifted_octet(U16,(ptr),0, 0)|\ + _shifted_octet(U16,(ptr),1, 8)) -#ifdef CAN64BITHASH - #ifndef U64TYPE - /* This probably isn't going to work, but failing with a compiler error due to - lack of uint64_t is no worse than failing right now with an #error. */ - #define U64 uint64_t - #endif + #define U8TO32_LE(ptr) (_shifted_octet(U32,(ptr),0, 0)|\ + _shifted_octet(U32,(ptr),1, 8)|\ + _shifted_octet(U32,(ptr),2,16)|\ + _shifted_octet(U32,(ptr),3,24)) + + #define U8TO64_LE(ptr) (_shifted_octet(U64,(ptr),0, 0)|\ + _shifted_octet(U64,(ptr),1, 8)|\ + _shifted_octet(U64,(ptr),2,16)|\ + _shifted_octet(U64,(ptr),3,24)|\ + _shifted_octet(U64,(ptr),4,32)|\ + _shifted_octet(U64,(ptr),5,40)|\ + _shifted_octet(U64,(ptr),6,48)|\ + _shifted_octet(U64,(ptr),7,56)) + #endif #endif /* Find best way to ROTL32/ROTL64 */ diff --git a/Master/tlpkg/tlperl/lib/CORE/inline.h b/Master/tlpkg/tlperl/lib/CORE/inline.h index 654f801b75d..bb0cdb0e542 100755 --- a/Master/tlpkg/tlperl/lib/CORE/inline.h +++ b/Master/tlpkg/tlperl/lib/CORE/inline.h @@ -6,7 +6,7 @@ * License or the Artistic License, as specified in the README file. * * This file contains tables and code adapted from - * http://bjoern.hoehrmann.de/utf-8/decoder/dfa/, which requires this + * https://bjoern.hoehrmann.de/utf-8/decoder/dfa/, which requires this * copyright notice: Copyright (c) 2008-2009 Bjoern Hoehrmann @@ -40,7 +40,7 @@ SOFTWARE. /* ------------------------------- av.h ------------------------------- */ PERL_STATIC_INLINE SSize_t -S_av_top_index(pTHX_ AV *av) +Perl_av_top_index(pTHX_ AV *av) { PERL_ARGS_ASSERT_AV_TOP_INDEX; assert(SvTYPE(av) == SVt_PVAV); @@ -51,17 +51,21 @@ S_av_top_index(pTHX_ AV *av) /* ------------------------------- cv.h ------------------------------- */ PERL_STATIC_INLINE GV * -S_CvGV(pTHX_ CV *sv) +Perl_CvGV(pTHX_ CV *sv) { + PERL_ARGS_ASSERT_CVGV; + return CvNAMED(sv) ? Perl_cvgv_from_hek(aTHX_ sv) : ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_gv_u.xcv_gv; } PERL_STATIC_INLINE I32 * -S_CvDEPTHp(const CV * const sv) +Perl_CvDEPTH(const CV * const sv) { + PERL_ARGS_ASSERT_CVDEPTH; assert(SvTYPE(sv) == SVt_PVCV || SvTYPE(sv) == SVt_PVFM); + return &((XPVCV*)SvANY(sv))->xcv_depth; } @@ -119,8 +123,10 @@ S_MgBYTEPOS(pTHX_ MAGIC *mg, SV *sv, const char *s, STRLEN len) #if defined(PERL_IN_PAD_C) || defined(PERL_IN_OP_C) PERL_STATIC_INLINE bool -PadnameIN_SCOPE(const PADNAME * const pn, const U32 seq) +S_PadnameIN_SCOPE(const PADNAME * const pn, const U32 seq) { + PERL_ARGS_ASSERT_PADNAMEIN_SCOPE; + /* is seq within the range _LOW to _HIGH ? * This is complicated by the fact that PL_cop_seqmax * may have wrapped around at some point */ @@ -153,7 +159,7 @@ PadnameIN_SCOPE(const PADNAME * const pn, const U32 seq) /* ------------------------------- pp.h ------------------------------- */ PERL_STATIC_INLINE I32 -S_TOPMARK(pTHX) +Perl_TOPMARK(pTHX) { DEBUG_s(DEBUG_v(PerlIO_printf(Perl_debug_log, "MARK top %p %" IVdf "\n", @@ -163,7 +169,7 @@ S_TOPMARK(pTHX) } PERL_STATIC_INLINE I32 -S_POPMARK(pTHX) +Perl_POPMARK(pTHX) { DEBUG_s(DEBUG_v(PerlIO_printf(Perl_debug_log, "MARK pop %p %" IVdf "\n", @@ -176,37 +182,50 @@ S_POPMARK(pTHX) /* ----------------------------- regexp.h ----------------------------- */ PERL_STATIC_INLINE struct regexp * -S_ReANY(const REGEXP * const re) +Perl_ReANY(const REGEXP * const re) { XPV* const p = (XPV*)SvANY(re); + + PERL_ARGS_ASSERT_REANY; assert(isREGEXP(re)); + return SvTYPE(re) == SVt_PVLV ? p->xpv_len_u.xpvlenu_rx : (struct regexp *)p; } /* ------------------------------- sv.h ------------------------------- */ +PERL_STATIC_INLINE bool +Perl_SvTRUE(pTHX_ SV *sv) { + if (!LIKELY(sv)) + return FALSE; + SvGETMAGIC(sv); + return SvTRUE_nomg_NN(sv); +} + PERL_STATIC_INLINE SV * -S_SvREFCNT_inc(SV *sv) +Perl_SvREFCNT_inc(SV *sv) { if (LIKELY(sv != NULL)) SvREFCNT(sv)++; return sv; } PERL_STATIC_INLINE SV * -S_SvREFCNT_inc_NN(SV *sv) +Perl_SvREFCNT_inc_NN(SV *sv) { + PERL_ARGS_ASSERT_SVREFCNT_INC_NN; + SvREFCNT(sv)++; return sv; } PERL_STATIC_INLINE void -S_SvREFCNT_inc_void(SV *sv) +Perl_SvREFCNT_inc_void(SV *sv) { if (LIKELY(sv != NULL)) SvREFCNT(sv)++; } PERL_STATIC_INLINE void -S_SvREFCNT_dec(pTHX_ SV *sv) +Perl_SvREFCNT_dec(pTHX_ SV *sv) { if (LIKELY(sv != NULL)) { U32 rc = SvREFCNT(sv); @@ -218,9 +237,12 @@ S_SvREFCNT_dec(pTHX_ SV *sv) } PERL_STATIC_INLINE void -S_SvREFCNT_dec_NN(pTHX_ SV *sv) +Perl_SvREFCNT_dec_NN(pTHX_ SV *sv) { U32 rc = SvREFCNT(sv); + + PERL_ARGS_ASSERT_SVREFCNT_DEC_NN; + if (LIKELY(rc > 1)) SvREFCNT(sv) = rc - 1; else @@ -228,26 +250,30 @@ S_SvREFCNT_dec_NN(pTHX_ SV *sv) } PERL_STATIC_INLINE void -SvAMAGIC_on(SV *sv) +Perl_SvAMAGIC_on(SV *sv) { + PERL_ARGS_ASSERT_SVAMAGIC_ON; assert(SvROK(sv)); + if (SvOBJECT(SvRV(sv))) HvAMAGIC_on(SvSTASH(SvRV(sv))); } PERL_STATIC_INLINE void -SvAMAGIC_off(SV *sv) +Perl_SvAMAGIC_off(SV *sv) { + PERL_ARGS_ASSERT_SVAMAGIC_OFF; + if (SvROK(sv) && SvOBJECT(SvRV(sv))) HvAMAGIC_off(SvSTASH(SvRV(sv))); } PERL_STATIC_INLINE U32 -S_SvPADSTALE_on(SV *sv) +Perl_SvPADSTALE_on(SV *sv) { assert(!(SvFLAGS(sv) & SVs_PADTMP)); return SvFLAGS(sv) |= SVs_PADSTALE; } PERL_STATIC_INLINE U32 -S_SvPADSTALE_off(SV *sv) +Perl_SvPADSTALE_off(SV *sv) { assert(!(SvFLAGS(sv) & SVs_PADTMP)); return SvFLAGS(sv) &= ~SVs_PADSTALE; @@ -266,17 +292,6 @@ S_sv_or_pv_pos_u2b(pTHX_ SV *sv, const char *pv, STRLEN pos, STRLEN *lenp) } #endif -/* ------------------------------- handy.h ------------------------------- */ - -/* saves machine code for a common noreturn idiom typically used in Newx*() */ -GCC_DIAG_IGNORE_DECL(-Wunused-function); -static void -S_croak_memory_wrap(void) -{ - Perl_croak_nocontext("%s",PL_memory_wrap); -} -GCC_DIAG_RESTORE_DECL; - /* ------------------------------- utf8.h ------------------------------- */ /* @@ -284,7 +299,7 @@ GCC_DIAG_RESTORE_DECL; */ PERL_STATIC_INLINE void -S_append_utf8_from_native_byte(const U8 byte, U8** dest) +Perl_append_utf8_from_native_byte(const U8 byte, U8** dest) { /* Takes an input 'byte' (Latin1 or EBCDIC) and appends it to the UTF-8 * encoded string at '*dest', updating '*dest' to include it */ @@ -301,10 +316,10 @@ S_append_utf8_from_native_byte(const U8 byte, U8** dest) /* =for apidoc valid_utf8_to_uvchr -Like C>, but should only be called when it is known that -the next character in the input UTF-8 string C is well-formed (I, -it passes C>. Surrogates, non-character code points, and -non-Unicode code points are allowed. +Like C>, but should only be called when it is +known that the next character in the input UTF-8 string C is well-formed +(I, it passes C>. Surrogates, non-character code +points, and non-Unicode code points are allowed. =cut @@ -394,7 +409,7 @@ UTF-8 invariant, this function does not change the contents of C<*ep>. */ PERL_STATIC_INLINE bool -S_is_utf8_invariant_string_loc(const U8* const s, STRLEN len, const U8 ** ep) +Perl_is_utf8_invariant_string_loc(const U8* const s, STRLEN len, const U8 ** ep) { const U8* send; const U8* x = s; @@ -466,7 +481,7 @@ S_is_utf8_invariant_string_loc(const U8* const s, STRLEN len, const U8 ** ep) # if BYTEORDER == 0x1234 || BYTEORDER == 0x12345678 \ || BYTEORDER == 0x4321 || BYTEORDER == 0x87654321 - *ep = x + _variant_byte_number(* (PERL_UINTMAX_T *) x); + *ep = x + variant_byte_number(* (PERL_UINTMAX_T *) x); assert(*ep >= s && *ep < send); return FALSE; @@ -504,7 +519,7 @@ S_is_utf8_invariant_string_loc(const U8* const s, STRLEN len, const U8 ** ep) #ifndef EBCDIC PERL_STATIC_INLINE unsigned int -S__variant_byte_number(PERL_UINTMAX_T word) +Perl_variant_byte_number(PERL_UINTMAX_T word) { /* This returns the position in a word (0..7) of the first variant byte in @@ -515,24 +530,7 @@ S__variant_byte_number(PERL_UINTMAX_T word) /* Get just the msb bits of each byte */ word &= PERL_VARIANTS_WORD_MASK; -# ifdef USING_MSVC6 /* VC6 has some issues with the normal code, and the - easiest thing is to hide that from the callers */ - { - unsigned int i; - const U8 * s = (U8 *) &word; - dTHX; - - for (i = 0; i < sizeof(word); i++ ) { - if (s[i]) { - return i; - } - } - - Perl_croak(aTHX_ "panic: %s: %d: unexpected zero word\n", - __FILE__, __LINE__); - } - -# elif BYTEORDER == 0x1234 || BYTEORDER == 0x12345678 +# if BYTEORDER == 0x1234 || BYTEORDER == 0x12345678 /* Bytes are stored like * Byte8 ... Byte2 Byte1 @@ -541,7 +539,7 @@ S__variant_byte_number(PERL_UINTMAX_T word) * Isolate the lsb; * https://stackoverflow.com/questions/757059/position-of-least-significant-bit-that-is-set * - * The word will look this this, with a rightmost set bit in position 's': + * The word will look like this, with a rightmost set bit in position 's': * ('x's are don't cares) * s * x..x100..0 @@ -757,7 +755,7 @@ at this low a level. A valid use case could change that. */ PERL_STATIC_INLINE bool -S_is_utf8_non_invariant_string(const U8* const s, STRLEN len) +Perl_is_utf8_non_invariant_string(const U8* const s, STRLEN len) { const U8 * first_variant; @@ -891,7 +889,7 @@ C>. */ PERL_STATIC_INLINE bool -S_is_utf8_string_flags(const U8 *s, STRLEN len, const U32 flags) +Perl_is_utf8_string_flags(const U8 *s, STRLEN len, const U32 flags) { const U8 * first_variant; @@ -1013,7 +1011,7 @@ Perl_is_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el) /* -=for apidoc Am|STRLEN|isUTF8_CHAR|const U8 *s|const U8 *e +=for apidoc isUTF8_CHAR Evaluates to non-zero if the first few bytes of the string starting at C and looking no further than S> are well-formed UTF-8, as extended by Perl, @@ -1042,7 +1040,7 @@ machines) is a valid UTF-8 character. =cut This uses an adaptation of the table and algorithm given in -http://bjoern.hoehrmann.de/utf-8/decoder/dfa/, which provides comprehensive +https://bjoern.hoehrmann.de/utf-8/decoder/dfa/, which provides comprehensive documentation of the original version. A copyright notice for the original version is given at the beginning of this file. The Perl adapation is documented at the definition of PL_extended_utf8_dfa_tab[]. @@ -1050,7 +1048,7 @@ documented at the definition of PL_extended_utf8_dfa_tab[]. */ PERL_STATIC_INLINE Size_t -S_isUTF8_CHAR(const U8 * const s0, const U8 * const e) +Perl_isUTF8_CHAR(const U8 * const s0, const U8 * const e) { const U8 * s = s0; UV state = 0; @@ -1078,7 +1076,7 @@ S_isUTF8_CHAR(const U8 * const s0, const U8 * const e) #if defined(UV_IS_QUAD) || defined(EBCDIC) if (NATIVE_UTF8_TO_I8(*s0) == 0xFF && e - s0 >= UTF8_MAXBYTES) { - return _is_utf8_char_helper(s0, e, 0); + return is_utf8_char_helper(s0, e, 0); } #endif @@ -1116,7 +1114,7 @@ C> to check entire strings. =cut This uses an adaptation of the tables and algorithm given in -http://bjoern.hoehrmann.de/utf-8/decoder/dfa/, which provides comprehensive +https://bjoern.hoehrmann.de/utf-8/decoder/dfa/, which provides comprehensive documentation of the original version. A copyright notice for the original version is given at the beginning of this file. The Perl adapation is documented at the definition of strict_extended_utf8_dfa_tab[]. @@ -1124,7 +1122,7 @@ documented at the definition of strict_extended_utf8_dfa_tab[]. */ PERL_STATIC_INLINE Size_t -S_isSTRICT_UTF8_CHAR(const U8 * const s0, const U8 * const e) +Perl_isSTRICT_UTF8_CHAR(const U8 * const s0, const U8 * const e) { const U8 * s = s0; UV state = 0; @@ -1156,7 +1154,7 @@ S_isSTRICT_UTF8_CHAR(const U8 * const s0, const U8 * const e) /* -=for apidoc Am|STRLEN|isC9_STRICT_UTF8_CHAR|const U8 *s|const U8 *e +=for apidoc isC9_STRICT_UTF8_CHAR Evaluates to non-zero if the first few bytes of the string starting at C and looking no further than S> are well-formed UTF-8 that represents some @@ -1182,7 +1180,7 @@ C> to check entire strings. =cut This uses an adaptation of the tables and algorithm given in -http://bjoern.hoehrmann.de/utf-8/decoder/dfa/, which provides comprehensive +https://bjoern.hoehrmann.de/utf-8/decoder/dfa/, which provides comprehensive documentation of the original version. A copyright notice for the original version is given at the beginning of this file. The Perl adapation is documented at the definition of PL_c9_utf8_dfa_tab[]. @@ -1190,7 +1188,7 @@ documented at the definition of PL_c9_utf8_dfa_tab[]. */ PERL_STATIC_INLINE Size_t -S_isC9_STRICT_UTF8_CHAR(const U8 * const s0, const U8 * const e) +Perl_isC9_STRICT_UTF8_CHAR(const U8 * const s0, const U8 * const e) { const U8 * s = s0; UV state = 0; @@ -1242,7 +1240,7 @@ See also C>. */ PERL_STATIC_INLINE bool -S_is_strict_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el) +Perl_is_strict_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el) { const U8 * first_variant; @@ -1319,7 +1317,7 @@ See also C>. */ PERL_STATIC_INLINE bool -S_is_c9strict_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el) +Perl_is_c9strict_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el) { const U8 * first_variant; @@ -1401,7 +1399,7 @@ See also C>. */ PERL_STATIC_INLINE bool -S_is_utf8_string_loclen_flags(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el, const U32 flags) +Perl_is_utf8_string_loclen_flags(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el, const U32 flags) { const U8 * first_variant; @@ -1601,7 +1599,7 @@ Perl_utf8_hop_back(const U8 *s, SSize_t off, const U8 *start) s--; } while (UTF8_IS_CONTINUATION(*s) && s > start); } - + GCC_DIAG_IGNORE(-Wcast-qual) return (U8 *)s; GCC_DIAG_RESTORE @@ -1691,7 +1689,7 @@ determined from just the first one or two bytes. */ PERL_STATIC_INLINE bool -S_is_utf8_valid_partial_char_flags(const U8 * const s, const U8 * const e, const U32 flags) +Perl_is_utf8_valid_partial_char_flags(const U8 * const s, const U8 * const e, const U32 flags) { PERL_ARGS_ASSERT_IS_UTF8_VALID_PARTIAL_CHAR_FLAGS; @@ -1702,7 +1700,7 @@ S_is_utf8_valid_partial_char_flags(const U8 * const s, const U8 * const e, const return FALSE; } - return cBOOL(_is_utf8_char_helper(s, e, flags)); + return cBOOL(is_utf8_char_helper(s, e, flags)); } /* @@ -1759,7 +1757,7 @@ complete, valid characters found in the C pointer. */ PERL_STATIC_INLINE bool -S_is_utf8_fixed_width_buf_loclen_flags(const U8 * const s, +Perl_is_utf8_fixed_width_buf_loclen_flags(const U8 * const s, STRLEN len, const U8 **ep, STRLEN *el, @@ -1780,7 +1778,7 @@ S_is_utf8_fixed_width_buf_loclen_flags(const U8 * const s, } PERL_STATIC_INLINE UV -S_utf8n_to_uvchr_msgs(const U8 *s, +Perl_utf8n_to_uvchr_msgs(const U8 *s, STRLEN curlen, STRLEN *retlen, const U32 flags, @@ -1794,7 +1792,7 @@ S_utf8n_to_uvchr_msgs(const U8 *s, * will need to be called. * * This is an adaptation of the tables and algorithm given in - * http://bjoern.hoehrmann.de/utf-8/decoder/dfa/, which provides + * https://bjoern.hoehrmann.de/utf-8/decoder/dfa/, which provides * comprehensive documentation of the original version. A copyright notice * for the original version is given at the beginning of this file. The * Perl adapation is documented at the definition of PL_strict_utf8_dfa_tab[]. @@ -1835,32 +1833,62 @@ S_utf8n_to_uvchr_msgs(const U8 *s, *msgs = NULL; } - return uv; + return UNI_TO_NATIVE(uv); } /* Here is potentially problematic. Use the full mechanism */ return _utf8n_to_uvchr_msgs_helper(s0, curlen, retlen, flags, errors, msgs); } +PERL_STATIC_INLINE UV +Perl_utf8_to_uvchr_buf_helper(pTHX_ const U8 *s, const U8 *send, STRLEN *retlen) +{ + PERL_ARGS_ASSERT_UTF8_TO_UVCHR_BUF_HELPER; + + assert(s < send); + + if (! ckWARN_d(WARN_UTF8)) { + + /* EMPTY is not really allowed, and asserts on debugging builds. But + * on non-debugging we have to deal with it, and this causes it to + * return the REPLACEMENT CHARACTER, as the documentation indicates */ + return utf8n_to_uvchr(s, send - s, retlen, + (UTF8_ALLOW_ANY | UTF8_ALLOW_EMPTY)); + } + else { + UV ret = utf8n_to_uvchr(s, send - s, retlen, 0); + if (retlen && ret == 0 && *s != '\0') { + *retlen = (STRLEN) -1; + } + + return ret; + } +} + /* ------------------------------- perl.h ----------------------------- */ /* =head1 Miscellaneous Functions -=for apidoc AiR|bool|is_safe_syscall|const char *pv|STRLEN len|const char *what|const char *op_name +=for apidoc is_safe_syscall -Test that the given C doesn't contain any internal C characters. -If it does, set C to C, optionally warn, and return FALSE. +Test that the given C (with length C) doesn't contain any internal +C characters. +If it does, set C to C, optionally warn using the C +category, and return FALSE. Return TRUE if the name is safe. +C and C are used in any warning. + Used by the C macro. =cut */ PERL_STATIC_INLINE bool -S_is_safe_syscall(pTHX_ const char *pv, STRLEN len, const char *what, const char *op_name) { +Perl_is_safe_syscall(pTHX_ const char *pv, STRLEN len, const char *what, const char *op_name) +{ /* While the Windows CE API provides only UCS-16 (or UTF-16) APIs * perl itself uses xce*() functions which accept 8-bit strings. */ @@ -1901,7 +1929,8 @@ then calling: #ifdef PERL_CORE PERL_STATIC_INLINE bool -S_should_warn_nl(const char *pv) { +S_should_warn_nl(const char *pv) +{ STRLEN len; PERL_ARGS_ASSERT_SHOULD_WARN_NL; @@ -1913,13 +1942,81 @@ S_should_warn_nl(const char *pv) { #endif +#if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C) + +PERL_STATIC_INLINE bool +S_lossless_NV_to_IV(const NV nv, IV *ivp) +{ + /* This function determines if the input NV 'nv' may be converted without + * loss of data to an IV. If not, it returns FALSE taking no other action. + * But if it is possible, it does the conversion, returning TRUE, and + * storing the converted result in '*ivp' */ + + PERL_ARGS_ASSERT_LOSSLESS_NV_TO_IV; + +# if defined(Perl_isnan) + + if (UNLIKELY(Perl_isnan(nv))) { + return FALSE; + } + +# endif + + if (UNLIKELY(nv < IV_MIN) || UNLIKELY(nv > IV_MAX)) { + return FALSE; + } + + if ((IV) nv != nv) { + return FALSE; + } + + *ivp = (IV) nv; + return TRUE; +} + +#endif + +/* ------------------ regcomp.c, toke.c ------------ */ + +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C) + +/* + - regcurly - a little FSA that accepts {\d+,?\d*} + Pulled from reg.c. + */ +PERL_STATIC_INLINE bool +S_regcurly(const char *s) +{ + PERL_ARGS_ASSERT_REGCURLY; + + if (*s++ != '{') + return FALSE; + if (!isDIGIT(*s)) + return FALSE; + while (isDIGIT(*s)) + s++; + if (*s == ',') { + s++; + while (isDIGIT(*s)) + s++; + } + + return *s == '}'; +} + +#endif + /* ------------------ pp.c, regcomp.c, toke.c, universal.c ------------ */ +#if defined(PERL_IN_PP_C) || defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_UNIVERSAL_C) + #define MAX_CHARSET_NAME_LENGTH 2 PERL_STATIC_INLINE const char * -get_regex_charset_name(const U32 flags, STRLEN* const lenp) +S_get_regex_charset_name(const U32 flags, STRLEN* const lenp) { + PERL_ARGS_ASSERT_GET_REGEX_CHARSET_NAME; + /* Returns a string that corresponds to the name of the regex character set * given by 'flags', and *lenp is set the length of that string, which * cannot exceed MAX_CHARSET_NAME_LENGTH characters */ @@ -1940,6 +2037,8 @@ get_regex_charset_name(const U32 flags, STRLEN* const lenp) return "?"; /* Unknown */ } +#endif + /* Return false if any get magic is on the SV other than taint magic. @@ -1947,7 +2046,8 @@ Return false if any get magic is on the SV other than taint magic. */ PERL_STATIC_INLINE bool -S_sv_only_taint_gmagic(SV *sv) { +Perl_sv_only_taint_gmagic(SV *sv) +{ MAGIC *mg = SvMAGIC(sv); PERL_ARGS_ASSERT_SV_ONLY_TAINT_GMAGIC; @@ -1966,11 +2066,28 @@ S_sv_only_taint_gmagic(SV *sv) { /* ------------------ cop.h ------------------------------------------- */ +/* implement GIMME_V() macro */ + +PERL_STATIC_INLINE U8 +Perl_gimme_V(pTHX) +{ + I32 cxix; + U8 gimme = (PL_op->op_flags & OPf_WANT); + + if (gimme) + return gimme; + cxix = PL_curstackinfo->si_cxsubix; + if (cxix < 0) + return G_VOID; + assert(cxstack[cxix].blk_gimme & G_WANT); + return (cxstack[cxix].blk_gimme & G_WANT); +} + /* Enter a block. Push a new base context and return its address. */ PERL_STATIC_INLINE PERL_CONTEXT * -S_cx_pushblock(pTHX_ U8 type, U8 gimme, SV** sp, I32 saveix) +Perl_cx_pushblock(pTHX_ U8 type, U8 gimme, SV** sp, I32 saveix) { PERL_CONTEXT * cx; @@ -1997,7 +2114,7 @@ S_cx_pushblock(pTHX_ U8 type, U8 gimme, SV** sp, I32 saveix) /* Exit a block (RETURN and LAST). */ PERL_STATIC_INLINE void -S_cx_popblock(pTHX_ PERL_CONTEXT *cx) +Perl_cx_popblock(pTHX_ PERL_CONTEXT *cx) { PERL_ARGS_ASSERT_CX_POPBLOCK; @@ -2022,7 +2139,7 @@ S_cx_popblock(pTHX_ PERL_CONTEXT *cx) * *after* cx_pushblock() was called. */ PERL_STATIC_INLINE void -S_cx_topblock(pTHX_ PERL_CONTEXT *cx) +Perl_cx_topblock(pTHX_ PERL_CONTEXT *cx) { PERL_ARGS_ASSERT_CX_TOPBLOCK; @@ -2037,13 +2154,15 @@ S_cx_topblock(pTHX_ PERL_CONTEXT *cx) PERL_STATIC_INLINE void -S_cx_pushsub(pTHX_ PERL_CONTEXT *cx, CV *cv, OP *retop, bool hasargs) +Perl_cx_pushsub(pTHX_ PERL_CONTEXT *cx, CV *cv, OP *retop, bool hasargs) { U8 phlags = CX_PUSHSUB_GET_LVALUE_MASK(Perl_was_lvalue_sub); PERL_ARGS_ASSERT_CX_PUSHSUB; PERL_DTRACE_PROBE_ENTRY(cv); + cx->blk_sub.old_cxsubix = PL_curstackinfo->si_cxsubix; + PL_curstackinfo->si_cxsubix = cx - PL_curstackinfo->si_cxstack; cx->blk_sub.cv = cv; cx->blk_sub.olddepth = CvDEPTH(cv); cx->blk_sub.prevcomppad = PL_comppad; @@ -2057,7 +2176,7 @@ S_cx_pushsub(pTHX_ PERL_CONTEXT *cx, CV *cv, OP *retop, bool hasargs) /* subsets of cx_popsub() */ PERL_STATIC_INLINE void -S_cx_popsub_common(pTHX_ PERL_CONTEXT *cx) +Perl_cx_popsub_common(pTHX_ PERL_CONTEXT *cx) { CV *cv; @@ -2070,13 +2189,14 @@ S_cx_popsub_common(pTHX_ PERL_CONTEXT *cx) CvDEPTH(cv) = cx->blk_sub.olddepth; cx->blk_sub.cv = NULL; SvREFCNT_dec(cv); + PL_curstackinfo->si_cxsubix = cx->blk_sub.old_cxsubix; } /* handle the @_ part of leaving a sub */ PERL_STATIC_INLINE void -S_cx_popsub_args(pTHX_ PERL_CONTEXT *cx) +Perl_cx_popsub_args(pTHX_ PERL_CONTEXT *cx) { AV *av; @@ -2098,7 +2218,7 @@ S_cx_popsub_args(pTHX_ PERL_CONTEXT *cx) PERL_STATIC_INLINE void -S_cx_popsub(pTHX_ PERL_CONTEXT *cx) +Perl_cx_popsub(pTHX_ PERL_CONTEXT *cx) { PERL_ARGS_ASSERT_CX_POPSUB; assert(CxTYPE(cx) == CXt_SUB); @@ -2112,10 +2232,12 @@ S_cx_popsub(pTHX_ PERL_CONTEXT *cx) PERL_STATIC_INLINE void -S_cx_pushformat(pTHX_ PERL_CONTEXT *cx, CV *cv, OP *retop, GV *gv) +Perl_cx_pushformat(pTHX_ PERL_CONTEXT *cx, CV *cv, OP *retop, GV *gv) { PERL_ARGS_ASSERT_CX_PUSHFORMAT; + cx->blk_format.old_cxsubix = PL_curstackinfo->si_cxsubix; + PL_curstackinfo->si_cxsubix= cx - PL_curstackinfo->si_cxstack; cx->blk_format.cv = cv; cx->blk_format.retop = retop; cx->blk_format.gv = gv; @@ -2130,7 +2252,7 @@ S_cx_pushformat(pTHX_ PERL_CONTEXT *cx, CV *cv, OP *retop, GV *gv) PERL_STATIC_INLINE void -S_cx_popformat(pTHX_ PERL_CONTEXT *cx) +Perl_cx_popformat(pTHX_ PERL_CONTEXT *cx) { CV *cv; GV *dfout; @@ -2149,14 +2271,17 @@ S_cx_popformat(pTHX_ PERL_CONTEXT *cx) cx->blk_format.cv = NULL; --CvDEPTH(cv); SvREFCNT_dec_NN(cv); + PL_curstackinfo->si_cxsubix = cx->blk_format.old_cxsubix; } PERL_STATIC_INLINE void -S_cx_pusheval(pTHX_ PERL_CONTEXT *cx, OP *retop, SV *namesv) +Perl_cx_pusheval(pTHX_ PERL_CONTEXT *cx, OP *retop, SV *namesv) { PERL_ARGS_ASSERT_CX_PUSHEVAL; + cx->blk_eval.old_cxsubix = PL_curstackinfo->si_cxsubix; + PL_curstackinfo->si_cxsubix= cx - PL_curstackinfo->si_cxstack; cx->blk_eval.retop = retop; cx->blk_eval.old_namesv = namesv; cx->blk_eval.old_eval_root = PL_eval_root; @@ -2171,7 +2296,7 @@ S_cx_pusheval(pTHX_ PERL_CONTEXT *cx, OP *retop, SV *namesv) PERL_STATIC_INLINE void -S_cx_popeval(pTHX_ PERL_CONTEXT *cx) +Perl_cx_popeval(pTHX_ PERL_CONTEXT *cx) { SV *sv; @@ -2192,6 +2317,7 @@ S_cx_popeval(pTHX_ PERL_CONTEXT *cx) cx->blk_eval.old_namesv = NULL; SvREFCNT_dec_NN(sv); } + PL_curstackinfo->si_cxsubix = cx->blk_eval.old_cxsubix; } @@ -2203,7 +2329,7 @@ S_cx_popeval(pTHX_ PERL_CONTEXT *cx) */ PERL_STATIC_INLINE void -S_cx_pushloop_plain(pTHX_ PERL_CONTEXT *cx) +Perl_cx_pushloop_plain(pTHX_ PERL_CONTEXT *cx) { PERL_ARGS_ASSERT_CX_PUSHLOOP_PLAIN; cx->blk_loop.my_op = cLOOP; @@ -2215,7 +2341,7 @@ S_cx_pushloop_plain(pTHX_ PERL_CONTEXT *cx) */ PERL_STATIC_INLINE void -S_cx_pushloop_for(pTHX_ PERL_CONTEXT *cx, void *itervarp, SV* itersave) +Perl_cx_pushloop_for(pTHX_ PERL_CONTEXT *cx, void *itervarp, SV* itersave) { PERL_ARGS_ASSERT_CX_PUSHLOOP_FOR; @@ -2233,7 +2359,7 @@ S_cx_pushloop_for(pTHX_ PERL_CONTEXT *cx, void *itervarp, SV* itersave) /* pop all loop types, including plain */ PERL_STATIC_INLINE void -S_cx_poploop(pTHX_ PERL_CONTEXT *cx) +Perl_cx_poploop(pTHX_ PERL_CONTEXT *cx) { PERL_ARGS_ASSERT_CX_POPLOOP; @@ -2266,7 +2392,7 @@ S_cx_poploop(pTHX_ PERL_CONTEXT *cx) PERL_STATIC_INLINE void -S_cx_pushwhen(pTHX_ PERL_CONTEXT *cx) +Perl_cx_pushwhen(pTHX_ PERL_CONTEXT *cx) { PERL_ARGS_ASSERT_CX_PUSHWHEN; @@ -2275,7 +2401,7 @@ S_cx_pushwhen(pTHX_ PERL_CONTEXT *cx) PERL_STATIC_INLINE void -S_cx_popwhen(pTHX_ PERL_CONTEXT *cx) +Perl_cx_popwhen(pTHX_ PERL_CONTEXT *cx) { PERL_ARGS_ASSERT_CX_POPWHEN; assert(CxTYPE(cx) == CXt_WHEN); @@ -2287,7 +2413,7 @@ S_cx_popwhen(pTHX_ PERL_CONTEXT *cx) PERL_STATIC_INLINE void -S_cx_pushgiven(pTHX_ PERL_CONTEXT *cx, SV *orig_defsv) +Perl_cx_pushgiven(pTHX_ PERL_CONTEXT *cx, SV *orig_defsv) { PERL_ARGS_ASSERT_CX_PUSHGIVEN; @@ -2297,7 +2423,7 @@ S_cx_pushgiven(pTHX_ PERL_CONTEXT *cx, SV *orig_defsv) PERL_STATIC_INLINE void -S_cx_popgiven(pTHX_ PERL_CONTEXT *cx) +Perl_cx_popgiven(pTHX_ PERL_CONTEXT *cx) { SV *sv; @@ -2396,6 +2522,36 @@ Perl_foldEQ_locale(const char *s1, const char *s2, I32 len) return 1; } +/* +=for apidoc my_strnlen + +The C library C if available, or a Perl implementation of it. + +C computes the length of the string, up to C +characters. It will never attempt to address more than C +characters, making it suitable for use with strings that are not +guaranteed to be NUL-terminated. + +=cut + +Description stolen from http://man.openbsd.org/strnlen.3, +implementation stolen from PostgreSQL. +*/ +#ifndef HAS_STRNLEN + +PERL_STATIC_INLINE Size_t +Perl_my_strnlen(const char *str, Size_t maxlen) +{ + const char *end = (char *) memchr(str, '\0', maxlen); + + PERL_ARGS_ASSERT_MY_STRNLEN; + + if (end == NULL) return maxlen; + return end - str; +} + +#endif + #if ! defined (HAS_MEMRCHR) && (defined(PERL_CORE) || defined(PERL_EXT)) PERL_STATIC_INLINE void * @@ -2419,6 +2575,59 @@ S_my_memrchr(const char * s, const char c, const STRLEN len) #endif +PERL_STATIC_INLINE char * +Perl_mortal_getenv(const char * str) +{ + /* This implements a (mostly) thread-safe, sequential-call-safe getenv(). + * + * It's (mostly) thread-safe because it uses a mutex to prevent + * simultaneous access from other threads that use the same mutex, and + * makes a copy of the result before releasing that mutex. All of the Perl + * core uses that mutex, but, like all mutexes, everything has to cooperate + * for it to completely work. It is possible for code from, say XS, to not + * use this mutex, defeating the safety. + * + * On some platforms, getenv() is not sequential-call-safe, because + * subsequent calls destroy the static storage inside the C library + * returned by an earlier call. The result must be copied or completely + * acted upon before a subsequent getenv call. Those calls could come from + * another thread. Again, making a copy while controlling the mutex + * prevents these problems.. + * + * To prevent leaks, the copy is made by creating a new SV containing it, + * mortalizing the SV, and returning the SV's string (the copy). Thus this + * is a drop-in replacement for getenv(). + * + * A complication is that this can be called during phases where the + * mortalization process isn't available. These are in interpreter + * destruction or early in construction. khw believes that at these times + * there shouldn't be anything else going on, so plain getenv is safe AS + * LONG AS the caller acts on the return before calling it again. */ + + char * ret; + dTHX; + + PERL_ARGS_ASSERT_MORTAL_GETENV; + + /* Can't mortalize without stacks. khw believes that no other threads + * should be running, so no need to lock things, and this may be during a + * phase when locking isn't even available */ + if (UNLIKELY(PL_scopestack_ix == 0)) { + return getenv(str); + } + + ENV_LOCK; + + ret = getenv(str); + + if (ret != NULL) { + ret = SvPVX(sv_2mortal(newSVpv(ret, 0))); + } + + ENV_UNLOCK; + return ret; +} + /* * ex: set ts=8 sts=4 sw=4 et: */ diff --git a/Master/tlpkg/tlperl/lib/CORE/intrpvar.h b/Master/tlpkg/tlperl/lib/CORE/intrpvar.h index e33036601b0..23de9d9cee9 100644 --- a/Master/tlpkg/tlperl/lib/CORE/intrpvar.h +++ b/Master/tlpkg/tlperl/lib/CORE/intrpvar.h @@ -75,7 +75,7 @@ PERLVAR(I, multideref_pc, UNOP_AUX_item *) PERLVAR(I, curpm, PMOP *) /* what to do \ interps in REs from */ PERLVAR(I, curpm_under, PMOP *) /* what to do \ interps in REs from */ -PERLVAR(I, tainting, bool) /* doing taint checks */ +PERLVAR(I, tainting, bool) /* ? doing taint checks */ PERLVARI(I, tainted, bool, FALSE) /* using variables controlled by $< */ /* PL_delaymagic is currently used for two purposes: to assure simultaneous @@ -93,6 +93,14 @@ PERLVARI(I, tainted, bool, FALSE) /* using variables controlled by $< */ */ PERLVAR(I, delaymagic, U16) /* ($<,$>) = ... */ +/* +=for apidoc Amn|GV *|PL_defgv + +The GV representing C<*_>. Useful for access to C<$_>. + +=cut +*/ + PERLVAR(I, localizing, U8) /* are we processing a local() list? */ PERLVAR(I, in_eval, U8) /* trap "fatal" errors? */ PERLVAR(I, defgv, GV *) /* the *_ glob */ @@ -117,11 +125,27 @@ PERLVAR(I, dowarn, U8) PERLVARI(I, utf8cache, I8, PERL___I) /* Is the utf8 caching code enabled? */ #undef PERL___I +/* +=for apidoc Amn|HV*|PL_curstash + +The stash for the package code will be compiled into. + +=cut +*/ /* Stashes */ PERLVAR(I, defstash, HV *) /* main symbol table */ PERLVAR(I, curstash, HV *) /* symbol table for current package */ +/* +=for apidoc Amn|COP*|PL_curcop + +The currently active COP (control op) roughly representing the current +statement in the source. + +=cut +*/ + PERLVAR(I, curcop, COP *) PERLVAR(I, curstack, AV *) /* THE STACK */ PERLVAR(I, curstackinfo, PERL_SI *) /* current stack + context */ @@ -181,7 +205,6 @@ PERLVARA(I, sv_immortals, 4, SV) PERLVAR(I, padname_undef, PADNAME) PERLVAR(I, padname_const, PADNAME) PERLVAR(I, Sv, SV *) /* used to hold temporary values */ - PERLVAR(I, parser, yy_parser *) /* current parser state */ PERLVAR(I, stashcache, HV *) /* Cache to speed up S_method_common */ @@ -257,6 +280,42 @@ PERLVAR(I, efloatsize, STRLEN) PERLVARI(I, dumpindent, U16, 4) /* number of blanks per dump indentation level */ +/* +=for apidoc Amn|U8|PL_exit_flags + +Contains flags controlling perl's behaviour on exit(): + +=over + +=item * C + +If set, END blocks are executed when the interpreter is destroyed. +This is normally set by perl itself after the interpreter is +constructed. + +=item * C + +Call C on exit. This is used internally by perl itself to +abort if exit is called while processing exit. + +=item * C + +Warn on exit. + +=item * C + +Set by the L operator. + +=back + +=for apidoc Amnh||PERL_EXIT_EXPECTED +=for apidoc Amnh||PERL_EXIT_ABORT +=for apidoc Amnh||PERL_EXIT_DESTRUCT_END +=for apidoc Amnh||PERL_EXIT_WARN + +=cut +*/ + PERLVAR(I, exit_flags, U8) /* was exit() unexpected, etc. */ PERLVAR(I, utf8locale, bool) /* utf8 locale detected */ @@ -557,7 +616,11 @@ PERLVAR(I, pidstatus, HV *) /* pid-to-status mappings for waitpid */ #endif PERLVAR(I, osname, char *) /* operating system */ -PERLVAR(I, sighandlerp, Sighandler_t) +PERLVAR(I, sighandlerp, Sighandler_t) +/* these two are provided only to solve library linkage issues; they + * should not be hooked by user code */ +PERLVAR(I, sighandler1p, Sighandler1_t) +PERLVAR(I, sighandler3p, Sighandler3_t) PERLVARA(I, body_roots, PERL_ARENA_ROOTS_SIZE, void*) /* array of body roots */ @@ -565,6 +628,14 @@ PERLVAR(I, debug, volatile U32) /* flags given to -D switch */ PERLVARI(I, padlist_generation, U32, 1) /* id to identify padlist clones */ +/* +=for apidoc Amn|runops_proc_t|PL_runops + +See L. + +=cut +*/ + PERLVARI(I, runops, runops_proc_t, RUNOPS_DEFAULT) PERLVAR(I, subname, SV *) /* name of current subroutine */ @@ -619,8 +690,28 @@ PERLVARI(I, phase, enum perl_phase, PERL_PHASE_CONSTRUCT) PERLVARI(I, in_load_module, bool, FALSE) /* to prevent recursions in PerlIO_find_layer */ -/* This value may be set when embedding for full cleanup */ -/* 0=none, 1=full, 2=full with checks */ +/* +=for apidoc Amn|signed char|PL_perl_destruct_level + +This value may be set when embedding for full cleanup. + +Possible values: + +=over + +=item * 0 - none + +=item * 1 - full + +=item * 2 or greater - full with checks. + +=back + +If C<$ENV{PERL_DESTRUCT_LEVEL}> is set to an integer greater than the +value of C its value is used instead. + +=cut +*/ /* mod_perl is special, and also assigns a meaning -1 */ PERLVARI(I, perl_destruct_level, signed char, 0) @@ -641,15 +732,6 @@ PERLVARI(I, underlying_numeric_obj, locale_t, NULL) # endif #endif /* !USE_LOCALE_NUMERIC */ -/* utf8 character class swashes */ -PERLVAR(I, seen_deprecated_macro, HV *) - -PERLVAR(I, last_swash_hv, HV *) -PERLVAR(I, last_swash_tmps, U8 *) -PERLVAR(I, last_swash_slen, STRLEN) -PERLVARA(I, last_swash_key,UTF8_MAXBYTES-1, U8) -PERLVAR(I, last_swash_klen, U8) /* Only needs to store 0-12 */ - #ifdef FCRYPT PERLVARI(I, cryptseen, bool, FALSE) /* has fast crypt() been initialized? */ #else @@ -711,8 +793,6 @@ PERLVARI(I, known_layers, PerlIO_list_t *, NULL) PERLVARI(I, def_layerlist, PerlIO_list_t *, NULL) #endif -PERLVAR(I, sort_RealCmp, SVCOMPARE_t) - PERLVARI(I, checkav_save, AV *, NULL) /* save CHECK{}s when compiling */ PERLVARI(I, unitcheckav_save, AV *, NULL) /* save UNITCHECK{}s when compiling */ @@ -722,6 +802,8 @@ PERLVARI(I, clocktick, long, 0) /* this many times() ticks in a second */ /* Hooks to shared SVs and locks. */ PERLVARI(I, sharehook, share_proc_t, Perl_sv_nosharing) PERLVARI(I, lockhook, share_proc_t, Perl_sv_nosharing) + +GCC_DIAG_IGNORE(-Wdeprecated-declarations) #ifdef NO_MATHOMS # define PERL_UNLOCK_HOOK Perl_sv_nosharing #else @@ -730,6 +812,8 @@ PERLVARI(I, lockhook, share_proc_t, Perl_sv_nosharing) #endif PERLVARI(I, unlockhook, share_proc_t, PERL_UNLOCK_HOOK) +GCC_DIAG_RESTORE + PERLVARI(I, threadhook, thrhook_proc_t, Perl_nothreadhook) /* Can shared object be destroyed */ @@ -815,6 +899,57 @@ PERLVARI(I, dump_re_max_len, STRLEN, 60) PERLVAR(I, internal_random_state, PL_RANDOM_STATE_TYPE) +PERLVARA(I, TR_SPECIAL_HANDLING_UTF8, UTF8_MAXBYTES, char) + +PERLVAR(I, AboveLatin1, SV *) +PERLVAR(I, Assigned_invlist, SV *) +PERLVAR(I, GCB_invlist, SV *) +PERLVAR(I, HasMultiCharFold, SV *) +PERLVAR(I, InMultiCharFold, SV *) +PERLVAR(I, Latin1, SV *) +PERLVAR(I, LB_invlist, SV *) +PERLVAR(I, SB_invlist, SV *) +PERLVAR(I, SCX_invlist, SV *) +PERLVAR(I, UpperLatin1, SV *) /* Code points 128 - 255 */ + +/* List of characters that participate in any fold defined by Unicode */ +PERLVAR(I, in_some_fold, SV *) + +/* Everything that folds to a given character, for case insensitivity regex + * matching */ +PERLVAR(I, utf8_foldclosures, SV *) + +PERLVAR(I, utf8_idcont, SV *) +PERLVAR(I, utf8_idstart, SV *) +PERLVAR(I, utf8_perl_idcont, SV *) +PERLVAR(I, utf8_perl_idstart, SV *) +PERLVAR(I, utf8_xidcont, SV *) +PERLVAR(I, utf8_xidstart, SV *) +PERLVAR(I, WB_invlist, SV *) +PERLVARA(I, XPosix_ptrs, POSIX_CC_COUNT, SV *) +PERLVARA(I, Posix_ptrs, POSIX_CC_COUNT, SV *) +PERLVAR(I, utf8_toupper, SV *) +PERLVAR(I, utf8_totitle, SV *) +PERLVAR(I, utf8_tolower, SV *) +PERLVAR(I, utf8_tofold, SV *) +PERLVAR(I, utf8_tosimplefold, SV *) +PERLVAR(I, utf8_charname_begin, SV *) +PERLVAR(I, utf8_charname_continue, SV *) +PERLVAR(I, utf8_mark, SV *) +PERLVARI(I, InBitmap, SV *, NULL) +PERLVAR(I, CCC_non0_non230, SV *) +PERLVAR(I, Private_Use, SV *) + +#ifdef HAS_MBRLEN +PERLVAR(I, mbrlen_ps, mbstate_t) +#endif +#ifdef HAS_MBRTOWC +PERLVAR(I, mbrtowc_ps, mbstate_t) +#endif +#ifdef HAS_WCRTOMB +PERLVAR(I, wcrtomb_ps, mbstate_t) +#endif + /* If you are adding a U8 or U16, check to see if there are 'Space' comments * above on where there are gaps which currently will be structure padding. */ diff --git a/Master/tlpkg/tlperl/lib/CORE/invlist_inline.h b/Master/tlpkg/tlperl/lib/CORE/invlist_inline.h index 4bab3d83a69..f6ac8195335 100644 --- a/Master/tlpkg/tlperl/lib/CORE/invlist_inline.h +++ b/Master/tlpkg/tlperl/lib/CORE/invlist_inline.h @@ -9,7 +9,13 @@ #ifndef PERL_INVLIST_INLINE_H_ #define PERL_INVLIST_INLINE_H_ -#if defined(PERL_IN_UTF8_C) || defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_PP_C) +#if defined(PERL_IN_UTF8_C) \ + || defined(PERL_IN_REGCOMP_C) \ + || defined(PERL_IN_REGEXEC_C) \ + || defined(PERL_IN_TOKE_C) \ + || defined(PERL_IN_PP_C) \ + || defined(PERL_IN_OP_C) \ + || defined(PERL_IN_DOOP_C) /* An element is in an inversion list iff its index is even numbered: 0, 2, 4, * etc */ @@ -86,13 +92,157 @@ S_invlist_array(SV* const invlist) return ((UV *) SvPVX(invlist) + *get_invlist_offset_addr(invlist)); } -# if defined(PERL_IN_REGEXEC_C) +#endif +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_OP_C) || defined(PERL_IN_DOOP_C) + +PERL_STATIC_INLINE void +S_invlist_extend(pTHX_ SV* const invlist, const UV new_max) +{ + /* Grow the maximum size of an inversion list */ + + PERL_ARGS_ASSERT_INVLIST_EXTEND; + + assert(SvTYPE(invlist) == SVt_INVLIST); + + /* Add one to account for the zero element at the beginning which may not + * be counted by the calling parameters */ + SvGROW((SV *)invlist, TO_INTERNAL_SIZE(new_max + 1)); +} + +PERL_STATIC_INLINE void +S_invlist_set_len(pTHX_ SV* const invlist, const UV len, const bool offset) +{ + /* Sets the current number of elements stored in the inversion list. + * Updates SvCUR correspondingly */ + PERL_UNUSED_CONTEXT; + PERL_ARGS_ASSERT_INVLIST_SET_LEN; + + assert(SvTYPE(invlist) == SVt_INVLIST); + + SvCUR_set(invlist, + (len == 0) + ? 0 + : TO_INTERNAL_SIZE(len + offset)); + assert(SvLEN(invlist) == 0 || SvCUR(invlist) <= SvLEN(invlist)); +} + +PERL_STATIC_INLINE SV* +S_add_cp_to_invlist(pTHX_ SV* invlist, const UV cp) { + return _add_range_to_invlist(invlist, cp, cp); +} + +PERL_STATIC_INLINE UV +S_invlist_highest(SV* const invlist) +{ + /* Returns the highest code point that matches an inversion list. This API + * has an ambiguity, as it returns 0 under either the highest is actually + * 0, or if the list is empty. If this distinction matters to you, check + * for emptiness before calling this function */ + + UV len = _invlist_len(invlist); + UV *array; + + PERL_ARGS_ASSERT_INVLIST_HIGHEST; + + if (len == 0) { + return 0; + } + + array = invlist_array(invlist); + + /* The last element in the array in the inversion list always starts a + * range that goes to infinity. That range may be for code points that are + * matched in the inversion list, or it may be for ones that aren't + * matched. In the latter case, the highest code point in the set is one + * less than the beginning of this range; otherwise it is the final element + * of this range: infinity */ + return (ELEMENT_RANGE_MATCHES_INVLIST(len - 1)) + ? UV_MAX + : array[len - 1] - 1; +} + +#endif +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_OP_C) + +PERL_STATIC_INLINE STRLEN* +S_get_invlist_iter_addr(SV* invlist) +{ + /* Return the address of the UV that contains the current iteration + * position */ + + PERL_ARGS_ASSERT_GET_INVLIST_ITER_ADDR; + + assert(is_invlist(invlist)); + + return &(((XINVLIST*) SvANY(invlist))->iterator); +} + +PERL_STATIC_INLINE void +S_invlist_iterinit(SV* invlist) /* Initialize iterator for invlist */ +{ + PERL_ARGS_ASSERT_INVLIST_ITERINIT; + + *get_invlist_iter_addr(invlist) = 0; +} + +PERL_STATIC_INLINE void +S_invlist_iterfinish(SV* invlist) +{ + /* Terminate iterator for invlist. This is to catch development errors. + * Any iteration that is interrupted before completed should call this + * function. Functions that add code points anywhere else but to the end + * of an inversion list assert that they are not in the middle of an + * iteration. If they were, the addition would make the iteration + * problematical: if the iteration hadn't reached the place where things + * were being added, it would be ok */ + + PERL_ARGS_ASSERT_INVLIST_ITERFINISH; + + *get_invlist_iter_addr(invlist) = (STRLEN) UV_MAX; +} + +STATIC bool +S_invlist_iternext(SV* invlist, UV* start, UV* end) +{ + /* An C call on must be used to set this up. + * This call sets in <*start> and <*end>, the next range in . + * Returns if successful and the next call will return the next + * range; if was already at the end of the list. If the latter, + * <*start> and <*end> are unchanged, and the next call to this function + * will start over at the beginning of the list */ + + STRLEN* pos = get_invlist_iter_addr(invlist); + UV len = _invlist_len(invlist); + UV *array; + + PERL_ARGS_ASSERT_INVLIST_ITERNEXT; + + if (*pos >= len) { + *pos = (STRLEN) UV_MAX; /* Force iterinit() to be required next time */ + return FALSE; + } + + array = invlist_array(invlist); + + *start = array[(*pos)++]; + + if (*pos >= len) { + *end = UV_MAX; + } + else { + *end = array[(*pos)++] - 1; + } + + return TRUE; +} + +#endif + +#ifndef PERL_IN_REGCOMP_C /* These symbols are only needed later in regcomp.c */ # undef TO_INTERNAL_SIZE # undef FROM_INTERNAL_SIZE -# endif - #endif #endif /* PERL_INVLIST_INLINE_H_ */ diff --git a/Master/tlpkg/tlperl/lib/CORE/iperlsys.h b/Master/tlpkg/tlperl/lib/CORE/iperlsys.h index ee2c503dff5..c176ad5c559 100644 --- a/Master/tlpkg/tlperl/lib/CORE/iperlsys.h +++ b/Master/tlpkg/tlperl/lib/CORE/iperlsys.h @@ -3,9 +3,8 @@ * * This file defines the system level functionality that perl needs. * - * When using C, this definition is in the form of a set of macros - * that can be #defined to the system-level function (or a wrapper - * provided elsewhere). + * When using C, this definition is in the form of a set of macros that can be + * #defined to the system-level function (or a wrapper provided elsewhere). * * GSAR 21-JUN-98 */ @@ -19,8 +18,8 @@ * XXX := functional group * YYY := stdlib/OS function name * - * Continuing with the theme of PerlIO, all OS functionality was - * encapsulated into one of several interfaces. + * Continuing with the theme of PerlIO, all OS functionality was encapsulated + * into one of several interfaces. * * PerlIO - stdio * PerlLIO - low level I/O @@ -50,11 +49,14 @@ */ #include "perlio.h" +typedef Signal_t (*Sighandler1_t) (int); +typedef Signal_t (*Sighandler3_t) (int, Siginfo_t*, void*); + #ifndef Sighandler_t -# if defined(HAS_SIGACTION) && defined(SA_SIGINFO) -typedef Signal_t (*Sighandler_t) (int, siginfo_t*, void*); +# ifdef PERL_USE_3ARG_SIGHANDLER +typedef Sighandler3_t Sighandler_t; # else -typedef Signal_t (*Sighandler_t) (int); +typedef Sighandler1_t Sighandler_t; # endif #endif @@ -63,7 +65,7 @@ typedef Signal_t (*Sighandler_t) (int); /* IPerlStdIO */ struct IPerlStdIO; struct IPerlStdIOInfo; -typedef FILE* (*LPStdin)(struct IPerlStdIO*); +typedef FILE* (*LPStdin)(struct IPerlStdIO*); typedef FILE* (*LPStdout)(struct IPerlStdIO*); typedef FILE* (*LPStderr)(struct IPerlStdIO*); typedef FILE* (*LPOpen)(struct IPerlStdIO*, const char*, @@ -559,10 +561,18 @@ struct IPerlEnvInfo (*PL_Env->pGetChildIO)(PL_Env, ptr) #endif -#else /* PERL_IMPLICIT_SYS */ +#else /* below is ! PERL_IMPLICIT_SYS */ +# ifdef USE_ITHREADS -#define PerlEnv_putenv(str) putenv((str)) -#define PerlEnv_getenv(str) getenv((str)) + /* Use the comma operator to return 0/non-zero, while avoiding putting + * this in an inline function */ +# define PerlEnv_putenv(str) (ENV_LOCK, (putenv(str) \ + ? (ENV_UNLOCK, 1) \ + : (ENV_UNLOCK, 0))) +# else +# define PerlEnv_putenv(str) putenv(str) +# endif +#define PerlEnv_getenv(str) mortal_getenv(str) #define PerlEnv_getenv_len(str,l) getenv_len((str), (l)) #ifdef HAS_ENVGETENV # define PerlEnv_ENVgetenv(str) ENVgetenv((str)) @@ -585,7 +595,9 @@ struct IPerlEnvInfo #define PerlEnv_get_childdir() win32_get_childdir() #define PerlEnv_free_childdir(d) win32_free_childdir((d)) #else -#define PerlEnv_clearenv() clearenv() +#define PerlEnv_clearenv(str) (ENV_LOCK, (clearenv(str) \ + ? (ENV_UNLOCK, 1) \ + : (ENV_UNLOCK, 0))) #define PerlEnv_get_childenv() get_childenv() #define PerlEnv_free_childenv(e) free_childenv((e)) #define PerlEnv_get_childdir() get_childdir() diff --git a/Master/tlpkg/tlperl/lib/CORE/keywords.h b/Master/tlpkg/tlperl/lib/CORE/keywords.h index 2b1d598a4e7..23fa6944d89 100644 --- a/Master/tlpkg/tlperl/lib/CORE/keywords.h +++ b/Master/tlpkg/tlperl/lib/CORE/keywords.h @@ -123,152 +123,153 @@ #define KEY_index 107 #define KEY_int 108 #define KEY_ioctl 109 -#define KEY_join 110 -#define KEY_keys 111 -#define KEY_kill 112 -#define KEY_last 113 -#define KEY_lc 114 -#define KEY_lcfirst 115 -#define KEY_le 116 -#define KEY_length 117 -#define KEY_link 118 -#define KEY_listen 119 -#define KEY_local 120 -#define KEY_localtime 121 -#define KEY_lock 122 -#define KEY_log 123 -#define KEY_lstat 124 -#define KEY_lt 125 -#define KEY_m 126 -#define KEY_map 127 -#define KEY_mkdir 128 -#define KEY_msgctl 129 -#define KEY_msgget 130 -#define KEY_msgrcv 131 -#define KEY_msgsnd 132 -#define KEY_my 133 -#define KEY_ne 134 -#define KEY_next 135 -#define KEY_no 136 -#define KEY_not 137 -#define KEY_oct 138 -#define KEY_open 139 -#define KEY_opendir 140 -#define KEY_or 141 -#define KEY_ord 142 -#define KEY_our 143 -#define KEY_pack 144 -#define KEY_package 145 -#define KEY_pipe 146 -#define KEY_pop 147 -#define KEY_pos 148 -#define KEY_print 149 -#define KEY_printf 150 -#define KEY_prototype 151 -#define KEY_push 152 -#define KEY_q 153 -#define KEY_qq 154 -#define KEY_qr 155 -#define KEY_quotemeta 156 -#define KEY_qw 157 -#define KEY_qx 158 -#define KEY_rand 159 -#define KEY_read 160 -#define KEY_readdir 161 -#define KEY_readline 162 -#define KEY_readlink 163 -#define KEY_readpipe 164 -#define KEY_recv 165 -#define KEY_redo 166 -#define KEY_ref 167 -#define KEY_rename 168 -#define KEY_require 169 -#define KEY_reset 170 -#define KEY_return 171 -#define KEY_reverse 172 -#define KEY_rewinddir 173 -#define KEY_rindex 174 -#define KEY_rmdir 175 -#define KEY_s 176 -#define KEY_say 177 -#define KEY_scalar 178 -#define KEY_seek 179 -#define KEY_seekdir 180 -#define KEY_select 181 -#define KEY_semctl 182 -#define KEY_semget 183 -#define KEY_semop 184 -#define KEY_send 185 -#define KEY_setgrent 186 -#define KEY_sethostent 187 -#define KEY_setnetent 188 -#define KEY_setpgrp 189 -#define KEY_setpriority 190 -#define KEY_setprotoent 191 -#define KEY_setpwent 192 -#define KEY_setservent 193 -#define KEY_setsockopt 194 -#define KEY_shift 195 -#define KEY_shmctl 196 -#define KEY_shmget 197 -#define KEY_shmread 198 -#define KEY_shmwrite 199 -#define KEY_shutdown 200 -#define KEY_sin 201 -#define KEY_sleep 202 -#define KEY_socket 203 -#define KEY_socketpair 204 -#define KEY_sort 205 -#define KEY_splice 206 -#define KEY_split 207 -#define KEY_sprintf 208 -#define KEY_sqrt 209 -#define KEY_srand 210 -#define KEY_stat 211 -#define KEY_state 212 -#define KEY_study 213 -#define KEY_sub 214 -#define KEY_substr 215 -#define KEY_symlink 216 -#define KEY_syscall 217 -#define KEY_sysopen 218 -#define KEY_sysread 219 -#define KEY_sysseek 220 -#define KEY_system 221 -#define KEY_syswrite 222 -#define KEY_tell 223 -#define KEY_telldir 224 -#define KEY_tie 225 -#define KEY_tied 226 -#define KEY_time 227 -#define KEY_times 228 -#define KEY_tr 229 -#define KEY_truncate 230 -#define KEY_uc 231 -#define KEY_ucfirst 232 -#define KEY_umask 233 -#define KEY_undef 234 -#define KEY_unless 235 -#define KEY_unlink 236 -#define KEY_unpack 237 -#define KEY_unshift 238 -#define KEY_untie 239 -#define KEY_until 240 -#define KEY_use 241 -#define KEY_utime 242 -#define KEY_values 243 -#define KEY_vec 244 -#define KEY_wait 245 -#define KEY_waitpid 246 -#define KEY_wantarray 247 -#define KEY_warn 248 -#define KEY_when 249 -#define KEY_while 250 -#define KEY_write 251 -#define KEY_x 252 -#define KEY_xor 253 -#define KEY_y 254 +#define KEY_isa 110 +#define KEY_join 111 +#define KEY_keys 112 +#define KEY_kill 113 +#define KEY_last 114 +#define KEY_lc 115 +#define KEY_lcfirst 116 +#define KEY_le 117 +#define KEY_length 118 +#define KEY_link 119 +#define KEY_listen 120 +#define KEY_local 121 +#define KEY_localtime 122 +#define KEY_lock 123 +#define KEY_log 124 +#define KEY_lstat 125 +#define KEY_lt 126 +#define KEY_m 127 +#define KEY_map 128 +#define KEY_mkdir 129 +#define KEY_msgctl 130 +#define KEY_msgget 131 +#define KEY_msgrcv 132 +#define KEY_msgsnd 133 +#define KEY_my 134 +#define KEY_ne 135 +#define KEY_next 136 +#define KEY_no 137 +#define KEY_not 138 +#define KEY_oct 139 +#define KEY_open 140 +#define KEY_opendir 141 +#define KEY_or 142 +#define KEY_ord 143 +#define KEY_our 144 +#define KEY_pack 145 +#define KEY_package 146 +#define KEY_pipe 147 +#define KEY_pop 148 +#define KEY_pos 149 +#define KEY_print 150 +#define KEY_printf 151 +#define KEY_prototype 152 +#define KEY_push 153 +#define KEY_q 154 +#define KEY_qq 155 +#define KEY_qr 156 +#define KEY_quotemeta 157 +#define KEY_qw 158 +#define KEY_qx 159 +#define KEY_rand 160 +#define KEY_read 161 +#define KEY_readdir 162 +#define KEY_readline 163 +#define KEY_readlink 164 +#define KEY_readpipe 165 +#define KEY_recv 166 +#define KEY_redo 167 +#define KEY_ref 168 +#define KEY_rename 169 +#define KEY_require 170 +#define KEY_reset 171 +#define KEY_return 172 +#define KEY_reverse 173 +#define KEY_rewinddir 174 +#define KEY_rindex 175 +#define KEY_rmdir 176 +#define KEY_s 177 +#define KEY_say 178 +#define KEY_scalar 179 +#define KEY_seek 180 +#define KEY_seekdir 181 +#define KEY_select 182 +#define KEY_semctl 183 +#define KEY_semget 184 +#define KEY_semop 185 +#define KEY_send 186 +#define KEY_setgrent 187 +#define KEY_sethostent 188 +#define KEY_setnetent 189 +#define KEY_setpgrp 190 +#define KEY_setpriority 191 +#define KEY_setprotoent 192 +#define KEY_setpwent 193 +#define KEY_setservent 194 +#define KEY_setsockopt 195 +#define KEY_shift 196 +#define KEY_shmctl 197 +#define KEY_shmget 198 +#define KEY_shmread 199 +#define KEY_shmwrite 200 +#define KEY_shutdown 201 +#define KEY_sin 202 +#define KEY_sleep 203 +#define KEY_socket 204 +#define KEY_socketpair 205 +#define KEY_sort 206 +#define KEY_splice 207 +#define KEY_split 208 +#define KEY_sprintf 209 +#define KEY_sqrt 210 +#define KEY_srand 211 +#define KEY_stat 212 +#define KEY_state 213 +#define KEY_study 214 +#define KEY_sub 215 +#define KEY_substr 216 +#define KEY_symlink 217 +#define KEY_syscall 218 +#define KEY_sysopen 219 +#define KEY_sysread 220 +#define KEY_sysseek 221 +#define KEY_system 222 +#define KEY_syswrite 223 +#define KEY_tell 224 +#define KEY_telldir 225 +#define KEY_tie 226 +#define KEY_tied 227 +#define KEY_time 228 +#define KEY_times 229 +#define KEY_tr 230 +#define KEY_truncate 231 +#define KEY_uc 232 +#define KEY_ucfirst 233 +#define KEY_umask 234 +#define KEY_undef 235 +#define KEY_unless 236 +#define KEY_unlink 237 +#define KEY_unpack 238 +#define KEY_unshift 239 +#define KEY_untie 240 +#define KEY_until 241 +#define KEY_use 242 +#define KEY_utime 243 +#define KEY_values 244 +#define KEY_vec 245 +#define KEY_wait 246 +#define KEY_waitpid 247 +#define KEY_wantarray 248 +#define KEY_warn 249 +#define KEY_when 250 +#define KEY_while 251 +#define KEY_write 252 +#define KEY_x 253 +#define KEY_xor 254 +#define KEY_y 255 /* Generated from: - * db0472e0ad4f44bd0816cad799d63b60d1bbd7e11cef40ea15bf0d00f69669f6 regen/keywords.pl + * f77998a5bc995c1b42d3d080de227ef5f11638bcd329367431d8f193aef2d3cc regen/keywords.pl * ex: set ro: */ diff --git a/Master/tlpkg/tlperl/lib/CORE/l1_char_class_tab.h b/Master/tlpkg/tlperl/lib/CORE/l1_char_class_tab.h index c6580adee39..83469a0ba17 100644 --- a/Master/tlpkg/tlperl/lib/CORE/l1_char_class_tab.h +++ b/Master/tlpkg/tlperl/lib/CORE/l1_char_class_tab.h @@ -56,14 +56,14 @@ /* U+2D '-' */ (1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+2E '.' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+2F '/' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), -/* 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), -/* 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), -/* 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), -/* U+33 '3' */ (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), -/* U+34 '4' */ (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), -/* U+35 '5' */ (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), -/* U+36 '6' */ (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), -/* 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), +/* U+30 '0' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_BINDIGIT)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), +/* U+31 '1' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_BINDIGIT)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), +/* U+32 '2' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), +/* U+33 '3' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), +/* U+34 '4' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), +/* U+35 '5' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), +/* U+36 '6' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), +/* U+37 '7' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 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), /* 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), /* U+3A ':' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), @@ -336,31 +336,31 @@ /* 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_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x42 U+E2 I8=A1 a with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x43 U+E4 I8=A2 a with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x44 U+E0 I8=A3 a with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x45 U+E1 I8=A4 a with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x46 U+E3 I8=A5 a with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x47 U+E5 I8=A6 a with ring */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x48 U+E7 I8=A7 c with cedilla */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x49 U+F1 I8=A8 n with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(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), +/* 0x41 U+A0 NBSP */ (1U<<_CC_BLANK)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE), +/* 0x42 U+E2 I8=A1 a with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x43 U+E4 I8=A2 a with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x44 U+E0 I8=A3 a with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x45 U+E1 I8=A4 a with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x46 U+E3 I8=A5 a with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x47 U+E5 I8=A6 a with ring */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x48 U+E7 I8=A7 c with cedilla */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x49 U+F1 I8=A8 n with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x4A U+A2 I8=A9 CENT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(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), /* 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 I8=AA e with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x52 U+EA I8=AB e with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x53 U+EB I8=AC e with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x54 U+E8 I8=AD e with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x55 U+ED I8=AE i with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x56 U+EE I8=AF i with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x57 U+EF I8=B0 i with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x58 U+EC I8=B1 i with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x59 U+DF I8=B2 sharp s */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), +/* 0x51 U+E9 I8=AA e with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x52 U+EA I8=AB e with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x53 U+EB I8=AC e with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x54 U+E8 I8=AD e with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x55 U+ED I8=AE i with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x56 U+EE I8=AF i with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x57 U+EF I8=B0 i with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x58 U+EC I8=B1 i with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x59 U+DF I8=B2 sharp s */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 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), @@ -369,24 +369,24 @@ /* 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 I8=B3 A with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x63 U+C4 I8=B4 A with DIAERESIS */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x64 U+C0 I8=B5 A with GRAVE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x65 U+C1 I8=B6 A with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x66 U+C3 I8=B7 A with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x67 U+C5 I8=B8 A with RING */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x68 U+C7 I8=B9 C with CEDILLA */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x69 U+D1 I8=BA N with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(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), +/* 0x62 U+C2 I8=B3 A with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), +/* 0x63 U+C4 I8=B4 A with DIAERESIS */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), +/* 0x64 U+C0 I8=B5 A with GRAVE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), +/* 0x65 U+C1 I8=B6 A with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), +/* 0x66 U+C3 I8=B7 A with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), +/* 0x67 U+C5 I8=B8 A with RING */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), +/* 0x68 U+C7 I8=B9 C with CEDILLA */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), +/* 0x69 U+D1 I8=BA N with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), +/* 0x6A U+A6 I8=BB BROKEN BAR */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(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 I8=BC o with '/' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x71 U+C9 I8=BD E with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x72 U+CA I8=BE E with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x73 U+CB I8=BF E with DIAERESIS */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), +/* 0x70 U+F8 I8=BC o with '/' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x71 U+C9 I8=BD E with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), +/* 0x72 U+CA I8=BE E with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), +/* 0x73 U+CB I8=BF E with DIAERESIS */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x74 U+C8 I8=C0 E with GRAVE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x75 U+CD I8=C1 I with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x76 U+CE I8=C2 I with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), @@ -399,7 +399,7 @@ /* 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 I8=C5 O with '/' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_IS_DOWNGRADEABLE_START), +/* 0x80 U+D8 I8=C5 O with '/' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x81 U+61 'a' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0x82 U+62 'b' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0x83 U+63 'c' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), @@ -409,13 +409,13 @@ /* 0x87 U+67 'g' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x88 U+68 'h' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x89 U+69 'i' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), -/* 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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START), -/* 0x8D U+FD I8=C9 y with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START), -/* 0x8E U+FE I8=CA thorn */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(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), +/* 0x8A U+AB I8=C6 LEFT-POINTING DOUBLE ANGLE QUOTE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), +/* 0x8B U+BB I8=C7 RIGHT-POINTING DOUBLE ANGLE QUOTE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), +/* 0x8C U+F0 I8=C8 eth */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x8D U+FD I8=C9 y with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x8E U+FE I8=CA thorn */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x8F U+B1 I8=CB PLUS-MINUS */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), +/* 0x90 U+B0 I8=CC DEGREE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0x91 U+6A 'j' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x92 U+6B 'k' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x93 U+6C 'l' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), @@ -425,13 +425,13 @@ /* 0x97 U+70 'p' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x98 U+71 'q' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x99 U+72 'r' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), -/* 0x9A U+AA I8=CD FEMININE ORDINAL */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START), +/* 0x9A U+AA I8=CD FEMININE ORDINAL */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(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 I8=CE MASCULINE ORDINAL */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(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 I8=CF ae */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x9D U+B8 I8=D0 CEDILLA */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), +/* 0x9E U+C6 I8=D1 AE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), +/* 0x9F U+A4 I8=D2 CURRENCY */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), +/* 0xA0 U+B5 I8=D3 MICRO */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xA1 U+7E '~' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0xA2 U+73 's' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xA3 U+74 't' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), @@ -441,28 +441,28 @@ /* 0xA7 U+78 'x' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xA8 U+79 'y' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xA9 U+7A 'z' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), -/* 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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START), +/* 0xAA U+A1 I8=D4 INVERTED '!' */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), +/* 0xAB U+BF I8=D5 INVERTED '?' */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), +/* 0xAC U+D0 I8=D6 ETH */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xAD U+5B '[' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), -/* 0xAE U+DE I8=D7 THORN */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(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), +/* 0xAE U+DE I8=D7 THORN */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), +/* 0xAF U+AE I8=D8 REGISTERED */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), +/* 0xB0 U+AC I8=D9 NOT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), +/* 0xB1 U+A3 I8=DA POUND */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), +/* 0xB2 U+A5 I8=DB YEN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), +/* 0xB3 U+B7 I8=DC MIDDLE DOT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT), +/* 0xB4 U+A9 I8=DD COPYRIGHT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), +/* 0xB5 U+A7 I8=DE SECTION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), +/* U+B6 I8=DF PILCROW */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(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), +/* 0xB8 U+BD I8=E1 1/2 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), +/* 0xB9 U+BE I8=E2 3/4 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), +/* 0xBA U+DD I8=E3 Y with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), +/* 0xBB U+A8 I8=E4 DIAERESIS */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), +/* 0xBC U+AF I8=E5 MACRON */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* 0xBD U+5D ']' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(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), +/* 0xBE U+B4 I8=E6 ACUTE ACCENT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), +/* 0xBF U+D7 I8=E7 MULTIPLICATION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0xC0 U+7B '{' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0xC1 U+41 'A' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xC2 U+42 'B' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), @@ -473,12 +473,12 @@ /* 0xC7 U+47 'G' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xC8 U+48 'H' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xC9 U+49 'I' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), -/* 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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START), -/* 0xCC U+F6 I8=EA o with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START), -/* 0xCD U+F2 I8=EB o with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START), -/* 0xCE U+F3 I8=EC o with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START), -/* 0xCF U+F5 I8=ED o with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START), +/* 0xCA U+AD I8=E8 SOFT HYPHEN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), +/* 0xCB U+F4 I8=E9 o with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0xCC U+F6 I8=EA o with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0xCD U+F2 I8=EB o with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0xCE U+F3 I8=EC o with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0xCF U+F5 I8=ED o with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xD0 U+7D '}' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0xD1 U+4A 'J' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xD2 U+4B 'K' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), @@ -489,14 +489,14 @@ /* 0xD7 U+50 'P' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xD8 U+51 'Q' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xD9 U+52 'R' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), -/* 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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START), -/* 0xDC U+FC I8=F0 u with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START), -/* 0xDD U+F9 I8=F1 u with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xDA U+B9 I8=EE SUPERSCRIPT 1 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), +/* 0xDB U+FB I8=EF u with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0xDC U+FC I8=F0 u with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0xDD U+F9 I8=F1 u with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xDE U+FA I8=F2 u with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xDF U+FF I8=F3 y with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(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 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), +/* 0xE1 U+F7 I8=F4 DIVISION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xE2 U+53 'S' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xE3 U+54 'T' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xE4 U+55 'U' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), @@ -505,27 +505,27 @@ /* 0xE7 U+58 'X' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xE8 U+59 'Y' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xE9 U+5A 'Z' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), -/* 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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), -/* 0xEF U+D5 I8=FA O with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(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), -/* 0xF3 U+33 '3' */ (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), -/* 0xF4 U+34 '4' */ (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), -/* 0xF5 U+35 '5' */ (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), -/* 0xF6 U+36 '6' */ (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), +/* 0xEA U+B2 I8=F5 SUPERSCRIPT 2 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xEB U+D4 I8=F6 O with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xEC U+D6 I8=F7 O with DIAERESIS */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xED U+D2 I8=F8 O with GRAVE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xEE U+D3 I8=F9 O with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xEF U+D5 I8=FA O with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xF0 U+30 '0' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_BINDIGIT)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), +/* 0xF1 U+31 '1' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_BINDIGIT)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(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_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), +/* 0xF3 U+33 '3' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), +/* 0xF4 U+34 '4' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), +/* 0xF5 U+35 '5' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), +/* 0xF6 U+36 '6' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(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_OCTDIGIT)|(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 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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xFA U+B3 I8=FB SUPERSCRIPT 3 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xFB U+DB I8=FC U with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xFC U+DC I8=FD U with DIAERESIS */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xFD U+D9 I8=FE U with GRAVE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xFE U+DA I8=FF U with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xFF U+9F APC */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA) #endif /* EBCDIC 1047 */ @@ -599,62 +599,62 @@ /* 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_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x42 U+E2 I8=A1 a with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x43 U+E4 I8=A2 a with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x44 U+E0 I8=A3 a with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x45 U+E1 I8=A4 a with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x46 U+E3 I8=A5 a with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x47 U+E5 I8=A6 a with ring */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x48 U+E7 I8=A7 c with cedilla */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x49 U+F1 I8=A8 n with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(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), +/* 0x41 U+A0 NBSP */ (1U<<_CC_BLANK)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE), +/* 0x42 U+E2 I8=A1 a with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x43 U+E4 I8=A2 a with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x44 U+E0 I8=A3 a with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x45 U+E1 I8=A4 a with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x46 U+E3 I8=A5 a with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x47 U+E5 I8=A6 a with ring */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x48 U+E7 I8=A7 c with cedilla */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x49 U+F1 I8=A8 n with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x4A U+A2 I8=A9 CENT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(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), /* 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 I8=AA e with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x52 U+EA I8=AB e with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x53 U+EB I8=AC e with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x54 U+E8 I8=AD e with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x55 U+ED I8=AE i with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x56 U+EE I8=AF i with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x57 U+EF I8=B0 i with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x58 U+EC I8=B1 i with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x59 U+DF I8=B2 sharp s */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), +/* 0x51 U+E9 I8=AA e with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x52 U+EA I8=AB e with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x53 U+EB I8=AC e with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x54 U+E8 I8=AD e with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x55 U+ED I8=AE i with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x56 U+EE I8=AF i with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x57 U+EF I8=B0 i with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x58 U+EC I8=B1 i with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x59 U+DF I8=B2 sharp s */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 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 I8=B3 NOT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_CONTINUATION), +/* 0x5F U+AC I8=B3 NOT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(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 I8=B4 A with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x63 U+C4 I8=B5 A with DIAERESIS */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x64 U+C0 I8=B6 A with GRAVE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x65 U+C1 I8=B7 A with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x66 U+C3 I8=B8 A with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x67 U+C5 I8=B9 A with RING */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x68 U+C7 I8=BA C with CEDILLA */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x69 U+D1 I8=BB N with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(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), +/* 0x62 U+C2 I8=B4 A with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), +/* 0x63 U+C4 I8=B5 A with DIAERESIS */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), +/* 0x64 U+C0 I8=B6 A with GRAVE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), +/* 0x65 U+C1 I8=B7 A with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), +/* 0x66 U+C3 I8=B8 A with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), +/* 0x67 U+C5 I8=B9 A with RING */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), +/* 0x68 U+C7 I8=BA C with CEDILLA */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), +/* 0x69 U+D1 I8=BB N with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), +/* 0x6A U+A6 I8=BC BROKEN BAR */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(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 I8=BD o with '/' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x71 U+C9 I8=BE E with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), -/* 0x72 U+CA I8=BF E with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_CONTINUATION), +/* 0x70 U+F8 I8=BD o with '/' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x71 U+C9 I8=BE E with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), +/* 0x72 U+CA I8=BF E with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x73 U+CB I8=C0 E with DIAERESIS */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x74 U+C8 I8=C1 E with GRAVE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x75 U+CD I8=C2 I with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x76 U+CE I8=C3 I with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x77 U+CF I8=C4 I with DIAERESIS */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), -/* 0x78 U+CC I8=C5 I with GRAVE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_IS_DOWNGRADEABLE_START), +/* 0x78 U+CC I8=C5 I with GRAVE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 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), @@ -662,7 +662,7 @@ /* 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 I8=C6 O with '/' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_IS_DOWNGRADEABLE_START), +/* 0x80 U+D8 I8=C6 O with '/' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x81 U+61 'a' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0x82 U+62 'b' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0x83 U+63 'c' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), @@ -672,13 +672,13 @@ /* 0x87 U+67 'g' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x88 U+68 'h' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x89 U+69 'i' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), -/* 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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START), -/* 0x8D U+FD I8=CA y with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START), -/* 0x8E U+FE I8=CB thorn */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(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), +/* 0x8A U+AB I8=C7 LEFT-POINTING DOUBLE ANGLE QUOTE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), +/* 0x8B U+BB I8=C8 RIGHT-POINTING DOUBLE ANGLE QUOTE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), +/* 0x8C U+F0 I8=C9 eth */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x8D U+FD I8=CA y with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x8E U+FE I8=CB thorn */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x8F U+B1 I8=CC PLUS-MINUS */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), +/* 0x90 U+B0 I8=CD DEGREE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0x91 U+6A 'j' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x92 U+6B 'k' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x93 U+6C 'l' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), @@ -688,13 +688,13 @@ /* 0x97 U+70 'p' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x98 U+71 'q' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x99 U+72 'r' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), -/* 0x9A U+AA I8=CE FEMININE ORDINAL */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START), +/* 0x9A U+AA I8=CE FEMININE ORDINAL */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(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 I8=CF MASCULINE ORDINAL */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(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 I8=D0 ae */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0x9D U+B8 I8=D1 CEDILLA */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), +/* 0x9E U+C6 I8=D2 AE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), +/* 0x9F U+A4 I8=D3 CURRENCY */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), +/* 0xA0 U+B5 I8=D4 MICRO */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xA1 U+7E '~' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0xA2 U+73 's' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xA3 U+74 't' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), @@ -704,28 +704,28 @@ /* 0xA7 U+78 'x' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xA8 U+79 'y' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xA9 U+7A 'z' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), -/* 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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START), -/* 0xAD U+DD I8=D8 Y with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START), -/* 0xAE U+DE I8=D9 THORN */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(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), +/* 0xAA U+A1 I8=D5 INVERTED '!' */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), +/* 0xAB U+BF I8=D6 INVERTED '?' */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), +/* 0xAC U+D0 I8=D7 ETH */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), +/* 0xAD U+DD I8=D8 Y with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), +/* 0xAE U+DE I8=D9 THORN */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), +/* 0xAF U+AE I8=DA REGISTERED */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0xB0 U+5E '^' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), -/* 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), +/* 0xB1 U+A3 I8=DB POUND */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), +/* 0xB2 U+A5 I8=DC YEN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), +/* 0xB3 U+B7 I8=DD MIDDLE DOT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT), +/* 0xB4 U+A9 I8=DE COPYRIGHT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), +/* 0xB5 U+A7 I8=DF SECTION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 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), +/* 0xB7 U+BC I8=E1 1/4 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), +/* 0xB8 U+BD I8=E2 1/2 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), +/* 0xB9 U+BE I8=E3 3/4 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* 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 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), +/* 0xBC U+AF I8=E4 MACRON */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), +/* 0xBD U+A8 I8=E5 DIAERESIS */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), +/* 0xBE U+B4 I8=E6 ACUTE ACCENT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), +/* 0xBF U+D7 I8=E7 MULTIPLICATION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0xC0 U+7B '{' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0xC1 U+41 'A' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xC2 U+42 'B' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), @@ -736,12 +736,12 @@ /* 0xC7 U+47 'G' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xC8 U+48 'H' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xC9 U+49 'I' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), -/* 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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START), -/* 0xCC U+F6 I8=EA o with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START), -/* 0xCD U+F2 I8=EB o with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START), -/* 0xCE U+F3 I8=EC o with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START), -/* 0xCF U+F5 I8=ED o with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START), +/* 0xCA U+AD I8=E8 SOFT HYPHEN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), +/* 0xCB U+F4 I8=E9 o with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0xCC U+F6 I8=EA o with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0xCD U+F2 I8=EB o with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0xCE U+F3 I8=EC o with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0xCF U+F5 I8=ED o with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xD0 U+7D '}' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0xD1 U+4A 'J' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xD2 U+4B 'K' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), @@ -752,14 +752,14 @@ /* 0xD7 U+50 'P' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xD8 U+51 'Q' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xD9 U+52 'R' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), -/* 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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START), -/* 0xDC U+FC I8=F0 u with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START), -/* 0xDD U+F9 I8=F1 u with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xDA U+B9 I8=EE SUPERSCRIPT 1 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), +/* 0xDB U+FB I8=EF u with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0xDC U+FC I8=F0 u with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), +/* 0xDD U+F9 I8=F1 u with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xDE U+FA I8=F2 u with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xDF U+FF I8=F3 y with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(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 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), +/* 0xE1 U+F7 I8=F4 DIVISION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xE2 U+53 'S' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xE3 U+54 'T' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xE4 U+55 'U' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), @@ -768,27 +768,27 @@ /* 0xE7 U+58 'X' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xE8 U+59 'Y' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xE9 U+5A 'Z' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), -/* 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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), -/* 0xEF U+D5 I8=FA O with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(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), -/* 0xF3 U+33 '3' */ (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), -/* 0xF4 U+34 '4' */ (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), -/* 0xF5 U+35 '5' */ (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), -/* 0xF6 U+36 '6' */ (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), +/* 0xEA U+B2 I8=F5 SUPERSCRIPT 2 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xEB U+D4 I8=F6 O with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xEC U+D6 I8=F7 O with DIAERESIS */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xED U+D2 I8=F8 O with GRAVE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xEE U+D3 I8=F9 O with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xEF U+D5 I8=FA O with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xF0 U+30 '0' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_BINDIGIT)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), +/* 0xF1 U+31 '1' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_BINDIGIT)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(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_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), +/* 0xF3 U+33 '3' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), +/* 0xF4 U+34 '4' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), +/* 0xF5 U+35 '5' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), +/* 0xF6 U+36 '6' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(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_OCTDIGIT)|(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 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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(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_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xFA U+B3 I8=FB SUPERSCRIPT 3 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xFB U+DB I8=FC U with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xFC U+DC I8=FD U with DIAERESIS */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xFD U+D9 I8=FE U with GRAVE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), +/* 0xFE U+DA I8=FF U with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xFF U+9F APC */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA) #endif /* EBCDIC 037 */ diff --git a/Master/tlpkg/tlperl/lib/CORE/libperl530.a b/Master/tlpkg/tlperl/lib/CORE/libperl530.a deleted file mode 100755 index 0cdaedee21f..00000000000 Binary files a/Master/tlpkg/tlperl/lib/CORE/libperl530.a and /dev/null differ diff --git a/Master/tlpkg/tlperl/lib/CORE/libperl532.a b/Master/tlpkg/tlperl/lib/CORE/libperl532.a new file mode 100644 index 00000000000..7b18a3a6345 Binary files /dev/null and b/Master/tlpkg/tlperl/lib/CORE/libperl532.a differ diff --git a/Master/tlpkg/tlperl/lib/CORE/metaconfig.h b/Master/tlpkg/tlperl/lib/CORE/metaconfig.h index 73e0ab0257a..baba5eac687 100644 --- a/Master/tlpkg/tlperl/lib/CORE/metaconfig.h +++ b/Master/tlpkg/tlperl/lib/CORE/metaconfig.h @@ -13,18 +13,5 @@ * Symbols should only be here temporarily. Once they are actually used, * they should be removed from here. * - * HAS_BUILTIN_ADD_OVERFLOW - * HAS_BUILTIN_MUL_OVERFLOW - * HAS_BUILTIN_SUB_OVERFLOW - * HAS_LOCALECONV_L - * HAS_MBRLEN - * HAS_MBRTOWC - * HAS_NANOSLEEP - * HAS_STRTOD_L - * HAS_STRTOLD_L - * I_WCHAR - * I_WCTYPE - * HAS_TOWLOWER - * HAS_TOWUPPER - * SETLOCALE_ACCEPTS_ANY_LOCALE_NAME + * HAS_WCRTOMB */ diff --git a/Master/tlpkg/tlperl/lib/CORE/op.h b/Master/tlpkg/tlperl/lib/CORE/op.h index c9f05b22712..b9f6da82c9d 100644 --- a/Master/tlpkg/tlperl/lib/CORE/op.h +++ b/Master/tlpkg/tlperl/lib/CORE/op.h @@ -24,7 +24,7 @@ * !op_slabbed. * op_savefree on savestack via SAVEFREEOP * op_folded Result/remainder of a constant fold operation. - * op_moresib this op is is not the last sibling + * op_moresib this op is not the last sibling * op_spare One spare bit * op_flags Flags common to all operations. See OPf_* below. * op_private Flags peculiar to a particular operation (BUT, @@ -85,7 +85,7 @@ Deprecated. Use C instead. =cut */ -#define GIMME_V OP_GIMME(PL_op, block_gimme()) +#define GIMME_V Perl_gimme_V(aTHX) /* Public flags */ @@ -146,6 +146,7 @@ Deprecated. Use C instead. /* On OP_PADRANGE, push @_ */ /* On OP_DUMP, has no label */ /* On OP_UNSTACK, in a C-style for loop */ + /* On OP_READLINE, it's for <<>>, not <> */ /* There is no room in op_flags for this one, so it has its own bit- field member (op_folded) instead. The flag is only used to tell op_convert_list to set op_folded. */ @@ -169,8 +170,9 @@ Deprecated. Use C instead. * from data in regen/op_private */ -#define OPpTRANS_ALL (OPpTRANS_FROM_UTF|OPpTRANS_TO_UTF|OPpTRANS_IDENTICAL|OPpTRANS_SQUASH|OPpTRANS_COMPLEMENT|OPpTRANS_GROWS|OPpTRANS_DELETE) - +#define OPpTRANS_ALL (OPpTRANS_USE_SVOP|OPpTRANS_CAN_FORCE_UTF8|OPpTRANS_IDENTICAL|OPpTRANS_SQUASH|OPpTRANS_COMPLEMENT|OPpTRANS_GROWS|OPpTRANS_DELETE) +#define OPpTRANS_FROM_UTF OPpTRANS_USE_SVOP +#define OPpTRANS_TO_UTF OPpTRANS_CAN_FORCE_UTF8 /* Mask for OP_ENTERSUB flags, the absence of which must be propagated @@ -179,7 +181,7 @@ Deprecated. Use C instead. /* things that can be elements of op_aux */ -typedef union { +typedef union { PADOFFSET pad_offset; SV *sv; IV iv; @@ -327,48 +329,52 @@ struct pmop { /* Set by the parser if it discovers an error, so the regex shouldn't be * compiled */ -#define PMf_HAS_ERROR (1U<<(PMf_BASE_SHIFT+4)) +#define PMf_HAS_ERROR (1U<<(PMf_BASE_SHIFT+3)) /* 'use re "taint"' in scope: taint $1 etc. if target tainted */ -#define PMf_RETAINT (1U<<(PMf_BASE_SHIFT+5)) +#define PMf_RETAINT (1U<<(PMf_BASE_SHIFT+4)) /* match successfully only once per reset, with related flag RXf_USED in * re->extflags holding state. This is used only for ?? matches, and only on * OP_MATCH and OP_QR */ -#define PMf_ONCE (1U<<(PMf_BASE_SHIFT+6)) +#define PMf_ONCE (1U<<(PMf_BASE_SHIFT+5)) /* PMf_ONCE, i.e. ?pat?, has matched successfully. Not used under threading. */ -#define PMf_USED (1U<<(PMf_BASE_SHIFT+7)) +#define PMf_USED (1U<<(PMf_BASE_SHIFT+6)) /* subst replacement is constant */ -#define PMf_CONST (1U<<(PMf_BASE_SHIFT+8)) +#define PMf_CONST (1U<<(PMf_BASE_SHIFT+7)) /* keep 1st runtime pattern forever */ -#define PMf_KEEP (1U<<(PMf_BASE_SHIFT+9)) +#define PMf_KEEP (1U<<(PMf_BASE_SHIFT+8)) -#define PMf_GLOBAL (1U<<(PMf_BASE_SHIFT+10)) /* pattern had a g modifier */ +#define PMf_GLOBAL (1U<<(PMf_BASE_SHIFT+9)) /* pattern had a g modifier */ /* don't reset pos() if //g fails */ -#define PMf_CONTINUE (1U<<(PMf_BASE_SHIFT+11)) +#define PMf_CONTINUE (1U<<(PMf_BASE_SHIFT+10)) /* evaluating replacement as expr */ -#define PMf_EVAL (1U<<(PMf_BASE_SHIFT+12)) +#define PMf_EVAL (1U<<(PMf_BASE_SHIFT+11)) /* Return substituted string instead of modifying it. */ -#define PMf_NONDESTRUCT (1U<<(PMf_BASE_SHIFT+13)) +#define PMf_NONDESTRUCT (1U<<(PMf_BASE_SHIFT+12)) /* the pattern has a CV attached (currently only under qr/...(?{}).../) */ -#define PMf_HAS_CV (1U<<(PMf_BASE_SHIFT+14)) +#define PMf_HAS_CV (1U<<(PMf_BASE_SHIFT+13)) /* op_code_list is private; don't free it etc. It may well point to * code within another sub, with different pad etc */ -#define PMf_CODELIST_PRIVATE (1U<<(PMf_BASE_SHIFT+15)) +#define PMf_CODELIST_PRIVATE (1U<<(PMf_BASE_SHIFT+14)) /* the PMOP is a QR (we should be able to detect that from the op type, * but the regex compilation API passes just the pm flags, not the op * itself */ -#define PMf_IS_QR (1U<<(PMf_BASE_SHIFT+16)) -#define PMf_USE_RE_EVAL (1U<<(PMf_BASE_SHIFT+17)) /* use re'eval' in scope */ +#define PMf_IS_QR (1U<<(PMf_BASE_SHIFT+15)) +#define PMf_USE_RE_EVAL (1U<<(PMf_BASE_SHIFT+16)) /* use re'eval' in scope */ + +/* Means that this is a subpattern being compiled while processing a \p{} + * wildcard. This isn't called from op.c, but it is passed as a pm flag. */ +#define PMf_WILDCARD (1U<<(PMf_BASE_SHIFT+17)) /* See comments at the beginning of these defines about adding bits. The * highest bit position should be used, so that if PMf_BASE_SHIFT gets @@ -689,20 +695,27 @@ least an C. #ifdef PERL_CORE struct opslot { - /* keep opslot_next first */ - OPSLOT * opslot_next; /* next slot */ - OPSLAB * opslot_slab; /* owner */ + U16 opslot_size; /* size of this slot (in pointers) */ + U16 opslot_offset; /* offset from start of slab (in ptr units) */ OP opslot_op; /* the op itself */ }; struct opslab { - OPSLOT * opslab_first; /* first op in this slab */ OPSLAB * opslab_next; /* next slab */ - OP * opslab_freed; /* chain of freed ops */ - size_t opslab_refcnt; /* number of ops */ + OPSLAB * opslab_head; /* first slab in chain */ + OP ** opslab_freed; /* array of sized chains of freed ops (head only)*/ + size_t opslab_refcnt; /* number of ops (head slab only) */ + U16 opslab_freed_size; /* allocated size of opslab_freed */ + U16 opslab_size; /* size of slab in pointers, + including header */ + U16 opslab_free_space; /* space available in this slab + for allocating new ops (in ptr + units) */ # ifdef PERL_DEBUG_READONLY_OPS - U16 opslab_size; /* size of slab in pointers */ bool opslab_readonly; + U8 opslab_padding; /* padding to ensure that opslab_slots is always */ +# else + U16 opslab_padding; /* located at an offset with 32-bit alignment */ # endif OPSLOT opslab_slots; /* slots begin here */ }; @@ -711,7 +724,11 @@ struct opslab { # define OPSLOT_HEADER_P (OPSLOT_HEADER/sizeof(I32 *)) # define OpSLOT(o) (assert_(o->op_slabbed) \ (OPSLOT *)(((char *)o)-OPSLOT_HEADER)) -# define OpSLAB(o) OpSLOT(o)->opslot_slab + +/* the first (head) opslab of the chain in which this op is allocated */ +# define OpSLAB(o) \ + (((OPSLAB*)( (I32**)OpSLOT(o) - OpSLOT(o)->opslot_offset))->opslab_head) + # define OpslabREFCNT_dec(slab) \ (((slab)->opslab_refcnt == 1) \ ? opslab_free_nopad(slab) \ @@ -737,29 +754,29 @@ struct block_hooks { =for apidoc mx|U32|BhkFLAGS|BHK *hk Return the BHK's flags. -=for apidoc mx|void *|BhkENTRY|BHK *hk|which +=for apidoc mxu|void *|BhkENTRY|BHK *hk|which Return an entry from the BHK structure. C is a preprocessor token indicating which entry to return. If the appropriate flag is not set this will return C. The type of the return value depends on which entry you ask for. -=for apidoc Amx|void|BhkENTRY_set|BHK *hk|which|void *ptr +=for apidoc Amxu|void|BhkENTRY_set|BHK *hk|which|void *ptr Set an entry in the BHK structure, and set the flags to indicate it is valid. C is a preprocessing token indicating which entry to set. The type of C depends on the entry. -=for apidoc Amx|void|BhkDISABLE|BHK *hk|which +=for apidoc Amxu|void|BhkDISABLE|BHK *hk|which Temporarily disable an entry in this BHK structure, by clearing the appropriate flag. C is a preprocessor token indicating which entry to disable. -=for apidoc Amx|void|BhkENABLE|BHK *hk|which +=for apidoc Amxu|void|BhkENABLE|BHK *hk|which Re-enable an entry in this BHK structure, by setting the appropriate flag. C is a preprocessor token indicating which entry to enable. This will assert (under -DDEBUGGING) if the entry doesn't contain a valid pointer. -=for apidoc mx|void|CALL_BLOCK_HOOKS|which|arg +=for apidoc mxu|void|CALL_BLOCK_HOOKS|which|arg Call all the registered block hooks for type C. C is a preprocessing token; the type of C depends on C. @@ -1021,14 +1038,16 @@ C is non-null. For a higher-level interface, see C>. #define OP_TYPE_ISNT_AND_WASNT(o, type) \ ( (o) && OP_TYPE_ISNT_AND_WASNT_NN(o, type) ) +/* should match anything that uses ck_ftst in regen/opcodes */ +#define OP_IS_STAT(op) (OP_IS_FILETEST(op) || (op) == OP_LSTAT || (op) == OP_STAT) -# define OpHAS_SIBLING(o) (cBOOL((o)->op_moresib)) -# define OpSIBLING(o) (0 + (o)->op_moresib ? (o)->op_sibparent : NULL) -# define OpMORESIB_set(o, sib) ((o)->op_moresib = 1, (o)->op_sibparent = (sib)) -# define OpLASTSIB_set(o, parent) \ - ((o)->op_moresib = 0, (o)->op_sibparent = (parent)) -# define OpMAYBESIB_set(o, sib, parent) \ - ((o)->op_sibparent = ((o)->op_moresib = cBOOL(sib)) ? (sib) : (parent)) +#define OpHAS_SIBLING(o) (cBOOL((o)->op_moresib)) +#define OpSIBLING(o) (0 + (o)->op_moresib ? (o)->op_sibparent : NULL) +#define OpMORESIB_set(o, sib) ((o)->op_moresib = 1, (o)->op_sibparent = (sib)) +#define OpLASTSIB_set(o, parent) \ + ((o)->op_moresib = 0, (o)->op_sibparent = (parent)) +#define OpMAYBESIB_set(o, sib, parent) \ + ((o)->op_sibparent = ((o)->op_moresib = cBOOL(sib)) ? (sib) : (parent)) #if !defined(PERL_CORE) && !defined(PERL_EXT) /* for backwards compatibility only */ @@ -1098,11 +1117,27 @@ C is non-null. For a higher-level interface, see C>. # define FATAL_ABOVE_FF_MSG \ "Use of strings with code points over 0xFF as arguments to " \ "%s operator is not allowed" -# define DEPRECATED_ABOVE_FF_MSG \ - "Use of strings with code points over 0xFF as arguments to " \ - "%s operator is deprecated. This will be a fatal error in " \ - "Perl 5.32" #endif +#if defined(PERL_IN_OP_C) || defined(PERL_IN_DOOP_C) || defined(PERL_IN_PERL_C) +# define TR_UNMAPPED (UV)-1 +# define TR_DELETE (UV)-2 +# define TR_R_EMPTY (UV)-3 /* rhs (replacement) is empty */ +# define TR_OOB (UV)-4 /* Something that isn't one of the others */ +# define TR_SPECIAL_HANDLING TR_DELETE /* Can occupy same value */ +# define TR_UNLISTED TR_UNMAPPED /* A synonym whose name is clearer + at times */ +#endif +#if defined(PERL_IN_OP_C) || defined(PERL_IN_TOKE_C) +#define RANGE_INDICATOR ILLEGAL_UTF8_BYTE +#endif + +/* stuff for OP_ARGCHECK */ + +struct op_argcheck_aux { + UV params; /* number of positional parameters */ + UV opt_params; /* number of optional positional parameters */ + char slurpy; /* presence of slurpy: may be '\0', '@' or '%' */ +}; /* diff --git a/Master/tlpkg/tlperl/lib/CORE/opcode.h b/Master/tlpkg/tlperl/lib/CORE/opcode.h index ba3bd9e668d..195898e4c33 100644 --- a/Master/tlpkg/tlperl/lib/CORE/opcode.h +++ b/Master/tlpkg/tlperl/lib/CORE/opcode.h @@ -543,6 +543,9 @@ EXTCONST char* const PL_op_name[] = { "lvrefslice", "lvavref", "anonconst", + "isa", + "cmpchain_and", + "cmpchain_dup", "freed", }; #endif @@ -948,6 +951,9 @@ EXTCONST char* const PL_op_desc[] = { "lvalue ref assignment", "lvalue array reference", "anonymous constant", + "derived class test", + "comparison chaining", + "comparand shuffling", "freed op", }; #endif @@ -1365,6 +1371,9 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */ Perl_pp_lvrefslice, Perl_pp_lvavref, Perl_pp_anonconst, + Perl_pp_isa, + Perl_pp_cmpchain_and, + Perl_pp_cmpchain_dup, } #endif #ifdef PERL_PPADDR_INITED @@ -1778,6 +1787,9 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */ Perl_ck_null, /* lvrefslice */ Perl_ck_null, /* lvavref */ Perl_ck_null, /* anonconst */ + Perl_ck_isa, /* isa */ + Perl_ck_null, /* cmpchain_and */ + Perl_ck_null, /* cmpchain_dup */ } #endif #ifdef PERL_CHECK_INITED @@ -2187,6 +2199,9 @@ EXTCONST U32 PL_opargs[] = { 0x00000440, /* lvrefslice */ 0x00000b40, /* lvavref */ 0x00000144, /* anonconst */ + 0x00000204, /* isa */ + 0x00000300, /* cmpchain_and */ + 0x00000100, /* cmpchain_dup */ }; #endif @@ -2203,7 +2218,7 @@ END_EXTERN_C #define OPpPADHV_ISKEYS 0x01 #define OPpRV2HV_ISKEYS 0x01 #define OPpSORT_NUMERIC 0x01 -#define OPpTRANS_FROM_UTF 0x01 +#define OPpTRANS_CAN_FORCE_UTF8 0x01 #define OPpARGELEM_AV 0x02 #define OPpCONST_NOVER 0x02 #define OPpCOREARGS_DEREF2 0x02 @@ -2212,7 +2227,7 @@ END_EXTERN_C #define OPpHINT_STRICT_REFS 0x02 #define OPpITER_REVERSED 0x02 #define OPpSORT_INTEGER 0x02 -#define OPpTRANS_TO_UTF 0x02 +#define OPpTRANS_USE_SVOP 0x02 #define OPpARG2_MASK 0x03 #define OPpAVHVSWITCH_MASK 0x03 #define OPpARGELEM_HV 0x04 @@ -2331,8 +2346,6 @@ EXTCONST char PL_op_private_labels[] = { '$','M','O','D','\0', '+','1','\0', '-','\0', - '<','U','T','F','\0', - '>','U','T','F','\0', 'A','M','P','E','R','\0', 'A','P','P','E','N','D','\0', 'A','S','S','I','G','N','\0', @@ -2342,6 +2355,7 @@ EXTCONST char PL_op_private_labels[] = { 'B','O','O','L','\0', 'B','O','O','L','?','\0', 'B','Y','T','E','S','\0', + 'C','A','N','_','F','O','R','C','E','_','U','T','F','8','\0', 'C','O','M','P','L','\0', 'C','O','M','_','A','G','G','\0', 'C','O','M','_','R','C','1','\0', @@ -2420,6 +2434,7 @@ EXTCONST char PL_op_private_labels[] = { 'T','A','R','G','M','Y','\0', 'U','N','I','\0', 'U','N','S','T','A','B','L','E','\0', + 'U','S','E','_','S','V','O','P','\0', 'U','T','F','\0', 'k','e','y','\0', 'o','f','f','s','e','t','\0', @@ -2442,14 +2457,14 @@ EXTCONST char PL_op_private_labels[] = { EXTCONST I16 PL_op_private_bitfields[] = { 0, 8, -1, 0, 8, -1, - 0, 583, -1, + 0, 597, -1, 0, 8, -1, 0, 8, -1, - 0, 590, -1, - 0, 579, -1, - 1, -1, 0, 547, 1, 40, 2, 290, -1, - 4, -1, 1, 171, 2, 178, 3, 185, -1, - 4, -1, 0, 547, 1, 40, 2, 290, 3, 117, -1, + 0, 604, -1, + 0, 593, -1, + 1, -1, 0, 552, 1, 30, 2, 295, -1, + 4, -1, 1, 176, 2, 183, 3, 190, -1, + 4, -1, 0, 552, 1, 30, 2, 295, 3, 122, -1, }; @@ -2855,6 +2870,9 @@ EXTCONST I16 PL_op_private_bitdef_ix[] = { 233, /* lvrefslice */ 234, /* lvavref */ 0, /* anonconst */ + 12, /* isa */ + 0, /* cmpchain_and */ + 0, /* cmpchain_dup */ }; @@ -2873,76 +2891,76 @@ EXTCONST I16 PL_op_private_bitdef_ix[] = { */ EXTCONST U16 PL_op_private_bitdefs[] = { - 0x0003, /* scalar, prototype, refgen, srefgen, readline, regcmaybe, regcreset, regcomp, substcont, chop, schop, defined, undef, study, preinc, i_preinc, predec, i_predec, postinc, i_postinc, postdec, i_postdec, negate, i_negate, not, complement, ucfirst, lcfirst, uc, lc, quotemeta, aeach, avalues, each, pop, shift, grepstart, mapstart, mapwhile, range, and, or, dor, andassign, orassign, dorassign, argcheck, argdefelem, method, method_named, method_super, method_redir, method_redir_super, entergiven, leavegiven, enterwhen, leavewhen, untie, tied, dbmclose, getsockname, getpeername, lstat, stat, readlink, readdir, telldir, rewinddir, closedir, localtime, alarm, require, dofile, entertry, ghbyname, gnbyname, gpbyname, shostent, snetent, sprotoent, sservent, gpwnam, gpwuid, ggrnam, ggrgid, lock, once, fc, anonconst */ - 0x2f3c, 0x4119, /* pushmark */ + 0x0003, /* scalar, prototype, refgen, srefgen, readline, regcmaybe, regcreset, regcomp, substcont, chop, schop, defined, undef, study, preinc, i_preinc, predec, i_predec, postinc, i_postinc, postdec, i_postdec, negate, i_negate, not, complement, ucfirst, lcfirst, uc, lc, quotemeta, aeach, avalues, each, pop, shift, grepstart, mapstart, mapwhile, range, and, or, dor, andassign, orassign, dorassign, argcheck, argdefelem, method, method_named, method_super, method_redir, method_redir_super, entergiven, leavegiven, enterwhen, leavewhen, untie, tied, dbmclose, getsockname, getpeername, lstat, stat, readlink, readdir, telldir, rewinddir, closedir, localtime, alarm, require, dofile, entertry, ghbyname, gnbyname, gpbyname, shostent, snetent, sprotoent, sservent, gpwnam, gpwuid, ggrnam, ggrgid, lock, once, fc, anonconst, cmpchain_and, cmpchain_dup */ + 0x2fdc, 0x41b9, /* pushmark */ 0x00bd, /* wantarray, runcv */ - 0x0578, 0x19b0, 0x41cc, 0x3c88, 0x3465, /* const */ - 0x2f3c, 0x35b9, /* gvsv */ - 0x1815, /* gv */ - 0x0067, /* gelem, lt, i_lt, gt, i_gt, le, i_le, ge, i_ge, eq, i_eq, ne, i_ne, ncmp, i_ncmp, slt, sgt, sle, sge, seq, sne, scmp, bit_and, bit_xor, bit_or, sbit_and, sbit_xor, sbit_or, smartmatch, lslice, xor */ - 0x2f3c, 0x4118, 0x03d7, /* padsv */ - 0x2f3c, 0x4118, 0x06f4, 0x302c, 0x3e09, /* padav */ - 0x2f3c, 0x4118, 0x06f4, 0x0790, 0x302c, 0x3e08, 0x2aa1, /* padhv */ - 0x2f3c, 0x1b98, 0x03d6, 0x302c, 0x3388, 0x41c4, 0x0003, /* rv2gv */ - 0x2f3c, 0x35b8, 0x03d6, 0x41c4, 0x0003, /* rv2sv */ - 0x302c, 0x0003, /* av2arylen, akeys, values, keys */ - 0x32fc, 0x0fd8, 0x0d34, 0x028c, 0x44c8, 0x41c4, 0x0003, /* rv2cv */ - 0x06f4, 0x0790, 0x0003, /* ref */ + 0x0438, 0x1a50, 0x426c, 0x3d28, 0x3505, /* const */ + 0x2fdc, 0x3659, /* gvsv */ + 0x18b5, /* gv */ + 0x0067, /* gelem, lt, i_lt, gt, i_gt, le, i_le, ge, i_ge, eq, i_eq, ne, i_ne, ncmp, i_ncmp, slt, sgt, sle, sge, seq, sne, scmp, bit_and, bit_xor, bit_or, sbit_and, sbit_xor, sbit_or, smartmatch, lslice, xor, isa */ + 0x2fdc, 0x41b8, 0x03d7, /* padsv */ + 0x2fdc, 0x41b8, 0x05b4, 0x30cc, 0x3ea9, /* padav */ + 0x2fdc, 0x41b8, 0x05b4, 0x0650, 0x30cc, 0x3ea8, 0x2b41, /* padhv */ + 0x2fdc, 0x1c38, 0x03d6, 0x30cc, 0x3428, 0x4264, 0x0003, /* rv2gv */ + 0x2fdc, 0x3658, 0x03d6, 0x4264, 0x0003, /* rv2sv */ + 0x30cc, 0x0003, /* av2arylen, akeys, values, keys */ + 0x339c, 0x1078, 0x0dd4, 0x014c, 0x4568, 0x4264, 0x0003, /* rv2cv */ + 0x05b4, 0x0650, 0x0003, /* ref */ 0x018f, /* bless, glob, sprintf, formline, unpack, pack, join, anonlist, anonhash, splice, warn, die, reset, exit, close, pipe_op, fileno, umask, binmode, tie, dbmopen, sselect, select, getc, read, enterwrite, sysopen, sysseek, sysread, syswrite, eof, tell, seek, truncate, fcntl, ioctl, send, recv, socket, sockpair, bind, connect, listen, accept, shutdown, gsockopt, ssockopt, open_dir, seekdir, gmtime, shmget, shmctl, shmread, shmwrite, msgget, msgctl, msgsnd, msgrcv, semop, semget, semctl, ghbyaddr, gnbyaddr, gpbynumber, gsbyname, gsbyport, syscall */ - 0x379c, 0x36b8, 0x27f4, 0x2730, 0x0003, /* backtick */ - 0x06f5, /* subst */ - 0x10dc, 0x2118, 0x0914, 0x3f4c, 0x24a8, 0x01e4, 0x0141, /* trans, transr */ - 0x0f1c, 0x0618, 0x0067, /* sassign */ - 0x0bd8, 0x0ad4, 0x09d0, 0x302c, 0x06e8, 0x0067, /* aassign */ - 0x4570, 0x0003, /* chomp, schomp, ncomplement, scomplement, sin, cos, exp, log, sqrt, int, hex, oct, abs, ord, chr, chroot, rmdir */ - 0x06f4, 0x302c, 0x0003, /* pos */ - 0x4570, 0x0067, /* pow, multiply, i_multiply, divide, i_divide, modulo, i_modulo, add, i_add, subtract, i_subtract, left_shift, right_shift, nbit_and, nbit_xor, nbit_or */ - 0x1498, 0x0067, /* repeat */ - 0x3218, 0x4570, 0x0067, /* concat */ - 0x2f3c, 0x0358, 0x1b94, 0x4570, 0x42ac, 0x0003, /* multiconcat */ - 0x4570, 0x018f, /* stringify, atan2, rand, srand, crypt, push, unshift, flock, chdir, chown, unlink, chmod, utime, rename, link, symlink, mkdir, waitpid, system, exec, kill, getpgrp, setpgrp, getpriority, setpriority, sleep */ - 0x06f4, 0x4570, 0x0003, /* length */ - 0x39f0, 0x302c, 0x012b, /* substr */ - 0x302c, 0x0067, /* vec */ - 0x3198, 0x06f4, 0x4570, 0x018f, /* index, rindex */ - 0x2f3c, 0x35b8, 0x06f4, 0x302c, 0x3e08, 0x41c4, 0x0003, /* rv2av */ + 0x383c, 0x3758, 0x2894, 0x27d0, 0x0003, /* backtick */ + 0x05b5, /* subst */ + 0x117c, 0x21b8, 0x09b4, 0x3fec, 0x2548, 0x4884, 0x07c1, /* trans, transr */ + 0x0fbc, 0x04d8, 0x0067, /* sassign */ + 0x0c78, 0x0b74, 0x0a70, 0x30cc, 0x05a8, 0x0067, /* aassign */ + 0x4610, 0x0003, /* chomp, schomp, ncomplement, scomplement, sin, cos, exp, log, sqrt, int, hex, oct, abs, ord, chr, chroot, rmdir */ + 0x05b4, 0x30cc, 0x0003, /* pos */ + 0x4610, 0x0067, /* pow, multiply, i_multiply, divide, i_divide, modulo, i_modulo, add, i_add, subtract, i_subtract, left_shift, right_shift, nbit_and, nbit_xor, nbit_or */ + 0x1538, 0x0067, /* repeat */ + 0x32b8, 0x4610, 0x0067, /* concat */ + 0x2fdc, 0x0218, 0x1c34, 0x4610, 0x434c, 0x0003, /* multiconcat */ + 0x4610, 0x018f, /* stringify, atan2, rand, srand, crypt, push, unshift, flock, chdir, chown, unlink, chmod, utime, rename, link, symlink, mkdir, waitpid, system, exec, kill, getpgrp, setpgrp, getpriority, setpriority, sleep */ + 0x05b4, 0x4610, 0x0003, /* length */ + 0x3a90, 0x30cc, 0x012b, /* substr */ + 0x30cc, 0x0067, /* vec */ + 0x3238, 0x05b4, 0x4610, 0x018f, /* index, rindex */ + 0x2fdc, 0x3658, 0x05b4, 0x30cc, 0x3ea8, 0x4264, 0x0003, /* rv2av */ 0x025f, /* aelemfast, aelemfast_lex */ - 0x2f3c, 0x2e38, 0x03d6, 0x302c, 0x0067, /* aelem, helem */ - 0x2f3c, 0x302c, 0x3e09, /* aslice, hslice */ - 0x302d, /* kvaslice, kvhslice */ - 0x2f3c, 0x3d58, 0x2b54, 0x0003, /* delete */ - 0x43f8, 0x0003, /* exists */ - 0x2f3c, 0x35b8, 0x06f4, 0x0790, 0x302c, 0x3e08, 0x41c4, 0x2aa1, /* rv2hv */ - 0x2f3c, 0x2e38, 0x1154, 0x1ab0, 0x302c, 0x41c4, 0x0003, /* multideref */ - 0x2f3c, 0x35b8, 0x0430, 0x2c4c, 0x2569, /* split */ - 0x2f3c, 0x21d9, /* list */ - 0x46dc, 0x4038, 0x13f0, 0x288c, 0x3ae8, 0x2984, 0x3521, /* sort */ - 0x288c, 0x0003, /* reverse */ - 0x06f4, 0x0003, /* grepwhile */ - 0x2cd8, 0x0003, /* flip, flop */ - 0x2f3c, 0x0003, /* cond_expr */ - 0x2f3c, 0x0fd8, 0x03d6, 0x028c, 0x44c8, 0x41c4, 0x2641, /* entersub */ - 0x3858, 0x0003, /* leavesub, leavesublv, leavewrite, leaveeval */ + 0x2fdc, 0x2ed8, 0x03d6, 0x30cc, 0x0067, /* aelem, helem */ + 0x2fdc, 0x30cc, 0x3ea9, /* aslice, hslice */ + 0x30cd, /* kvaslice, kvhslice */ + 0x2fdc, 0x3df8, 0x2bf4, 0x0003, /* delete */ + 0x4498, 0x0003, /* exists */ + 0x2fdc, 0x3658, 0x05b4, 0x0650, 0x30cc, 0x3ea8, 0x4264, 0x2b41, /* rv2hv */ + 0x2fdc, 0x2ed8, 0x11f4, 0x1b50, 0x30cc, 0x4264, 0x0003, /* multideref */ + 0x2fdc, 0x3658, 0x02f0, 0x2cec, 0x2609, /* split */ + 0x2fdc, 0x2279, /* list */ + 0x477c, 0x40d8, 0x1490, 0x292c, 0x3b88, 0x2a24, 0x35c1, /* sort */ + 0x292c, 0x0003, /* reverse */ + 0x05b4, 0x0003, /* grepwhile */ + 0x2d78, 0x0003, /* flip, flop */ + 0x2fdc, 0x0003, /* cond_expr */ + 0x2fdc, 0x1078, 0x03d6, 0x014c, 0x4568, 0x4264, 0x26e1, /* entersub */ + 0x38f8, 0x0003, /* leavesub, leavesublv, leavewrite, leaveeval */ 0x02aa, 0x0003, /* argelem */ 0x00bc, 0x018f, /* caller */ - 0x23b5, /* nextstate, dbstate */ - 0x2ddc, 0x3859, /* leave */ - 0x2f3c, 0x35b8, 0x104c, 0x3b65, /* enteriter */ - 0x3b65, /* iter */ - 0x2ddc, 0x0067, /* leaveloop */ - 0x47fc, 0x0003, /* last, next, redo, dump, goto */ - 0x379c, 0x36b8, 0x27f4, 0x2730, 0x018f, /* open */ - 0x1d50, 0x1fac, 0x1e68, 0x1c24, 0x0003, /* ftrread, ftrwrite, ftrexec, fteread, ftewrite, fteexec */ - 0x1d50, 0x1fac, 0x1e68, 0x0003, /* ftis, ftsize, ftmtime, ftatime, ftctime, ftrowned, fteowned, ftzero, ftsock, ftchr, ftblk, ftfile, ftdir, ftpipe, ftsuid, ftsgid, ftsvtx, ftlink, fttty, fttext, ftbinary */ - 0x4571, /* wait, getppid, time */ - 0x38f4, 0x0df0, 0x084c, 0x4648, 0x22c4, 0x0003, /* entereval */ - 0x30fc, 0x0018, 0x1304, 0x1221, /* coreargs */ - 0x302c, 0x00c7, /* avhvswitch */ - 0x2f3c, 0x01fb, /* padrange */ - 0x2f3c, 0x4118, 0x04f6, 0x2a0c, 0x1908, 0x0067, /* refassign */ - 0x2f3c, 0x4118, 0x04f6, 0x2a0c, 0x1908, 0x0003, /* lvref */ - 0x2f3d, /* lvrefslice */ - 0x2f3c, 0x4118, 0x0003, /* lvavref */ + 0x2455, /* nextstate, dbstate */ + 0x2e7c, 0x38f9, /* leave */ + 0x2fdc, 0x3658, 0x10ec, 0x3c05, /* enteriter */ + 0x3c05, /* iter */ + 0x2e7c, 0x0067, /* leaveloop */ + 0x49bc, 0x0003, /* last, next, redo, dump, goto */ + 0x383c, 0x3758, 0x2894, 0x27d0, 0x018f, /* open */ + 0x1df0, 0x204c, 0x1f08, 0x1cc4, 0x0003, /* ftrread, ftrwrite, ftrexec, fteread, ftewrite, fteexec */ + 0x1df0, 0x204c, 0x1f08, 0x0003, /* ftis, ftsize, ftmtime, ftatime, ftctime, ftrowned, fteowned, ftzero, ftsock, ftchr, ftblk, ftfile, ftdir, ftpipe, ftsuid, ftsgid, ftsvtx, ftlink, fttty, fttext, ftbinary */ + 0x4611, /* wait, getppid, time */ + 0x3994, 0x0e90, 0x070c, 0x46e8, 0x2364, 0x0003, /* entereval */ + 0x319c, 0x0018, 0x13a4, 0x12c1, /* coreargs */ + 0x30cc, 0x00c7, /* avhvswitch */ + 0x2fdc, 0x01fb, /* padrange */ + 0x2fdc, 0x41b8, 0x04f6, 0x2aac, 0x19a8, 0x0067, /* refassign */ + 0x2fdc, 0x41b8, 0x04f6, 0x2aac, 0x19a8, 0x0003, /* lvref */ + 0x2fdd, /* lvrefslice */ + 0x2fdc, 0x41b8, 0x0003, /* lvavref */ }; @@ -2985,8 +3003,8 @@ EXTCONST U8 PL_op_private_valid[] = { /* QR */ (0), /* SUBST */ (OPpTRUEBOOL), /* SUBSTCONT */ (OPpARG1_MASK), - /* TRANS */ (OPpTRANS_FROM_UTF|OPpTRANS_TO_UTF|OPpTRANS_IDENTICAL|OPpTRANS_SQUASH|OPpTRANS_COMPLEMENT|OPpTRANS_GROWS|OPpTRANS_DELETE), - /* TRANSR */ (OPpTRANS_FROM_UTF|OPpTRANS_TO_UTF|OPpTRANS_IDENTICAL|OPpTRANS_SQUASH|OPpTRANS_COMPLEMENT|OPpTRANS_GROWS|OPpTRANS_DELETE), + /* TRANS */ (OPpTRANS_CAN_FORCE_UTF8|OPpTRANS_USE_SVOP|OPpTRANS_IDENTICAL|OPpTRANS_SQUASH|OPpTRANS_COMPLEMENT|OPpTRANS_GROWS|OPpTRANS_DELETE), + /* TRANSR */ (OPpTRANS_CAN_FORCE_UTF8|OPpTRANS_USE_SVOP|OPpTRANS_IDENTICAL|OPpTRANS_SQUASH|OPpTRANS_COMPLEMENT|OPpTRANS_GROWS|OPpTRANS_DELETE), /* SASSIGN */ (OPpARG2_MASK|OPpASSIGN_BACKWARDS|OPpASSIGN_CV_TO_GV), /* AASSIGN */ (OPpARG2_MASK|OPpASSIGN_TRUEBOOL|OPpMAYBE_LVSUB|OPpASSIGN_COMMON_AGG|OPpASSIGN_COMMON_RC1|OPpASSIGN_COMMON_SCALAR), /* CHOP */ (OPpARG1_MASK), @@ -3348,6 +3366,9 @@ EXTCONST U8 PL_op_private_valid[] = { /* LVREFSLICE */ (OPpLVAL_INTRO), /* LVAVREF */ (OPpARG1_MASK|OPpPAD_STATE|OPpLVAL_INTRO), /* ANONCONST */ (OPpARG1_MASK), + /* ISA */ (OPpARG2_MASK), + /* CMPCHAIN_AND */ (OPpARG1_MASK), + /* CMPCHAIN_DUP */ (OPpARG1_MASK), }; diff --git a/Master/tlpkg/tlperl/lib/CORE/opnames.h b/Master/tlpkg/tlperl/lib/CORE/opnames.h index d87ba88f01c..0e325466d15 100644 --- a/Master/tlpkg/tlperl/lib/CORE/opnames.h +++ b/Master/tlpkg/tlperl/lib/CORE/opnames.h @@ -411,10 +411,13 @@ typedef enum opcode { OP_LVREFSLICE = 394, OP_LVAVREF = 395, OP_ANONCONST = 396, + OP_ISA = 397, + OP_CMPCHAIN_AND = 398, + OP_CMPCHAIN_DUP = 399, OP_max } opcode; -#define MAXO 397 +#define MAXO 400 #define OP_FREED MAXO /* the OP_IS_* macros are optimized to a simple range check because diff --git a/Master/tlpkg/tlperl/lib/CORE/pad.h b/Master/tlpkg/tlperl/lib/CORE/pad.h index 976dc058d41..6b31ace5f28 100644 --- a/Master/tlpkg/tlperl/lib/CORE/pad.h +++ b/Master/tlpkg/tlperl/lib/CORE/pad.h @@ -179,79 +179,79 @@ C) save C and C -=for apidoc Amx|PAD **|PadlistARRAY|PADLIST padlist +=for apidoc Amx|PAD **|PadlistARRAY|PADLIST * padlist The C array of a padlist, containing the pads. Only subscript it with numbers >= 1, as the 0th entry is not guaranteed to remain usable. -=for apidoc Amx|SSize_t|PadlistMAX|PADLIST padlist +=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 C in that case. -=for apidoc Amx|PADNAMELIST *|PadlistNAMES|PADLIST padlist +=for apidoc Amx|PADNAMELIST *|PadlistNAMES|PADLIST * padlist The names associated with pad entries. -=for apidoc Amx|PADNAME **|PadlistNAMESARRAY|PADLIST padlist +=for apidoc Amx|PADNAME **|PadlistNAMESARRAY|PADLIST * padlist The C array of pad names. -=for apidoc Amx|SSize_t|PadlistNAMESMAX|PADLIST padlist +=for apidoc Amx|SSize_t|PadlistNAMESMAX|PADLIST * padlist The index of the last pad name. -=for apidoc Amx|U32|PadlistREFCNT|PADLIST padlist +=for apidoc Amx|U32|PadlistREFCNT|PADLIST * padlist The reference count of the padlist. Currently this is always 1. -=for apidoc Amx|PADNAME **|PadnamelistARRAY|PADNAMELIST pnl +=for apidoc Amx|PADNAME **|PadnamelistARRAY|PADNAMELIST * pnl The C array of pad names. -=for apidoc Amx|SSize_t|PadnamelistMAX|PADNAMELIST pnl +=for apidoc Amx|SSize_t|PadnamelistMAX|PADNAMELIST * pnl The index of the last pad name. -=for apidoc Amx|SSize_t|PadnamelistREFCNT|PADNAMELIST pnl +=for apidoc Amx|SSize_t|PadnamelistREFCNT|PADNAMELIST * pnl The reference count of the pad name list. -=for apidoc Amx|void|PadnamelistREFCNT_dec|PADNAMELIST pnl +=for apidoc Amx|void|PadnamelistREFCNT_dec|PADNAMELIST * pnl Lowers the reference count of the pad name list. -=for apidoc Amx|SV **|PadARRAY|PAD pad +=for apidoc Amx|SV **|PadARRAY|PAD * pad The C array of pad entries. -=for apidoc Amx|SSize_t|PadMAX|PAD pad +=for apidoc Amx|SSize_t|PadMAX|PAD * pad The index of the last pad entry. -=for apidoc Amx|char *|PadnamePV|PADNAME pn +=for apidoc Amx|char *|PadnamePV|PADNAME * pn The name stored in the pad name struct. This returns C for a target slot. -=for apidoc Amx|STRLEN|PadnameLEN|PADNAME pn +=for apidoc Amx|STRLEN|PadnameLEN|PADNAME * pn The length of the name. -=for apidoc Amx|bool|PadnameUTF8|PADNAME pn +=for apidoc Amx|bool|PadnameUTF8|PADNAME * pn Whether PadnamePV is in UTF-8. Currently, this is always true. -=for apidoc Amx|SV *|PadnameSV|PADNAME pn +=for apidoc Amx|SV *|PadnameSV|PADNAME * pn Returns the pad name as a mortal SV. -=for apidoc m|bool|PadnameIsOUR|PADNAME pn +=for apidoc m|bool|PadnameIsOUR|PADNAME * pn Whether this is an "our" variable. =for apidoc m|HV *|PadnameOURSTASH The stash in which this "our" variable was declared. -=for apidoc m|bool|PadnameOUTER|PADNAME pn +=for apidoc m|bool|PadnameOUTER|PADNAME * pn Whether this entry belongs to an outer pad. Entries for which this is true are often referred to as 'fake'. -=for apidoc m|bool|PadnameIsSTATE|PADNAME pn +=for apidoc m|bool|PadnameIsSTATE|PADNAME * pn Whether this is a "state" variable. -=for apidoc m|HV *|PadnameTYPE|PADNAME pn +=for apidoc m|HV *|PadnameTYPE|PADNAME * pn The stash associated with a typed lexical. This returns the C<%Foo::> hash for C. -=for apidoc Amx|SSize_t|PadnameREFCNT|PADNAME pn +=for apidoc Amx|SSize_t|PadnameREFCNT|PADNAME * pn The reference count of the pad name. -=for apidoc Amx|void|PadnameREFCNT_dec|PADNAME pn +=for apidoc Amx|void|PadnameREFCNT_dec|PADNAME * pn Lowers the reference count of the pad name. @@ -492,7 +492,7 @@ Clone the state variables associated with running and compiling pads. PL_cop_seqmax = proto_perl->Icop_seqmax; /* -=for apidoc Am|PADOFFSET|pad_add_name_pvs|"literal string" name|U32 flags|HV *typestash|HV *ourstash +=for apidoc Am|PADOFFSET|pad_add_name_pvs|"name"|U32 flags|HV *typestash|HV *ourstash Exactly like L, but takes a literal string instead of a string/length pair. @@ -504,7 +504,7 @@ instead of a string/length pair. Perl_pad_add_name_pvn(aTHX_ STR_WITH_LEN(name), flags, typestash, ourstash) /* -=for apidoc Am|PADOFFSET|pad_findmy_pvs|"literal string" name|U32 flags +=for apidoc Am|PADOFFSET|pad_findmy_pvs|"name"|U32 flags Exactly like L, but takes a literal string instead of a string/length pair. diff --git a/Master/tlpkg/tlperl/lib/CORE/parser.h b/Master/tlpkg/tlperl/lib/CORE/parser.h index 19c5c63ad34..abffd25c424 100644 --- a/Master/tlpkg/tlperl/lib/CORE/parser.h +++ b/Master/tlpkg/tlperl/lib/CORE/parser.h @@ -42,13 +42,14 @@ typedef struct yy_parser { /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; - int yylen; /* length of active reduction */ yy_stack_frame *stack; /* base of stack */ yy_stack_frame *stack_max1;/* (top-1)th element of allocated stack */ yy_stack_frame *ps; /* current stack frame */ + int yylen; /* length of active reduction */ /* lexer state */ + I32 lex_formbrack; /* bracket count at outer format level */ I32 lex_brackets; /* square and curly bracket count */ I32 lex_casemods; /* casemod count */ char *lex_brackstack;/* what kind of brackets to pop */ @@ -59,7 +60,7 @@ typedef struct yy_parser { U8 expect; /* how to interpret ambiguous tokens */ bool preambled; bool sub_no_recover; /* can't recover from a sublex error */ - I32 lex_formbrack; /* bracket count at outer format level */ + U8 sub_error_count; /* the number of errors before sublexing */ OP *lex_inpat; /* in pattern $) and $| are special */ OP *lex_op; /* extra info to pass back on op */ SV *lex_repl; /* runtime replacement from s/// */ @@ -96,7 +97,6 @@ typedef struct yy_parser { U16 in_my; /* we're compiling a "my"/"our" declaration */ U8 lex_state; /* next token is determined */ U8 error_count; /* how many compile errors so far, max 10 */ - U8 sub_error_count; /* the number of errors before sublexing */ HV *in_my_stash; /* declared class of this "my" declaration */ PerlIO *rsfp; /* current source file pointer */ AV *rsfp_filters; /* holds chain of active source filters */ @@ -112,11 +112,11 @@ typedef struct yy_parser { line_t herelines; /* number of lines in here-doc */ line_t preambling; /* line # when processing $ENV{PERL5DB} */ - bool sig_seen; /* the currently parsing sub has a signature */ /* these are valid while parsing a subroutine signature */ - IV sig_elems; /* number of signature elements seen so far */ - IV sig_optelems; /* number of optional signature elems seen */ + UV sig_elems; /* number of signature elements seen so far */ + UV sig_optelems; /* number of optional signature elems seen */ char sig_slurpy; /* the sigil of the slurpy var (or null) */ + bool sig_seen; /* the currently parsing sub has a signature */ bool recheck_utf8_validity; diff --git a/Master/tlpkg/tlperl/lib/CORE/patchlevel.h b/Master/tlpkg/tlperl/lib/CORE/patchlevel.h index 6253a725cfb..3c504eef587 100644 --- a/Master/tlpkg/tlperl/lib/CORE/patchlevel.h +++ b/Master/tlpkg/tlperl/lib/CORE/patchlevel.h @@ -14,7 +14,7 @@ * exactly on the third column */ #define PERL_REVISION 5 /* age */ -#define PERL_VERSION 30 /* epoch */ +#define PERL_VERSION 32 /* epoch */ #define PERL_SUBVERSION 1 /* generation */ /* The following numbers describe the earliest compatible version of @@ -35,7 +35,7 @@ changing them should not be necessary. */ #define PERL_API_REVISION 5 -#define PERL_API_VERSION 30 +#define PERL_API_VERSION 32 #define PERL_API_SUBVERSION 0 /* XXX Note: The selection of non-default Configure options, such diff --git a/Master/tlpkg/tlperl/lib/CORE/perl.h b/Master/tlpkg/tlperl/lib/CORE/perl.h index e5a55850f18..b0d35e27c72 100644 --- a/Master/tlpkg/tlperl/lib/CORE/perl.h +++ b/Master/tlpkg/tlperl/lib/CORE/perl.h @@ -116,11 +116,6 @@ /* <--- here ends the logic shared by perl.h and makedef.pl */ -/* Microsoft Visual C++ 6.0 needs special treatment in numerous places */ -#if defined(WIN32) && defined(_MSC_VER) && _MSC_VER >= 1200 && _MSC_VER < 1300 -# define USING_MSVC6 -#endif - #undef START_EXTERN_C #undef END_EXTERN_C #undef EXTERN_C @@ -299,9 +294,130 @@ : (REGEXP *)NULL) #endif +/* some compilers impersonate gcc */ +#if defined(__GNUC__) && !defined(__clang__) && !defined(__INTEL_COMPILER) +# define PERL_IS_GCC 1 +#endif +/* In case Configure was not used (we are using a "canned config" + * such as Win32, or a cross-compilation setup, for example) try going + * by the gcc major and minor versions. One useful URL is + * http://www.ohse.de/uwe/articles/gcc-attributes.html, + * but contrary to this information warn_unused_result seems + * not to be in gcc 3.3.5, at least. --jhi + * Also, when building extensions with an installed perl, this allows + * the user to upgrade gcc and get the right attributes, rather than + * relying on the list generated at Configure time. --AD + * Set these up now otherwise we get confused when some of the <*thread.h> + * includes below indirectly pull in (which needs to know if we + * have HASATTRIBUTE_FORMAT). + */ +#ifndef PERL_MICRO +#if defined __GNUC__ && !defined(__INTEL_COMPILER) +# if __GNUC__ == 3 && __GNUC_MINOR__ >= 1 || __GNUC__ > 3 /* 3.1 -> */ +# define HASATTRIBUTE_DEPRECATED +# endif +# if __GNUC__ >= 3 /* 3.0 -> */ /* XXX Verify this version */ +# define HASATTRIBUTE_FORMAT +# if defined __MINGW32__ +# define PRINTF_FORMAT_NULL_OK +# endif +# endif +# if __GNUC__ >= 3 /* 3.0 -> */ +# define HASATTRIBUTE_MALLOC +# endif +# if __GNUC__ == 3 && __GNUC_MINOR__ >= 3 || __GNUC__ > 3 /* 3.3 -> */ +# define HASATTRIBUTE_NONNULL +# endif +# if __GNUC__ == 2 && __GNUC_MINOR__ >= 5 || __GNUC__ > 2 /* 2.5 -> */ +# define HASATTRIBUTE_NORETURN +# endif +# if __GNUC__ >= 3 /* gcc 3.0 -> */ +# define HASATTRIBUTE_PURE +# endif +# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 || __GNUC__ > 3 /* 3.4 -> */ +# define HASATTRIBUTE_UNUSED +# endif +# if __GNUC__ == 3 && __GNUC_MINOR__ == 3 && !defined(__cplusplus) +# define HASATTRIBUTE_UNUSED /* gcc-3.3, but not g++-3.3. */ +# endif +# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 || __GNUC__ > 3 /* 3.4 -> */ +# define HASATTRIBUTE_WARN_UNUSED_RESULT +# endif +/* always_inline is buggy in gcc <= 4.6 and causes compilation errors */ +# if __GNUC__ == 4 && __GNUC_MINOR__ >= 7 || __GNUC__ > 4 /* 4.7 -> */ +# define HASATTRIBUTE_ALWAYS_INLINE +# endif +#endif +#endif /* #ifndef PERL_MICRO */ +#ifdef HASATTRIBUTE_DEPRECATED +# define __attribute__deprecated__ __attribute__((deprecated)) +#endif +#ifdef HASATTRIBUTE_FORMAT +# define __attribute__format__(x,y,z) __attribute__((format(x,y,z))) +#endif +#ifdef HASATTRIBUTE_MALLOC +# define __attribute__malloc__ __attribute__((__malloc__)) +#endif +#ifdef HASATTRIBUTE_NONNULL +# define __attribute__nonnull__(a) __attribute__((nonnull(a))) +#endif +#ifdef HASATTRIBUTE_NORETURN +# define __attribute__noreturn__ __attribute__((noreturn)) +#endif +#ifdef HASATTRIBUTE_PURE +# define __attribute__pure__ __attribute__((pure)) +#endif +#ifdef HASATTRIBUTE_UNUSED +# define __attribute__unused__ __attribute__((unused)) +#endif +#ifdef HASATTRIBUTE_WARN_UNUSED_RESULT +# define __attribute__warn_unused_result__ __attribute__((warn_unused_result)) +#endif +#ifdef HASATTRIBUTE_ALWAYS_INLINE +/* always_inline is buggy in gcc <= 4.6 and causes compilation errors */ +# if !defined(PERL_IS_GCC) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7 || __GNUC__ > 4) +# define __attribute__always_inline__ __attribute__((always_inline)) +# endif +#endif + +/* If we haven't defined the attributes yet, define them to blank. */ +#ifndef __attribute__deprecated__ +# define __attribute__deprecated__ +#endif +#ifndef __attribute__format__ +# define __attribute__format__(x,y,z) +#endif +#ifndef __attribute__malloc__ +# define __attribute__malloc__ +#endif +#ifndef __attribute__nonnull__ +# define __attribute__nonnull__(a) +#endif +#ifndef __attribute__noreturn__ +# define __attribute__noreturn__ +#endif +#ifndef __attribute__pure__ +# define __attribute__pure__ +#endif +#ifndef __attribute__unused__ +# define __attribute__unused__ +#endif +#ifndef __attribute__warn_unused_result__ +# define __attribute__warn_unused_result__ +#endif +#ifndef __attribute__always_inline__ +# define __attribute__always_inline__ +#endif + +/* Some OS warn on NULL format to printf */ +#ifdef PRINTF_FORMAT_NULL_OK +# define __attribute__format__null_ok__(x,y,z) __attribute__format__(x,y,z) +#else +# define __attribute__format__null_ok__(x,y,z) +#endif /* * Because of backward compatibility reasons the PERL_UNUSED_DECL @@ -315,20 +431,8 @@ * */ -#if defined(__SYMBIAN32__) && defined(__GNUC__) -# ifdef __cplusplus -# define PERL_UNUSED_DECL -# else -# define PERL_UNUSED_DECL __attribute__((unused)) -# endif -#endif - #ifndef PERL_UNUSED_DECL -# if defined(HASATTRIBUTE_UNUSED) && (!defined(__cplusplus) || __GNUC__ >= 4) -# define PERL_UNUSED_DECL __attribute__unused__ -# else -# define PERL_UNUSED_DECL -# endif +# define PERL_UNUSED_DECL __attribute__unused__ #endif /* gcc -Wall: @@ -395,6 +499,11 @@ # endif #endif +#if defined(_MSC_VER) +/* XXX older MSVC versions have a smallish macro buffer */ +#define PERL_SMALL_MACRO_BUFFER +#endif + /* on gcc (and clang), specify that a warning should be temporarily * ignored; e.g. * @@ -533,12 +642,25 @@ #endif /* - * STMT_START { statements; } STMT_END; - * can be used as a single statement, as in - * if (x) STMT_START { ... } STMT_END; else ... - * - * Trying to select a version that gives no warnings... - */ +=head1 Miscellaneous Functions + +=for apidoc AmnUu|void|STMT_START + + STMT_START { statements; } STMT_END; + +can be used as a single statement, as in + + if (x) STMT_START { ... } STMT_END; else ... + +These are often used in macro definitions. Note that you can't return a value +out of them. + +=for apidoc AmnUhu|void|STMT_END + +=cut + + Trying to select a version that gives no warnings... +*/ #if !(defined(STMT_START) && defined(STMT_END)) # ifdef PERL_USE_GCC_BRACE_GROUPS # define STMT_START (void)( /* gcc supports "({ STATEMENTS; })" */ @@ -553,11 +675,6 @@ # define BYTEORDER 0x1234 #endif -/* Overall memory policy? */ -#ifndef CONSERVATIVE -# define LIBERAL 1 -#endif - #if 'A' == 65 && 'I' == 73 && 'J' == 74 && 'Z' == 90 #define ASCIIish #else @@ -623,16 +740,24 @@ # define TAINT_WARN_get 0 # define TAINT_WARN_set(s) NOOP #else + /* Set to tainted if we are running under tainting mode */ # define TAINT (PL_tainted = PL_tainting) -# define TAINT_NOT (PL_tainted = FALSE) -# define TAINT_IF(c) if (UNLIKELY(c)) { PL_tainted = PL_tainting; } + +# define TAINT_NOT (PL_tainted = FALSE) /* Untaint */ +# define TAINT_IF(c) if (UNLIKELY(c)) { TAINT; } /* Conditionally taint */ # define TAINT_ENV() if (UNLIKELY(PL_tainting)) { taint_env(); } -# define TAINT_PROPER(s) if (UNLIKELY(PL_tainting)) { taint_proper(NULL, s); } + /* croak or warn if tainting */ +# define TAINT_PROPER(s) if (UNLIKELY(PL_tainting)) { \ + taint_proper(NULL, s); \ + } # define TAINT_set(s) (PL_tainted = (s)) -# define TAINT_get (PL_tainted) -# define TAINTING_get (PL_tainting) +# define TAINT_get (cBOOL(UNLIKELY(PL_tainted))) /* Is something tainted? */ +# define TAINTING_get (cBOOL(UNLIKELY(PL_tainting))) /* Is taint checking enabled? */ # define TAINTING_set(s) (PL_tainting = (s)) -# define TAINT_WARN_get (PL_taint_warn) +# define TAINT_WARN_get (PL_taint_warn) /* FALSE => tainting violations + are fatal + TRUE => they're just + warnings */ # define TAINT_WARN_set(s) (PL_taint_warn = (s)) #endif @@ -706,6 +831,10 @@ # define MB_CUR_MAX 1uL #endif +# ifdef I_WCHAR +# include +# endif + # include #ifdef I_STDINT @@ -1266,6 +1395,38 @@ EXTERN_C char *crypt(const char *, const char *); EXTERN_C char *crypt(const char *, const char *); #endif +/* +=head1 Errno + +=for apidoc m|void|SETERRNO|int errcode|int vmserrcode + +Set C, and on VMS set C. + +=for apidoc mn|void|dSAVEDERRNO + +Declare variables needed to save C and any operating system +specific error number. + +=for apidoc mn|void|dSAVE_ERRNO + +Declare variables needed to save C and any operating system +specific error number, and save them for optional later restoration +by C. + +=for apidoc mn|void|SAVE_ERRNO + +Save C and any operating system specific error number for +optional later restoration by C. Requires +C or C in scope. + +=for apidoc mn|void|RESTORE_ERRNO + +Restore C and any operating system specific error number that +was saved by C or C. + +=cut +*/ + #ifdef SETERRNO # undef SETERRNO /* SOCKS might have defined this */ #endif @@ -1337,6 +1498,29 @@ EXTERN_C char *crypt(const char *, const char *); # define RESTORE_ERRNO (errno = saved_errno) #endif +/* +=head1 Warning and Dieing + +=for apidoc Amn|SV *|ERRSV + +Returns the SV for C<$@>, creating it if needed. + +=for apidoc Am|void|CLEAR_ERRSV + +Clear the contents of C<$@>, setting it to the empty string. + +This replaces any read-only SV with a fresh SV and removes any magic. + +=for apidoc Am|void|SANE_ERRSV + +Clean up ERRSV so we can safely set it. + +This replaces any read-only SV with a fresh writable copy and removes +any magic. + +=cut +*/ + #define ERRSV GvSVn(PL_errgv) /* contains inlined gv_add_by_type */ @@ -1357,6 +1541,23 @@ EXTERN_C char *crypt(const char *, const char *); } \ } STMT_END +/* contains inlined gv_add_by_type */ +#define SANE_ERRSV() STMT_START { \ + SV ** const svp = &GvSV(PL_errgv); \ + if (!*svp) { \ + *svp = newSVpvs(""); \ + } else if (SvREADONLY(*svp)) { \ + SV *dupsv = newSVsv(*svp); \ + SvREFCNT_dec_NN(*svp); \ + *svp = dupsv; \ + } else { \ + SV *const errsv = *svp; \ + if (SvMAGICAL(errsv)) { \ + mg_free(errsv); \ + } \ + } \ + } STMT_END + #ifdef PERL_CORE # define DEFSV (0 + GvSVn(PL_defgv)) @@ -1385,7 +1586,7 @@ EXTERN_C char *crypt(const char *, const char *); #define UNKNOWN_ERRNO_MSG "(unknown)" -#if VMS +#ifdef VMS #define Strerror(e) strerror((e), vaxc$errno) #else #define Strerror(e) strerror(e) @@ -1582,9 +1783,17 @@ EXTERN_C char *crypt(const char *, const char *); /* This used to be conditionally defined based on whether we had a sprintf() * that correctly returns the string length (as required by C89), but we no * longer need that. XS modules can (and do) use this name, so it must remain - * a part of the API that's visible to modules. But we no longer document it - * either (because using sprintf() rather than snprintf() is almost always - * a bad idea). */ + * a part of the API that's visible to modules. + +=head1 Miscellaneous Functions + +=for apidoc ATmD|int|my_sprintf|NN char *buffer|NN const char *pat|... + +Do NOT use this due to the possibility of overflowing C. Instead use +my_snprintf() + +=cut +*/ #define my_sprintf sprintf /* @@ -1667,8 +1876,6 @@ EXTERN_C char *crypt(const char *, const char *); #ifdef HAS_STRLCAT # define my_strlcat strlcat -#else -# define my_strlcat Perl_my_strlcat #endif #if defined(PERL_CORE) || defined(PERL_EXT) @@ -1681,14 +1888,10 @@ EXTERN_C char *crypt(const char *, const char *); #ifdef HAS_STRLCPY # define my_strlcpy strlcpy -#else -# define my_strlcpy Perl_my_strlcpy #endif #ifdef HAS_STRNLEN # define my_strnlen strnlen -#else -# define my_strnlen Perl_my_strnlen #endif /* @@ -1702,13 +1905,13 @@ typedef UVTYPE UV; #if defined(USE_64_BIT_INT) && defined(HAS_QUAD) # if QUADKIND == QUAD_IS_INT64_T && defined(INT64_MAX) -# define IV_MAX INT64_MAX -# define IV_MIN INT64_MIN -# define UV_MAX UINT64_MAX +# define IV_MAX ((IV)INT64_MAX) +# define IV_MIN ((IV)INT64_MIN) +# define UV_MAX ((UV)UINT64_MAX) # ifndef UINT64_MIN # define UINT64_MIN 0 # endif -# define UV_MIN UINT64_MIN +# define UV_MIN ((UV)UINT64_MIN) # else # define IV_MAX PERL_QUAD_MAX # define IV_MIN PERL_QUAD_MIN @@ -1719,17 +1922,17 @@ typedef UVTYPE UV; # define UV_IS_QUAD #else # if defined(INT32_MAX) && IVSIZE == 4 -# define IV_MAX INT32_MAX -# define IV_MIN INT32_MIN +# define IV_MAX ((IV)INT32_MAX) +# define IV_MIN ((IV)INT32_MIN) # ifndef UINT32_MAX_BROKEN /* e.g. HP-UX with gcc messes this up */ -# define UV_MAX UINT32_MAX +# define UV_MAX ((UV)UINT32_MAX) # else -# define UV_MAX 4294967295U +# define UV_MAX ((UV)4294967295U) # endif # ifndef UINT32_MIN # define UINT32_MIN 0 # endif -# define UV_MIN UINT32_MIN +# define UV_MIN ((UV)UINT32_MIN) # else # define IV_MAX PERL_LONG_MAX # define IV_MIN PERL_LONG_MIN @@ -1745,11 +1948,10 @@ typedef UVTYPE UV; # else # undef IV_IS_QUAD # undef UV_IS_QUAD -#if !defined(PERL_CORE) || defined(USING_MSVC6) +#if !defined(PERL_CORE) /* We think that removing this decade-old undef this will cause too much breakage on CPAN for too little gain. (See RT #119753) - However, we do need HAS_QUAD in the core for use by the drand48 code, - but not for Win32 VC6 because it has poor __int64 support. */ + However, we do need HAS_QUAD in the core for use by the drand48 code. */ # undef HAS_QUAD #endif # endif @@ -1841,11 +2043,6 @@ typedef NVTYPE NV; # include #endif -#ifdef USING_MSVC6 -/* VC6 has broken NaN semantics: NaN == NaN returns true instead of false, - * and for example NaN < IV_MIN. */ -# define NAN_COMPARE_BROKEN -#endif #if defined(__DECC) && defined(__osf__) /* Also Tru64 cc has broken NaN comparisons. */ # define NAN_COMPARE_BROKEN @@ -2290,10 +2487,6 @@ extern long double Perl_my_frexpl(long double x, int *e); (Perl_fp_class_pdenorm(x) || Perl_fp_class_ndenorm(x)) #endif -#ifdef UNDER_CE -int isnan(double d); -#endif - #ifndef Perl_isnan # ifdef Perl_fp_class_nan # define Perl_isnan(x) Perl_fp_class_nan(x) @@ -2414,6 +2607,58 @@ int isnan(double d); # define PERL_QUAD_MIN (-PERL_QUAD_MAX - ((3 & -1) == 3)) #endif +/* +=head1 Numeric functions + +=for apidoc AmnUh||PERL_INT_MIN +=for apidoc AmnUh||PERL_LONG_MAX +=for apidoc AmnUh||PERL_LONG_MIN +=for apidoc AmnUh||PERL_QUAD_MAX +=for apidoc AmnUh||PERL_SHORT_MAX +=for apidoc AmnUh||PERL_SHORT_MIN +=for apidoc AmnUh||PERL_UCHAR_MAX +=for apidoc AmnUh||PERL_UCHAR_MIN +=for apidoc AmnUh||PERL_UINT_MAX +=for apidoc AmnUh||PERL_ULONG_MAX +=for apidoc AmnUh||PERL_ULONG_MIN +=for apidoc AmnUh||PERL_UQUAD_MAX +=for apidoc AmnUh||PERL_UQUAD_MIN +=for apidoc AmnUh||PERL_USHORT_MAX +=for apidoc AmnUh||PERL_USHORT_MIN +=for apidoc AmnUh||PERL_QUAD_MIN +=for apidoc AmnU||PERL_INT_MAX +This and +C, +C, +C, +C, +C, +C, +C, +C, +C, +C, +C, +C, +C, +C, +C, +C +give the largest and smallest number representable in the current +platform in variables of the corresponding types. + +For signed types, the smallest representable number is the most negative +number, the one furthest away from zero. + +For C99 and later compilers, these correspond to things like C, which +are available to the C code. But these constants, furnished by Perl, +allow code compiled on earlier compilers to portably have access to the same +constants. + +=cut + +*/ + typedef MEM_SIZE STRLEN; typedef struct op OP; @@ -2671,6 +2916,67 @@ typedef struct padname PADNAME; # define USE_ENVIRON_ARRAY #endif +#ifdef USE_ITHREADS + /* On some platforms it would be safe to use a read/write mutex with many + * readers possible at the same time. On other platforms, notably IBM ones, + * subsequent getenv calls destroy earlier ones. Those platforms would not + * be able to handle simultaneous getenv calls */ +# define ENV_LOCK MUTEX_LOCK(&PL_env_mutex) +# define ENV_UNLOCK MUTEX_UNLOCK(&PL_env_mutex) +# define ENV_INIT MUTEX_INIT(&PL_env_mutex); +# define ENV_TERM MUTEX_DESTROY(&PL_env_mutex); +#else +# define ENV_LOCK NOOP; +# define ENV_UNLOCK NOOP; +# define ENV_INIT NOOP; +# define ENV_TERM NOOP; +#endif + +/* Some critical sections need to lock both the locale and the environment. + * XXX khw intends to change this to lock both mutexes, but that brings up + * issues of potential deadlock, so should be done at the beginning of a + * development cycle. So for now, it just locks the environment. Note that + * many modern platforms are locale-thread-safe anyway, so locking the locale + * mutex is a no-op anyway */ +#define ENV_LOCALE_LOCK ENV_LOCK +#define ENV_LOCALE_UNLOCK ENV_UNLOCK + +/* And some critical sections care only that no one else is writing either the + * locale nor the environment. XXX Again this is for the future. This can be + * simulated with using COND_WAIT in thread.h */ +#define ENV_LOCALE_READ_LOCK ENV_LOCALE_LOCK +#define ENV_LOCALE_READ_UNLOCK ENV_LOCALE_UNLOCK + +#if defined(HAS_SIGACTION) && defined(SA_SIGINFO) + /* having sigaction(2) means that the OS supports both 1-arg and 3-arg + * signal handlers. But the perl core itself only fully supports 1-arg + * handlers, so don't enable for now. + * NB: POSIX::sigaction() supports both. + * + * # define PERL_USE_3ARG_SIGHANDLER + */ +#endif + +/* Siginfo_t: + * This is an alias for the OS's siginfo_t, except that where the OS + * doesn't support it, declare a dummy version instead. This allows us to + * have signal handler functions which always have a Siginfo_t parameter + * regardless of platform, (and which will just be passed a NULL value + * where the OS doesn't support HAS_SIGACTION). + */ + +#if defined(HAS_SIGACTION) && defined(SA_SIGINFO) + typedef siginfo_t Siginfo_t; +#else +#ifdef si_signo /* minix */ +#undef si_signo +#endif + typedef struct { + int si_signo; + } Siginfo_t; +#endif + + /* * initialise to avoid floating-point exceptions from overflow, etc */ @@ -2788,55 +3094,6 @@ freeing any remaining Perl interpreters. # endif #endif -/* In case Configure was not used (we are using a "canned config" - * such as Win32, or a cross-compilation setup, for example) try going - * by the gcc major and minor versions. One useful URL is - * http://www.ohse.de/uwe/articles/gcc-attributes.html, - * but contrary to this information warn_unused_result seems - * not to be in gcc 3.3.5, at least. --jhi - * Also, when building extensions with an installed perl, this allows - * the user to upgrade gcc and get the right attributes, rather than - * relying on the list generated at Configure time. --AD - * Set these up now otherwise we get confused when some of the <*thread.h> - * includes below indirectly pull in (which needs to know if we - * have HASATTRIBUTE_FORMAT). - */ - -#ifndef PERL_MICRO -#if defined __GNUC__ && !defined(__INTEL_COMPILER) -# if __GNUC__ == 3 && __GNUC_MINOR__ >= 1 || __GNUC__ > 3 /* 3.1 -> */ -# define HASATTRIBUTE_DEPRECATED -# endif -# if __GNUC__ >= 3 /* 3.0 -> */ /* XXX Verify this version */ -# define HASATTRIBUTE_FORMAT -# if defined __MINGW32__ -# define PRINTF_FORMAT_NULL_OK -# endif -# endif -# if __GNUC__ >= 3 /* 3.0 -> */ -# define HASATTRIBUTE_MALLOC -# endif -# if __GNUC__ == 3 && __GNUC_MINOR__ >= 3 || __GNUC__ > 3 /* 3.3 -> */ -# define HASATTRIBUTE_NONNULL -# endif -# if __GNUC__ == 2 && __GNUC_MINOR__ >= 5 || __GNUC__ > 2 /* 2.5 -> */ -# define HASATTRIBUTE_NORETURN -# endif -# if __GNUC__ >= 3 /* gcc 3.0 -> */ -# define HASATTRIBUTE_PURE -# endif -# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 || __GNUC__ > 3 /* 3.4 -> */ -# define HASATTRIBUTE_UNUSED -# endif -# if __GNUC__ == 3 && __GNUC_MINOR__ == 3 && !defined(__cplusplus) -# define HASATTRIBUTE_UNUSED /* gcc-3.3, but not g++-3.3. */ -# endif -# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 || __GNUC__ > 3 /* 3.4 -> */ -# define HASATTRIBUTE_WARN_UNUSED_RESULT -# endif -#endif -#endif /* #ifndef PERL_MICRO */ - /* USE_5005THREADS needs to be after unixish.h as includes * which defines NSIG - which will stop inclusion of * this results in many functions being undeclared which bothers C++ @@ -3353,7 +3610,13 @@ EXTERN_C int perl_tsa_mutex_unlock(perl_mutex* mutex) #define HEKfARG(p) ((void*)(p)) -/* Takes three arguments: is_utf8, length, str */ +/* +=for apidoc Amnh||UTF8f +=for apidoc Amh||UTF8fARG|bool is_utf8|Size_t byte_len|char *str + +=cut + * %4p is a custom format + */ #ifndef UTF8f # define UTF8f "d%" UVuf "%4p" #endif @@ -3369,57 +3632,6 @@ EXTERN_C int perl_tsa_mutex_unlock(perl_mutex* mutex) # define UVf UVuf #endif -#ifdef HASATTRIBUTE_DEPRECATED -# define __attribute__deprecated__ __attribute__((deprecated)) -#endif -#ifdef HASATTRIBUTE_FORMAT -# define __attribute__format__(x,y,z) __attribute__((format(x,y,z))) -#endif -#ifdef HASATTRIBUTE_MALLOC -# define __attribute__malloc__ __attribute__((__malloc__)) -#endif -#ifdef HASATTRIBUTE_NONNULL -# define __attribute__nonnull__(a) __attribute__((nonnull(a))) -#endif -#ifdef HASATTRIBUTE_NORETURN -# define __attribute__noreturn__ __attribute__((noreturn)) -#endif -#ifdef HASATTRIBUTE_PURE -# define __attribute__pure__ __attribute__((pure)) -#endif -#ifdef HASATTRIBUTE_UNUSED -# define __attribute__unused__ __attribute__((unused)) -#endif -#ifdef HASATTRIBUTE_WARN_UNUSED_RESULT -# define __attribute__warn_unused_result__ __attribute__((warn_unused_result)) -#endif - -/* If we haven't defined the attributes yet, define them to blank. */ -#ifndef __attribute__deprecated__ -# define __attribute__deprecated__ -#endif -#ifndef __attribute__format__ -# define __attribute__format__(x,y,z) -#endif -#ifndef __attribute__malloc__ -# define __attribute__malloc__ -#endif -#ifndef __attribute__nonnull__ -# define __attribute__nonnull__(a) -#endif -#ifndef __attribute__noreturn__ -# define __attribute__noreturn__ -#endif -#ifndef __attribute__pure__ -# define __attribute__pure__ -#endif -#ifndef __attribute__unused__ -# define __attribute__unused__ -#endif -#ifndef __attribute__warn_unused_result__ -# define __attribute__warn_unused_result__ -#endif - #if !defined(DEBUGGING) && !defined(NDEBUG) # define NDEBUG 1 #endif @@ -3434,20 +3646,30 @@ EXTERN_C int perl_tsa_mutex_unlock(perl_mutex* mutex) # define NORETURN_FUNCTION_END NOT_REACHED; return 0 #endif -/* Some OS warn on NULL format to printf */ -#ifdef PRINTF_FORMAT_NULL_OK -# define __attribute__format__null_ok__(x,y,z) __attribute__format__(x,y,z) -#else -# define __attribute__format__null_ok__(x,y,z) -#endif - #ifdef HAS_BUILTIN_EXPECT # define EXPECT(expr,val) __builtin_expect(expr,val) #else # define EXPECT(expr,val) (expr) #endif + +/* +=head1 Miscellaneous Functions + +=for apidoc AmU|bool|LIKELY|const bool expr + +Returns the input unchanged, but at the same time it gives a branch prediction +hint to the compiler that this condition is likely to be true. + +=for apidoc AmU|bool|UNLIKELY|const bool expr + +Returns the input unchanged, but at the same time it gives a branch prediction +hint to the compiler that this condition is likely to be false. + +=cut +*/ #define LIKELY(cond) EXPECT(cBOOL(cond),TRUE) #define UNLIKELY(cond) EXPECT(cBOOL(cond),FALSE) + #ifdef HAS_BUILTIN_CHOOSE_EXPR /* placeholder */ #endif @@ -3464,8 +3686,11 @@ EXTERN_C int perl_tsa_mutex_unlock(perl_mutex* mutex) STATIC_ASSERT_STMT expands to a statement and is suitable for use inside a function. */ -#if (defined(static_assert) || (defined(__cplusplus) && __cplusplus >= 201103L)) && (!defined(__IBMC__) || __IBMC__ >= 1210) -/* static_assert is a macro defined in in C11 or a compiler +#if (! defined(__IBMC__) || __IBMC__ >= 1210) \ + && (( defined(static_assert) && ( defined(_ISOC11_SOURCE) \ + || (__STDC_VERSION__ - 0) >= 201101L)) \ + || (defined(__cplusplus) && __cplusplus >= 201103L)) +/* XXX static_assert is a macro defined in in C11 or a compiler builtin in C++11. But IBM XL C V11 does not support _Static_assert, no matter what says. */ @@ -3521,9 +3746,9 @@ EXTERN_C int perl_tsa_mutex_unlock(perl_mutex* mutex) # define NOT_REACHED #elif defined(DEBUGGING) && (__has_builtin(__builtin_unreachable) \ || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5 || __GNUC__ > 4)) /* 4.5 -> */ -# define NOT_REACHED STMT_START { ASSUME(0); __builtin_unreachable(); } STMT_END +# define NOT_REACHED STMT_START { ASSUME(!"UNREACHABLE"); __builtin_unreachable(); } STMT_END #else -# define NOT_REACHED ASSUME(0) +# define NOT_REACHED ASSUME(!"UNREACHABLE") #endif /* Some unistd.h's give a prototype for pause() even though @@ -3642,6 +3867,14 @@ typedef struct crypt_data { /* straight from /usr/include/crypt.h */ # define PERL_STATIC_INLINE_NO_RET PERL_STATIC_INLINE #endif +#ifndef PERL_STATIC_FORCE_INLINE +# define PERL_STATIC_FORCE_INLINE PERL_STATIC_INLINE +#endif + +#ifndef PERL_STATIC_FORCE_INLINE_NO_RET +# define PERL_STATIC_FORCE_INLINE_NO_RET PERL_STATIC_INLINE +#endif + #if !defined(OS2) # include "iperlsys.h" #endif @@ -3667,13 +3900,13 @@ typedef struct crypt_data { /* straight from /usr/include/crypt.h */ /* macros to define bit-fields in structs. */ #ifndef PERL_BITFIELD8 -# define PERL_BITFIELD8 unsigned +# define PERL_BITFIELD8 U8 #endif #ifndef PERL_BITFIELD16 -# define PERL_BITFIELD16 unsigned +# define PERL_BITFIELD16 U16 #endif #ifndef PERL_BITFIELD32 -# define PERL_BITFIELD32 unsigned +# define PERL_BITFIELD32 U32 #endif #include "sv.h" @@ -3898,7 +4131,7 @@ my_swap16(const U16 x) { #endif #ifndef __cplusplus -#if !(defined(WIN32) || defined(UNDER_CE) || defined(SYMBIAN)) +#if !(defined(WIN32) || defined(SYMBIAN)) Uid_t getuid (void); Uid_t geteuid (void); Gid_t getgid (void); @@ -3949,7 +4182,8 @@ Gid_t getegid (void); #define DEBUG_B_FLAG 0x02000000 /*33554432*/ #define DEBUG_L_FLAG 0x04000000 /*67108864*/ #define DEBUG_i_FLAG 0x08000000 /*134217728*/ -#define DEBUG_MASK 0x0FFFEFFF /* mask of all the standard flags */ +#define DEBUG_y_FLAG 0x10000000 /*268435456*/ +#define DEBUG_MASK 0x1FFFEFFF /* mask of all the standard flags */ #define DEBUG_DB_RECURSE_FLAG 0x40000000 #define DEBUG_TOP_FLAG 0x80000000 /* -D was given --> PL_debug |= FLAG */ @@ -3981,10 +4215,12 @@ Gid_t getegid (void); # define DEBUG_B_TEST_ UNLIKELY(PL_debug & DEBUG_B_FLAG) # define DEBUG_L_TEST_ UNLIKELY(PL_debug & DEBUG_L_FLAG) # define DEBUG_i_TEST_ UNLIKELY(PL_debug & DEBUG_i_FLAG) +# define DEBUG_y_TEST_ UNLIKELY(PL_debug & DEBUG_y_FLAG) # 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_) +# define DEBUG_yv_TEST_ (DEBUG_y_TEST_ && DEBUG_v_TEST_) #ifdef DEBUGGING @@ -4015,10 +4251,12 @@ Gid_t getegid (void); # define DEBUG_B_TEST DEBUG_B_TEST_ # define DEBUG_L_TEST DEBUG_L_TEST_ # define DEBUG_i_TEST DEBUG_i_TEST_ +# define DEBUG_y_TEST DEBUG_y_TEST_ # 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 DEBUG_yv_TEST DEBUG_yv_TEST_ # define PERL_DEB(a) a # define PERL_DEB2(a,b) a @@ -4052,10 +4290,11 @@ Gid_t getegid (void); # define DEBUG_f(a) DEBUG__(DEBUG_f_TEST, a) -# ifndef PERL_EXT_RE_BUILD -# define DEBUG_r(a) DEBUG__(DEBUG_r_TEST, a) -# else +/* For re_comp.c, re_exec.c, assume -Dr has been specified */ +# ifdef PERL_EXT_RE_BUILD # define DEBUG_r(a) STMT_START {a;} STMT_END +# else +# define DEBUG_r(a) DEBUG__(DEBUG_r_TEST, a) # endif /* PERL_EXT_RE_BUILD */ # define DEBUG_x(a) DEBUG__(DEBUG_x_TEST, a) @@ -4067,6 +4306,7 @@ Gid_t getegid (void); # 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_yv(a) DEBUG__(DEBUG_yv_TEST, a) # define DEBUG_S(a) DEBUG__(DEBUG_S_TEST, a) # define DEBUG_T(a) DEBUG__(DEBUG_T_TEST, a) @@ -4079,6 +4319,7 @@ Gid_t getegid (void); # define DEBUG_B(a) DEBUG__(DEBUG_B_TEST, a) # define DEBUG_L(a) DEBUG__(DEBUG_L_TEST, a) # define DEBUG_i(a) DEBUG__(DEBUG_i_TEST, a) +# define DEBUG_y(a) DEBUG__(DEBUG_y_TEST, a) #else /* ! DEBUGGING below */ @@ -4109,10 +4350,12 @@ Gid_t getegid (void); # define DEBUG_B_TEST (0) # define DEBUG_L_TEST (0) # define DEBUG_i_TEST (0) +# define DEBUG_y_TEST (0) # define DEBUG_Xv_TEST (0) # define DEBUG_Uv_TEST (0) # define DEBUG_Pv_TEST (0) # define DEBUG_Lv_TEST (0) +# define DEBUG_yv_TEST (0) # define PERL_DEB(a) # define PERL_DEB2(a,b) b @@ -4143,10 +4386,12 @@ Gid_t getegid (void); # define DEBUG_B(a) # define DEBUG_L(a) # define DEBUG_i(a) +# define DEBUG_y(a) # define DEBUG_Xv(a) # define DEBUG_Uv(a) # define DEBUG_Pv(a) # define DEBUG_Lv(a) +# define DEBUG_yv(a) #endif /* DEBUGGING */ @@ -4466,12 +4711,14 @@ EXTCONST char PL_no_dir_func[] EXTCONST char PL_no_func[] INIT("The %s function is unimplemented"); EXTCONST char PL_no_myglob[] - INIT("\"%s\" %se %s can't be in a package"); + INIT("\"%s\" %s %s can't be in a package"); EXTCONST char PL_no_localize_ref[] INIT("Can't localize through a reference"); EXTCONST char PL_memory_wrap[] INIT("panic: memory wrap"); - +EXTCONST char PL_extended_cp_format[] + INIT("Code point 0x%" UVXf " is not Unicode, requires a Perl extension," + " and so is not portable"); EXTCONST char PL_Yes[] INIT("1"); EXTCONST char PL_No[] @@ -5481,7 +5728,7 @@ EXTCONST bool PL_valid_types_NV_set[]; #ifndef EBCDIC /* The tables below are adapted from - * http://bjoern.hoehrmann.de/utf-8/decoder/dfa/, which requires this copyright + * https://bjoern.hoehrmann.de/utf-8/decoder/dfa/, which requires this copyright * notice: Copyright (c) 2008-2009 Bjoern Hoehrmann @@ -5508,7 +5755,7 @@ SOFTWARE. # ifdef DOINIT # if 0 /* This is the original table given in - http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ */ + https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ */ static U8 utf8d_C9[] = { /* The first part of the table maps bytes to character classes that * to reduce the size of the transition table and create bitmasks. */ @@ -5650,7 +5897,7 @@ EXTCONST U8 PL_extended_utf8_dfa_tab[] = { * that can be returned immediately. * * The "Implementation details" portion of - * http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ shows how + * https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ shows how * the first portion of the table maps each possible byte into a character * class. And that the classes for those bytes which are start bytes have been * carefully chosen so they serve as well to be used as a shift value to mask @@ -5669,7 +5916,7 @@ EXTCONST U8 PL_extended_utf8_dfa_tab[] = { * drops out immediately for that. In the dfa, classes 3 and 4 are used to * distinguish EF vs the rest. Then special code is used to deal with ED, * that's executed only when the dfa drops out. The code points started by ED - * are half surrogates, and half hangul syllables. This means that 2048 of the + * are half surrogates, and half hangul syllables. This means that 2048 of * the hangul syllables (about 18%) take longer than all other non-problematic * code points to handle. * @@ -5799,7 +6046,7 @@ EXTCONST U8 PL_strict_utf8_dfa_tab[] = { /* And below is yet another version of the above tables that accepts only UTF-8 * as defined by Corregidum #9. Hence no surrogates nor non-Unicode, but * it allows non-characters. This is isomorphic to the original table - * in http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ + * in https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ * * The classes are * 00-7F 0 @@ -5904,7 +6151,7 @@ EXTCONST U8 PL_c9_utf8_dfa_tab[]; compilers aren't smart enough to eliminate unused static inline functions, so including this file in source code can cause link errors even if the source code uses none of the functions. Hence including these - can be be suppressed by setting PERL_NO_INLINE_FUNCTIONS. Doing this will + can be suppressed by setting PERL_NO_INLINE_FUNCTIONS. Doing this will (obviously) result in unworkable XS code, but allows simple probing code to continue to work, because it permits tests to include the perl headers for definitions without creating a link dependency on the perl library @@ -6048,6 +6295,27 @@ typedef struct am_table_short AMTS; # define IN_SOME_LOCALE_FORM_COMPILETIME \ cBOOL(PL_hints & (HINT_LOCALE|HINT_LOCALE_PARTIAL)) +/* +=head1 Locale-related functions and macros + +=for apidoc Amn|bool|IN_LOCALE + +Evaluates to TRUE if the plain locale pragma without a parameter (S>) is in effect. + +=for apidoc Amn|bool|IN_LOCALE_COMPILETIME + +Evaluates to TRUE if, when compiling a perl program (including an C) if +the plain locale pragma without a parameter (S>) is in effect. + +=for apidoc Amn|bool|IN_LOCALE_RUNTIME + +Evaluates to TRUE if, when executing a perl program (including an C) if +the plain locale pragma without a parameter (S>) is in effect. + +=cut +*/ + # define IN_LOCALE \ (IN_PERL_COMPILETIME ? IN_LOCALE_COMPILETIME : IN_LOCALE_RUNTIME) # define IN_SOME_LOCALE_FORM \ @@ -6074,7 +6342,7 @@ typedef struct am_table_short AMTS; # if defined (PERL_CORE) || defined (PERL_IN_XSUB_RE) /* This internal macro should be called from places that operate under - * locale rules. It there is a problem with the current locale that + * locale rules. If there is a problem with the current locale that * hasn't been raised yet, it will output a warning this time. Because * this will so rarely be true, there is no point to optimize for time; * instead it makes sense to minimize space used and do all the work in @@ -6248,7 +6516,7 @@ typedef struct am_table_short AMTS; else { \ PL_lc_numeric_mutex_depth++; \ DEBUG_Lv(PerlIO_printf(Perl_debug_log, \ - "%s: %d: avoided lc_numeric_lock; depth=%d\n", \ + "%s: %d: avoided lc_numeric_lock; new depth=%d\n", \ __FILE__, __LINE__, PL_lc_numeric_mutex_depth)); \ if (cond_to_panic_if_already_locked) { \ Perl_croak_nocontext("panic: %s: %d: Trying to change" \ @@ -6270,7 +6538,7 @@ typedef struct am_table_short AMTS; else { \ PL_lc_numeric_mutex_depth--; \ DEBUG_Lv(PerlIO_printf(Perl_debug_log, \ - "%s: %d: avoided lc_numeric_unlock; depth=%d\n", \ + "%s: %d: avoided lc_numeric_unlock; new depth=%d\n",\ __FILE__, __LINE__, PL_lc_numeric_mutex_depth)); \ } \ } STMT_END \ @@ -6308,7 +6576,7 @@ any executable statements. =for apidoc Am|void|STORE_LC_NUMERIC_FORCE_TO_UNDERLYING -This is used by XS code that that is C locale-aware to force the +This is used by XS code that is C locale-aware to force the locale for category C to be what perl thinks is the current underlying locale. (The perl interpreter could be wrong about what the underlying locale actually is if some C or XS code has called the C library @@ -6369,7 +6637,15 @@ argument list, like this: On threaded perls not operating with thread-safe functionality, this macro uses a mutex to force a critical section. Therefore the matching RESTORE should be -close by, and guaranteed to be called. +close by, and guaranteed to be called; see L +for a more contained way to ensure that. + +=for apidoc Am|void|STORE_LC_NUMERIC_SET_TO_NEEDED_IN|bool in_lc_numeric + +Same as L with in_lc_numeric provided +as the precalculated value of C. It is the caller's +responsibility to ensure that the status of C and C +cannot have changed since the precalculation. =for apidoc Am|void|RESTORE_LC_NUMERIC @@ -6390,6 +6666,36 @@ expression, but with an empty argument list, like this: ... } +=for apidoc Am|void|WITH_LC_NUMERIC_SET_TO_NEEDED|block + +This macro invokes the supplied statement or block within the context +of a L .. L pair +if required, so eg: + + WITH_LC_NUMERIC_SET_TO_NEEDED( + SNPRINTF_G(fv, ebuf, sizeof(ebuf), precis) + ); + +is equivalent to: + + { +#ifdef USE_LOCALE_NUMERIC + DECLARATION_FOR_LC_NUMERIC_MANIPULATION; + STORE_LC_NUMERIC_SET_TO_NEEDED(); +#endif + SNPRINTF_G(fv, ebuf, sizeof(ebuf), precis); +#ifdef USE_LOCALE_NUMERIC + RESTORE_LC_NUMERIC(); +#endif + } + +=for apidoc Am|void|WITH_LC_NUMERIC_SET_TO_NEEDED_IN|bool in_lc_numeric|block + +Same as L with in_lc_numeric provided +as the precalculated value of C. It is the caller's +responsibility to ensure that the status of C and C +cannot have changed since the precalculation. + =cut */ @@ -6417,12 +6723,13 @@ expression, but with an empty argument list, like this: # define DECLARATION_FOR_LC_NUMERIC_MANIPULATION \ void (*_restore_LC_NUMERIC_function)(pTHX) = NULL -# define STORE_LC_NUMERIC_SET_TO_NEEDED() \ +# define STORE_LC_NUMERIC_SET_TO_NEEDED_IN(in) \ STMT_START { \ + bool _in_lc_numeric = (in); \ LC_NUMERIC_LOCK( \ - ( ( IN_LC(LC_NUMERIC) && _NOT_IN_NUMERIC_UNDERLYING) \ - || (! IN_LC(LC_NUMERIC) && _NOT_IN_NUMERIC_STANDARD)));\ - if (IN_LC(LC_NUMERIC)) { \ + ( ( _in_lc_numeric && _NOT_IN_NUMERIC_UNDERLYING) \ + || (! _in_lc_numeric && _NOT_IN_NUMERIC_STANDARD))); \ + if (_in_lc_numeric) { \ if (_NOT_IN_NUMERIC_UNDERLYING) { \ Perl_set_numeric_underlying(aTHX); \ _restore_LC_NUMERIC_function \ @@ -6438,6 +6745,9 @@ expression, but with an empty argument list, like this: } \ } STMT_END +# define STORE_LC_NUMERIC_SET_TO_NEEDED() \ + STORE_LC_NUMERIC_SET_TO_NEEDED_IN(IN_LC(LC_NUMERIC)) + # define RESTORE_LC_NUMERIC() \ STMT_START { \ if (_restore_LC_NUMERIC_function) { \ @@ -6512,22 +6822,65 @@ expression, but with an empty argument list, like this: __FILE__, __LINE__, PL_numeric_standard)); \ } STMT_END +# define WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric, block) \ + STMT_START { \ + DECLARATION_FOR_LC_NUMERIC_MANIPULATION; \ + STORE_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric); \ + block; \ + RESTORE_LC_NUMERIC(); \ + } STMT_END; + +# define WITH_LC_NUMERIC_SET_TO_NEEDED(block) \ + WITH_LC_NUMERIC_SET_TO_NEEDED_IN(IN_LC(LC_NUMERIC), block) + #else /* !USE_LOCALE_NUMERIC */ # define SET_NUMERIC_STANDARD() # define SET_NUMERIC_UNDERLYING() # define IS_NUMERIC_RADIX(a, b) (0) -# define DECLARATION_FOR_LC_NUMERIC_MANIPULATION +# define DECLARATION_FOR_LC_NUMERIC_MANIPULATION dNOOP # define STORE_LC_NUMERIC_SET_STANDARD() # define STORE_LC_NUMERIC_FORCE_TO_UNDERLYING() +# define STORE_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric) # define STORE_LC_NUMERIC_SET_TO_NEEDED() # define RESTORE_LC_NUMERIC() # define LOCK_LC_NUMERIC_STANDARD() # define UNLOCK_LC_NUMERIC_STANDARD() +# define WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric, block) \ + STMT_START { block; } STMT_END +# define WITH_LC_NUMERIC_SET_TO_NEEDED(block) \ + STMT_START { block; } STMT_END #endif /* !USE_LOCALE_NUMERIC */ #define Atof my_atof + +/* + +=head1 Numeric functions + +=for apidoc AmTR|NV|Strtod|NN const char * const s|NULLOK char ** e + +This is a synonym for L. + +=for apidoc AmTR|NV|Strtol|NN const char * const s|NULLOK char ** e|int base + +Platform and configuration independent C. This expands to the +appropriate C-like function based on the platform and F +options>. For example it could expand to C or C instead of +C. + +=for apidoc AmTR|NV|Strtoul|NN const char * const s|NULLOK char ** e|int base + +Platform and configuration independent C. This expands to the +appropriate C-like function based on the platform and F +options>. For example it could expand to C or C instead of +C. + +=cut + +*/ + #define Strtod my_strtod #if defined(HAS_STRTOD) \ @@ -6597,6 +6950,14 @@ expression, but with an empty argument list, like this: # define Atoul(s) Strtoul(s, NULL, 10) #endif +#define grok_bin(s,lp,fp,rp) \ + grok_bin_oct_hex(s, lp, fp, rp, 1, _CC_BINDIGIT, 'b') +#define grok_oct(s,lp,fp,rp) \ + (*(fp) |= PERL_SCAN_DISALLOW_PREFIX, \ + grok_bin_oct_hex(s, lp, fp, rp, 3, _CC_OCTDIGIT, '\0')) +#define grok_hex(s,lp,fp,rp) \ + grok_bin_oct_hex(s, lp, fp, rp, 4, _CC_XDIGIT, 'x') + #ifndef PERL_SCRIPT_MODE #define PERL_SCRIPT_MODE "r" #endif @@ -6775,7 +7136,7 @@ expression, but with an empty argument list, like this: #endif #if defined(HAS_FLOCK) && !defined(HAS_FLOCK_PROTO) -int flock(int fd, int op); +EXTERN_C int flock(int fd, int op); #endif #ifndef O_RDONLY @@ -6829,19 +7190,50 @@ int flock(int fd, int op); #define IS_NUMBER_NAN 0x20 /* this is not */ #define IS_NUMBER_TRAILING 0x40 /* number has trailing trash */ +/* +=head1 Numeric functions + +=for apidoc AmdR|bool|GROK_NUMERIC_RADIX|NN const char **sp|NN const char *send + +A synonym for L + +=cut +*/ #define GROK_NUMERIC_RADIX(sp, send) grok_numeric_radix(sp, send) -/* Input flags: */ +/* Number scan flags. All are used for input, the ones used for output are so + * marked */ #define PERL_SCAN_ALLOW_UNDERSCORES 0x01 /* grok_??? accept _ in numbers */ #define PERL_SCAN_DISALLOW_PREFIX 0x02 /* grok_??? reject 0x in hex etc */ -#define PERL_SCAN_SILENT_ILLDIGIT 0x04 /* grok_??? not warn about illegal digits */ -#define PERL_SCAN_SILENT_NON_PORTABLE 0x08 /* grok_??? not warn about very large - numbers which are <= UV_MAX */ + +/* grok_??? input: ignored; output: found overflow */ +#define PERL_SCAN_GREATER_THAN_UV_MAX 0x04 + +/* grok_??? don't warn about illegal digits. To preserve total backcompat, + * this isn't set on output if one is found. Instead, see + * PERL_SCAN_NOTIFY_ILLDIGIT. */ +#define PERL_SCAN_SILENT_ILLDIGIT 0x08 + #define PERL_SCAN_TRAILING 0x10 /* grok_number_flags() allow trailing and set IS_NUMBER_TRAILING */ -/* Output flags: */ -#define PERL_SCAN_GREATER_THAN_UV_MAX 0x02 /* should this merge with above? */ +/* These are considered experimental, so not exposed publicly */ +#if defined(PERL_CORE) || defined(PERL_EXT) +/* grok_??? don't warn about very large numbers which are <= UV_MAX; + * output: found such a number */ +# define PERL_SCAN_SILENT_NON_PORTABLE 0x20 + +/* If this is set on input, and no illegal digit is found, it will be cleared + * on output; otherwise unchanged */ +# define PERL_SCAN_NOTIFY_ILLDIGIT 0x40 + +/* Don't warn on overflow; output flag still set */ +# define PERL_SCAN_SILENT_OVERFLOW 0x80 + +/* Forbid a leading underscore, which the other one doesn't */ +# define PERL_SCAN_ALLOW_MEDIAL_UNDERSCORES (0x100|PERL_SCAN_ALLOW_UNDERSCORES) +#endif + /* to let user control profiling */ #ifdef PERL_GPROF_CONTROL @@ -6851,12 +7243,8 @@ extern void moncontrol(int); #define PERL_GPROF_MONCONTROL(x) #endif -#ifdef UNDER_CE -#include "wince.h" -#endif - /* ISO 6429 NEL - C1 control NExt Line */ -/* See http://www.unicode.org/unicode/reports/tr13/ */ +/* See https://www.unicode.org/unicode/reports/tr13/ */ #define NEXT_LINE_CHAR NEXT_LINE_NATIVE #ifndef PIPESOCK_MODE @@ -6913,8 +7301,20 @@ extern void moncontrol(int); #define PERL_SIGNALS_UNSAFE_FLAG 0x0001 -/* Use instead of abs() since abs() forces its argument to be an int, - * but also beware since this evaluates its argument twice, so no x++. */ +/* +=head1 Numeric functions + +=for apidoc Am|int|PERL_ABS|int + +Typeless C or C, I. (The usage below indicates it is for +integers, but it works for any type.) Use instead of these, since the C +library ones force their argument to be what it is expecting, potentially +leading to disaster. But also beware that this evaluates its argument twice, +so no C. + +=cut +*/ + #define PERL_ABS(x) ((x) < 0 ? -(x) : (x)) #if defined(__DECC) && defined(__osf__) @@ -6932,9 +7332,19 @@ extern void moncontrol(int); # define do_aexec(really, mark,sp) do_aexec5(really, mark, sp, 0, 0) #endif -/* check embedded \0 characters in pathnames passed to syscalls, - but allow one ending \0 */ -#define IS_SAFE_SYSCALL(p, len, what, op_name) (S_is_safe_syscall(aTHX_ (p), (len), (what), (op_name))) + +/* +=head1 Miscellaneous Functions + +=for apidoc Am|bool|IS_SAFE_SYSCALL|NN const char *pv|STRLEN len|NN const char *what|NN const char *op_name + +Same as L. + +=cut + +Allows one ending \0 +*/ +#define IS_SAFE_SYSCALL(p, len, what, op_name) (Perl_is_safe_syscall(aTHX_ (p), (len), (what), (op_name))) #define IS_SAFE_PATHNAME(p, len, op_name) IS_SAFE_SYSCALL((p), (len), "pathname", (op_name)) @@ -7200,7 +7610,9 @@ START_EXTERN_C */ /* The quadmath literals are anon structs which -Wc++-compat doesn't like. */ +# ifndef USE_CPLUSPLUS GCC_DIAG_IGNORE_DECL(-Wc++-compat); +# endif # ifdef USE_QUADMATH /* Cannot use HUGE_VALQ for PL_inf because not a compile-time @@ -7270,7 +7682,9 @@ INFNAN_NV_U8_DECL PL_nan = { 0.0/0.0 }; /* keep last */ # endif # endif +# ifndef USE_CPLUSPLUS GCC_DIAG_RESTORE_DECL; +# endif #else diff --git a/Master/tlpkg/tlperl/lib/CORE/perlapi.h b/Master/tlpkg/tlperl/lib/CORE/perlapi.h index 4cfbafecdfb..305c11d4133 100644 --- a/Master/tlpkg/tlperl/lib/CORE/perlapi.h +++ b/Master/tlpkg/tlperl/lib/CORE/perlapi.h @@ -99,48 +99,18 @@ END_EXTERN_C #else /* !PERL_CORE */ -#undef PL_AboveLatin1 -#define PL_AboveLatin1 (*Perl_GAboveLatin1_ptr(NULL)) -#undef PL_Assigned_invlist -#define PL_Assigned_invlist (*Perl_GAssigned_invlist_ptr(NULL)) -#undef PL_CCC_non0_non230 -#define PL_CCC_non0_non230 (*Perl_GCCC_non0_non230_ptr(NULL)) #undef PL_C_locale_obj #define PL_C_locale_obj (*Perl_GC_locale_obj_ptr(NULL)) -#undef PL_GCB_invlist -#define PL_GCB_invlist (*Perl_GGCB_invlist_ptr(NULL)) -#undef PL_HasMultiCharFold -#define PL_HasMultiCharFold (*Perl_GHasMultiCharFold_ptr(NULL)) -#undef PL_InBitmap -#define PL_InBitmap (*Perl_GInBitmap_ptr(NULL)) -#undef PL_InMultiCharFold -#define PL_InMultiCharFold (*Perl_GInMultiCharFold_ptr(NULL)) -#undef PL_LB_invlist -#define PL_LB_invlist (*Perl_GLB_invlist_ptr(NULL)) -#undef PL_Latin1 -#define PL_Latin1 (*Perl_GLatin1_ptr(NULL)) -#undef PL_NonFinalFold -#define PL_NonFinalFold (*Perl_GNonFinalFold_ptr(NULL)) -#undef PL_Posix_ptrs -#define PL_Posix_ptrs (*Perl_GPosix_ptrs_ptr(NULL)) -#undef PL_Private_Use -#define PL_Private_Use (*Perl_GPrivate_Use_ptr(NULL)) -#undef PL_SB_invlist -#define PL_SB_invlist (*Perl_GSB_invlist_ptr(NULL)) -#undef PL_SCX_invlist -#define PL_SCX_invlist (*Perl_GSCX_invlist_ptr(NULL)) -#undef PL_UpperLatin1 -#define PL_UpperLatin1 (*Perl_GUpperLatin1_ptr(NULL)) -#undef PL_WB_invlist -#define PL_WB_invlist (*Perl_GWB_invlist_ptr(NULL)) -#undef PL_XPosix_ptrs -#define PL_XPosix_ptrs (*Perl_GXPosix_ptrs_ptr(NULL)) #undef PL_appctx #define PL_appctx (*Perl_Gappctx_ptr(NULL)) #undef PL_check #define PL_check (*Perl_Gcheck_ptr(NULL)) #undef PL_check_mutex #define PL_check_mutex (*Perl_Gcheck_mutex_ptr(NULL)) +#undef PL_csighandler1p +#define PL_csighandler1p (*Perl_Gcsighandler1p_ptr(NULL)) +#undef PL_csighandler3p +#define PL_csighandler3p (*Perl_Gcsighandler3p_ptr(NULL)) #undef PL_csighandlerp #define PL_csighandlerp (*Perl_Gcsighandlerp_ptr(NULL)) #undef PL_curinterp @@ -149,6 +119,8 @@ END_EXTERN_C #define PL_do_undump (*Perl_Gdo_undump_ptr(NULL)) #undef PL_dollarzero_mutex #define PL_dollarzero_mutex (*Perl_Gdollarzero_mutex_ptr(NULL)) +#undef PL_env_mutex +#define PL_env_mutex (*Perl_Genv_mutex_ptr(NULL)) #undef PL_fold_locale #define PL_fold_locale (*Perl_Gfold_locale_ptr(NULL)) #undef PL_hash_chars @@ -161,8 +133,6 @@ END_EXTERN_C #define PL_hash_state (*Perl_Ghash_state_ptr(NULL)) #undef PL_hints_mutex #define PL_hints_mutex (*Perl_Ghints_mutex_ptr(NULL)) -#undef PL_in_some_fold -#define PL_in_some_fold (*Perl_Gin_some_fold_ptr(NULL)) #undef PL_keyword_plugin #define PL_keyword_plugin (*Perl_Gkeyword_plugin_ptr(NULL)) #undef PL_keyword_plugin_mutex @@ -245,36 +215,6 @@ END_EXTERN_C #define PL_user_def_props_aTHX (*Perl_Guser_def_props_aTHX_ptr(NULL)) #undef PL_user_prop_mutex #define PL_user_prop_mutex (*Perl_Guser_prop_mutex_ptr(NULL)) -#undef PL_utf8_charname_begin -#define PL_utf8_charname_begin (*Perl_Gutf8_charname_begin_ptr(NULL)) -#undef PL_utf8_charname_continue -#define PL_utf8_charname_continue (*Perl_Gutf8_charname_continue_ptr(NULL)) -#undef PL_utf8_foldclosures -#define PL_utf8_foldclosures (*Perl_Gutf8_foldclosures_ptr(NULL)) -#undef PL_utf8_idcont -#define PL_utf8_idcont (*Perl_Gutf8_idcont_ptr(NULL)) -#undef PL_utf8_idstart -#define PL_utf8_idstart (*Perl_Gutf8_idstart_ptr(NULL)) -#undef PL_utf8_mark -#define PL_utf8_mark (*Perl_Gutf8_mark_ptr(NULL)) -#undef PL_utf8_perl_idcont -#define PL_utf8_perl_idcont (*Perl_Gutf8_perl_idcont_ptr(NULL)) -#undef PL_utf8_perl_idstart -#define PL_utf8_perl_idstart (*Perl_Gutf8_perl_idstart_ptr(NULL)) -#undef PL_utf8_tofold -#define PL_utf8_tofold (*Perl_Gutf8_tofold_ptr(NULL)) -#undef PL_utf8_tolower -#define PL_utf8_tolower (*Perl_Gutf8_tolower_ptr(NULL)) -#undef PL_utf8_tosimplefold -#define PL_utf8_tosimplefold (*Perl_Gutf8_tosimplefold_ptr(NULL)) -#undef PL_utf8_totitle -#define PL_utf8_totitle (*Perl_Gutf8_totitle_ptr(NULL)) -#undef PL_utf8_toupper -#define PL_utf8_toupper (*Perl_Gutf8_toupper_ptr(NULL)) -#undef PL_utf8_xidcont -#define PL_utf8_xidcont (*Perl_Gutf8_xidcont_ptr(NULL)) -#undef PL_utf8_xidstart -#define PL_utf8_xidstart (*Perl_Gutf8_xidstart_ptr(NULL)) #undef PL_veto_cleanup #define PL_veto_cleanup (*Perl_Gveto_cleanup_ptr(NULL)) #undef PL_watch_pvx diff --git a/Master/tlpkg/tlperl/lib/CORE/perlhost.h b/Master/tlpkg/tlperl/lib/CORE/perlhost.h index 6dd269efa7a..f5ffca04e4a 100644 --- a/Master/tlpkg/tlperl/lib/CORE/perlhost.h +++ b/Master/tlpkg/tlperl/lib/CORE/perlhost.h @@ -7,16 +7,13 @@ * License or the Artistic License, as specified in the README file. */ -#ifndef UNDER_CE #define CHECK_HOST_INTERP -#endif #ifndef ___PerlHost_H___ #define ___PerlHost_H___ -#ifndef UNDER_CE #include -#endif +#include #include "iperlsys.h" #include "vmem.h" #include "vdir.h" @@ -829,7 +826,6 @@ PerlStdIOGetOSfhandle(struct IPerlStdIO* piPerl, int filenum) FILE* PerlStdIOFdupopen(struct IPerlStdIO* piPerl, FILE* pf) { -#ifndef UNDER_CE FILE* pfdup; fpos_t pos; char mode[3]; @@ -861,9 +857,6 @@ PerlStdIOFdupopen(struct IPerlStdIO* piPerl, FILE* pf) fsetpos(pfdup, &pos); } return pfdup; -#else - return 0; -#endif } const struct IPerlStdIO perlStdIO = @@ -2132,10 +2125,6 @@ lookup(const void *arg1, const void *arg2) LPSTR* CPerlHost::Lookup(LPCSTR lpStr) { -#ifdef UNDER_CE - if (!m_lppEnvList || !m_dwEnvCount) - return NULL; -#endif if (!lpStr) return NULL; return (LPSTR*)bsearch(&lpStr, m_lppEnvList, m_dwEnvCount, sizeof(LPSTR), lookup); diff --git a/Master/tlpkg/tlperl/lib/CORE/perlio.h b/Master/tlpkg/tlperl/lib/CORE/perlio.h index d515020618e..ee16ab8774e 100644 --- a/Master/tlpkg/tlperl/lib/CORE/perlio.h +++ b/Master/tlpkg/tlperl/lib/CORE/perlio.h @@ -286,6 +286,9 @@ PERL_CALLCONV SSize_t PerlIO_get_bufsiz(PerlIO *); #ifndef PerlIO_tmpfile PERL_CALLCONV PerlIO *PerlIO_tmpfile(void); #endif +#ifndef PerlIO_tmpfile_flags +PERL_CALLCONV PerlIO *PerlIO_tmpfile_flags(int flags); +#endif #ifndef PerlIO_stdin PERL_CALLCONV PerlIO *PerlIO_stdin(void); #endif diff --git a/Master/tlpkg/tlperl/lib/CORE/perllibst.h b/Master/tlpkg/tlperl/lib/CORE/perllibst.h deleted file mode 100755 index 60ec416e172..00000000000 --- a/Master/tlpkg/tlperl/lib/CORE/perllibst.h +++ /dev/null @@ -1,14 +0,0 @@ -/*DO NOT EDIT - this file is included from perllib.c to init static extensions */ -#ifdef STATIC1 - "Win32CORE", -#undef STATIC1 -#endif -#ifdef STATIC2 - EXTERN_C void boot_Win32CORE (pTHX_ CV* cv); -#undef STATIC2 -#endif -#ifdef STATIC3 - newXS("Win32CORE::bootstrap", boot_Win32CORE, file); -#undef STATIC3 -#endif diff --git a/Master/tlpkg/tlperl/lib/CORE/perlvars.h b/Master/tlpkg/tlperl/lib/CORE/perlvars.h index 466c515ebb5..cd1523d5df5 100644 --- a/Master/tlpkg/tlperl/lib/CORE/perlvars.h +++ b/Master/tlpkg/tlperl/lib/CORE/perlvars.h @@ -73,8 +73,13 @@ PERLVARI(G, sig_trapped, int, 0) /* If Perl has to ignore SIGPFE, this is its saved state. * See perl.h macros PERL_FPU_INIT and PERL_FPU_{PRE,POST}_EXEC. */ PERLVAR(G, sigfpe_saved, Sighandler_t) -PERLVARI(G, csighandlerp, Sighandler_t, Perl_csighandler) - /* Pointer to C-level sighandler */ + +/* these ptrs to functions are to avoid linkage problems; see + * perl-5.8.0-2193-g5c1546dc48 + */ +PERLVARI(G, csighandlerp, Sighandler_t, Perl_csighandler) +PERLVARI(G, csighandler1p, Sighandler1_t, Perl_csighandler1) +PERLVARI(G, csighandler3p, Sighandler3_t, Perl_csighandler3) #endif /* This is constant on most architectures, a global on OS/2 */ @@ -99,6 +104,7 @@ PERLVARI(G, mmap_page_size, IV, 0) #if defined(USE_ITHREADS) PERLVAR(G, hints_mutex, perl_mutex) /* Mutex for refcounted he refcounting */ +PERLVAR(G, env_mutex, perl_mutex) /* Mutex for accessing ENV */ # if ! defined(USE_THREAD_SAFE_LOCALE) || defined(TS_W32_BROKEN_LOCALECONV) PERLVAR(G, locale_mutex, perl_mutex) /* Mutex for setlocale() changing */ # endif @@ -114,7 +120,7 @@ PERLVAR(G, C_locale_obj, locale_t) PERLVARI(G, watch_pvx, char *, NULL) /* -=for apidoc AmU|Perl_check_t *|PL_check +=for apidoc AmnU|Perl_check_t *|PL_check Array, indexed by opcode, of functions that will be called for the "check" phase of optree building during compilation of Perl code. For most (but @@ -142,6 +148,24 @@ with the core's base checker at the end. For thread safety, modules should not write directly to this array. Instead, use the function L. +=for apidoc Amn|enum perl_phase|PL_phase + +A value that indicates the current Perl interpreter's phase. Possible values +include C, C, C, +C, C, C, and +C. + +For example, the following determines whether the interpreter is in +global destruction: + + if (PL_phase == PERL_PHASE_DESTRUCT) { + // we are in global destruction + } + +C was introduced in Perl 5.14; in prior perls you can use +C (boolean) to determine whether the interpreter is in global +destruction. (Use of C is discouraged since 5.14.) + =cut */ @@ -176,7 +200,7 @@ PERLVARI(G, my_cxt_index, int, 0) PERLVARI(G, veto_cleanup, int, FALSE) /* exit without cleanup */ /* -=for apidoc AmUx|Perl_keyword_plugin_t|PL_keyword_plugin +=for apidoc AmnUx|Perl_keyword_plugin_t|PL_keyword_plugin Function pointer, pointing at a function used to handle extended keywords. The function should be declared as @@ -270,42 +294,6 @@ PERLVARA(G, hash_chars, (1+256) * sizeof(U32), unsigned char) /* perl.c and hv.h PERLVAR(G, perllib_sep, char) #endif -PERLVAR(G, AboveLatin1, SV *) -PERLVAR(G, Assigned_invlist, SV *) -PERLVAR(G, GCB_invlist, SV *) -PERLVAR(G, HasMultiCharFold, SV *) -PERLVAR(G, InMultiCharFold, SV *) -PERLVAR(G, Latin1, SV *) -PERLVAR(G, LB_invlist, SV *) -PERLVAR(G, NonFinalFold, SV *) -PERLVAR(G, SB_invlist, SV *) -PERLVAR(G, SCX_invlist, SV *) -PERLVAR(G, UpperLatin1, SV *) /* Code points 128 - 255 */ - -/* List of characters that participate in any fold defined by Unicode */ -PERLVAR(G, in_some_fold, SV *) - -PERLVAR(G, utf8_idcont, SV *) -PERLVAR(G, utf8_idstart, SV *) -PERLVAR(G, utf8_perl_idcont, SV *) -PERLVAR(G, utf8_perl_idstart, SV *) -PERLVAR(G, utf8_xidcont, SV *) -PERLVAR(G, utf8_xidstart, SV *) -PERLVAR(G, WB_invlist, SV *) -PERLVARA(G, XPosix_ptrs, POSIX_CC_COUNT, SV *) -PERLVARA(G, Posix_ptrs, POSIX_CC_COUNT, SV *) -PERLVAR(G, utf8_toupper, SV *) -PERLVAR(G, utf8_totitle, SV *) -PERLVAR(G, utf8_tolower, SV *) -PERLVAR(G, utf8_tofold, SV *) -PERLVAR(G, utf8_tosimplefold, SV *) -PERLVAR(G, utf8_charname_begin, SV *) -PERLVAR(G, utf8_charname_continue, SV *) -PERLVAR(G, utf8_mark, SV *) -PERLVARI(G, InBitmap, SV *, NULL) -PERLVAR(G, CCC_non0_non230, SV *) -PERLVAR(G, Private_Use, SV *) - /* Definitions of user-defined \p{} properties, as the subs that define them * are only called once */ PERLVARI(G, user_def_props, HV *, NULL) @@ -317,11 +305,7 @@ PERLVAR(G, user_prop_mutex, perl_mutex) /* Mutex for manipulating PL_user_defined_properties */ #endif -/* Everything that folds to a given character, for case insensitivity regex - * matching */ -PERLVAR(G, utf8_foldclosures, SV *) - -/* these record the best way to to perform certain IO operations while +/* these record the best way to perform certain IO operations while * atomically setting FD_CLOEXEC. On the first call, a probe is done * and the result recorded for use by subsequent calls. * In theory these variables aren't thread-safe, but the worst that can diff --git a/Master/tlpkg/tlperl/lib/CORE/perly.h b/Master/tlpkg/tlperl/lib/CORE/perly.h index 8e9d4c3f0d8..45cb6ba1216 100644 --- a/Master/tlpkg/tlperl/lib/CORE/perly.h +++ b/Master/tlpkg/tlperl/lib/CORE/perly.h @@ -4,14 +4,15 @@ Any changes made here will be lost! */ -#define PERL_BISON_VERSION 30000 +#define PERL_BISON_VERSION 30003 #ifdef PERL_CORE -/* A Bison parser, made by GNU Bison 3.0.5. */ +/* A Bison parser, made by GNU Bison 3.3.2. */ /* Bison interface for Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation, + Inc. 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 @@ -39,6 +40,9 @@ This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ +/* Undocumented macros, especially those whose name start with YY_, + are private implementation details. Do not rely on them. */ + /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 @@ -58,82 +62,87 @@ extern int yydebug; GRAMBARESTMT = 261, GRAMFULLSTMT = 262, GRAMSTMTSEQ = 263, - BAREWORD = 264, - METHOD = 265, - FUNCMETH = 266, - THING = 267, - PMFUNC = 268, - PRIVATEREF = 269, - QWLIST = 270, - FUNC0OP = 271, - FUNC0SUB = 272, - UNIOPSUB = 273, - LSTOPSUB = 274, - PLUGEXPR = 275, - PLUGSTMT = 276, - LABEL = 277, - FORMAT = 278, - SUB = 279, - SIGSUB = 280, - ANONSUB = 281, - ANON_SIGSUB = 282, - PACKAGE = 283, - USE = 284, - WHILE = 285, - UNTIL = 286, - IF = 287, - UNLESS = 288, - ELSE = 289, - ELSIF = 290, - CONTINUE = 291, - FOR = 292, - GIVEN = 293, - WHEN = 294, - DEFAULT = 295, - LOOPEX = 296, - DOTDOT = 297, - YADAYADA = 298, - FUNC0 = 299, - FUNC1 = 300, - FUNC = 301, - UNIOP = 302, - LSTOP = 303, - RELOP = 304, - EQOP = 305, - MULOP = 306, - ADDOP = 307, - DOLSHARP = 308, - DO = 309, - HASHBRACK = 310, - NOAMP = 311, - LOCAL = 312, - MY = 313, - REQUIRE = 314, - COLONATTR = 315, - FORMLBRACK = 316, - FORMRBRACK = 317, - PREC_LOW = 318, - OROP = 319, - DOROP = 320, - ANDOP = 321, - NOTOP = 322, - ASSIGNOP = 323, - OROR = 324, - DORDOR = 325, - ANDAND = 326, - BITOROP = 327, - BITANDOP = 328, - SHIFTOP = 329, - MATCHOP = 330, - UMINUS = 331, - REFGEN = 332, - POWOP = 333, - PREINC = 334, - PREDEC = 335, - POSTINC = 336, - POSTDEC = 337, - POSTJOIN = 338, - ARROW = 339 + GRAMSUBSIGNATURE = 264, + BAREWORD = 265, + METHOD = 266, + FUNCMETH = 267, + THING = 268, + PMFUNC = 269, + PRIVATEREF = 270, + QWLIST = 271, + FUNC0OP = 272, + FUNC0SUB = 273, + UNIOPSUB = 274, + LSTOPSUB = 275, + PLUGEXPR = 276, + PLUGSTMT = 277, + LABEL = 278, + FORMAT = 279, + SUB = 280, + SIGSUB = 281, + ANONSUB = 282, + ANON_SIGSUB = 283, + PACKAGE = 284, + USE = 285, + WHILE = 286, + UNTIL = 287, + IF = 288, + UNLESS = 289, + ELSE = 290, + ELSIF = 291, + CONTINUE = 292, + FOR = 293, + GIVEN = 294, + WHEN = 295, + DEFAULT = 296, + LOOPEX = 297, + DOTDOT = 298, + YADAYADA = 299, + FUNC0 = 300, + FUNC1 = 301, + FUNC = 302, + UNIOP = 303, + LSTOP = 304, + MULOP = 305, + ADDOP = 306, + DOLSHARP = 307, + DO = 308, + HASHBRACK = 309, + NOAMP = 310, + LOCAL = 311, + MY = 312, + REQUIRE = 313, + COLONATTR = 314, + FORMLBRACK = 315, + FORMRBRACK = 316, + SUBLEXSTART = 317, + SUBLEXEND = 318, + PREC_LOW = 319, + OROP = 320, + DOROP = 321, + ANDOP = 322, + NOTOP = 323, + ASSIGNOP = 324, + OROR = 325, + DORDOR = 326, + ANDAND = 327, + BITOROP = 328, + BITANDOP = 329, + CHEQOP = 330, + NCEQOP = 331, + CHRELOP = 332, + NCRELOP = 333, + SHIFTOP = 334, + MATCHOP = 335, + UMINUS = 336, + REFGEN = 337, + POWOP = 338, + PREINC = 339, + PREDEC = 340, + POSTINC = 341, + POSTDEC = 342, + POSTJOIN = 343, + ARROW = 344 }; #endif @@ -186,6 +195,6 @@ int yyparse (void); /* Generated from: - * 7aa97cfabf5b87a95ed263373e76c7af6d7e075e83d12e84ccdca9690c15a68d perly.y - * b6fae5748f9bef6db4740aa5e122b84ac5181852d42474d0ecad621fa4253306 regen_perly.pl + * e5b801fdebce5c77dd8e644fc5a489cbea6af33db180e771dd9d669b12bbe0cf perly.y + * 0947213b55d0ed11693554bea04987e886cf285f5c14cf9075fa1e7acc3f4061 regen_perly.pl * ex: set ro: */ diff --git a/Master/tlpkg/tlperl/lib/CORE/pp.h b/Master/tlpkg/tlperl/lib/CORE/pp.h index 98540be682d..1ab9a47f115 100644 --- a/Master/tlpkg/tlperl/lib/CORE/pp.h +++ b/Master/tlpkg/tlperl/lib/CORE/pp.h @@ -13,18 +13,18 @@ /* =head1 Stack Manipulation Macros -=for apidoc AmU||SP +=for apidoc AmnU||SP Stack pointer. This is usually handled by C. See C> and C. -=for apidoc AmU||MARK +=for apidoc AmnU||MARK Stack marker variable for the XSUB. See C>. =for apidoc Am|void|PUSHMARK|SP Opening bracket for arguments on a callback. See C> and L. -=for apidoc Ams||dSP +=for apidoc Amns||dSP Declares a local copy of perl's stack pointer for the XSUB, available via the C macro. See C>. @@ -35,17 +35,17 @@ a local copy of perl's stack pointer, available via the C macro. See C>. (Available for backward source code compatibility with the old (Perl 5.005) thread model.) -=for apidoc Ams||dMARK +=for apidoc Amns||dMARK Declare a stack marker variable, C, for the XSUB. See C> and C>. -=for apidoc Ams||dORIGMARK +=for apidoc Amns||dORIGMARK Saves the original stack mark for the XSUB. See C>. -=for apidoc AmU||ORIGMARK +=for apidoc AmnU||ORIGMARK The original stack mark for the XSUB. See C>. -=for apidoc Ams||SPAGAIN +=for apidoc Amns||SPAGAIN Refetch the stack pointer. Used after a callback. See L. =cut */ @@ -67,8 +67,8 @@ Refetch the stack pointer. Used after a callback. See L. PL_markstack_ptr, (IV)*mark_stack_entry))); \ } STMT_END -#define TOPMARK S_TOPMARK(aTHX) -#define POPMARK S_POPMARK(aTHX) +#define TOPMARK Perl_TOPMARK(aTHX) +#define POPMARK Perl_POPMARK(aTHX) #define INCMARK \ STMT_START { \ @@ -102,7 +102,7 @@ Refetch the stack pointer. Used after a callback. See L. #define DIE return Perl_die /* -=for apidoc Ams||PUTBACK +=for apidoc Amns||PUTBACK Closing bracket for XSUB arguments. This is usually handled by C. See C> and L for other uses. @@ -243,7 +243,7 @@ Push an SV onto the stack and mortalizes the SV. The stack must have room for this element. Does not use C. See also C> and C>. -=for apidoc Am|void|PUSHmortal +=for apidoc Amn|void|PUSHmortal Push a new mortal SV onto the stack. The stack must have room for this element. Does not use C. See also C>, C> and C>. @@ -270,7 +270,7 @@ C>. Push an SV onto the stack, extending the stack if necessary and mortalizes the SV. Does not use C. See also C> and C>. -=for apidoc Am|void|XPUSHmortal +=for apidoc Amn|void|XPUSHmortal Push a new mortal SV onto the stack, extending the stack if necessary. Does not use C. See also C>, C> and C>. @@ -356,7 +356,7 @@ Does not use C. See also C>, C> and C>. /* EXTEND_SKIP(): used for where you would normally call EXTEND(), but * you know for sure that a previous op will have already extended the - * stack sufficiently. For example pp_enteriter ensures that that there + * stack sufficiently. For example pp_enteriter ensures that there * is always at least 1 free slot, so pp_iter can return &PL_sv_yes/no * without checking each time. Calling EXTEND_SKIP() defeats the HWM * debugging mechanism which would otherwise whine @@ -638,7 +638,7 @@ Does not use C. See also C>, C> and C>. #define opASSIGN (PL_op->op_flags & OPf_STACKED) /* -=for apidoc mU||LVRET +=for apidoc mnU||LVRET True if this op will be the return value of an lvalue subroutine =cut */ diff --git a/Master/tlpkg/tlperl/lib/CORE/pp_proto.h b/Master/tlpkg/tlperl/lib/CORE/pp_proto.h index 407cbd14a3a..6ddb1f6634d 100644 --- a/Master/tlpkg/tlperl/lib/CORE/pp_proto.h +++ b/Master/tlpkg/tlperl/lib/CORE/pp_proto.h @@ -42,6 +42,8 @@ PERL_CALLCONV OP *Perl_pp_chroot(pTHX); PERL_CALLCONV OP *Perl_pp_clonecv(pTHX); PERL_CALLCONV OP *Perl_pp_close(pTHX); PERL_CALLCONV OP *Perl_pp_closedir(pTHX); +PERL_CALLCONV OP *Perl_pp_cmpchain_and(pTHX); +PERL_CALLCONV OP *Perl_pp_cmpchain_dup(pTHX); PERL_CALLCONV OP *Perl_pp_complement(pTHX); PERL_CALLCONV OP *Perl_pp_concat(pTHX); PERL_CALLCONV OP *Perl_pp_cond_expr(pTHX); @@ -126,6 +128,7 @@ PERL_CALLCONV OP *Perl_pp_index(pTHX); PERL_CALLCONV OP *Perl_pp_int(pTHX); PERL_CALLCONV OP *Perl_pp_introcv(pTHX); PERL_CALLCONV OP *Perl_pp_ioctl(pTHX); +PERL_CALLCONV OP *Perl_pp_isa(pTHX); PERL_CALLCONV OP *Perl_pp_iter(pTHX); PERL_CALLCONV OP *Perl_pp_join(pTHX); PERL_CALLCONV OP *Perl_pp_kvaslice(pTHX); @@ -297,9 +300,4 @@ PERL_CALLCONV OP *Perl_pp_warn(pTHX); PERL_CALLCONV OP *Perl_pp_xor(pTHX); PERL_CALLCONV OP *Perl_unimplemented_op(pTHX); -/* alternative functions */ -#if defined(__GLIBC__) && IVSIZE == 8 && ( __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 8)) -PERL_CALLCONV OP *Perl_pp_i_modulo_glibc_bugfix(pTHX); -#endif - /* ex: set ro: */ diff --git a/Master/tlpkg/tlperl/lib/CORE/proto.h b/Master/tlpkg/tlperl/lib/CORE/proto.h index 0f8feed1875..02ef4edb3b8 100644 --- a/Master/tlpkg/tlperl/lib/CORE/proto.h +++ b/Master/tlpkg/tlperl/lib/CORE/proto.h @@ -22,8 +22,19 @@ PERL_CALLCONV UV ASCII_TO_NEED(const UV enc, const UV ch) __attribute__deprecated__ __attribute__warn_unused_result__ __attribute__pure__; +#define PERL_ARGS_ASSERT_ASCII_TO_NEED #endif +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE I32 * Perl_CvDEPTH(const CV * const sv); +#define PERL_ARGS_ASSERT_CVDEPTH \ + assert(sv) +#endif +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE GV * Perl_CvGV(pTHX_ CV *sv); +#define PERL_ARGS_ASSERT_CVGV \ + assert(sv) +#endif PERL_CALLCONV int Perl_Gv_AMupdate(pTHX_ HV* stash, bool destructing); #define PERL_ARGS_ASSERT_GV_AMUPDATE \ assert(stash) @@ -32,12 +43,20 @@ PERL_CALLCONV UV NATIVE_TO_NEED(const UV enc, const UV ch) __attribute__deprecated__ __attribute__warn_unused_result__ __attribute__pure__; +#define PERL_ARGS_ASSERT_NATIVE_TO_NEED #endif +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE I32 Perl_POPMARK(pTHX); +#define PERL_ARGS_ASSERT_POPMARK +#endif PERL_CALLCONV const char * Perl_PerlIO_context_layers(pTHX_ const char *mode); +#define PERL_ARGS_ASSERT_PERLIO_CONTEXT_LAYERS PERL_CALLCONV int Perl_PerlLIO_dup2_cloexec(pTHX_ int oldfd, int newfd); +#define PERL_ARGS_ASSERT_PERLLIO_DUP2_CLOEXEC PERL_CALLCONV int Perl_PerlLIO_dup_cloexec(pTHX_ int oldfd) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_PERLLIO_DUP_CLOEXEC PERL_CALLCONV int Perl_PerlLIO_open3_cloexec(pTHX_ const char *file, int flag, int perm) __attribute__warn_unused_result__; @@ -49,110 +68,125 @@ PERL_CALLCONV int Perl_PerlLIO_open_cloexec(pTHX_ const char *file, int flag) #define PERL_ARGS_ASSERT_PERLLIO_OPEN_CLOEXEC \ assert(file) +/* PERL_CALLCONV const XOP * Perl_custom_op_xop(pTHX_ const OP *o); */ +#define PERL_ARGS_ASSERT_PERL_CUSTOM_OP_XOP PERL_CALLCONV const char* Perl_setlocale(const int category, const char* locale); +#define PERL_ARGS_ASSERT_PERL_SETLOCALE +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE struct regexp * Perl_ReANY(const REGEXP * const re); +#define PERL_ARGS_ASSERT_REANY \ + assert(re) +#endif PERL_CALLCONV void* Perl_Slab_Alloc(pTHX_ size_t sz) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_SLAB_ALLOC PERL_CALLCONV void Perl_Slab_Free(pTHX_ void *op); #define PERL_ARGS_ASSERT_SLAB_FREE \ assert(op) +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE void Perl_SvAMAGIC_off(SV *sv); +#define PERL_ARGS_ASSERT_SVAMAGIC_OFF \ + assert(sv) +#endif +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE void Perl_SvAMAGIC_on(SV *sv); +#define PERL_ARGS_ASSERT_SVAMAGIC_ON \ + assert(sv) +#endif +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE void Perl_SvREFCNT_dec(pTHX_ SV *sv); +#define PERL_ARGS_ASSERT_SVREFCNT_DEC +#endif +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE void Perl_SvREFCNT_dec_NN(pTHX_ SV *sv); +#define PERL_ARGS_ASSERT_SVREFCNT_DEC_NN \ + assert(sv) +#endif +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE SV * Perl_SvREFCNT_inc(SV *sv); +#define PERL_ARGS_ASSERT_SVREFCNT_INC +#endif +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE SV * Perl_SvREFCNT_inc_NN(SV *sv); +#define PERL_ARGS_ASSERT_SVREFCNT_INC_NN \ + assert(sv) +#endif +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE void Perl_SvREFCNT_inc_void(SV *sv); +#define PERL_ARGS_ASSERT_SVREFCNT_INC_VOID +#endif +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE I32 Perl_TOPMARK(pTHX); +#define PERL_ARGS_ASSERT_TOPMARK +#endif PERL_CALLCONV char * Perl__byte_dump_string(pTHX_ const U8 * const start, const STRLEN len, const bool format); #define PERL_ARGS_ASSERT__BYTE_DUMP_STRING \ assert(start) PERL_CALLCONV void Perl__force_out_malformed_utf8_message(pTHX_ const U8 *const p, const U8 * const e, const U32 flags, const bool die_here); #define PERL_ARGS_ASSERT__FORCE_OUT_MALFORMED_UTF8_MESSAGE \ assert(p); assert(e) -PERL_CALLCONV Size_t Perl__inverse_folds(pTHX_ const UV cp, unsigned int * first_folds_to, const unsigned int ** remaining_folds_to) +PERL_CALLCONV Size_t Perl__inverse_folds(pTHX_ const UV cp, U32 * first_folds_to, const U32 ** remaining_folds_to) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT__INVERSE_FOLDS \ assert(first_folds_to); assert(remaining_folds_to) PERL_CALLCONV bool Perl__is_in_locale_category(pTHX_ const bool compiling, const int category); +#define PERL_ARGS_ASSERT__IS_IN_LOCALE_CATEGORY PERL_CALLCONV bool Perl__is_uni_FOO(pTHX_ const U8 classnum, const UV c) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT__IS_UNI_FOO PERL_CALLCONV bool Perl__is_uni_perl_idcont(pTHX_ UV c) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT__IS_UNI_PERL_IDCONT PERL_CALLCONV bool Perl__is_uni_perl_idstart(pTHX_ UV c) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT__IS_UNI_PERL_IDSTART -PERL_CALLCONV bool Perl__is_utf8_FOO(pTHX_ U8 classnum, const U8 * const p, const char * const name, const char * const alternative, const bool use_utf8, const bool use_locale, const char * const file, const unsigned line) +PERL_CALLCONV bool Perl__is_utf8_FOO(pTHX_ const U8 classnum, const U8 *p, const U8 * const e) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT__IS_UTF8_FOO \ - assert(p); assert(name); assert(alternative); assert(file) - -PERL_CALLCONV bool Perl__is_utf8_FOO_with_len(pTHX_ const U8 classnum, const U8 *p, const U8 * const e) - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT__IS_UTF8_FOO_WITH_LEN \ assert(p); assert(e) -PERL_CALLCONV STRLEN Perl__is_utf8_char_helper(const U8 * const s, const U8 * e, const U32 flags) - __attribute__warn_unused_result__ - __attribute__pure__; -#define PERL_ARGS_ASSERT__IS_UTF8_CHAR_HELPER \ - assert(s); assert(e) - -PERL_CALLCONV bool Perl__is_utf8_idcont(pTHX_ const U8 *p) - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT__IS_UTF8_IDCONT \ - assert(p) - -PERL_CALLCONV bool Perl__is_utf8_idstart(pTHX_ const U8 *p) - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT__IS_UTF8_IDSTART \ - assert(p) - -PERL_CALLCONV bool Perl__is_utf8_mark(pTHX_ const U8 *p) +PERL_CALLCONV bool Perl__is_utf8_perl_idcont(pTHX_ const U8 *p, const U8 * const e) __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT__IS_UTF8_MARK \ - assert(p) - -PERL_CALLCONV bool Perl__is_utf8_perl_idcont_with_len(pTHX_ const U8 *p, const U8 * const e) - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT__IS_UTF8_PERL_IDCONT_WITH_LEN \ +#define PERL_ARGS_ASSERT__IS_UTF8_PERL_IDCONT \ assert(p); assert(e) -PERL_CALLCONV bool Perl__is_utf8_perl_idstart_with_len(pTHX_ const U8 *p, const U8 * const e) +PERL_CALLCONV bool Perl__is_utf8_perl_idstart(pTHX_ const U8 *p, const U8 * const e) __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT__IS_UTF8_PERL_IDSTART_WITH_LEN \ +#define PERL_ARGS_ASSERT__IS_UTF8_PERL_IDSTART \ assert(p); assert(e) -PERL_CALLCONV bool Perl__is_utf8_xidcont(pTHX_ const U8 *p) - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT__IS_UTF8_XIDCONT \ - assert(p) - -PERL_CALLCONV bool Perl__is_utf8_xidstart(pTHX_ const U8 *p) - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT__IS_UTF8_XIDSTART \ - assert(p) - PERL_CALLCONV UV Perl__to_uni_fold_flags(pTHX_ UV c, U8 *p, STRLEN *lenp, U8 flags); #define PERL_ARGS_ASSERT__TO_UNI_FOLD_FLAGS \ assert(p); assert(lenp) -PERL_CALLCONV UV Perl__to_utf8_fold_flags(pTHX_ const U8 *p, const U8 *e, U8* ustrp, STRLEN *lenp, U8 flags, const char * const file, const int line); +PERL_CALLCONV UV Perl__to_utf8_fold_flags(pTHX_ const U8 *p, const U8 *e, U8* ustrp, STRLEN *lenp, U8 flags); #define PERL_ARGS_ASSERT__TO_UTF8_FOLD_FLAGS \ - assert(p); assert(ustrp); assert(file) -PERL_CALLCONV UV Perl__to_utf8_lower_flags(pTHX_ const U8 *p, const U8* e, U8* ustrp, STRLEN *lenp, bool flags, const char * const file, const int line); + assert(p); assert(ustrp) +PERL_CALLCONV UV Perl__to_utf8_lower_flags(pTHX_ const U8 *p, const U8* e, U8* ustrp, STRLEN *lenp, bool flags); #define PERL_ARGS_ASSERT__TO_UTF8_LOWER_FLAGS \ - assert(p); assert(ustrp); assert(file) -PERL_CALLCONV UV Perl__to_utf8_title_flags(pTHX_ const U8 *p, const U8* e, U8* ustrp, STRLEN *lenp, bool flags, const char * const file, const int line); + assert(p); assert(ustrp) +PERL_CALLCONV UV Perl__to_utf8_title_flags(pTHX_ const U8 *p, const U8* e, U8* ustrp, STRLEN *lenp, bool flags); #define PERL_ARGS_ASSERT__TO_UTF8_TITLE_FLAGS \ - assert(p); assert(ustrp); assert(file) -PERL_CALLCONV UV Perl__to_utf8_upper_flags(pTHX_ const U8 *p, const U8 *e, U8* ustrp, STRLEN *lenp, bool flags, const char * const file, const int line); + assert(p); assert(ustrp) +PERL_CALLCONV UV Perl__to_utf8_upper_flags(pTHX_ const U8 *p, const U8 *e, U8* ustrp, STRLEN *lenp, bool flags); #define PERL_ARGS_ASSERT__TO_UTF8_UPPER_FLAGS \ - assert(p); assert(ustrp); assert(file) + assert(p); assert(ustrp) PERL_CALLCONV UV Perl__utf8n_to_uvchr_msgs_helper(const U8 *s, STRLEN curlen, STRLEN *retlen, const U32 flags, U32 * errors, AV ** msgs); #define PERL_ARGS_ASSERT__UTF8N_TO_UVCHR_MSGS_HELPER \ assert(s) PERL_CALLCONV void Perl__warn_problematic_locale(void); +#define PERL_ARGS_ASSERT__WARN_PROBLEMATIC_LOCALE PERL_CALLCONV_NO_RET void Perl_abort_execution(pTHX_ const char * const msg, const char * const name) __attribute__noreturn__; #define PERL_ARGS_ASSERT_ABORT_EXECUTION \ assert(msg); assert(name) PERL_CALLCONV LOGOP* Perl_alloc_LOGOP(pTHX_ I32 type, OP *first, OP *other); +#define PERL_ARGS_ASSERT_ALLOC_LOGOP PERL_CALLCONV PADOFFSET Perl_allocmy(pTHX_ const char *const name, const STRLEN len, const U32 flags); #define PERL_ARGS_ASSERT_ALLOCMY \ assert(name) @@ -163,8 +197,9 @@ PERL_CALLCONV SV * Perl_amagic_deref_call(pTHX_ SV *ref, int method); #define PERL_ARGS_ASSERT_AMAGIC_DEREF_CALL \ assert(ref) PERL_CALLCONV bool Perl_amagic_is_enabled(pTHX_ int method); +#define PERL_ARGS_ASSERT_AMAGIC_IS_ENABLED #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE void S_append_utf8_from_native_byte(const U8 byte, U8** dest); +PERL_STATIC_INLINE void Perl_append_utf8_from_native_byte(const U8 byte, U8** dest); #define PERL_ARGS_ASSERT_APPEND_UTF8_FROM_NATIVE_BYTE \ assert(dest) #endif @@ -175,7 +210,9 @@ PERL_CALLCONV void Perl_apply_attrs_string(pTHX_ const char *stashpv, CV *cv, co #define PERL_ARGS_ASSERT_APPLY_ATTRS_STRING \ assert(stashpv); assert(cv); assert(attrstr) PERL_CALLCONV void Perl_atfork_lock(void); +#define PERL_ARGS_ASSERT_ATFORK_LOCK PERL_CALLCONV void Perl_atfork_unlock(void); +#define PERL_ARGS_ASSERT_ATFORK_UNLOCK PERL_CALLCONV SV** Perl_av_arylen_p(pTHX_ AV *av); #define PERL_ARGS_ASSERT_AV_ARYLEN_P \ assert(av) @@ -243,11 +280,12 @@ PERL_CALLCONV SV* Perl_av_shift(pTHX_ AV *av) PERL_CALLCONV SV** Perl_av_store(pTHX_ AV *av, SSize_t key, SV *val); #define PERL_ARGS_ASSERT_AV_STORE \ assert(av) -/* PERL_CALLCONV SSize_t Perl_av_tindex(pTHX_ AV *av) +/* PERL_CALLCONV SSize_t av_tindex(pTHX_ AV *av) __attribute__warn_unused_result__; */ +#define PERL_ARGS_ASSERT_AV_TINDEX #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE SSize_t S_av_top_index(pTHX_ AV *av) +PERL_STATIC_INLINE SSize_t Perl_av_top_index(pTHX_ AV *av) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_AV_TOP_INDEX \ assert(av) @@ -266,19 +304,25 @@ PERL_CALLCONV OP* Perl_bind_match(pTHX_ I32 type, OP *left, OP *right) PERL_CALLCONV OP* Perl_block_end(pTHX_ I32 floor, OP* seq) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_BLOCK_END PERL_CALLCONV U8 Perl_block_gimme(pTHX) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_BLOCK_GIMME PERL_CALLCONV int Perl_block_start(pTHX_ int full) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_BLOCK_START PERL_CALLCONV void Perl_blockhook_register(pTHX_ BHK *hk); #define PERL_ARGS_ASSERT_BLOCKHOOK_REGISTER \ assert(hk) PERL_CALLCONV void Perl_boot_core_PerlIO(pTHX); +#define PERL_ARGS_ASSERT_BOOT_CORE_PERLIO PERL_CALLCONV void Perl_boot_core_UNIVERSAL(pTHX); +#define PERL_ARGS_ASSERT_BOOT_CORE_UNIVERSAL PERL_CALLCONV void Perl_boot_core_mro(pTHX); +#define PERL_ARGS_ASSERT_BOOT_CORE_MRO PERL_CALLCONV int Perl_bytes_cmp_utf8(pTHX_ const U8 *b, STRLEN blen, const U8 *u, STRLEN ulen); #define PERL_ARGS_ASSERT_BYTES_CMP_UTF8 \ assert(b); assert(u) @@ -295,6 +339,7 @@ PERL_CALLCONV I32 Perl_call_argv(pTHX_ const char* sub_name, I32 flags, char** a #define PERL_ARGS_ASSERT_CALL_ARGV \ assert(sub_name); assert(argv) PERL_CALLCONV void Perl_call_atexit(pTHX_ ATEXIT_t fn, void *ptr); +#define PERL_ARGS_ASSERT_CALL_ATEXIT PERL_CALLCONV void Perl_call_list(pTHX_ I32 oldscope, AV *paramList); #define PERL_ARGS_ASSERT_CALL_LIST \ assert(paramList) @@ -308,9 +353,11 @@ PERL_CALLCONV I32 Perl_call_sv(pTHX_ SV* sv, volatile I32 flags); #define PERL_ARGS_ASSERT_CALL_SV \ assert(sv) PERL_CALLCONV const PERL_CONTEXT * Perl_caller_cx(pTHX_ I32 level, const PERL_CONTEXT **dbcxp); +#define PERL_ARGS_ASSERT_CALLER_CX PERL_CALLCONV Malloc_t Perl_calloc(MEM_SIZE elements, MEM_SIZE size) __attribute__malloc__ __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_CALLOC PERL_CALLCONV bool Perl_cando(pTHX_ Mode_t mode, bool effective, const Stat_t* statbufp) __attribute__warn_unused_result__; @@ -319,15 +366,19 @@ PERL_CALLCONV bool Perl_cando(pTHX_ Mode_t mode, bool effective, const Stat_t* s PERL_CALLCONV I32 Perl_cast_i32(NV f) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_CAST_I32 PERL_CALLCONV IV Perl_cast_iv(NV f) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_CAST_IV PERL_CALLCONV U32 Perl_cast_ulong(NV f) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_CAST_ULONG PERL_CALLCONV UV Perl_cast_uv(NV f) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_CAST_UV PERL_CALLCONV bool Perl_check_utf8_print(pTHX_ const U8 *s, const STRLEN len); #define PERL_ARGS_ASSERT_CHECK_UTF8_PRINT \ @@ -429,6 +480,11 @@ PERL_CALLCONV OP * Perl_ck_index(pTHX_ OP *o) #define PERL_ARGS_ASSERT_CK_INDEX \ assert(o) +PERL_CALLCONV OP * Perl_ck_isa(pTHX_ OP *o) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_CK_ISA \ + assert(o) + PERL_CALLCONV OP * Perl_ck_join(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_JOIN \ @@ -587,10 +643,12 @@ PERL_CALLCONV void Perl_ck_warner_d(pTHX_ U32 err, const char* pat, ...) PERL_CALLCONV bool Perl_ckwarn(pTHX_ U32 w) __attribute__warn_unused_result__ __attribute__pure__; +#define PERL_ARGS_ASSERT_CKWARN PERL_CALLCONV bool Perl_ckwarn_d(pTHX_ U32 w) __attribute__warn_unused_result__ __attribute__pure__; +#define PERL_ARGS_ASSERT_CKWARN_D PERL_CALLCONV void Perl_clear_defarray(pTHX_ AV* av, bool abandon); #define PERL_ARGS_ASSERT_CLEAR_DEFARRAY \ @@ -598,6 +656,24 @@ PERL_CALLCONV void Perl_clear_defarray(pTHX_ AV* av, bool abandon); PERL_CALLCONV const COP* Perl_closest_cop(pTHX_ const COP *cop, const OP *o, const OP *curop, bool opnext); #define PERL_ARGS_ASSERT_CLOSEST_COP \ assert(cop) +PERL_CALLCONV OP* Perl_cmpchain_extend(pTHX_ I32 type, OP* ch, OP* right) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_CMPCHAIN_EXTEND \ + assert(ch) + +PERL_CALLCONV OP* Perl_cmpchain_finish(pTHX_ OP* ch) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_CMPCHAIN_FINISH \ + assert(ch) + +PERL_CALLCONV OP* Perl_cmpchain_start(pTHX_ I32 type, OP* left, OP* right) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_CMPCHAIN_START + +PERL_CALLCONV const char * Perl_cntrl_to_mnemonic(const U8 c) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_CNTRL_TO_MNEMONIC + PERL_CALLCONV const char * Perl_cop_fetch_label(pTHX_ COP *const cop, STRLEN *len, U32 *flags); #define PERL_ARGS_ASSERT_COP_FETCH_LABEL \ assert(cop) @@ -611,25 +687,32 @@ PERL_CALLCONV OP * Perl_coresub_op(pTHX_ SV *const coreargssv, const int code, c #define PERL_ARGS_ASSERT_CORESUB_OP \ assert(coreargssv) PERL_CALLCONV void Perl_create_eval_scope(pTHX_ OP *retop, U32 flags); +#define PERL_ARGS_ASSERT_CREATE_EVAL_SCOPE PERL_CALLCONV_NO_RET void Perl_croak(pTHX_ const char* pat, ...) __attribute__noreturn__ __attribute__format__null_ok__(__printf__,pTHX_1,pTHX_2); +#define PERL_ARGS_ASSERT_CROAK PERL_CALLCONV_NO_RET void Perl_croak_caller(const char* pat, ...) __attribute__noreturn__ __attribute__format__null_ok__(__printf__,1,2); +#define PERL_ARGS_ASSERT_CROAK_CALLER -PERL_STATIC_NO_RET void S_croak_memory_wrap(void) +PERL_CALLCONV_NO_RET void Perl_croak_memory_wrap(void) __attribute__noreturn__; +#define PERL_ARGS_ASSERT_CROAK_MEMORY_WRAP PERL_CALLCONV_NO_RET void Perl_croak_no_mem(void) __attribute__noreturn__; +#define PERL_ARGS_ASSERT_CROAK_NO_MEM PERL_CALLCONV_NO_RET void Perl_croak_no_modify(void) __attribute__noreturn__; +#define PERL_ARGS_ASSERT_CROAK_NO_MODIFY PERL_CALLCONV_NO_RET void Perl_croak_popstack(void) __attribute__noreturn__; +#define PERL_ARGS_ASSERT_CROAK_POPSTACK PERL_CALLCONV_NO_RET void Perl_croak_sv(pTHX_ SV *baseex) __attribute__noreturn__; @@ -641,9 +724,15 @@ PERL_CALLCONV_NO_RET void Perl_croak_xs_usage(const CV *const cv, const char *co #define PERL_ARGS_ASSERT_CROAK_XS_USAGE \ assert(cv); assert(params) +PERL_CALLCONV Signal_t Perl_csighandler1(int sig); +#define PERL_ARGS_ASSERT_CSIGHANDLER1 +PERL_CALLCONV Signal_t Perl_csighandler3(int sig, Siginfo_t *info, void *uap); +#define PERL_ARGS_ASSERT_CSIGHANDLER3 PERL_CALLCONV regexp_engine const * Perl_current_re_engine(pTHX); +#define PERL_ARGS_ASSERT_CURRENT_RE_ENGINE #ifndef NO_MATHOMS PERL_CALLCONV const char * Perl_custom_op_desc(pTHX_ const OP *o) + __attribute__deprecated__ __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CUSTOM_OP_DESC \ assert(o) @@ -656,6 +745,7 @@ PERL_CALLCONV XOPRETANY Perl_custom_op_get_field(pTHX_ const OP *o, const xop_fl #ifndef NO_MATHOMS PERL_CALLCONV const char * Perl_custom_op_name(pTHX_ const OP *o) + __attribute__deprecated__ __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CUSTOM_OP_NAME \ assert(o) @@ -664,7 +754,6 @@ PERL_CALLCONV const char * Perl_custom_op_name(pTHX_ const OP *o) PERL_CALLCONV void Perl_custom_op_register(pTHX_ Perl_ppaddr_t ppaddr, const XOP *xop); #define PERL_ARGS_ASSERT_CUSTOM_OP_REGISTER \ assert(ppaddr); assert(xop) -/* PERL_CALLCONV const XOP * Perl_custom_op_xop(pTHX_ const OP *o); */ PERL_CALLCONV void Perl_cv_ckproto_len_flags(pTHX_ const CV* cv, const GV* gv, const char* p, const STRLEN len, const U32 flags); #define PERL_ARGS_ASSERT_CV_CKPROTO_LEN_FLAGS \ assert(cv) @@ -676,11 +765,14 @@ PERL_CALLCONV CV* Perl_cv_clone_into(pTHX_ CV* proto, CV *target); assert(proto); assert(target) PERL_CALLCONV SV* Perl_cv_const_sv(const CV *const cv) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_CV_CONST_SV PERL_CALLCONV SV* Perl_cv_const_sv_or_av(const CV *const cv) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_CV_CONST_SV_OR_AV PERL_CALLCONV void Perl_cv_forget_slab(pTHX_ CV *cv); +#define PERL_ARGS_ASSERT_CV_FORGET_SLAB PERL_CALLCONV void Perl_cv_get_call_checker(pTHX_ CV *cv, Perl_call_checker *ckfun_p, SV **ckobj_p); #define PERL_ARGS_ASSERT_CV_GET_CALL_CHECKER \ assert(cv); assert(ckfun_p); assert(ckobj_p) @@ -716,6 +808,7 @@ PERL_CALLCONV void Perl_cx_dump(pTHX_ PERL_CONTEXT* cx); assert(cx) PERL_CALLCONV I32 Perl_cxinc(pTHX) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_CXINC PERL_CALLCONV void Perl_deb(pTHX_ const char* pat, ...) __attribute__format__(__printf__,pTHX_1,pTHX_2); @@ -723,18 +816,23 @@ PERL_CALLCONV void Perl_deb(pTHX_ const char* pat, ...) assert(pat) PERL_CALLCONV void Perl_deb_stack_all(pTHX); +#define PERL_ARGS_ASSERT_DEB_STACK_ALL PERL_CALLCONV I32 Perl_debop(pTHX_ const OP* o); #define PERL_ARGS_ASSERT_DEBOP \ assert(o) PERL_CALLCONV void Perl_debprofdump(pTHX); +#define PERL_ARGS_ASSERT_DEBPROFDUMP PERL_CALLCONV I32 Perl_debstack(pTHX); +#define PERL_ARGS_ASSERT_DEBSTACK PERL_CALLCONV I32 Perl_debstackptrs(pTHX); +#define PERL_ARGS_ASSERT_DEBSTACKPTRS PERL_CALLCONV SV * Perl_defelem_target(pTHX_ SV *sv, MAGIC *mg) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DEFELEM_TARGET \ assert(sv) PERL_CALLCONV void Perl_delete_eval_scope(pTHX); +#define PERL_ARGS_ASSERT_DELETE_EVAL_SCOPE PERL_CALLCONV char* Perl_delimcpy(char* to, const char* toend, const char* from, const char* fromend, int delim, I32* retlen); #define PERL_ARGS_ASSERT_DELIMCPY \ assert(to); assert(toend); assert(from); assert(fromend); assert(retlen) @@ -742,9 +840,11 @@ PERL_CALLCONV char* Perl_delimcpy_no_escape(char* to, const char* toend, const c #define PERL_ARGS_ASSERT_DELIMCPY_NO_ESCAPE \ assert(to); assert(toend); assert(from); assert(fromend); assert(retlen) PERL_CALLCONV void Perl_despatch_signals(pTHX); +#define PERL_ARGS_ASSERT_DESPATCH_SIGNALS PERL_CALLCONV_NO_RET OP* Perl_die(pTHX_ const char* pat, ...) __attribute__noreturn__ __attribute__format__null_ok__(__printf__,pTHX_1,pTHX_2); +#define PERL_ARGS_ASSERT_DIE PERL_CALLCONV_NO_RET OP* Perl_die_sv(pTHX_ SV *baseex) __attribute__noreturn__; @@ -765,11 +865,14 @@ PERL_CALLCONV bool Perl_do_aexec5(pTHX_ SV* really, SV** mark, SV** sp, int fd, #define PERL_ARGS_ASSERT_DO_AEXEC5 \ assert(mark); assert(sp) #ifndef NO_MATHOMS -PERL_CALLCONV int Perl_do_binmode(pTHX_ PerlIO *fp, int iotype, int mode); +PERL_CALLCONV int Perl_do_binmode(pTHX_ PerlIO *fp, int iotype, int mode) + __attribute__deprecated__; #define PERL_ARGS_ASSERT_DO_BINMODE \ assert(fp) #endif + PERL_CALLCONV bool Perl_do_close(pTHX_ GV* gv, bool not_implicit); +#define PERL_ARGS_ASSERT_DO_CLOSE PERL_CALLCONV void Perl_do_dump_pad(pTHX_ I32 level, PerlIO *file, PADLIST *padlist, int full); #define PERL_ARGS_ASSERT_DO_DUMP_PAD \ assert(file) @@ -808,10 +911,12 @@ PERL_CALLCONV bool Perl_do_open6(pTHX_ GV *gv, const char *oname, STRLEN len, Pe #define PERL_ARGS_ASSERT_DO_OPEN6 \ assert(gv); assert(oname) #ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_do_open9(pTHX_ GV *gv, const char *name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp, SV *svs, I32 num); +PERL_CALLCONV bool Perl_do_open9(pTHX_ GV *gv, const char *name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp, SV *svs, I32 num) + __attribute__deprecated__; #define PERL_ARGS_ASSERT_DO_OPEN9 \ assert(gv); assert(name); assert(svs) #endif + PERL_CALLCONV bool Perl_do_open_raw(pTHX_ GV *gv, const char *oname, STRLEN len, int rawmode, int rawperm, Stat_t *statbufp); #define PERL_ARGS_ASSERT_DO_OPEN_RAW \ assert(gv); assert(oname) @@ -826,8 +931,10 @@ PERL_CALLCONV bool Perl_do_print(pTHX_ SV* sv, PerlIO* fp); assert(fp) PERL_CALLCONV OP* Perl_do_readline(pTHX) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_DO_READLINE PERL_CALLCONV bool Perl_do_seek(pTHX_ GV* gv, Off_t pos, int whence); +#define PERL_ARGS_ASSERT_DO_SEEK PERL_CALLCONV void Perl_do_sprintf(pTHX_ SV* sv, SSize_t len, SV** sarg); #define PERL_ARGS_ASSERT_DO_SPRINTF \ assert(sv); assert(sarg) @@ -845,6 +952,11 @@ PERL_CALLCONV Off_t Perl_do_tell(pTHX_ GV* gv) PERL_CALLCONV Size_t Perl_do_trans(pTHX_ SV* sv); #define PERL_ARGS_ASSERT_DO_TRANS \ assert(sv) +PERL_CALLCONV I16 Perl_do_uniprop_match(const char * const key, const U16 key_len) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_DO_UNIPROP_MATCH \ + assert(key) + PERL_CALLCONV UV Perl_do_vecget(pTHX_ SV* sv, STRLEN offset, int size); #define PERL_ARGS_ASSERT_DO_VECGET \ assert(sv) @@ -859,13 +971,16 @@ PERL_CALLCONV OP* Perl_dofile(pTHX_ OP* term, I32 force_builtin); assert(term) PERL_CALLCONV bool Perl_doing_taint(int argc, char** argv, char** env) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_DOING_TAINT PERL_CALLCONV OP * Perl_doref(pTHX_ OP *o, I32 type, bool set_op_ref); #define PERL_ARGS_ASSERT_DOREF \ assert(o) PERL_CALLCONV void Perl_dounwind(pTHX_ I32 cxix); +#define PERL_ARGS_ASSERT_DOUNWIND PERL_CALLCONV U8 Perl_dowantarray(pTHX) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_DOWANTARRAY PERL_CALLCONV void Perl_drand48_init_r(perl_drand48_t *random_state, U32 seed); #define PERL_ARGS_ASSERT_DRAND48_INIT_R \ @@ -874,8 +989,11 @@ PERL_CALLCONV double Perl_drand48_r(perl_drand48_t *random_state); #define PERL_ARGS_ASSERT_DRAND48_R \ assert(random_state) PERL_CALLCONV void Perl_dump_all(pTHX); +#define PERL_ARGS_ASSERT_DUMP_ALL PERL_CALLCONV void Perl_dump_all_perl(pTHX_ bool justperl); +#define PERL_ARGS_ASSERT_DUMP_ALL_PERL PERL_CALLCONV void Perl_dump_eval(pTHX); +#define PERL_ARGS_ASSERT_DUMP_EVAL PERL_CALLCONV void Perl_dump_form(pTHX_ const GV* gv); #define PERL_ARGS_ASSERT_DUMP_FORM \ assert(gv) @@ -900,6 +1018,7 @@ PERL_CALLCONV void Perl_dump_vindent(pTHX_ I32 level, PerlIO *file, const char* #define PERL_ARGS_ASSERT_DUMP_VINDENT \ assert(file); assert(pat) PERL_CALLCONV STRLEN* Perl_dup_warnings(pTHX_ STRLEN* warnings); +#define PERL_ARGS_ASSERT_DUP_WARNINGS PERL_CALLCONV void Perl_emulate_cop_io(pTHX_ const COP *const c, SV *const sv); #define PERL_ARGS_ASSERT_EMULATE_COP_IO \ assert(c); assert(sv) @@ -917,10 +1036,8 @@ PERL_CALLCONV char* Perl_fbm_instr(pTHX_ unsigned char* big, unsigned char* bige #define PERL_ARGS_ASSERT_FBM_INSTR \ assert(big); assert(bigend); assert(littlestr) -PERL_CALLCONV bool Perl_feature_is_enabled(pTHX_ const char *const name, STRLEN namelen); -#define PERL_ARGS_ASSERT_FEATURE_IS_ENABLED \ - assert(name) PERL_CALLCONV SV* Perl_filter_add(pTHX_ filter_t funcp, SV* datasv); +#define PERL_ARGS_ASSERT_FILTER_ADD PERL_CALLCONV void Perl_filter_del(pTHX_ filter_t funcp); #define PERL_ARGS_ASSERT_FILTER_DEL \ assert(funcp) @@ -933,15 +1050,20 @@ PERL_CALLCONV void Perl_finalize_optree(pTHX_ OP* o); #define PERL_ARGS_ASSERT_FINALIZE_OPTREE \ assert(o) PERL_CALLCONV CV * Perl_find_lexical_cv(pTHX_ PADOFFSET off); +#define PERL_ARGS_ASSERT_FIND_LEXICAL_CV PERL_CALLCONV CV* Perl_find_runcv(pTHX_ U32 *db_seqp) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_FIND_RUNCV PERL_CALLCONV CV* Perl_find_runcv_where(pTHX_ U8 cond, IV arg, U32 *db_seqp) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_FIND_RUNCV_WHERE PERL_CALLCONV SV* Perl_find_rundefsv(pTHX); +#define PERL_ARGS_ASSERT_FIND_RUNDEFSV PERL_CALLCONV PADOFFSET Perl_find_rundefsvoffset(pTHX) __attribute__deprecated__; +#define PERL_ARGS_ASSERT_FIND_RUNDEFSVOFFSET PERL_CALLCONV char* Perl_find_script(pTHX_ const char *scriptname, bool dosearch, const char *const *const search_ext, I32 flags); #define PERL_ARGS_ASSERT_FIND_SCRIPT \ @@ -962,6 +1084,7 @@ PERL_STATIC_INLINE I32 Perl_foldEQ_locale(const char* a, const char* b, I32 len) assert(a); assert(b) #endif /* PERL_CALLCONV I32 foldEQ_utf8(pTHX_ const char *s1, char **pe1, UV l1, bool u1, const char *s2, char **pe2, UV l2, bool u2); */ +#define PERL_ARGS_ASSERT_FOLDEQ_UTF8 PERL_CALLCONV I32 Perl_foldEQ_utf8_flags(pTHX_ const char *s1, char **pe1, UV l1, bool u1, const char *s2, char **pe2, UV l2, bool u2, U32 flags); #define PERL_ARGS_ASSERT_FOLDEQ_UTF8_FLAGS \ assert(s1); assert(s2) @@ -971,7 +1094,9 @@ PERL_CALLCONV char* Perl_form(pTHX_ const char* pat, ...) assert(pat) PERL_CALLCONV void Perl_free_tied_hv_pool(pTHX); +#define PERL_ARGS_ASSERT_FREE_TIED_HV_POOL PERL_CALLCONV void Perl_free_tmps(pTHX); +#define PERL_ARGS_ASSERT_FREE_TMPS PERL_CALLCONV SV* Perl_get_and_check_backslash_N_name(pTHX_ const char* s, const char* const e, const bool is_utf8, const char** error_msg) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_GET_AND_CHECK_BACKSLASH_N_NAME \ @@ -982,6 +1107,7 @@ PERL_CALLCONV AV* Perl_get_av(pTHX_ const char *name, I32 flags); assert(name) PERL_CALLCONV void* Perl_get_context(void) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_GET_CONTEXT PERL_CALLCONV CV* Perl_get_cv(pTHX_ const char* name, I32 flags); #define PERL_ARGS_ASSERT_GET_CV \ @@ -992,6 +1118,10 @@ PERL_CALLCONV CV* Perl_get_cvn_flags(pTHX_ const char* name, STRLEN len, I32 fla PERL_CALLCONV void Perl_get_db_sub(pTHX_ SV **svp, CV *cv); #define PERL_ARGS_ASSERT_GET_DB_SUB \ assert(cv) +PERL_CALLCONV const char * Perl_get_deprecated_property_msg(const Size_t warning_offset) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_GET_DEPRECATED_PROPERTY_MSG + PERL_CALLCONV void Perl_get_hash_seed(pTHX_ unsigned char * const seed_buffer); #define PERL_ARGS_ASSERT_GET_HASH_SEED \ assert(seed_buffer) @@ -1001,41 +1131,61 @@ PERL_CALLCONV HV* Perl_get_hv(pTHX_ const char *name, I32 flags); PERL_CALLCONV const char* Perl_get_no_modify(pTHX) __attribute__warn_unused_result__ __attribute__pure__; +#define PERL_ARGS_ASSERT_GET_NO_MODIFY PERL_CALLCONV char** Perl_get_op_descs(pTHX) __attribute__warn_unused_result__ __attribute__pure__; +#define PERL_ARGS_ASSERT_GET_OP_DESCS PERL_CALLCONV char** Perl_get_op_names(pTHX) __attribute__warn_unused_result__ __attribute__pure__; +#define PERL_ARGS_ASSERT_GET_OP_NAMES PERL_CALLCONV U32* Perl_get_opargs(pTHX) __attribute__warn_unused_result__ __attribute__pure__; +#define PERL_ARGS_ASSERT_GET_OPARGS PERL_CALLCONV PPADDR_t* Perl_get_ppaddr(pTHX) __attribute__warn_unused_result__ __attribute__pure__; +#define PERL_ARGS_ASSERT_GET_PPADDR + +PERL_CALLCONV SV * Perl_get_prop_definition(pTHX_ const int table_index) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_GET_PROP_DEFINITION + +PERL_CALLCONV const char * const * Perl_get_prop_values(const int table_index) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_GET_PROP_VALUES PERL_CALLCONV REGEXP * Perl_get_re_arg(pTHX_ SV *sv); +#define PERL_ARGS_ASSERT_GET_RE_ARG PERL_CALLCONV SV* Perl_get_sv(pTHX_ const char *name, I32 flags); #define PERL_ARGS_ASSERT_GET_SV \ assert(name) PERL_CALLCONV MGVTBL* Perl_get_vtbl(pTHX_ int vtbl_id) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_GET_VTBL PERL_CALLCONV int Perl_getcwd_sv(pTHX_ SV* sv); #define PERL_ARGS_ASSERT_GETCWD_SV \ assert(sv) PERL_CALLCONV void Perl_gp_free(pTHX_ GV* gv); +#define PERL_ARGS_ASSERT_GP_FREE PERL_CALLCONV GP* Perl_gp_ref(pTHX_ GP* gp); +#define PERL_ARGS_ASSERT_GP_REF PERL_CALLCONV bool Perl_grok_atoUV(const char* pv, UV* valptr, const char** endptr); #define PERL_ARGS_ASSERT_GROK_ATOUV \ assert(pv); assert(valptr) PERL_CALLCONV UV Perl_grok_bin(pTHX_ const char* start, STRLEN* len_p, I32* flags, NV *result); #define PERL_ARGS_ASSERT_GROK_BIN \ assert(start); assert(len_p); assert(flags) +PERL_CALLCONV UV Perl_grok_bin_oct_hex(pTHX_ const char* start, STRLEN* len_p, I32* flags, NV *result, const unsigned shift, const U8 lookup_bit, const char prefix); +#define PERL_ARGS_ASSERT_GROK_BIN_OCT_HEX \ + assert(start); assert(len_p); assert(flags) PERL_CALLCONV UV Perl_grok_hex(pTHX_ const char* start, STRLEN* len_p, I32* flags, NV *result); #define PERL_ARGS_ASSERT_GROK_HEX \ assert(start); assert(len_p); assert(flags) @@ -1058,16 +1208,21 @@ PERL_CALLCONV UV Perl_grok_oct(pTHX_ const char* start, STRLEN* len_p, I32* flag assert(start); assert(len_p); assert(flags) #ifndef NO_MATHOMS PERL_CALLCONV GV* Perl_gv_AVadd(pTHX_ GV *gv); +#define PERL_ARGS_ASSERT_GV_AVADD #endif #ifndef NO_MATHOMS PERL_CALLCONV GV* Perl_gv_HVadd(pTHX_ GV *gv); +#define PERL_ARGS_ASSERT_GV_HVADD #endif #ifndef NO_MATHOMS PERL_CALLCONV GV* Perl_gv_IOadd(pTHX_ GV* gv); +#define PERL_ARGS_ASSERT_GV_IOADD #endif PERL_CALLCONV GV* Perl_gv_add_by_type(pTHX_ GV *gv, svtype type); +#define PERL_ARGS_ASSERT_GV_ADD_BY_TYPE /* PERL_CALLCONV GV* gv_autoload4(pTHX_ HV* stash, const char* name, STRLEN len, I32 method) __attribute__warn_unused_result__; */ +#define PERL_ARGS_ASSERT_GV_AUTOLOAD4 PERL_CALLCONV GV* Perl_gv_autoload_pv(pTHX_ HV* stash, const char* namepv, U32 flags) __attribute__warn_unused_result__; @@ -1093,11 +1248,14 @@ PERL_CALLCONV SV* Perl_gv_const_sv(pTHX_ GV* gv) assert(gv) PERL_CALLCONV void Perl_gv_dump(pTHX_ GV* gv); +#define PERL_ARGS_ASSERT_GV_DUMP #ifndef NO_MATHOMS -PERL_CALLCONV void Perl_gv_efullname(pTHX_ SV* sv, const GV* gv); +PERL_CALLCONV void Perl_gv_efullname(pTHX_ SV* sv, const GV* gv) + __attribute__deprecated__; #define PERL_ARGS_ASSERT_GV_EFULLNAME \ assert(sv); assert(gv) #endif + #ifndef NO_MATHOMS PERL_CALLCONV void Perl_gv_efullname3(pTHX_ SV* sv, const GV* gv, const char* prefix); #define PERL_ARGS_ASSERT_GV_EFULLNAME3 \ @@ -1113,7 +1271,9 @@ PERL_CALLCONV GV* Perl_gv_fetchfile_flags(pTHX_ const char *const name, const ST #define PERL_ARGS_ASSERT_GV_FETCHFILE_FLAGS \ assert(name) /* PERL_CALLCONV GV* gv_fetchmeth(pTHX_ HV* stash, const char* name, STRLEN len, I32 level); */ +#define PERL_ARGS_ASSERT_GV_FETCHMETH /* PERL_CALLCONV GV* gv_fetchmeth_autoload(pTHX_ HV* stash, const char* name, STRLEN len, I32 level); */ +#define PERL_ARGS_ASSERT_GV_FETCHMETH_AUTOLOAD PERL_CALLCONV GV* Perl_gv_fetchmeth_pv(pTHX_ HV* stash, const char* name, I32 level, U32 flags); #define PERL_ARGS_ASSERT_GV_FETCHMETH_PV \ assert(name) @@ -1159,10 +1319,12 @@ PERL_CALLCONV GV* Perl_gv_fetchsv(pTHX_ SV *name, I32 flags, const svtype sv_typ #define PERL_ARGS_ASSERT_GV_FETCHSV \ assert(name) #ifndef NO_MATHOMS -PERL_CALLCONV void Perl_gv_fullname(pTHX_ SV* sv, const GV* gv); +PERL_CALLCONV void Perl_gv_fullname(pTHX_ SV* sv, const GV* gv) + __attribute__deprecated__; #define PERL_ARGS_ASSERT_GV_FULLNAME \ assert(sv); assert(gv) #endif + #ifndef NO_MATHOMS PERL_CALLCONV void Perl_gv_fullname3(pTHX_ SV* sv, const GV* gv, const char* prefix); #define PERL_ARGS_ASSERT_GV_FULLNAME3 \ @@ -1173,8 +1335,10 @@ PERL_CALLCONV void Perl_gv_fullname4(pTHX_ SV* sv, const GV* gv, const char* pre assert(sv); assert(gv) PERL_CALLCONV CV* Perl_gv_handler(pTHX_ HV* stash, I32 id) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_GV_HANDLER /* PERL_CALLCONV void gv_init(pTHX_ GV* gv, HV* stash, const char* name, STRLEN len, int multi); */ +#define PERL_ARGS_ASSERT_GV_INIT PERL_CALLCONV void Perl_gv_init_pv(pTHX_ GV* gv, HV* stash, const char* name, U32 flags); #define PERL_ARGS_ASSERT_GV_INIT_PV \ assert(gv); assert(name) @@ -1214,15 +1378,18 @@ PERL_CALLCONV SV* Perl_hv_bucket_ratio(pTHX_ HV *hv) assert(hv) PERL_CALLCONV void Perl_hv_clear(pTHX_ HV *hv); +#define PERL_ARGS_ASSERT_HV_CLEAR PERL_CALLCONV void Perl_hv_clear_placeholders(pTHX_ HV *hv); #define PERL_ARGS_ASSERT_HV_CLEAR_PLACEHOLDERS \ assert(hv) PERL_CALLCONV void* Perl_hv_common(pTHX_ HV *hv, SV *keysv, const char* key, STRLEN klen, int flags, int action, SV *val, U32 hash); +#define PERL_ARGS_ASSERT_HV_COMMON PERL_CALLCONV void* Perl_hv_common_key_len(pTHX_ HV *hv, const char *key, I32 klen_i32, const int action, SV *val, const U32 hash); #define PERL_ARGS_ASSERT_HV_COMMON_KEY_LEN \ assert(key) PERL_CALLCONV HV * Perl_hv_copy_hints_hv(pTHX_ HV *const ohv) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_HV_COPY_HINTS_HV PERL_CALLCONV void Perl_hv_delayfree_ent(pTHX_ HV *hv, HE *entry); #define PERL_ARGS_ASSERT_HV_DELAYFREE_ENT \ @@ -1361,42 +1528,59 @@ PERL_CALLCONV SV* Perl_hv_scalar(pTHX_ HV *hv) #ifndef NO_MATHOMS PERL_CALLCONV SV** Perl_hv_store(pTHX_ HV *hv, const char *key, I32 klen, SV *val, U32 hash); +#define PERL_ARGS_ASSERT_HV_STORE #endif #ifndef NO_MATHOMS PERL_CALLCONV HE* Perl_hv_store_ent(pTHX_ HV *hv, SV *key, SV *val, U32 hash); +#define PERL_ARGS_ASSERT_HV_STORE_ENT #endif #ifndef NO_MATHOMS PERL_CALLCONV SV** Perl_hv_store_flags(pTHX_ HV *hv, const char *key, I32 klen, SV *val, U32 hash, int flags); +#define PERL_ARGS_ASSERT_HV_STORE_FLAGS #endif /* PERL_CALLCONV void hv_undef(pTHX_ HV *hv); */ +#define PERL_ARGS_ASSERT_HV_UNDEF PERL_CALLCONV void Perl_hv_undef_flags(pTHX_ HV *hv, U32 flags); +#define PERL_ARGS_ASSERT_HV_UNDEF_FLAGS /* PERL_CALLCONV I32 ibcmp(pTHX_ const char* a, const char* b, I32 len) __attribute__warn_unused_result__ __attribute__pure__; */ +#define PERL_ARGS_ASSERT_IBCMP /* PERL_CALLCONV I32 ibcmp_locale(pTHX_ const char* a, const char* b, I32 len) __attribute__warn_unused_result__ __attribute__pure__; */ +#define PERL_ARGS_ASSERT_IBCMP_LOCALE /* PERL_CALLCONV I32 ibcmp_utf8(pTHX_ const char *s1, char **pe1, UV l1, bool u1, const char *s2, char **pe2, UV l2, bool u2); */ +#define PERL_ARGS_ASSERT_IBCMP_UTF8 PERL_CALLCONV void Perl_init_argv_symbols(pTHX_ int argc, char **argv); #define PERL_ARGS_ASSERT_INIT_ARGV_SYMBOLS \ assert(argv) PERL_CALLCONV void Perl_init_constants(pTHX); +#define PERL_ARGS_ASSERT_INIT_CONSTANTS PERL_CALLCONV void Perl_init_dbargs(pTHX); +#define PERL_ARGS_ASSERT_INIT_DBARGS PERL_CALLCONV void Perl_init_debugger(pTHX); +#define PERL_ARGS_ASSERT_INIT_DEBUGGER PERL_CALLCONV int Perl_init_i18nl10n(pTHX_ int printwarn); +#define PERL_ARGS_ASSERT_INIT_I18NL10N #ifndef NO_MATHOMS -PERL_CALLCONV int Perl_init_i18nl14n(pTHX_ int printwarn); +PERL_CALLCONV int Perl_init_i18nl14n(pTHX_ int printwarn) + __attribute__deprecated__; +#define PERL_ARGS_ASSERT_INIT_I18NL14N #endif + PERL_CALLCONV void Perl_init_named_cv(pTHX_ CV *cv, OP *nameop); #define PERL_ARGS_ASSERT_INIT_NAMED_CV \ assert(cv); assert(nameop) PERL_CALLCONV void Perl_init_stacks(pTHX); +#define PERL_ARGS_ASSERT_INIT_STACKS PERL_CALLCONV void Perl_init_tm(pTHX_ struct tm *ptm); #define PERL_ARGS_ASSERT_INIT_TM \ assert(ptm) PERL_CALLCONV void Perl_init_uniprops(pTHX); +#define PERL_ARGS_ASSERT_INIT_UNIPROPS #ifndef NO_MATHOMS PERL_CALLCONV char* Perl_instr(const char* big, const char* little) __attribute__warn_unused_result__ @@ -1406,576 +1590,233 @@ PERL_CALLCONV char* Perl_instr(const char* big, const char* little) #endif PERL_CALLCONV U32 Perl_intro_my(pTHX); +#define PERL_ARGS_ASSERT_INTRO_MY PERL_CALLCONV OP* Perl_invert(pTHX_ OP* cmd) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_INVERT +PERL_CALLCONV void Perl_invmap_dump(pTHX_ SV* invlist, UV * map); +#define PERL_ARGS_ASSERT_INVMAP_DUMP \ + assert(invlist); assert(map) PERL_CALLCONV bool Perl_io_close(pTHX_ IO* io, GV *gv, bool not_implicit, bool warn_on_fail); #define PERL_ARGS_ASSERT_IO_CLOSE \ assert(io) -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_isALNUM_lazy(pTHX_ const char* p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_ISALNUM_LAZY \ - assert(p) -#endif - #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE Size_t S_isC9_STRICT_UTF8_CHAR(const U8 * const s0, const U8 * const e) +PERL_STATIC_INLINE Size_t Perl_isC9_STRICT_UTF8_CHAR(const U8 * const s0, const U8 * const e) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_ISC9_STRICT_UTF8_CHAR \ assert(s0); assert(e) #endif -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_isIDFIRST_lazy(pTHX_ const char* p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_ISIDFIRST_LAZY \ - assert(p) -#endif - #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE Size_t S_isSTRICT_UTF8_CHAR(const U8 * const s0, const U8 * const e) +PERL_STATIC_INLINE Size_t Perl_isSTRICT_UTF8_CHAR(const U8 * const s0, const U8 * const e) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_ISSTRICT_UTF8_CHAR \ assert(s0); assert(e) #endif #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE Size_t S_isUTF8_CHAR(const U8 * const s0, const U8 * const e) +PERL_STATIC_INLINE Size_t Perl_isUTF8_CHAR(const U8 * const s0, const U8 * const e) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_ISUTF8_CHAR \ assert(s0); assert(e) #endif -/* PERL_CALLCONV bool Perl_is_ascii_string(const U8* const s, STRLEN len) +/* PERL_CALLCONV bool is_ascii_string(const U8* const s, STRLEN len) __attribute__warn_unused_result__ __attribute__pure__; */ +#define PERL_ARGS_ASSERT_IS_ASCII_STRING -/* PERL_CALLCONV bool Perl_is_c9strict_utf8_string(const U8 *s, STRLEN len) +/* PERL_CALLCONV bool is_c9strict_utf8_string(const U8 *s, STRLEN len) __attribute__warn_unused_result__; */ +#define PERL_ARGS_ASSERT_IS_C9STRICT_UTF8_STRING /* PERL_CALLCONV bool is_c9strict_utf8_string_loc(const U8 *s, STRLEN len, const U8 **ep); */ +#define PERL_ARGS_ASSERT_IS_C9STRICT_UTF8_STRING_LOC #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE bool S_is_c9strict_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el); +PERL_STATIC_INLINE bool Perl_is_c9strict_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el); #define PERL_ARGS_ASSERT_IS_C9STRICT_UTF8_STRING_LOCLEN \ assert(s) #endif -/* PERL_CALLCONV bool Perl_is_invariant_string(const U8* const s, STRLEN len) +/* PERL_CALLCONV bool is_invariant_string(const U8* const s, STRLEN len) __attribute__warn_unused_result__ __attribute__pure__; */ +#define PERL_ARGS_ASSERT_IS_INVARIANT_STRING PERL_CALLCONV I32 Perl_is_lvalue_sub(pTHX) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_IS_LVALUE_SUB #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE bool S_is_safe_syscall(pTHX_ const char *pv, STRLEN len, const char *what, const char *op_name) +PERL_STATIC_INLINE bool Perl_is_safe_syscall(pTHX_ const char *pv, STRLEN len, const char *what, const char *op_name) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_IS_SAFE_SYSCALL \ assert(pv); assert(what); assert(op_name) #endif -/* PERL_CALLCONV bool Perl_is_strict_utf8_string(const U8 *s, STRLEN len) +/* PERL_CALLCONV bool is_strict_utf8_string(const U8 *s, STRLEN len) __attribute__warn_unused_result__; */ +#define PERL_ARGS_ASSERT_IS_STRICT_UTF8_STRING /* PERL_CALLCONV bool is_strict_utf8_string_loc(const U8 *s, STRLEN len, const U8 **ep); */ +#define PERL_ARGS_ASSERT_IS_STRICT_UTF8_STRING_LOC #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE bool S_is_strict_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el); +PERL_STATIC_INLINE bool Perl_is_strict_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el); #define PERL_ARGS_ASSERT_IS_STRICT_UTF8_STRING_LOCLEN \ assert(s) #endif #ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_alnum(pTHX_ UV c) - __attribute__deprecated__ - __attribute__warn_unused_result__; +PERL_CALLCONV STRLEN Perl_is_utf8_char(const U8 *s) + __attribute__deprecated__; +#define PERL_ARGS_ASSERT_IS_UTF8_CHAR \ + assert(s) #endif #ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_alnum_lc(pTHX_ UV c) - __attribute__deprecated__ - __attribute__warn_unused_result__; +PERL_CALLCONV STRLEN Perl_is_utf8_char_buf(const U8 *buf, const U8 *buf_end); +#define PERL_ARGS_ASSERT_IS_UTF8_CHAR_BUF \ + assert(buf); assert(buf_end) #endif +PERL_CALLCONV STRLEN Perl_is_utf8_char_helper(const U8 * const s, const U8 * e, const U32 flags) + __attribute__warn_unused_result__ + __attribute__pure__; +#define PERL_ARGS_ASSERT_IS_UTF8_CHAR_HELPER \ + assert(s); assert(e) -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_alnumc(pTHX_ UV c) - __attribute__deprecated__ - __attribute__warn_unused_result__; +/* PERL_CALLCONV bool is_utf8_fixed_width_buf_flags(const U8 * const s, STRLEN len, const U32 flags); */ +#define PERL_ARGS_ASSERT_IS_UTF8_FIXED_WIDTH_BUF_FLAGS +/* PERL_CALLCONV bool is_utf8_fixed_width_buf_loc_flags(const U8 * const s, STRLEN len, const U8 **ep, const U32 flags); */ +#define PERL_ARGS_ASSERT_IS_UTF8_FIXED_WIDTH_BUF_LOC_FLAGS +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE bool Perl_is_utf8_fixed_width_buf_loclen_flags(const U8 * const s, STRLEN len, const U8 **ep, STRLEN *el, const U32 flags); +#define PERL_ARGS_ASSERT_IS_UTF8_FIXED_WIDTH_BUF_LOCLEN_FLAGS \ + assert(s) #endif +/* PERL_CALLCONV bool is_utf8_invariant_string(const U8* const s, STRLEN len) + __attribute__warn_unused_result__; */ +#define PERL_ARGS_ASSERT_IS_UTF8_INVARIANT_STRING -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_alnumc_lc(pTHX_ UV c) - __attribute__deprecated__ +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE bool Perl_is_utf8_invariant_string_loc(const U8* const s, STRLEN len, const U8 ** ep) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_IS_UTF8_INVARIANT_STRING_LOC \ + assert(s) #endif -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_alpha(pTHX_ UV c) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#endif +/* PERL_CALLCONV bool is_utf8_string(const U8 *s, STRLEN len) + __attribute__warn_unused_result__; */ +#define PERL_ARGS_ASSERT_IS_UTF8_STRING -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_alpha_lc(pTHX_ UV c) - __attribute__deprecated__ +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE bool Perl_is_utf8_string_flags(const U8 *s, STRLEN len, const U32 flags) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_IS_UTF8_STRING_FLAGS \ + assert(s) #endif #ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_ascii(pTHX_ UV c) - __attribute__deprecated__ - __attribute__warn_unused_result__ - __attribute__pure__; +PERL_CALLCONV bool Perl_is_utf8_string_loc(const U8 *s, const STRLEN len, const U8 **ep); +#define PERL_ARGS_ASSERT_IS_UTF8_STRING_LOC \ + assert(s); assert(ep) #endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_ascii_lc(pTHX_ UV c) - __attribute__deprecated__ - __attribute__warn_unused_result__ - __attribute__pure__; +/* PERL_CALLCONV bool is_utf8_string_loc_flags(const U8 *s, STRLEN len, const U8 **ep, const U32 flags); */ +#define PERL_ARGS_ASSERT_IS_UTF8_STRING_LOC_FLAGS +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE bool Perl_is_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el); +#define PERL_ARGS_ASSERT_IS_UTF8_STRING_LOCLEN \ + assert(s) #endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_blank(pTHX_ UV c) - __attribute__deprecated__ - __attribute__warn_unused_result__ - __attribute__pure__; +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE bool Perl_is_utf8_string_loclen_flags(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el, const U32 flags); +#define PERL_ARGS_ASSERT_IS_UTF8_STRING_LOCLEN_FLAGS \ + assert(s) #endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_blank_lc(pTHX_ UV c) - __attribute__deprecated__ +/* PERL_CALLCONV bool is_utf8_valid_partial_char(const U8 * const s, const U8 * const e) __attribute__warn_unused_result__ - __attribute__pure__; + __attribute__pure__; */ +#define PERL_ARGS_ASSERT_IS_UTF8_VALID_PARTIAL_CHAR + +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE bool Perl_is_utf8_valid_partial_char_flags(const U8 * const s, const U8 * const e, const U32 flags) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_IS_UTF8_VALID_PARTIAL_CHAR_FLAGS \ + assert(s); assert(e) #endif -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_cntrl(pTHX_ UV c) - __attribute__deprecated__ +PERL_CALLCONV bool Perl_isinfnan(NV nv) __attribute__warn_unused_result__ __attribute__pure__; -#endif +#define PERL_ARGS_ASSERT_ISINFNAN -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_cntrl_lc(pTHX_ UV c) - __attribute__deprecated__ +PERL_CALLCONV bool Perl_isinfnansv(pTHX_ SV *sv); +#define PERL_ARGS_ASSERT_ISINFNANSV \ + assert(sv) +PERL_CALLCONV OP* Perl_jmaybe(pTHX_ OP *o); +#define PERL_ARGS_ASSERT_JMAYBE \ + assert(o) +PERL_CALLCONV I32 Perl_keyword(pTHX_ const char *name, I32 len, bool all_keywords) __attribute__warn_unused_result__ __attribute__pure__; -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_digit(pTHX_ UV c) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_digit_lc(pTHX_ UV c) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#endif +#define PERL_ARGS_ASSERT_KEYWORD \ + assert(name) -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_graph(pTHX_ UV c) - __attribute__deprecated__ +PERL_CALLCONV int Perl_keyword_plugin_standard(pTHX_ char* keyword_ptr, STRLEN keyword_len, OP** op_ptr); +#define PERL_ARGS_ASSERT_KEYWORD_PLUGIN_STANDARD \ + assert(keyword_ptr); assert(op_ptr) +PERL_CALLCONV void Perl_leave_adjust_stacks(pTHX_ SV **from_sp, SV **to_sp, U8 gimme, int filter); +#define PERL_ARGS_ASSERT_LEAVE_ADJUST_STACKS \ + assert(from_sp); assert(to_sp) +PERL_CALLCONV void Perl_leave_scope(pTHX_ I32 base); +#define PERL_ARGS_ASSERT_LEAVE_SCOPE +PERL_CALLCONV bool Perl_lex_bufutf8(pTHX); +#define PERL_ARGS_ASSERT_LEX_BUFUTF8 +PERL_CALLCONV void Perl_lex_discard_to(pTHX_ char* ptr); +#define PERL_ARGS_ASSERT_LEX_DISCARD_TO \ + assert(ptr) +PERL_CALLCONV char* Perl_lex_grow_linestr(pTHX_ STRLEN len); +#define PERL_ARGS_ASSERT_LEX_GROW_LINESTR +PERL_CALLCONV bool Perl_lex_next_chunk(pTHX_ U32 flags); +#define PERL_ARGS_ASSERT_LEX_NEXT_CHUNK +PERL_CALLCONV I32 Perl_lex_peek_unichar(pTHX_ U32 flags); +#define PERL_ARGS_ASSERT_LEX_PEEK_UNICHAR +PERL_CALLCONV void Perl_lex_read_space(pTHX_ U32 flags); +#define PERL_ARGS_ASSERT_LEX_READ_SPACE +PERL_CALLCONV void Perl_lex_read_to(pTHX_ char* ptr); +#define PERL_ARGS_ASSERT_LEX_READ_TO \ + assert(ptr) +PERL_CALLCONV I32 Perl_lex_read_unichar(pTHX_ U32 flags); +#define PERL_ARGS_ASSERT_LEX_READ_UNICHAR +PERL_CALLCONV void Perl_lex_start(pTHX_ SV* line, PerlIO *rsfp, U32 flags); +#define PERL_ARGS_ASSERT_LEX_START +PERL_CALLCONV void Perl_lex_stuff_pv(pTHX_ const char* pv, U32 flags); +#define PERL_ARGS_ASSERT_LEX_STUFF_PV \ + assert(pv) +PERL_CALLCONV void Perl_lex_stuff_pvn(pTHX_ const char* pv, STRLEN len, U32 flags); +#define PERL_ARGS_ASSERT_LEX_STUFF_PVN \ + assert(pv) +PERL_CALLCONV void Perl_lex_stuff_sv(pTHX_ SV* sv, U32 flags); +#define PERL_ARGS_ASSERT_LEX_STUFF_SV \ + assert(sv) +PERL_CALLCONV void Perl_lex_unstuff(pTHX_ char* ptr); +#define PERL_ARGS_ASSERT_LEX_UNSTUFF \ + assert(ptr) +PERL_CALLCONV OP* Perl_list(pTHX_ OP* o); +#define PERL_ARGS_ASSERT_LIST +PERL_CALLCONV HV* Perl_load_charnames(pTHX_ SV * char_name, const char * context, const STRLEN context_len, const char ** error_msg) __attribute__warn_unused_result__; -#endif +#define PERL_ARGS_ASSERT_LOAD_CHARNAMES \ + assert(char_name); assert(context); assert(error_msg) -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_graph_lc(pTHX_ UV c) - __attribute__deprecated__ +PERL_CALLCONV void Perl_load_module(pTHX_ U32 flags, SV* name, SV* ver, ...); +#define PERL_ARGS_ASSERT_LOAD_MODULE \ + assert(name) +PERL_CALLCONV OP* Perl_localize(pTHX_ OP *o, I32 lex); +#define PERL_ARGS_ASSERT_LOCALIZE \ + assert(o) +PERL_CALLCONV I32 Perl_looks_like_number(pTHX_ SV *const sv) __attribute__warn_unused_result__; -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_idfirst(pTHX_ UV c) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_idfirst_lc(pTHX_ UV c) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_lower(pTHX_ UV c) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_lower_lc(pTHX_ UV c) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_print(pTHX_ UV c) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_print_lc(pTHX_ UV c) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_punct(pTHX_ UV c) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_punct_lc(pTHX_ UV c) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_space(pTHX_ UV c) - __attribute__deprecated__ - __attribute__warn_unused_result__ - __attribute__pure__; -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_space_lc(pTHX_ UV c) - __attribute__deprecated__ - __attribute__warn_unused_result__ - __attribute__pure__; -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_upper(pTHX_ UV c) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_upper_lc(pTHX_ UV c) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_xdigit(pTHX_ UV c) - __attribute__deprecated__ - __attribute__warn_unused_result__ - __attribute__pure__; -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_uni_xdigit_lc(pTHX_ UV c) - __attribute__deprecated__ - __attribute__warn_unused_result__ - __attribute__pure__; -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_alnum(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_ALNUM \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_alnumc(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_ALNUMC \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_alpha(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_ALPHA \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_ascii(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_ASCII \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_blank(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_BLANK \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV STRLEN Perl_is_utf8_char(const U8 *s) - __attribute__deprecated__; -#define PERL_ARGS_ASSERT_IS_UTF8_CHAR \ - assert(s) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV STRLEN Perl_is_utf8_char_buf(const U8 *buf, const U8 *buf_end); -#define PERL_ARGS_ASSERT_IS_UTF8_CHAR_BUF \ - assert(buf); assert(buf_end) -#endif -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_cntrl(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_CNTRL \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_digit(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_DIGIT \ - assert(p) -#endif - -/* PERL_CALLCONV bool is_utf8_fixed_width_buf_flags(const U8 * const s, STRLEN len, const U32 flags); */ -/* PERL_CALLCONV bool is_utf8_fixed_width_buf_loc_flags(const U8 * const s, STRLEN len, const U8 **ep, const U32 flags); */ -#ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE bool S_is_utf8_fixed_width_buf_loclen_flags(const U8 * const s, STRLEN len, const U8 **ep, STRLEN *el, const U32 flags); -#define PERL_ARGS_ASSERT_IS_UTF8_FIXED_WIDTH_BUF_LOCLEN_FLAGS \ - assert(s) -#endif -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_graph(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_GRAPH \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_idcont(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_IDCONT \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_idfirst(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_IDFIRST \ - assert(p) -#endif - -/* PERL_CALLCONV bool is_utf8_invariant_string(const U8* const s, STRLEN len) - __attribute__warn_unused_result__; */ - -#ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE bool S_is_utf8_invariant_string_loc(const U8* const s, STRLEN len, const U8 ** ep) - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_INVARIANT_STRING_LOC \ - assert(s) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_lower(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_LOWER \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_mark(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_MARK \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_perl_space(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_PERL_SPACE \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_perl_word(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_PERL_WORD \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_posix_digit(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_POSIX_DIGIT \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_print(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_PRINT \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_punct(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_PUNCT \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_space(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_SPACE \ - assert(p) -#endif - -/* PERL_CALLCONV bool Perl_is_utf8_string(const U8 *s, STRLEN len) - __attribute__warn_unused_result__; */ - -#ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE bool S_is_utf8_string_flags(const U8 *s, STRLEN len, const U32 flags) - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_STRING_FLAGS \ - assert(s) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_string_loc(const U8 *s, const STRLEN len, const U8 **ep); -#define PERL_ARGS_ASSERT_IS_UTF8_STRING_LOC \ - assert(s); assert(ep) -#endif -/* PERL_CALLCONV bool is_utf8_string_loc_flags(const U8 *s, STRLEN len, const U8 **ep, const U32 flags); */ -#ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE bool Perl_is_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el); -#define PERL_ARGS_ASSERT_IS_UTF8_STRING_LOCLEN \ - assert(s) -#endif -#ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE bool S_is_utf8_string_loclen_flags(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el, const U32 flags); -#define PERL_ARGS_ASSERT_IS_UTF8_STRING_LOCLEN_FLAGS \ - assert(s) -#endif -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_upper(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_UPPER \ - assert(p) -#endif - -/* PERL_CALLCONV bool is_utf8_valid_partial_char(const U8 * const s, const U8 * const e) - __attribute__warn_unused_result__ - __attribute__pure__; */ - -#ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE bool S_is_utf8_valid_partial_char_flags(const U8 * const s, const U8 * const e, const U32 flags) - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_VALID_PARTIAL_CHAR_FLAGS \ - assert(s); assert(e) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_xdigit(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_XDIGIT \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_xidcont(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_XIDCONT \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_xidfirst(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_XIDFIRST \ - assert(p) -#endif - -PERL_CALLCONV bool Perl_isinfnan(NV nv) - __attribute__warn_unused_result__ - __attribute__pure__; - -PERL_CALLCONV bool Perl_isinfnansv(pTHX_ SV *sv); -#define PERL_ARGS_ASSERT_ISINFNANSV \ - assert(sv) -PERL_CALLCONV OP* Perl_jmaybe(pTHX_ OP *o); -#define PERL_ARGS_ASSERT_JMAYBE \ - assert(o) -PERL_CALLCONV I32 Perl_keyword(pTHX_ const char *name, I32 len, bool all_keywords) - __attribute__warn_unused_result__ - __attribute__pure__; -#define PERL_ARGS_ASSERT_KEYWORD \ - assert(name) - -PERL_CALLCONV int Perl_keyword_plugin_standard(pTHX_ char* keyword_ptr, STRLEN keyword_len, OP** op_ptr); -#define PERL_ARGS_ASSERT_KEYWORD_PLUGIN_STANDARD \ - assert(keyword_ptr); assert(op_ptr) -PERL_CALLCONV void Perl_leave_adjust_stacks(pTHX_ SV **from_sp, SV **to_sp, U8 gimme, int filter); -#define PERL_ARGS_ASSERT_LEAVE_ADJUST_STACKS \ - assert(from_sp); assert(to_sp) -PERL_CALLCONV void Perl_leave_scope(pTHX_ I32 base); -PERL_CALLCONV bool Perl_lex_bufutf8(pTHX); -PERL_CALLCONV void Perl_lex_discard_to(pTHX_ char* ptr); -#define PERL_ARGS_ASSERT_LEX_DISCARD_TO \ - assert(ptr) -PERL_CALLCONV char* Perl_lex_grow_linestr(pTHX_ STRLEN len); -PERL_CALLCONV bool Perl_lex_next_chunk(pTHX_ U32 flags); -PERL_CALLCONV I32 Perl_lex_peek_unichar(pTHX_ U32 flags); -PERL_CALLCONV void Perl_lex_read_space(pTHX_ U32 flags); -PERL_CALLCONV void Perl_lex_read_to(pTHX_ char* ptr); -#define PERL_ARGS_ASSERT_LEX_READ_TO \ - assert(ptr) -PERL_CALLCONV I32 Perl_lex_read_unichar(pTHX_ U32 flags); -PERL_CALLCONV void Perl_lex_start(pTHX_ SV* line, PerlIO *rsfp, U32 flags); -PERL_CALLCONV void Perl_lex_stuff_pv(pTHX_ const char* pv, U32 flags); -#define PERL_ARGS_ASSERT_LEX_STUFF_PV \ - assert(pv) -PERL_CALLCONV void Perl_lex_stuff_pvn(pTHX_ const char* pv, STRLEN len, U32 flags); -#define PERL_ARGS_ASSERT_LEX_STUFF_PVN \ - assert(pv) -PERL_CALLCONV void Perl_lex_stuff_sv(pTHX_ SV* sv, U32 flags); -#define PERL_ARGS_ASSERT_LEX_STUFF_SV \ - assert(sv) -PERL_CALLCONV void Perl_lex_unstuff(pTHX_ char* ptr); -#define PERL_ARGS_ASSERT_LEX_UNSTUFF \ - assert(ptr) -PERL_CALLCONV OP* Perl_list(pTHX_ OP* o); -PERL_CALLCONV void Perl_load_module(pTHX_ U32 flags, SV* name, SV* ver, ...); -#define PERL_ARGS_ASSERT_LOAD_MODULE \ - assert(name) -PERL_CALLCONV OP* Perl_localize(pTHX_ OP *o, I32 lex); -#define PERL_ARGS_ASSERT_LOCALIZE \ - assert(o) -PERL_CALLCONV I32 Perl_looks_like_number(pTHX_ SV *const sv) - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_LOOKS_LIKE_NUMBER \ - assert(sv) +#define PERL_ARGS_ASSERT_LOOKS_LIKE_NUMBER \ + assert(sv) PERL_CALLCONV int Perl_magic_clear_all_env(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_CLEAR_ALL_ENV \ @@ -2005,6 +1846,7 @@ PERL_CALLCONV int Perl_magic_copycallchecker(pTHX_ SV* sv, MAGIC *mg, SV *nsv, c #define PERL_ARGS_ASSERT_MAGIC_COPYCALLCHECKER \ assert(sv); assert(mg); assert(nsv) PERL_CALLCONV void Perl_magic_dump(pTHX_ const MAGIC *mg); +#define PERL_ARGS_ASSERT_MAGIC_DUMP PERL_CALLCONV int Perl_magic_existspack(pTHX_ SV* sv, const MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_EXISTSPACK \ assert(sv); assert(mg) @@ -2143,8 +1985,10 @@ PERL_CALLCONV int Perl_magic_wipepack(pTHX_ SV* sv, MAGIC* mg); PERL_CALLCONV Malloc_t Perl_malloc(MEM_SIZE nbytes) __attribute__malloc__ __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_MALLOC PERL_CALLCONV I32 * Perl_markstack_grow(pTHX); +#define PERL_ARGS_ASSERT_MARKSTACK_GROW PERL_CALLCONV SV* Perl_mess(pTHX_ const char* pat, ...) __attribute__format__(__printf__,pTHX_1,pTHX_2); #define PERL_ARGS_ASSERT_MESS \ @@ -2154,6 +1998,7 @@ PERL_CALLCONV SV* Perl_mess_sv(pTHX_ SV* basemsg, bool consume); #define PERL_ARGS_ASSERT_MESS_SV \ assert(basemsg) PERL_CALLCONV Free_t Perl_mfree(Malloc_t where); +#define PERL_ARGS_ASSERT_MFREE PERL_CALLCONV int Perl_mg_clear(pTHX_ SV* sv); #define PERL_ARGS_ASSERT_MG_CLEAR \ assert(sv) @@ -2162,6 +2007,7 @@ PERL_CALLCONV int Perl_mg_copy(pTHX_ SV *sv, SV *nsv, const char *key, I32 klen) assert(sv); assert(nsv) PERL_CALLCONV MAGIC* Perl_mg_find(const SV* sv, int type) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_MG_FIND PERL_CALLCONV MAGIC* Perl_mg_find_mglob(pTHX_ SV* sv) __attribute__warn_unused_result__; @@ -2170,6 +2016,7 @@ PERL_CALLCONV MAGIC* Perl_mg_find_mglob(pTHX_ SV* sv) PERL_CALLCONV MAGIC* Perl_mg_findext(const SV* sv, int type, const MGVTBL *vtbl) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_MG_FINDEXT PERL_CALLCONV int Perl_mg_free(pTHX_ SV* sv); #define PERL_ARGS_ASSERT_MG_FREE \ @@ -2204,10 +2051,19 @@ PERL_CALLCONV void Perl_mini_mktime(struct tm *ptm); #define PERL_ARGS_ASSERT_MINI_MKTIME \ assert(ptm) PERL_CALLCONV int Perl_mode_from_discipline(pTHX_ const char* s, STRLEN len); +#define PERL_ARGS_ASSERT_MODE_FROM_DISCIPLINE PERL_CALLCONV void * Perl_more_bodies(pTHX_ const svtype sv_type, const size_t body_size, const size_t arena_size); +#define PERL_ARGS_ASSERT_MORE_BODIES PERL_CALLCONV const char* Perl_moreswitches(pTHX_ const char* s); #define PERL_ARGS_ASSERT_MORESWITCHES \ assert(s) +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE char * Perl_mortal_getenv(const char * str) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_MORTAL_GETENV \ + assert(str) +#endif + PERL_CALLCONV const struct mro_alg * Perl_mro_get_from_name(pTHX_ SV *name); #define PERL_ARGS_ASSERT_MRO_GET_FROM_NAME \ assert(name) @@ -2257,19 +2113,32 @@ PERL_CALLCONV OP * Perl_my_attrs(pTHX_ OP *o, OP *attrs); #define PERL_ARGS_ASSERT_MY_ATTRS \ assert(o) PERL_CALLCONV void Perl_my_clearenv(pTHX); +#define PERL_ARGS_ASSERT_MY_CLEARENV PERL_CALLCONV int Perl_my_dirfd(DIR* dir); +#define PERL_ARGS_ASSERT_MY_DIRFD PERL_CALLCONV_NO_RET void Perl_my_exit(pTHX_ U32 status) __attribute__noreturn__; +#define PERL_ARGS_ASSERT_MY_EXIT PERL_CALLCONV_NO_RET void Perl_my_failure_exit(pTHX) __attribute__noreturn__; +#define PERL_ARGS_ASSERT_MY_FAILURE_EXIT PERL_CALLCONV I32 Perl_my_fflush_all(pTHX); +#define PERL_ARGS_ASSERT_MY_FFLUSH_ALL PERL_CALLCONV Pid_t Perl_my_fork(void); +#define PERL_ARGS_ASSERT_MY_FORK #ifndef NO_MATHOMS PERL_CALLCONV I32 Perl_my_lstat(pTHX); +#define PERL_ARGS_ASSERT_MY_LSTAT #endif PERL_CALLCONV I32 Perl_my_lstat_flags(pTHX_ const U32 flags); +#define PERL_ARGS_ASSERT_MY_LSTAT_FLAGS +PERL_CALLCONV int Perl_my_mkostemp_cloexec(char *templte, int flags) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_MY_MKOSTEMP_CLOEXEC \ + assert(templte) + PERL_CALLCONV int Perl_my_mkstemp_cloexec(char *templte) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_MY_MKSTEMP_CLOEXEC \ @@ -2279,17 +2148,22 @@ PERL_CALLCONV PerlIO* Perl_my_popen_list(pTHX_ const char* mode, int n, SV ** ar #define PERL_ARGS_ASSERT_MY_POPEN_LIST \ assert(mode); assert(args) PERL_CALLCONV void Perl_my_setenv(pTHX_ const char* nam, const char* val); +#define PERL_ARGS_ASSERT_MY_SETENV PERL_CALLCONV int Perl_my_snprintf(char *buffer, const Size_t len, const char *format, ...) __attribute__format__(__printf__,3,4); #define PERL_ARGS_ASSERT_MY_SNPRINTF \ assert(buffer); assert(format) PERL_CALLCONV int Perl_my_socketpair(int family, int type, int protocol, int fd[2]); +#define PERL_ARGS_ASSERT_MY_SOCKETPAIR #ifndef NO_MATHOMS PERL_CALLCONV I32 Perl_my_stat(pTHX); +#define PERL_ARGS_ASSERT_MY_STAT #endif PERL_CALLCONV I32 Perl_my_stat_flags(pTHX_ const U32 flags); +#define PERL_ARGS_ASSERT_MY_STAT_FLAGS PERL_CALLCONV char* Perl_my_strerror(pTHX_ const int errnum); +#define PERL_ARGS_ASSERT_MY_STRERROR PERL_CALLCONV char * Perl_my_strftime(pTHX_ const char *fmt, int sec, int min, int hour, int mday, int mon, int year, int wday, int yday, int isdst) __attribute__format__(__strftime__,pTHX_1,0); #define PERL_ARGS_ASSERT_MY_STRFTIME \ @@ -2301,25 +2175,34 @@ PERL_CALLCONV NV Perl_my_strtod(const char * const s, char ** e) assert(s) PERL_CALLCONV void Perl_my_unexec(pTHX); +#define PERL_ARGS_ASSERT_MY_UNEXEC PERL_CALLCONV int Perl_my_vsnprintf(char *buffer, const Size_t len, const char *format, va_list ap); #define PERL_ARGS_ASSERT_MY_VSNPRINTF \ assert(buffer); assert(format) PERL_CALLCONV OP* Perl_newANONATTRSUB(pTHX_ I32 floor, OP *proto, OP *attrs, OP *block); +#define PERL_ARGS_ASSERT_NEWANONATTRSUB PERL_CALLCONV OP* Perl_newANONHASH(pTHX_ OP* o) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWANONHASH PERL_CALLCONV OP* Perl_newANONLIST(pTHX_ OP* o) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWANONLIST PERL_CALLCONV OP* Perl_newANONSUB(pTHX_ I32 floor, OP* proto, OP* block); +#define PERL_ARGS_ASSERT_NEWANONSUB PERL_CALLCONV OP* Perl_newASSIGNOP(pTHX_ I32 flags, OP* left, I32 optype, OP* right) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWASSIGNOP /* PERL_CALLCONV CV* newATTRSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block); */ +#define PERL_ARGS_ASSERT_NEWATTRSUB PERL_CALLCONV CV* Perl_newATTRSUB_x(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block, bool o_is_gv); +#define PERL_ARGS_ASSERT_NEWATTRSUB_X #ifndef NO_MATHOMS PERL_CALLCONV AV* Perl_newAV(pTHX) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWAV #endif PERL_CALLCONV OP* Perl_newAVREF(pTHX_ OP* o) @@ -2329,6 +2212,7 @@ PERL_CALLCONV OP* Perl_newAVREF(pTHX_ OP* o) PERL_CALLCONV OP* Perl_newBINOP(pTHX_ I32 type, I32 flags, OP* first, OP* last) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWBINOP PERL_CALLCONV OP* Perl_newCONDOP(pTHX_ I32 flags, OP* first, OP* trueop, OP* falseop) __attribute__warn_unused_result__; @@ -2336,14 +2220,19 @@ PERL_CALLCONV OP* Perl_newCONDOP(pTHX_ I32 flags, OP* first, OP* trueop, OP* fal assert(first) PERL_CALLCONV CV* Perl_newCONSTSUB(pTHX_ HV* stash, const char* name, SV* sv); +#define PERL_ARGS_ASSERT_NEWCONSTSUB PERL_CALLCONV CV* Perl_newCONSTSUB_flags(pTHX_ HV* stash, const char* name, STRLEN len, U32 flags, SV* sv); +#define PERL_ARGS_ASSERT_NEWCONSTSUB_FLAGS PERL_CALLCONV OP* Perl_newCVREF(pTHX_ I32 flags, OP* o) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWCVREF PERL_CALLCONV OP* Perl_newDEFSVOP(pTHX) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWDEFSVOP PERL_CALLCONV void Perl_newFORM(pTHX_ I32 floor, OP* o, OP* block); +#define PERL_ARGS_ASSERT_NEWFORM PERL_CALLCONV OP* Perl_newFOROP(pTHX_ I32 flags, OP* sv, OP* expr, OP* block, OP* cont) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWFOROP \ @@ -2364,8 +2253,10 @@ PERL_CALLCONV OP* Perl_newGVOP(pTHX_ I32 type, I32 flags, GV* gv) PERL_CALLCONV OP* Perl_newGVREF(pTHX_ I32 type, OP* o) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWGVREF /* PERL_CALLCONV GV* newGVgen(pTHX_ const char* pack); */ +#define PERL_ARGS_ASSERT_NEWGVGEN PERL_CALLCONV GV* Perl_newGVgen_flags(pTHX_ const char* pack, U32 flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWGVGEN_FLAGS \ @@ -2374,6 +2265,7 @@ PERL_CALLCONV GV* Perl_newGVgen_flags(pTHX_ const char* pack, U32 flags) #ifndef NO_MATHOMS PERL_CALLCONV HV* Perl_newHV(pTHX) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWHV #endif PERL_CALLCONV OP* Perl_newHVREF(pTHX_ OP* o) @@ -2383,14 +2275,17 @@ PERL_CALLCONV OP* Perl_newHVREF(pTHX_ OP* o) PERL_CALLCONV HV* Perl_newHVhv(pTHX_ HV *hv) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWHVHV #ifndef NO_MATHOMS PERL_CALLCONV IO* Perl_newIO(pTHX) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWIO #endif PERL_CALLCONV OP* Perl_newLISTOP(pTHX_ I32 type, I32 flags, OP* first, OP* last) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWLISTOP PERL_CALLCONV OP* Perl_newLOGOP(pTHX_ I32 optype, I32 flags, OP *first, OP *other) __attribute__warn_unused_result__; @@ -2404,6 +2299,7 @@ PERL_CALLCONV OP* Perl_newLOOPEX(pTHX_ I32 type, OP* label) PERL_CALLCONV OP* Perl_newLOOPOP(pTHX_ I32 flags, I32 debuggable, OP* expr, OP* block) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWLOOPOP PERL_CALLCONV OP* Perl_newMETHOP(pTHX_ I32 type, I32 flags, OP* dynamic_meth) __attribute__warn_unused_result__; @@ -2420,12 +2316,15 @@ PERL_CALLCONV CV * Perl_newMYSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, O assert(o) PERL_CALLCONV OP* Perl_newNULLLIST(pTHX) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWNULLLIST PERL_CALLCONV OP* Perl_newOP(pTHX_ I32 optype, I32 flags) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWOP PERL_CALLCONV PADNAMELIST * Perl_newPADNAMELIST(size_t max) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWPADNAMELIST PERL_CALLCONV PADNAME * Perl_newPADNAMEouter(PADNAME *outer) __attribute__warn_unused_result__; @@ -2439,12 +2338,14 @@ PERL_CALLCONV PADNAME * Perl_newPADNAMEpvn(const char *s, STRLEN len) PERL_CALLCONV OP* Perl_newPMOP(pTHX_ I32 type, I32 flags) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWPMOP PERL_CALLCONV void Perl_newPROG(pTHX_ OP* o); #define PERL_ARGS_ASSERT_NEWPROG \ assert(o) PERL_CALLCONV OP* Perl_newPVOP(pTHX_ I32 type, I32 flags, char* pv) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWPVOP PERL_CALLCONV OP* Perl_newRANGE(pTHX_ I32 flags, OP* left, OP* right) __attribute__warn_unused_result__; @@ -2463,18 +2364,22 @@ PERL_CALLCONV SV* Perl_newRV_noinc(pTHX_ SV *const tmpRef) PERL_CALLCONV OP* Perl_newSLICEOP(pTHX_ I32 flags, OP* subscript, OP* listop) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWSLICEOP PERL_CALLCONV OP* Perl_newSTATEOP(pTHX_ I32 flags, char* label, OP* o) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWSTATEOP PERL_CALLCONV CV* Perl_newSTUB(pTHX_ GV *gv, bool fake); #define PERL_ARGS_ASSERT_NEWSTUB \ assert(gv) #ifndef NO_MATHOMS PERL_CALLCONV CV* Perl_newSUB(pTHX_ I32 floor, OP* o, OP* proto, OP* block); +#define PERL_ARGS_ASSERT_NEWSUB #endif PERL_CALLCONV SV* Perl_newSV(pTHX_ const STRLEN len) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWSV PERL_CALLCONV OP* Perl_newSVOP(pTHX_ I32 type, I32 flags, SV* sv) __attribute__warn_unused_result__; @@ -2488,6 +2393,7 @@ PERL_CALLCONV OP* Perl_newSVREF(pTHX_ OP* o) PERL_CALLCONV SV* Perl_newSV_type(pTHX_ const svtype type) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWSV_TYPE PERL_CALLCONV SV* Perl_newSVavdefelem(pTHX_ AV *av, SSize_t ix, bool extendible) __attribute__warn_unused_result__; @@ -2496,18 +2402,23 @@ PERL_CALLCONV SV* Perl_newSVavdefelem(pTHX_ AV *av, SSize_t ix, bool extendible) PERL_CALLCONV SV* Perl_newSVhek(pTHX_ const HEK *const hek) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWSVHEK PERL_CALLCONV SV* Perl_newSViv(pTHX_ const IV i) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWSVIV PERL_CALLCONV SV* Perl_newSVnv(pTHX_ const NV n) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWSVNV PERL_CALLCONV SV* Perl_newSVpv(pTHX_ const char *const s, const STRLEN len) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWSVPV PERL_CALLCONV SV* Perl_newSVpv_share(pTHX_ const char* s, U32 hash) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWSVPV_SHARE PERL_CALLCONV SV* Perl_newSVpvf(pTHX_ const char *const pat, ...) __attribute__warn_unused_result__ @@ -2517,12 +2428,15 @@ PERL_CALLCONV SV* Perl_newSVpvf(pTHX_ const char *const pat, ...) PERL_CALLCONV SV* Perl_newSVpvn(pTHX_ const char *const buffer, const STRLEN len) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWSVPVN PERL_CALLCONV SV* Perl_newSVpvn_flags(pTHX_ const char *const s, const STRLEN len, const U32 flags) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWSVPVN_FLAGS PERL_CALLCONV SV* Perl_newSVpvn_share(pTHX_ const char* s, I32 len, U32 hash) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWSVPVN_SHARE PERL_CALLCONV SV* Perl_newSVrv(pTHX_ SV *const rv, const char *const classname); #define PERL_ARGS_ASSERT_NEWSVRV \ @@ -2530,22 +2444,28 @@ PERL_CALLCONV SV* Perl_newSVrv(pTHX_ SV *const rv, const char *const classname); #ifndef NO_MATHOMS PERL_CALLCONV SV* Perl_newSVsv(pTHX_ SV *const old) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWSVSV #endif PERL_CALLCONV SV* Perl_newSVsv_flags(pTHX_ SV *const old, I32 flags) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWSVSV_FLAGS -/* PERL_CALLCONV SV* Perl_newSVsv_nomg(pTHX_ SV *const old) +/* PERL_CALLCONV SV* newSVsv_nomg(pTHX_ SV *const old) __attribute__warn_unused_result__; */ +#define PERL_ARGS_ASSERT_NEWSVSV_NOMG PERL_CALLCONV SV* Perl_newSVuv(pTHX_ const UV u) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWSVUV PERL_CALLCONV OP* Perl_newUNOP(pTHX_ I32 type, I32 flags, OP* first) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWUNOP PERL_CALLCONV OP* Perl_newUNOP_AUX(pTHX_ I32 type, I32 flags, OP* first, UNOP_AUX_item *aux) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWUNOP_AUX PERL_CALLCONV OP* Perl_newWHENOP(pTHX_ OP* cond, OP* block) __attribute__warn_unused_result__; @@ -2554,6 +2474,7 @@ PERL_CALLCONV OP* Perl_newWHENOP(pTHX_ OP* cond, OP* block) PERL_CALLCONV OP* Perl_newWHILEOP(pTHX_ I32 flags, I32 debuggable, LOOP* loop, OP* expr, OP* block, OP* cont, I32 has_my) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEWWHILEOP PERL_CALLCONV CV* Perl_newXS(pTHX_ const char *name, XSUBADDR_t subaddr, const char *filename); #define PERL_ARGS_ASSERT_NEWXS \ @@ -2569,6 +2490,7 @@ PERL_CALLCONV CV * Perl_newXS_len_flags(pTHX_ const char *name, STRLEN len, XSUB assert(subaddr) PERL_CALLCONV PERL_SI* Perl_new_stackinfo(pTHX_ I32 stitems, I32 cxitems) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEW_STACKINFO PERL_CALLCONV SV* Perl_new_version(pTHX_ SV *ver); #define PERL_ARGS_ASSERT_NEW_VERSION \ @@ -2581,6 +2503,12 @@ PERL_CALLCONV STRLEN * Perl_new_warnings_bitfield(pTHX_ STRLEN *buffer, const ch PERL_CALLCONV PerlIO* Perl_nextargv(pTHX_ GV* gv, bool nomagicopen); #define PERL_ARGS_ASSERT_NEXTARGV \ assert(gv) +PERL_CALLCONV char* Perl_ninstr(const char* big, const char* bigend, const char* little, const char* lend) + __attribute__warn_unused_result__ + __attribute__pure__; +#define PERL_ARGS_ASSERT_NINSTR \ + assert(big); assert(bigend); assert(little); assert(lend) + PERL_CALLCONV_NO_RET void Perl_noperl_die(const char* pat, ...) __attribute__noreturn__ __attribute__format__(__printf__,1,2); @@ -2588,7 +2516,9 @@ PERL_CALLCONV_NO_RET void Perl_noperl_die(const char* pat, ...) assert(pat) PERL_CALLCONV int Perl_nothreadhook(pTHX); +#define PERL_ARGS_ASSERT_NOTHREADHOOK PERL_CALLCONV void Perl_notify_parser_that_changed_to_utf8(pTHX); +#define PERL_ARGS_ASSERT_NOTIFY_PARSER_THAT_CHANGED_TO_UTF8 PERL_CALLCONV OP* Perl_oopsAV(pTHX_ OP* o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_OOPSAV \ @@ -2600,8 +2530,11 @@ PERL_CALLCONV OP* Perl_oopsHV(pTHX_ OP* o) assert(o) PERL_CALLCONV OP* Perl_op_append_elem(pTHX_ I32 optype, OP* first, OP* last); +#define PERL_ARGS_ASSERT_OP_APPEND_ELEM PERL_CALLCONV OP* Perl_op_append_list(pTHX_ I32 optype, OP* first, OP* last); +#define PERL_ARGS_ASSERT_OP_APPEND_LIST PERL_CALLCONV OPclass Perl_op_class(pTHX_ const OP *o); +#define PERL_ARGS_ASSERT_OP_CLASS PERL_CALLCONV void Perl_op_clear(pTHX_ OP* o); #define PERL_ARGS_ASSERT_OP_CLEAR \ assert(o) @@ -2610,16 +2543,20 @@ PERL_CALLCONV OP* Perl_op_contextualize(pTHX_ OP* o, I32 context); assert(o) PERL_CALLCONV OP* Perl_op_convert_list(pTHX_ I32 optype, I32 flags, OP* o) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_OP_CONVERT_LIST PERL_CALLCONV void Perl_op_dump(pTHX_ const OP *o); #define PERL_ARGS_ASSERT_OP_DUMP \ assert(o) PERL_CALLCONV void Perl_op_free(pTHX_ OP* arg); +#define PERL_ARGS_ASSERT_OP_FREE PERL_CALLCONV OP* Perl_op_linklist(pTHX_ OP *o); #define PERL_ARGS_ASSERT_OP_LINKLIST \ assert(o) /* PERL_CALLCONV OP* op_lvalue(pTHX_ OP* o, I32 type); */ +#define PERL_ARGS_ASSERT_OP_LVALUE PERL_CALLCONV OP* Perl_op_lvalue_flags(pTHX_ OP* o, I32 type, U32 flags); +#define PERL_ARGS_ASSERT_OP_LVALUE_FLAGS PERL_CALLCONV void Perl_op_null(pTHX_ OP* o); #define PERL_ARGS_ASSERT_OP_NULL \ assert(o) @@ -2627,11 +2564,17 @@ PERL_CALLCONV OP* Perl_op_parent(OP *o); #define PERL_ARGS_ASSERT_OP_PARENT \ assert(o) PERL_CALLCONV OP* Perl_op_prepend_elem(pTHX_ I32 optype, OP* first, OP* last); +#define PERL_ARGS_ASSERT_OP_PREPEND_ELEM PERL_CALLCONV void Perl_op_refcnt_lock(pTHX); +#define PERL_ARGS_ASSERT_OP_REFCNT_LOCK PERL_CALLCONV void Perl_op_refcnt_unlock(pTHX); +#define PERL_ARGS_ASSERT_OP_REFCNT_UNLOCK PERL_CALLCONV OP* Perl_op_scope(pTHX_ OP* o); +#define PERL_ARGS_ASSERT_OP_SCOPE PERL_CALLCONV OP* Perl_op_sibling_splice(OP *parent, OP *start, int del_count, OP* insert); +#define PERL_ARGS_ASSERT_OP_SIBLING_SPLICE PERL_CALLCONV OP* Perl_op_unscope(pTHX_ OP* o); +#define PERL_ARGS_ASSERT_OP_UNSCOPE PERL_CALLCONV void Perl_optimize_optree(pTHX_ OP* o); #define PERL_ARGS_ASSERT_OPTIMIZE_OPTREE \ assert(o) @@ -2665,10 +2608,13 @@ PERL_CALLCONV void Perl_pad_add_weakref(pTHX_ CV* func); #define PERL_ARGS_ASSERT_PAD_ADD_WEAKREF \ assert(func) PERL_CALLCONV PADOFFSET Perl_pad_alloc(pTHX_ I32 optype, U32 tmptype); +#define PERL_ARGS_ASSERT_PAD_ALLOC PERL_CALLCONV void Perl_pad_block_start(pTHX_ int full); +#define PERL_ARGS_ASSERT_PAD_BLOCK_START #ifndef NO_MATHOMS PERL_CALLCONV HV* Perl_pad_compname_type(pTHX_ const PADOFFSET po) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_PAD_COMPNAME_TYPE #endif PERL_CALLCONV PADOFFSET Perl_pad_findmy_pv(pTHX_ const char* name, U32 flags); @@ -2684,15 +2630,20 @@ PERL_CALLCONV void Perl_pad_fixup_inner_anons(pTHX_ PADLIST *padlist, CV *old_cv #define PERL_ARGS_ASSERT_PAD_FIXUP_INNER_ANONS \ assert(padlist); assert(old_cv); assert(new_cv) PERL_CALLCONV void Perl_pad_free(pTHX_ PADOFFSET po); +#define PERL_ARGS_ASSERT_PAD_FREE PERL_CALLCONV OP * Perl_pad_leavemy(pTHX); +#define PERL_ARGS_ASSERT_PAD_LEAVEMY PERL_CALLCONV PADLIST* Perl_pad_new(pTHX_ int flags) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_PAD_NEW PERL_CALLCONV void Perl_pad_push(pTHX_ PADLIST *padlist, int depth); #define PERL_ARGS_ASSERT_PAD_PUSH \ assert(padlist) PERL_CALLCONV void Perl_pad_swipe(pTHX_ PADOFFSET po, bool refadjust); +#define PERL_ARGS_ASSERT_PAD_SWIPE PERL_CALLCONV void Perl_pad_tidy(pTHX_ padtidy_type type); +#define PERL_ARGS_ASSERT_PAD_TIDY PERL_CALLCONV PAD ** Perl_padlist_store(pTHX_ PADLIST *padlist, I32 key, PAD *val); #define PERL_ARGS_ASSERT_PADLIST_STORE \ assert(padlist) @@ -2711,14 +2662,25 @@ PERL_CALLCONV PADNAME ** Perl_padnamelist_store(pTHX_ PADNAMELIST *pnl, SSize_t #define PERL_ARGS_ASSERT_PADNAMELIST_STORE \ assert(pnl) PERL_CALLCONV OP* Perl_parse_arithexpr(pTHX_ U32 flags); +#define PERL_ARGS_ASSERT_PARSE_ARITHEXPR PERL_CALLCONV OP* Perl_parse_barestmt(pTHX_ U32 flags); +#define PERL_ARGS_ASSERT_PARSE_BARESTMT PERL_CALLCONV OP* Perl_parse_block(pTHX_ U32 flags); +#define PERL_ARGS_ASSERT_PARSE_BLOCK PERL_CALLCONV OP* Perl_parse_fullexpr(pTHX_ U32 flags); +#define PERL_ARGS_ASSERT_PARSE_FULLEXPR PERL_CALLCONV OP* Perl_parse_fullstmt(pTHX_ U32 flags); +#define PERL_ARGS_ASSERT_PARSE_FULLSTMT PERL_CALLCONV SV* Perl_parse_label(pTHX_ U32 flags); +#define PERL_ARGS_ASSERT_PARSE_LABEL PERL_CALLCONV OP* Perl_parse_listexpr(pTHX_ U32 flags); +#define PERL_ARGS_ASSERT_PARSE_LISTEXPR PERL_CALLCONV OP* Perl_parse_stmtseq(pTHX_ U32 flags); +#define PERL_ARGS_ASSERT_PARSE_STMTSEQ +PERL_CALLCONV OP* Perl_parse_subsignature(pTHX_ U32 flags); +#define PERL_ARGS_ASSERT_PARSE_SUBSIGNATURE PERL_CALLCONV OP* Perl_parse_termexpr(pTHX_ U32 flags); +#define PERL_ARGS_ASSERT_PARSE_TERMEXPR PERL_CALLCONV U32 Perl_parse_unicode_opts(pTHX_ const char **popt); #define PERL_ARGS_ASSERT_PARSE_UNICODE_OPTS \ assert(popt) @@ -2726,7 +2688,9 @@ PERL_CALLCONV void Perl_parser_free(pTHX_ const yy_parser *parser); #define PERL_ARGS_ASSERT_PARSER_FREE \ assert(parser) PERL_CALLCONV void Perl_peep(pTHX_ OP* o); +#define PERL_ARGS_ASSERT_PEEP PERL_CALLCONV PerlInterpreter* perl_alloc(void); +#define PERL_ARGS_ASSERT_PERL_ALLOC PERL_CALLCONV void perl_construct(PerlInterpreter *my_perl); #define PERL_ARGS_ASSERT_PERL_CONSTRUCT \ assert(my_perl) @@ -2742,11 +2706,15 @@ PERL_CALLCONV int perl_parse(PerlInterpreter *my_perl, XSINIT_t xsinit, int argc PERL_CALLCONV int perl_run(PerlInterpreter *my_perl); #define PERL_ARGS_ASSERT_PERL_RUN \ assert(my_perl) +PERL_CALLCONV Signal_t Perl_perly_sighandler(int sig, Siginfo_t *info, void *uap, bool safe); +#define PERL_ARGS_ASSERT_PERLY_SIGHANDLER PERL_CALLCONV void Perl_pmop_dump(pTHX_ PMOP* pm); +#define PERL_ARGS_ASSERT_PMOP_DUMP PERL_CALLCONV OP* Perl_pmruntime(pTHX_ OP *o, OP *expr, OP *repl, UV flags, I32 floor); #define PERL_ARGS_ASSERT_PMRUNTIME \ assert(o); assert(expr) PERL_CALLCONV void Perl_pop_scope(pTHX); +#define PERL_ARGS_ASSERT_POP_SCOPE PERL_CALLCONV void Perl_populate_isa(pTHX_ const char *name, STRLEN len, ...); #define PERL_ARGS_ASSERT_POPULATE_ISA \ assert(name) @@ -2757,6 +2725,7 @@ PERL_CALLCONV I32 Perl_pregexec(pTHX_ REGEXP * const prog, char* stringarg, char #define PERL_ARGS_ASSERT_PREGEXEC \ assert(prog); assert(stringarg); assert(strend); assert(strbeg); assert(screamer) PERL_CALLCONV void Perl_pregfree(pTHX_ REGEXP* r); +#define PERL_ARGS_ASSERT_PREGFREE PERL_CALLCONV void Perl_pregfree2(pTHX_ REGEXP *rx); #define PERL_ARGS_ASSERT_PREGFREE2 \ assert(rx) @@ -2765,6 +2734,7 @@ PERL_CALLCONV const char* Perl_prescan_version(pTHX_ const char *s, bool strict, assert(s) PERL_CALLCONV void Perl_ptr_table_clear(pTHX_ PTR_TBL_t *const tbl) __attribute__deprecated__; +#define PERL_ARGS_ASSERT_PTR_TABLE_CLEAR PERL_CALLCONV void* Perl_ptr_table_fetch(pTHX_ PTR_TBL_t *const tbl, const void *const sv) __attribute__warn_unused_result__; @@ -2772,8 +2742,10 @@ PERL_CALLCONV void* Perl_ptr_table_fetch(pTHX_ PTR_TBL_t *const tbl, const void assert(tbl) PERL_CALLCONV void Perl_ptr_table_free(pTHX_ PTR_TBL_t *const tbl); +#define PERL_ARGS_ASSERT_PTR_TABLE_FREE PERL_CALLCONV PTR_TBL_t* Perl_ptr_table_new(pTHX) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_PTR_TABLE_NEW PERL_CALLCONV void Perl_ptr_table_split(pTHX_ PTR_TBL_t *const tbl); #define PERL_ARGS_ASSERT_PTR_TABLE_SPLIT \ @@ -2782,6 +2754,7 @@ PERL_CALLCONV void Perl_ptr_table_store(pTHX_ PTR_TBL_t *const tbl, const void * #define PERL_ARGS_ASSERT_PTR_TABLE_STORE \ assert(tbl); assert(newsv) PERL_CALLCONV void Perl_push_scope(pTHX); +#define PERL_ARGS_ASSERT_PUSH_SCOPE PERL_CALLCONV char* Perl_pv_display(pTHX_ SV *dsv, const char *pv, STRLEN cur, STRLEN len, STRLEN pvlim); #define PERL_ARGS_ASSERT_PV_DISPLAY \ assert(dsv); assert(pv) @@ -2811,17 +2784,19 @@ PERL_CALLCONV REGEXP* Perl_re_op_compile(pTHX_ SV ** const patternp, int pat_cou assert(eng) PERL_CALLCONV Malloc_t Perl_realloc(Malloc_t where, MEM_SIZE nbytes) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_REALLOC PERL_CALLCONV void Perl_reentrant_free(pTHX); +#define PERL_ARGS_ASSERT_REENTRANT_FREE PERL_CALLCONV void Perl_reentrant_init(pTHX); +#define PERL_ARGS_ASSERT_REENTRANT_INIT PERL_CALLCONV void* Perl_reentrant_retry(const char *f, ...); #define PERL_ARGS_ASSERT_REENTRANT_RETRY \ assert(f) PERL_CALLCONV void Perl_reentrant_size(pTHX); -#ifndef NO_MATHOMS -PERL_CALLCONV OP* Perl_ref(pTHX_ OP* o, I32 type); -#endif +#define PERL_ARGS_ASSERT_REENTRANT_SIZE PERL_CALLCONV HV * Perl_refcounted_he_chain_2hv(pTHX_ const struct refcounted_he *c, U32 flags); +#define PERL_ARGS_ASSERT_REFCOUNTED_HE_CHAIN_2HV PERL_CALLCONV SV * Perl_refcounted_he_fetch_pv(pTHX_ const struct refcounted_he *chain, const char *key, U32 hash, U32 flags); #define PERL_ARGS_ASSERT_REFCOUNTED_HE_FETCH_PV \ assert(key) @@ -2832,7 +2807,9 @@ PERL_CALLCONV SV * Perl_refcounted_he_fetch_sv(pTHX_ const struct refcounted_he #define PERL_ARGS_ASSERT_REFCOUNTED_HE_FETCH_SV \ assert(key) PERL_CALLCONV void Perl_refcounted_he_free(pTHX_ struct refcounted_he *he); +#define PERL_ARGS_ASSERT_REFCOUNTED_HE_FREE PERL_CALLCONV struct refcounted_he * Perl_refcounted_he_inc(pTHX_ struct refcounted_he *he); +#define PERL_ARGS_ASSERT_REFCOUNTED_HE_INC PERL_CALLCONV struct refcounted_he * Perl_refcounted_he_new_pv(pTHX_ struct refcounted_he *parent, const char *key, U32 hash, SV *value, U32 flags); #define PERL_ARGS_ASSERT_REFCOUNTED_HE_NEW_PV \ assert(key) @@ -2891,15 +2868,20 @@ PERL_CALLCONV void Perl_regfree_internal(pTHX_ REGEXP *const rx); #define PERL_ARGS_ASSERT_REGFREE_INTERNAL \ assert(rx) PERL_CALLCONV void Perl_reginitcolors(pTHX); +#define PERL_ARGS_ASSERT_REGINITCOLORS PERL_CALLCONV regnode* Perl_regnext(pTHX_ regnode* p) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_REGNEXT PERL_CALLCONV void Perl_repeatcpy(char* to, const char* from, I32 len, IV count); #define PERL_ARGS_ASSERT_REPEATCPY \ assert(to); assert(from) PERL_CALLCONV void Perl_report_evil_fh(pTHX_ const GV *gv); +#define PERL_ARGS_ASSERT_REPORT_EVIL_FH PERL_CALLCONV void Perl_report_uninit(pTHX_ const SV *uninit_sv); +#define PERL_ARGS_ASSERT_REPORT_UNINIT PERL_CALLCONV void Perl_report_wrongway_fh(pTHX_ const GV *gv, const char have); +#define PERL_ARGS_ASSERT_REPORT_WRONGWAY_FH PERL_CALLCONV void Perl_require_pv(pTHX_ const char* pv); #define PERL_ARGS_ASSERT_REQUIRE_PV \ assert(pv) @@ -2910,14 +2892,20 @@ PERL_CALLCONV char* Perl_rninstr(const char* big, const char* bigend, const char assert(big); assert(bigend); assert(little); assert(lend) PERL_CALLCONV void Perl_rpeep(pTHX_ OP* o); +#define PERL_ARGS_ASSERT_RPEEP PERL_CALLCONV Sighandler_t Perl_rsignal(pTHX_ int i, Sighandler_t t); +#define PERL_ARGS_ASSERT_RSIGNAL PERL_CALLCONV int Perl_rsignal_restore(pTHX_ int i, Sigsave_t* t); +#define PERL_ARGS_ASSERT_RSIGNAL_RESTORE PERL_CALLCONV int Perl_rsignal_save(pTHX_ int i, Sighandler_t t1, Sigsave_t* save); #define PERL_ARGS_ASSERT_RSIGNAL_SAVE \ assert(save) PERL_CALLCONV Sighandler_t Perl_rsignal_state(pTHX_ int i); +#define PERL_ARGS_ASSERT_RSIGNAL_STATE PERL_CALLCONV int Perl_runops_debug(pTHX); +#define PERL_ARGS_ASSERT_RUNOPS_DEBUG PERL_CALLCONV int Perl_runops_standard(pTHX); +#define PERL_ARGS_ASSERT_RUNOPS_STANDARD PERL_CALLCONV CV* Perl_rv2cv_op_cv(pTHX_ OP *cvop, U32 flags); #define PERL_ARGS_ASSERT_RV2CV_OP_CV \ assert(cvop) @@ -2927,14 +2915,18 @@ PERL_CALLCONV void Perl_rxres_save(pTHX_ void **rsp, REGEXP *rx); PERL_CALLCONV Malloc_t Perl_safesyscalloc(MEM_SIZE elements, MEM_SIZE size) __attribute__malloc__ __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_SAFESYSCALLOC PERL_CALLCONV Free_t Perl_safesysfree(Malloc_t where); +#define PERL_ARGS_ASSERT_SAFESYSFREE PERL_CALLCONV Malloc_t Perl_safesysmalloc(MEM_SIZE nbytes) __attribute__malloc__ __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_SAFESYSMALLOC PERL_CALLCONV Malloc_t Perl_safesysrealloc(Malloc_t where, MEM_SIZE nbytes) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_SAFESYSREALLOC PERL_CALLCONV void Perl_save_I16(pTHX_ I16* intp); #define PERL_ARGS_ASSERT_SAVE_I16 \ @@ -2948,11 +2940,13 @@ PERL_CALLCONV void Perl_save_I8(pTHX_ I8* bytep); PERL_CALLCONV void Perl_save_adelete(pTHX_ AV *av, SSize_t key); #define PERL_ARGS_ASSERT_SAVE_ADELETE \ assert(av) -/* PERL_CALLCONV void Perl_save_aelem(pTHX_ AV* av, SSize_t idx, SV **sptr); */ +/* PERL_CALLCONV void save_aelem(pTHX_ AV* av, SSize_t idx, SV **sptr); */ +#define PERL_ARGS_ASSERT_SAVE_AELEM PERL_CALLCONV void Perl_save_aelem_flags(pTHX_ AV* av, SSize_t idx, SV **sptr, const U32 flags); #define PERL_ARGS_ASSERT_SAVE_AELEM_FLAGS \ assert(av); assert(sptr) PERL_CALLCONV I32 Perl_save_alloc(pTHX_ I32 size, I32 pad); +#define PERL_ARGS_ASSERT_SAVE_ALLOC PERL_CALLCONV void Perl_save_aptr(pTHX_ AV** aptr); #define PERL_ARGS_ASSERT_SAVE_APTR \ assert(aptr) @@ -2972,14 +2966,18 @@ PERL_CALLCONV void Perl_save_destructor(pTHX_ DESTRUCTORFUNC_NOCONTEXT_t f, void #define PERL_ARGS_ASSERT_SAVE_DESTRUCTOR \ assert(p) PERL_CALLCONV void Perl_save_destructor_x(pTHX_ DESTRUCTORFUNC_t f, void* p); +#define PERL_ARGS_ASSERT_SAVE_DESTRUCTOR_X #ifndef NO_MATHOMS PERL_CALLCONV void Perl_save_freeop(pTHX_ OP* o); +#define PERL_ARGS_ASSERT_SAVE_FREEOP #endif #ifndef NO_MATHOMS PERL_CALLCONV void Perl_save_freepv(pTHX_ char* pv); +#define PERL_ARGS_ASSERT_SAVE_FREEPV #endif #ifndef NO_MATHOMS PERL_CALLCONV void Perl_save_freesv(pTHX_ SV* sv); +#define PERL_ARGS_ASSERT_SAVE_FREESV #endif PERL_CALLCONV void Perl_save_generic_pvref(pTHX_ char** str); #define PERL_ARGS_ASSERT_SAVE_GENERIC_PVREF \ @@ -2996,11 +2994,13 @@ PERL_CALLCONV HV* Perl_save_hash(pTHX_ GV* gv); PERL_CALLCONV void Perl_save_hdelete(pTHX_ HV *hv, SV *keysv); #define PERL_ARGS_ASSERT_SAVE_HDELETE \ assert(hv); assert(keysv) -/* PERL_CALLCONV void Perl_save_helem(pTHX_ HV *hv, SV *key, SV **sptr); */ +/* PERL_CALLCONV void save_helem(pTHX_ HV *hv, SV *key, SV **sptr); */ +#define PERL_ARGS_ASSERT_SAVE_HELEM PERL_CALLCONV void Perl_save_helem_flags(pTHX_ HV *hv, SV *key, SV **sptr, const U32 flags); #define PERL_ARGS_ASSERT_SAVE_HELEM_FLAGS \ assert(hv); assert(key); assert(sptr) PERL_CALLCONV void Perl_save_hints(pTHX); +#define PERL_ARGS_ASSERT_SAVE_HINTS PERL_CALLCONV void Perl_save_hptr(pTHX_ HV** hptr); #define PERL_ARGS_ASSERT_SAVE_HPTR \ assert(hptr) @@ -3014,36 +3014,48 @@ PERL_CALLCONV void Perl_save_iv(pTHX_ IV *ivp); #define PERL_ARGS_ASSERT_SAVE_IV \ assert(ivp) #ifndef NO_MATHOMS -PERL_CALLCONV void Perl_save_list(pTHX_ SV** sarg, I32 maxsarg); +PERL_CALLCONV void Perl_save_list(pTHX_ SV** sarg, I32 maxsarg) + __attribute__deprecated__; #define PERL_ARGS_ASSERT_SAVE_LIST \ assert(sarg) #endif + #ifndef NO_MATHOMS -PERL_CALLCONV void Perl_save_long(pTHX_ long* longp); +PERL_CALLCONV void Perl_save_long(pTHX_ long* longp) + __attribute__deprecated__; #define PERL_ARGS_ASSERT_SAVE_LONG \ assert(longp) #endif + #ifndef NO_MATHOMS PERL_CALLCONV void Perl_save_mortalizesv(pTHX_ SV* sv); #define PERL_ARGS_ASSERT_SAVE_MORTALIZESV \ assert(sv) #endif #ifndef NO_MATHOMS -PERL_CALLCONV void Perl_save_nogv(pTHX_ GV* gv); +PERL_CALLCONV void Perl_save_nogv(pTHX_ GV* gv) + __attribute__deprecated__; #define PERL_ARGS_ASSERT_SAVE_NOGV \ assert(gv) #endif + #ifndef NO_MATHOMS PERL_CALLCONV void Perl_save_op(pTHX); +#define PERL_ARGS_ASSERT_SAVE_OP #endif PERL_CALLCONV void Perl_save_padsv_and_mortalize(pTHX_ PADOFFSET off); +#define PERL_ARGS_ASSERT_SAVE_PADSV_AND_MORTALIZE PERL_CALLCONV void Perl_save_pptr(pTHX_ char** pptr); #define PERL_ARGS_ASSERT_SAVE_PPTR \ assert(pptr) PERL_CALLCONV void Perl_save_pushi32ptr(pTHX_ const I32 i, void *const ptr, const int type); +#define PERL_ARGS_ASSERT_SAVE_PUSHI32PTR PERL_CALLCONV void Perl_save_pushptr(pTHX_ void *const ptr, const int type); +#define PERL_ARGS_ASSERT_SAVE_PUSHPTR PERL_CALLCONV void Perl_save_pushptrptr(pTHX_ void *const ptr1, void *const ptr2, const int type); +#define PERL_ARGS_ASSERT_SAVE_PUSHPTRPTR PERL_CALLCONV void Perl_save_re_context(pTHX); +#define PERL_ARGS_ASSERT_SAVE_RE_CONTEXT PERL_CALLCONV SV* Perl_save_scalar(pTHX_ GV* gv); #define PERL_ARGS_ASSERT_SAVE_SCALAR \ assert(gv) @@ -3068,18 +3080,22 @@ PERL_CALLCONV void Perl_save_vptr(pTHX_ void *ptr); PERL_CALLCONV char* Perl_savepv(pTHX_ const char* pv) __attribute__malloc__ __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_SAVEPV -PERL_CALLCONV char* Perl_savepvn(pTHX_ const char* pv, I32 len) +PERL_CALLCONV char* Perl_savepvn(pTHX_ const char* pv, Size_t len) __attribute__malloc__ __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_SAVEPVN PERL_CALLCONV char* Perl_savesharedpv(pTHX_ const char* pv) __attribute__malloc__ __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_SAVESHAREDPV PERL_CALLCONV char* Perl_savesharedpvn(pTHX_ const char *const pv, const STRLEN len) __attribute__malloc__ __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_SAVESHAREDPVN PERL_CALLCONV char* Perl_savesharedsvpv(pTHX_ SV *sv) __attribute__malloc__ @@ -3088,7 +3104,9 @@ PERL_CALLCONV char* Perl_savesharedsvpv(pTHX_ SV *sv) assert(sv) PERL_CALLCONV void Perl_savestack_grow(pTHX); +#define PERL_ARGS_ASSERT_SAVESTACK_GROW PERL_CALLCONV void Perl_savestack_grow_cnt(pTHX_ I32 need); +#define PERL_ARGS_ASSERT_SAVESTACK_GROW_CNT PERL_CALLCONV char* Perl_savesvpv(pTHX_ SV* sv) __attribute__malloc__ __attribute__warn_unused_result__; @@ -3096,8 +3114,11 @@ PERL_CALLCONV char* Perl_savesvpv(pTHX_ SV* sv) assert(sv) PERL_CALLCONV void Perl_savetmps(pTHX); +#define PERL_ARGS_ASSERT_SAVETMPS PERL_CALLCONV OP* Perl_sawparens(pTHX_ OP* o); +#define PERL_ARGS_ASSERT_SAWPARENS PERL_CALLCONV OP* Perl_scalar(pTHX_ OP* o); +#define PERL_ARGS_ASSERT_SCALAR PERL_CALLCONV OP* Perl_scalarvoid(pTHX_ OP* o); #define PERL_ARGS_ASSERT_SCALARVOID \ assert(o) @@ -3128,23 +3149,36 @@ PERL_CALLCONV char* Perl_scan_word(pTHX_ char *s, char *dest, STRLEN destlen, in #define PERL_ARGS_ASSERT_SCAN_WORD \ assert(s); assert(dest); assert(slp) PERL_CALLCONV U32 Perl_seed(pTHX); +#define PERL_ARGS_ASSERT_SEED PERL_CALLCONV void Perl_set_caret_X(pTHX); +#define PERL_ARGS_ASSERT_SET_CARET_X PERL_CALLCONV void Perl_set_context(void *t); #define PERL_ARGS_ASSERT_SET_CONTEXT \ assert(t) PERL_CALLCONV void Perl_set_numeric_standard(pTHX); +#define PERL_ARGS_ASSERT_SET_NUMERIC_STANDARD PERL_CALLCONV void Perl_set_numeric_underlying(pTHX); +#define PERL_ARGS_ASSERT_SET_NUMERIC_UNDERLYING PERL_CALLCONV void Perl_setdefout(pTHX_ GV* gv); #define PERL_ARGS_ASSERT_SETDEFOUT \ assert(gv) PERL_CALLCONV void Perl_setfd_cloexec(int fd); +#define PERL_ARGS_ASSERT_SETFD_CLOEXEC PERL_CALLCONV void Perl_setfd_cloexec_for_nonsysfd(pTHX_ int fd); +#define PERL_ARGS_ASSERT_SETFD_CLOEXEC_FOR_NONSYSFD PERL_CALLCONV void Perl_setfd_cloexec_or_inhexec_by_sysfdness(pTHX_ int fd); +#define PERL_ARGS_ASSERT_SETFD_CLOEXEC_OR_INHEXEC_BY_SYSFDNESS PERL_CALLCONV void Perl_setfd_inhexec(int fd); +#define PERL_ARGS_ASSERT_SETFD_INHEXEC PERL_CALLCONV void Perl_setfd_inhexec_for_sysfd(pTHX_ int fd); +#define PERL_ARGS_ASSERT_SETFD_INHEXEC_FOR_SYSFD PERL_CALLCONV HEK* Perl_share_hek(pTHX_ const char* str, SSize_t len, U32 hash); #define PERL_ARGS_ASSERT_SHARE_HEK \ assert(str) +PERL_CALLCONV Signal_t Perl_sighandler1(int sig); +#define PERL_ARGS_ASSERT_SIGHANDLER1 +PERL_CALLCONV Signal_t Perl_sighandler3(int sig, Siginfo_t *info, void *uap); +#define PERL_ARGS_ASSERT_SIGHANDLER3 PERL_CALLCONV char* Perl_skipspace_flags(pTHX_ char *s, U32 flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SKIPSPACE_FLAGS \ @@ -3163,6 +3197,7 @@ PERL_CALLCONV PerlIO* Perl_start_glob(pTHX_ SV *tmpglob, IO *io); #define PERL_ARGS_ASSERT_START_GLOB \ assert(tmpglob); assert(io) PERL_CALLCONV I32 Perl_start_subparse(pTHX_ I32 is_format, U32 flags); +#define PERL_ARGS_ASSERT_START_SUBPARSE PERL_CALLCONV NV Perl_str_to_version(pTHX_ SV *sv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_STR_TO_VERSION \ @@ -3194,6 +3229,7 @@ PERL_CALLCONV IV Perl_sv_2iv_flags(pTHX_ SV *const sv, const I32 flags); #define PERL_ARGS_ASSERT_SV_2IV_FLAGS \ assert(sv) PERL_CALLCONV SV* Perl_sv_2mortal(pTHX_ SV *const sv); +#define PERL_ARGS_ASSERT_SV_2MORTAL PERL_CALLCONV SV* Perl_sv_2num(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_SV_2NUM \ assert(sv) @@ -3215,9 +3251,14 @@ PERL_CALLCONV char* Perl_sv_2pv_nolen(pTHX_ SV* sv) assert(sv) #endif +#ifndef NO_MATHOMS PERL_CALLCONV char* Perl_sv_2pvbyte(pTHX_ SV *sv, STRLEN *const lp); #define PERL_ARGS_ASSERT_SV_2PVBYTE \ assert(sv) +#endif +PERL_CALLCONV char* Perl_sv_2pvbyte_flags(pTHX_ SV *sv, STRLEN *const lp, const U32 flags); +#define PERL_ARGS_ASSERT_SV_2PVBYTE_FLAGS \ + assert(sv) #ifndef NO_MATHOMS PERL_CALLCONV char* Perl_sv_2pvbyte_nolen(pTHX_ SV* sv) __attribute__warn_unused_result__; @@ -3225,9 +3266,14 @@ PERL_CALLCONV char* Perl_sv_2pvbyte_nolen(pTHX_ SV* sv) assert(sv) #endif +#ifndef NO_MATHOMS PERL_CALLCONV char* Perl_sv_2pvutf8(pTHX_ SV *sv, STRLEN *const lp); #define PERL_ARGS_ASSERT_SV_2PVUTF8 \ assert(sv) +#endif +PERL_CALLCONV char* Perl_sv_2pvutf8_flags(pTHX_ SV *sv, STRLEN *const lp, const U32 flags); +#define PERL_ARGS_ASSERT_SV_2PVUTF8_FLAGS \ + assert(sv) #ifndef NO_MATHOMS PERL_CALLCONV char* Perl_sv_2pvutf8_nolen(pTHX_ SV* sv) __attribute__warn_unused_result__; @@ -3301,14 +3347,20 @@ PERL_CALLCONV void Perl_sv_chop(pTHX_ SV *const sv, const char *const ptr); #define PERL_ARGS_ASSERT_SV_CHOP \ assert(sv) PERL_CALLCONV I32 Perl_sv_clean_all(pTHX); +#define PERL_ARGS_ASSERT_SV_CLEAN_ALL PERL_CALLCONV void Perl_sv_clean_objs(pTHX); +#define PERL_ARGS_ASSERT_SV_CLEAN_OBJS PERL_CALLCONV void Perl_sv_clear(pTHX_ SV *const orig_sv); #define PERL_ARGS_ASSERT_SV_CLEAR \ assert(orig_sv) PERL_CALLCONV I32 Perl_sv_cmp(pTHX_ SV *const sv1, SV *const sv2); +#define PERL_ARGS_ASSERT_SV_CMP PERL_CALLCONV I32 Perl_sv_cmp_flags(pTHX_ SV *const sv1, SV *const sv2, const U32 flags); +#define PERL_ARGS_ASSERT_SV_CMP_FLAGS PERL_CALLCONV I32 Perl_sv_cmp_locale(pTHX_ SV *const sv1, SV *const sv2); +#define PERL_ARGS_ASSERT_SV_CMP_LOCALE PERL_CALLCONV I32 Perl_sv_cmp_locale_flags(pTHX_ SV *const sv1, SV *const sv2, const U32 flags); +#define PERL_ARGS_ASSERT_SV_CMP_LOCALE_FLAGS #ifndef NO_MATHOMS PERL_CALLCONV void Perl_sv_copypv(pTHX_ SV *const dsv, SV *const ssv); #define PERL_ARGS_ASSERT_SV_COPYPV \ @@ -3317,9 +3369,12 @@ PERL_CALLCONV void Perl_sv_copypv(pTHX_ SV *const dsv, SV *const ssv); PERL_CALLCONV void Perl_sv_copypv_flags(pTHX_ SV *const dsv, SV *const ssv, const I32 flags); #define PERL_ARGS_ASSERT_SV_COPYPV_FLAGS \ assert(dsv); assert(ssv) -/* PERL_CALLCONV void Perl_sv_copypv_nomg(pTHX_ SV *const dsv, SV *const ssv); */ +/* PERL_CALLCONV void sv_copypv_nomg(pTHX_ SV *const dsv, SV *const ssv); */ +#define PERL_ARGS_ASSERT_SV_COPYPV_NOMG PERL_CALLCONV void Perl_sv_dec(pTHX_ SV *const sv); +#define PERL_ARGS_ASSERT_SV_DEC PERL_CALLCONV void Perl_sv_dec_nomg(pTHX_ SV *const sv); +#define PERL_ARGS_ASSERT_SV_DEC_NOMG PERL_CALLCONV void Perl_sv_del_backref(pTHX_ SV *const tsv, SV *const sv); #define PERL_ARGS_ASSERT_SV_DEL_BACKREF \ assert(tsv); assert(sv) @@ -3344,6 +3399,7 @@ PERL_CALLCONV bool Perl_sv_derived_from_sv(pTHX_ SV* sv, SV *namesv, U32 flags) assert(sv); assert(namesv) PERL_CALLCONV bool Perl_sv_destroyable(pTHX_ SV *sv); +#define PERL_ARGS_ASSERT_SV_DESTROYABLE PERL_CALLCONV bool Perl_sv_does(pTHX_ SV* sv, const char *const name) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SV_DOES \ @@ -3365,10 +3421,13 @@ PERL_CALLCONV bool Perl_sv_does_sv(pTHX_ SV* sv, SV* namesv, U32 flags) assert(sv); assert(namesv) PERL_CALLCONV void Perl_sv_dump(pTHX_ SV* sv); +#define PERL_ARGS_ASSERT_SV_DUMP #ifndef NO_MATHOMS PERL_CALLCONV I32 Perl_sv_eq(pTHX_ SV* sv1, SV* sv2); +#define PERL_ARGS_ASSERT_SV_EQ #endif PERL_CALLCONV I32 Perl_sv_eq_flags(pTHX_ SV* sv1, SV* sv2, const U32 flags); +#define PERL_ARGS_ASSERT_SV_EQ_FLAGS #ifndef NO_MATHOMS PERL_CALLCONV void Perl_sv_force_normal(pTHX_ SV *sv); #define PERL_ARGS_ASSERT_SV_FORCE_NORMAL \ @@ -3378,10 +3437,12 @@ PERL_CALLCONV void Perl_sv_force_normal_flags(pTHX_ SV *const sv, const U32 flag #define PERL_ARGS_ASSERT_SV_FORCE_NORMAL_FLAGS \ assert(sv) PERL_CALLCONV void Perl_sv_free(pTHX_ SV *const sv); +#define PERL_ARGS_ASSERT_SV_FREE PERL_CALLCONV void Perl_sv_free2(pTHX_ SV *const sv, const U32 refcnt); #define PERL_ARGS_ASSERT_SV_FREE2 \ assert(sv) PERL_CALLCONV void Perl_sv_free_arenas(pTHX); +#define PERL_ARGS_ASSERT_SV_FREE_ARENAS PERL_CALLCONV SV* Perl_sv_get_backrefs(SV *const sv); #define PERL_ARGS_ASSERT_SV_GET_BACKREFS \ assert(sv) @@ -3392,7 +3453,9 @@ PERL_CALLCONV char* Perl_sv_grow(pTHX_ SV *const sv, STRLEN newlen); #define PERL_ARGS_ASSERT_SV_GROW \ assert(sv) PERL_CALLCONV void Perl_sv_inc(pTHX_ SV *const sv); +#define PERL_ARGS_ASSERT_SV_INC PERL_CALLCONV void Perl_sv_inc_nomg(pTHX_ SV *const sv); +#define PERL_ARGS_ASSERT_SV_INC_NOMG #ifndef NO_MATHOMS PERL_CALLCONV void Perl_sv_insert(pTHX_ SV *const bigstr, const STRLEN offset, const STRLEN len, const char *const little, const STRLEN littlelen); #define PERL_ARGS_ASSERT_SV_INSERT \ @@ -3404,14 +3467,24 @@ PERL_CALLCONV void Perl_sv_insert_flags(pTHX_ SV *const bigstr, const STRLEN off PERL_CALLCONV int Perl_sv_isa(pTHX_ SV* sv, const char *const name); #define PERL_ARGS_ASSERT_SV_ISA \ assert(name) +PERL_CALLCONV bool Perl_sv_isa_sv(pTHX_ SV* sv, SV* namesv) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_SV_ISA_SV \ + assert(sv); assert(namesv) + PERL_CALLCONV int Perl_sv_isobject(pTHX_ SV* sv); +#define PERL_ARGS_ASSERT_SV_ISOBJECT #ifndef NO_MATHOMS -PERL_CALLCONV IV Perl_sv_iv(pTHX_ SV* sv); +PERL_CALLCONV IV Perl_sv_iv(pTHX_ SV* sv) + __attribute__deprecated__; #define PERL_ARGS_ASSERT_SV_IV \ assert(sv) #endif + PERL_CALLCONV STRLEN Perl_sv_len(pTHX_ SV *const sv); +#define PERL_ARGS_ASSERT_SV_LEN PERL_CALLCONV STRLEN Perl_sv_len_utf8(pTHX_ SV *const sv); +#define PERL_ARGS_ASSERT_SV_LEN_UTF8 PERL_CALLCONV STRLEN Perl_sv_len_utf8_nomg(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_SV_LEN_UTF8_NOMG \ assert(sv) @@ -3427,33 +3500,47 @@ PERL_CALLCONV MAGIC * Perl_sv_magicext_mglob(pTHX_ SV *sv); #ifndef NO_MATHOMS PERL_CALLCONV SV* Perl_sv_mortalcopy(pTHX_ SV *const oldsv) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_SV_MORTALCOPY #endif PERL_CALLCONV SV* Perl_sv_mortalcopy_flags(pTHX_ SV *const oldsv, U32 flags) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_SV_MORTALCOPY_FLAGS PERL_CALLCONV SV* Perl_sv_newmortal(pTHX) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_SV_NEWMORTAL PERL_CALLCONV SV* Perl_sv_newref(pTHX_ SV *const sv); +#define PERL_ARGS_ASSERT_SV_NEWREF #ifndef NO_MATHOMS -PERL_CALLCONV void Perl_sv_nolocking(pTHX_ SV *sv); +PERL_CALLCONV void Perl_sv_nolocking(pTHX_ SV *sv) + __attribute__deprecated__; +#define PERL_ARGS_ASSERT_SV_NOLOCKING #endif + PERL_CALLCONV void Perl_sv_nosharing(pTHX_ SV *sv); +#define PERL_ARGS_ASSERT_SV_NOSHARING #ifndef NO_MATHOMS -PERL_CALLCONV void Perl_sv_nounlocking(pTHX_ SV *sv); +PERL_CALLCONV void Perl_sv_nounlocking(pTHX_ SV *sv) + __attribute__deprecated__; +#define PERL_ARGS_ASSERT_SV_NOUNLOCKING #endif + #ifndef NO_MATHOMS -PERL_CALLCONV NV Perl_sv_nv(pTHX_ SV* sv); +PERL_CALLCONV NV Perl_sv_nv(pTHX_ SV* sv) + __attribute__deprecated__; #define PERL_ARGS_ASSERT_SV_NV \ assert(sv) #endif + #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE bool S_sv_only_taint_gmagic(SV *sv); +PERL_STATIC_INLINE bool Perl_sv_only_taint_gmagic(SV *sv); #define PERL_ARGS_ASSERT_SV_ONLY_TAINT_GMAGIC \ assert(sv) #endif PERL_CALLCONV char* Perl_sv_peek(pTHX_ SV* sv); +#define PERL_ARGS_ASSERT_SV_PEEK PERL_CALLCONV void Perl_sv_pos_b2u(pTHX_ SV *const sv, I32 *const offsetp); #define PERL_ARGS_ASSERT_SV_POS_B2U \ assert(offsetp) @@ -3481,18 +3568,22 @@ PERL_CALLCONV char* Perl_sv_pvbyte(pTHX_ SV *sv) #endif #ifndef NO_MATHOMS -PERL_CALLCONV char* Perl_sv_pvbyten(pTHX_ SV *sv, STRLEN *lp); +PERL_CALLCONV char* Perl_sv_pvbyten(pTHX_ SV *sv, STRLEN *lp) + __attribute__deprecated__; #define PERL_ARGS_ASSERT_SV_PVBYTEN \ assert(sv); assert(lp) #endif + PERL_CALLCONV char* Perl_sv_pvbyten_force(pTHX_ SV *const sv, STRLEN *const lp); #define PERL_ARGS_ASSERT_SV_PVBYTEN_FORCE \ assert(sv) #ifndef NO_MATHOMS -PERL_CALLCONV char* Perl_sv_pvn(pTHX_ SV *sv, STRLEN *lp); +PERL_CALLCONV char* Perl_sv_pvn(pTHX_ SV *sv, STRLEN *lp) + __attribute__deprecated__; #define PERL_ARGS_ASSERT_SV_PVN \ assert(sv); assert(lp) #endif + #ifndef NO_MATHOMS PERL_CALLCONV char* Perl_sv_pvn_force(pTHX_ SV* sv, STRLEN* lp); #define PERL_ARGS_ASSERT_SV_PVN_FORCE \ @@ -3502,10 +3593,12 @@ PERL_CALLCONV char* Perl_sv_pvn_force_flags(pTHX_ SV *const sv, STRLEN *const lp #define PERL_ARGS_ASSERT_SV_PVN_FORCE_FLAGS \ assert(sv) #ifndef NO_MATHOMS -PERL_CALLCONV char* Perl_sv_pvn_nomg(pTHX_ SV* sv, STRLEN* lp); +PERL_CALLCONV char* Perl_sv_pvn_nomg(pTHX_ SV* sv, STRLEN* lp) + __attribute__deprecated__; #define PERL_ARGS_ASSERT_SV_PVN_NOMG \ assert(sv) #endif + #ifndef NO_MATHOMS PERL_CALLCONV char* Perl_sv_pvutf8(pTHX_ SV *sv) __attribute__warn_unused_result__; @@ -3514,10 +3607,12 @@ PERL_CALLCONV char* Perl_sv_pvutf8(pTHX_ SV *sv) #endif #ifndef NO_MATHOMS -PERL_CALLCONV char* Perl_sv_pvutf8n(pTHX_ SV *sv, STRLEN *lp); +PERL_CALLCONV char* Perl_sv_pvutf8n(pTHX_ SV *sv, STRLEN *lp) + __attribute__deprecated__; #define PERL_ARGS_ASSERT_SV_PVUTF8N \ assert(sv); assert(lp) #endif + PERL_CALLCONV char* Perl_sv_pvutf8n_force(pTHX_ SV *const sv, STRLEN *const lp); #define PERL_ARGS_ASSERT_SV_PVUTF8N_FORCE \ assert(sv) @@ -3536,10 +3631,12 @@ PERL_CALLCONV void Perl_sv_replace(pTHX_ SV *const sv, SV *const nsv); #define PERL_ARGS_ASSERT_SV_REPLACE \ assert(sv); assert(nsv) PERL_CALLCONV void Perl_sv_report_used(pTHX); +#define PERL_ARGS_ASSERT_SV_REPORT_USED PERL_CALLCONV void Perl_sv_reset(pTHX_ const char* s, HV *const stash); #define PERL_ARGS_ASSERT_SV_RESET \ assert(s) PERL_CALLCONV void Perl_sv_resetpvn(pTHX_ const char* s, STRLEN len, HV *const stash); +#define PERL_ARGS_ASSERT_SV_RESETPVN PERL_CALLCONV SV* Perl_sv_rvunweaken(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_SV_RVUNWEAKEN \ assert(sv) @@ -3584,15 +3681,19 @@ PERL_CALLCONV void Perl_sv_setpvf_mg(pTHX_ SV *const sv, const char *const pat, assert(sv); assert(pat) #ifndef NO_MATHOMS -PERL_CALLCONV void Perl_sv_setpviv(pTHX_ SV *const sv, const IV num); +PERL_CALLCONV void Perl_sv_setpviv(pTHX_ SV *const sv, const IV num) + __attribute__deprecated__; #define PERL_ARGS_ASSERT_SV_SETPVIV \ assert(sv) #endif + #ifndef NO_MATHOMS -PERL_CALLCONV void Perl_sv_setpviv_mg(pTHX_ SV *const sv, const IV iv); +PERL_CALLCONV void Perl_sv_setpviv_mg(pTHX_ SV *const sv, const IV iv) + __attribute__deprecated__; #define PERL_ARGS_ASSERT_SV_SETPVIV_MG \ assert(sv) #endif + PERL_CALLCONV void Perl_sv_setpvn(pTHX_ SV *const sv, const char *const ptr, const STRLEN len); #define PERL_ARGS_ASSERT_SV_SETPVN \ assert(sv) @@ -3632,6 +3733,7 @@ PERL_CALLCONV void Perl_sv_setuv_mg(pTHX_ SV *const sv, const UV u); #define PERL_ARGS_ASSERT_SV_SETUV_MG \ assert(sv) PERL_CALLCONV SV* Perl_sv_string_from_errnum(pTHX_ int errnum, SV* tgtsv); +#define PERL_ARGS_ASSERT_SV_STRING_FROM_ERRNUM #ifndef NO_MATHOMS PERL_CALLCONV void Perl_sv_taint(pTHX_ SV* sv); #define PERL_ARGS_ASSERT_SV_TAINT \ @@ -3643,6 +3745,7 @@ PERL_CALLCONV bool Perl_sv_tainted(pTHX_ SV *const sv) assert(sv) PERL_CALLCONV I32 Perl_sv_true(pTHX_ SV *const sv); +#define PERL_ARGS_ASSERT_SV_TRUE PERL_CALLCONV char* Perl_sv_uni_display(pTHX_ SV *dsv, SV *ssv, STRLEN pvlim, UV flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SV_UNI_DISPLAY \ @@ -3684,9 +3787,16 @@ PERL_CALLCONV void Perl_sv_usepvn_mg(pTHX_ SV *sv, char *ptr, STRLEN len); PERL_CALLCONV bool Perl_sv_utf8_decode(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_SV_UTF8_DECODE \ assert(sv) +#ifndef NO_MATHOMS PERL_CALLCONV bool Perl_sv_utf8_downgrade(pTHX_ SV *const sv, const bool fail_ok); #define PERL_ARGS_ASSERT_SV_UTF8_DOWNGRADE \ assert(sv) +#endif +PERL_CALLCONV bool Perl_sv_utf8_downgrade_flags(pTHX_ SV *const sv, const bool fail_ok, const U32 flags); +#define PERL_ARGS_ASSERT_SV_UTF8_DOWNGRADE_FLAGS \ + assert(sv) +/* PERL_CALLCONV bool sv_utf8_downgrade_nomg(pTHX_ SV *const sv, const bool fail_ok); */ +#define PERL_ARGS_ASSERT_SV_UTF8_DOWNGRADE_NOMG PERL_CALLCONV void Perl_sv_utf8_encode(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_SV_UTF8_ENCODE \ assert(sv) @@ -3695,16 +3805,20 @@ PERL_CALLCONV STRLEN Perl_sv_utf8_upgrade(pTHX_ SV *sv); #define PERL_ARGS_ASSERT_SV_UTF8_UPGRADE \ assert(sv) #endif -/* PERL_CALLCONV STRLEN Perl_sv_utf8_upgrade_flags(pTHX_ SV *const sv, const I32 flags); */ +/* PERL_CALLCONV STRLEN sv_utf8_upgrade_flags(pTHX_ SV *const sv, const I32 flags); */ +#define PERL_ARGS_ASSERT_SV_UTF8_UPGRADE_FLAGS PERL_CALLCONV STRLEN Perl_sv_utf8_upgrade_flags_grow(pTHX_ SV *const sv, const I32 flags, STRLEN extra); #define PERL_ARGS_ASSERT_SV_UTF8_UPGRADE_FLAGS_GROW \ assert(sv) /* PERL_CALLCONV STRLEN sv_utf8_upgrade_nomg(pTHX_ SV *sv); */ +#define PERL_ARGS_ASSERT_SV_UTF8_UPGRADE_NOMG #ifndef NO_MATHOMS -PERL_CALLCONV UV Perl_sv_uv(pTHX_ SV* sv); +PERL_CALLCONV UV Perl_sv_uv(pTHX_ SV* sv) + __attribute__deprecated__; #define PERL_ARGS_ASSERT_SV_UV \ assert(sv) #endif + PERL_CALLCONV void Perl_sv_vcatpvf(pTHX_ SV *const sv, const char *const pat, va_list *const args); #define PERL_ARGS_ASSERT_SV_VCATPVF \ assert(sv); assert(pat) @@ -3726,16 +3840,10 @@ PERL_CALLCONV void Perl_sv_vsetpvf_mg(pTHX_ SV *const sv, const char *const pat, PERL_CALLCONV void Perl_sv_vsetpvfn(pTHX_ SV *const sv, const char *const pat, const STRLEN patlen, va_list *const args, SV **const svargs, const Size_t sv_count, bool *const maybe_tainted); #define PERL_ARGS_ASSERT_SV_VSETPVFN \ assert(sv); assert(pat) -PERL_CALLCONV UV Perl_swash_fetch(pTHX_ SV *swash, const U8 *ptr, bool do_utf8); -#define PERL_ARGS_ASSERT_SWASH_FETCH \ - assert(swash); assert(ptr) -PERL_CALLCONV SV* Perl_swash_init(pTHX_ const char* pkg, const char* name, SV* listsv, I32 minbits, I32 none) - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_SWASH_INIT \ - assert(pkg); assert(name); assert(listsv) - PERL_CALLCONV void Perl_switch_to_global_locale(void); +#define PERL_ARGS_ASSERT_SWITCH_TO_GLOBAL_LOCALE PERL_CALLCONV bool Perl_sync_locale(void); +#define PERL_ARGS_ASSERT_SYNC_LOCALE PERL_CALLCONV void Perl_sys_init(int* argc, char*** argv); #define PERL_ARGS_ASSERT_SYS_INIT \ assert(argc); assert(argv) @@ -3743,91 +3851,57 @@ PERL_CALLCONV void Perl_sys_init3(int* argc, char*** argv, char*** env); #define PERL_ARGS_ASSERT_SYS_INIT3 \ assert(argc); assert(argv); assert(env) PERL_CALLCONV void Perl_sys_term(void); +#define PERL_ARGS_ASSERT_SYS_TERM PERL_CALLCONV void Perl_taint_env(pTHX); +#define PERL_ARGS_ASSERT_TAINT_ENV PERL_CALLCONV void Perl_taint_proper(pTHX_ const char* f, const char *const s); #define PERL_ARGS_ASSERT_TAINT_PROPER \ assert(s) PERL_CALLCONV void Perl_thread_locale_init(void); +#define PERL_ARGS_ASSERT_THREAD_LOCALE_INIT PERL_CALLCONV void Perl_thread_locale_term(void); +#define PERL_ARGS_ASSERT_THREAD_LOCALE_TERM PERL_CALLCONV OP * Perl_tied_method(pTHX_ SV *methname, SV **sp, SV *const sv, const MAGIC *const mg, const U32 flags, U32 argc, ...); #define PERL_ARGS_ASSERT_TIED_METHOD \ assert(methname); assert(sp); assert(sv); assert(mg) PERL_CALLCONV SSize_t Perl_tmps_grow_p(pTHX_ SSize_t ix); -/* PERL_CALLCONV UV Perl_to_uni_fold(pTHX_ UV c, U8 *p, STRLEN *lenp); */ +#define PERL_ARGS_ASSERT_TMPS_GROW_P +/* PERL_CALLCONV UV to_uni_fold(pTHX_ UV c, U8 *p, STRLEN *lenp); */ +#define PERL_ARGS_ASSERT_TO_UNI_FOLD PERL_CALLCONV UV Perl_to_uni_lower(pTHX_ UV c, U8 *p, STRLEN *lenp); #define PERL_ARGS_ASSERT_TO_UNI_LOWER \ assert(p); assert(lenp) -#ifndef NO_MATHOMS -PERL_CALLCONV U32 Perl_to_uni_lower_lc(pTHX_ U32 c) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#endif - PERL_CALLCONV UV Perl_to_uni_title(pTHX_ UV c, U8 *p, STRLEN *lenp); #define PERL_ARGS_ASSERT_TO_UNI_TITLE \ assert(p); assert(lenp) -#ifndef NO_MATHOMS -PERL_CALLCONV U32 Perl_to_uni_title_lc(pTHX_ U32 c) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#endif - PERL_CALLCONV UV Perl_to_uni_upper(pTHX_ UV c, U8 *p, STRLEN *lenp); #define PERL_ARGS_ASSERT_TO_UNI_UPPER \ assert(p); assert(lenp) -#ifndef NO_MATHOMS -PERL_CALLCONV U32 Perl_to_uni_upper_lc(pTHX_ U32 c) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV UV Perl_to_utf8_fold(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp) - __attribute__deprecated__; -#define PERL_ARGS_ASSERT_TO_UTF8_FOLD \ - assert(p); assert(ustrp) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV UV Perl_to_utf8_lower(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp) - __attribute__deprecated__; -#define PERL_ARGS_ASSERT_TO_UTF8_LOWER \ - assert(p); assert(ustrp) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV UV Perl_to_utf8_title(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp) - __attribute__deprecated__; -#define PERL_ARGS_ASSERT_TO_UTF8_TITLE \ - assert(p); assert(ustrp) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV UV Perl_to_utf8_upper(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp) - __attribute__deprecated__; -#define PERL_ARGS_ASSERT_TO_UTF8_UPPER \ - assert(p); assert(ustrp) -#endif - PERL_CALLCONV bool Perl_try_amagic_bin(pTHX_ int method, int flags); +#define PERL_ARGS_ASSERT_TRY_AMAGIC_BIN PERL_CALLCONV bool Perl_try_amagic_un(pTHX_ int method, int flags); +#define PERL_ARGS_ASSERT_TRY_AMAGIC_UN #ifndef NO_MATHOMS -PERL_CALLCONV SSize_t Perl_unpack_str(pTHX_ const char *pat, const char *patend, const char *s, const char *strbeg, const char *strend, char **new_s, I32 ocnt, U32 flags); +PERL_CALLCONV SSize_t Perl_unpack_str(pTHX_ const char *pat, const char *patend, const char *s, const char *strbeg, const char *strend, char **new_s, I32 ocnt, U32 flags) + __attribute__deprecated__; #define PERL_ARGS_ASSERT_UNPACK_STR \ assert(pat); assert(patend); assert(s); assert(strend) #endif + PERL_CALLCONV SSize_t Perl_unpackstring(pTHX_ const char *pat, const char *patend, const char *s, const char *strend, U32 flags); #define PERL_ARGS_ASSERT_UNPACKSTRING \ assert(pat); assert(patend); assert(s); assert(strend) PERL_CALLCONV void Perl_unshare_hek(pTHX_ HEK* hek); +#define PERL_ARGS_ASSERT_UNSHARE_HEK PERL_CALLCONV void Perl_unsharepvn(pTHX_ const char* sv, I32 len, U32 hash); +#define PERL_ARGS_ASSERT_UNSHAREPVN PERL_CALLCONV SV* Perl_upg_version(pTHX_ SV *ver, bool qv); #define PERL_ARGS_ASSERT_UPG_VERSION \ assert(ver) -PERL_CALLCONV U8* Perl_utf16_to_utf8(pTHX_ U8* p, U8 *d, I32 bytelen, I32 *newlen); +PERL_CALLCONV U8* Perl_utf16_to_utf8(pTHX_ U8* p, U8 *d, Size_t bytelen, Size_t *newlen); #define PERL_ARGS_ASSERT_UTF16_TO_UTF8 \ assert(p); assert(d); assert(newlen) -PERL_CALLCONV U8* Perl_utf16_to_utf8_reversed(pTHX_ U8* p, U8 *d, I32 bytelen, I32 *newlen); +PERL_CALLCONV U8* Perl_utf16_to_utf8_reversed(pTHX_ U8* p, U8 *d, Size_t bytelen, Size_t *newlen); #define PERL_ARGS_ASSERT_UTF16_TO_UTF8_REVERSED \ assert(p); assert(d); assert(newlen) #ifndef PERL_NO_INLINE_FUNCTIONS @@ -3873,14 +3947,21 @@ PERL_CALLCONV STRLEN Perl_utf8_length(pTHX_ const U8* s, const U8 *e) PERL_CALLCONV U8* Perl_utf8_to_bytes(pTHX_ U8 *s, STRLEN *lenp); #define PERL_ARGS_ASSERT_UTF8_TO_BYTES \ assert(s); assert(lenp) +#ifndef NO_MATHOMS PERL_CALLCONV UV Perl_utf8_to_uvchr(pTHX_ const U8 *s, STRLEN *retlen) __attribute__deprecated__; #define PERL_ARGS_ASSERT_UTF8_TO_UVCHR \ assert(s) +#endif PERL_CALLCONV UV Perl_utf8_to_uvchr_buf(pTHX_ const U8 *s, const U8 *send, STRLEN *retlen); #define PERL_ARGS_ASSERT_UTF8_TO_UVCHR_BUF \ assert(s); assert(send) +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE UV Perl_utf8_to_uvchr_buf_helper(pTHX_ const U8 *s, const U8 *send, STRLEN *retlen); +#define PERL_ARGS_ASSERT_UTF8_TO_UVCHR_BUF_HELPER \ + assert(s); assert(send) +#endif #ifndef NO_MATHOMS PERL_CALLCONV UV Perl_utf8_to_uvuni(pTHX_ const U8 *s, STRLEN *retlen) __attribute__deprecated__; @@ -3900,19 +3981,26 @@ PERL_CALLCONV UV Perl_utf8n_to_uvchr_error(const U8 *s, STRLEN curlen, STRLEN *r #define PERL_ARGS_ASSERT_UTF8N_TO_UVCHR_ERROR \ assert(s) #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE UV S_utf8n_to_uvchr_msgs(const U8 *s, STRLEN curlen, STRLEN *retlen, const U32 flags, U32 * errors, AV ** msgs); +PERL_STATIC_INLINE UV Perl_utf8n_to_uvchr_msgs(const U8 *s, STRLEN curlen, STRLEN *retlen, const U32 flags, U32 * errors, AV ** msgs); #define PERL_ARGS_ASSERT_UTF8N_TO_UVCHR_MSGS \ assert(s) #endif -PERL_CALLCONV UV Perl_utf8n_to_uvuni(pTHX_ const U8 *s, STRLEN curlen, STRLEN *retlen, U32 flags); +#ifndef NO_MATHOMS +PERL_CALLCONV UV Perl_utf8n_to_uvuni(pTHX_ const U8 *s, STRLEN curlen, STRLEN *retlen, U32 flags) + __attribute__deprecated__; #define PERL_ARGS_ASSERT_UTF8N_TO_UVUNI \ assert(s) +#endif + PERL_CALLCONV void Perl_utilize(pTHX_ int aver, I32 floor, OP* version, OP* idop, OP* arg); #define PERL_ARGS_ASSERT_UTILIZE \ assert(idop) /* PERL_CALLCONV U8* uvchr_to_utf8(pTHX_ U8 *d, UV uv); */ +#define PERL_ARGS_ASSERT_UVCHR_TO_UTF8 /* PERL_CALLCONV U8* uvchr_to_utf8_flags(pTHX_ U8 *d, UV uv, UV flags); */ +#define PERL_ARGS_ASSERT_UVCHR_TO_UTF8_FLAGS /* PERL_CALLCONV U8* uvchr_to_utf8_flags_msgs(pTHX_ U8 *d, UV uv, UV flags, HV ** msgs); */ +#define PERL_ARGS_ASSERT_UVCHR_TO_UTF8_FLAGS_MSGS PERL_CALLCONV U8* Perl_uvoffuni_to_utf8_flags(pTHX_ U8 *d, UV uv, const UV flags); #define PERL_ARGS_ASSERT_UVOFFUNI_TO_UTF8_FLAGS \ assert(d) @@ -3922,9 +4010,13 @@ PERL_CALLCONV U8* Perl_uvoffuni_to_utf8_flags_msgs(pTHX_ U8 *d, UV uv, const UV PERL_CALLCONV U8* Perl_uvuni_to_utf8(pTHX_ U8 *d, UV uv); #define PERL_ARGS_ASSERT_UVUNI_TO_UTF8 \ assert(d) -PERL_CALLCONV U8* Perl_uvuni_to_utf8_flags(pTHX_ U8 *d, UV uv, UV flags); +#ifndef NO_MATHOMS +PERL_CALLCONV U8* Perl_uvuni_to_utf8_flags(pTHX_ U8 *d, UV uv, UV flags) + __attribute__deprecated__; #define PERL_ARGS_ASSERT_UVUNI_TO_UTF8_FLAGS \ assert(d) +#endif + #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE UV Perl_valid_utf8_to_uvchr(const U8 *s, STRLEN *retlen) __attribute__warn_unused_result__; @@ -3947,6 +4039,7 @@ PERL_CALLCONV int Perl_vcmp(pTHX_ SV *lhv, SV *rhv); assert(lhv); assert(rhv) PERL_CALLCONV_NO_RET void Perl_vcroak(pTHX_ const char* pat, va_list* args) __attribute__noreturn__; +#define PERL_ARGS_ASSERT_VCROAK PERL_CALLCONV void Perl_vdeb(pTHX_ const char* pat, va_list* args); #define PERL_ARGS_ASSERT_VDEB \ @@ -4009,11 +4102,13 @@ PERL_CALLCONV void Perl_warner(pTHX_ U32 err, const char* pat, ...) PERL_CALLCONV I32 Perl_was_lvalue_sub(pTHX) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_WAS_LVALUE_SUB PERL_CALLCONV void Perl_watch(pTHX_ char** addr); #define PERL_ARGS_ASSERT_WATCH \ assert(addr) /* PERL_CALLCONV I32 whichsig(pTHX_ const char* sig); */ +#define PERL_ARGS_ASSERT_WHICHSIG PERL_CALLCONV I32 Perl_whichsig_pv(pTHX_ const char* sig); #define PERL_ARGS_ASSERT_WHICHSIG_PV \ assert(sig) @@ -4033,6 +4128,7 @@ PERL_CALLCONV void Perl_write_to_stderr(pTHX_ SV* msv); #define PERL_ARGS_ASSERT_WRITE_TO_STDERR \ assert(msv) PERL_CALLCONV void Perl_xs_boot_epilog(pTHX_ const I32 ax); +#define PERL_ARGS_ASSERT_XS_BOOT_EPILOG PERL_CALLCONV I32 Perl_xs_handshake(const U32 key, void * v_my_perl, const char * file, ...); #define PERL_ARGS_ASSERT_XS_HANDSHAKE \ assert(v_my_perl); assert(file) @@ -4043,10 +4139,15 @@ PERL_CALLCONV int Perl_yyerror_pv(pTHX_ const char *const s, U32 flags); #define PERL_ARGS_ASSERT_YYERROR_PV \ assert(s) PERL_CALLCONV int Perl_yyerror_pvn(pTHX_ const char *const s, STRLEN len, U32 flags); +#define PERL_ARGS_ASSERT_YYERROR_PVN PERL_CALLCONV int Perl_yylex(pTHX); +#define PERL_ARGS_ASSERT_YYLEX PERL_CALLCONV int Perl_yyparse(pTHX_ int gramtype); +#define PERL_ARGS_ASSERT_YYPARSE PERL_CALLCONV void Perl_yyquit(pTHX); +#define PERL_ARGS_ASSERT_YYQUIT PERL_CALLCONV void Perl_yyunlex(pTHX); +#define PERL_ARGS_ASSERT_YYUNLEX #if ! defined(HAS_MEMRCHR) && (defined(PERL_CORE) || defined(PERL_EXT)) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void * S_my_memrchr(const char * s, const char c, const STRLEN len); @@ -4054,6 +4155,13 @@ PERL_STATIC_INLINE void * S_my_memrchr(const char * s, const char c, const STRLE assert(s) #endif #endif +#if !(!defined(PERL_EXT_RE_BUILD)) +# if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) +PERL_CALLCONV SV* Perl_get_re_gclass_nonbitmap_data(pTHX_ const regexp *prog, const struct regnode *node, bool doinit, SV **listsvp, SV **lonly_utf8_locale, SV **output_invlist); +#define PERL_ARGS_ASSERT_GET_RE_GCLASS_NONBITMAP_DATA \ + assert(node) +# endif +#endif #if !(defined(DEBUGGING)) # if !defined(NV_PRESERVES_UV) # if defined(PERL_IN_SV_C) @@ -4062,27 +4170,17 @@ STATIC int S_sv_2iuv_non_preserve(pTHX_ SV *const sv); assert(sv) # endif # endif -#endif -#if !(defined(HAS_MEMMEM)) -PERL_CALLCONV char* Perl_ninstr(const char* big, const char* bigend, const char* little, const char* lend) - __attribute__warn_unused_result__ - __attribute__pure__; -#define PERL_ARGS_ASSERT_NINSTR \ - assert(big); assert(bigend); assert(little); assert(lend) - #endif #if !(defined(HAS_NL_LANGINFO) && defined(PERL_LANGINFO_H)) PERL_CALLCONV const char* Perl_langinfo(const int item); +#define PERL_ARGS_ASSERT_PERL_LANGINFO #endif #if !(defined(HAS_NL_LANGINFO)) # if defined(PERL_IN_LOCALE_C) STATIC const char* S_my_nl_langinfo(const int item, bool toggle); +#define PERL_ARGS_ASSERT_MY_NL_LANGINFO # endif #endif -#if !(defined(HAS_SIGACTION) && defined(SA_SIGINFO)) -PERL_CALLCONV Signal_t Perl_csighandler(int sig); -PERL_CALLCONV Signal_t Perl_sighandler(int sig); -#endif #if !(defined(PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION)) PERL_CALLCONV bool Perl_do_exec(pTHX_ const char* cmd); #define PERL_ARGS_ASSERT_DO_EXEC \ @@ -4095,6 +4193,12 @@ PERL_CALLCONV void* Perl_my_cxt_init(pTHX_ int *indexp, size_t size); assert(indexp) # endif #endif +#if !(defined(PERL_USE_3ARG_SIGHANDLER)) +PERL_CALLCONV Signal_t Perl_csighandler(int sig); +#define PERL_ARGS_ASSERT_CSIGHANDLER +PERL_CALLCONV Signal_t Perl_sighandler(int sig); +#define PERL_ARGS_ASSERT_SIGHANDLER +#endif #if !(defined(_MSC_VER)) PERL_CALLCONV_NO_RET int Perl_magic_regdatum_set(pTHX_ SV* sv, MAGIC* mg) __attribute__noreturn__; @@ -4104,8 +4208,9 @@ PERL_CALLCONV_NO_RET int Perl_magic_regdatum_set(pTHX_ SV* sv, MAGIC* mg) #endif #if !defined(EBCDIC) #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE unsigned int S__variant_byte_number(PERL_UINTMAX_T word) +PERL_STATIC_INLINE unsigned int Perl_variant_byte_number(PERL_UINTMAX_T word) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_VARIANT_BYTE_NUMBER #endif #endif @@ -4142,22 +4247,28 @@ PERL_CALLCONV I32 Perl_same_dirent(pTHX_ const char* a, const char* b); PERL_CALLCONV int Perl_signbit(NV f) __attribute__warn_unused_result__ __attribute__pure__; +#define PERL_ARGS_ASSERT_PERL_SIGNBIT #endif #if !defined(HAS_STRLCAT) PERL_CALLCONV Size_t Perl_my_strlcat(char *dst, const char *src, Size_t size); +#define PERL_ARGS_ASSERT_MY_STRLCAT #endif #if !defined(HAS_STRLCPY) PERL_CALLCONV Size_t Perl_my_strlcpy(char *dst, const char *src, Size_t size); +#define PERL_ARGS_ASSERT_MY_STRLCPY #endif #if !defined(HAS_STRNLEN) -PERL_CALLCONV Size_t Perl_my_strnlen(const char *str, Size_t maxlen); +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE Size_t Perl_my_strnlen(const char *str, Size_t maxlen); #define PERL_ARGS_ASSERT_MY_STRNLEN \ assert(str) #endif +#endif #if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP) PERL_CALLCONV I32 Perl_my_chsize(pTHX_ int fd, Off_t length) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_MY_CHSIZE #endif #if !defined(NV_PRESERVES_UV) @@ -4205,9 +4316,6 @@ PERL_STATIC_INLINE void S_invlist_clear(pTHX_ SV* invlist); #define PERL_ARGS_ASSERT_INVLIST_CLEAR \ assert(invlist) #endif -STATIC void S_invlist_extend(pTHX_ SV* const invlist, const UV len); -#define PERL_ARGS_ASSERT_INVLIST_EXTEND \ - assert(invlist) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE UV S_invlist_max(SV* const invlist) __attribute__warn_unused_result__; @@ -4226,11 +4334,6 @@ STATIC void S_invlist_replace_list_destroys_src(pTHX_ SV *dest, SV *src); #define PERL_ARGS_ASSERT_INVLIST_REPLACE_LIST_DESTROYS_SRC \ assert(dest); assert(src) #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE void S_invlist_set_len(pTHX_ SV* const invlist, const UV len, const bool offset); -#define PERL_ARGS_ASSERT_INVLIST_SET_LEN \ - assert(invlist) -#endif -#ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void S_invlist_set_previous_index(SV* const invlist, const IV index); #define PERL_ARGS_ASSERT_INVLIST_SET_PREVIOUS_INDEX \ assert(invlist) @@ -4241,9 +4344,15 @@ PERL_STATIC_INLINE void S_invlist_trim(SV* invlist); assert(invlist) #endif # endif +# if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) +PERL_CALLCONV SV* Perl_get_regclass_nonbitmap_data(pTHX_ const regexp *prog, const struct regnode *node, bool doinit, SV **listsvp, SV **lonly_utf8_locale, SV **output_invlist); +#define PERL_ARGS_ASSERT_GET_REGCLASS_NONBITMAP_DATA \ + assert(node) +# endif #endif #if !defined(PERL_IMPLICIT_SYS) PERL_CALLCONV I32 Perl_my_pclose(pTHX_ PerlIO* ptr); +#define PERL_ARGS_ASSERT_MY_PCLOSE PERL_CALLCONV PerlIO* Perl_my_popen(pTHX_ const char* cmd, const char* mode); #define PERL_ARGS_ASSERT_MY_POPEN \ assert(cmd); assert(mode) @@ -4257,95 +4366,99 @@ STATIC SV * S_incpush_if_exists(pTHX_ AV *const av, SV *dir, SV *const stem); #endif #if !defined(PERL_NO_INLINE_FUNCTIONS) #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE void S_cx_popblock(pTHX_ PERL_CONTEXT *cx); +PERL_STATIC_INLINE void Perl_cx_popblock(pTHX_ PERL_CONTEXT *cx); #define PERL_ARGS_ASSERT_CX_POPBLOCK \ assert(cx) #endif #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE void S_cx_popeval(pTHX_ PERL_CONTEXT *cx); +PERL_STATIC_INLINE void Perl_cx_popeval(pTHX_ PERL_CONTEXT *cx); #define PERL_ARGS_ASSERT_CX_POPEVAL \ assert(cx) #endif #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE void S_cx_popformat(pTHX_ PERL_CONTEXT *cx); +PERL_STATIC_INLINE void Perl_cx_popformat(pTHX_ PERL_CONTEXT *cx); #define PERL_ARGS_ASSERT_CX_POPFORMAT \ assert(cx) #endif #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE void S_cx_popgiven(pTHX_ PERL_CONTEXT *cx); +PERL_STATIC_INLINE void Perl_cx_popgiven(pTHX_ PERL_CONTEXT *cx); #define PERL_ARGS_ASSERT_CX_POPGIVEN \ assert(cx) #endif #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE void S_cx_poploop(pTHX_ PERL_CONTEXT *cx); +PERL_STATIC_INLINE void Perl_cx_poploop(pTHX_ PERL_CONTEXT *cx); #define PERL_ARGS_ASSERT_CX_POPLOOP \ assert(cx) #endif #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE void S_cx_popsub(pTHX_ PERL_CONTEXT *cx); +PERL_STATIC_INLINE void Perl_cx_popsub(pTHX_ PERL_CONTEXT *cx); #define PERL_ARGS_ASSERT_CX_POPSUB \ assert(cx) #endif #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE void S_cx_popsub_args(pTHX_ PERL_CONTEXT *cx); +PERL_STATIC_INLINE void Perl_cx_popsub_args(pTHX_ PERL_CONTEXT *cx); #define PERL_ARGS_ASSERT_CX_POPSUB_ARGS \ assert(cx) #endif #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE void S_cx_popsub_common(pTHX_ PERL_CONTEXT *cx); +PERL_STATIC_INLINE void Perl_cx_popsub_common(pTHX_ PERL_CONTEXT *cx); #define PERL_ARGS_ASSERT_CX_POPSUB_COMMON \ assert(cx) #endif #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE void S_cx_popwhen(pTHX_ PERL_CONTEXT *cx); +PERL_STATIC_INLINE void Perl_cx_popwhen(pTHX_ PERL_CONTEXT *cx); #define PERL_ARGS_ASSERT_CX_POPWHEN \ assert(cx) #endif #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE PERL_CONTEXT * S_cx_pushblock(pTHX_ U8 type, U8 gimme, SV** sp, I32 saveix); +PERL_STATIC_INLINE PERL_CONTEXT * Perl_cx_pushblock(pTHX_ U8 type, U8 gimme, SV** sp, I32 saveix); #define PERL_ARGS_ASSERT_CX_PUSHBLOCK \ assert(sp) #endif #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE void S_cx_pusheval(pTHX_ PERL_CONTEXT *cx, OP *retop, SV *namesv); +PERL_STATIC_INLINE void Perl_cx_pusheval(pTHX_ PERL_CONTEXT *cx, OP *retop, SV *namesv); #define PERL_ARGS_ASSERT_CX_PUSHEVAL \ assert(cx) #endif #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE void S_cx_pushformat(pTHX_ PERL_CONTEXT *cx, CV *cv, OP *retop, GV *gv); +PERL_STATIC_INLINE void Perl_cx_pushformat(pTHX_ PERL_CONTEXT *cx, CV *cv, OP *retop, GV *gv); #define PERL_ARGS_ASSERT_CX_PUSHFORMAT \ assert(cx); assert(cv) #endif #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE void S_cx_pushgiven(pTHX_ PERL_CONTEXT *cx, SV *orig_defsv); +PERL_STATIC_INLINE void Perl_cx_pushgiven(pTHX_ PERL_CONTEXT *cx, SV *orig_defsv); #define PERL_ARGS_ASSERT_CX_PUSHGIVEN \ assert(cx) #endif #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE void S_cx_pushloop_for(pTHX_ PERL_CONTEXT *cx, void *itervarp, SV *itersave); +PERL_STATIC_INLINE void Perl_cx_pushloop_for(pTHX_ PERL_CONTEXT *cx, void *itervarp, SV *itersave); #define PERL_ARGS_ASSERT_CX_PUSHLOOP_FOR \ assert(cx); assert(itervarp) #endif #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE void S_cx_pushloop_plain(pTHX_ PERL_CONTEXT *cx); +PERL_STATIC_INLINE void Perl_cx_pushloop_plain(pTHX_ PERL_CONTEXT *cx); #define PERL_ARGS_ASSERT_CX_PUSHLOOP_PLAIN \ assert(cx) #endif #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE void S_cx_pushsub(pTHX_ PERL_CONTEXT *cx, CV *cv, OP *retop, bool hasargs); +PERL_STATIC_INLINE void Perl_cx_pushsub(pTHX_ PERL_CONTEXT *cx, CV *cv, OP *retop, bool hasargs); #define PERL_ARGS_ASSERT_CX_PUSHSUB \ assert(cx); assert(cv) #endif #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE void S_cx_pushwhen(pTHX_ PERL_CONTEXT *cx); +PERL_STATIC_INLINE void Perl_cx_pushwhen(pTHX_ PERL_CONTEXT *cx); #define PERL_ARGS_ASSERT_CX_PUSHWHEN \ assert(cx) #endif #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE void S_cx_topblock(pTHX_ PERL_CONTEXT *cx); +PERL_STATIC_INLINE void Perl_cx_topblock(pTHX_ PERL_CONTEXT *cx); #define PERL_ARGS_ASSERT_CX_TOPBLOCK \ assert(cx) #endif +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE U8 Perl_gimme_V(pTHX); +#define PERL_ARGS_ASSERT_GIMME_V +#endif #endif #if !defined(PERL_NO_UTF16_FILTER) # if defined(PERL_IN_TOKE_C) @@ -4378,6 +4491,13 @@ PERL_CALLCONV bool Perl_do_exec3(pTHX_ const char *incmd, int fd, int do_report) #define PERL_ARGS_ASSERT_DO_EXEC3 \ assert(incmd) #endif +#if 0 /* Not currently used, but may be needed in the future */ +# if defined(PERL_IN_UTF8_C) +STATIC void S_warn_on_first_deprecated_use(pTHX_ const char * const name, const char * const alternative, const bool use_locale, const char * const file, const unsigned line); +#define PERL_ARGS_ASSERT_WARN_ON_FIRST_DEPRECATED_USE \ + assert(name); assert(alternative); assert(file) +# endif +#endif #if defined (HAS_SOCKETPAIR) || (defined (HAS_SOCKET) && defined(SOCK_DGRAM) && defined(AF_INET) && defined(PF_INET)) PERL_CALLCONV int Perl_PerlSock_socketpair_cloexec(pTHX_ int domain, int type, int protocol, int *pairfd) __attribute__warn_unused_result__; @@ -4398,6 +4518,7 @@ PERL_CALLCONV void Perl_pad_setsv(pTHX_ PADOFFSET po, SV* sv); #define PERL_ARGS_ASSERT_PAD_SETSV \ assert(sv) PERL_CALLCONV SV* Perl_pad_sv(pTHX_ PADOFFSET po); +#define PERL_ARGS_ASSERT_PAD_SV PERL_CALLCONV void Perl_set_padlist(CV * cv, PADLIST * padlist); #define PERL_ARGS_ASSERT_SET_PADLIST \ assert(cv) @@ -4411,6 +4532,7 @@ STATIC void S_print_collxfrm_input_and_return(pTHX_ const char * const s, const assert(s); assert(e) STATIC char * S_setlocale_debug_string(const int category, const char* const locale, const char* const retval) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_SETLOCALE_DEBUG_STRING # endif # endif @@ -4432,7 +4554,7 @@ STATIC void S_dump_trie_interim_table(pTHX_ const struct _reg_trie_data *trie, H STATIC const regnode* S_dumpuntil(pTHX_ const regexp *r, const regnode *start, const regnode *node, const regnode *last, const regnode *plast, SV* sv, I32 indent, U32 depth); #define PERL_ARGS_ASSERT_DUMPUNTIL \ assert(r); assert(start); assert(node); assert(sv) -STATIC bool S_put_charclass_bitmap_innards(pTHX_ SV* sv, char* bitmap, SV* nonbitmap_invlist, SV* only_utf8_locale_invlist, const regnode * const node, const bool force_as_is_display); +STATIC bool S_put_charclass_bitmap_innards(pTHX_ SV* sv, char* bitmap, SV* nonbitmap_invlist, SV* only_utf8_locale_invlist, const regnode * const node, const U8 flags, const bool force_as_is_display); #define PERL_ARGS_ASSERT_PUT_CHARCLASS_BITMAP_INNARDS \ assert(sv) STATIC SV* S_put_charclass_bitmap_innards_common(pTHX_ SV* invlist, SV* posixes, SV* only_utf8, SV* not_utf8, SV* only_utf8_locale, const bool invert); @@ -4451,10 +4573,14 @@ PERL_CALLCONV int Perl_re_indentf(pTHX_ const char *fmt, U32 depth, ...); #define PERL_ARGS_ASSERT_RE_INDENTF \ assert(fmt) STATIC void S_regdump_extflags(pTHX_ const char *lead, const U32 flags); +#define PERL_ARGS_ASSERT_REGDUMP_EXTFLAGS STATIC void S_regdump_intflags(pTHX_ const char *lead, const U32 flags); -STATIC bool S_regtail_study(pTHX_ RExC_state_t *pRExC_state, regnode_offset p, const regnode_offset val, U32 depth); +#define PERL_ARGS_ASSERT_REGDUMP_INTFLAGS +STATIC bool S_regtail_study(pTHX_ RExC_state_t *pRExC_state, regnode_offset p, const regnode_offset val, U32 depth) + __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_REGTAIL_STUDY \ assert(pRExC_state); assert(p); assert(val) + # endif # if defined(PERL_IN_REGEXEC_C) STATIC void S_debug_start_match(pTHX_ const REGEXP *prog, const bool do_utf8, const char *start, const char *end, const char *blurb); @@ -4495,14 +4621,6 @@ PERL_CALLCONV void Perl_dump_sv_child(pTHX_ SV *sv); #define PERL_ARGS_ASSERT_DUMP_SV_CHILD \ assert(sv) #endif -#if defined(HAS_MEMMEM) -PERL_CALLCONV char* Perl_ninstr(const char* big, const char* bigend, const char* little, const char* lend) - __attribute__warn_unused_result__ - __attribute__pure__; -#define PERL_ARGS_ASSERT_NINSTR \ - assert(big); assert(bigend); assert(little); assert(lend) - -#endif #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM) PERL_CALLCONV I32 Perl_do_ipcctl(pTHX_ I32 optype, SV** mark, SV** sp); #define PERL_ARGS_ASSERT_DO_IPCCTL \ @@ -4526,10 +4644,12 @@ PERL_CALLCONV I32 Perl_do_shmio(pTHX_ I32 optype, SV** mark, SV** sp); #if defined(HAS_NL_LANGINFO) # if defined(PERL_IN_LOCALE_C) STATIC const char* S_my_nl_langinfo(const nl_item item, bool toggle); +#define PERL_ARGS_ASSERT_MY_NL_LANGINFO # endif #endif #if defined(HAS_NL_LANGINFO) && defined(PERL_LANGINFO_H) PERL_CALLCONV const char* Perl_langinfo(const nl_item item); +#define PERL_ARGS_ASSERT_PERL_LANGINFO #endif #if defined(HAS_PIPE) PERL_CALLCONV int Perl_PerlProc_pipe_cloexec(pTHX_ int *pipefd) @@ -4537,22 +4657,22 @@ PERL_CALLCONV int Perl_PerlProc_pipe_cloexec(pTHX_ int *pipefd) #define PERL_ARGS_ASSERT_PERLPROC_PIPE_CLOEXEC \ assert(pipefd) -#endif -#if defined(HAS_SIGACTION) && defined(SA_SIGINFO) -PERL_CALLCONV Signal_t Perl_csighandler(int sig, siginfo_t *info, void *uap); -PERL_CALLCONV Signal_t Perl_sighandler(int sig, siginfo_t *info, void *uap); #endif #if defined(HAS_SOCKET) PERL_CALLCONV int Perl_PerlSock_accept_cloexec(pTHX_ int listenfd, struct sockaddr *addr, Sock_size_t *addrlen) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_PERLSOCK_ACCEPT_CLOEXEC PERL_CALLCONV int Perl_PerlSock_socket_cloexec(pTHX_ int domain, int type, int protocol) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_PERLSOCK_SOCKET_CLOEXEC #endif #if defined(HAVE_INTERP_INTERN) PERL_CALLCONV void Perl_sys_intern_clear(pTHX); +#define PERL_ARGS_ASSERT_SYS_INTERN_CLEAR PERL_CALLCONV void Perl_sys_intern_init(pTHX); +#define PERL_ARGS_ASSERT_SYS_INTERN_INIT # if defined(USE_ITHREADS) PERL_CALLCONV void Perl_sys_intern_dup(pTHX_ struct interp_intern* src, struct interp_intern* dst); #define PERL_ARGS_ASSERT_SYS_INTERN_DUP \ @@ -4568,6 +4688,7 @@ PERL_CALLCONV int Perl_get_mstats(pTHX_ perl_mstats_t *buf, int buflen, int leve assert(buf) PERL_CALLCONV MEM_SIZE Perl_malloc_good_size(size_t nbytes) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_MALLOC_GOOD_SIZE PERL_CALLCONV MEM_SIZE Perl_malloced_size(void *p) __attribute__warn_unused_result__; @@ -4611,7 +4732,7 @@ PERL_CALLCONV void Perl_Slab_to_rw(pTHX_ OPSLAB *const slab); #endif #if defined(PERL_CORE) || defined (PERL_EXT) #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE bool S_is_utf8_non_invariant_string(const U8* const s, STRLEN len) +PERL_STATIC_INLINE bool Perl_is_utf8_non_invariant_string(const U8* const s, STRLEN len) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_IS_UTF8_NON_INVARIANT_STRING \ assert(s) @@ -4640,6 +4761,7 @@ PERL_STATIC_INLINE Size_t S_variant_under_utf8_count(const U8* const s, const U8 #if defined(PERL_CR_FILTER) # if defined(PERL_IN_TOKE_C) STATIC I32 S_cr_textfilter(pTHX_ int idx, SV *sv, int maxlen); +#define PERL_ARGS_ASSERT_CR_TEXTFILTER STATIC void S_strip_return(pTHX_ SV *sv); #define PERL_ARGS_ASSERT_STRIP_RETURN \ assert(sv) @@ -4660,21 +4782,27 @@ PERL_CALLCONV PADOFFSET Perl_op_refcnt_dec(pTHX_ OP *o); #define PERL_ARGS_ASSERT_OP_REFCNT_DEC \ assert(o) PERL_CALLCONV OP * Perl_op_refcnt_inc(pTHX_ OP *o); +#define PERL_ARGS_ASSERT_OP_REFCNT_INC #endif #if defined(PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION) -/* PERL_CALLCONV bool Perl_do_exec(pTHX_ const char* cmd); */ +PERL_CALLCONV bool Perl_do_exec(pTHX_ const char* cmd); +#define PERL_ARGS_ASSERT_DO_EXEC \ + assert(cmd) #endif #if defined(PERL_DONT_CREATE_GVSV) #ifndef NO_MATHOMS PERL_CALLCONV GV* Perl_gv_SVadd(pTHX_ GV *gv); +#define PERL_ARGS_ASSERT_GV_SVADD #endif #endif #if defined(PERL_GLOBAL_STRUCT) PERL_CALLCONV struct perl_vars * Perl_GetVars(pTHX); +#define PERL_ARGS_ASSERT_GETVARS PERL_CALLCONV void Perl_free_global_struct(pTHX_ struct perl_vars *plvarsp); #define PERL_ARGS_ASSERT_FREE_GLOBAL_STRUCT \ assert(plvarsp) PERL_CALLCONV struct perl_vars* Perl_init_global_struct(pTHX); +#define PERL_ARGS_ASSERT_INIT_GLOBAL_STRUCT #endif #if defined(PERL_GLOBAL_STRUCT_PRIVATE) # if defined(PERL_IMPLICIT_CONTEXT) @@ -4690,6 +4818,7 @@ PERL_CALLCONV void* Perl_my_cxt_init(pTHX_ const char *my_cxt_key, size_t size); PERL_CALLCONV_NO_RET void Perl_croak_nocontext(const char* pat, ...) __attribute__noreturn__ __attribute__format__null_ok__(__printf__,1,2); +#define PERL_ARGS_ASSERT_CROAK_NOCONTEXT PERL_CALLCONV void Perl_deb_nocontext(const char* pat, ...) __attribute__format__(__printf__,1,2); @@ -4699,6 +4828,7 @@ PERL_CALLCONV void Perl_deb_nocontext(const char* pat, ...) PERL_CALLCONV_NO_RET OP* Perl_die_nocontext(const char* pat, ...) __attribute__noreturn__ __attribute__format__null_ok__(__printf__,1,2); +#define PERL_ARGS_ASSERT_DIE_NOCONTEXT PERL_CALLCONV char* Perl_form_nocontext(const char* pat, ...) __attribute__format__(__printf__,1,2); @@ -4707,6 +4837,7 @@ PERL_CALLCONV char* Perl_form_nocontext(const char* pat, ...) #ifndef NO_MATHOMS PERL_CALLCONV int Perl_fprintf_nocontext(PerlIO *stream, const char *format, ...) + __attribute__deprecated__ __attribute__format__(__printf__,2,3); #define PERL_ARGS_ASSERT_FPRINTF_NOCONTEXT \ assert(stream); assert(format) @@ -4727,6 +4858,7 @@ PERL_CALLCONV SV* Perl_newSVpvf_nocontext(const char *const pat, ...) #ifndef NO_MATHOMS PERL_CALLCONV int Perl_printf_nocontext(const char *format, ...) + __attribute__deprecated__ __attribute__format__(__printf__,1,2); #define PERL_ARGS_ASSERT_PRINTF_NOCONTEXT \ assert(format) @@ -4792,6 +4924,7 @@ STATIC void S_exec_failed(pTHX_ const char *cmd, int fd, int do_report); assert(cmd) STATIC bool S_ingroup(pTHX_ Gid_t testgid, bool effective) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_INGROUP STATIC bool S_openn_cleanup(pTHX_ GV *gv, IO *io, PerlIO *fp, char *mode, const char *oname, PerlIO *saveifp, PerlIO *saveofp, int savefd, char savetype, int writing, bool was_fdopen, const char *type, Stat_t *statbufp); #define PERL_ARGS_ASSERT_OPENN_CLEANUP \ @@ -4801,39 +4934,35 @@ STATIC IO * S_openn_setup(pTHX_ GV *gv, char *mode, PerlIO **saveifp, PerlIO **s assert(gv); assert(mode); assert(saveifp); assert(saveofp); assert(savefd); assert(savetype) #endif #if defined(PERL_IN_DOOP_C) -STATIC Size_t S_do_trans_complex(pTHX_ SV * const sv) +STATIC Size_t S_do_trans_complex(pTHX_ SV * const sv, const OPtrans_map * const tbl) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DO_TRANS_COMPLEX \ - assert(sv) - -STATIC Size_t S_do_trans_complex_utf8(pTHX_ SV * const sv) - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_DO_TRANS_COMPLEX_UTF8 \ - assert(sv) + assert(sv); assert(tbl) -STATIC Size_t S_do_trans_count(pTHX_ SV * const sv) +STATIC Size_t S_do_trans_count(pTHX_ SV * const sv, const OPtrans_map * const tbl) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DO_TRANS_COUNT \ - assert(sv) + assert(sv); assert(tbl) -STATIC Size_t S_do_trans_count_utf8(pTHX_ SV * const sv) +STATIC Size_t S_do_trans_count_invmap(pTHX_ SV * const sv, AV * const map) __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_DO_TRANS_COUNT_UTF8 \ - assert(sv) +#define PERL_ARGS_ASSERT_DO_TRANS_COUNT_INVMAP \ + assert(sv); assert(map) -STATIC Size_t S_do_trans_simple(pTHX_ SV * const sv) +STATIC Size_t S_do_trans_invmap(pTHX_ SV * const sv, AV * const map) __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_DO_TRANS_SIMPLE \ - assert(sv) +#define PERL_ARGS_ASSERT_DO_TRANS_INVMAP \ + assert(sv); assert(map) -STATIC Size_t S_do_trans_simple_utf8(pTHX_ SV * const sv) +STATIC Size_t S_do_trans_simple(pTHX_ SV * const sv, const OPtrans_map * const tbl) __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_DO_TRANS_SIMPLE_UTF8 \ - assert(sv) +#define PERL_ARGS_ASSERT_DO_TRANS_SIMPLE \ + assert(sv); assert(tbl) #endif #if defined(PERL_IN_DUMP_C) STATIC CV* S_deb_curcv(pTHX_ I32 ix); +#define PERL_ARGS_ASSERT_DEB_CURCV STATIC void S_debprof(pTHX_ const OP *o); #define PERL_ARGS_ASSERT_DEBPROF \ assert(o) @@ -4841,6 +4970,7 @@ STATIC SV* S_pm_description(pTHX_ const PMOP *pm); #define PERL_ARGS_ASSERT_PM_DESCRIPTION \ assert(pm) STATIC UV S_sequence_num(pTHX_ const OP *o); +#define PERL_ARGS_ASSERT_SEQUENCE_NUM #endif #if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_SCOPE_C) PERL_CALLCONV void Perl_hv_kill_backrefs(pTHX_ HV *hv); @@ -4853,6 +4983,7 @@ STATIC bool S_find_default_stash(pTHX_ HV **stash, const char *name, STRLEN len, assert(stash); assert(name) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE GV* S_gv_fetchmeth_internal(pTHX_ HV* stash, SV* meth, const char* name, STRLEN len, I32 level, U32 flags); +#define PERL_ARGS_ASSERT_GV_FETCHMETH_INTERNAL #endif STATIC void S_gv_init_svtype(pTHX_ GV *gv, const svtype sv_type); #define PERL_ARGS_ASSERT_GV_INIT_SVTYPE \ @@ -4871,9 +5002,6 @@ PERL_STATIC_INLINE HV* S_gv_stashpvn_internal(pTHX_ const char* name, U32 namele #define PERL_ARGS_ASSERT_GV_STASHPVN_INTERNAL \ assert(name) #endif -#ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE HV* S_gv_stashsvpvn_cached(pTHX_ SV *namesv, const char* name, U32 namelen, I32 flags); -#endif STATIC void S_maybe_multimagic_gv(pTHX_ GV *gv, const char *name, const svtype sv_type); #define PERL_ARGS_ASSERT_MAYBE_MULTIMAGIC_GV \ assert(gv); assert(name) @@ -4889,6 +5017,9 @@ PERL_CALLCONV void Perl_sv_add_backref(pTHX_ SV *const tsv, SV *const sv); #define PERL_ARGS_ASSERT_SV_ADD_BACKREF \ assert(tsv); assert(sv) #endif +#if defined(PERL_IN_GV_C) || defined(PERL_IN_UNIVERSAL_C) +PERL_CALLCONV HV* Perl_gv_stashsvpvn_cached(pTHX_ SV *namesv, const char* name, U32 namelen, I32 flags); +#endif #if defined(PERL_IN_HV_C) STATIC void S_clear_placeholders(pTHX_ HV *hv, U32 items); #define PERL_ARGS_ASSERT_CLEAR_PLACEHOLDERS \ @@ -4903,6 +5034,7 @@ STATIC struct xpvhv_aux* S_hv_auxinit_internal(struct xpvhv_aux *iter); #define PERL_ARGS_ASSERT_HV_AUXINIT_INTERNAL \ assert(iter) STATIC SV* S_hv_delete_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen, int k_flags, I32 d_flags, U32 hash); +#define PERL_ARGS_ASSERT_HV_DELETE_COMMON STATIC SV* S_hv_free_ent_ret(pTHX_ HV *hv, HE *entry); #define PERL_ARGS_ASSERT_HV_FREE_ENT_RET \ assert(hv); assert(entry) @@ -4919,9 +5051,11 @@ PERL_STATIC_NO_RET void S_hv_notallowed(pTHX_ int flags, const char *key, I32 kl STATIC HE* S_new_he(pTHX) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NEW_HE #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE U32 S_ptr_hash(PTRV u); +#define PERL_ARGS_ASSERT_PTR_HASH #endif STATIC SV * S_refcounted_he_value(pTHX_ const struct refcounted_he *he); #define PERL_ARGS_ASSERT_REFCOUNTED_HE_VALUE \ @@ -4938,6 +5072,7 @@ STATIC HEK* S_share_hek_flags(pTHX_ const char *str, STRLEN len, U32 hash, int f assert(str) STATIC void S_unshare_hek_or_pvn(pTHX_ const HEK* hek, const char* str, I32 len, U32 hash); +#define PERL_ARGS_ASSERT_UNSHARE_HEK_OR_PVN #endif #if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C) PERL_CALLCONV void Perl_sv_kill_backrefs(pTHX_ SV *const sv, AV *const av); @@ -4959,22 +5094,30 @@ PERL_STATIC_INLINE const char * S_save_to_buffer(const char * string, char **buf # if defined(USE_LOCALE) STATIC const char* S_category_name(const int category); +#define PERL_ARGS_ASSERT_CATEGORY_NAME STATIC void S_new_collate(pTHX_ const char* newcoll); +#define PERL_ARGS_ASSERT_NEW_COLLATE STATIC void S_new_ctype(pTHX_ const char* newctype); #define PERL_ARGS_ASSERT_NEW_CTYPE \ assert(newctype) STATIC void S_new_numeric(pTHX_ const char* newnum); +#define PERL_ARGS_ASSERT_NEW_NUMERIC STATIC void S_restore_switched_locale(pTHX_ const int category, const char * const original_locale); +#define PERL_ARGS_ASSERT_RESTORE_SWITCHED_LOCALE STATIC void S_set_numeric_radix(pTHX_ const bool use_locale); +#define PERL_ARGS_ASSERT_SET_NUMERIC_RADIX STATIC char* S_stdize_locale(pTHX_ char* locs); #define PERL_ARGS_ASSERT_STDIZE_LOCALE \ assert(locs) STATIC const char* S_switch_category_locale_to_template(pTHX_ const int switch_category, const int template_category, const char * template_locale); +#define PERL_ARGS_ASSERT_SWITCH_CATEGORY_LOCALE_TO_TEMPLATE # if defined(USE_POSIX_2008_LOCALE) STATIC const char* S_emulate_setlocale(const int category, const char* locale, unsigned int index, const bool is_index_valid); +#define PERL_ARGS_ASSERT_EMULATE_SETLOCALE # endif # if defined(WIN32) STATIC char* S_win32_setlocale(pTHX_ int category, const char* locale); +#define PERL_ARGS_ASSERT_WIN32_SETLOCALE # endif # endif #endif @@ -5001,10 +5144,12 @@ STATIC int S_magic_methpack(pTHX_ SV *sv, const MAGIC *mg, SV *meth); #define PERL_ARGS_ASSERT_MAGIC_METHPACK \ assert(sv); assert(mg); assert(meth) STATIC void S_restore_magic(pTHX_ const void *p); +#define PERL_ARGS_ASSERT_RESTORE_MAGIC STATIC void S_save_magic_flags(pTHX_ I32 mgs_ix, SV *sv, U32 flags); #define PERL_ARGS_ASSERT_SAVE_MAGIC_FLAGS \ assert(sv) STATIC void S_unwind_handler_stack(pTHX_ const void *p); +#define PERL_ARGS_ASSERT_UNWIND_HANDLER_STACK #endif #if defined(PERL_IN_MG_C) || defined(PERL_IN_PP_C) PERL_CALLCONV bool Perl_translate_substr_offsets(STRLEN curlen, IV pos1_iv, bool pos1_is_uv, IV len_iv, bool len_is_uv, STRLEN *posp, STRLEN *lenp); @@ -5022,6 +5167,10 @@ STATIC AV* S_mro_get_linear_isa_dfs(pTHX_ HV* stash, U32 level); #define PERL_ARGS_ASSERT_MRO_GET_LINEAR_ISA_DFS \ assert(stash) #endif +#if defined(PERL_IN_NUMERIC_C) +STATIC void S_output_non_portable(pTHX_ const U8 shift); +#define PERL_ARGS_ASSERT_OUTPUT_NON_PORTABLE +#endif #if defined(PERL_IN_OP_C) STATIC void S_apply_attrs(pTHX_ HV *stash, SV *target, OP *attrs); #define PERL_ARGS_ASSERT_APPLY_ATTRS \ @@ -5031,6 +5180,7 @@ STATIC void S_apply_attrs_my(pTHX_ HV *stash, OP *target, OP *attrs, OP **imopsp assert(stash); assert(target); assert(imopsp) STATIC I32 S_assignment_type(pTHX_ const OP *o) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_ASSIGNMENT_TYPE STATIC void S_bad_type_gv(pTHX_ I32 n, GV *gv, const OP *kid, const char *t); #define PERL_ARGS_ASSERT_BAD_TYPE_GV \ @@ -5057,10 +5207,12 @@ STATIC OP* S_fold_constants(pTHX_ OP * const o); #define PERL_ARGS_ASSERT_FOLD_CONSTANTS \ assert(o) STATIC OP* S_force_list(pTHX_ OP* arg, bool nullit); +#define PERL_ARGS_ASSERT_FORCE_LIST STATIC void S_forget_pmop(pTHX_ PMOP *const o); #define PERL_ARGS_ASSERT_FORGET_PMOP \ assert(o) -STATIC OP* S_gen_constant_list(pTHX_ OP* o); +STATIC void S_gen_constant_list(pTHX_ OP* o); +#define PERL_ARGS_ASSERT_GEN_CONSTANT_LIST STATIC void S_inplace_aassign(pTHX_ OP* o); #define PERL_ARGS_ASSERT_INPLACE_AASSIGN \ assert(o) @@ -5070,10 +5222,12 @@ STATIC bool S_is_handle_constructor(const OP *o, I32 numargs) assert(o) STATIC OP* S_listkids(pTHX_ OP* o); +#define PERL_ARGS_ASSERT_LISTKIDS STATIC bool S_looks_like_bool(pTHX_ const OP* o); #define PERL_ARGS_ASSERT_LOOKS_LIKE_BOOL \ assert(o) STATIC OP* S_modkids(pTHX_ OP *o, I32 type); +#define PERL_ARGS_ASSERT_MODKIDS STATIC void S_move_proto_attr(pTHX_ OP **proto, OP **attrs, const GV *name, bool curstash); #define PERL_ARGS_ASSERT_MOVE_PROTO_ATTR \ assert(proto); assert(attrs); assert(name) @@ -5085,6 +5239,7 @@ STATIC OP* S_newGIVWHENOP(pTHX_ OP* cond, OP *block, I32 enter_opcode, I32 leave assert(block) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE OP* S_newMETHOP_internal(pTHX_ I32 type, I32 flags, OP* dynamic_meth, SV* const_meth); +#define PERL_ARGS_ASSERT_NEWMETHOP_INTERNAL #endif STATIC OP* S_new_logop(pTHX_ I32 type, I32 flags, OP **firstp, OP **otherp) __attribute__warn_unused_result__; @@ -5119,15 +5274,20 @@ STATIC bool S_process_special_blocks(pTHX_ I32 floor, const char *const fullname #define PERL_ARGS_ASSERT_PROCESS_SPECIAL_BLOCKS \ assert(fullname); assert(gv); assert(cv) STATIC OP* S_ref_array_or_hash(pTHX_ OP* cond); +#define PERL_ARGS_ASSERT_REF_ARRAY_OR_HASH STATIC OP* S_refkids(pTHX_ OP* o, I32 type); +#define PERL_ARGS_ASSERT_REFKIDS STATIC bool S_scalar_mod_type(const OP *o, I32 type) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_SCALAR_MOD_TYPE STATIC OP* S_scalarboolean(pTHX_ OP *o); #define PERL_ARGS_ASSERT_SCALARBOOLEAN \ assert(o) STATIC OP* S_scalarkids(pTHX_ OP* o); +#define PERL_ARGS_ASSERT_SCALARKIDS STATIC OP* S_scalarseq(pTHX_ OP* o); +#define PERL_ARGS_ASSERT_SCALARSEQ STATIC OP* S_search_const(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SEARCH_CONST \ @@ -5171,12 +5331,27 @@ STATIC PADOFFSET S_pad_findlex(pTHX_ const char *namepv, STRLEN namelen, U32 fla #define PERL_ARGS_ASSERT_PAD_FINDLEX \ assert(namepv); assert(cv); assert(out_name); assert(out_flags) STATIC void S_pad_reset(pTHX); +#define PERL_ARGS_ASSERT_PAD_RESET +#endif +#if defined(PERL_IN_PAD_C) || defined(PERL_IN_OP_C) +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE bool S_PadnameIN_SCOPE(const PADNAME * const pn, const U32 seq); +#define PERL_ARGS_ASSERT_PADNAMEIN_SCOPE \ + assert(pn) +#endif +#endif +#if defined(PERL_IN_PERLY_C) || defined(PERL_IN_OP_C) || defined(PERL_IN_TOKE_C) +#ifndef NO_MATHOMS +PERL_CALLCONV OP* Perl_ref(pTHX_ OP* o, I32 type); +#define PERL_ARGS_ASSERT_REF +#endif #endif #if defined(PERL_IN_PERL_C) STATIC void S_find_beginning(pTHX_ SV* linestr_sv, PerlIO *rsfp); #define PERL_ARGS_ASSERT_FIND_BEGINNING \ assert(linestr_sv); assert(rsfp) STATIC void S_forbid_setid(pTHX_ const char flag, const bool suidscript); +#define PERL_ARGS_ASSERT_FORBID_SETID STATIC void S_incpush(pTHX_ const char *const dir, STRLEN len, U32 flags); #define PERL_ARGS_ASSERT_INCPUSH \ assert(dir) @@ -5184,32 +5359,43 @@ STATIC void S_incpush_use_sep(pTHX_ const char *p, STRLEN len, U32 flags); #define PERL_ARGS_ASSERT_INCPUSH_USE_SEP \ assert(p) STATIC void S_init_ids(pTHX); +#define PERL_ARGS_ASSERT_INIT_IDS STATIC void S_init_interp(pTHX); +#define PERL_ARGS_ASSERT_INIT_INTERP STATIC void S_init_main_stash(pTHX); +#define PERL_ARGS_ASSERT_INIT_MAIN_STASH STATIC void S_init_perllib(pTHX); +#define PERL_ARGS_ASSERT_INIT_PERLLIB STATIC void S_init_postdump_symbols(pTHX_ int argc, char **argv, char **env); #define PERL_ARGS_ASSERT_INIT_POSTDUMP_SYMBOLS \ assert(argv) STATIC void S_init_predump_symbols(pTHX); +#define PERL_ARGS_ASSERT_INIT_PREDUMP_SYMBOLS STATIC SV* S_mayberelocate(pTHX_ const char *const dir, STRLEN len, U32 flags); #define PERL_ARGS_ASSERT_MAYBERELOCATE \ assert(dir) PERL_STATIC_NO_RET void S_minus_v(pTHX) __attribute__noreturn__; +#define PERL_ARGS_ASSERT_MINUS_V PERL_STATIC_NO_RET void S_my_exit_jump(pTHX) __attribute__noreturn__; +#define PERL_ARGS_ASSERT_MY_EXIT_JUMP STATIC void S_nuke_stacks(pTHX); +#define PERL_ARGS_ASSERT_NUKE_STACKS STATIC PerlIO * S_open_script(pTHX_ const char *scriptname, bool dosearch, bool *suidscript); #define PERL_ARGS_ASSERT_OPEN_SCRIPT \ assert(scriptname); assert(suidscript) STATIC void* S_parse_body(pTHX_ char **env, XSINIT_t xsinit); +#define PERL_ARGS_ASSERT_PARSE_BODY PERL_STATIC_NO_RET void S_run_body(pTHX_ I32 oldscope) __attribute__noreturn__; +#define PERL_ARGS_ASSERT_RUN_BODY PERL_STATIC_NO_RET void S_usage(pTHX) __attribute__noreturn__; +#define PERL_ARGS_ASSERT_USAGE #endif #if defined(PERL_IN_PP_C) @@ -5217,6 +5403,7 @@ STATIC size_t S_do_chomp(pTHX_ SV *retval, SV *sv, bool chomping); #define PERL_ARGS_ASSERT_DO_CHOMP \ assert(retval); assert(sv) STATIC OP* S_do_delete_local(pTHX); +#define PERL_ARGS_ASSERT_DO_DELETE_LOCAL STATIC SV* S_refto(pTHX_ SV* sv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_REFTO \ @@ -5224,6 +5411,13 @@ STATIC SV* S_refto(pTHX_ SV* sv) #endif #if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C) +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE bool S_lossless_NV_to_IV(const NV nv, IV * ivp) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_LOSSLESS_NV_TO_IV \ + assert(ivp) +#endif + PERL_CALLCONV GV* Perl_softref2xv(pTHX_ SV *const sv, const char *const what, const svtype type, SV ***spp) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SOFTREF2XV \ @@ -5240,10 +5434,13 @@ STATIC void S_destroy_matcher(pTHX_ PMOP* matcher); #define PERL_ARGS_ASSERT_DESTROY_MATCHER \ assert(matcher) STATIC OP* S_do_smartmatch(pTHX_ HV* seen_this, HV* seen_other, const bool copied); +#define PERL_ARGS_ASSERT_DO_SMARTMATCH STATIC OP* S_docatch(pTHX_ Perl_ppaddr_t firstpp) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_DOCATCH STATIC bool S_doeval_compile(pTHX_ U8 gimme, CV* outside, U32 seq, HV* hh); +#define PERL_ARGS_ASSERT_DOEVAL_COMPILE STATIC OP* S_dofindlabel(pTHX_ OP *o, const char *label, STRLEN len, U32 flags, OP **opstack, OP **oplimit) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DOFINDLABEL \ @@ -5254,9 +5451,11 @@ STATIC MAGIC * S_doparseform(pTHX_ SV *sv); assert(sv) STATIC I32 S_dopoptoeval(pTHX_ I32 startingblock) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_DOPOPTOEVAL STATIC I32 S_dopoptogivenfor(pTHX_ I32 startingblock) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_DOPOPTOGIVENFOR STATIC I32 S_dopoptolabel(pTHX_ const char *label, STRLEN len, U32 flags) __attribute__warn_unused_result__; @@ -5265,6 +5464,7 @@ STATIC I32 S_dopoptolabel(pTHX_ const char *label, STRLEN len, U32 flags) STATIC I32 S_dopoptoloop(pTHX_ I32 startingblock) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_DOPOPTOLOOP STATIC I32 S_dopoptosub_at(pTHX_ const PERL_CONTEXT* cxstk, I32 startingblock) __attribute__warn_unused_result__; @@ -5273,6 +5473,7 @@ STATIC I32 S_dopoptosub_at(pTHX_ const PERL_CONTEXT* cxstk, I32 startingblock) STATIC I32 S_dopoptowhen(pTHX_ I32 startingblock) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_DOPOPTOWHEN STATIC PMOP* S_make_matcher(pTHX_ REGEXP* re) __attribute__warn_unused_result__; @@ -5286,6 +5487,7 @@ STATIC bool S_matcher_matches_sv(pTHX_ PMOP* matcher, SV* sv) STATIC bool S_num_overflow(NV value, I32 fldsize, I32 frcsize) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_NUM_OVERFLOW #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE bool S_path_is_searchable(const char *name) @@ -5318,6 +5520,14 @@ PERL_STATIC_INLINE HV* S_opmethod_stash(pTHX_ SV* meth); #define PERL_ARGS_ASSERT_OPMETHOD_STASH \ assert(meth) #endif +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_FORCE_INLINE bool S_should_we_output_Debug_r(pTHX_ regexp * prog) + __attribute__warn_unused_result__ + __attribute__always_inline__; +#define PERL_ARGS_ASSERT_SHOULD_WE_OUTPUT_DEBUG_R \ + assert(prog) +#endif + #endif #if defined(PERL_IN_PP_PACK_C) STATIC int S_div128(pTHX_ SV *pnum, bool *done); @@ -5369,15 +5579,55 @@ STATIC SSize_t S_unpack_rec(pTHX_ struct tempsym* symptr, const char *s, const c assert(symptr); assert(s); assert(strbeg); assert(strend) #endif #if defined(PERL_IN_PP_SORT_C) -STATIC I32 S_amagic_cmp(pTHX_ SV *const str1, SV *const str2); +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp(pTHX_ SV *const str1, SV *const str2) + __attribute__always_inline__; #define PERL_ARGS_ASSERT_AMAGIC_CMP \ assert(str1); assert(str2) -STATIC I32 S_amagic_i_ncmp(pTHX_ SV *const a, SV *const b); +#endif + +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp_desc(pTHX_ SV *const str1, SV *const str2) + __attribute__always_inline__; +#define PERL_ARGS_ASSERT_AMAGIC_CMP_DESC \ + assert(str1); assert(str2) +#endif + +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_FORCE_INLINE I32 S_amagic_i_ncmp(pTHX_ SV *const a, SV *const b) + __attribute__always_inline__; #define PERL_ARGS_ASSERT_AMAGIC_I_NCMP \ assert(a); assert(b) -STATIC I32 S_amagic_ncmp(pTHX_ SV *const a, SV *const b); +#endif + +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_FORCE_INLINE I32 S_amagic_i_ncmp_desc(pTHX_ SV *const a, SV *const b) + __attribute__always_inline__; +#define PERL_ARGS_ASSERT_AMAGIC_I_NCMP_DESC \ + assert(a); assert(b) +#endif + +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_FORCE_INLINE I32 S_amagic_ncmp(pTHX_ SV *const a, SV *const b) + __attribute__always_inline__; #define PERL_ARGS_ASSERT_AMAGIC_NCMP \ assert(a); assert(b) +#endif + +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_FORCE_INLINE I32 S_amagic_ncmp_desc(pTHX_ SV *const a, SV *const b) + __attribute__always_inline__; +#define PERL_ARGS_ASSERT_AMAGIC_NCMP_DESC \ + assert(a); assert(b) +#endif + +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_FORCE_INLINE I32 S_cmp_desc(pTHX_ SV *const str1, SV *const str2) + __attribute__always_inline__; +#define PERL_ARGS_ASSERT_CMP_DESC \ + assert(str1); assert(str2) +#endif + STATIC I32 S_sortcv(pTHX_ SV *const a, SV *const b); #define PERL_ARGS_ASSERT_SORTCV \ assert(a); assert(b) @@ -5387,16 +5637,63 @@ STATIC I32 S_sortcv_stacked(pTHX_ SV *const a, SV *const b); STATIC I32 S_sortcv_xsub(pTHX_ SV *const a, SV *const b); #define PERL_ARGS_ASSERT_SORTCV_XSUB \ assert(a); assert(b) -STATIC I32 S_sv_i_ncmp(pTHX_ SV *const a, SV *const b); +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_FORCE_INLINE void S_sortsv_flags_impl(pTHX_ SV** array, size_t num_elts, SVCOMPARE_t cmp, U32 flags) + __attribute__always_inline__; +#define PERL_ARGS_ASSERT_SORTSV_FLAGS_IMPL \ + assert(cmp) +#endif + +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_FORCE_INLINE I32 S_sv_i_ncmp(pTHX_ SV *const a, SV *const b) + __attribute__always_inline__; #define PERL_ARGS_ASSERT_SV_I_NCMP \ assert(a); assert(b) -STATIC I32 S_sv_ncmp(pTHX_ SV *const a, SV *const b); +#endif + +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_FORCE_INLINE I32 S_sv_i_ncmp_desc(pTHX_ SV *const a, SV *const b) + __attribute__always_inline__; +#define PERL_ARGS_ASSERT_SV_I_NCMP_DESC \ + assert(a); assert(b) +#endif + +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_FORCE_INLINE I32 S_sv_ncmp(pTHX_ SV *const a, SV *const b) + __attribute__always_inline__; #define PERL_ARGS_ASSERT_SV_NCMP \ assert(a); assert(b) +#endif + +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_FORCE_INLINE I32 S_sv_ncmp_desc(pTHX_ SV *const a, SV *const b) + __attribute__always_inline__; +#define PERL_ARGS_ASSERT_SV_NCMP_DESC \ + assert(a); assert(b) +#endif + # if defined(USE_LOCALE_COLLATE) -STATIC I32 S_amagic_cmp_locale(pTHX_ SV *const str1, SV *const str2); +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp_locale(pTHX_ SV *const str1, SV *const str2) + __attribute__always_inline__; #define PERL_ARGS_ASSERT_AMAGIC_CMP_LOCALE \ assert(str1); assert(str2) +#endif + +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2) + __attribute__always_inline__; +#define PERL_ARGS_ASSERT_AMAGIC_CMP_LOCALE_DESC \ + assert(str1); assert(str2) +#endif + +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_FORCE_INLINE I32 S_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2) + __attribute__always_inline__; +#define PERL_ARGS_ASSERT_CMP_LOCALE_DESC \ + assert(str1); assert(str2) +#endif + # endif #endif #if defined(PERL_IN_PP_SYS_C) @@ -5404,21 +5701,12 @@ STATIC OP* S_doform(pTHX_ CV *cv, GV *gv, OP *retop); #define PERL_ARGS_ASSERT_DOFORM \ assert(cv); assert(gv) STATIC SV * S_space_join_names_mortal(pTHX_ char *const *array); +#define PERL_ARGS_ASSERT_SPACE_JOIN_NAMES_MORTAL #endif #if defined(PERL_IN_REGCOMP_C) -STATIC SV* S__make_exactf_invlist(pTHX_ RExC_state_t *pRExC_state, regnode *node) - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT__MAKE_EXACTF_INVLIST \ - assert(pRExC_state); assert(node) - STATIC void S_add_above_Latin1_folds(pTHX_ RExC_state_t *pRExC_state, const U8 cp, SV** invlist); #define PERL_ARGS_ASSERT_ADD_ABOVE_LATIN1_FOLDS \ assert(pRExC_state); assert(invlist) -#ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE SV* S_add_cp_to_invlist(pTHX_ SV* invlist, const UV cp) - __attribute__warn_unused_result__; -#endif - STATIC U32 S_add_data(RExC_state_t* const pRExC_state, const char* const s, const U32 n) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_ADD_DATA \ @@ -5430,14 +5718,14 @@ STATIC AV* S_add_multi_match(pTHX_ AV* multi_char_matches, SV* multi_string, con STATIC void S_change_engine_size(pTHX_ RExC_state_t *pRExC_state, const Ptrdiff_t size); #define PERL_ARGS_ASSERT_CHANGE_ENGINE_SIZE \ assert(pRExC_state) -STATIC const char * S_cntrl_to_mnemonic(const U8 c) +STATIC REGEXP* S_compile_wildcard(pTHX_ const char * subpattern, const STRLEN len, const bool ignore_case) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_COMPILE_WILDCARD \ + assert(subpattern) -#ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE U8 S_compute_EXACTish(RExC_state_t *pRExC_state); +STATIC U8 S_compute_EXACTish(RExC_state_t *pRExC_state); #define PERL_ARGS_ASSERT_COMPUTE_EXACTISH \ assert(pRExC_state) -#endif STATIC regnode * S_construct_ahocorasick_from_trie(pTHX_ RExC_state_t *pRExC_state, regnode *source, U32 depth); #define PERL_ARGS_ASSERT_CONSTRUCT_AHOCORASICK_FROM_TRIE \ assert(pRExC_state); assert(source) @@ -5446,6 +5734,14 @@ STATIC int S_edit_distance(const UV *src, const UV *tgt, const STRLEN x, const S #define PERL_ARGS_ASSERT_EDIT_DISTANCE \ assert(src); assert(tgt) +STATIC I32 S_execute_wildcard(pTHX_ REGEXP * const prog, char* stringarg, char* strend, char* strbeg, SSize_t minend, SV* screamer, U32 nosave); +#define PERL_ARGS_ASSERT_EXECUTE_WILDCARD \ + assert(prog); assert(stringarg); assert(strend); assert(strbeg); assert(screamer) +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE Size_t S_find_first_differing_byte_pos(const U8 * s1, const U8 * s2, const Size_t max); +#define PERL_ARGS_ASSERT_FIND_FIRST_DIFFERING_BYTE_POS \ + assert(s1); assert(s2) +#endif STATIC SV * S_get_ANYOFM_contents(pTHX_ const regnode * n) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_GET_ANYOFM_CONTENTS \ @@ -5454,39 +5750,28 @@ STATIC SV * S_get_ANYOFM_contents(pTHX_ const regnode * n) STATIC SV* S_get_ANYOF_cp_list_for_ssc(pTHX_ const RExC_state_t *pRExC_state, const regnode_charclass* const node); #define PERL_ARGS_ASSERT_GET_ANYOF_CP_LIST_FOR_SSC \ assert(pRExC_state); assert(node) -#ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE STRLEN* S_get_invlist_iter_addr(SV* invlist) - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_GET_INVLIST_ITER_ADDR \ - assert(invlist) -#endif - STATIC bool S_grok_bslash_N(pTHX_ RExC_state_t *pRExC_state, regnode_offset* nodep, UV *code_point_p, int* cp_count, I32 *flagp, const bool strict, const U32 depth); #define PERL_ARGS_ASSERT_GROK_BSLASH_N \ assert(pRExC_state); assert(flagp) -#ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE regnode_offset S_handle_named_backref(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, char * parse_start, char ch); +STATIC regnode_offset S_handle_named_backref(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, char * parse_start, char ch); #define PERL_ARGS_ASSERT_HANDLE_NAMED_BACKREF \ assert(pRExC_state); assert(flagp); assert(parse_start) -#endif +STATIC bool S_handle_names_wildcard(pTHX_ const char * wname, const STRLEN wname_len, SV ** prop_definition, AV ** strings); +#define PERL_ARGS_ASSERT_HANDLE_NAMES_WILDCARD \ + assert(wname); assert(prop_definition); assert(strings) STATIC int S_handle_possible_posix(pTHX_ RExC_state_t *pRExC_state, const char* const s, char ** updated_parse_ptr, AV** posix_warnings, const bool check_only); #define PERL_ARGS_ASSERT_HANDLE_POSSIBLE_POSIX \ assert(pRExC_state); assert(s) STATIC regnode_offset S_handle_regex_sets(pTHX_ RExC_state_t *pRExC_state, SV ** return_invlist, I32 *flagp, U32 depth, char * const oregcomp_parse); #define PERL_ARGS_ASSERT_HANDLE_REGEX_SETS \ assert(pRExC_state); assert(flagp); assert(oregcomp_parse) -PERL_CALLCONV SV * Perl_handle_user_defined_property(pTHX_ const char * name, const STRLEN name_len, const bool is_utf8, const bool to_fold, const bool runtime, const bool deferrable, SV* contents, bool *user_defined_ptr, SV * msg, const STRLEN level); +STATIC SV * S_handle_user_defined_property(pTHX_ const char * name, const STRLEN name_len, const bool is_utf8, const bool to_fold, const bool runtime, const bool deferrable, SV* contents, bool *user_defined_ptr, SV * msg, const STRLEN level); #define PERL_ARGS_ASSERT_HANDLE_USER_DEFINED_PROPERTY \ assert(name); assert(contents); assert(user_defined_ptr); assert(msg) -STATIC SV* S_invlist_contents(pTHX_ SV* const invlist, const bool traditional_style) - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_INVLIST_CONTENTS \ - assert(invlist) - #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE UV S_invlist_highest(SV* const invlist) +PERL_STATIC_INLINE SV* S_invlist_contents(pTHX_ SV* const invlist, const bool traditional_style) __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_INVLIST_HIGHEST \ +#define PERL_ARGS_ASSERT_INVLIST_CONTENTS \ assert(invlist) #endif @@ -5498,19 +5783,11 @@ PERL_STATIC_INLINE bool S_invlist_is_iterating(SV* const invlist) #endif #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE void S_invlist_iterfinish(SV* invlist); -#define PERL_ARGS_ASSERT_INVLIST_ITERFINISH \ - assert(invlist) -#endif -#ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE void S_invlist_iterinit(SV* invlist); -#define PERL_ARGS_ASSERT_INVLIST_ITERINIT \ +PERL_STATIC_INLINE UV S_invlist_lowest(SV* const invlist) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_INVLIST_LOWEST \ assert(invlist) #endif -STATIC bool S_invlist_iternext(SV* invlist, UV* start, UV* end) - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_INVLIST_ITERNEXT \ - assert(invlist); assert(start); assert(end) STATIC bool S_is_ssc_worth_it(const RExC_state_t * pRExC_state, const regnode_ssc * ssc); #define PERL_ARGS_ASSERT_IS_SSC_WORTH_IT \ @@ -5518,6 +5795,11 @@ STATIC bool S_is_ssc_worth_it(const RExC_state_t * pRExC_state, const regnode_ss STATIC U32 S_join_exact(pTHX_ RExC_state_t *pRExC_state, regnode *scan, UV *min_subtract, bool *unfolded_multi_char, U32 flags, regnode *val, U32 depth); #define PERL_ARGS_ASSERT_JOIN_EXACT \ assert(pRExC_state); assert(scan); assert(min_subtract); assert(unfolded_multi_char) +STATIC SV* S_make_exactf_invlist(pTHX_ RExC_state_t *pRExC_state, regnode *node) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_MAKE_EXACTF_INVLIST \ + assert(pRExC_state); assert(node) + STATIC I32 S_make_trie(pTHX_ RExC_state_t *pRExC_state, regnode *startbranch, regnode *first, regnode *last, regnode *tail, U32 word_count, U32 flags, U32 depth); #define PERL_ARGS_ASSERT_MAKE_TRIE \ assert(pRExC_state); assert(startbranch); assert(first); assert(last); assert(tail) @@ -5535,16 +5817,20 @@ STATIC void S_output_posix_warnings(pTHX_ RExC_state_t *pRExC_state, AV* posix_w STATIC void S_parse_lparen_question_flags(pTHX_ RExC_state_t *pRExC_state); #define PERL_ARGS_ASSERT_PARSE_LPAREN_QUESTION_FLAGS \ assert(pRExC_state) -PERL_CALLCONV SV * Perl_parse_uniprop_string(pTHX_ const char * const name, const Size_t name_len, const bool is_utf8, const bool to_fold, const bool runtime, const bool deferrable, bool * user_defined_ptr, SV * msg, const STRLEN level); +STATIC SV * S_parse_uniprop_string(pTHX_ const char * const name, Size_t name_len, const bool is_utf8, const bool to_fold, const bool runtime, const bool deferrable, AV ** strings, bool * user_defined_ptr, SV * msg, const STRLEN level); #define PERL_ARGS_ASSERT_PARSE_UNIPROP_STRING \ assert(name); assert(user_defined_ptr); assert(msg) STATIC void S_populate_ANYOF_from_invlist(pTHX_ regnode *node, SV** invlist_ptr); #define PERL_ARGS_ASSERT_POPULATE_ANYOF_FROM_INVLIST \ assert(node); assert(invlist_ptr) -PERL_STATIC_NO_RET void S_re_croak2(pTHX_ bool utf8, const char* pat1, const char* pat2, ...) - __attribute__noreturn__; -#define PERL_ARGS_ASSERT_RE_CROAK2 \ - assert(pat1); assert(pat2) +STATIC void S_rck_elide_nothing(pTHX_ regnode *node); +#define PERL_ARGS_ASSERT_RCK_ELIDE_NOTHING \ + assert(node) +PERL_STATIC_NO_RET void S_re_croak(pTHX_ bool utf8, const char* pat, ...) + __attribute__noreturn__ + __attribute__format__(__printf__,pTHX_2,pTHX_3); +#define PERL_ARGS_ASSERT_RE_CROAK \ + assert(pat) STATIC regnode_offset S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 *flagp, U32 depth); #define PERL_ARGS_ASSERT_REG \ @@ -5577,6 +5863,7 @@ STATIC regnode_offset S_regclass(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U3 assert(pRExC_state); assert(flagp) STATIC unsigned int S_regex_set_precedence(const U8 my_operator) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_REGEX_SET_PRECEDENCE STATIC void S_reginsert(pTHX_ RExC_state_t *pRExC_state, const U8 op, const regnode_offset operand, const U32 depth); #define PERL_ARGS_ASSERT_REGINSERT \ @@ -5587,9 +5874,14 @@ STATIC regnode_offset S_regnode_guts(pTHX_ RExC_state_t *pRExC_state, const U8 o STATIC regnode_offset S_regpiece(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth); #define PERL_ARGS_ASSERT_REGPIECE \ assert(pRExC_state); assert(flagp) -STATIC bool S_regtail(pTHX_ RExC_state_t * pRExC_state, const regnode_offset p, const regnode_offset val, const U32 depth); +STATIC regnode_offset S_regpnode(pTHX_ RExC_state_t *pRExC_state, U8 op, SV * arg); +#define PERL_ARGS_ASSERT_REGPNODE \ + assert(pRExC_state); assert(arg) +STATIC bool S_regtail(pTHX_ RExC_state_t * pRExC_state, const regnode_offset p, const regnode_offset val, const U32 depth) + __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_REGTAIL \ assert(pRExC_state); assert(p); assert(val) + STATIC void S_scan_commit(pTHX_ const RExC_state_t *pRExC_state, struct scan_data_t *data, SSize_t *minlenp, int is_inf); #define PERL_ARGS_ASSERT_SCAN_COMMIT \ assert(pRExC_state); assert(data); assert(minlenp) @@ -5602,38 +5894,30 @@ STATIC void S_set_regex_pv(pTHX_ RExC_state_t *pRExC_state, REGEXP *Rx); STATIC void S_skip_to_be_ignored_text(pTHX_ RExC_state_t *pRExC_state, char ** p, const bool force_to_xmod); #define PERL_ARGS_ASSERT_SKIP_TO_BE_IGNORED_TEXT \ assert(pRExC_state); assert(p) -#ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE void S_ssc_add_range(pTHX_ regnode_ssc *ssc, UV const start, UV const end); +STATIC void S_ssc_add_range(pTHX_ regnode_ssc *ssc, UV const start, UV const end); #define PERL_ARGS_ASSERT_SSC_ADD_RANGE \ assert(ssc) -#endif STATIC void S_ssc_and(pTHX_ const RExC_state_t *pRExC_state, regnode_ssc *ssc, const regnode_charclass *and_with); #define PERL_ARGS_ASSERT_SSC_AND \ assert(pRExC_state); assert(ssc); assert(and_with) STATIC void S_ssc_anything(pTHX_ regnode_ssc *ssc); #define PERL_ARGS_ASSERT_SSC_ANYTHING \ assert(ssc) -#ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE void S_ssc_clear_locale(regnode_ssc *ssc); +STATIC void S_ssc_clear_locale(regnode_ssc *ssc); #define PERL_ARGS_ASSERT_SSC_CLEAR_LOCALE \ assert(ssc) -#endif -#ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE void S_ssc_cp_and(pTHX_ regnode_ssc *ssc, UV const cp); +STATIC void S_ssc_cp_and(pTHX_ regnode_ssc *ssc, UV const cp); #define PERL_ARGS_ASSERT_SSC_CP_AND \ assert(ssc) -#endif STATIC void S_ssc_finalize(pTHX_ RExC_state_t *pRExC_state, regnode_ssc *ssc); #define PERL_ARGS_ASSERT_SSC_FINALIZE \ assert(pRExC_state); assert(ssc) STATIC void S_ssc_init(pTHX_ const RExC_state_t *pRExC_state, regnode_ssc *ssc); #define PERL_ARGS_ASSERT_SSC_INIT \ assert(pRExC_state); assert(ssc) -#ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE void S_ssc_intersection(pTHX_ regnode_ssc *ssc, SV* const invlist, const bool invert_2nd); +STATIC void S_ssc_intersection(pTHX_ regnode_ssc *ssc, SV* const invlist, const bool invert_2nd); #define PERL_ARGS_ASSERT_SSC_INTERSECTION \ assert(ssc); assert(invlist) -#endif STATIC int S_ssc_is_anything(const regnode_ssc *ssc) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SSC_IS_ANYTHING \ @@ -5647,19 +5931,126 @@ STATIC int S_ssc_is_cp_posixl_init(const RExC_state_t *pRExC_state, const regnod STATIC void S_ssc_or(pTHX_ const RExC_state_t *pRExC_state, regnode_ssc *ssc, const regnode_charclass *or_with); #define PERL_ARGS_ASSERT_SSC_OR \ assert(pRExC_state); assert(ssc); assert(or_with) -#ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE void S_ssc_union(pTHX_ regnode_ssc *ssc, SV* const invlist, const bool invert_2nd); +STATIC void S_ssc_union(pTHX_ regnode_ssc *ssc, SV* const invlist, const bool invert_2nd); #define PERL_ARGS_ASSERT_SSC_UNION \ assert(ssc); assert(invlist) -#endif -STATIC SSize_t S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp, SSize_t *minlenp, SSize_t *deltap, regnode *last, struct scan_data_t *data, I32 stopparen, U32 recursed_depth, regnode_ssc *and_withp, U32 flags, U32 depth); +STATIC SSize_t S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp, SSize_t *minlenp, SSize_t *deltap, regnode *last, struct scan_data_t *data, I32 stopparen, U32 recursed_depth, regnode_ssc *and_withp, U32 flags, U32 depth, bool was_mutate_ok); #define PERL_ARGS_ASSERT_STUDY_CHUNK \ assert(pRExC_state); assert(scanp); assert(minlenp); assert(deltap); assert(last) #endif -#if defined(PERL_IN_REGCOMP_C) || defined (PERL_IN_DUMP_C) +#if defined(PERL_IN_REGCOMP_C) || defined (PERL_IN_DUMP_C) || defined(PERL_IN_OP_C) PERL_CALLCONV void Perl__invlist_dump(pTHX_ PerlIO *file, I32 level, const char* const indent, SV* const invlist); #define PERL_ARGS_ASSERT__INVLIST_DUMP \ assert(file); assert(indent); assert(invlist) +#endif +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_DOOP_C) || defined(PERL_IN_OP_C) +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE SV* S_add_cp_to_invlist(pTHX_ SV* invlist, const UV cp) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_ADD_CP_TO_INVLIST +#endif + +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE void S_invlist_extend(pTHX_ SV* const invlist, const UV len); +#define PERL_ARGS_ASSERT_INVLIST_EXTEND \ + assert(invlist) +#endif +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE UV S_invlist_highest(SV* const invlist) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_INVLIST_HIGHEST \ + assert(invlist) +#endif + +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE void S_invlist_set_len(pTHX_ SV* const invlist, const UV len, const bool offset); +#define PERL_ARGS_ASSERT_INVLIST_SET_LEN \ + assert(invlist) +#endif +#endif +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_DOOP_C) || defined(PERL_IN_OP_C) || defined(PERL_IN_UTF8_C) +PERL_CALLCONV SV* Perl__add_range_to_invlist(pTHX_ SV* invlist, UV start, UV end) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT__ADD_RANGE_TO_INVLIST + +/* PERL_CALLCONV void _invlist_intersection(pTHX_ SV* const a, SV* const b, SV** i); */ +#define PERL_ARGS_ASSERT__INVLIST_INTERSECTION +PERL_CALLCONV void Perl__invlist_intersection_maybe_complement_2nd(pTHX_ SV* const a, SV* const b, const bool complement_b, SV** i); +#define PERL_ARGS_ASSERT__INVLIST_INTERSECTION_MAYBE_COMPLEMENT_2ND \ + assert(b); assert(i) +PERL_CALLCONV void Perl__invlist_invert(pTHX_ SV* const invlist); +#define PERL_ARGS_ASSERT__INVLIST_INVERT \ + assert(invlist) +/* PERL_CALLCONV void _invlist_subtract(pTHX_ SV* const a, SV* const b, SV** result); */ +#define PERL_ARGS_ASSERT__INVLIST_SUBTRACT +/* PERL_CALLCONV void _invlist_union(pTHX_ SV* const a, SV* const b, SV** output); */ +#define PERL_ARGS_ASSERT__INVLIST_UNION +PERL_CALLCONV void Perl__invlist_union_maybe_complement_2nd(pTHX_ SV* const a, SV* const b, const bool complement_b, SV** output); +#define PERL_ARGS_ASSERT__INVLIST_UNION_MAYBE_COMPLEMENT_2ND \ + assert(b); assert(output) +PERL_CALLCONV SV* Perl__new_invlist(pTHX_ IV initial_size) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT__NEW_INVLIST + +PERL_CALLCONV SV* Perl__setup_canned_invlist(pTHX_ const STRLEN size, const UV element0, UV** other_elements_ptr) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT__SETUP_CANNED_INVLIST \ + assert(other_elements_ptr) + +#endif +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_DQUOTE_C) || defined(PERL_IN_TOKE_C) +PERL_CALLCONV const char * Perl_form_alien_digit_msg(pTHX_ const U8 which, const STRLEN valids_len, const char * const first_bad, const char * const send, const bool UTF, const bool braced) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_FORM_ALIEN_DIGIT_MSG \ + assert(first_bad); assert(send) + +PERL_CALLCONV bool Perl_grok_bslash_c(pTHX_ const char source, U8 * result, const char** message, U32 * packed_warn) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_GROK_BSLASH_C \ + assert(result); assert(message) + +PERL_CALLCONV bool Perl_grok_bslash_o(pTHX_ char** s, const char* const send, UV* uv, const char** message, U32 * packed_warn, const bool strict, const bool allow_UV_MAX, const bool utf8) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_GROK_BSLASH_O \ + assert(s); assert(send); assert(uv); assert(message) + +PERL_CALLCONV bool Perl_grok_bslash_x(pTHX_ char** s, const char* const send, UV* uv, const char** message, U32 * packed_warn, const bool strict, const bool allow_UV_MAX, const bool utf8) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_GROK_BSLASH_X \ + assert(s); assert(send); assert(uv); assert(message) + +#endif +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_DQUOTE_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_UTF8_C) +PERL_CALLCONV const char * Perl_form_cp_too_large_msg(pTHX_ const U8 which, const char * string, const Size_t len, const UV cp) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_FORM_CP_TOO_LARGE_MSG + +#endif +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_OP_C) +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE STRLEN* S_get_invlist_iter_addr(SV* invlist) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_GET_INVLIST_ITER_ADDR \ + assert(invlist) +#endif + +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE void S_invlist_iterfinish(SV* invlist); +#define PERL_ARGS_ASSERT_INVLIST_ITERFINISH \ + assert(invlist) +#endif +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE void S_invlist_iterinit(SV* invlist); +#define PERL_ARGS_ASSERT_INVLIST_ITERINIT \ + assert(invlist) +#endif +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE bool S_invlist_iternext(SV* invlist, UV* start, UV* end) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_INVLIST_ITERNEXT \ + assert(invlist); assert(start); assert(end) +#endif + #endif #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_PERL_C) || defined(PERL_IN_UTF8_C) PERL_CALLCONV bool Perl__invlistEQ(pTHX_ SV* const a, SV* const b, const bool complement_b); @@ -5670,19 +6061,25 @@ PERL_CALLCONV SV* Perl__new_invlist_C_array(pTHX_ const UV* const list) #define PERL_ARGS_ASSERT__NEW_INVLIST_C_ARRAY \ assert(list) +#endif +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_PP_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_UNIVERSAL_C) +#ifndef PERL_NO_INLINE_FUNCTIONS +PERL_STATIC_INLINE const char * S_get_regex_charset_name(const U32 flags, STRLEN* const lenp); +#define PERL_ARGS_ASSERT_GET_REGEX_CHARSET_NAME \ + assert(lenp) +#endif #endif #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) -PERL_CALLCONV SV* Perl__get_regclass_nonbitmap_data(pTHX_ const regexp *prog, const struct regnode *node, bool doinit, SV **listsvp, SV **lonly_utf8_locale, SV **output_invlist); -#define PERL_ARGS_ASSERT__GET_REGCLASS_NONBITMAP_DATA \ - assert(node) -PERL_CALLCONV int Perl_re_printf(pTHX_ const char *fmt, ...); +PERL_CALLCONV int Perl_re_printf(pTHX_ const char *fmt, ...) + __attribute__format__(__printf__,pTHX_1,pTHX_2); #define PERL_ARGS_ASSERT_RE_PRINTF \ assert(fmt) + PERL_CALLCONV void Perl_regprop(pTHX_ const regexp *prog, SV* sv, const regnode* o, const regmatch_info *reginfo, const RExC_state_t *pRExC_state); #define PERL_ARGS_ASSERT_REGPROP \ assert(sv); assert(o) #endif -#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_UTF8_C) || defined(PERL_IN_PP_C) +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_PP_C) || defined(PERL_IN_OP_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_UTF8_C) || defined(PERL_IN_DOOP_C) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE bool S__invlist_contains_cp(SV* const invlist, const UV cp) __attribute__warn_unused_result__; @@ -5719,67 +6116,35 @@ PERL_STATIC_INLINE UV* S_invlist_array(SV* const invlist) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE bool S_is_invlist(SV* const invlist) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_IS_INVLIST +#endif + #endif +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_TOKE_C) +PERL_CALLCONV bool Perl_is_grapheme(pTHX_ const U8 * strbeg, const U8 * s, const U8 *strend, const UV cp) + __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_IS_GRAPHEME \ + assert(strbeg); assert(s); assert(strend) #endif +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C) +PERL_CALLCONV UV Perl__to_fold_latin1(const U8 c, U8 *p, STRLEN *lenp, const unsigned int flags); +#define PERL_ARGS_ASSERT__TO_FOLD_LATIN1 \ + assert(p); assert(lenp) +#endif #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_SV_C) PERL_CALLCONV SV* Perl_invlist_clone(pTHX_ SV* const invlist, SV* newlist); #define PERL_ARGS_ASSERT_INVLIST_CLONE \ assert(invlist) #endif -#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_DQUOTE_C) -#ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE char* S_form_short_octal_warning(pTHX_ const char * const s, const STRLEN len) - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_FORM_SHORT_OCTAL_WARNING \ - assert(s) -#endif - -PERL_CALLCONV char Perl_grok_bslash_c(pTHX_ const char source, const bool output_warning) - __attribute__warn_unused_result__; - -PERL_CALLCONV bool Perl_grok_bslash_o(pTHX_ char** s, const char* const send, UV* uv, const char** error_msg, const bool output_warning, const bool strict, const bool silence_non_portable, const bool utf8) - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_GROK_BSLASH_O \ - assert(s); assert(send); assert(uv); assert(error_msg) - -PERL_CALLCONV bool Perl_grok_bslash_x(pTHX_ char** s, const char* const send, UV* uv, const char** error_msg, const bool output_warning, const bool strict, const bool silence_non_portable, const bool utf8) - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_GROK_BSLASH_X \ - assert(s); assert(send); assert(uv); assert(error_msg) - +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C) #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE I32 S_regcurly(const char *s) +PERL_STATIC_INLINE bool S_regcurly(const char *s) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_REGCURLY \ assert(s) #endif -#endif -#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C) -PERL_CALLCONV SV* Perl__add_range_to_invlist(pTHX_ SV* invlist, UV start, UV end) - __attribute__warn_unused_result__; - -/* PERL_CALLCONV void _invlist_intersection(pTHX_ SV* const a, SV* const b, SV** i); */ -PERL_CALLCONV void Perl__invlist_intersection_maybe_complement_2nd(pTHX_ SV* const a, SV* const b, const bool complement_b, SV** i); -#define PERL_ARGS_ASSERT__INVLIST_INTERSECTION_MAYBE_COMPLEMENT_2ND \ - assert(b); assert(i) -PERL_CALLCONV void Perl__invlist_invert(pTHX_ SV* const invlist); -#define PERL_ARGS_ASSERT__INVLIST_INVERT \ - assert(invlist) -/* PERL_CALLCONV void _invlist_subtract(pTHX_ SV* const a, SV* const b, SV** result); */ -/* PERL_CALLCONV void _invlist_union(pTHX_ SV* const a, SV* const b, SV** output); */ -PERL_CALLCONV void Perl__invlist_union_maybe_complement_2nd(pTHX_ SV* const a, SV* const b, const bool complement_b, SV** output); -#define PERL_ARGS_ASSERT__INVLIST_UNION_MAYBE_COMPLEMENT_2ND \ - assert(b); assert(output) -PERL_CALLCONV SV* Perl__new_invlist(pTHX_ IV initial_size) - __attribute__warn_unused_result__; - -PERL_CALLCONV SV* Perl__setup_canned_invlist(pTHX_ const STRLEN size, const UV element0, UV** other_elements_ptr) - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT__SETUP_CANNED_INVLIST \ - assert(other_elements_ptr) - #endif #if defined(PERL_IN_REGEXEC_C) STATIC LB_enum S_advance_one_LB(pTHX_ U8 ** curpos, const U8 * const strend, const bool utf8_target) @@ -5923,20 +6288,15 @@ STATIC void S_to_utf8_substr(pTHX_ regexp * prog); #define PERL_ARGS_ASSERT_TO_UTF8_SUBSTR \ assert(prog) #endif -#if defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_TOKE_C) -PERL_CALLCONV bool Perl__is_grapheme(pTHX_ const U8 * strbeg, const U8 * s, const U8 *strend, const UV cp) - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT__IS_GRAPHEME \ - assert(strbeg); assert(s); assert(strend) - -#endif #if defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C) PERL_CALLCONV bool Perl_isFOO_lc(pTHX_ const U8 classnum, const U8 character) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_ISFOO_LC #endif #if defined(PERL_IN_SCOPE_C) STATIC void S_save_pushptri32ptr(pTHX_ void *const ptr1, const I32 i, void *const ptr2, const int type); +#define PERL_ARGS_ASSERT_SAVE_PUSHPTRI32PTR STATIC SV* S_save_scalar_at(pTHX_ SV **sptr, const U32 flags); #define PERL_ARGS_ASSERT_SAVE_SCALAR_AT \ assert(sptr) @@ -5975,6 +6335,7 @@ STATIC void S_glob_assign_glob(pTHX_ SV *const dstr, SV *const sstr, const int d #define PERL_ARGS_ASSERT_GLOB_ASSIGN_GLOB \ assert(dstr); assert(sstr) STATIC SV * S_more_sv(pTHX); +#define PERL_ARGS_ASSERT_MORE_SV STATIC void S_not_a_number(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_NOT_A_NUMBER \ assert(sv) @@ -6045,11 +6406,14 @@ STATIC void S_unreferenced_to_tmp_stack(pTHX_ AV *const unreferenced); #if defined(PERL_IN_SV_C) || defined (PERL_IN_OP_C) PERL_CALLCONV SV * Perl_varname(pTHX_ const GV *const gv, const char gvtype, PADOFFSET targ, const SV *const keyname, SSize_t aindex, int subscript_type) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_VARNAME #endif #if defined(PERL_IN_TOKE_C) STATIC int S_ao(pTHX_ int toketype); +#define PERL_ARGS_ASSERT_AO STATIC void S_check_uni(pTHX); +#define PERL_ARGS_ASSERT_CHECK_UNI STATIC void S_checkcomma(pTHX_ const char *s, const char *name, const char *what); #define PERL_ARGS_ASSERT_CHECKCOMMA \ assert(s); assert(name); assert(what) @@ -6067,7 +6431,9 @@ STATIC void S_force_ident(pTHX_ const char *s, int kind); #define PERL_ARGS_ASSERT_FORCE_IDENT \ assert(s) STATIC void S_force_ident_maybe_lex(pTHX_ char pit); +#define PERL_ARGS_ASSERT_FORCE_IDENT_MAYBE_LEX STATIC void S_force_next(pTHX_ I32 type); +#define PERL_ARGS_ASSERT_FORCE_NEXT STATIC char* S_force_strict_version(pTHX_ char *s); #define PERL_ARGS_ASSERT_FORCE_STRICT_VERSION \ assert(s) @@ -6096,6 +6462,7 @@ STATIC I32 S_lop(pTHX_ I32 f, U8 x, char *s); assert(s) PERL_STATIC_NO_RET void S_missingterm(pTHX_ char *s, STRLEN len) __attribute__noreturn__; +#define PERL_ARGS_ASSERT_MISSINGTERM STATIC SV* S_new_constant(pTHX_ const char *s, STRLEN len, const char *key, STRLEN keylen, SV *sv, SV *pv, const char *type, STRLEN typelen, const char ** error_msg); #define PERL_ARGS_ASSERT_NEW_CONSTANT \ @@ -6107,6 +6474,7 @@ STATIC void S_parse_ident(pTHX_ char **s, char **d, char * const e, int allow_pa #define PERL_ARGS_ASSERT_PARSE_IDENT \ assert(s); assert(d); assert(e) STATIC int S_pending_ident(pTHX); +#define PERL_ARGS_ASSERT_PENDING_IDENT STATIC char* S_scan_const(pTHX_ char *start) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SCAN_CONST \ @@ -6147,12 +6515,15 @@ STATIC char* S_scan_trans(pTHX_ char *start) STATIC I32 S_sublex_done(pTHX) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_SUBLEX_DONE STATIC I32 S_sublex_push(pTHX) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_SUBLEX_PUSH STATIC I32 S_sublex_start(pTHX) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_SUBLEX_START STATIC char* S_swallow_bom(pTHX_ U8 *s) __attribute__warn_unused_result__; @@ -6168,22 +6539,19 @@ STATIC SV* S_tokeq(pTHX_ SV *sv); #define PERL_ARGS_ASSERT_TOKEQ \ assert(sv) STATIC void S_update_debugger_info(pTHX_ SV *orig_sv, const char *const buf, STRLEN len); +#define PERL_ARGS_ASSERT_UPDATE_DEBUGGER_INFO STATIC int S_yywarn(pTHX_ const char *const s, U32 flags); #define PERL_ARGS_ASSERT_YYWARN \ assert(s) #endif #if defined(PERL_IN_UNIVERSAL_C) -STATIC bool S_isa_lookup(pTHX_ HV *stash, const char * const name, STRLEN len, U32 flags); -#define PERL_ARGS_ASSERT_ISA_LOOKUP \ - assert(stash); assert(name) +STATIC bool S_isa_lookup(pTHX_ HV *stash, SV *namesv, const char * name, STRLEN len, U32 flags); +STATIC bool S_sv_derived_from_svpvn(pTHX_ SV *sv, SV *namesv, const char * name, const STRLEN len, U32 flags); #endif #if defined(PERL_IN_UTF8_C) -STATIC UV S__to_utf8_case(pTHX_ const UV uv1, const U8 *p, U8* ustrp, STRLEN *lenp, SV *invlist, const int * const invmap, const unsigned int * const * const aux_tables, const U8 * const aux_table_lengths, const char * const normal); +STATIC UV S__to_utf8_case(pTHX_ const UV uv1, const U8 *p, U8* ustrp, STRLEN *lenp, SV *invlist, const I32 * const invmap, const U32 * const * const aux_tables, const U8 * const aux_table_lengths, const char * const normal); #define PERL_ARGS_ASSERT__TO_UTF8_CASE \ assert(ustrp); assert(lenp); assert(invlist); assert(invmap); assert(normal) -STATIC U32 S_check_and_deprecate(pTHX_ const U8 * p, const U8 ** e, const unsigned type, const bool use_locale, const char * const file, const unsigned line); -#define PERL_ARGS_ASSERT_CHECK_AND_DEPRECATE \ - assert(p); assert(e); assert(file) STATIC UV S_check_locale_boundary_crossing(pTHX_ const U8* const p, const UV result, U8* const ustrp, STRLEN *lenp) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CHECK_LOCALE_BOUNDARY_CROSSING \ @@ -6204,16 +6572,9 @@ PERL_STATIC_INLINE int S_isFF_OVERLONG(const U8 * const s, const STRLEN len) #endif #ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE bool S_is_utf8_common(pTHX_ const U8 *const p, SV* const invlist) +PERL_STATIC_INLINE bool S_is_utf8_common(pTHX_ const U8 *const p, const U8 *const e, SV* const invlist) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_IS_UTF8_COMMON \ - assert(p) -#endif - -#ifndef PERL_NO_INLINE_FUNCTIONS -PERL_STATIC_INLINE bool S_is_utf8_common_with_len(pTHX_ const U8 *const p, const U8 *const e, SV* const invlist) - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_COMMON_WITH_LEN \ assert(p); assert(e) #endif @@ -6229,18 +6590,9 @@ STATIC HV * S_new_msg_hv(pTHX_ const char * const message, U32 categories, U32 f #define PERL_ARGS_ASSERT_NEW_MSG_HV \ assert(message) -STATIC U8* S_swash_scan_list_line(pTHX_ U8* l, U8* const lend, UV* min, UV* max, UV* val, const bool wants_value, const U8* const typestr) - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_SWASH_SCAN_LIST_LINE \ - assert(l); assert(lend); assert(min); assert(max); assert(val); assert(typestr) - -STATIC SV* S_swatch_get(pTHX_ SV* swash, UV start, UV span) - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_SWATCH_GET \ - assert(swash) - STATIC U8 S_to_lower_latin1(const U8 c, U8 *p, STRLEN *lenp, const char dummy) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_TO_LOWER_LATIN1 STATIC UV S_turkic_fc(pTHX_ const U8 * const p, const U8 * const e, U8* ustrp, STRLEN *lenp); #define PERL_ARGS_ASSERT_TURKIC_FC \ @@ -6256,24 +6608,19 @@ STATIC char * S_unexpected_non_continuation_text(pTHX_ const U8 * const s, STRLE #define PERL_ARGS_ASSERT_UNEXPECTED_NON_CONTINUATION_TEXT \ assert(s) -STATIC void S_warn_on_first_deprecated_use(pTHX_ const char * const name, const char * const alternative, const bool use_locale, const char * const file, const unsigned line); -#define PERL_ARGS_ASSERT_WARN_ON_FIRST_DEPRECATED_USE \ - assert(name); assert(alternative); assert(file) #endif #if defined(PERL_IN_UTF8_C) || defined(PERL_IN_PP_C) PERL_CALLCONV UV Perl__to_upper_title_latin1(pTHX_ const U8 c, U8 *p, STRLEN *lenp, const char S_or_s); #define PERL_ARGS_ASSERT__TO_UPPER_TITLE_LATIN1 \ assert(p); assert(lenp) #endif -#if defined(PERL_IN_UTF8_C) || defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) -PERL_CALLCONV UV Perl__to_fold_latin1(const U8 c, U8 *p, STRLEN *lenp, const unsigned int flags); -#define PERL_ARGS_ASSERT__TO_FOLD_LATIN1 \ - assert(p); assert(lenp) -#endif #if defined(PERL_IN_UTIL_C) STATIC bool S_ckwarn_common(pTHX_ U32 w); +#define PERL_ARGS_ASSERT_CKWARN_COMMON STATIC bool S_invoke_exception_hook(pTHX_ SV *ex, bool warn); +#define PERL_ARGS_ASSERT_INVOKE_EXCEPTION_HOOK STATIC SV* S_mess_alloc(pTHX); +#define PERL_ARGS_ASSERT_MESS_ALLOC STATIC SV * S_with_queued_errors(pTHX_ SV *ex); #define PERL_ARGS_ASSERT_WITH_QUEUED_ERRORS \ assert(ex) @@ -6299,6 +6646,13 @@ PERL_CALLCONV Malloc_t Perl_mem_log_realloc(const UV n, const UV typesize, const #endif #if defined(PERL_USES_PL_PIDSTATUS) && defined(PERL_IN_UTIL_C) STATIC void S_pidgone(pTHX_ Pid_t pid, int status); +#define PERL_ARGS_ASSERT_PIDGONE +#endif +#if defined(PERL_USE_3ARG_SIGHANDLER) +PERL_CALLCONV Signal_t Perl_csighandler(int sig, Siginfo_t *info, void *uap); +#define PERL_ARGS_ASSERT_CSIGHANDLER +PERL_CALLCONV Signal_t Perl_sighandler(int sig, Siginfo_t *info, void *uap); +#define PERL_ARGS_ASSERT_SIGHANDLER #endif #if defined(UNLINK_ALL_VERSIONS) PERL_CALLCONV I32 Perl_unlnk(pTHX_ const char* f); @@ -6310,8 +6664,11 @@ PERL_CALLCONV bool Perl_dump_c_backtrace(pTHX_ PerlIO* fp, int max_depth, int sk #define PERL_ARGS_ASSERT_DUMP_C_BACKTRACE \ assert(fp) /* PERL_CALLCONV void free_c_backtrace(pTHX_ Perl_c_backtrace* bt); */ +#define PERL_ARGS_ASSERT_FREE_C_BACKTRACE PERL_CALLCONV Perl_c_backtrace* Perl_get_c_backtrace(pTHX_ int max_depth, int skip); +#define PERL_ARGS_ASSERT_GET_C_BACKTRACE PERL_CALLCONV SV* Perl_get_c_backtrace_dump(pTHX_ int max_depth, int skip); +#define PERL_ARGS_ASSERT_GET_C_BACKTRACE_DUMP #endif #if defined(USE_DTRACE) PERL_CALLCONV void Perl_dtrace_probe_call(pTHX_ CV *cv, bool is_call); @@ -6324,6 +6681,7 @@ PERL_CALLCONV void Perl_dtrace_probe_op(pTHX_ const OP *op); #define PERL_ARGS_ASSERT_DTRACE_PROBE_OP \ assert(op) PERL_CALLCONV void Perl_dtrace_probe_phase(pTHX_ enum perl_phase phase); +#define PERL_ARGS_ASSERT_DTRACE_PROBE_PHASE #endif #if defined(USE_ITHREADS) PERL_CALLCONV PADOFFSET Perl_alloccopstash(pTHX_ HV *hv); @@ -6436,16 +6794,19 @@ PERL_CALLCONV SV* Perl_sv_dup_inc(pTHX_ const SV *const sstr, CLONE_PARAMS *cons #endif #if defined(USE_LOCALE) && ( defined(PERL_IN_LOCALE_C) || defined(PERL_IN_MG_C) || defined (PERL_EXT_POSIX) || defined (PERL_EXT_LANGINFO)) PERL_CALLCONV bool Perl__is_cur_LC_category_utf8(pTHX_ int category); +#define PERL_ARGS_ASSERT__IS_CUR_LC_CATEGORY_UTF8 #endif #if defined(USE_LOCALE_COLLATE) PERL_CALLCONV int Perl_magic_setcollxfrm(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_SETCOLLXFRM \ assert(sv); assert(mg) #ifndef NO_MATHOMS -PERL_CALLCONV char* Perl_mem_collxfrm(pTHX_ const char* input_string, STRLEN len, STRLEN* xlen); +PERL_CALLCONV char* Perl_mem_collxfrm(pTHX_ const char* input_string, STRLEN len, STRLEN* xlen) + __attribute__deprecated__; #define PERL_ARGS_ASSERT_MEM_COLLXFRM \ assert(input_string); assert(xlen) #endif + #ifndef NO_MATHOMS PERL_CALLCONV char* Perl_sv_collxfrm(pTHX_ SV *const sv, STRLEN *const nxp); #define PERL_ARGS_ASSERT_SV_COLLXFRM \ @@ -6457,39 +6818,60 @@ PERL_CALLCONV char* Perl_sv_collxfrm_flags(pTHX_ SV *const sv, STRLEN *const nxp #endif #if defined(USE_PERLIO) PERL_CALLCONV void Perl_PerlIO_clearerr(pTHX_ PerlIO *f); +#define PERL_ARGS_ASSERT_PERLIO_CLEARERR PERL_CALLCONV int Perl_PerlIO_close(pTHX_ PerlIO *f); +#define PERL_ARGS_ASSERT_PERLIO_CLOSE PERL_CALLCONV int Perl_PerlIO_eof(pTHX_ PerlIO *f); +#define PERL_ARGS_ASSERT_PERLIO_EOF PERL_CALLCONV int Perl_PerlIO_error(pTHX_ PerlIO *f); +#define PERL_ARGS_ASSERT_PERLIO_ERROR PERL_CALLCONV int Perl_PerlIO_fileno(pTHX_ PerlIO *f); +#define PERL_ARGS_ASSERT_PERLIO_FILENO PERL_CALLCONV int Perl_PerlIO_fill(pTHX_ PerlIO *f); +#define PERL_ARGS_ASSERT_PERLIO_FILL PERL_CALLCONV int Perl_PerlIO_flush(pTHX_ PerlIO *f); +#define PERL_ARGS_ASSERT_PERLIO_FLUSH PERL_CALLCONV STDCHAR * Perl_PerlIO_get_base(pTHX_ PerlIO *f); +#define PERL_ARGS_ASSERT_PERLIO_GET_BASE PERL_CALLCONV SSize_t Perl_PerlIO_get_bufsiz(pTHX_ PerlIO *f) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_PERLIO_GET_BUFSIZ PERL_CALLCONV SSize_t Perl_PerlIO_get_cnt(pTHX_ PerlIO *f) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_PERLIO_GET_CNT PERL_CALLCONV STDCHAR * Perl_PerlIO_get_ptr(pTHX_ PerlIO *f); +#define PERL_ARGS_ASSERT_PERLIO_GET_PTR PERL_CALLCONV SSize_t Perl_PerlIO_read(pTHX_ PerlIO *f, void *vbuf, Size_t count); #define PERL_ARGS_ASSERT_PERLIO_READ \ assert(vbuf) PERL_CALLCONV void Perl_PerlIO_restore_errno(pTHX_ PerlIO *f); +#define PERL_ARGS_ASSERT_PERLIO_RESTORE_ERRNO PERL_CALLCONV void Perl_PerlIO_save_errno(pTHX_ PerlIO *f); +#define PERL_ARGS_ASSERT_PERLIO_SAVE_ERRNO PERL_CALLCONV int Perl_PerlIO_seek(pTHX_ PerlIO *f, Off_t offset, int whence); +#define PERL_ARGS_ASSERT_PERLIO_SEEK PERL_CALLCONV void Perl_PerlIO_set_cnt(pTHX_ PerlIO *f, SSize_t cnt); +#define PERL_ARGS_ASSERT_PERLIO_SET_CNT PERL_CALLCONV void Perl_PerlIO_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR *ptr, SSize_t cnt); +#define PERL_ARGS_ASSERT_PERLIO_SET_PTRCNT PERL_CALLCONV void Perl_PerlIO_setlinebuf(pTHX_ PerlIO *f); +#define PERL_ARGS_ASSERT_PERLIO_SETLINEBUF PERL_CALLCONV PerlIO * Perl_PerlIO_stderr(pTHX) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_PERLIO_STDERR PERL_CALLCONV PerlIO * Perl_PerlIO_stdin(pTHX) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_PERLIO_STDIN PERL_CALLCONV PerlIO * Perl_PerlIO_stdout(pTHX) __attribute__warn_unused_result__; +#define PERL_ARGS_ASSERT_PERLIO_STDOUT PERL_CALLCONV Off_t Perl_PerlIO_tell(pTHX_ PerlIO *f); +#define PERL_ARGS_ASSERT_PERLIO_TELL PERL_CALLCONV SSize_t Perl_PerlIO_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count); #define PERL_ARGS_ASSERT_PERLIO_UNREAD \ assert(vbuf) @@ -6501,8 +6883,8 @@ PERL_CALLCONV SSize_t Perl_PerlIO_write(pTHX_ PerlIO *f, const void *vbuf, Size_ PERL_CALLCONV bool Perl_quadmath_format_needed(const char* format); #define PERL_ARGS_ASSERT_QUADMATH_FORMAT_NEEDED \ assert(format) -PERL_CALLCONV const char* Perl_quadmath_format_single(const char* format); -#define PERL_ARGS_ASSERT_QUADMATH_FORMAT_SINGLE \ +PERL_CALLCONV bool Perl_quadmath_format_valid(const char* format); +#define PERL_ARGS_ASSERT_QUADMATH_FORMAT_VALID \ assert(format) #endif #if defined(WIN32) diff --git a/Master/tlpkg/tlperl/lib/CORE/reentr.h b/Master/tlpkg/tlperl/lib/CORE/reentr.h index 6d085aa7dd4..cf419006837 100644 --- a/Master/tlpkg/tlperl/lib/CORE/reentr.h +++ b/Master/tlpkg/tlperl/lib/CORE/reentr.h @@ -18,20 +18,29 @@ /* If compiling for a threaded perl, we will macro-wrap the system/library * interfaces (e.g. getpwent()) which have threaded versions * (e.g. getpwent_r()), which will handle things correctly for - * the Perl interpreter, but otherwise (for XS) the wrapping does - * not take place. See L. + * the Perl interpreter. This is done automatically for the perl core and + * extensions, but not generally for XS modules unless they + * #define PERL_REENTRANT + * See L. + * + * For a function 'foo', use the compile-time directive + * #ifdef PERL_REENTR_USING_FOO_R + * to test if the function actually did get replaced by the reentrant version. + * (If it isn't getting replaced, it might mean it uses a different prototype + * on the given platform than any we are expecting. To fix that, add the + * prototype to the __DATA__ section of regen/reentr.pl.) */ #ifndef PERL_REENTR_API -# if defined(PERL_CORE) || defined(PERL_EXT) || defined(PERL_REENTRANT) -# define PERL_REENTR_API 1 -# else -# define PERL_REENTR_API 0 -# endif +# if defined(PERL_CORE) || defined(PERL_EXT) || defined(PERL_REENTRANT) +# define PERL_REENTR_API 1 +# else +# define PERL_REENTR_API 0 +# endif #endif #ifdef USE_REENTRANT_API - + /* Deprecations: some platforms have the said reentrant interfaces * but they are declared obsolete and are not to be used. Often this * means that the platform has threadsafed the interfaces (hopefully). @@ -39,602 +48,623 @@ * If you know of more deprecations on some platforms, please add your own * (by editing reentr.pl, mind!) */ -#ifdef __hpux -# undef HAS_CRYPT_R -# undef HAS_ENDGRENT_R -# undef HAS_ENDPWENT_R -# undef HAS_GETGRENT_R -# undef HAS_GETPWENT_R -# undef HAS_SETLOCALE_R -# undef HAS_STRERROR_R -# define NETDB_R_OBSOLETE -#endif +# ifdef __hpux +# undef HAS_CRYPT_R +# undef HAS_ENDGRENT_R +# undef HAS_ENDPWENT_R +# undef HAS_GETGRENT_R +# undef HAS_GETPWENT_R +# undef HAS_SETLOCALE_R +# undef HAS_STRERROR_R +# define NETDB_R_OBSOLETE +# endif -#if defined(__osf__) && defined(__alpha) /* Tru64 aka Digital UNIX */ -# undef HAS_CRYPT_R -# undef HAS_STRERROR_R -# define NETDB_R_OBSOLETE -#endif +# if defined(__osf__) && defined(__alpha) /* Tru64 aka Digital UNIX */ +# undef HAS_CRYPT_R +# undef HAS_STRERROR_R +# define NETDB_R_OBSOLETE +# endif -#if defined(__GLIBC__) && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 24)) -# undef HAS_READDIR_R -# undef HAS_READDIR64_R -#endif +# if defined(__GLIBC__) && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 24)) +# undef HAS_READDIR_R +# undef HAS_READDIR64_R +# endif /* * As of OpenBSD 3.7, reentrant functions are now working, they just are * incompatible with everyone else. To make OpenBSD happy, we have to * memzero out certain structures before calling the functions. */ -#if defined(__OpenBSD__) +# if defined(__OpenBSD__) # define REENTR_MEMZERO(a,b) memzero(a,b) -#else +# else # define REENTR_MEMZERO(a,b) 0 -#endif - -#ifdef NETDB_R_OBSOLETE -# undef HAS_ENDHOSTENT_R -# undef HAS_ENDNETENT_R -# undef HAS_ENDPROTOENT_R -# undef HAS_ENDSERVENT_R -# undef HAS_GETHOSTBYADDR_R -# undef HAS_GETHOSTBYNAME_R -# undef HAS_GETHOSTENT_R -# undef HAS_GETNETBYADDR_R -# undef HAS_GETNETBYNAME_R -# undef HAS_GETNETENT_R -# undef HAS_GETPROTOBYNAME_R -# undef HAS_GETPROTOBYNUMBER_R -# undef HAS_GETPROTOENT_R -# undef HAS_GETSERVBYNAME_R -# undef HAS_GETSERVBYPORT_R -# undef HAS_GETSERVENT_R -# undef HAS_SETHOSTENT_R -# undef HAS_SETNETENT_R -# undef HAS_SETPROTOENT_R -# undef HAS_SETSERVENT_R -#endif +# endif -#ifdef I_PWD -# include -#endif -#ifdef I_GRP -# include -#endif -#ifdef I_NETDB -# include -#endif -#ifdef I_CRYPT -# ifdef I_CRYPT -# include -# endif -#endif -#ifdef HAS_GETSPNAM_R -# ifdef I_SHADOW -# include -# endif -#endif +# ifdef NETDB_R_OBSOLETE +# undef HAS_ENDHOSTENT_R +# undef HAS_ENDNETENT_R +# undef HAS_ENDPROTOENT_R +# undef HAS_ENDSERVENT_R +# undef HAS_GETHOSTBYADDR_R +# undef HAS_GETHOSTBYNAME_R +# undef HAS_GETHOSTENT_R +# undef HAS_GETNETBYADDR_R +# undef HAS_GETNETBYNAME_R +# undef HAS_GETNETENT_R +# undef HAS_GETPROTOBYNAME_R +# undef HAS_GETPROTOBYNUMBER_R +# undef HAS_GETPROTOENT_R +# undef HAS_GETSERVBYNAME_R +# undef HAS_GETSERVBYPORT_R +# undef HAS_GETSERVENT_R +# undef HAS_SETHOSTENT_R +# undef HAS_SETNETENT_R +# undef HAS_SETPROTOENT_R +# undef HAS_SETSERVENT_R +# endif -#define REENTRANT_PROTO_B_B 1 -#define REENTRANT_PROTO_B_BI 2 -#define REENTRANT_PROTO_B_BW 3 -#define REENTRANT_PROTO_B_CCD 4 -#define REENTRANT_PROTO_B_CCS 5 -#define REENTRANT_PROTO_B_IBI 6 -#define REENTRANT_PROTO_B_IBW 7 -#define REENTRANT_PROTO_B_SB 8 -#define REENTRANT_PROTO_B_SBI 9 -#define REENTRANT_PROTO_I_BI 10 -#define REENTRANT_PROTO_I_BW 11 -#define REENTRANT_PROTO_I_CCSBWR 12 -#define REENTRANT_PROTO_I_CCSD 13 -#define REENTRANT_PROTO_I_CII 14 -#define REENTRANT_PROTO_I_CIISD 15 -#define REENTRANT_PROTO_I_CSBI 16 -#define REENTRANT_PROTO_I_CSBIR 17 -#define REENTRANT_PROTO_I_CSBWR 18 -#define REENTRANT_PROTO_I_CSBWRE 19 -#define REENTRANT_PROTO_I_CSD 20 -#define REENTRANT_PROTO_I_CWISBWRE 21 -#define REENTRANT_PROTO_I_CWISD 22 -#define REENTRANT_PROTO_I_D 23 -#define REENTRANT_PROTO_I_H 24 -#define REENTRANT_PROTO_I_IBI 25 -#define REENTRANT_PROTO_I_IBW 26 -#define REENTRANT_PROTO_I_ICBI 27 -#define REENTRANT_PROTO_I_ICSBWR 28 -#define REENTRANT_PROTO_I_ICSD 29 -#define REENTRANT_PROTO_I_ID 30 -#define REENTRANT_PROTO_I_IISD 31 -#define REENTRANT_PROTO_I_ISBWR 32 -#define REENTRANT_PROTO_I_ISD 33 -#define REENTRANT_PROTO_I_LISBI 34 -#define REENTRANT_PROTO_I_LISD 35 -#define REENTRANT_PROTO_I_SB 36 -#define REENTRANT_PROTO_I_SBI 37 -#define REENTRANT_PROTO_I_SBIE 38 -#define REENTRANT_PROTO_I_SBIH 39 -#define REENTRANT_PROTO_I_SBIR 40 -#define REENTRANT_PROTO_I_SBWR 41 -#define REENTRANT_PROTO_I_SBWRE 42 -#define REENTRANT_PROTO_I_SD 43 -#define REENTRANT_PROTO_I_TISD 44 -#define REENTRANT_PROTO_I_TS 45 -#define REENTRANT_PROTO_I_TSBI 46 -#define REENTRANT_PROTO_I_TSBIR 47 -#define REENTRANT_PROTO_I_TSBWR 48 -#define REENTRANT_PROTO_I_TSR 49 -#define REENTRANT_PROTO_I_TsISBWRE 50 -#define REENTRANT_PROTO_I_UISBWRE 51 -#define REENTRANT_PROTO_I_uISBWRE 52 -#define REENTRANT_PROTO_S_CBI 53 -#define REENTRANT_PROTO_S_CCSBI 54 -#define REENTRANT_PROTO_S_CIISBIE 55 -#define REENTRANT_PROTO_S_CSBI 56 -#define REENTRANT_PROTO_S_CSBIE 57 -#define REENTRANT_PROTO_S_CWISBIE 58 -#define REENTRANT_PROTO_S_CWISBWIE 59 -#define REENTRANT_PROTO_S_ICSBI 60 -#define REENTRANT_PROTO_S_ISBI 61 -#define REENTRANT_PROTO_S_LISBI 62 -#define REENTRANT_PROTO_S_SBI 63 -#define REENTRANT_PROTO_S_SBIE 64 -#define REENTRANT_PROTO_S_SBW 65 -#define REENTRANT_PROTO_S_TISBI 66 -#define REENTRANT_PROTO_S_TSBI 67 -#define REENTRANT_PROTO_S_TSBIE 68 -#define REENTRANT_PROTO_S_TWISBIE 69 -#define REENTRANT_PROTO_V_D 70 -#define REENTRANT_PROTO_V_H 71 -#define REENTRANT_PROTO_V_ID 72 +# ifdef I_PWD +# include +# endif +# ifdef I_GRP +# include +# endif +# ifdef I_NETDB +# include +# endif +# ifdef I_CRYPT +# ifdef I_CRYPT +# include +# endif +# endif +# ifdef HAS_GETSPNAM_R +# ifdef I_SHADOW +# include +# endif +# endif + +# define REENTRANT_PROTO_B_B 1 +# define REENTRANT_PROTO_B_BI 2 +# define REENTRANT_PROTO_B_BW 3 +# define REENTRANT_PROTO_B_CCD 4 +# define REENTRANT_PROTO_B_CCS 5 +# define REENTRANT_PROTO_B_IBI 6 +# define REENTRANT_PROTO_B_IBW 7 +# define REENTRANT_PROTO_B_SB 8 +# define REENTRANT_PROTO_B_SBI 9 +# define REENTRANT_PROTO_I_BI 10 +# define REENTRANT_PROTO_I_BW 11 +# define REENTRANT_PROTO_I_CCSBWR 12 +# define REENTRANT_PROTO_I_CCSD 13 +# define REENTRANT_PROTO_I_CII 14 +# define REENTRANT_PROTO_I_CIISD 15 +# define REENTRANT_PROTO_I_CSBI 16 +# define REENTRANT_PROTO_I_CSBIR 17 +# define REENTRANT_PROTO_I_CSBWR 18 +# define REENTRANT_PROTO_I_CSBWRE 19 +# define REENTRANT_PROTO_I_CSD 20 +# define REENTRANT_PROTO_I_CWISBWRE 21 +# define REENTRANT_PROTO_I_CWISD 22 +# define REENTRANT_PROTO_I_D 23 +# define REENTRANT_PROTO_I_H 24 +# define REENTRANT_PROTO_I_IBI 25 +# define REENTRANT_PROTO_I_IBW 26 +# define REENTRANT_PROTO_I_ICBI 27 +# define REENTRANT_PROTO_I_ICSBWR 28 +# define REENTRANT_PROTO_I_ICSD 29 +# define REENTRANT_PROTO_I_ID 30 +# define REENTRANT_PROTO_I_IISD 31 +# define REENTRANT_PROTO_I_ISBWR 32 +# define REENTRANT_PROTO_I_ISD 33 +# define REENTRANT_PROTO_I_LISBI 34 +# define REENTRANT_PROTO_I_LISD 35 +# define REENTRANT_PROTO_I_SB 36 +# define REENTRANT_PROTO_I_SBI 37 +# define REENTRANT_PROTO_I_SBIE 38 +# define REENTRANT_PROTO_I_SBIH 39 +# define REENTRANT_PROTO_I_SBIR 40 +# define REENTRANT_PROTO_I_SBWR 41 +# define REENTRANT_PROTO_I_SBWRE 42 +# define REENTRANT_PROTO_I_SD 43 +# define REENTRANT_PROTO_I_TISD 44 +# define REENTRANT_PROTO_I_TS 45 +# define REENTRANT_PROTO_I_TSBI 46 +# define REENTRANT_PROTO_I_TSBIR 47 +# define REENTRANT_PROTO_I_TSBWR 48 +# define REENTRANT_PROTO_I_TSR 49 +# define REENTRANT_PROTO_I_TsISBWRE 50 +# define REENTRANT_PROTO_I_UISBWRE 51 +# define REENTRANT_PROTO_I_uISBWRE 52 +# define REENTRANT_PROTO_S_CBI 53 +# define REENTRANT_PROTO_S_CCSBI 54 +# define REENTRANT_PROTO_S_CIISBIE 55 +# define REENTRANT_PROTO_S_CSBI 56 +# define REENTRANT_PROTO_S_CSBIE 57 +# define REENTRANT_PROTO_S_CWISBIE 58 +# define REENTRANT_PROTO_S_CWISBWIE 59 +# define REENTRANT_PROTO_S_ICSBI 60 +# define REENTRANT_PROTO_S_ISBI 61 +# define REENTRANT_PROTO_S_LISBI 62 +# define REENTRANT_PROTO_S_SBI 63 +# define REENTRANT_PROTO_S_SBIE 64 +# define REENTRANT_PROTO_S_SBW 65 +# define REENTRANT_PROTO_S_TISBI 66 +# define REENTRANT_PROTO_S_TS 67 +# define REENTRANT_PROTO_S_TSBI 68 +# define REENTRANT_PROTO_S_TSBIE 69 +# define REENTRANT_PROTO_S_TWISBIE 70 +# define REENTRANT_PROTO_V_D 71 +# define REENTRANT_PROTO_V_H 72 +# define REENTRANT_PROTO_V_ID 73 /* Defines for indicating which special features are supported. */ /* The getgrent getgrgid getgrnam using buffer? */ -#if defined(HAS_GETGRENT_R) && (GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIR || GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBW || GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBI || GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBI || GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIH) -# define GETGRENT_R_HAS_BUFFER -#else -# undef GETGRENT_R_HAS_BUFFER -#endif -#if defined(HAS_GETGRGID_R) && (GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBWR || GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBIR || GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBI || GETGRGID_R_PROTO == REENTRANT_PROTO_S_TSBI) -# define GETGRGID_R_HAS_BUFFER -#else -# undef GETGRGID_R_HAS_BUFFER -#endif -#if defined(HAS_GETGRNAM_R) && (GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR || GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR || GETGRNAM_R_PROTO == REENTRANT_PROTO_S_CBI || GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBI || GETGRNAM_R_PROTO == REENTRANT_PROTO_S_CSBI) -# define GETGRNAM_R_HAS_BUFFER -#else -# undef GETGRNAM_R_HAS_BUFFER -#endif +# if defined(HAS_GETGRENT_R) && (GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIR || GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBW || GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBI || GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBI || GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIH) +# define GETGRENT_R_HAS_BUFFER +# else +# undef GETGRENT_R_HAS_BUFFER +# endif +# if defined(HAS_GETGRGID_R) && (GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBWR || GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBIR || GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBI || GETGRGID_R_PROTO == REENTRANT_PROTO_S_TSBI) +# define GETGRGID_R_HAS_BUFFER +# else +# undef GETGRGID_R_HAS_BUFFER +# endif +# if defined(HAS_GETGRNAM_R) && (GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR || GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR || GETGRNAM_R_PROTO == REENTRANT_PROTO_S_CBI || GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBI || GETGRNAM_R_PROTO == REENTRANT_PROTO_S_CSBI) +# define GETGRNAM_R_HAS_BUFFER +# else +# undef GETGRNAM_R_HAS_BUFFER +# endif /* Any of the getgrent getgrgid getgrnam using buffer? */ -#if (defined(GETGRENT_R_HAS_BUFFER) || defined(GETGRGID_R_HAS_BUFFER) || defined(GETGRNAM_R_HAS_BUFFER)) -# define USE_GRENT_BUFFER -#else -# undef USE_GRENT_BUFFER -#endif +# if (defined(GETGRENT_R_HAS_BUFFER) || defined(GETGRGID_R_HAS_BUFFER) || defined(GETGRNAM_R_HAS_BUFFER)) +# define USE_GRENT_BUFFER +# else +# undef USE_GRENT_BUFFER +# endif /* The getgrent getgrgid getgrnam using ptr? */ -#if defined(HAS_GETGRENT_R) && (GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIR) -# define GETGRENT_R_HAS_PTR -#else -# undef GETGRENT_R_HAS_PTR -#endif -#if defined(HAS_GETGRGID_R) && (GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBWR || GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBIR) -# define GETGRGID_R_HAS_PTR -#else -# undef GETGRGID_R_HAS_PTR -#endif -#if defined(HAS_GETGRNAM_R) && (GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR || GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR) -# define GETGRNAM_R_HAS_PTR -#else -# undef GETGRNAM_R_HAS_PTR -#endif +# if defined(HAS_GETGRENT_R) && (GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIR) +# define GETGRENT_R_HAS_PTR +# else +# undef GETGRENT_R_HAS_PTR +# endif +# if defined(HAS_GETGRGID_R) && (GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBWR || GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBIR) +# define GETGRGID_R_HAS_PTR +# else +# undef GETGRGID_R_HAS_PTR +# endif +# if defined(HAS_GETGRNAM_R) && (GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR || GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR) +# define GETGRNAM_R_HAS_PTR +# else +# undef GETGRNAM_R_HAS_PTR +# endif /* Any of the getgrent getgrgid getgrnam using ptr? */ -#if (defined(GETGRENT_R_HAS_PTR) || defined(GETGRGID_R_HAS_PTR) || defined(GETGRNAM_R_HAS_PTR)) -# define USE_GRENT_PTR -#else -# undef USE_GRENT_PTR -#endif +# if (defined(GETGRENT_R_HAS_PTR) || defined(GETGRGID_R_HAS_PTR) || defined(GETGRNAM_R_HAS_PTR)) +# define USE_GRENT_PTR +# else +# undef USE_GRENT_PTR +# endif /* The getpwent getpwnam getpwuid using ptr? */ -#if defined(HAS_GETPWENT_R) && (GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIR) -# define GETPWENT_R_HAS_PTR -#else -# undef GETPWENT_R_HAS_PTR -#endif -#if defined(HAS_GETPWNAM_R) && (GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR || GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR) -# define GETPWNAM_R_HAS_PTR -#else -# undef GETPWNAM_R_HAS_PTR -#endif -#if defined(HAS_GETPWUID_R) && (GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBWR || GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBIR) -# define GETPWUID_R_HAS_PTR -#else -# undef GETPWUID_R_HAS_PTR -#endif +# if defined(HAS_GETPWENT_R) && (GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIR) +# define GETPWENT_R_HAS_PTR +# else +# undef GETPWENT_R_HAS_PTR +# endif +# if defined(HAS_GETPWNAM_R) && (GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR || GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR) +# define GETPWNAM_R_HAS_PTR +# else +# undef GETPWNAM_R_HAS_PTR +# endif +# if defined(HAS_GETPWUID_R) && (GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBWR || GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBIR) +# define GETPWUID_R_HAS_PTR +# else +# undef GETPWUID_R_HAS_PTR +# endif /* Any of the getpwent getpwnam getpwuid using ptr? */ -#if (defined(GETPWENT_R_HAS_PTR) || defined(GETPWNAM_R_HAS_PTR) || defined(GETPWUID_R_HAS_PTR)) -# define USE_PWENT_PTR -#else -# undef USE_PWENT_PTR -#endif +# if (defined(GETPWENT_R_HAS_PTR) || defined(GETPWNAM_R_HAS_PTR) || defined(GETPWUID_R_HAS_PTR)) +# define USE_PWENT_PTR +# else +# undef USE_PWENT_PTR +# endif /* The getspent getspnam using ptr? */ -#if defined(HAS_GETSPNAM_R) && (GETSPNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR) -# define GETSPNAM_R_HAS_PTR -#else -# undef GETSPNAM_R_HAS_PTR -#endif +# if defined(HAS_GETSPNAM_R) && (GETSPNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR) +# define GETSPNAM_R_HAS_PTR +# else +# undef GETSPNAM_R_HAS_PTR +# endif /* Any of the getspent getspnam using ptr? */ -#if (defined(GETSPENT_R_HAS_PTR) || defined(GETSPNAM_R_HAS_PTR)) -# define USE_SPENT_PTR -#else -# undef USE_SPENT_PTR -#endif +# if (defined(GETSPENT_R_HAS_PTR) || defined(GETSPNAM_R_HAS_PTR)) +# define USE_SPENT_PTR +# else +# undef USE_SPENT_PTR +# endif /* The getgrent getgrgid getgrnam setgrent endgrent using fptr? */ -#if defined(HAS_GETGRENT_R) && (GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIH) -# define GETGRENT_R_HAS_FPTR -#else -# undef GETGRENT_R_HAS_FPTR -#endif -#if defined(HAS_SETGRENT_R) && (SETGRENT_R_PROTO == REENTRANT_PROTO_I_H || SETGRENT_R_PROTO == REENTRANT_PROTO_V_H) -# define SETGRENT_R_HAS_FPTR -#else -# undef SETGRENT_R_HAS_FPTR -#endif -#if defined(HAS_ENDGRENT_R) && (ENDGRENT_R_PROTO == REENTRANT_PROTO_I_H || ENDGRENT_R_PROTO == REENTRANT_PROTO_V_H) -# define ENDGRENT_R_HAS_FPTR -#else -# undef ENDGRENT_R_HAS_FPTR -#endif +# if defined(HAS_GETGRENT_R) && (GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIH) +# define GETGRENT_R_HAS_FPTR +# else +# undef GETGRENT_R_HAS_FPTR +# endif +# if defined(HAS_SETGRENT_R) && (SETGRENT_R_PROTO == REENTRANT_PROTO_I_H || SETGRENT_R_PROTO == REENTRANT_PROTO_V_H) +# define SETGRENT_R_HAS_FPTR +# else +# undef SETGRENT_R_HAS_FPTR +# endif +# if defined(HAS_ENDGRENT_R) && (ENDGRENT_R_PROTO == REENTRANT_PROTO_I_H || ENDGRENT_R_PROTO == REENTRANT_PROTO_V_H) +# define ENDGRENT_R_HAS_FPTR +# else +# undef ENDGRENT_R_HAS_FPTR +# endif /* Any of the getgrent getgrgid getgrnam setgrent endgrent using fptr? */ -#if (defined(GETGRENT_R_HAS_FPTR) || defined(GETGRGID_R_HAS_FPTR) || defined(GETGRNAM_R_HAS_FPTR) || defined(SETGRENT_R_HAS_FPTR) || defined(ENDGRENT_R_HAS_FPTR)) -# define USE_GRENT_FPTR -#else -# undef USE_GRENT_FPTR -#endif +# if (defined(GETGRENT_R_HAS_FPTR) || defined(GETGRGID_R_HAS_FPTR) || defined(GETGRNAM_R_HAS_FPTR) || defined(SETGRENT_R_HAS_FPTR) || defined(ENDGRENT_R_HAS_FPTR)) +# define USE_GRENT_FPTR +# else +# undef USE_GRENT_FPTR +# endif /* The getpwent getpwnam getpwuid setpwent endpwent using fptr? */ -#if defined(HAS_GETPWENT_R) && (GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIH) -# define GETPWENT_R_HAS_FPTR -#else -# undef GETPWENT_R_HAS_FPTR -#endif -#if defined(HAS_SETPWENT_R) && (SETPWENT_R_PROTO == REENTRANT_PROTO_I_H || SETPWENT_R_PROTO == REENTRANT_PROTO_V_H) -# define SETPWENT_R_HAS_FPTR -#else -# undef SETPWENT_R_HAS_FPTR -#endif -#if defined(HAS_ENDPWENT_R) && (ENDPWENT_R_PROTO == REENTRANT_PROTO_I_H || ENDPWENT_R_PROTO == REENTRANT_PROTO_V_H) -# define ENDPWENT_R_HAS_FPTR -#else -# undef ENDPWENT_R_HAS_FPTR -#endif +# if defined(HAS_GETPWENT_R) && (GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIH) +# define GETPWENT_R_HAS_FPTR +# else +# undef GETPWENT_R_HAS_FPTR +# endif +# if defined(HAS_SETPWENT_R) && (SETPWENT_R_PROTO == REENTRANT_PROTO_I_H || SETPWENT_R_PROTO == REENTRANT_PROTO_V_H) +# define SETPWENT_R_HAS_FPTR +# else +# undef SETPWENT_R_HAS_FPTR +# endif +# if defined(HAS_ENDPWENT_R) && (ENDPWENT_R_PROTO == REENTRANT_PROTO_I_H || ENDPWENT_R_PROTO == REENTRANT_PROTO_V_H) +# define ENDPWENT_R_HAS_FPTR +# else +# undef ENDPWENT_R_HAS_FPTR +# endif /* Any of the getpwent getpwnam getpwuid setpwent endpwent using fptr? */ -#if (defined(GETPWENT_R_HAS_FPTR) || defined(GETPWNAM_R_HAS_FPTR) || defined(GETPWUID_R_HAS_FPTR) || defined(SETPWENT_R_HAS_FPTR) || defined(ENDPWENT_R_HAS_FPTR)) -# define USE_PWENT_FPTR -#else -# undef USE_PWENT_FPTR -#endif +# if (defined(GETPWENT_R_HAS_FPTR) || defined(GETPWNAM_R_HAS_FPTR) || defined(GETPWUID_R_HAS_FPTR) || defined(SETPWENT_R_HAS_FPTR) || defined(ENDPWENT_R_HAS_FPTR)) +# define USE_PWENT_FPTR +# else +# undef USE_PWENT_FPTR +# endif /* The getpwent getpwgid getpwnam using buffer? */ -#if defined(HAS_GETPWENT_R) && (GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIR || GETPWENT_R_PROTO == REENTRANT_PROTO_S_SBW || GETPWENT_R_PROTO == REENTRANT_PROTO_S_SBI || GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBI || GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIH) -# define GETPWENT_R_HAS_BUFFER -#else -# undef GETPWENT_R_HAS_BUFFER -#endif -#if defined(HAS_GETPWNAM_R) && (GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR || GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR || GETPWNAM_R_PROTO == REENTRANT_PROTO_S_CSBI || GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBI) -# define GETPWNAM_R_HAS_BUFFER -#else -# undef GETPWNAM_R_HAS_BUFFER -#endif +# if defined(HAS_GETPWENT_R) && (GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIR || GETPWENT_R_PROTO == REENTRANT_PROTO_S_SBW || GETPWENT_R_PROTO == REENTRANT_PROTO_S_SBI || GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBI || GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIH) +# define GETPWENT_R_HAS_BUFFER +# else +# undef GETPWENT_R_HAS_BUFFER +# endif +# if defined(HAS_GETPWNAM_R) && (GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR || GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR || GETPWNAM_R_PROTO == REENTRANT_PROTO_S_CSBI || GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBI) +# define GETPWNAM_R_HAS_BUFFER +# else +# undef GETPWNAM_R_HAS_BUFFER +# endif /* Any of the getpwent getpwgid getpwnam using buffer? */ -#if (defined(GETPWENT_R_HAS_BUFFER) || defined(GETPWGID_R_HAS_BUFFER) || defined(GETPWNAM_R_HAS_BUFFER)) -# define USE_PWENT_BUFFER -#else -# undef USE_PWENT_BUFFER -#endif +# if (defined(GETPWENT_R_HAS_BUFFER) || defined(GETPWGID_R_HAS_BUFFER) || defined(GETPWNAM_R_HAS_BUFFER)) +# define USE_PWENT_BUFFER +# else +# undef USE_PWENT_BUFFER +# endif + +/* The getspent getspnam using buffer? */ + +# if defined(HAS_GETSPNAM_R) && (GETSPNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR || GETSPNAM_R_PROTO == REENTRANT_PROTO_S_CSBI) +# define GETSPNAM_R_HAS_BUFFER +# else +# undef GETSPNAM_R_HAS_BUFFER +# endif + +/* Any of the getspent getspnam using buffer? */ + +# if (defined(GETSPENT_R_HAS_BUFFER) || defined(GETSPNAM_R_HAS_BUFFER)) +# define USE_SPENT_BUFFER +# else +# undef USE_SPENT_BUFFER +# endif /* The gethostent gethostbyaddr gethostbyname using ptr? */ -#if defined(HAS_GETHOSTENT_R) && (GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBWRE) -# define GETHOSTENT_R_HAS_PTR -#else -# undef GETHOSTENT_R_HAS_PTR -#endif -#if defined(HAS_GETHOSTBYADDR_R) && (GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISBWRE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_TsISBWRE) -# define GETHOSTBYADDR_R_HAS_PTR -#else -# undef GETHOSTBYADDR_R_HAS_PTR -#endif -#if defined(HAS_GETHOSTBYNAME_R) && (GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE) -# define GETHOSTBYNAME_R_HAS_PTR -#else -# undef GETHOSTBYNAME_R_HAS_PTR -#endif +# if defined(HAS_GETHOSTENT_R) && (GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBWRE) +# define GETHOSTENT_R_HAS_PTR +# else +# undef GETHOSTENT_R_HAS_PTR +# endif +# if defined(HAS_GETHOSTBYADDR_R) && (GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISBWRE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_TsISBWRE) +# define GETHOSTBYADDR_R_HAS_PTR +# else +# undef GETHOSTBYADDR_R_HAS_PTR +# endif +# if defined(HAS_GETHOSTBYNAME_R) && (GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE) +# define GETHOSTBYNAME_R_HAS_PTR +# else +# undef GETHOSTBYNAME_R_HAS_PTR +# endif /* Any of the gethostent gethostbyaddr gethostbyname using ptr? */ -#if (defined(GETHOSTENT_R_HAS_PTR) || defined(GETHOSTBYADDR_R_HAS_PTR) || defined(GETHOSTBYNAME_R_HAS_PTR)) -# define USE_HOSTENT_PTR -#else -# undef USE_HOSTENT_PTR -#endif +# if (defined(GETHOSTENT_R_HAS_PTR) || defined(GETHOSTBYADDR_R_HAS_PTR) || defined(GETHOSTBYNAME_R_HAS_PTR)) +# define USE_HOSTENT_PTR +# else +# undef USE_HOSTENT_PTR +# endif /* The getnetent getnetbyaddr getnetbyname using ptr? */ -#if defined(HAS_GETNETENT_R) && (GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBWRE) -# define GETNETENT_R_HAS_PTR -#else -# undef GETNETENT_R_HAS_PTR -#endif -#if defined(HAS_GETNETBYADDR_R) && (GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_UISBWRE || GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_uISBWRE) -# define GETNETBYADDR_R_HAS_PTR -#else -# undef GETNETBYADDR_R_HAS_PTR -#endif -#if defined(HAS_GETNETBYNAME_R) && (GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE) -# define GETNETBYNAME_R_HAS_PTR -#else -# undef GETNETBYNAME_R_HAS_PTR -#endif +# if defined(HAS_GETNETENT_R) && (GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBWRE) +# define GETNETENT_R_HAS_PTR +# else +# undef GETNETENT_R_HAS_PTR +# endif +# if defined(HAS_GETNETBYADDR_R) && (GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_UISBWRE || GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_uISBWRE) +# define GETNETBYADDR_R_HAS_PTR +# else +# undef GETNETBYADDR_R_HAS_PTR +# endif +# if defined(HAS_GETNETBYNAME_R) && (GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE) +# define GETNETBYNAME_R_HAS_PTR +# else +# undef GETNETBYNAME_R_HAS_PTR +# endif /* Any of the getnetent getnetbyaddr getnetbyname using ptr? */ -#if (defined(GETNETENT_R_HAS_PTR) || defined(GETNETBYADDR_R_HAS_PTR) || defined(GETNETBYNAME_R_HAS_PTR)) -# define USE_NETENT_PTR -#else -# undef USE_NETENT_PTR -#endif +# if (defined(GETNETENT_R_HAS_PTR) || defined(GETNETBYADDR_R_HAS_PTR) || defined(GETNETBYNAME_R_HAS_PTR)) +# define USE_NETENT_PTR +# else +# undef USE_NETENT_PTR +# endif /* The getprotoent getprotobyname getprotobynumber using ptr? */ -#if defined(HAS_GETPROTOENT_R) && (GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBWR) -# define GETPROTOENT_R_HAS_PTR -#else -# undef GETPROTOENT_R_HAS_PTR -#endif -#if defined(HAS_GETPROTOBYNAME_R) && (GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWR) -# define GETPROTOBYNAME_R_HAS_PTR -#else -# undef GETPROTOBYNAME_R_HAS_PTR -#endif -#if defined(HAS_GETPROTOBYNUMBER_R) && (GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISBWR) -# define GETPROTOBYNUMBER_R_HAS_PTR -#else -# undef GETPROTOBYNUMBER_R_HAS_PTR -#endif +# if defined(HAS_GETPROTOENT_R) && (GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBWR) +# define GETPROTOENT_R_HAS_PTR +# else +# undef GETPROTOENT_R_HAS_PTR +# endif +# if defined(HAS_GETPROTOBYNAME_R) && (GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWR) +# define GETPROTOBYNAME_R_HAS_PTR +# else +# undef GETPROTOBYNAME_R_HAS_PTR +# endif +# if defined(HAS_GETPROTOBYNUMBER_R) && (GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISBWR) +# define GETPROTOBYNUMBER_R_HAS_PTR +# else +# undef GETPROTOBYNUMBER_R_HAS_PTR +# endif /* Any of the getprotoent getprotobyname getprotobynumber using ptr? */ -#if (defined(GETPROTOENT_R_HAS_PTR) || defined(GETPROTOBYNAME_R_HAS_PTR) || defined(GETPROTOBYNUMBER_R_HAS_PTR)) -# define USE_PROTOENT_PTR -#else -# undef USE_PROTOENT_PTR -#endif +# if (defined(GETPROTOENT_R_HAS_PTR) || defined(GETPROTOBYNAME_R_HAS_PTR) || defined(GETPROTOBYNUMBER_R_HAS_PTR)) +# define USE_PROTOENT_PTR +# else +# undef USE_PROTOENT_PTR +# endif /* The getservent getservbyname getservbyport using ptr? */ -#if defined(HAS_GETSERVENT_R) && (GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBWR) -# define GETSERVENT_R_HAS_PTR -#else -# undef GETSERVENT_R_HAS_PTR -#endif -#if defined(HAS_GETSERVBYNAME_R) && (GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSBWR) -# define GETSERVBYNAME_R_HAS_PTR -#else -# undef GETSERVBYNAME_R_HAS_PTR -#endif -#if defined(HAS_GETSERVBYPORT_R) && (GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSBWR) -# define GETSERVBYPORT_R_HAS_PTR -#else -# undef GETSERVBYPORT_R_HAS_PTR -#endif +# if defined(HAS_GETSERVENT_R) && (GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBWR) +# define GETSERVENT_R_HAS_PTR +# else +# undef GETSERVENT_R_HAS_PTR +# endif +# if defined(HAS_GETSERVBYNAME_R) && (GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSBWR) +# define GETSERVBYNAME_R_HAS_PTR +# else +# undef GETSERVBYNAME_R_HAS_PTR +# endif +# if defined(HAS_GETSERVBYPORT_R) && (GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSBWR) +# define GETSERVBYPORT_R_HAS_PTR +# else +# undef GETSERVBYPORT_R_HAS_PTR +# endif /* Any of the getservent getservbyname getservbyport using ptr? */ -#if (defined(GETSERVENT_R_HAS_PTR) || defined(GETSERVBYNAME_R_HAS_PTR) || defined(GETSERVBYPORT_R_HAS_PTR)) -# define USE_SERVENT_PTR -#else -# undef USE_SERVENT_PTR -#endif +# if (defined(GETSERVENT_R_HAS_PTR) || defined(GETSERVBYNAME_R_HAS_PTR) || defined(GETSERVBYPORT_R_HAS_PTR)) +# define USE_SERVENT_PTR +# else +# undef USE_SERVENT_PTR +# endif /* The gethostent gethostbyaddr gethostbyname using buffer? */ -#if defined(HAS_GETHOSTENT_R) && (GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBWRE || GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBIE || GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBIE || GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBI || GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBI) -# define GETHOSTENT_R_HAS_BUFFER -#else -# undef GETHOSTENT_R_HAS_BUFFER -#endif -#if defined(HAS_GETHOSTBYADDR_R) && (GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISBWRE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBWIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TWISBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CIISBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CSBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TSBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_TsISBWRE) -# define GETHOSTBYADDR_R_HAS_BUFFER -#else -# undef GETHOSTBYADDR_R_HAS_BUFFER -#endif -#if defined(HAS_GETHOSTBYNAME_R) && (GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE || GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBIE) -# define GETHOSTBYNAME_R_HAS_BUFFER -#else -# undef GETHOSTBYNAME_R_HAS_BUFFER -#endif +# if defined(HAS_GETHOSTENT_R) && (GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBWRE || GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBIE || GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBIE || GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBI || GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBI) +# define GETHOSTENT_R_HAS_BUFFER +# else +# undef GETHOSTENT_R_HAS_BUFFER +# endif +# if defined(HAS_GETHOSTBYADDR_R) && (GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISBWRE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBWIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TWISBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CIISBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CSBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TSBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_TsISBWRE) +# define GETHOSTBYADDR_R_HAS_BUFFER +# else +# undef GETHOSTBYADDR_R_HAS_BUFFER +# endif +# if defined(HAS_GETHOSTBYNAME_R) && (GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE || GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBIE) +# define GETHOSTBYNAME_R_HAS_BUFFER +# else +# undef GETHOSTBYNAME_R_HAS_BUFFER +# endif /* Any of the gethostent gethostbyaddr gethostbyname using buffer? */ -#if (defined(GETHOSTENT_R_HAS_BUFFER) || defined(GETHOSTBYADDR_R_HAS_BUFFER) || defined(GETHOSTBYNAME_R_HAS_BUFFER)) -# define USE_HOSTENT_BUFFER -#else -# undef USE_HOSTENT_BUFFER -#endif +# if (defined(GETHOSTENT_R_HAS_BUFFER) || defined(GETHOSTBYADDR_R_HAS_BUFFER) || defined(GETHOSTBYNAME_R_HAS_BUFFER)) +# define USE_HOSTENT_BUFFER +# else +# undef USE_HOSTENT_BUFFER +# endif /* The getnetent getnetbyaddr getnetbyname using buffer? */ -#if defined(HAS_GETNETENT_R) && (GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBWRE || GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBIE || GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBIE || GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBI || GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBI) -# define GETNETENT_R_HAS_BUFFER -#else -# undef GETNETENT_R_HAS_BUFFER -#endif -#if defined(HAS_GETNETBYADDR_R) && (GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_UISBWRE || GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_LISBI || GETNETBYADDR_R_PROTO == REENTRANT_PROTO_S_TISBI || GETNETBYADDR_R_PROTO == REENTRANT_PROTO_S_LISBI || GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_uISBWRE) -# define GETNETBYADDR_R_HAS_BUFFER -#else -# undef GETNETBYADDR_R_HAS_BUFFER -#endif -#if defined(HAS_GETNETBYNAME_R) && (GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE || GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBI || GETNETBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBI) -# define GETNETBYNAME_R_HAS_BUFFER -#else -# undef GETNETBYNAME_R_HAS_BUFFER -#endif +# if defined(HAS_GETNETENT_R) && (GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBWRE || GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBIE || GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBIE || GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBI || GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBI) +# define GETNETENT_R_HAS_BUFFER +# else +# undef GETNETENT_R_HAS_BUFFER +# endif +# if defined(HAS_GETNETBYADDR_R) && (GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_UISBWRE || GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_LISBI || GETNETBYADDR_R_PROTO == REENTRANT_PROTO_S_TISBI || GETNETBYADDR_R_PROTO == REENTRANT_PROTO_S_LISBI || GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_uISBWRE) +# define GETNETBYADDR_R_HAS_BUFFER +# else +# undef GETNETBYADDR_R_HAS_BUFFER +# endif +# if defined(HAS_GETNETBYNAME_R) && (GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE || GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBI || GETNETBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBI) +# define GETNETBYNAME_R_HAS_BUFFER +# else +# undef GETNETBYNAME_R_HAS_BUFFER +# endif /* Any of the getnetent getnetbyaddr getnetbyname using buffer? */ -#if (defined(GETNETENT_R_HAS_BUFFER) || defined(GETNETBYADDR_R_HAS_BUFFER) || defined(GETNETBYNAME_R_HAS_BUFFER)) -# define USE_NETENT_BUFFER -#else -# undef USE_NETENT_BUFFER -#endif +# if (defined(GETNETENT_R_HAS_BUFFER) || defined(GETNETBYADDR_R_HAS_BUFFER) || defined(GETNETBYNAME_R_HAS_BUFFER)) +# define USE_NETENT_BUFFER +# else +# undef USE_NETENT_BUFFER +# endif /* The getprotoent getprotobyname getprotobynumber using buffer? */ -#if defined(HAS_GETPROTOENT_R) && (GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBI || GETPROTOENT_R_PROTO == REENTRANT_PROTO_S_SBI) -# define GETPROTOENT_R_HAS_BUFFER -#else -# undef GETPROTOENT_R_HAS_BUFFER -#endif -#if defined(HAS_GETPROTOBYNAME_R) && (GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWR || GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBI) -# define GETPROTOBYNAME_R_HAS_BUFFER -#else -# undef GETPROTOBYNAME_R_HAS_BUFFER -#endif -#if defined(HAS_GETPROTOBYNUMBER_R) && (GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISBWR || GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_S_ISBI) -# define GETPROTOBYNUMBER_R_HAS_BUFFER -#else -# undef GETPROTOBYNUMBER_R_HAS_BUFFER -#endif +# if defined(HAS_GETPROTOENT_R) && (GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBI || GETPROTOENT_R_PROTO == REENTRANT_PROTO_S_SBI) +# define GETPROTOENT_R_HAS_BUFFER +# else +# undef GETPROTOENT_R_HAS_BUFFER +# endif +# if defined(HAS_GETPROTOBYNAME_R) && (GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWR || GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBI) +# define GETPROTOBYNAME_R_HAS_BUFFER +# else +# undef GETPROTOBYNAME_R_HAS_BUFFER +# endif +# if defined(HAS_GETPROTOBYNUMBER_R) && (GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISBWR || GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_S_ISBI) +# define GETPROTOBYNUMBER_R_HAS_BUFFER +# else +# undef GETPROTOBYNUMBER_R_HAS_BUFFER +# endif /* Any of the getprotoent getprotobyname getprotobynumber using buffer? */ -#if (defined(GETPROTOENT_R_HAS_BUFFER) || defined(GETPROTOBYNAME_R_HAS_BUFFER) || defined(GETPROTOBYNUMBER_R_HAS_BUFFER)) -# define USE_PROTOENT_BUFFER -#else -# undef USE_PROTOENT_BUFFER -#endif +# if (defined(GETPROTOENT_R_HAS_BUFFER) || defined(GETPROTOBYNAME_R_HAS_BUFFER) || defined(GETPROTOBYNUMBER_R_HAS_BUFFER)) +# define USE_PROTOENT_BUFFER +# else +# undef USE_PROTOENT_BUFFER +# endif /* The getservent getservbyname getservbyport using buffer? */ -#if defined(HAS_GETSERVENT_R) && (GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBI || GETSERVENT_R_PROTO == REENTRANT_PROTO_S_SBI) -# define GETSERVENT_R_HAS_BUFFER -#else -# undef GETSERVENT_R_HAS_BUFFER -#endif -#if defined(HAS_GETSERVBYNAME_R) && (GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSBWR || GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_S_CCSBI) -# define GETSERVBYNAME_R_HAS_BUFFER -#else -# undef GETSERVBYNAME_R_HAS_BUFFER -#endif -#if defined(HAS_GETSERVBYPORT_R) && (GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSBWR || GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_S_ICSBI) -# define GETSERVBYPORT_R_HAS_BUFFER -#else -# undef GETSERVBYPORT_R_HAS_BUFFER -#endif +# if defined(HAS_GETSERVENT_R) && (GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBI || GETSERVENT_R_PROTO == REENTRANT_PROTO_S_SBI) +# define GETSERVENT_R_HAS_BUFFER +# else +# undef GETSERVENT_R_HAS_BUFFER +# endif +# if defined(HAS_GETSERVBYNAME_R) && (GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSBWR || GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_S_CCSBI) +# define GETSERVBYNAME_R_HAS_BUFFER +# else +# undef GETSERVBYNAME_R_HAS_BUFFER +# endif +# if defined(HAS_GETSERVBYPORT_R) && (GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSBWR || GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_S_ICSBI) +# define GETSERVBYPORT_R_HAS_BUFFER +# else +# undef GETSERVBYPORT_R_HAS_BUFFER +# endif /* Any of the getservent getservbyname getservbyport using buffer? */ -#if (defined(GETSERVENT_R_HAS_BUFFER) || defined(GETSERVBYNAME_R_HAS_BUFFER) || defined(GETSERVBYPORT_R_HAS_BUFFER)) -# define USE_SERVENT_BUFFER -#else -# undef USE_SERVENT_BUFFER -#endif +# if (defined(GETSERVENT_R_HAS_BUFFER) || defined(GETSERVBYNAME_R_HAS_BUFFER) || defined(GETSERVBYPORT_R_HAS_BUFFER)) +# define USE_SERVENT_BUFFER +# else +# undef USE_SERVENT_BUFFER +# endif /* The gethostent gethostbyaddr gethostbyname using errno? */ -#if defined(HAS_GETHOSTENT_R) && (GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBWRE || GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBIE || GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBIE) -# define GETHOSTENT_R_HAS_ERRNO -#else -# undef GETHOSTENT_R_HAS_ERRNO -#endif -#if defined(HAS_GETHOSTBYADDR_R) && (GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISBWRE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBWIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TWISBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CIISBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CSBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TSBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_TsISBWRE) -# define GETHOSTBYADDR_R_HAS_ERRNO -#else -# undef GETHOSTBYADDR_R_HAS_ERRNO -#endif -#if defined(HAS_GETHOSTBYNAME_R) && (GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE || GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBIE) -# define GETHOSTBYNAME_R_HAS_ERRNO -#else -# undef GETHOSTBYNAME_R_HAS_ERRNO -#endif +# if defined(HAS_GETHOSTENT_R) && (GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBWRE || GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBIE || GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBIE) +# define GETHOSTENT_R_HAS_ERRNO +# else +# undef GETHOSTENT_R_HAS_ERRNO +# endif +# if defined(HAS_GETHOSTBYADDR_R) && (GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISBWRE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBWIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TWISBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CIISBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CSBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TSBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_TsISBWRE) +# define GETHOSTBYADDR_R_HAS_ERRNO +# else +# undef GETHOSTBYADDR_R_HAS_ERRNO +# endif +# if defined(HAS_GETHOSTBYNAME_R) && (GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE || GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBIE) +# define GETHOSTBYNAME_R_HAS_ERRNO +# else +# undef GETHOSTBYNAME_R_HAS_ERRNO +# endif /* Any of the gethostent gethostbyaddr gethostbyname using errno? */ -#if (defined(GETHOSTENT_R_HAS_ERRNO) || defined(GETHOSTBYADDR_R_HAS_ERRNO) || defined(GETHOSTBYNAME_R_HAS_ERRNO)) -# define USE_HOSTENT_ERRNO -#else -# undef USE_HOSTENT_ERRNO -#endif +# if (defined(GETHOSTENT_R_HAS_ERRNO) || defined(GETHOSTBYADDR_R_HAS_ERRNO) || defined(GETHOSTBYNAME_R_HAS_ERRNO)) +# define USE_HOSTENT_ERRNO +# else +# undef USE_HOSTENT_ERRNO +# endif /* The getnetent getnetbyaddr getnetbyname using errno? */ -#if defined(HAS_GETNETENT_R) && (GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBWRE || GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBIE || GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBIE) -# define GETNETENT_R_HAS_ERRNO -#else -# undef GETNETENT_R_HAS_ERRNO -#endif -#if defined(HAS_GETNETBYADDR_R) && (GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_UISBWRE || GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_uISBWRE) -# define GETNETBYADDR_R_HAS_ERRNO -#else -# undef GETNETBYADDR_R_HAS_ERRNO -#endif -#if defined(HAS_GETNETBYNAME_R) && (GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE) -# define GETNETBYNAME_R_HAS_ERRNO -#else -# undef GETNETBYNAME_R_HAS_ERRNO -#endif +# if defined(HAS_GETNETENT_R) && (GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBWRE || GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBIE || GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBIE) +# define GETNETENT_R_HAS_ERRNO +# else +# undef GETNETENT_R_HAS_ERRNO +# endif +# if defined(HAS_GETNETBYADDR_R) && (GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_UISBWRE || GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_uISBWRE) +# define GETNETBYADDR_R_HAS_ERRNO +# else +# undef GETNETBYADDR_R_HAS_ERRNO +# endif +# if defined(HAS_GETNETBYNAME_R) && (GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE) +# define GETNETBYNAME_R_HAS_ERRNO +# else +# undef GETNETBYNAME_R_HAS_ERRNO +# endif /* Any of the getnetent getnetbyaddr getnetbyname using errno? */ -#if (defined(GETNETENT_R_HAS_ERRNO) || defined(GETNETBYADDR_R_HAS_ERRNO) || defined(GETNETBYNAME_R_HAS_ERRNO)) -# define USE_NETENT_ERRNO -#else -# undef USE_NETENT_ERRNO -#endif +# if (defined(GETNETENT_R_HAS_ERRNO) || defined(GETNETBYADDR_R_HAS_ERRNO) || defined(GETNETBYNAME_R_HAS_ERRNO)) +# define USE_NETENT_ERRNO +# else +# undef USE_NETENT_ERRNO +# endif typedef struct { -#ifdef HAS_ASCTIME_R + +# ifdef HAS_ASCTIME_R char* _asctime_buffer; size_t _asctime_size; -#endif /* HAS_ASCTIME_R */ -#ifdef HAS_CRYPT_R -#if CRYPT_R_PROTO == REENTRANT_PROTO_B_CCD +# endif /* HAS_ASCTIME_R */ + +# ifdef HAS_CRYPT_R +# if CRYPT_R_PROTO == REENTRANT_PROTO_B_CCD CRYPTD* _crypt_data; -#else +# else struct crypt_data *_crypt_struct_buffer; -#endif -#endif /* HAS_CRYPT_R */ -#ifdef HAS_CTIME_R +# endif +# endif /* HAS_CRYPT_R */ + +# ifdef HAS_CTIME_R char* _ctime_buffer; size_t _ctime_size; -#endif /* HAS_CTIME_R */ -#ifdef HAS_GETGRNAM_R +# endif /* HAS_CTIME_R */ + +# ifdef HAS_GETGRNAM_R struct group _grent_struct; char* _grent_buffer; size_t _grent_size; @@ -644,8 +674,9 @@ typedef struct { # ifdef USE_GRENT_FPTR FILE* _grent_fptr; # endif -#endif /* HAS_GETGRNAM_R */ -#ifdef HAS_GETHOSTBYNAME_R +# endif /* HAS_GETGRNAM_R */ + +# ifdef HAS_GETHOSTBYNAME_R struct hostent _hostent_struct; # if GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD struct hostent_data _hostent_data; @@ -658,13 +689,15 @@ typedef struct { # endif # ifdef USE_HOSTENT_ERRNO int _hostent_errno; -# endif -#endif /* HAS_GETHOSTBYNAME_R */ -#ifdef HAS_GETLOGIN_R +# endif +# endif /* HAS_GETHOSTBYNAME_R */ + +# ifdef HAS_GETLOGIN_R char* _getlogin_buffer; size_t _getlogin_size; -#endif /* HAS_GETLOGIN_R */ -#ifdef HAS_GETNETBYNAME_R +# endif /* HAS_GETLOGIN_R */ + +# ifdef HAS_GETNETBYNAME_R struct netent _netent_struct; # if GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD struct netent_data _netent_data; @@ -677,9 +710,10 @@ typedef struct { # endif # ifdef USE_NETENT_ERRNO int _netent_errno; -# endif -#endif /* HAS_GETNETBYNAME_R */ -#ifdef HAS_GETPROTOBYNAME_R +# endif +# endif /* HAS_GETNETBYNAME_R */ + +# ifdef HAS_GETPROTOBYNAME_R struct protoent _protoent_struct; # if GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD struct protoent_data _protoent_data; @@ -692,9 +726,10 @@ typedef struct { # endif # ifdef USE_PROTOENT_ERRNO int _protoent_errno; -# endif -#endif /* HAS_GETPROTOBYNAME_R */ -#ifdef HAS_GETPWNAM_R +# endif +# endif /* HAS_GETPROTOBYNAME_R */ + +# ifdef HAS_GETPWNAM_R struct passwd _pwent_struct; char* _pwent_buffer; size_t _pwent_size; @@ -704,8 +739,9 @@ typedef struct { # ifdef USE_PWENT_FPTR FILE* _pwent_fptr; # endif -#endif /* HAS_GETPWNAM_R */ -#ifdef HAS_GETSERVBYNAME_R +# endif /* HAS_GETPWNAM_R */ + +# ifdef HAS_GETSERVBYNAME_R struct servent _servent_struct; # if GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSD struct servent_data _servent_data; @@ -718,9 +754,10 @@ typedef struct { # endif # ifdef USE_SERVENT_ERRNO int _servent_errno; -# endif -#endif /* HAS_GETSERVBYNAME_R */ -#ifdef HAS_GETSPNAM_R +# endif +# endif /* HAS_GETSERVBYNAME_R */ + +# ifdef HAS_GETSPNAM_R struct spwd _spent_struct; char* _spent_buffer; size_t _spent_size; @@ -730,715 +767,928 @@ typedef struct { # ifdef USE_SPENT_FPTR FILE* _spent_fptr; # endif -#endif /* HAS_GETSPNAM_R */ -#ifdef HAS_READDIR_R +# endif /* HAS_GETSPNAM_R */ + +# ifdef HAS_GMTIME_R + struct tm _gmtime_struct; +# endif /* HAS_GMTIME_R */ + +# ifdef HAS_LOCALTIME_R + struct tm _localtime_struct; +# endif /* HAS_LOCALTIME_R */ + +# ifdef HAS_READDIR_R struct dirent* _readdir_struct; size_t _readdir_size; # if READDIR_R_PROTO == REENTRANT_PROTO_I_TSR struct dirent* _readdir_ptr; # endif -#endif /* HAS_READDIR_R */ -#ifdef HAS_READDIR64_R +# endif /* HAS_READDIR_R */ + +# ifdef HAS_READDIR64_R struct dirent64* _readdir64_struct; size_t _readdir64_size; # if READDIR64_R_PROTO == REENTRANT_PROTO_I_TSR struct dirent64* _readdir64_ptr; # endif -#endif /* HAS_READDIR64_R */ -#ifdef HAS_SETLOCALE_R +# endif /* HAS_READDIR64_R */ + +# ifdef HAS_SETLOCALE_R char* _setlocale_buffer; size_t _setlocale_size; -#endif /* HAS_SETLOCALE_R */ -#ifdef HAS_STRERROR_R +# endif /* HAS_SETLOCALE_R */ + +# ifdef HAS_STRERROR_R char* _strerror_buffer; size_t _strerror_size; -#endif /* HAS_STRERROR_R */ -#ifdef HAS_TTYNAME_R +# endif /* HAS_STRERROR_R */ + +# ifdef HAS_TTYNAME_R char* _ttyname_buffer; size_t _ttyname_size; -#endif /* HAS_TTYNAME_R */ +# endif /* HAS_TTYNAME_R */ + int dummy; /* cannot have empty structs */ } REENTR; /* The wrappers. */ -#ifdef HAS_ASCTIME_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef asctime -# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_B_SB -# define asctime(a) asctime_r(a, PL_reentrant_buffer->_asctime_buffer) -# endif -# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_B_SBI -# define asctime(a) asctime_r(a, PL_reentrant_buffer->_asctime_buffer, PL_reentrant_buffer->_asctime_size) -# endif -# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_I_SB -# define asctime(a) (asctime_r(a, PL_reentrant_buffer->_asctime_buffer) == 0 ? PL_reentrant_buffer->_asctime_buffer : 0) -# endif -# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_I_SBI -# define asctime(a) (asctime_r(a, PL_reentrant_buffer->_asctime_buffer, PL_reentrant_buffer->_asctime_size) == 0 ? PL_reentrant_buffer->_asctime_buffer : 0) -# endif -# endif -#endif /* HAS_ASCTIME_R */ - -#ifdef HAS_CRYPT_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef crypt -# if !defined(crypt) && CRYPT_R_PROTO == REENTRANT_PROTO_B_CCS -# define crypt(a, b) crypt_r(a, b, PL_reentrant_buffer->_crypt_struct_buffer) -# endif -# if !defined(crypt) && CRYPT_R_PROTO == REENTRANT_PROTO_B_CCD -# define crypt(a, b) crypt_r(a, b, &PL_reentrant_buffer->_crypt_data) -# endif +# ifdef HAS_ASCTIME_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef asctime +# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_B_SB +# define asctime(a) asctime_r(a, PL_reentrant_buffer->_asctime_buffer) +# endif +# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_B_SBI +# define asctime(a) asctime_r(a, PL_reentrant_buffer->_asctime_buffer, PL_reentrant_buffer->_asctime_size) +# endif +# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_I_SB +# define asctime(a) (asctime_r(a, PL_reentrant_buffer->_asctime_buffer) == 0 ? PL_reentrant_buffer->_asctime_buffer : 0) +# endif +# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_I_SBI +# define asctime(a) (asctime_r(a, PL_reentrant_buffer->_asctime_buffer, PL_reentrant_buffer->_asctime_size) == 0 ? PL_reentrant_buffer->_asctime_buffer : 0) +# endif +# if defined(asctime) +# define PERL_REENTR_USING_ASCTIME_R +# endif +# endif +# endif /* HAS_ASCTIME_R */ + + +# ifdef HAS_CRYPT_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef crypt +# if !defined(crypt) && CRYPT_R_PROTO == REENTRANT_PROTO_B_CCS +# define crypt(a, b) crypt_r(a, b, PL_reentrant_buffer->_crypt_struct_buffer) +# endif +# if !defined(crypt) && CRYPT_R_PROTO == REENTRANT_PROTO_B_CCD +# define crypt(a, b) crypt_r(a, b, &PL_reentrant_buffer->_crypt_data) +# endif +# if defined(crypt) +# define PERL_REENTR_USING_CRYPT_R +# endif +# endif +# endif /* HAS_CRYPT_R */ + + +# ifdef HAS_CTERMID_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef ctermid +# if !defined(ctermid) && CTERMID_R_PROTO == REENTRANT_PROTO_B_B +# define ctermid(a) ctermid_r(a) +# endif +# if defined(ctermid) +# define PERL_REENTR_USING_CTERMID_R +# endif +# endif +# endif /* HAS_CTERMID_R */ + + +# ifdef HAS_CTIME_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef ctime +# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_B_SB +# define ctime(a) ctime_r(a, PL_reentrant_buffer->_ctime_buffer) +# endif +# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_B_SBI +# define ctime(a) ctime_r(a, PL_reentrant_buffer->_ctime_buffer, PL_reentrant_buffer->_ctime_size) +# endif +# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_I_SB +# define ctime(a) (ctime_r(a, PL_reentrant_buffer->_ctime_buffer) == 0 ? PL_reentrant_buffer->_ctime_buffer : 0) +# endif +# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_I_SBI +# define ctime(a) (ctime_r(a, PL_reentrant_buffer->_ctime_buffer, PL_reentrant_buffer->_ctime_size) == 0 ? PL_reentrant_buffer->_ctime_buffer : 0) +# endif +# if defined(ctime) +# define PERL_REENTR_USING_CTIME_R +# endif +# endif +# endif /* HAS_CTIME_R */ + + +# ifdef HAS_ENDGRENT_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef endgrent +# if !defined(endgrent) && ENDGRENT_R_PROTO == REENTRANT_PROTO_I_H +# define endgrent() (endgrent_r(&PL_reentrant_buffer->_grent_fptr) == 0 ? 1 : 0) +# endif +# if !defined(endgrent) && ENDGRENT_R_PROTO == REENTRANT_PROTO_V_H +# define endgrent() endgrent_r(&PL_reentrant_buffer->_grent_fptr) +# endif +# if defined(endgrent) +# define PERL_REENTR_USING_ENDGRENT_R +# endif +# endif +# endif /* HAS_ENDGRENT_R */ + + +# ifdef HAS_ENDHOSTENT_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef endhostent +# if !defined(endhostent) && ENDHOSTENT_R_PROTO == REENTRANT_PROTO_I_D +# define endhostent() (endhostent_r(&PL_reentrant_buffer->_hostent_data) == 0 ? 1 : 0) +# endif +# if !defined(endhostent) && ENDHOSTENT_R_PROTO == REENTRANT_PROTO_V_D +# define endhostent() endhostent_r(&PL_reentrant_buffer->_hostent_data) +# endif +# if defined(endhostent) +# define PERL_REENTR_USING_ENDHOSTENT_R +# endif +# endif +# endif /* HAS_ENDHOSTENT_R */ + + +# ifdef HAS_ENDNETENT_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef endnetent +# if !defined(endnetent) && ENDNETENT_R_PROTO == REENTRANT_PROTO_I_D +# define endnetent() (endnetent_r(&PL_reentrant_buffer->_netent_data) == 0 ? 1 : 0) +# endif +# if !defined(endnetent) && ENDNETENT_R_PROTO == REENTRANT_PROTO_V_D +# define endnetent() endnetent_r(&PL_reentrant_buffer->_netent_data) +# endif +# if defined(endnetent) +# define PERL_REENTR_USING_ENDNETENT_R +# endif +# endif +# endif /* HAS_ENDNETENT_R */ + + +# ifdef HAS_ENDPROTOENT_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef endprotoent +# if !defined(endprotoent) && ENDPROTOENT_R_PROTO == REENTRANT_PROTO_I_D +# define endprotoent() (endprotoent_r(&PL_reentrant_buffer->_protoent_data) == 0 ? 1 : 0) +# endif +# if !defined(endprotoent) && ENDPROTOENT_R_PROTO == REENTRANT_PROTO_V_D +# define endprotoent() endprotoent_r(&PL_reentrant_buffer->_protoent_data) +# endif +# if defined(endprotoent) +# define PERL_REENTR_USING_ENDPROTOENT_R +# endif +# endif +# endif /* HAS_ENDPROTOENT_R */ + + +# ifdef HAS_ENDPWENT_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef endpwent +# if !defined(endpwent) && ENDPWENT_R_PROTO == REENTRANT_PROTO_I_H +# define endpwent() (endpwent_r(&PL_reentrant_buffer->_pwent_fptr) == 0 ? 1 : 0) +# endif +# if !defined(endpwent) && ENDPWENT_R_PROTO == REENTRANT_PROTO_V_H +# define endpwent() endpwent_r(&PL_reentrant_buffer->_pwent_fptr) +# endif +# if defined(endpwent) +# define PERL_REENTR_USING_ENDPWENT_R +# endif +# endif +# endif /* HAS_ENDPWENT_R */ + + +# ifdef HAS_ENDSERVENT_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef endservent +# if !defined(endservent) && ENDSERVENT_R_PROTO == REENTRANT_PROTO_I_D +# define endservent() (endservent_r(&PL_reentrant_buffer->_servent_data) == 0 ? 1 : 0) +# endif +# if !defined(endservent) && ENDSERVENT_R_PROTO == REENTRANT_PROTO_V_D +# define endservent() endservent_r(&PL_reentrant_buffer->_servent_data) +# endif +# if defined(endservent) +# define PERL_REENTR_USING_ENDSERVENT_R +# endif +# endif +# endif /* HAS_ENDSERVENT_R */ + + +# ifdef HAS_GETGRENT_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef getgrent +# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBWR +# define getgrent() ((PL_reentrant_retint = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0)) +# endif +# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIR +# define getgrent() ((PL_reentrant_retint = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0)) +# endif +# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBW +# define getgrent() (getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? &PL_reentrant_buffer->_grent_struct : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0)) +# endif +# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBI +# define getgrent() (getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? &PL_reentrant_buffer->_grent_struct : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0)) +# endif +# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBI +# define getgrent() ((PL_reentrant_retint = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0)) +# endif +# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIH +# define getgrent() ((PL_reentrant_retint = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_fptr)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0)) +# endif +# if defined(getgrent) +# define PERL_REENTR_USING_GETGRENT_R +# endif +# endif +# endif /* HAS_GETGRENT_R */ + + +# ifdef HAS_GETGRGID_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef getgrgid +# if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBWR +# define getgrgid(a) ((PL_reentrant_retint = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrgid", a) : 0)) +# endif +# if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBIR +# define getgrgid(a) ((PL_reentrant_retint = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrgid", a) : 0)) +# endif +# if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBI +# define getgrgid(a) ((PL_reentrant_retint = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrgid", a) : 0)) +# endif +# if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_S_TSBI +# define getgrgid(a) (getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? &PL_reentrant_buffer->_grent_struct : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrgid", a) : 0)) +# endif +# if defined(getgrgid) +# define PERL_REENTR_USING_GETGRGID_R +# endif +# endif +# endif /* HAS_GETGRGID_R */ + + +# ifdef HAS_GETGRNAM_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef getgrnam +# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR +# define getgrnam(a) ((PL_reentrant_retint = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrnam", a) : 0)) +# endif +# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR +# define getgrnam(a) ((PL_reentrant_retint = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrnam", a) : 0)) +# endif +# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_S_CBI +# define getgrnam(a) (getgrnam_r(a, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? PL_reentrant_buffer->_grent_buffer : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrnam", a) : 0)) +# endif +# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBI +# define getgrnam(a) ((PL_reentrant_retint = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrnam", a) : 0)) +# endif +# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_S_CSBI +# define getgrnam(a) (getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? &PL_reentrant_buffer->_grent_struct : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrnam", a) : 0)) +# endif +# if defined(getgrnam) +# define PERL_REENTR_USING_GETGRNAM_R +# endif +# endif +# endif /* HAS_GETGRNAM_R */ + + +# ifdef HAS_GETHOSTBYADDR_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef gethostbyaddr +# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISBWRE +# define gethostbyaddr(a, b, c) ((PL_reentrant_retint = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) +# endif +# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBWIE +# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) +# endif +# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBIE +# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) +# endif +# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TWISBIE +# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) +# endif +# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CIISBIE +# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) +# endif +# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CSBIE +# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? 1 : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) +# endif +# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TSBIE +# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? 1 : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) +# endif +# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISD +# define gethostbyaddr(a, b, c) ((PL_reentrant_retint = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) +# endif +# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CIISD +# define gethostbyaddr(a, b, c) ((PL_reentrant_retint = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) +# endif +# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CII +# define gethostbyaddr(a, b, c) ((PL_reentrant_retint = gethostbyaddr_r(a, b, c)) == 0 ? 1 : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) +# endif +# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_TsISBWRE +# define gethostbyaddr(a, b, c) ((PL_reentrant_retint = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) +# endif +# if defined(gethostbyaddr) +# define PERL_REENTR_USING_GETHOSTBYADDR_R +# endif +# endif +# endif /* HAS_GETHOSTBYADDR_R */ + + +# ifdef HAS_GETHOSTBYNAME_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef gethostbyname +# if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE +# define gethostbyname(a) ((PL_reentrant_retint = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyname", a) : 0)) +# endif +# if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBIE +# define gethostbyname(a) (gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyname", a) : 0)) +# endif +# if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD +# define gethostbyname(a) ((PL_reentrant_retint = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyname", a) : 0)) +# endif +# if defined(gethostbyname) +# define PERL_REENTR_USING_GETHOSTBYNAME_R +# endif +# endif +# endif /* HAS_GETHOSTBYNAME_R */ + + +# ifdef HAS_GETHOSTENT_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef gethostent +# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBWRE +# define gethostent() ((PL_reentrant_retint = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0)) +# endif +# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBIE +# define gethostent() ((PL_reentrant_retint = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0)) +# endif +# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBIE +# define gethostent() (gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0)) +# endif +# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBI +# define gethostent() (gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0)) +# endif +# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBI +# define gethostent() ((PL_reentrant_retint = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0)) +# endif +# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SD +# define gethostent() ((PL_reentrant_retint = gethostent_r(&PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0)) +# endif +# if defined(gethostent) +# define PERL_REENTR_USING_GETHOSTENT_R +# endif +# endif +# endif /* HAS_GETHOSTENT_R */ + + +# ifdef HAS_GETLOGIN_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef getlogin +# if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_I_BW +# define getlogin() ((PL_reentrant_retint = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : ((PL_reentrant_retint == ERANGE) ? (char *) Perl_reentrant_retry("getlogin") : 0)) +# endif +# if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_I_BI +# define getlogin() ((PL_reentrant_retint = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : ((PL_reentrant_retint == ERANGE) ? (char *) Perl_reentrant_retry("getlogin") : 0)) +# endif +# if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_B_BW +# define getlogin() getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size) +# endif +# if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_B_BI +# define getlogin() getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size) +# endif +# if defined(getlogin) +# define PERL_REENTR_USING_GETLOGIN_R +# endif +# endif +# endif /* HAS_GETLOGIN_R */ + + +# ifdef HAS_GETNETBYADDR_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef getnetbyaddr +# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_UISBWRE +# define getnetbyaddr(a, b) ((PL_reentrant_retint = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0)) +# endif +# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_LISBI +# define getnetbyaddr(a, b) ((PL_reentrant_retint = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0)) +# endif +# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_S_TISBI +# define getnetbyaddr(a, b) (getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0)) +# endif +# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_S_LISBI +# define getnetbyaddr(a, b) (getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0)) +# endif +# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_TISD +# define getnetbyaddr(a, b) ((PL_reentrant_retint = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0)) +# endif +# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_LISD +# define getnetbyaddr(a, b) ((PL_reentrant_retint = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0)) +# endif +# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_IISD +# define getnetbyaddr(a, b) ((PL_reentrant_retint = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0)) +# endif +# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_uISBWRE +# define getnetbyaddr(a, b) ((PL_reentrant_retint = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0)) +# endif +# if defined(getnetbyaddr) +# define PERL_REENTR_USING_GETNETBYADDR_R +# endif +# endif +# endif /* HAS_GETNETBYADDR_R */ + + +# ifdef HAS_GETNETBYNAME_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef getnetbyname +# if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE +# define getnetbyname(a) ((PL_reentrant_retint = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyname", a) : 0)) +# endif +# if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBI +# define getnetbyname(a) ((PL_reentrant_retint = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyname", a) : 0)) +# endif +# if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBI +# define getnetbyname(a) (getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyname", a) : 0)) +# endif +# if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD +# define getnetbyname(a) ((PL_reentrant_retint = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyname", a) : 0)) +# endif +# if defined(getnetbyname) +# define PERL_REENTR_USING_GETNETBYNAME_R +# endif +# endif +# endif /* HAS_GETNETBYNAME_R */ + + +# ifdef HAS_GETNETENT_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef getnetent +# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBWRE +# define getnetent() ((PL_reentrant_retint = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0)) +# endif +# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBIE +# define getnetent() ((PL_reentrant_retint = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_errno)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0)) +# endif +# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBIE +# define getnetent() (getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_errno) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0)) +# endif +# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBI +# define getnetent() (getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0)) +# endif +# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBI +# define getnetent() ((PL_reentrant_retint = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0)) +# endif +# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SD +# define getnetent() ((PL_reentrant_retint = getnetent_r(&PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0)) +# endif +# if defined(getnetent) +# define PERL_REENTR_USING_GETNETENT_R +# endif +# endif +# endif /* HAS_GETNETENT_R */ + + +# ifdef HAS_GETPROTOBYNAME_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef getprotobyname +# if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWR +# define getprotobyname(a) ((PL_reentrant_retint = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobyname", a) : 0)) +# endif +# if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBI +# define getprotobyname(a) (getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size) ? &PL_reentrant_buffer->_protoent_struct : ((errno == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobyname", a) : 0)) +# endif +# if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD +# define getprotobyname(a) (REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)),(PL_reentrant_retint = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobyname", a) : 0)) +# endif +# if defined(getprotobyname) +# define PERL_REENTR_USING_GETPROTOBYNAME_R +# endif +# endif +# endif /* HAS_GETPROTOBYNAME_R */ + + +# ifdef HAS_GETPROTOBYNUMBER_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef getprotobynumber +# if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISBWR +# define getprotobynumber(a) ((PL_reentrant_retint = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobynumber", a) : 0)) +# endif +# if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_S_ISBI +# define getprotobynumber(a) (getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size) ? &PL_reentrant_buffer->_protoent_struct : ((errno == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobynumber", a) : 0)) +# endif +# if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISD +# define getprotobynumber(a) (REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)),(PL_reentrant_retint = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobynumber", a) : 0)) +# endif +# if defined(getprotobynumber) +# define PERL_REENTR_USING_GETPROTOBYNUMBER_R +# endif +# endif +# endif /* HAS_GETPROTOBYNUMBER_R */ + + +# ifdef HAS_GETPROTOENT_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef getprotoent +# if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBWR +# define getprotoent() ((PL_reentrant_retint = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotoent") : 0)) +# endif +# if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBI +# define getprotoent() ((PL_reentrant_retint = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotoent") : 0)) +# endif +# if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_S_SBI +# define getprotoent() (getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size) ? &PL_reentrant_buffer->_protoent_struct : ((errno == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotoent") : 0)) +# endif +# if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SD +# define getprotoent() (REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)),(PL_reentrant_retint = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotoent") : 0)) +# endif +# if defined(getprotoent) +# define PERL_REENTR_USING_GETPROTOENT_R +# endif +# endif +# endif /* HAS_GETPROTOENT_R */ + + +# ifdef HAS_GETPWENT_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef getpwent +# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBWR +# define getpwent() ((PL_reentrant_retint = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0)) +# endif +# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIR +# define getpwent() ((PL_reentrant_retint = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0)) +# endif +# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_S_SBW +# define getpwent() (getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size) ? &PL_reentrant_buffer->_pwent_struct : ((errno == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0)) +# endif +# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_S_SBI +# define getpwent() (getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size) ? &PL_reentrant_buffer->_pwent_struct : ((errno == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0)) +# endif +# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBI +# define getpwent() ((PL_reentrant_retint = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0)) +# endif +# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIH +# define getpwent() ((PL_reentrant_retint = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_fptr)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0)) +# endif +# if defined(getpwent) +# define PERL_REENTR_USING_GETPWENT_R +# endif +# endif +# endif /* HAS_GETPWENT_R */ + + +# ifdef HAS_GETPWNAM_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef getpwnam +# if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR +# define getpwnam(a) ((PL_reentrant_retint = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwnam", a) : 0)) +# endif +# if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR +# define getpwnam(a) ((PL_reentrant_retint = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwnam", a) : 0)) +# endif +# if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_S_CSBI +# define getpwnam(a) (getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size) ? &PL_reentrant_buffer->_pwent_struct : ((errno == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwnam", a) : 0)) +# endif +# if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBI +# define getpwnam(a) ((PL_reentrant_retint = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwnam", a) : 0)) +# endif +# if defined(getpwnam) +# define PERL_REENTR_USING_GETPWNAM_R +# endif +# endif +# endif /* HAS_GETPWNAM_R */ + + +# ifdef HAS_GETPWUID_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef getpwuid +# if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBWR +# define getpwuid(a) ((PL_reentrant_retint = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwuid", a) : 0)) +# endif +# if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBIR +# define getpwuid(a) ((PL_reentrant_retint = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwuid", a) : 0)) +# endif +# if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBI +# define getpwuid(a) ((PL_reentrant_retint = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwuid", a) : 0)) +# endif +# if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_S_TSBI +# define getpwuid(a) (getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size) ? &PL_reentrant_buffer->_pwent_struct : ((errno == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwuid", a) : 0)) +# endif +# if defined(getpwuid) +# define PERL_REENTR_USING_GETPWUID_R +# endif +# endif +# endif /* HAS_GETPWUID_R */ + + +# ifdef HAS_GETSERVBYNAME_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef getservbyname +# if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSBWR +# define getservbyname(a, b) ((PL_reentrant_retint = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyname", a, b) : 0)) +# endif +# if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_S_CCSBI +# define getservbyname(a, b) (getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size) ? &PL_reentrant_buffer->_servent_struct : ((errno == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyname", a, b) : 0)) +# endif +# if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSD +# define getservbyname(a, b) (REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)),(PL_reentrant_retint = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyname", a, b) : 0)) +# endif +# if defined(getservbyname) +# define PERL_REENTR_USING_GETSERVBYNAME_R +# endif +# endif +# endif /* HAS_GETSERVBYNAME_R */ + + +# ifdef HAS_GETSERVBYPORT_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef getservbyport +# if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSBWR +# define getservbyport(a, b) ((PL_reentrant_retint = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyport", a, b) : 0)) +# endif +# if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_S_ICSBI +# define getservbyport(a, b) (getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size) ? &PL_reentrant_buffer->_servent_struct : ((errno == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyport", a, b) : 0)) +# endif +# if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSD +# define getservbyport(a, b) (REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)),(PL_reentrant_retint = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyport", a, b) : 0)) +# endif +# if defined(getservbyport) +# define PERL_REENTR_USING_GETSERVBYPORT_R +# endif +# endif +# endif /* HAS_GETSERVBYPORT_R */ + + +# ifdef HAS_GETSERVENT_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef getservent +# if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBWR +# define getservent() ((PL_reentrant_retint = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservent") : 0)) +# endif +# if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBI +# define getservent() ((PL_reentrant_retint = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservent") : 0)) +# endif +# if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_S_SBI +# define getservent() (getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size) ? &PL_reentrant_buffer->_servent_struct : ((errno == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservent") : 0)) +# endif +# if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SD +# define getservent() (REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)),(PL_reentrant_retint = getservent_r(&PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservent") : 0)) +# endif +# if defined(getservent) +# define PERL_REENTR_USING_GETSERVENT_R +# endif +# endif +# endif /* HAS_GETSERVENT_R */ + + +# ifdef HAS_GETSPNAM_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef getspnam +# if !defined(getspnam) && GETSPNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR +# define getspnam(a) ((PL_reentrant_retint = getspnam_r(a, &PL_reentrant_buffer->_spent_struct, PL_reentrant_buffer->_spent_buffer, PL_reentrant_buffer->_spent_size, &PL_reentrant_buffer->_spent_ptr)) == 0 ? PL_reentrant_buffer->_spent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct spwd *) Perl_reentrant_retry("getspnam", a) : 0)) +# endif +# if !defined(getspnam) && GETSPNAM_R_PROTO == REENTRANT_PROTO_S_CSBI +# define getspnam(a) (getspnam_r(a, &PL_reentrant_buffer->_spent_struct, PL_reentrant_buffer->_spent_buffer, PL_reentrant_buffer->_spent_size) ? &PL_reentrant_buffer->_spent_struct : ((errno == ERANGE) ? (struct spwd *) Perl_reentrant_retry("getspnam", a) : 0)) +# endif +# if defined(getspnam) +# define PERL_REENTR_USING_GETSPNAM_R +# endif +# endif +# endif /* HAS_GETSPNAM_R */ + + +# ifdef HAS_GMTIME_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef gmtime +# if !defined(gmtime) && GMTIME_R_PROTO == REENTRANT_PROTO_S_TS +# define gmtime(a) (gmtime_r(a, &PL_reentrant_buffer->_gmtime_struct) ? &PL_reentrant_buffer->_gmtime_struct : 0) +# endif +# if defined(gmtime) +# define PERL_REENTR_USING_GMTIME_R +# endif +# endif +# endif /* HAS_GMTIME_R */ + + +# ifdef HAS_LOCALTIME_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef localtime +# if !defined(localtime) && LOCALTIME_R_PROTO == REENTRANT_PROTO_S_TS +# define localtime(a) (L_R_TZSET localtime_r(a, &PL_reentrant_buffer->_localtime_struct) ? &PL_reentrant_buffer->_localtime_struct : 0) +# endif +# if defined(localtime) +# define PERL_REENTR_USING_LOCALTIME_R +# endif +# endif +# endif /* HAS_LOCALTIME_R */ + + +# ifdef HAS_READDIR_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef readdir +# if !defined(readdir) && READDIR_R_PROTO == REENTRANT_PROTO_I_TSR +# define readdir(a) (readdir_r(a, PL_reentrant_buffer->_readdir_struct, &PL_reentrant_buffer->_readdir_ptr) == 0 ? PL_reentrant_buffer->_readdir_ptr : 0) +# endif +# if !defined(readdir) && READDIR_R_PROTO == REENTRANT_PROTO_I_TS +# define readdir(a) (readdir_r(a, PL_reentrant_buffer->_readdir_struct) == 0 ? PL_reentrant_buffer->_readdir_struct : 0) +# endif +# if defined(readdir) +# define PERL_REENTR_USING_READDIR_R +# endif +# endif +# endif /* HAS_READDIR_R */ + + +# ifdef HAS_READDIR64_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef readdir64 +# if !defined(readdir64) && READDIR64_R_PROTO == REENTRANT_PROTO_I_TSR +# define readdir64(a) (readdir64_r(a, PL_reentrant_buffer->_readdir64_struct, &PL_reentrant_buffer->_readdir64_ptr) == 0 ? PL_reentrant_buffer->_readdir64_ptr : 0) +# endif +# if !defined(readdir64) && READDIR64_R_PROTO == REENTRANT_PROTO_I_TS +# define readdir64(a) (readdir64_r(a, PL_reentrant_buffer->_readdir64_struct) == 0 ? PL_reentrant_buffer->_readdir64_struct : 0) +# endif +# if defined(readdir64) +# define PERL_REENTR_USING_READDIR64_R +# endif +# endif +# endif /* HAS_READDIR64_R */ + + +# ifdef HAS_SETGRENT_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef setgrent +# if !defined(setgrent) && SETGRENT_R_PROTO == REENTRANT_PROTO_I_H +# define setgrent() (setgrent_r(&PL_reentrant_buffer->_grent_fptr) == 0 ? 1 : 0) +# endif +# if !defined(setgrent) && SETGRENT_R_PROTO == REENTRANT_PROTO_V_H +# define setgrent() setgrent_r(&PL_reentrant_buffer->_grent_fptr) +# endif +# if defined(setgrent) +# define PERL_REENTR_USING_SETGRENT_R +# endif +# endif +# endif /* HAS_SETGRENT_R */ + + +# ifdef HAS_SETHOSTENT_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef sethostent +# if !defined(sethostent) && SETHOSTENT_R_PROTO == REENTRANT_PROTO_I_ID +# define sethostent(a) (sethostent_r(a, &PL_reentrant_buffer->_hostent_data) == 0 ? 1 : 0) +# endif +# if !defined(sethostent) && SETHOSTENT_R_PROTO == REENTRANT_PROTO_V_ID +# define sethostent(a) sethostent_r(a, &PL_reentrant_buffer->_hostent_data) +# endif +# if defined(sethostent) +# define PERL_REENTR_USING_SETHOSTENT_R +# endif +# endif +# endif /* HAS_SETHOSTENT_R */ + + +# ifdef HAS_SETLOCALE_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef setlocale +# if !defined(setlocale) && SETLOCALE_R_PROTO == REENTRANT_PROTO_I_ICBI +# define setlocale(a, b) (setlocale_r(a, b, PL_reentrant_buffer->_setlocale_buffer, PL_reentrant_buffer->_setlocale_size) == 0 ? PL_reentrant_buffer->_setlocale_buffer : 0) +# endif +# if defined(setlocale) +# define PERL_REENTR_USING_SETLOCALE_R +# endif +# endif +# endif /* HAS_SETLOCALE_R */ + + +# ifdef HAS_SETNETENT_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef setnetent +# if !defined(setnetent) && SETNETENT_R_PROTO == REENTRANT_PROTO_I_ID +# define setnetent(a) (setnetent_r(a, &PL_reentrant_buffer->_netent_data) == 0 ? 1 : 0) +# endif +# if !defined(setnetent) && SETNETENT_R_PROTO == REENTRANT_PROTO_V_ID +# define setnetent(a) setnetent_r(a, &PL_reentrant_buffer->_netent_data) +# endif +# if defined(setnetent) +# define PERL_REENTR_USING_SETNETENT_R +# endif +# endif +# endif /* HAS_SETNETENT_R */ + + +# ifdef HAS_SETPROTOENT_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef setprotoent +# if !defined(setprotoent) && SETPROTOENT_R_PROTO == REENTRANT_PROTO_I_ID +# define setprotoent(a) (setprotoent_r(a, &PL_reentrant_buffer->_protoent_data) == 0 ? 1 : 0) +# endif +# if !defined(setprotoent) && SETPROTOENT_R_PROTO == REENTRANT_PROTO_V_ID +# define setprotoent(a) setprotoent_r(a, &PL_reentrant_buffer->_protoent_data) +# endif +# if defined(setprotoent) +# define PERL_REENTR_USING_SETPROTOENT_R +# endif +# endif +# endif /* HAS_SETPROTOENT_R */ + + +# ifdef HAS_SETPWENT_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef setpwent +# if !defined(setpwent) && SETPWENT_R_PROTO == REENTRANT_PROTO_I_H +# define setpwent() (setpwent_r(&PL_reentrant_buffer->_pwent_fptr) == 0 ? 1 : 0) +# endif +# if !defined(setpwent) && SETPWENT_R_PROTO == REENTRANT_PROTO_V_H +# define setpwent() setpwent_r(&PL_reentrant_buffer->_pwent_fptr) +# endif +# if defined(setpwent) +# define PERL_REENTR_USING_SETPWENT_R +# endif +# endif +# endif /* HAS_SETPWENT_R */ + + +# ifdef HAS_SETSERVENT_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef setservent +# if !defined(setservent) && SETSERVENT_R_PROTO == REENTRANT_PROTO_I_ID +# define setservent(a) (setservent_r(a, &PL_reentrant_buffer->_servent_data) == 0 ? 1 : 0) +# endif +# if !defined(setservent) && SETSERVENT_R_PROTO == REENTRANT_PROTO_V_ID +# define setservent(a) setservent_r(a, &PL_reentrant_buffer->_servent_data) +# endif +# if defined(setservent) +# define PERL_REENTR_USING_SETSERVENT_R +# endif +# endif +# endif /* HAS_SETSERVENT_R */ + + +# ifdef HAS_STRERROR_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef strerror +# if !defined(strerror) && STRERROR_R_PROTO == REENTRANT_PROTO_I_IBW +# define strerror(a) (strerror_r(a, PL_reentrant_buffer->_strerror_buffer, PL_reentrant_buffer->_strerror_size) == 0 ? PL_reentrant_buffer->_strerror_buffer : 0) +# endif +# if !defined(strerror) && STRERROR_R_PROTO == REENTRANT_PROTO_I_IBI +# define strerror(a) (strerror_r(a, PL_reentrant_buffer->_strerror_buffer, PL_reentrant_buffer->_strerror_size) == 0 ? PL_reentrant_buffer->_strerror_buffer : 0) +# endif +# if !defined(strerror) && STRERROR_R_PROTO == REENTRANT_PROTO_B_IBW +# define strerror(a) strerror_r(a, PL_reentrant_buffer->_strerror_buffer, PL_reentrant_buffer->_strerror_size) +# endif +# if defined(strerror) +# define PERL_REENTR_USING_STRERROR_R +# endif +# endif +# endif /* HAS_STRERROR_R */ + + +# ifdef HAS_TMPNAM_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef tmpnam +# if !defined(tmpnam) && TMPNAM_R_PROTO == REENTRANT_PROTO_B_B +# define tmpnam(a) tmpnam_r(a) +# endif +# if defined(tmpnam) +# define PERL_REENTR_USING_TMPNAM_R +# endif +# endif +# endif /* HAS_TMPNAM_R */ + + +# ifdef HAS_TTYNAME_R +# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) +# undef ttyname +# if !defined(ttyname) && TTYNAME_R_PROTO == REENTRANT_PROTO_I_IBW +# define ttyname(a) (ttyname_r(a, PL_reentrant_buffer->_ttyname_buffer, PL_reentrant_buffer->_ttyname_size) == 0 ? PL_reentrant_buffer->_ttyname_buffer : 0) +# endif +# if !defined(ttyname) && TTYNAME_R_PROTO == REENTRANT_PROTO_I_IBI +# define ttyname(a) (ttyname_r(a, PL_reentrant_buffer->_ttyname_buffer, PL_reentrant_buffer->_ttyname_size) == 0 ? PL_reentrant_buffer->_ttyname_buffer : 0) +# endif +# if !defined(ttyname) && TTYNAME_R_PROTO == REENTRANT_PROTO_B_IBI +# define ttyname(a) ttyname_r(a, PL_reentrant_buffer->_ttyname_buffer, PL_reentrant_buffer->_ttyname_size) +# endif +# if defined(ttyname) +# define PERL_REENTR_USING_TTYNAME_R +# endif +# endif +# endif /* HAS_TTYNAME_R */ + + + + +/* Special case this; if others came along, could automate it */ +# ifdef HAS_GETSPNAM_R +# define KEY_getspnam -1 # endif -#endif /* HAS_CRYPT_R */ - -#ifdef HAS_CTERMID_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef ctermid -# if !defined(ctermid) && CTERMID_R_PROTO == REENTRANT_PROTO_B_B -# define ctermid(a) ctermid_r(a) -# endif -# endif -#endif /* HAS_CTERMID_R */ - -#ifdef HAS_CTIME_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef ctime -# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_B_SB -# define ctime(a) ctime_r(a, PL_reentrant_buffer->_ctime_buffer) -# endif -# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_B_SBI -# define ctime(a) ctime_r(a, PL_reentrant_buffer->_ctime_buffer, PL_reentrant_buffer->_ctime_size) -# endif -# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_I_SB -# define ctime(a) (ctime_r(a, PL_reentrant_buffer->_ctime_buffer) == 0 ? PL_reentrant_buffer->_ctime_buffer : 0) -# endif -# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_I_SBI -# define ctime(a) (ctime_r(a, PL_reentrant_buffer->_ctime_buffer, PL_reentrant_buffer->_ctime_size) == 0 ? PL_reentrant_buffer->_ctime_buffer : 0) -# endif -# endif -#endif /* HAS_CTIME_R */ - -#ifdef HAS_ENDGRENT_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef endgrent -# if !defined(endgrent) && ENDGRENT_R_PROTO == REENTRANT_PROTO_I_H -# define endgrent() (endgrent_r(&PL_reentrant_buffer->_grent_fptr) == 0 ? 1 : 0) -# endif -# if !defined(endgrent) && ENDGRENT_R_PROTO == REENTRANT_PROTO_V_H -# define endgrent() endgrent_r(&PL_reentrant_buffer->_grent_fptr) -# endif -# endif -#endif /* HAS_ENDGRENT_R */ - -#ifdef HAS_ENDHOSTENT_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef endhostent -# if !defined(endhostent) && ENDHOSTENT_R_PROTO == REENTRANT_PROTO_I_D -# define endhostent() (endhostent_r(&PL_reentrant_buffer->_hostent_data) == 0 ? 1 : 0) -# endif -# if !defined(endhostent) && ENDHOSTENT_R_PROTO == REENTRANT_PROTO_V_D -# define endhostent() endhostent_r(&PL_reentrant_buffer->_hostent_data) -# endif -# endif -#endif /* HAS_ENDHOSTENT_R */ - -#ifdef HAS_ENDNETENT_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef endnetent -# if !defined(endnetent) && ENDNETENT_R_PROTO == REENTRANT_PROTO_I_D -# define endnetent() (endnetent_r(&PL_reentrant_buffer->_netent_data) == 0 ? 1 : 0) -# endif -# if !defined(endnetent) && ENDNETENT_R_PROTO == REENTRANT_PROTO_V_D -# define endnetent() endnetent_r(&PL_reentrant_buffer->_netent_data) -# endif -# endif -#endif /* HAS_ENDNETENT_R */ - -#ifdef HAS_ENDPROTOENT_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef endprotoent -# if !defined(endprotoent) && ENDPROTOENT_R_PROTO == REENTRANT_PROTO_I_D -# define endprotoent() (endprotoent_r(&PL_reentrant_buffer->_protoent_data) == 0 ? 1 : 0) -# endif -# if !defined(endprotoent) && ENDPROTOENT_R_PROTO == REENTRANT_PROTO_V_D -# define endprotoent() endprotoent_r(&PL_reentrant_buffer->_protoent_data) -# endif -# endif -#endif /* HAS_ENDPROTOENT_R */ - -#ifdef HAS_ENDPWENT_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef endpwent -# if !defined(endpwent) && ENDPWENT_R_PROTO == REENTRANT_PROTO_I_H -# define endpwent() (endpwent_r(&PL_reentrant_buffer->_pwent_fptr) == 0 ? 1 : 0) -# endif -# if !defined(endpwent) && ENDPWENT_R_PROTO == REENTRANT_PROTO_V_H -# define endpwent() endpwent_r(&PL_reentrant_buffer->_pwent_fptr) -# endif -# endif -#endif /* HAS_ENDPWENT_R */ - -#ifdef HAS_ENDSERVENT_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef endservent -# if !defined(endservent) && ENDSERVENT_R_PROTO == REENTRANT_PROTO_I_D -# define endservent() (endservent_r(&PL_reentrant_buffer->_servent_data) == 0 ? 1 : 0) -# endif -# if !defined(endservent) && ENDSERVENT_R_PROTO == REENTRANT_PROTO_V_D -# define endservent() endservent_r(&PL_reentrant_buffer->_servent_data) -# endif -# endif -#endif /* HAS_ENDSERVENT_R */ - -#ifdef HAS_GETGRENT_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef getgrent -# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBWR -# define getgrent() ((PL_reentrant_retint = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0)) -# endif -# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIR -# define getgrent() ((PL_reentrant_retint = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0)) -# endif -# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBW -# define getgrent() (getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? &PL_reentrant_buffer->_grent_struct : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0)) -# endif -# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBI -# define getgrent() (getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? &PL_reentrant_buffer->_grent_struct : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0)) -# endif -# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBI -# define getgrent() ((PL_reentrant_retint = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0)) -# endif -# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIH -# define getgrent() ((PL_reentrant_retint = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_fptr)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0)) -# endif -# endif -#endif /* HAS_GETGRENT_R */ - -#ifdef HAS_GETGRGID_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef getgrgid -# if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBWR -# define getgrgid(a) ((PL_reentrant_retint = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrgid", a) : 0)) -# endif -# if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBIR -# define getgrgid(a) ((PL_reentrant_retint = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrgid", a) : 0)) -# endif -# if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBI -# define getgrgid(a) ((PL_reentrant_retint = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrgid", a) : 0)) -# endif -# if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_S_TSBI -# define getgrgid(a) (getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? &PL_reentrant_buffer->_grent_struct : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrgid", a) : 0)) -# endif -# endif -#endif /* HAS_GETGRGID_R */ - -#ifdef HAS_GETGRNAM_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef getgrnam -# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR -# define getgrnam(a) ((PL_reentrant_retint = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrnam", a) : 0)) -# endif -# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR -# define getgrnam(a) ((PL_reentrant_retint = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrnam", a) : 0)) -# endif -# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_S_CBI -# define getgrnam(a) (getgrnam_r(a, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? PL_reentrant_buffer->_grent_buffer : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrnam", a) : 0)) -# endif -# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBI -# define getgrnam(a) ((PL_reentrant_retint = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrnam", a) : 0)) -# endif -# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_S_CSBI -# define getgrnam(a) (getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? &PL_reentrant_buffer->_grent_struct : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrnam", a) : 0)) -# endif -# endif -#endif /* HAS_GETGRNAM_R */ - -#ifdef HAS_GETHOSTBYADDR_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef gethostbyaddr -# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISBWRE -# define gethostbyaddr(a, b, c) ((PL_reentrant_retint = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) -# endif -# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBWIE -# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) -# endif -# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBIE -# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) -# endif -# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TWISBIE -# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) -# endif -# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CIISBIE -# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) -# endif -# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CSBIE -# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? 1 : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) -# endif -# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TSBIE -# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? 1 : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) -# endif -# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISD -# define gethostbyaddr(a, b, c) ((PL_reentrant_retint = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) -# endif -# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CIISD -# define gethostbyaddr(a, b, c) ((PL_reentrant_retint = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) -# endif -# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CII -# define gethostbyaddr(a, b, c) ((PL_reentrant_retint = gethostbyaddr_r(a, b, c)) == 0 ? 1 : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) -# endif -# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_TsISBWRE -# define gethostbyaddr(a, b, c) ((PL_reentrant_retint = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) -# endif -# endif -#endif /* HAS_GETHOSTBYADDR_R */ - -#ifdef HAS_GETHOSTBYNAME_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef gethostbyname -# if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE -# define gethostbyname(a) ((PL_reentrant_retint = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyname", a) : 0)) -# endif -# if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBIE -# define gethostbyname(a) (gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyname", a) : 0)) -# endif -# if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD -# define gethostbyname(a) ((PL_reentrant_retint = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyname", a) : 0)) -# endif -# endif -#endif /* HAS_GETHOSTBYNAME_R */ - -#ifdef HAS_GETHOSTENT_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef gethostent -# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBWRE -# define gethostent() ((PL_reentrant_retint = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0)) -# endif -# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBIE -# define gethostent() ((PL_reentrant_retint = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0)) -# endif -# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBIE -# define gethostent() (gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0)) -# endif -# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBI -# define gethostent() (gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0)) -# endif -# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBI -# define gethostent() ((PL_reentrant_retint = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0)) -# endif -# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SD -# define gethostent() ((PL_reentrant_retint = gethostent_r(&PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0)) -# endif -# endif -#endif /* HAS_GETHOSTENT_R */ - -#ifdef HAS_GETLOGIN_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef getlogin -# if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_I_BW -# define getlogin() ((PL_reentrant_retint = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : ((PL_reentrant_retint == ERANGE) ? (char *) Perl_reentrant_retry("getlogin") : 0)) -# endif -# if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_I_BI -# define getlogin() ((PL_reentrant_retint = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : ((PL_reentrant_retint == ERANGE) ? (char *) Perl_reentrant_retry("getlogin") : 0)) -# endif -# if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_B_BW -# define getlogin() getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size) -# endif -# if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_B_BI -# define getlogin() getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size) -# endif -# endif -#endif /* HAS_GETLOGIN_R */ - -#ifdef HAS_GETNETBYADDR_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef getnetbyaddr -# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_UISBWRE -# define getnetbyaddr(a, b) ((PL_reentrant_retint = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0)) -# endif -# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_LISBI -# define getnetbyaddr(a, b) ((PL_reentrant_retint = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0)) -# endif -# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_S_TISBI -# define getnetbyaddr(a, b) (getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0)) -# endif -# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_S_LISBI -# define getnetbyaddr(a, b) (getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0)) -# endif -# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_TISD -# define getnetbyaddr(a, b) ((PL_reentrant_retint = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0)) -# endif -# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_LISD -# define getnetbyaddr(a, b) ((PL_reentrant_retint = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0)) -# endif -# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_IISD -# define getnetbyaddr(a, b) ((PL_reentrant_retint = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0)) -# endif -# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_uISBWRE -# define getnetbyaddr(a, b) ((PL_reentrant_retint = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0)) -# endif -# endif -#endif /* HAS_GETNETBYADDR_R */ - -#ifdef HAS_GETNETBYNAME_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef getnetbyname -# if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE -# define getnetbyname(a) ((PL_reentrant_retint = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyname", a) : 0)) -# endif -# if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBI -# define getnetbyname(a) ((PL_reentrant_retint = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyname", a) : 0)) -# endif -# if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBI -# define getnetbyname(a) (getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyname", a) : 0)) -# endif -# if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD -# define getnetbyname(a) ((PL_reentrant_retint = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyname", a) : 0)) -# endif -# endif -#endif /* HAS_GETNETBYNAME_R */ - -#ifdef HAS_GETNETENT_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef getnetent -# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBWRE -# define getnetent() ((PL_reentrant_retint = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0)) -# endif -# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBIE -# define getnetent() ((PL_reentrant_retint = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_errno)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0)) -# endif -# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBIE -# define getnetent() (getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_errno) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0)) -# endif -# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBI -# define getnetent() (getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0)) -# endif -# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBI -# define getnetent() ((PL_reentrant_retint = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0)) -# endif -# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SD -# define getnetent() ((PL_reentrant_retint = getnetent_r(&PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0)) -# endif -# endif -#endif /* HAS_GETNETENT_R */ - -#ifdef HAS_GETPROTOBYNAME_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef getprotobyname -# if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWR -# define getprotobyname(a) ((PL_reentrant_retint = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobyname", a) : 0)) -# endif -# if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBI -# define getprotobyname(a) (getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size) ? &PL_reentrant_buffer->_protoent_struct : ((errno == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobyname", a) : 0)) -# endif -# if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD -# define getprotobyname(a) (REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)),(PL_reentrant_retint = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobyname", a) : 0)) -# endif -# endif -#endif /* HAS_GETPROTOBYNAME_R */ - -#ifdef HAS_GETPROTOBYNUMBER_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef getprotobynumber -# if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISBWR -# define getprotobynumber(a) ((PL_reentrant_retint = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobynumber", a) : 0)) -# endif -# if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_S_ISBI -# define getprotobynumber(a) (getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size) ? &PL_reentrant_buffer->_protoent_struct : ((errno == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobynumber", a) : 0)) -# endif -# if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISD -# define getprotobynumber(a) (REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)),(PL_reentrant_retint = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobynumber", a) : 0)) -# endif -# endif -#endif /* HAS_GETPROTOBYNUMBER_R */ - -#ifdef HAS_GETPROTOENT_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef getprotoent -# if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBWR -# define getprotoent() ((PL_reentrant_retint = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotoent") : 0)) -# endif -# if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBI -# define getprotoent() ((PL_reentrant_retint = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotoent") : 0)) -# endif -# if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_S_SBI -# define getprotoent() (getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size) ? &PL_reentrant_buffer->_protoent_struct : ((errno == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotoent") : 0)) -# endif -# if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SD -# define getprotoent() (REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)),(PL_reentrant_retint = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotoent") : 0)) -# endif -# endif -#endif /* HAS_GETPROTOENT_R */ - -#ifdef HAS_GETPWENT_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef getpwent -# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBWR -# define getpwent() ((PL_reentrant_retint = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0)) -# endif -# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIR -# define getpwent() ((PL_reentrant_retint = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0)) -# endif -# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_S_SBW -# define getpwent() (getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size) ? &PL_reentrant_buffer->_pwent_struct : ((errno == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0)) -# endif -# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_S_SBI -# define getpwent() (getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size) ? &PL_reentrant_buffer->_pwent_struct : ((errno == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0)) -# endif -# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBI -# define getpwent() ((PL_reentrant_retint = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0)) -# endif -# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIH -# define getpwent() ((PL_reentrant_retint = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_fptr)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0)) -# endif -# endif -#endif /* HAS_GETPWENT_R */ - -#ifdef HAS_GETPWNAM_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef getpwnam -# if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR -# define getpwnam(a) ((PL_reentrant_retint = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwnam", a) : 0)) -# endif -# if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR -# define getpwnam(a) ((PL_reentrant_retint = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwnam", a) : 0)) -# endif -# if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_S_CSBI -# define getpwnam(a) (getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size) ? &PL_reentrant_buffer->_pwent_struct : ((errno == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwnam", a) : 0)) -# endif -# if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBI -# define getpwnam(a) ((PL_reentrant_retint = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwnam", a) : 0)) -# endif -# endif -#endif /* HAS_GETPWNAM_R */ - -#ifdef HAS_GETPWUID_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef getpwuid -# if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBWR -# define getpwuid(a) ((PL_reentrant_retint = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwuid", a) : 0)) -# endif -# if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBIR -# define getpwuid(a) ((PL_reentrant_retint = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwuid", a) : 0)) -# endif -# if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBI -# define getpwuid(a) ((PL_reentrant_retint = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwuid", a) : 0)) -# endif -# if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_S_TSBI -# define getpwuid(a) (getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size) ? &PL_reentrant_buffer->_pwent_struct : ((errno == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwuid", a) : 0)) -# endif -# endif -#endif /* HAS_GETPWUID_R */ - -#ifdef HAS_GETSERVBYNAME_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef getservbyname -# if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSBWR -# define getservbyname(a, b) ((PL_reentrant_retint = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyname", a, b) : 0)) -# endif -# if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_S_CCSBI -# define getservbyname(a, b) (getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size) ? &PL_reentrant_buffer->_servent_struct : ((errno == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyname", a, b) : 0)) -# endif -# if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSD -# define getservbyname(a, b) (REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)),(PL_reentrant_retint = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyname", a, b) : 0)) -# endif -# endif -#endif /* HAS_GETSERVBYNAME_R */ - -#ifdef HAS_GETSERVBYPORT_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef getservbyport -# if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSBWR -# define getservbyport(a, b) ((PL_reentrant_retint = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyport", a, b) : 0)) -# endif -# if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_S_ICSBI -# define getservbyport(a, b) (getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size) ? &PL_reentrant_buffer->_servent_struct : ((errno == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyport", a, b) : 0)) -# endif -# if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSD -# define getservbyport(a, b) (REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)),(PL_reentrant_retint = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyport", a, b) : 0)) -# endif -# endif -#endif /* HAS_GETSERVBYPORT_R */ - -#ifdef HAS_GETSERVENT_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef getservent -# if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBWR -# define getservent() ((PL_reentrant_retint = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservent") : 0)) -# endif -# if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBI -# define getservent() ((PL_reentrant_retint = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservent") : 0)) -# endif -# if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_S_SBI -# define getservent() (getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size) ? &PL_reentrant_buffer->_servent_struct : ((errno == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservent") : 0)) -# endif -# if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SD -# define getservent() (REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)),(PL_reentrant_retint = getservent_r(&PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservent") : 0)) -# endif -# endif -#endif /* HAS_GETSERVENT_R */ - -#ifdef HAS_GETSPNAM_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef getspnam -# if !defined(getspnam) && GETSPNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR -# define getspnam(a) ((PL_reentrant_retint = getspnam_r(a, &PL_reentrant_buffer->_spent_struct, PL_reentrant_buffer->_spent_buffer, PL_reentrant_buffer->_spent_size, &PL_reentrant_buffer->_spent_ptr)) == 0 ? PL_reentrant_buffer->_spent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct spwd *) Perl_reentrant_retry("getspnam", a) : 0)) -# endif -# if !defined(getspnam) && GETSPNAM_R_PROTO == REENTRANT_PROTO_S_CSBI -# define getspnam(a) (getspnam_r(a, &PL_reentrant_buffer->_spent_struct, PL_reentrant_buffer->_spent_buffer, PL_reentrant_buffer->_spent_size) ? &PL_reentrant_buffer->_spent_struct : ((errno == ERANGE) ? (struct spwd *) Perl_reentrant_retry("getspnam", a) : 0)) -# endif -# endif -#endif /* HAS_GETSPNAM_R */ - -#ifdef HAS_READDIR_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef readdir -# if !defined(readdir) && READDIR_R_PROTO == REENTRANT_PROTO_I_TSR -# define readdir(a) (readdir_r(a, PL_reentrant_buffer->_readdir_struct, &PL_reentrant_buffer->_readdir_ptr) == 0 ? PL_reentrant_buffer->_readdir_ptr : 0) -# endif -# if !defined(readdir) && READDIR_R_PROTO == REENTRANT_PROTO_I_TS -# define readdir(a) (readdir_r(a, PL_reentrant_buffer->_readdir_struct) == 0 ? PL_reentrant_buffer->_readdir_struct : 0) -# endif -# endif -#endif /* HAS_READDIR_R */ - -#ifdef HAS_READDIR64_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef readdir64 -# if !defined(readdir64) && READDIR64_R_PROTO == REENTRANT_PROTO_I_TSR -# define readdir64(a) (readdir64_r(a, PL_reentrant_buffer->_readdir64_struct, &PL_reentrant_buffer->_readdir64_ptr) == 0 ? PL_reentrant_buffer->_readdir64_ptr : 0) -# endif -# if !defined(readdir64) && READDIR64_R_PROTO == REENTRANT_PROTO_I_TS -# define readdir64(a) (readdir64_r(a, PL_reentrant_buffer->_readdir64_struct) == 0 ? PL_reentrant_buffer->_readdir64_struct : 0) -# endif -# endif -#endif /* HAS_READDIR64_R */ - -#ifdef HAS_SETGRENT_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef setgrent -# if !defined(setgrent) && SETGRENT_R_PROTO == REENTRANT_PROTO_I_H -# define setgrent() (setgrent_r(&PL_reentrant_buffer->_grent_fptr) == 0 ? 1 : 0) -# endif -# if !defined(setgrent) && SETGRENT_R_PROTO == REENTRANT_PROTO_V_H -# define setgrent() setgrent_r(&PL_reentrant_buffer->_grent_fptr) -# endif -# endif -#endif /* HAS_SETGRENT_R */ - -#ifdef HAS_SETHOSTENT_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef sethostent -# if !defined(sethostent) && SETHOSTENT_R_PROTO == REENTRANT_PROTO_I_ID -# define sethostent(a) (sethostent_r(a, &PL_reentrant_buffer->_hostent_data) == 0 ? 1 : 0) -# endif -# if !defined(sethostent) && SETHOSTENT_R_PROTO == REENTRANT_PROTO_V_ID -# define sethostent(a) sethostent_r(a, &PL_reentrant_buffer->_hostent_data) -# endif -# endif -#endif /* HAS_SETHOSTENT_R */ - -#ifdef HAS_SETLOCALE_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef setlocale -# if !defined(setlocale) && SETLOCALE_R_PROTO == REENTRANT_PROTO_I_ICBI -# define setlocale(a, b) (setlocale_r(a, b, PL_reentrant_buffer->_setlocale_buffer, PL_reentrant_buffer->_setlocale_size) == 0 ? PL_reentrant_buffer->_setlocale_buffer : 0) -# endif -# endif -#endif /* HAS_SETLOCALE_R */ - -#ifdef HAS_SETNETENT_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef setnetent -# if !defined(setnetent) && SETNETENT_R_PROTO == REENTRANT_PROTO_I_ID -# define setnetent(a) (setnetent_r(a, &PL_reentrant_buffer->_netent_data) == 0 ? 1 : 0) -# endif -# if !defined(setnetent) && SETNETENT_R_PROTO == REENTRANT_PROTO_V_ID -# define setnetent(a) setnetent_r(a, &PL_reentrant_buffer->_netent_data) -# endif -# endif -#endif /* HAS_SETNETENT_R */ - -#ifdef HAS_SETPROTOENT_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef setprotoent -# if !defined(setprotoent) && SETPROTOENT_R_PROTO == REENTRANT_PROTO_I_ID -# define setprotoent(a) (setprotoent_r(a, &PL_reentrant_buffer->_protoent_data) == 0 ? 1 : 0) -# endif -# if !defined(setprotoent) && SETPROTOENT_R_PROTO == REENTRANT_PROTO_V_ID -# define setprotoent(a) setprotoent_r(a, &PL_reentrant_buffer->_protoent_data) -# endif -# endif -#endif /* HAS_SETPROTOENT_R */ - -#ifdef HAS_SETPWENT_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef setpwent -# if !defined(setpwent) && SETPWENT_R_PROTO == REENTRANT_PROTO_I_H -# define setpwent() (setpwent_r(&PL_reentrant_buffer->_pwent_fptr) == 0 ? 1 : 0) -# endif -# if !defined(setpwent) && SETPWENT_R_PROTO == REENTRANT_PROTO_V_H -# define setpwent() setpwent_r(&PL_reentrant_buffer->_pwent_fptr) -# endif -# endif -#endif /* HAS_SETPWENT_R */ - -#ifdef HAS_SETSERVENT_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef setservent -# if !defined(setservent) && SETSERVENT_R_PROTO == REENTRANT_PROTO_I_ID -# define setservent(a) (setservent_r(a, &PL_reentrant_buffer->_servent_data) == 0 ? 1 : 0) -# endif -# if !defined(setservent) && SETSERVENT_R_PROTO == REENTRANT_PROTO_V_ID -# define setservent(a) setservent_r(a, &PL_reentrant_buffer->_servent_data) -# endif -# endif -#endif /* HAS_SETSERVENT_R */ - -#ifdef HAS_STRERROR_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef strerror -# if !defined(strerror) && STRERROR_R_PROTO == REENTRANT_PROTO_I_IBW -# define strerror(a) (strerror_r(a, PL_reentrant_buffer->_strerror_buffer, PL_reentrant_buffer->_strerror_size) == 0 ? PL_reentrant_buffer->_strerror_buffer : 0) -# endif -# if !defined(strerror) && STRERROR_R_PROTO == REENTRANT_PROTO_I_IBI -# define strerror(a) (strerror_r(a, PL_reentrant_buffer->_strerror_buffer, PL_reentrant_buffer->_strerror_size) == 0 ? PL_reentrant_buffer->_strerror_buffer : 0) -# endif -# if !defined(strerror) && STRERROR_R_PROTO == REENTRANT_PROTO_B_IBW -# define strerror(a) strerror_r(a, PL_reentrant_buffer->_strerror_buffer, PL_reentrant_buffer->_strerror_size) -# endif -# endif -#endif /* HAS_STRERROR_R */ - -#ifdef HAS_TMPNAM_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef tmpnam -# if !defined(tmpnam) && TMPNAM_R_PROTO == REENTRANT_PROTO_B_B -# define tmpnam(a) tmpnam_r(a) -# endif -# endif -#endif /* HAS_TMPNAM_R */ - -#ifdef HAS_TTYNAME_R -# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) -# undef ttyname -# if !defined(ttyname) && TTYNAME_R_PROTO == REENTRANT_PROTO_I_IBW -# define ttyname(a) (ttyname_r(a, PL_reentrant_buffer->_ttyname_buffer, PL_reentrant_buffer->_ttyname_size) == 0 ? PL_reentrant_buffer->_ttyname_buffer : 0) -# endif -# if !defined(ttyname) && TTYNAME_R_PROTO == REENTRANT_PROTO_I_IBI -# define ttyname(a) (ttyname_r(a, PL_reentrant_buffer->_ttyname_buffer, PL_reentrant_buffer->_ttyname_size) == 0 ? PL_reentrant_buffer->_ttyname_buffer : 0) -# endif -# if !defined(ttyname) && TTYNAME_R_PROTO == REENTRANT_PROTO_B_IBI -# define ttyname(a) ttyname_r(a, PL_reentrant_buffer->_ttyname_buffer, PL_reentrant_buffer->_ttyname_size) -# endif -# endif -#endif /* HAS_TTYNAME_R */ - - #endif /* USE_REENTRANT_API */ - + #endif /* ex: set ro: */ diff --git a/Master/tlpkg/tlperl/lib/CORE/regcharclass.h b/Master/tlpkg/tlperl/lib/CORE/regcharclass.h index 1d9748037f2..0bc48500f0d 100644 --- a/Master/tlpkg/tlperl/lib/CORE/regcharclass.h +++ b/Master/tlpkg/tlperl/lib/CORE/regcharclass.h @@ -240,7 +240,7 @@ /* MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character - ®charclass_multi_char_folds::multi_char_folds(1) + ®charclass_multi_char_folds::multi_char_folds('u', 'a') */ /*** GENERATED CODE ***/ #define is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) \ @@ -459,7 +459,7 @@ /* MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character - ®charclass_multi_char_folds::multi_char_folds(0) + ®charclass_multi_char_folds::multi_char_folds('l', 'a') */ /*** GENERATED CODE ***/ #define is_MULTI_CHAR_FOLD_latin1_safe(s,e) \ @@ -475,6 +475,122 @@ : ( ( ( ((const U8*)s)[0] & 0xDF ) == 0x53 ) && ( inRANGE(((const U8*)s)[1], 0x53, 0x54 ) || inRANGE(((const U8*)s)[1], 0x73, 0x74 ) ) ) ? 2 : 0 )\ : 0 ) +/* + THREE_CHAR_FOLD: A three-character multi-char fold + + ®charclass_multi_char_folds::multi_char_folds('u', '3') +*/ +/*** GENERATED CODE ***/ +#define is_THREE_CHAR_FOLD_utf8_safe(s,e) \ +( ((e)-(s) > 5) ? \ + ( ( 0x66 == ((const U8*)s)[0] ) ? \ + ( ( ( 0x66 == ((const U8*)s)[1] ) && ( 0x69 == ((const U8*)s)[2] || 0x6C == ((const U8*)s)[2] ) ) ? 3 : 0 )\ + : ( 0xCE == ((const U8*)s)[0] ) ? \ + ( ( 0xB1 == ((const U8*)s)[1] || 0xB7 == ((const U8*)s)[1] ) ? \ + ( ( ( ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) && ( 0xCE == ((const U8*)s)[4] ) ) && ( 0xB9 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ + : ( ( ( 0xB9 == ((const U8*)s)[1] ) && ( 0xCC == ((const U8*)s)[2] ) ) && ( 0x88 == ((const U8*)s)[3] ) ) ? ( ( 0xCC == ((const U8*)s)[4] ) ?\ + ( ( inRANGE(((const U8*)s)[5], 0x80, 0x81 ) ) ? 6 : 0 )\ + : ( ( 0xCD == ((const U8*)s)[4] ) && ( 0x82 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\ + : ( 0xCF == ((const U8*)s)[0] ) ? \ + ( ( 0x85 == ((const U8*)s)[1] ) ? \ + ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x88 == ((const U8*)s)[3] || 0x93 == ((const U8*)s)[3] ) ) ? ( ( 0xCC == ((const U8*)s)[4] ) ?\ + ( ( inRANGE(((const U8*)s)[5], 0x80, 0x81 ) ) ? 6 : 0 )\ + : ( ( 0xCD == ((const U8*)s)[4] ) && ( 0x82 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\ + : ( ( ( ( ( 0x89 == ((const U8*)s)[1] ) && ( 0xCD == ((const U8*)s)[2] ) ) && ( 0x82 == ((const U8*)s)[3] ) ) && ( 0xCE == ((const U8*)s)[4] ) ) && ( 0xB9 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ + : 0 ) \ +: ( ( ( ((e)-(s) > 2) && ( 0x66 == ((const U8*)s)[0] ) ) && ( 0x66 == ((const U8*)s)[1] ) ) && ( 0x69 == ((const U8*)s)[2] || 0x6C == ((const U8*)s)[2] ) ) ? 3 : 0 ) + +/* + THREE_CHAR_FOLD: A three-character multi-char fold + + ®charclass_multi_char_folds::multi_char_folds('l', '3') +*/ +/*** GENERATED CODE ***/ +#define is_THREE_CHAR_FOLD_latin1_safe(s,e) \ +( ( ( ( ( ((e) - (s)) >= 3 ) && ( ( ((const U8*)s)[0] & 0xDF ) == 0x46 ) ) && ( ( ((const U8*)s)[1] & 0xDF ) == 0x46 ) ) && ( ( ( ((const U8*)s)[2] & 0xDF ) == 0x49 ) || ( ( ((const U8*)s)[2] & 0xDF ) == 0x4C ) ) ) ? 3 : 0 ) + +/* + THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds + + ®charclass_multi_char_folds::multi_char_folds('u', 'h') +*/ +/*** GENERATED CODE ***/ +#define is_THREE_CHAR_FOLD_HEAD_utf8_safe(s,e) \ +( ((e)-(s) > 3) ? \ + ( ( 0x61 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0x68, 0x6A ) || inRANGE(((const U8*)s)[0], 0x73, 0x74 ) || 0x77 == ((const U8*)s)[0] || 0x79 == ((const U8*)s)[0] ) ? 1\ + : ( 0x66 == ((const U8*)s)[0] ) ? \ + ( ( 0x66 == ((const U8*)s)[1] ) ? 2 : 1 ) \ + : ( 0xCA == ((const U8*)s)[0] ) ? \ + ( ( 0xBC == ((const U8*)s)[1] ) ? 2 : 0 ) \ + : ( 0xCE == ((const U8*)s)[0] ) ? \ + ( ( ( ((const U8*)s)[1] & 0xFD ) == 0xAC ) ? 2 \ + : ( 0xB1 == ((const U8*)s)[1] || 0xB7 == ((const U8*)s)[1] ) ? \ + ( ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ + : ( 0xB9 == ((const U8*)s)[1] ) ? \ + ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x88 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ + : 0 ) \ + : ( 0xCF == ((const U8*)s)[0] ) ? \ + ( ( 0x81 == ((const U8*)s)[1] || 0x8E == ((const U8*)s)[1] ) ? 2 \ + : ( 0x85 == ((const U8*)s)[1] ) ? \ + ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x88 == ((const U8*)s)[3] || 0x93 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ + : ( 0x89 == ((const U8*)s)[1] ) ? \ + ( ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ + : 0 ) \ + : ( 0xD5 == ((const U8*)s)[0] ) ? \ + ( ( 0xA5 == ((const U8*)s)[1] || 0xB4 == ((const U8*)s)[1] || 0xBE == ((const U8*)s)[1] ) ? 2 : 0 )\ + : ( 0xE1 == ((const U8*)s)[0] ) ? \ + ( ( 0xBC == ((const U8*)s)[1] ) ? \ + ( ( ( ((const U8*)s)[2] & 0xD8 ) == 0x80 ) ? 3 : 0 ) \ + : ( ( 0xBD == ((const U8*)s)[1] ) && ( ( ( ((const U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((const U8*)s)[2] & 0xFB ) == 0xB0 ) || ((const U8*)s)[2] == 0xBC ) ) ? 3 : 0 )\ + : 0 ) \ +: ((e)-(s) > 2) ? \ + ( ( 0x61 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0x68, 0x6A ) || inRANGE(((const U8*)s)[0], 0x73, 0x74 ) || 0x77 == ((const U8*)s)[0] || 0x79 == ((const U8*)s)[0] ) ? 1\ + : ( 0x66 == ((const U8*)s)[0] ) ? \ + ( ( 0x66 == ((const U8*)s)[1] ) ? 2 : 1 ) \ + : ( 0xCA == ((const U8*)s)[0] ) ? \ + ( ( 0xBC == ((const U8*)s)[1] ) ? 2 : 0 ) \ + : ( 0xCE == ((const U8*)s)[0] ) ? \ + ( ( ( ( ((const U8*)s)[1] & 0xFD ) == 0xAC ) || ( ( ((const U8*)s)[1] & 0xF7 ) == 0xB1 ) || ((const U8*)s)[1] == 0xB7 ) ? 2 : 0 )\ + : ( 0xCF == ((const U8*)s)[0] ) ? \ + ( ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x81 ) || ((const U8*)s)[1] == 0x89 || ((const U8*)s)[1] == 0x8E ) ? 2 : 0 )\ + : ( 0xD5 == ((const U8*)s)[0] ) ? \ + ( ( 0xA5 == ((const U8*)s)[1] || 0xB4 == ((const U8*)s)[1] || 0xBE == ((const U8*)s)[1] ) ? 2 : 0 )\ + : ( 0xE1 == ((const U8*)s)[0] ) ? \ + ( ( 0xBC == ((const U8*)s)[1] ) ? \ + ( ( ( ((const U8*)s)[2] & 0xD8 ) == 0x80 ) ? 3 : 0 ) \ + : ( ( 0xBD == ((const U8*)s)[1] ) && ( ( ( ((const U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((const U8*)s)[2] & 0xFB ) == 0xB0 ) || ((const U8*)s)[2] == 0xBC ) ) ? 3 : 0 )\ + : 0 ) \ +: ((e)-(s) > 1) ? \ + ( ( 0x61 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0x68, 0x6A ) || inRANGE(((const U8*)s)[0], 0x73, 0x74 ) || 0x77 == ((const U8*)s)[0] || 0x79 == ((const U8*)s)[0] ) ? 1\ + : ( 0x66 == ((const U8*)s)[0] ) ? \ + ( ( 0x66 == ((const U8*)s)[1] ) ? 2 : 1 ) \ + : ( 0xCA == ((const U8*)s)[0] ) ? \ + ( ( 0xBC == ((const U8*)s)[1] ) ? 2 : 0 ) \ + : ( 0xCE == ((const U8*)s)[0] ) ? \ + ( ( ( ( ((const U8*)s)[1] & 0xFD ) == 0xAC ) || ( ( ((const U8*)s)[1] & 0xF7 ) == 0xB1 ) || ((const U8*)s)[1] == 0xB7 ) ? 2 : 0 )\ + : ( 0xCF == ((const U8*)s)[0] ) ? \ + ( ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x81 ) || ((const U8*)s)[1] == 0x89 || ((const U8*)s)[1] == 0x8E ) ? 2 : 0 )\ + : ( ( 0xD5 == ((const U8*)s)[0] ) && ( 0xA5 == ((const U8*)s)[1] || 0xB4 == ((const U8*)s)[1] || 0xBE == ((const U8*)s)[1] ) ) ? 2 : 0 )\ +: ((e)-(s) > 0) ? \ + ( 0x61 == ((const U8*)s)[0] || 0x66 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0x68, 0x6A ) || inRANGE(((const U8*)s)[0], 0x73, 0x74 ) || 0x77 == ((const U8*)s)[0] || 0x79 == ((const U8*)s)[0] )\ +: 0 ) + +/* + THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds + + ®charclass_multi_char_folds::multi_char_folds('l', 'h') +*/ +/*** GENERATED CODE ***/ +#define is_THREE_CHAR_FOLD_HEAD_latin1_safe(s,e) \ +( ((e)-(s) > 1) ? \ + ( ( ( ( ((const U8*)s)[0] & 0xDF ) == 0x41 ) || ( ( ((const U8*)s)[0] & 0xDE ) == 0x48 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x4A ) || ( ( ((const U8*)s)[0] & 0xDB ) == 0x53 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x54 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x59 ) ) ? 1\ + : ( ( ((const U8*)s)[0] & 0xDF ) == 0x46 ) ? \ + ( ( ( ((const U8*)s)[1] & 0xDF ) == 0x46 ) ? 2 : 1 ) \ + : 0 ) \ +: ((e)-(s) > 0) ? \ + ( ( ( ((const U8*)s)[0] & 0xDF ) == 0x41 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x46 ) || ( ( ((const U8*)s)[0] & 0xDE ) == 0x48 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x4A ) || ( ( ((const U8*)s)[0] & 0xDB ) == 0x53 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x54 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x59 ) )\ +: 0 ) + /* FOLDS_TO_MULTI: characters that fold to multi-char strings @@ -858,7 +974,7 @@ /* MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character - ®charclass_multi_char_folds::multi_char_folds(1) + ®charclass_multi_char_folds::multi_char_folds('u', 'a') */ /*** GENERATED CODE ***/ #define is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) \ @@ -1075,7 +1191,7 @@ /* MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character - ®charclass_multi_char_folds::multi_char_folds(0) + ®charclass_multi_char_folds::multi_char_folds('l', 'a') */ /*** GENERATED CODE ***/ #define is_MULTI_CHAR_FOLD_latin1_safe(s,e) \ @@ -1091,6 +1207,120 @@ : ( ( ( ((const U8*)s)[0] & 0xBF ) == 0xA2 ) && ( ( ((const U8*)s)[1] & 0xBE ) == 0xA2 ) ) ? 2 : 0 )\ : 0 ) +/* + THREE_CHAR_FOLD: A three-character multi-char fold + + ®charclass_multi_char_folds::multi_char_folds('u', '3') +*/ +/*** GENERATED CODE ***/ +#define is_THREE_CHAR_FOLD_utf8_safe(s,e) \ +( ((e)-(s) > 5) ? \ + ( ( 0x86 == ((const U8*)s)[0] ) ? \ + ( ( ( 0x86 == ((const U8*)s)[1] ) && ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ + : ( 0xB4 == ((const U8*)s)[0] ) ? \ + ( ( 0x58 == ((const U8*)s)[1] || 0x66 == ((const U8*)s)[1] ) ? \ + ( ( ( ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) && ( 0xB4 == ((const U8*)s)[4] ) ) && ( 0x68 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ + : ( ( ( 0x68 == ((const U8*)s)[1] ) && ( 0xAF == ((const U8*)s)[2] ) ) && ( 0x49 == ((const U8*)s)[3] ) ) ? ( ( 0xAF == ((const U8*)s)[4] ) ?\ + ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\ + : ( ( 0xB1 == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\ + : ( 0xB5 == ((const U8*)s)[0] ) ? \ + ( ( 0x46 == ((const U8*)s)[1] ) ? \ + ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] || 0x62 == ((const U8*)s)[3] ) ) ? ( ( 0xAF == ((const U8*)s)[4] ) ?\ + ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\ + : ( ( 0xB1 == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\ + : ( ( ( ( ( 0x4A == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) && ( 0xB4 == ((const U8*)s)[4] ) ) && ( 0x68 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ + : 0 ) \ +: ( ( ( ((e)-(s) > 2) && ( 0x86 == ((const U8*)s)[0] ) ) && ( 0x86 == ((const U8*)s)[1] ) ) && ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ) ? 3 : 0 ) + +/* + THREE_CHAR_FOLD: A three-character multi-char fold + + ®charclass_multi_char_folds::multi_char_folds('l', '3') +*/ +/*** GENERATED CODE ***/ +#define is_THREE_CHAR_FOLD_latin1_safe(s,e) \ +( ( ( ( ( ((e) - (s)) >= 3 ) && ( ( ((const U8*)s)[0] & 0xBF ) == 0x86 ) ) && ( ( ((const U8*)s)[1] & 0xBF ) == 0x86 ) ) && ( ( ( ((const U8*)s)[2] & 0xBF ) == 0x89 ) || ( ( ((const U8*)s)[2] & 0xBF ) == 0x93 ) ) ) ? 3 : 0 ) + +/* + THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds + + ®charclass_multi_char_folds::multi_char_folds('u', 'h') +*/ +/*** GENERATED CODE ***/ +#define is_THREE_CHAR_FOLD_HEAD_utf8_safe(s,e) \ +( ((e)-(s) > 3) ? \ + ( ( ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA2 ) || ((const U8*)s)[0] == 0xA6 || ((const U8*)s)[0] == 0xA8 ) ? 1\ + : ( 0x86 == ((const U8*)s)[0] ) ? \ + ( ( 0x86 == ((const U8*)s)[1] ) ? 2 : 1 ) \ + : ( 0xAB == ((const U8*)s)[0] ) ? \ + ( ( 0x70 == ((const U8*)s)[1] ) ? 2 : 0 ) \ + : ( 0xB4 == ((const U8*)s)[0] ) ? \ + ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? 2 \ + : ( 0x58 == ((const U8*)s)[1] || 0x66 == ((const U8*)s)[1] ) ? \ + ( ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ + : ( 0x68 == ((const U8*)s)[1] ) ? \ + ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ + : 0 ) \ + : ( 0xB5 == ((const U8*)s)[0] ) ? \ + ( ( 0x42 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? 2 \ + : ( 0x46 == ((const U8*)s)[1] ) ? \ + ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] || 0x62 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ + : ( 0x4A == ((const U8*)s)[1] ) ? \ + ( ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ + : 0 ) \ + : ( 0xB8 == ((const U8*)s)[0] ) ? \ + ( ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x46 == ((const U8*)s)[2] || 0x63 == ((const U8*)s)[2] || 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ + : ( 0xBF == ((const U8*)s)[0] ) ? \ + ( ( inRANGE(((const U8*)s)[1], 0x67, 0x68 ) ) ? \ + ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) ? 3 : 0 ) \ + : ( ( 0x6A == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) || 0x57 == ((const U8*)s)[2] || 0x63 == ((const U8*)s)[2] || 0x70 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ + : 0 ) \ +: ((e)-(s) > 2) ? \ + ( ( ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA2 ) || ((const U8*)s)[0] == 0xA6 || ((const U8*)s)[0] == 0xA8 ) ? 1\ + : ( 0x86 == ((const U8*)s)[0] ) ? \ + ( ( 0x86 == ((const U8*)s)[1] ) ? 2 : 1 ) \ + : ( 0xAB == ((const U8*)s)[0] ) ? \ + ( ( 0x70 == ((const U8*)s)[1] ) ? 2 : 0 ) \ + : ( 0xB4 == ((const U8*)s)[0] ) ? \ + ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] || 0x58 == ((const U8*)s)[1] || 0x66 == ((const U8*)s)[1] || 0x68 == ((const U8*)s)[1] ) ? 2 : 0 )\ + : ( 0xB5 == ((const U8*)s)[0] ) ? \ + ( ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x42 ) || ((const U8*)s)[1] == 0x4A || ((const U8*)s)[1] == 0x55 ) ? 2 : 0 )\ + : ( 0xB8 == ((const U8*)s)[0] ) ? \ + ( ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x46 == ((const U8*)s)[2] || 0x63 == ((const U8*)s)[2] || 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ + : ( 0xBF == ((const U8*)s)[0] ) ? \ + ( ( inRANGE(((const U8*)s)[1], 0x67, 0x68 ) ) ? \ + ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) ? 3 : 0 ) \ + : ( ( 0x6A == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) || 0x57 == ((const U8*)s)[2] || 0x63 == ((const U8*)s)[2] || 0x70 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ + : 0 ) \ +: ((e)-(s) > 1) ? \ + ( ( ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA2 ) || ((const U8*)s)[0] == 0xA6 || ((const U8*)s)[0] == 0xA8 ) ? 1\ + : ( 0x86 == ((const U8*)s)[0] ) ? \ + ( ( 0x86 == ((const U8*)s)[1] ) ? 2 : 1 ) \ + : ( 0xAB == ((const U8*)s)[0] ) ? \ + ( ( 0x70 == ((const U8*)s)[1] ) ? 2 : 0 ) \ + : ( 0xB4 == ((const U8*)s)[0] ) ? \ + ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] || 0x58 == ((const U8*)s)[1] || 0x66 == ((const U8*)s)[1] || 0x68 == ((const U8*)s)[1] ) ? 2 : 0 )\ + : ( ( 0xB5 == ((const U8*)s)[0] ) && ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x42 ) || ((const U8*)s)[1] == 0x4A || ((const U8*)s)[1] == 0x55 ) ) ? 2 : 0 )\ +: ((e)-(s) > 0) ? \ + ( ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x86 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA2 ) || ((const U8*)s)[0] == 0xA8 )\ +: 0 ) + +/* + THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds + + ®charclass_multi_char_folds::multi_char_folds('l', 'h') +*/ +/*** GENERATED CODE ***/ +#define is_THREE_CHAR_FOLD_HEAD_latin1_safe(s,e) \ +( ((e)-(s) > 1) ? \ + ( ( ( ( ((const U8*)s)[0] & 0xAF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xBE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xBE ) == 0xA2 ) || ( ( ((const U8*)s)[0] & 0xBF ) == 0xA6 ) || ( ( ((const U8*)s)[0] & 0xBF ) == 0xA8 ) ) ? 1\ + : ( ( ((const U8*)s)[0] & 0xBF ) == 0x86 ) ? \ + ( ( ( ((const U8*)s)[1] & 0xBF ) == 0x86 ) ? 2 : 1 ) \ + : 0 ) \ +: ((e)-(s) > 0) ? \ + ( ( ( ((const U8*)s)[0] & 0xAF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0x9F ) == 0x86 ) || ( ( ((const U8*)s)[0] & 0xBE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xBE ) == 0xA2 ) || ( ( ((const U8*)s)[0] & 0xBF ) == 0xA8 ) )\ +: 0 ) + /* FOLDS_TO_MULTI: characters that fold to multi-char strings @@ -1475,7 +1705,7 @@ /* MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character - ®charclass_multi_char_folds::multi_char_folds(1) + ®charclass_multi_char_folds::multi_char_folds('u', 'a') */ /*** GENERATED CODE ***/ #define is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) \ @@ -1692,7 +1922,7 @@ /* MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character - ®charclass_multi_char_folds::multi_char_folds(0) + ®charclass_multi_char_folds::multi_char_folds('l', 'a') */ /*** GENERATED CODE ***/ #define is_MULTI_CHAR_FOLD_latin1_safe(s,e) \ @@ -1708,6 +1938,120 @@ : ( ( ( ((const U8*)s)[0] & 0xBF ) == 0xA2 ) && ( ( ((const U8*)s)[1] & 0xBE ) == 0xA2 ) ) ? 2 : 0 )\ : 0 ) +/* + THREE_CHAR_FOLD: A three-character multi-char fold + + ®charclass_multi_char_folds::multi_char_folds('u', '3') +*/ +/*** GENERATED CODE ***/ +#define is_THREE_CHAR_FOLD_utf8_safe(s,e) \ +( ((e)-(s) > 5) ? \ + ( ( 0x86 == ((const U8*)s)[0] ) ? \ + ( ( ( 0x86 == ((const U8*)s)[1] ) && ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ + : ( 0xB3 == ((const U8*)s)[0] ) ? \ + ( ( 0x58 == ((const U8*)s)[1] || 0x65 == ((const U8*)s)[1] ) ? \ + ( ( ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) && ( 0xB3 == ((const U8*)s)[4] ) ) && ( 0x67 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ + : ( ( ( 0x67 == ((const U8*)s)[1] ) && ( 0xAD == ((const U8*)s)[2] ) ) && ( 0x49 == ((const U8*)s)[3] ) ) ? ( ( 0xAD == ((const U8*)s)[4] ) ?\ + ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\ + : ( ( 0xAF == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\ + : ( 0xB4 == ((const U8*)s)[0] ) ? \ + ( ( 0x46 == ((const U8*)s)[1] ) ? \ + ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] || 0x5F == ((const U8*)s)[3] ) ) ? ( ( 0xAD == ((const U8*)s)[4] ) ?\ + ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\ + : ( ( 0xAF == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\ + : ( ( ( ( ( 0x4A == ((const U8*)s)[1] ) && ( 0xAF == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) && ( 0xB3 == ((const U8*)s)[4] ) ) && ( 0x67 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ + : 0 ) \ +: ( ( ( ((e)-(s) > 2) && ( 0x86 == ((const U8*)s)[0] ) ) && ( 0x86 == ((const U8*)s)[1] ) ) && ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ) ? 3 : 0 ) + +/* + THREE_CHAR_FOLD: A three-character multi-char fold + + ®charclass_multi_char_folds::multi_char_folds('l', '3') +*/ +/*** GENERATED CODE ***/ +#define is_THREE_CHAR_FOLD_latin1_safe(s,e) \ +( ( ( ( ( ((e) - (s)) >= 3 ) && ( ( ((const U8*)s)[0] & 0xBF ) == 0x86 ) ) && ( ( ((const U8*)s)[1] & 0xBF ) == 0x86 ) ) && ( ( ( ((const U8*)s)[2] & 0xBF ) == 0x89 ) || ( ( ((const U8*)s)[2] & 0xBF ) == 0x93 ) ) ) ? 3 : 0 ) + +/* + THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds + + ®charclass_multi_char_folds::multi_char_folds('u', 'h') +*/ +/*** GENERATED CODE ***/ +#define is_THREE_CHAR_FOLD_HEAD_utf8_safe(s,e) \ +( ((e)-(s) > 3) ? \ + ( ( ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA2 ) || ((const U8*)s)[0] == 0xA6 || ((const U8*)s)[0] == 0xA8 ) ? 1\ + : ( 0x86 == ((const U8*)s)[0] ) ? \ + ( ( 0x86 == ((const U8*)s)[1] ) ? 2 : 1 ) \ + : ( 0xAA == ((const U8*)s)[0] ) ? \ + ( ( 0x6A == ((const U8*)s)[1] ) ? 2 : 0 ) \ + : ( 0xB3 == ((const U8*)s)[0] ) ? \ + ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? 2 \ + : ( 0x58 == ((const U8*)s)[1] || 0x65 == ((const U8*)s)[1] ) ? \ + ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ + : ( 0x67 == ((const U8*)s)[1] ) ? \ + ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ + : 0 ) \ + : ( 0xB4 == ((const U8*)s)[0] ) ? \ + ( ( 0x42 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? 2 \ + : ( 0x46 == ((const U8*)s)[1] ) ? \ + ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] || 0x5F == ((const U8*)s)[3] ) ) ? 4 : 2 )\ + : ( 0x4A == ((const U8*)s)[1] ) ? \ + ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ + : 0 ) \ + : ( 0xB7 == ((const U8*)s)[0] ) ? \ + ( ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x46 == ((const U8*)s)[2] || 0x62 == ((const U8*)s)[2] || 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ + : ( 0xBF == ((const U8*)s)[0] ) ? \ + ( ( inRANGE(((const U8*)s)[1], 0x66, 0x67 ) ) ? \ + ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) ? 3 : 0 ) \ + : ( ( 0x69 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) || 0x57 == ((const U8*)s)[2] || 0x62 == ((const U8*)s)[2] || 0x6A == ((const U8*)s)[2] ) ) ? 3 : 0 )\ + : 0 ) \ +: ((e)-(s) > 2) ? \ + ( ( ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA2 ) || ((const U8*)s)[0] == 0xA6 || ((const U8*)s)[0] == 0xA8 ) ? 1\ + : ( 0x86 == ((const U8*)s)[0] ) ? \ + ( ( 0x86 == ((const U8*)s)[1] ) ? 2 : 1 ) \ + : ( 0xAA == ((const U8*)s)[0] ) ? \ + ( ( 0x6A == ((const U8*)s)[1] ) ? 2 : 0 ) \ + : ( 0xB3 == ((const U8*)s)[0] ) ? \ + ( ( ((const U8*)s)[1] == 0x53 || ((const U8*)s)[1] == 0x55 || ((const U8*)s)[1] == 0x58 || ( ( ((const U8*)s)[1] & 0xFD ) == 0x65 ) ) ? 2 : 0 )\ + : ( 0xB4 == ((const U8*)s)[0] ) ? \ + ( ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x42 ) || ((const U8*)s)[1] == 0x4A || ((const U8*)s)[1] == 0x55 ) ? 2 : 0 )\ + : ( 0xB7 == ((const U8*)s)[0] ) ? \ + ( ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x46 == ((const U8*)s)[2] || 0x62 == ((const U8*)s)[2] || 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ + : ( 0xBF == ((const U8*)s)[0] ) ? \ + ( ( inRANGE(((const U8*)s)[1], 0x66, 0x67 ) ) ? \ + ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) ? 3 : 0 ) \ + : ( ( 0x69 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) || 0x57 == ((const U8*)s)[2] || 0x62 == ((const U8*)s)[2] || 0x6A == ((const U8*)s)[2] ) ) ? 3 : 0 )\ + : 0 ) \ +: ((e)-(s) > 1) ? \ + ( ( ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA2 ) || ((const U8*)s)[0] == 0xA6 || ((const U8*)s)[0] == 0xA8 ) ? 1\ + : ( 0x86 == ((const U8*)s)[0] ) ? \ + ( ( 0x86 == ((const U8*)s)[1] ) ? 2 : 1 ) \ + : ( 0xAA == ((const U8*)s)[0] ) ? \ + ( ( 0x6A == ((const U8*)s)[1] ) ? 2 : 0 ) \ + : ( 0xB3 == ((const U8*)s)[0] ) ? \ + ( ( ((const U8*)s)[1] == 0x53 || ((const U8*)s)[1] == 0x55 || ((const U8*)s)[1] == 0x58 || ( ( ((const U8*)s)[1] & 0xFD ) == 0x65 ) ) ? 2 : 0 )\ + : ( ( 0xB4 == ((const U8*)s)[0] ) && ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x42 ) || ((const U8*)s)[1] == 0x4A || ((const U8*)s)[1] == 0x55 ) ) ? 2 : 0 )\ +: ((e)-(s) > 0) ? \ + ( ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x86 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA2 ) || ((const U8*)s)[0] == 0xA8 )\ +: 0 ) + +/* + THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds + + ®charclass_multi_char_folds::multi_char_folds('l', 'h') +*/ +/*** GENERATED CODE ***/ +#define is_THREE_CHAR_FOLD_HEAD_latin1_safe(s,e) \ +( ((e)-(s) > 1) ? \ + ( ( ( ( ((const U8*)s)[0] & 0xAF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xBE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xBE ) == 0xA2 ) || ( ( ((const U8*)s)[0] & 0xBF ) == 0xA6 ) || ( ( ((const U8*)s)[0] & 0xBF ) == 0xA8 ) ) ? 1\ + : ( ( ((const U8*)s)[0] & 0xBF ) == 0x86 ) ? \ + ( ( ( ((const U8*)s)[1] & 0xBF ) == 0x86 ) ? 2 : 1 ) \ + : 0 ) \ +: ((e)-(s) > 0) ? \ + ( ( ( ((const U8*)s)[0] & 0xAF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0x9F ) == 0x86 ) || ( ( ((const U8*)s)[0] & 0xBE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xBE ) == 0xA2 ) || ( ( ((const U8*)s)[0] & 0xBF ) == 0xA8 ) )\ +: 0 ) + /* FOLDS_TO_MULTI: characters that fold to multi-char strings @@ -1855,55 +2199,57 @@ #endif /* PERL_REGCHARCLASS_H_ */ /* Generated from: - * d34c77b7e7a94986cc82056919f4ffc1503b73091561e16bd8ef145ac0fd04c5 lib/Unicode/UCD.pm - * 5e91b649379ec79af7cfb6b09410a24557cba4c6d733cd0a2b8a78a1448736d2 lib/unicore/ArabicShaping.txt - * f5feb19cd084b2b1568fbc0f94f4b4b54941406e7fb36c7570f8352fd5022dbe lib/unicore/BidiBrackets.txt - * e6cbd8ffe94f2e0fbfa6695d6c06c1e72eef7d3aa93cb6329d111285198b5e62 lib/unicore/BidiMirroring.txt - * a28b205afe8625fffdb6544a5fe14cf02b91493d9900f07820fa2102a17548f7 lib/unicore/Blocks.txt - * 9c772627c6ee77eea6a17b42927b8ee28ca05dc65d6a511062104baaf3d12294 lib/unicore/CaseFolding.txt - * abc8394c5bde62453118b00c1c5842160a04d7fffb2e829ee5426b846596d081 lib/unicore/CompositionExclusions.txt - * 2fc081011d8fabaf7cf4937732dd5a6d6a57e492c43f3adfeded513387ee0ec3 lib/unicore/DAge.txt - * a6eb7a8671fb532fbd88c37fd7b20b5b2e7dbfc8b121f74c14abe2947db0da68 lib/unicore/DCoreProperties.txt - * 92dcdda84142194a1596f22180fcdf8c0e7f86897f09cc9203c7dc636c549f5f lib/unicore/DNormalizationProps.txt - * 904500178b2e752635bef27aaed3a2a3718a100bce35ff96b3890be7a8315d8f lib/unicore/EastAsianWidth.txt - * 1989b03d93023d8f5cc33eebf0d2ea80c8bd8f8c97843059ea039acb582c2078 lib/unicore/EmojiData.txt - * d7930c2a7318e66b4ba756d5e5b41fbc586c2ad43d450ae9d320a758510bae2e lib/unicore/EquivalentUnifiedIdeograph.txt - * 8606af08712a8c18fe268d418e2e5a87eddee6e190cce4c2d5a76b4fadf035e8 lib/unicore/HangulSyllableType.txt - * 49a1bf18b048454154881f6a8a605b5e2fc73e85fcc4df1cb26d52e8c2aeb9bf lib/unicore/IndicPositionalCategory.txt - * 1b6f3ef6e00e5b2e2a93d2d3c954ca1cce368599c5f11874cd0f0ce222d4637b lib/unicore/IndicSyllabicCategory.txt - * 285c5c1ae458bc3ccd6a1398a94d2d67ce6bc1d7fc0f098762836050345e9434 lib/unicore/Jamo.txt - * 961f842fc70b5afd1d82c6645e68c10d1f701382aed38ae38cb2ff27f671903c lib/unicore/LineBreak.txt - * ff61a0687d2f32c0dd1094254b8bde967883b43c2d4d50fd17531d498e41ab2c lib/unicore/NameAliases.txt - * d3eb9a288ebeaf9de1237989f490705e287b6f610b59d2459fb1b7c2d8e39c39 lib/unicore/NamedSequences.txt - * d30d3ee430cf3527449d024954f053e419fa4aa2246eb59e5cd8d621af0c4b3f lib/unicore/PropList.txt - * efce54f7c715a332c19b3d14c6a0eea30c6cde91caf6ff0d21c755be933736f4 lib/unicore/PropValueAliases.txt - * d3cc3f9f0b6a8f0b7ef1d6ef202675426c28f4a75de01fc69ed977a93a00982b lib/unicore/PropertyAliases.txt - * 3746848c181b5dbc1e614dfac9b8a5e3568e6525c693ac14e692ac55dec57e91 lib/unicore/ScriptExtensions.txt - * e6313a8edfd24f36c7a006fbcf1d1b7245b5dd009c6dde80441f0da08b822c43 lib/unicore/Scripts.txt - * 817ce2e9edca8e075a153f54b8f3b020345e37652cd2bda9b1495c366af17e7e lib/unicore/SpecialCasing.txt - * 93ab1acd8fd9d450463b50ae77eab151a7cda48f98b25b56baed8070f80fc936 lib/unicore/UnicodeData.txt - * ec5ba64af58297a46de17848eb984d2b231adb304de92e9d0d3befdbf9dc2551 lib/unicore/VerticalOrientation.txt - * 95bd55cf803b93eb0b4990cf0e1d70ede263b36412d9c6921fd6f15cef058961 lib/unicore/auxiliary/GCBTest.txt - * 39d73448fd257e6082f83ddf4c8bf6feb191e85dc8fc56b1a8512482de5e3dea lib/unicore/auxiliary/GraphemeBreakProperty.txt - * f385e70f79f5959ae66d64b00f4bda39db6cef78e5363a0cdd88db46eafc6c8f lib/unicore/auxiliary/LBTest.txt - * 7d6c909af97d0ab545a132d412f6e4e65c7eb5158514a7feb9bf00bcd05875f9 lib/unicore/auxiliary/SBTest.txt - * c47d674ef4170c46185bf56f7a4c6627f65f012295e0994f7dc4aea51f8fd8cf lib/unicore/auxiliary/SentenceBreakProperty.txt - * 3e3320bbbe775de7f1a0b9a30021eb949116a9b05cb461c90596c5ecf1743831 lib/unicore/auxiliary/WBTest.txt - * f221f89fe3bb3becc00de726d5694c4b7f464c316baff6d339b2ff3900bcb96c lib/unicore/auxiliary/WordBreakProperty.txt - * db2c41c618bab54b00e58223ad11cec550f9b9fd1a471de236e660da92fe4870 lib/unicore/extracted/DBidiClass.txt - * fecd8a1c49935d794c4c1012f4158aa536a13049a4c10d01aaf7b5f90f3b2cbc lib/unicore/extracted/DBinaryProperties.txt - * db6f38fb4aa8b9181b5e6a9f320de9d5c2c9b5687116a619b3cb90138b025e0b lib/unicore/extracted/DCombiningClass.txt - * 2524f69c175831fd84bfbaf13ea37992f41db167d728c51b1d0002c1d0b130b0 lib/unicore/extracted/DDecompositionType.txt - * 16852301d54ae59b5cfe0daa6b8e17fb688ed055d59b2a5a11eaafc650cc9d30 lib/unicore/extracted/DEastAsianWidth.txt - * 78f898b988049a5bea5039cea6ffe87a92596859ac660a6c438519b512fe2ee6 lib/unicore/extracted/DGeneralCategory.txt - * 33441692403901287c834f96bd33b671133a6f74e2732c61a497608b9e434932 lib/unicore/extracted/DJoinGroup.txt - * a792ac5ef602e3bace679cc96d7491701dcdb73d81c782253de88fdcc5e70e50 lib/unicore/extracted/DJoinType.txt - * 78e2600e24fa7d5ab62117de50b382f8b31b08401c37a0782c38dacb340b64e7 lib/unicore/extracted/DLineBreak.txt - * 1bde4ad73e271c6349fbd1972e54f38bba5cc1900c28f678e79b9e8909b31793 lib/unicore/extracted/DNumType.txt - * 6278722699123f3890e4b1cc42011e96d8960e4958a3b93484361530983d2611 lib/unicore/extracted/DNumValues.txt - * b3d90fc23817ea4e33e9a90107c0a6c7b23314efd5712905ed172624d5524693 lib/unicore/mktables - * a712c758275b460d18fa77a26ed3589689bb3f69dcc1ea99b913e32db92a5cd2 lib/unicore/version + * d60b1a3dffe16c4aaaf3f00d21993bb320d05e9828b106182214764d4c69935c lib/Unicode/UCD.pm + * ce96627d4fc91b4fd886c409caeb9b76cf7bd345e12f05c6701add7f233f6437 lib/unicore/ArabicShaping.txt + * 0e69eef3da722cc104522d8372e86d5b86bb7afcc761b0c991e39e832294946d lib/unicore/BidiBrackets.txt + * a00d9d21585106a52113fb7b1d3d0373a5835be72e76862fb559ebddd474d70e lib/unicore/BidiMirroring.txt + * 81a82b6a9fcf1a9c12f588d7a1decd73a9afdc4cac95b0eb7e576e7942d6c19f lib/unicore/Blocks.txt + * 99d231d7c91688bbe8ca8ccebcc2f46b5b222f844babe4827295bae11e2abe5f lib/unicore/CaseFolding.txt + * 38badafd818d8405324fe298c0676be0c95186368c84b5368375fd871a645144 lib/unicore/CompositionExclusions.txt + * e779a443d3aa2a3166a15becaa2b737c922480e32c0453d5956093633555078f lib/unicore/DAge.txt + * a5d45f59b39deaab3c72ce8c1a2e212a5e086dff11b1f9d5bb0e352642e82248 lib/unicore/DCoreProperties.txt + * 3ac44e11c84bdaf6b207d2c2c20eed857ae17052393fc7f71b0fe951186ba906 lib/unicore/DNormalizationProps.txt + * 4f822ec7a9ebbb3138ad29bade8b9688d25b39c7a3c0b7431f01e7229e4fcb6e lib/unicore/EastAsianWidth.txt + * fc535aa1047a70105ab9a22c2b4c3f363a2ff02fe48ebbc5eeb9873b2752ff0b lib/unicore/EquivalentUnifiedIdeograph.txt + * b9c5158ce944d2fec57e0e4ecb716bdabfc3bdde73525f1772fe03f61a30d473 lib/unicore/HangulSyllableType.txt + * 36c1b2a626ff1fb23b8b21e6ea8712698f8ce668dded1cb48b8ddf6a6a1b04e9 lib/unicore/IdStatus.txt + * 4857c4ffa3898e6128b2d46b0a02e499a663fb91464a69ef3611096f01293acc lib/unicore/IdType.txt + * 69197b019fa5f2fb0d8c6ed1ed8acb9f2e8b5b8f45a947953ffa652f3bf54983 lib/unicore/IndicPositionalCategory.txt + * 6604e2f0fde7428675364aa0006bc686b79488dcc60ae8cb29800af2be3352e8 lib/unicore/IndicSyllabicCategory.txt + * 84ead63924aaa74b988b2eaf254a8733276ed108633ce2ef77a9ee1de7818162 lib/unicore/Jamo.txt + * d5abcd8f54c8a2aa912924c485ccf7f968ad98feaa303d8e9a29ad89172f1faf lib/unicore/LineBreak.txt + * 985128e8c8b2540233331d9b27d897d2c23bd5bcf1d05da960befce6efc59542 lib/unicore/NameAliases.txt + * 27282b8aa01d4d0c44aef436cb74195ae8639ffa187aeee4e6247af76febea76 lib/unicore/NamedSequences.txt + * 485b5a3ed25dbf1f94dfa5a9b69d8b4550ffd0c33045ccc55ccfd7c80b2a40cf lib/unicore/PropList.txt + * 6b3902e9268cd843fe65cbdea992108c9528343ec0679f800b96f356bb553e5a lib/unicore/PropValueAliases.txt + * 2bd5777847e3d6add3c7e5c0d1393ddcab89e5a0ac3ff498cb0c53041f0b86e4 lib/unicore/PropertyAliases.txt + * 03a61dc89422e44cc2b73e8e893321007880ab69e2a4d281c0f1bc29c602b9d0 lib/unicore/ScriptExtensions.txt + * 9a5ed1ec9b5f0d7147e9371ad792ab39203611af7637cff2aa4a5c663b172cde lib/unicore/Scripts.txt + * 6424312f1dc39b22e0ff9c0ffb13dfad424d9b03e6a6dc6bca941f6bf5ef1ffd lib/unicore/SpecialCasing.txt + * bdbffbbfc8ad4d3a6d01b5891510458f3d36f7170422af4ea2bed3211a73e8bb lib/unicore/UnicodeData.txt + * 160f41816234addb511901d5f21febd69574578dd93de6ef8153e35693325575 lib/unicore/VerticalOrientation.txt + * 32dfb37d21db530529a6ec3dc13d96f21f8e7c7faf7ff3db8a9760cd76cec81d lib/unicore/auxiliary/GCBTest.txt + * 2bd3c5e2d62701ff81fb3ec318e179a4618cabb1493b1e0dd2b4e7e56c5437c4 lib/unicore/auxiliary/GraphemeBreakProperty.txt + * c51fbebfa82a0f36473b44bfd71d5ef6cb6a1f81fb313375dc9a1910d79bb2b6 lib/unicore/auxiliary/LBTest.txt + * 80b0107750818d8f370bd120b6fe56b6855b60581f72affe8b60409a469b4b65 lib/unicore/auxiliary/SBTest.txt + * 09e3166ebab166ac630a227f77f4e794ebd433271abd5588f5a67e7f199c71ee lib/unicore/auxiliary/SentenceBreakProperty.txt + * bf5373ce28a5df06796c93dc159dd15a997bb2950c92704b40ae8190cfc3716d lib/unicore/auxiliary/WBTest.txt + * a2b7373cf2fe3fa3b26dbb53405ca849985f771ff47f1c61743978003ff80499 lib/unicore/auxiliary/WordBreakProperty.txt + * d2686f400a638c80775d7c662556fb8fa8dd3bbe4aa548d9d31624264c6e1bb1 lib/unicore/emoji/emoji.txt + * b827ae5da8c2b08947cc9a120a7b7fd2f1676fb160b508df78075381635b127c lib/unicore/extracted/DBidiClass.txt + * 6fdc5b5ef40444a8f0c772e6b67c00498d4216fe0c0fdf76744ce338f2ad3810 lib/unicore/extracted/DBinaryProperties.txt + * e14928a5bf6ad5958a80332bd42e96e14420080a95c660e5da29384e496755d0 lib/unicore/extracted/DCombiningClass.txt + * 579a03281fbe87b78d5d9a8523de4d255edd7e4ca6eab0e4c7729de97e9b89b1 lib/unicore/extracted/DDecompositionType.txt + * ad83c59b257e9d480ffd3001d4ac240c5fed7cb1919453e1c4e8877035256bcd lib/unicore/extracted/DEastAsianWidth.txt + * 4502f0969e4e6558c4b4c6ca4c23dad70b863d61dd3d5eed1a62a6c3c99fd570 lib/unicore/extracted/DGeneralCategory.txt + * 00bb88b89e2adb646f3177f9444e2d3192386b81a5de9556104b338274b253e1 lib/unicore/extracted/DJoinGroup.txt + * ac835b6e11a60c9820d3cf2d1cb0558dd68efb8f53f404a51632e4726690a6d7 lib/unicore/extracted/DJoinType.txt + * baba9dfc133e3cb770a89aaf0973b1341fa61c2da6c176baf6428898b3b568d8 lib/unicore/extracted/DLineBreak.txt + * 6d4a8c945dd7db83ed617cbb7d937de7f4ecf016ff22970d846e996a7c9a2a5d lib/unicore/extracted/DNumType.txt + * 5b7c14380d5cceeaffcfbc18db1ed936391d2af2d51f5a41f1a17b692c77e59b lib/unicore/extracted/DNumValues.txt + * ee0dd174fd5b158d82dfea95d7d822ca0bfcd490182669353dca3ab39a8ee807 lib/unicore/mktables + * 50b85a67451145545a65cea370dab8d3444fbfe07e9c34cef560c5b7da9d3eef lib/unicore/version * 2680b9254eb236c5c090f11b149605043e8c8433661b96efc4a42fb4709342a5 regen/charset_translations.pl - * 830144f6afdd047b009754ffa06134397268f6638837fe85283483eb0cfdd558 regen/regcharclass.pl - * c6b0b0b7e4ac4f5a57d203e84194749987477ea55b2366e3b343aadf8cc7d6b5 regen/regcharclass_multi_char_folds.pl + * f9a393e7add8c7c2728356473ce5b52246d51295b2da0c48fb6f0aa21799e2bb regen/regcharclass.pl + * b549b9989c6987563dad8f8ad6b984c8026cdc283d60ea34457959c5d4b4ade0 regen/regcharclass_multi_char_folds.pl * ex: set ro: */ diff --git a/Master/tlpkg/tlperl/lib/CORE/regcomp.h b/Master/tlpkg/tlperl/lib/CORE/regcomp.h index 5002e2b38d3..312c9055e75 100644 --- a/Master/tlpkg/tlperl/lib/CORE/regcomp.h +++ b/Master/tlpkg/tlperl/lib/CORE/regcomp.h @@ -30,36 +30,6 @@ #define RE_TRACK_PATTERN_OFFSETS #endif -/* - * The "internal use only" fields in regexp.h are present to pass info from - * compile to execute that permits the execute phase to run lots faster on - * simple cases. They are: - * - * regstart sv that must begin a match; NULL if none obvious - * reganch is the match anchored (at beginning-of-line only)? - * regmust string (pointer into program) that match must include, or NULL - * [regmust changed to SV* for bminstr()--law] - * regmlen length of regmust string - * [regmlen not used currently] - * - * Regstart and reganch permit very fast decisions on suitable starting points - * for a match, cutting down the work a lot. Regmust permits fast rejection - * of lines that cannot possibly match. The regmust tests are costly enough - * that pregcomp() supplies a regmust only if the r.e. contains something - * potentially expensive (at present, the only such thing detected is * or + - * at the start of the r.e., which can involve a lot of backup). Regmlen is - * supplied because the test in pregexec() needs it and pregcomp() is computing - * it anyway. - * [regmust is now supplied always. The tests that use regmust have a - * heuristic that disables the test if it usually matches.] - * - * [In fact, we now use regmust in many cases to locate where the search - * starts in the string, so if regback is >= 0, the regmust search is never - * wasted effort. The regback variable says how many characters back from - * where regmust matched is the earliest possible start of the match. - * For instance, /[a-z].foo/ has a regmust of 'foo' and a regback of 2.] - */ - /* * Structure for regexp "program". This is essentially a linear encoding * of a nondeterministic finite-state machine (aka syntax charts or @@ -95,7 +65,6 @@ private to the engine itself. It now lives here. */ typedef struct regexp_internal { - int name_list_idx; /* Optional data index of an array of paren names */ union { U32 *offsets; /* offset annotations 20001228 MJD data about mapping the program to the @@ -112,6 +81,7 @@ data that the regops need. Often the ARG field of a regop is an index into this structure */ struct reg_code_blocks *code_blocks;/* positions of literal (?{}) */ + int name_list_idx; /* Optional data index of an array of paren names */ regnode program[1]; /* Unwarranted chumminess with compiler. */ } regexp_internal; @@ -156,6 +126,22 @@ struct regnode_string { char string[1]; }; +struct regnode_lstring { /* Constructed this way to keep the string aligned. */ + U8 flags; + U8 type; + U16 next_off; + U32 str_len; /* Only 18 bits allowed before would overflow 'next_off' */ + char string[1]; +}; + +struct regnode_anyofhs { /* Constructed this way to keep the string aligned. */ + U8 str_len; + U8 type; + U16 next_off; + U32 arg1; /* set by set_ANYOF_arg() */ + char string[1]; +}; + /* Argument bearing node - workhorse, arg1 is often for the data field */ struct regnode_1 { @@ -165,6 +151,15 @@ struct regnode_1 { U32 arg1; }; +/* Node whose argument is 'SV *'. This needs to be used very carefully in + * situations where pointers won't become invalid because of, say re-mallocs */ +struct regnode_p { + U8 flags; + U8 type; + U16 next_off; + SV * arg1; +}; + /* Similar to a regnode_1 but with an extra signed argument */ struct regnode_2L { U8 flags; @@ -183,21 +178,6 @@ struct regnode_2 { U16 arg2; }; -/* This give the number of code points that can be in the bitmap of an ANYOF - * node. The shift number must currently be one of: 8..12. It can't be less - * than 8 (256) because some code relies on it being at least that. Above 12 - * (4096), and you start running into warnings that some data structure widths - * have been exceeded, though the test suite as of this writing still passes - * for up through 16, which is as high as anyone would ever want to go, - * encompassing all of the Unicode BMP, and thus including all the economically - * important world scripts. At 12 most of them are: including Arabic, - * Cyrillic, Greek, Hebrew, Indian subcontinent, Latin, and Thai; but not Han, - * Japanese, nor Korean. (The regarglen structure in regnodes.h is a U8, and - * the trie types TRIEC and AHOCORASICKC are larger than U8 for shift values - * above 12.) Be sure to benchmark before changing, as larger sizes do - * significantly slow down the test suite */ -#define NUM_ANYOF_CODE_POINTS (1 << 8) - #define ANYOF_BITMAP_SIZE (NUM_ANYOF_CODE_POINTS / 8) /* 8 bits/Byte */ /* Note that these form structs which are supersets of the next smaller one, by @@ -295,11 +275,13 @@ struct regnode_ssc { #undef ARG2 #define ARG(p) ARG_VALUE(ARG_LOC(p)) +#define ARGp(p) ARG_VALUE(ARGp_LOC(p)) #define ARG1(p) ARG_VALUE(ARG1_LOC(p)) #define ARG2(p) ARG_VALUE(ARG2_LOC(p)) #define ARG2L(p) ARG_VALUE(ARG2L_LOC(p)) #define ARG_SET(p, val) ARG__SET(ARG_LOC(p), (val)) +#define ARGp_SET(p, val) ARG__SET(ARGp_LOC(p), (val)) #define ARG1_SET(p, val) ARG__SET(ARG1_LOC(p), (val)) #define ARG2_SET(p, val) ARG__SET(ARG2_LOC(p), (val)) #define ARG2L_SET(p, val) ARG__SET(ARG2L_LOC(p), (val)) @@ -324,19 +306,61 @@ struct regnode_ssc { #undef OP #undef OPERAND -#undef MASK #undef STRING #define OP(p) ((p)->type) #define FLAGS(p) ((p)->flags) /* Caution: Doesn't apply to all \ regnode types. For some, it's the \ character set of the regnode */ -#define OPERAND(p) (((struct regnode_string *)p)->string) -#define MASK(p) ((char*)OPERAND(p)) -#define STR_LEN(p) (((struct regnode_string *)p)->str_len) -#define STRING(p) (((struct regnode_string *)p)->string) -#define STR_SZ(l) ((l + sizeof(regnode) - 1) / sizeof(regnode)) -#define NODE_SZ_STR(p) (STR_SZ(STR_LEN(p))+1) +#define STR_LENs(p) (__ASSERT_(OP(p) != LEXACT && OP(p) != LEXACT_REQ8) \ + ((struct regnode_string *)p)->str_len) +#define STRINGs(p) (__ASSERT_(OP(p) != LEXACT && OP(p) != LEXACT_REQ8) \ + ((struct regnode_string *)p)->string) +#define OPERANDs(p) STRINGs(p) + +/* Long strings. Currently limited to length 18 bits, which handles a 262000 + * byte string. The limiting factor is the 16 bit 'next_off' field, which + * points to the next regnode, so the furthest away it can be is 2**16. On + * most architectures, regnodes are 2**2 bytes long, so that yields 2**18 + * bytes. Should a longer string be desired, we could increase it to 26 bits + * fairly easily, by changing this node to have longj type which causes the ARG + * field to be used for the link to the next regnode (although code would have + * to be changed to account for this), and then use a combination of the flags + * and next_off fields for the length. To get 34 bit length, also change the + * node to be an ARG2L, using the second 32 bit field for the length, and not + * using the flags nor next_off fields at all. One could have an llstring node + * and even an lllstring type. */ +#define STR_LENl(p) (__ASSERT_(OP(p) == LEXACT || OP(p) == LEXACT_REQ8) \ + (((struct regnode_lstring *)p)->str_len)) +#define STRINGl(p) (__ASSERT_(OP(p) == LEXACT || OP(p) == LEXACT_REQ8) \ + (((struct regnode_lstring *)p)->string)) +#define OPERANDl(p) STRINGl(p) + +#define STR_LEN(p) ((OP(p) == LEXACT || OP(p) == LEXACT_REQ8) \ + ? STR_LENl(p) : STR_LENs(p)) +#define STRING(p) ((OP(p) == LEXACT || OP(p) == LEXACT_REQ8) \ + ? STRINGl(p) : STRINGs(p)) +#define OPERAND(p) STRING(p) + +/* The number of (smallest) regnode equivalents that a string of length l bytes + * occupies */ +#define STR_SZ(l) (((l) + sizeof(regnode) - 1) / sizeof(regnode)) + +/* The number of (smallest) regnode equivalents that the EXACTISH node 'p' + * occupies */ +#define NODE_SZ_STR(p) (STR_SZ(STR_LEN(p)) + 1 + regarglen[(p)->type]) + +#define setSTR_LEN(p,v) \ + STMT_START{ \ + if (OP(p) == LEXACT || OP(p) == LEXACT_REQ8) \ + ((struct regnode_lstring *)(p))->str_len = (v); \ + else \ + ((struct regnode_string *)(p))->str_len = (v); \ + } STMT_END + +#define ANYOFR_BASE_BITS 20 +#define ANYOFRbase(p) (ARG(p) & ((1 << ANYOFR_BASE_BITS) - 1)) +#define ANYOFRdelta(p) (ARG(p) >> ANYOFR_BASE_BITS) #undef NODE_ALIGN #undef ARG_LOC @@ -345,6 +369,7 @@ struct regnode_ssc { #define NODE_ALIGN(node) #define ARG_LOC(p) (((struct regnode_1 *)p)->arg1) +#define ARGp_LOC(p) (((struct regnode_p *)p)->arg1) #define ARG1_LOC(p) (((struct regnode_2 *)p)->arg1) #define ARG2_LOC(p) (((struct regnode_2 *)p)->arg2) #define ARG2L_LOC(p) (((struct regnode_2L *)p)->arg2) @@ -352,8 +377,6 @@ struct regnode_ssc { #define NODE_STEP_REGNODE 1 /* sizeof(regnode)/sizeof(regnode) */ #define EXTRA_STEP_2ARGS EXTRA_SIZE(struct regnode_2) -#define NODE_STEP_B 4 - #define NEXTOPER(p) ((p) + NODE_STEP_REGNODE) #define PREVOPER(p) ((p) - NODE_STEP_REGNODE) @@ -375,6 +398,12 @@ struct regnode_ssc { * that have a longer argument */ \ (offset) += regarglen[op]; \ } STMT_END +#define FILL_ADVANCE_NODE_ARGp(offset, op, arg) \ + STMT_START { \ + ARGp_SET(REGNODE_p(offset), arg); \ + FILL_ADVANCE_NODE(offset, op); \ + (offset) += regarglen[op]; \ + } STMT_END #define FILL_ADVANCE_NODE_2L_ARG(offset, op, arg1, arg2) \ STMT_START { \ ARG_SET(REGNODE_p(offset), arg1); \ @@ -415,7 +444,7 @@ struct regnode_ssc { * 2) A subset of item 1) is if all possible code points outside the bitmap * match. This is a common occurrence when the class is complemented, * like /[^ij]/. Therefore a bit is reserved to indicate this, - * rather than having a more expensive inversion list created, + * rather than having an inversion list created, * ANYOF_MATCHES_ALL_ABOVE_BITMAP. * 3) Under /d rules, it can happen that code points that are in the upper * latin1 range (\x80-\xFF or their equivalents on EBCDIC platforms) match @@ -715,6 +744,8 @@ struct regnode_ssc { # define UCHARAT(p) ((int)*(p)&CHARMASK) #endif +/* Number of regnode equivalents that 'guy' occupies beyond the size of the + * smallest regnode. */ #define EXTRA_SIZE(guy) ((sizeof(guy)-1)/sizeof(struct regnode)) #define REG_ZERO_LEN_SEEN 0x00000001 @@ -997,88 +1028,112 @@ re.pm, especially to the documentation. #define RE_DEBUG_EXECUTE_TRIE 0x000400 /* Extra */ -#define RE_DEBUG_EXTRA_MASK 0xFF0000 -#define RE_DEBUG_EXTRA_TRIE 0x010000 -#define RE_DEBUG_EXTRA_OFFSETS 0x020000 -#define RE_DEBUG_EXTRA_OFFDEBUG 0x040000 -#define RE_DEBUG_EXTRA_STATE 0x080000 -#define RE_DEBUG_EXTRA_OPTIMISE 0x100000 -#define RE_DEBUG_EXTRA_BUFFERS 0x400000 -#define RE_DEBUG_EXTRA_GPOS 0x800000 +#define RE_DEBUG_EXTRA_MASK 0x3FF0000 +#define RE_DEBUG_EXTRA_TRIE 0x0010000 +#define RE_DEBUG_EXTRA_OFFSETS 0x0020000 +#define RE_DEBUG_EXTRA_OFFDEBUG 0x0040000 +#define RE_DEBUG_EXTRA_STATE 0x0080000 +#define RE_DEBUG_EXTRA_OPTIMISE 0x0100000 +#define RE_DEBUG_EXTRA_BUFFERS 0x0400000 +#define RE_DEBUG_EXTRA_GPOS 0x0800000 +#define RE_DEBUG_EXTRA_DUMP_PRE_OPTIMIZE 0x1000000 +#define RE_DEBUG_EXTRA_WILDCARD 0x2000000 /* combined */ -#define RE_DEBUG_EXTRA_STACK 0x280000 +#define RE_DEBUG_EXTRA_STACK 0x0280000 -#define RE_DEBUG_FLAG(x) (re_debug_flags & x) +#define RE_DEBUG_FLAG(x) (re_debug_flags & (x)) /* Compile */ #define DEBUG_COMPILE_r(x) DEBUG_r( \ - if (DEBUG_v_TEST || (re_debug_flags & RE_DEBUG_COMPILE_MASK)) x ) + if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_COMPILE_MASK)) x ) #define DEBUG_PARSE_r(x) DEBUG_r( \ - if (DEBUG_v_TEST || (re_debug_flags & RE_DEBUG_COMPILE_PARSE)) x ) + if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_COMPILE_PARSE)) x ) #define DEBUG_OPTIMISE_r(x) DEBUG_r( \ - if (DEBUG_v_TEST || (re_debug_flags & RE_DEBUG_COMPILE_OPTIMISE)) x ) + if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_COMPILE_OPTIMISE)) x ) #define DEBUG_DUMP_r(x) DEBUG_r( \ - if (DEBUG_v_TEST || (re_debug_flags & RE_DEBUG_COMPILE_DUMP)) x ) + if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_COMPILE_DUMP)) x ) #define DEBUG_TRIE_COMPILE_r(x) DEBUG_r( \ - if (DEBUG_v_TEST || (re_debug_flags & RE_DEBUG_COMPILE_TRIE)) x ) + if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_COMPILE_TRIE)) x ) #define DEBUG_FLAGS_r(x) DEBUG_r( \ - if (DEBUG_v_TEST || (re_debug_flags & RE_DEBUG_COMPILE_FLAGS)) x ) + if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_COMPILE_FLAGS)) x ) #define DEBUG_TEST_r(x) DEBUG_r( \ - if (DEBUG_v_TEST || (re_debug_flags & RE_DEBUG_COMPILE_TEST)) x ) + if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_COMPILE_TEST)) x ) /* Execute */ #define DEBUG_EXECUTE_r(x) DEBUG_r( \ - if (DEBUG_v_TEST || (re_debug_flags & RE_DEBUG_EXECUTE_MASK)) x ) + if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXECUTE_MASK)) x ) #define DEBUG_INTUIT_r(x) DEBUG_r( \ - if (DEBUG_v_TEST || (re_debug_flags & RE_DEBUG_EXECUTE_INTUIT)) x ) + if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXECUTE_INTUIT)) x ) #define DEBUG_MATCH_r(x) DEBUG_r( \ - if (DEBUG_v_TEST || (re_debug_flags & RE_DEBUG_EXECUTE_MATCH)) x ) + if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXECUTE_MATCH)) x ) #define DEBUG_TRIE_EXECUTE_r(x) DEBUG_r( \ - if (DEBUG_v_TEST || (re_debug_flags & RE_DEBUG_EXECUTE_TRIE)) x ) + if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXECUTE_TRIE)) x ) /* Extra */ #define DEBUG_EXTRA_r(x) DEBUG_r( \ - if (DEBUG_v_TEST || (re_debug_flags & RE_DEBUG_EXTRA_MASK)) x ) + if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXTRA_MASK)) x ) #define DEBUG_OFFSETS_r(x) DEBUG_r( \ - if (DEBUG_v_TEST || (re_debug_flags & RE_DEBUG_EXTRA_OFFSETS)) x ) + if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXTRA_OFFSETS)) x ) #define DEBUG_STATE_r(x) DEBUG_r( \ - if (DEBUG_v_TEST || (re_debug_flags & RE_DEBUG_EXTRA_STATE)) x ) + if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXTRA_STATE)) x ) #define DEBUG_STACK_r(x) DEBUG_r( \ - if (DEBUG_v_TEST || (re_debug_flags & RE_DEBUG_EXTRA_STACK)) x ) + if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXTRA_STACK)) x ) #define DEBUG_BUFFERS_r(x) DEBUG_r( \ - if (DEBUG_v_TEST || (re_debug_flags & RE_DEBUG_EXTRA_BUFFERS)) x ) + if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXTRA_BUFFERS)) x ) #define DEBUG_OPTIMISE_MORE_r(x) DEBUG_r( \ if (DEBUG_v_TEST || ((RE_DEBUG_EXTRA_OPTIMISE|RE_DEBUG_COMPILE_OPTIMISE) == \ - (re_debug_flags & (RE_DEBUG_EXTRA_OPTIMISE|RE_DEBUG_COMPILE_OPTIMISE)))) x ) + RE_DEBUG_FLAG(RE_DEBUG_EXTRA_OPTIMISE|RE_DEBUG_COMPILE_OPTIMISE))) x ) #define MJD_OFFSET_DEBUG(x) DEBUG_r( \ - if (DEBUG_v_TEST || (re_debug_flags & RE_DEBUG_EXTRA_OFFDEBUG)) \ + if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXTRA_OFFDEBUG)) \ Perl_warn_nocontext x ) #define DEBUG_TRIE_COMPILE_MORE_r(x) DEBUG_TRIE_COMPILE_r( \ - if (DEBUG_v_TEST || (re_debug_flags & RE_DEBUG_EXTRA_TRIE)) x ) + if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXTRA_TRIE)) x ) #define DEBUG_TRIE_EXECUTE_MORE_r(x) DEBUG_TRIE_EXECUTE_r( \ - if (DEBUG_v_TEST || (re_debug_flags & RE_DEBUG_EXTRA_TRIE)) x ) + if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXTRA_TRIE)) x ) #define DEBUG_TRIE_r(x) DEBUG_r( \ - if (DEBUG_v_TEST || (re_debug_flags & (RE_DEBUG_COMPILE_TRIE \ - | RE_DEBUG_EXECUTE_TRIE ))) x ) + if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_COMPILE_TRIE \ + | RE_DEBUG_EXECUTE_TRIE )) x ) #define DEBUG_GPOS_r(x) DEBUG_r( \ - if (DEBUG_v_TEST || (re_debug_flags & RE_DEBUG_EXTRA_GPOS)) x ) + if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXTRA_GPOS)) x ) + +#define DEBUG_DUMP_PRE_OPTIMIZE_r(x) DEBUG_r( \ + if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXTRA_DUMP_PRE_OPTIMIZE)) x ) /* initialization */ -/* get_sv() can return NULL during global destruction. */ -#define GET_RE_DEBUG_FLAGS DEBUG_r({ \ - SV * re_debug_flags_sv = NULL; \ +/* Get the debug flags for code not in regcomp.c nor regexec.c. This doesn't + * initialize the variable if it isn't already there, instead it just assumes + * the flags are 0 */ +#define DECLARE_AND_GET_RE_DEBUG_FLAGS_NON_REGEX \ + volatile IV re_debug_flags = 0; PERL_UNUSED_VAR(re_debug_flags); \ + STMT_START { \ + SV * re_debug_flags_sv = NULL; \ + /* get_sv() can return NULL during global destruction. */ \ re_debug_flags_sv = PL_curcop ? get_sv(RE_DEBUG_FLAGS, GV_ADD) : NULL; \ - if (re_debug_flags_sv) { \ - if (!SvIOK(re_debug_flags_sv)) \ - sv_setuv(re_debug_flags_sv, RE_DEBUG_COMPILE_DUMP | RE_DEBUG_EXECUTE_MASK ); \ - re_debug_flags=SvIV(re_debug_flags_sv); \ - }\ -}) + if (re_debug_flags_sv && SvIOK(re_debug_flags_sv)) \ + re_debug_flags=SvIV(re_debug_flags_sv); \ + } STMT_END + #ifdef DEBUGGING -#define GET_RE_DEBUG_FLAGS_DECL volatile IV re_debug_flags = 0; \ - PERL_UNUSED_VAR(re_debug_flags); GET_RE_DEBUG_FLAGS; +/* For use in regcomp.c and regexec.c, Get the debug flags, and initialize to + * the defaults if not done already */ +#define DECLARE_AND_GET_RE_DEBUG_FLAGS \ + volatile IV re_debug_flags = 0; PERL_UNUSED_VAR(re_debug_flags); \ + STMT_START { \ + SV * re_debug_flags_sv = NULL; \ + /* get_sv() can return NULL during global destruction. */ \ + re_debug_flags_sv = PL_curcop ? get_sv(RE_DEBUG_FLAGS, GV_ADD) : NULL; \ + if (re_debug_flags_sv) { \ + if (!SvIOK(re_debug_flags_sv)) /* If doesnt exist set to default */\ + sv_setuv(re_debug_flags_sv, \ + /* These defaults should be kept in sync with re.pm */ \ + RE_DEBUG_COMPILE_DUMP | RE_DEBUG_EXECUTE_MASK ); \ + re_debug_flags=SvIV(re_debug_flags_sv); \ + } \ + } STMT_END + +#define isDEBUG_WILDCARD (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXTRA_WILDCARD)) #define RE_PV_COLOR_DECL(rpv,rlen,isuni,dsv,pv,l,m,c1,c2) \ const char * const rpv = \ @@ -1107,12 +1162,13 @@ re.pm, especially to the documentation. #else /* if not DEBUGGING */ -#define GET_RE_DEBUG_FLAGS_DECL -#define RE_PV_COLOR_DECL(rpv,rlen,isuni,dsv,pv,l,m,c1,c2) +#define DECLARE_AND_GET_RE_DEBUG_FLAGS dNOOP +#define RE_PV_COLOR_DECL(rpv,rlen,isuni,dsv,pv,l,m,c1,c2) dNOOP #define RE_SV_ESCAPE(rpv,isuni,dsv,sv,m) -#define RE_PV_QUOTED_DECL(rpv,isuni,dsv,pv,l,m) +#define RE_PV_QUOTED_DECL(rpv,isuni,dsv,pv,l,m) dNOOP #define RE_SV_DUMPLEN(ItEm) #define RE_SV_TAIL(ItEm) +#define isDEBUG_WILDCARD 0 #endif /* DEBUG RELATED DEFINES */ @@ -1126,6 +1182,31 @@ typedef enum { WB_BOUND } bound_type; +/* This unpacks the FLAGS field of ANYOF[HR]x nodes. The value it contains + * gives the strict lower bound for the UTF-8 start byte of any code point + * matchable by the node, and a loose upper bound as well. + * + * The low bound is stored in the upper 6 bits, plus 0xC0. + * The loose upper bound is determined from the lowest 2 bits and the low bound + * (called x) as follows: + * + * 11 The upper limit of the range can be as much as (EF - x) / 8 + * 10 The upper limit of the range can be as much as (EF - x) / 4 + * 01 The upper limit of the range can be as much as (EF - x) / 2 + * 00 The upper limit of the range can be as much as EF + * + * For motivation of this design, see commit message in + * 3146c00a633e9cbed741e10146662fbcedfdb8d3 */ +#ifdef EBCDIC +# define MAX_ANYOF_HRx_BYTE 0xF4 +#else +# define MAX_ANYOF_HRx_BYTE 0xEF +#endif +#define LOWEST_ANYOF_HRx_BYTE(b) (((b) >> 2) + 0xC0) +#define HIGHEST_ANYOF_HRx_BYTE(b) \ + (LOWEST_ANYOF_HRx_BYTE(b) \ + + ((MAX_ANYOF_HRx_BYTE - LOWEST_ANYOF_HRx_BYTE(b)) >> ((b) & 3))) + #endif /* PERL_REGCOMP_H_ */ /* diff --git a/Master/tlpkg/tlperl/lib/CORE/regexp.h b/Master/tlpkg/tlperl/lib/CORE/regexp.h index ccbc64a009e..e12c6a9ffa6 100644 --- a/Master/tlpkg/tlperl/lib/CORE/regexp.h +++ b/Master/tlpkg/tlperl/lib/CORE/regexp.h @@ -118,28 +118,37 @@ typedef struct regexp { */ U32 extflags; /* Flags used both externally and internally */ + U32 nparens; /* number of capture buffers */ SSize_t minlen; /* minimum possible number of chars in string to match */ SSize_t minlenret; /* mininum possible number of chars in $& */ STRLEN gofs; /* chars left of pos that we search from */ /* substring data about strings that must appear in * the final match, used for optimisations */ struct reg_substr_data *substrs; - U32 nparens; /* number of capture buffers */ /* private engine specific data */ - U32 intflags; /* Engine Specific Internal flags */ void *pprivate; /* Data private to the regex engine which * created this object. */ + U32 intflags; /* Engine Specific Internal flags */ /*---------------------------------------------------------------------- * Data about the last/current match. These are modified during matching */ U32 lastparen; /* highest close paren matched ($+) */ - U32 lastcloseparen; /* last close paren matched ($^N) */ regexp_paren_pair *offs; /* Array of offsets for (@-) and (@+) */ char **recurse_locinput; /* used to detect infinite recursion, XXX: move to internal */ + U32 lastcloseparen; /* last close paren matched ($^N) */ + + /*---------------------------------------------------------------------- */ + + /* offset from wrapped to the start of precomp */ + PERL_BITFIELD32 pre_prefix:4; + + /* original flags used to compile the pattern, may differ from + * extflags in various ways */ + PERL_BITFIELD32 compflags:9; /*---------------------------------------------------------------------- */ @@ -148,21 +157,10 @@ typedef struct regexp { SSize_t sublen; /* Length of string pointed by subbeg */ SSize_t suboffset; /* byte offset of subbeg from logical start of str */ SSize_t subcoffset; /* suboffset equiv, but in chars (for @-/@+) */ - - /* Information about the match that isn't often used */ - SSize_t maxlen; /* minimum possible number of chars in string to match */ /*---------------------------------------------------------------------- */ - /* offset from wrapped to the start of precomp */ - PERL_BITFIELD32 pre_prefix:4; - - /* original flags used to compile the pattern, may differ from - * extflags in various ways */ - PERL_BITFIELD32 compflags:9; - - /*---------------------------------------------------------------------- */ CV *qr_anoncv; /* the anon sub wrapped round qr/(?{..})/ */ } regexp; @@ -629,7 +627,7 @@ and check for NULL. # define ReREFCNT_dec(re) SvREFCNT_dec(re) # define ReREFCNT_inc(re) ((REGEXP *) SvREFCNT_inc(re)) #endif -#define ReANY(re) S_ReANY((const REGEXP *)(re)) +#define ReANY(re) Perl_ReANY((const REGEXP *)(re)) /* FIXME for plugins. */ @@ -828,7 +826,7 @@ typedef struct regmatch_state { } keeper; /* quantifiers - these members are used for storing state for - for the regops used to implement quantifiers */ + the regops used to implement quantifiers */ struct { /* this first element must match u.yes */ struct regmatch_state *prev_yes_state; diff --git a/Master/tlpkg/tlperl/lib/CORE/regnodes.h b/Master/tlpkg/tlperl/lib/CORE/regnodes.h index ba691a2c188..46e090f39c5 100644 --- a/Master/tlpkg/tlperl/lib/CORE/regnodes.h +++ b/Master/tlpkg/tlperl/lib/CORE/regnodes.h @@ -6,8 +6,8 @@ /* Regops and State definitions */ -#define REGNODE_MAX 101 -#define REGMATCH_STATE_MAX 141 +#define REGNODE_MAX 109 +#define REGMATCH_STATE_MAX 149 #define END 0 /* 0000 End of program. */ #define SUCCEED 1 /* 0x01 Return from a subroutine, basically. */ @@ -19,11 +19,11 @@ #define MEOL 5 /* 0x05 Same, assuming multiline: /$/m */ #define EOS 6 /* 0x06 Match "" at end of string: /\z/ */ #define GPOS 7 /* 0x07 Matches where last m//g left off. */ -#define BOUND 8 /* 0x08 Like BOUNDA for non-utf8, otherwise match "" between any Unicode \w\W or \W\w */ +#define BOUND 8 /* 0x08 Like BOUNDA for non-utf8, otherwise like BOUNDU */ #define BOUNDL 9 /* 0x09 Like BOUND/BOUNDU, but \w and \W are defined by current locale */ #define BOUNDU 10 /* 0x0a Match "" at any boundary of a given type using /u rules. */ #define BOUNDA 11 /* 0x0b Match "" at any boundary between \w\W or \W\w, where \w is [_a-zA-Z0-9] */ -#define NBOUND 12 /* 0x0c Like NBOUNDA for non-utf8, otherwise match "" between any Unicode \w\w or \W\W */ +#define NBOUND 12 /* 0x0c Like NBOUNDA for non-utf8, otherwise like BOUNDU */ #define NBOUNDL 13 /* 0x0d Like NBOUND/NBOUNDU, but \w and \W are defined by current locale */ #define NBOUNDU 14 /* 0x0e Match "" at any non-boundary of a given type using using /u rules. */ #define NBOUNDA 15 /* 0x0f Match "" betweeen any \w\w or \W\W, where \w is [_a-zA-Z0-9] */ @@ -33,86 +33,94 @@ #define ANYOFD 19 /* 0x13 Like ANYOF, but /d is in effect */ #define ANYOFL 20 /* 0x14 Like ANYOF, but /l is in effect */ #define ANYOFPOSIXL 21 /* 0x15 Like ANYOFL, but matches [[:posix:]] classes */ -#define ANYOFH 22 /* 0x16 Like ANYOF, but only has "High" matches, none in the bitmap; non-zero flags "f" means "f" is the first UTF-8 byte shared in common by all code points matched */ -#define ANYOFM 23 /* 0x17 Like ANYOF, but matches an invariant byte as determined by the mask and arg */ -#define NANYOFM 24 /* 0x18 complement of ANYOFM */ -#define POSIXD 25 /* 0x19 Some [[:class:]] under /d; the FLAGS field gives which one */ -#define POSIXL 26 /* 0x1a Some [[:class:]] under /l; the FLAGS field gives which one */ -#define POSIXU 27 /* 0x1b Some [[:class:]] under /u; the FLAGS field gives which one */ -#define POSIXA 28 /* 0x1c Some [[:class:]] under /a; the FLAGS field gives which one */ -#define NPOSIXD 29 /* 0x1d complement of POSIXD, [[:^class:]] */ -#define NPOSIXL 30 /* 0x1e complement of POSIXL, [[:^class:]] */ -#define NPOSIXU 31 /* 0x1f complement of POSIXU, [[:^class:]] */ -#define NPOSIXA 32 /* 0x20 complement of POSIXA, [[:^class:]] */ -#define CLUMP 33 /* 0x21 Match any extended grapheme cluster sequence */ -#define BRANCH 34 /* 0x22 Match this alternative, or the next... */ -#define EXACT 35 /* 0x23 Match this string (preceded by length). */ -#define EXACTL 36 /* 0x24 Like EXACT, but /l is in effect (used so locale-related warnings can be checked for). */ -#define EXACTF 37 /* 0x25 Match this string using /id rules (w/len); (string not UTF-8, not guaranteed to be folded). */ -#define EXACTFL 38 /* 0x26 Match this string using /il rules (w/len); (string not guaranteed to be folded). */ -#define EXACTFU 39 /* 0x27 Match this string using /iu rules (w/len); (string folded iff in UTF-8; non-UTF8 folded length <= unfolded). */ -#define EXACTFAA 40 /* 0x28 Match this string using /iaa rules (w/len) (string folded iff in UTF-8; non-UTF8 folded length <= unfolded). */ -#define EXACTFUP 41 /* 0x29 Match this string using /iu rules (w/len); (string not UTF-8, not guaranteed to be folded; and its Problematic). */ -#define EXACTFLU8 42 /* 0x2a Like EXACTFU, but use /il, UTF-8, folded, and everything in it is above 255. */ -#define EXACTFAA_NO_TRIE 43 /* 0x2b Match this string using /iaa rules (w/len) (string not UTF-8, not guaranteed to be folded, not currently trie-able). */ -#define EXACT_ONLY8 44 /* 0x2c Like EXACT, but only UTF-8 encoded targets can match */ -#define EXACTFU_ONLY8 45 /* 0x2d Like EXACTFU, but only UTF-8 encoded targets can match */ -#define EXACTFU_S_EDGE 46 /* 0x2e /di rules, but nothing in it precludes /ui, except begins and/or ends with [Ss]; (string not UTF-8; compile-time only). */ -#define NOTHING 47 /* 0x2f Match empty string. */ -#define TAIL 48 /* 0x30 Match empty string. Can jump here from outside. */ -#define STAR 49 /* 0x31 Match this (simple) thing 0 or more times. */ -#define PLUS 50 /* 0x32 Match this (simple) thing 1 or more times. */ -#define CURLY 51 /* 0x33 Match this simple thing {n,m} times. */ -#define CURLYN 52 /* 0x34 Capture next-after-this simple thing */ -#define CURLYM 53 /* 0x35 Capture this medium-complex thing {n,m} times. */ -#define CURLYX 54 /* 0x36 Match this complex thing {n,m} times. */ -#define WHILEM 55 /* 0x37 Do curly processing and see if rest matches. */ -#define OPEN 56 /* 0x38 Mark this point in input as start of #n. */ -#define CLOSE 57 /* 0x39 Close corresponding OPEN of #n. */ -#define SROPEN 58 /* 0x3a Same as OPEN, but for script run */ -#define SRCLOSE 59 /* 0x3b Close preceding SROPEN */ -#define REF 60 /* 0x3c Match some already matched string */ -#define REFF 61 /* 0x3d Match already matched string, using /di rules. */ -#define REFFL 62 /* 0x3e Match already matched string, using /li rules. */ -#define REFFU 63 /* 0x3f Match already matched string, usng /ui. */ -#define REFFA 64 /* 0x40 Match already matched string, using /aai rules. */ -#define NREF 65 /* 0x41 Match some already matched string */ -#define NREFF 66 /* 0x42 Match already matched string, using /di rules. */ -#define NREFFL 67 /* 0x43 Match already matched string, using /li rules. */ -#define NREFFU 68 /* 0x44 Match already matched string, using /ui rules. */ -#define NREFFA 69 /* 0x45 Match already matched string, using /aai rules. */ -#define LONGJMP 70 /* 0x46 Jump far away. */ -#define BRANCHJ 71 /* 0x47 BRANCH with long offset. */ -#define IFMATCH 72 /* 0x48 Succeeds if the following matches; non-zero flags "f", next_off "o" means lookbehind assertion starting "f..(f-o)" characters before current */ -#define UNLESSM 73 /* 0x49 Fails if the following matches; non-zero flags "f", next_off "o" means lookbehind assertion starting "f..(f-o)" characters before current */ -#define SUSPEND 74 /* 0x4a "Independent" sub-RE. */ -#define IFTHEN 75 /* 0x4b Switch, should be preceded by switcher. */ -#define GROUPP 76 /* 0x4c Whether the group matched. */ -#define EVAL 77 /* 0x4d Execute some Perl code. */ -#define MINMOD 78 /* 0x4e Next operator is not greedy. */ -#define LOGICAL 79 /* 0x4f Next opcode should set the flag only. */ -#define RENUM 80 /* 0x50 Group with independently numbered parens. */ -#define TRIE 81 /* 0x51 Match many EXACT(F[ALU]?)? at once. flags==type */ -#define TRIEC 82 /* 0x52 Same as TRIE, but with embedded charclass data */ -#define AHOCORASICK 83 /* 0x53 Aho Corasick stclass. flags==type */ -#define AHOCORASICKC 84 /* 0x54 Same as AHOCORASICK, but with embedded charclass data */ -#define GOSUB 85 /* 0x55 recurse to paren arg1 at (signed) ofs arg2 */ -#define NGROUPP 86 /* 0x56 Whether the group matched. */ -#define INSUBP 87 /* 0x57 Whether we are in a specific recurse. */ -#define DEFINEP 88 /* 0x58 Never execute directly. */ -#define ENDLIKE 89 /* 0x59 Used only for the type field of verbs */ -#define OPFAIL 90 /* 0x5a Same as (?!), but with verb arg */ -#define ACCEPT 91 /* 0x5b Accepts the current matched string, with verbar */ -#define VERB 92 /* 0x5c Used only for the type field of verbs */ -#define PRUNE 93 /* 0x5d Pattern fails at this startpoint if no-backtracking through this */ -#define MARKPOINT 94 /* 0x5e Push the current location for rollback by cut. */ -#define SKIP 95 /* 0x5f On failure skip forward (to the mark) before retrying */ -#define COMMIT 96 /* 0x60 Pattern fails outright if backtracking through this */ -#define CUTGROUP 97 /* 0x61 On failure go to the next alternation in the group */ -#define KEEPS 98 /* 0x62 $& begins here. */ -#define LNBREAK 99 /* 0x63 generic newline pattern */ -#define OPTIMIZED 100 /* 0x64 Placeholder for dump. */ -#define PSEUDO 101 /* 0x65 Pseudo opcode for internal use. */ +#define ANYOFH 22 /* 0x16 Like ANYOF, but only has "High" matches, none in the bitmap; the flags field contains the lowest matchable UTF-8 start byte */ +#define ANYOFHb 23 /* 0x17 Like ANYOFH, but all matches share the same UTF-8 start byte, given in the flags field */ +#define ANYOFHr 24 /* 0x18 Like ANYOFH, but the flags field contains packed bounds for all matchable UTF-8 start bytes. */ +#define ANYOFHs 25 /* 0x19 Like ANYOFHb, but has a string field that gives the leading matchable UTF-8 bytes; flags field is len */ +#define ANYOFR 26 /* 0x1a Matches any character in the range given by its packed args: upper 12 bits is the max delta from the base lower 20; the flags field contains the lowest matchable UTF-8 start byte */ +#define ANYOFRb 27 /* 0x1b Like ANYOFR, but all matches share the same UTF-8 start byte, given in the flags field */ +#define ANYOFM 28 /* 0x1c Like ANYOF, but matches an invariant byte as determined by the mask and arg */ +#define NANYOFM 29 /* 0x1d complement of ANYOFM */ +#define POSIXD 30 /* 0x1e Some [[:class:]] under /d; the FLAGS field gives which one */ +#define POSIXL 31 /* 0x1f Some [[:class:]] under /l; the FLAGS field gives which one */ +#define POSIXU 32 /* 0x20 Some [[:class:]] under /u; the FLAGS field gives which one */ +#define POSIXA 33 /* 0x21 Some [[:class:]] under /a; the FLAGS field gives which one */ +#define NPOSIXD 34 /* 0x22 complement of POSIXD, [[:^class:]] */ +#define NPOSIXL 35 /* 0x23 complement of POSIXL, [[:^class:]] */ +#define NPOSIXU 36 /* 0x24 complement of POSIXU, [[:^class:]] */ +#define NPOSIXA 37 /* 0x25 complement of POSIXA, [[:^class:]] */ +#define CLUMP 38 /* 0x26 Match any extended grapheme cluster sequence */ +#define BRANCH 39 /* 0x27 Match this alternative, or the next... */ +#define EXACT 40 /* 0x28 Match this string (flags field is the length). */ +#define LEXACT 41 /* 0x29 Match this long string (preceded by length; flags unused). */ +#define EXACTL 42 /* 0x2a Like EXACT, but /l is in effect (used so locale-related warnings can be checked for) */ +#define EXACTF 43 /* 0x2b Like EXACT, but match using /id rules; (string not UTF-8, ASCII folded; non-ASCII not) */ +#define EXACTFL 44 /* 0x2c Like EXACT, but match using /il rules; (string not likely to be folded) */ +#define EXACTFU 45 /* 0x2d Like EXACT, but match using /iu rules; (string folded) */ +#define EXACTFAA 46 /* 0x2e Like EXACT, but match using /iaa rules; (string folded except in non-UTF8 patterns: MICRO, SHARP S; folded length <= unfolded) */ +#define EXACTFUP 47 /* 0x2f Like EXACT, but match using /iu rules; (string not UTF-8, folded except MICRO, SHARP S: hence Problematic) */ +#define EXACTFLU8 48 /* 0x30 Like EXACTFU, but use /il, UTF-8, (string is folded, and everything in it is above 255 */ +#define EXACTFAA_NO_TRIE 49 /* 0x31 Like EXACT, but match using /iaa rules (string not UTF-8, not guaranteed to be folded, not currently trie-able) */ +#define EXACT_REQ8 50 /* 0x32 Like EXACT, but only UTF-8 encoded targets can match */ +#define LEXACT_REQ8 51 /* 0x33 Like LEXACT, but only UTF-8 encoded targets can match */ +#define EXACTFU_REQ8 52 /* 0x34 Like EXACTFU, but only UTF-8 encoded targets can match */ +#define EXACTFU_S_EDGE 53 /* 0x35 /di rules, but nothing in it precludes /ui, except begins and/or ends with [Ss]; (string not UTF-8; compile-time only) */ +#define NOTHING 54 /* 0x36 Match empty string. */ +#define TAIL 55 /* 0x37 Match empty string. Can jump here from outside. */ +#define STAR 56 /* 0x38 Match this (simple) thing 0 or more times. */ +#define PLUS 57 /* 0x39 Match this (simple) thing 1 or more times. */ +#define CURLY 58 /* 0x3a Match this simple thing {n,m} times. */ +#define CURLYN 59 /* 0x3b Capture next-after-this simple thing */ +#define CURLYM 60 /* 0x3c Capture this medium-complex thing {n,m} times. */ +#define CURLYX 61 /* 0x3d Match this complex thing {n,m} times. */ +#define WHILEM 62 /* 0x3e Do curly processing and see if rest matches. */ +#define OPEN 63 /* 0x3f Mark this point in input as start of #n. */ +#define CLOSE 64 /* 0x40 Close corresponding OPEN of #n. */ +#define SROPEN 65 /* 0x41 Same as OPEN, but for script run */ +#define SRCLOSE 66 /* 0x42 Close preceding SROPEN */ +#define REF 67 /* 0x43 Match some already matched string */ +#define REFF 68 /* 0x44 Match already matched string, using /di rules. */ +#define REFFL 69 /* 0x45 Match already matched string, using /li rules. */ +#define REFFU 70 /* 0x46 Match already matched string, usng /ui. */ +#define REFFA 71 /* 0x47 Match already matched string, using /aai rules. */ +#define REFN 72 /* 0x48 Match some already matched string */ +#define REFFN 73 /* 0x49 Match already matched string, using /di rules. */ +#define REFFLN 74 /* 0x4a Match already matched string, using /li rules. */ +#define REFFUN 75 /* 0x4b Match already matched string, using /ui rules. */ +#define REFFAN 76 /* 0x4c Match already matched string, using /aai rules. */ +#define LONGJMP 77 /* 0x4d Jump far away. */ +#define BRANCHJ 78 /* 0x4e BRANCH with long offset. */ +#define IFMATCH 79 /* 0x4f Succeeds if the following matches; non-zero flags "f", next_off "o" means lookbehind assertion starting "f..(f-o)" characters before current */ +#define UNLESSM 80 /* 0x50 Fails if the following matches; non-zero flags "f", next_off "o" means lookbehind assertion starting "f..(f-o)" characters before current */ +#define SUSPEND 81 /* 0x51 "Independent" sub-RE. */ +#define IFTHEN 82 /* 0x52 Switch, should be preceded by switcher. */ +#define GROUPP 83 /* 0x53 Whether the group matched. */ +#define EVAL 84 /* 0x54 Execute some Perl code. */ +#define MINMOD 85 /* 0x55 Next operator is not greedy. */ +#define LOGICAL 86 /* 0x56 Next opcode should set the flag only. */ +#define RENUM 87 /* 0x57 Group with independently numbered parens. */ +#define TRIE 88 /* 0x58 Match many EXACT(F[ALU]?)? at once. flags==type */ +#define TRIEC 89 /* 0x59 Same as TRIE, but with embedded charclass data */ +#define AHOCORASICK 90 /* 0x5a Aho Corasick stclass. flags==type */ +#define AHOCORASICKC 91 /* 0x5b Same as AHOCORASICK, but with embedded charclass data */ +#define GOSUB 92 /* 0x5c recurse to paren arg1 at (signed) ofs arg2 */ +#define GROUPPN 93 /* 0x5d Whether the group matched. */ +#define INSUBP 94 /* 0x5e Whether we are in a specific recurse. */ +#define DEFINEP 95 /* 0x5f Never execute directly. */ +#define ENDLIKE 96 /* 0x60 Used only for the type field of verbs */ +#define OPFAIL 97 /* 0x61 Same as (?!), but with verb arg */ +#define ACCEPT 98 /* 0x62 Accepts the current matched string, with verbar */ +#define VERB 99 /* 0x63 Used only for the type field of verbs */ +#define PRUNE 100 /* 0x64 Pattern fails at this startpoint if no-backtracking through this */ +#define MARKPOINT 101 /* 0x65 Push the current location for rollback by cut. */ +#define SKIP 102 /* 0x66 On failure skip forward (to the mark) before retrying */ +#define COMMIT 103 /* 0x67 Pattern fails outright if backtracking through this */ +#define CUTGROUP 104 /* 0x68 On failure go to the next alternation in the group */ +#define KEEPS 105 /* 0x69 $& begins here. */ +#define LNBREAK 106 /* 0x6a generic newline pattern */ +#define OPTIMIZED 107 /* 0x6b Placeholder for dump. */ +#define PSEUDO 108 /* 0x6c Pseudo opcode for internal use. */ +#define REGEX_SET 109 /* 0x6d Regex set, temporary node used in pre-optimization compilation */ /* ------------ States ------------- */ #define TRIE_next (REGNODE_MAX + 1) /* state for TRIE */ #define TRIE_next_fail (REGNODE_MAX + 2) /* state for TRIE */ @@ -184,6 +192,11 @@ EXTCONST U8 PL_regkind[] = { ANYOF, /* ANYOFL */ ANYOF, /* ANYOFPOSIXL */ ANYOF, /* ANYOFH */ + ANYOF, /* ANYOFHb */ + ANYOF, /* ANYOFHr */ + ANYOF, /* ANYOFHs */ + ANYOFR, /* ANYOFR */ + ANYOFR, /* ANYOFRb */ ANYOFM, /* ANYOFM */ ANYOFM, /* NANYOFM */ POSIXD, /* POSIXD */ @@ -197,6 +210,7 @@ EXTCONST U8 PL_regkind[] = { CLUMP, /* CLUMP */ BRANCH, /* BRANCH */ EXACT, /* EXACT */ + EXACT, /* LEXACT */ EXACT, /* EXACTL */ EXACT, /* EXACTF */ EXACT, /* EXACTFL */ @@ -205,8 +219,9 @@ EXTCONST U8 PL_regkind[] = { EXACT, /* EXACTFUP */ EXACT, /* EXACTFLU8 */ EXACT, /* EXACTFAA_NO_TRIE */ - EXACT, /* EXACT_ONLY8 */ - EXACT, /* EXACTFU_ONLY8 */ + EXACT, /* EXACT_REQ8 */ + EXACT, /* LEXACT_REQ8 */ + EXACT, /* EXACTFU_REQ8 */ EXACT, /* EXACTFU_S_EDGE */ NOTHING, /* NOTHING */ NOTHING, /* TAIL */ @@ -226,11 +241,11 @@ EXTCONST U8 PL_regkind[] = { REF, /* REFFL */ REF, /* REFFU */ REF, /* REFFA */ - REF, /* NREF */ - REF, /* NREFF */ - REF, /* NREFFL */ - REF, /* NREFFU */ - REF, /* NREFFA */ + REF, /* REFN */ + REF, /* REFFN */ + REF, /* REFFLN */ + REF, /* REFFUN */ + REF, /* REFFAN */ LONGJMP, /* LONGJMP */ BRANCHJ, /* BRANCHJ */ BRANCHJ, /* IFMATCH */ @@ -247,7 +262,7 @@ EXTCONST U8 PL_regkind[] = { TRIE, /* AHOCORASICK */ TRIE, /* AHOCORASICKC */ GOSUB, /* GOSUB */ - NGROUPP, /* NGROUPP */ + GROUPPN, /* GROUPPN */ INSUBP, /* INSUBP */ DEFINEP, /* DEFINEP */ ENDLIKE, /* ENDLIKE */ @@ -263,6 +278,7 @@ EXTCONST U8 PL_regkind[] = { LNBREAK, /* LNBREAK */ NOTHING, /* OPTIMIZED */ PSEUDO, /* PSEUDO */ + REGEX_SET, /* REGEX_SET */ /* ------------ States ------------- */ TRIE, /* TRIE_next */ TRIE, /* TRIE_next_fail */ @@ -335,6 +351,11 @@ static const U8 regarglen[] = { EXTRA_SIZE(struct regnode_charclass), /* ANYOFL */ EXTRA_SIZE(struct regnode_charclass_posixl), /* ANYOFPOSIXL */ EXTRA_SIZE(struct regnode_1), /* ANYOFH */ + EXTRA_SIZE(struct regnode_1), /* ANYOFHb */ + EXTRA_SIZE(struct regnode_1), /* ANYOFHr */ + EXTRA_SIZE(struct regnode_1), /* ANYOFHs */ + EXTRA_SIZE(struct regnode_1), /* ANYOFR */ + EXTRA_SIZE(struct regnode_1), /* ANYOFRb */ EXTRA_SIZE(struct regnode_1), /* ANYOFM */ EXTRA_SIZE(struct regnode_1), /* NANYOFM */ 0, /* POSIXD */ @@ -348,6 +369,7 @@ static const U8 regarglen[] = { 0, /* CLUMP */ 0, /* BRANCH */ 0, /* EXACT */ + EXTRA_SIZE(struct regnode_1), /* LEXACT */ 0, /* EXACTL */ 0, /* EXACTF */ 0, /* EXACTFL */ @@ -356,8 +378,9 @@ static const U8 regarglen[] = { 0, /* EXACTFUP */ 0, /* EXACTFLU8 */ 0, /* EXACTFAA_NO_TRIE */ - 0, /* EXACT_ONLY8 */ - 0, /* EXACTFU_ONLY8 */ + 0, /* EXACT_REQ8 */ + EXTRA_SIZE(struct regnode_1), /* LEXACT_REQ8 */ + 0, /* EXACTFU_REQ8 */ 0, /* EXACTFU_S_EDGE */ 0, /* NOTHING */ 0, /* TAIL */ @@ -377,11 +400,11 @@ static const U8 regarglen[] = { EXTRA_SIZE(struct regnode_1), /* REFFL */ EXTRA_SIZE(struct regnode_1), /* REFFU */ EXTRA_SIZE(struct regnode_1), /* REFFA */ - EXTRA_SIZE(struct regnode_1), /* NREF */ - EXTRA_SIZE(struct regnode_1), /* NREFF */ - EXTRA_SIZE(struct regnode_1), /* NREFFL */ - EXTRA_SIZE(struct regnode_1), /* NREFFU */ - EXTRA_SIZE(struct regnode_1), /* NREFFA */ + EXTRA_SIZE(struct regnode_1), /* REFN */ + EXTRA_SIZE(struct regnode_1), /* REFFN */ + EXTRA_SIZE(struct regnode_1), /* REFFLN */ + EXTRA_SIZE(struct regnode_1), /* REFFUN */ + EXTRA_SIZE(struct regnode_1), /* REFFAN */ EXTRA_SIZE(struct regnode_1), /* LONGJMP */ EXTRA_SIZE(struct regnode_1), /* BRANCHJ */ EXTRA_SIZE(struct regnode_1), /* IFMATCH */ @@ -398,7 +421,7 @@ static const U8 regarglen[] = { EXTRA_SIZE(struct regnode_1), /* AHOCORASICK */ EXTRA_SIZE(struct regnode_charclass), /* AHOCORASICKC */ EXTRA_SIZE(struct regnode_2L), /* GOSUB */ - EXTRA_SIZE(struct regnode_1), /* NGROUPP */ + EXTRA_SIZE(struct regnode_1), /* GROUPPN */ EXTRA_SIZE(struct regnode_1), /* INSUBP */ EXTRA_SIZE(struct regnode_1), /* DEFINEP */ 0, /* ENDLIKE */ @@ -414,6 +437,7 @@ static const U8 regarglen[] = { 0, /* LNBREAK */ 0, /* OPTIMIZED */ 0, /* PSEUDO */ + EXTRA_SIZE(struct regnode_p), /* REGEX_SET */ }; /* reg_off_by_arg[] - Which argument holds the offset to the next node */ @@ -442,6 +466,11 @@ static const char reg_off_by_arg[] = { 0, /* ANYOFL */ 0, /* ANYOFPOSIXL */ 0, /* ANYOFH */ + 0, /* ANYOFHb */ + 0, /* ANYOFHr */ + 0, /* ANYOFHs */ + 0, /* ANYOFR */ + 0, /* ANYOFRb */ 0, /* ANYOFM */ 0, /* NANYOFM */ 0, /* POSIXD */ @@ -455,6 +484,7 @@ static const char reg_off_by_arg[] = { 0, /* CLUMP */ 0, /* BRANCH */ 0, /* EXACT */ + 0, /* LEXACT */ 0, /* EXACTL */ 0, /* EXACTF */ 0, /* EXACTFL */ @@ -463,8 +493,9 @@ static const char reg_off_by_arg[] = { 0, /* EXACTFUP */ 0, /* EXACTFLU8 */ 0, /* EXACTFAA_NO_TRIE */ - 0, /* EXACT_ONLY8 */ - 0, /* EXACTFU_ONLY8 */ + 0, /* EXACT_REQ8 */ + 0, /* LEXACT_REQ8 */ + 0, /* EXACTFU_REQ8 */ 0, /* EXACTFU_S_EDGE */ 0, /* NOTHING */ 0, /* TAIL */ @@ -484,11 +515,11 @@ static const char reg_off_by_arg[] = { 0, /* REFFL */ 0, /* REFFU */ 0, /* REFFA */ - 0, /* NREF */ - 0, /* NREFF */ - 0, /* NREFFL */ - 0, /* NREFFU */ - 0, /* NREFFA */ + 0, /* REFN */ + 0, /* REFFN */ + 0, /* REFFLN */ + 0, /* REFFUN */ + 0, /* REFFAN */ 1, /* LONGJMP */ 1, /* BRANCHJ */ 1, /* IFMATCH */ @@ -505,7 +536,7 @@ static const char reg_off_by_arg[] = { 0, /* AHOCORASICK */ 0, /* AHOCORASICKC */ 0, /* GOSUB */ - 0, /* NGROUPP */ + 0, /* GROUPPN */ 0, /* INSUBP */ 0, /* DEFINEP */ 0, /* ENDLIKE */ @@ -521,6 +552,7 @@ static const char reg_off_by_arg[] = { 0, /* LNBREAK */ 0, /* OPTIMIZED */ 0, /* PSEUDO */ + 0, /* REGEX_SET */ }; #endif /* REG_COMP_C */ @@ -555,85 +587,93 @@ EXTCONST char * const PL_reg_name[] = { "ANYOFL", /* 0x14 */ "ANYOFPOSIXL", /* 0x15 */ "ANYOFH", /* 0x16 */ - "ANYOFM", /* 0x17 */ - "NANYOFM", /* 0x18 */ - "POSIXD", /* 0x19 */ - "POSIXL", /* 0x1a */ - "POSIXU", /* 0x1b */ - "POSIXA", /* 0x1c */ - "NPOSIXD", /* 0x1d */ - "NPOSIXL", /* 0x1e */ - "NPOSIXU", /* 0x1f */ - "NPOSIXA", /* 0x20 */ - "CLUMP", /* 0x21 */ - "BRANCH", /* 0x22 */ - "EXACT", /* 0x23 */ - "EXACTL", /* 0x24 */ - "EXACTF", /* 0x25 */ - "EXACTFL", /* 0x26 */ - "EXACTFU", /* 0x27 */ - "EXACTFAA", /* 0x28 */ - "EXACTFUP", /* 0x29 */ - "EXACTFLU8", /* 0x2a */ - "EXACTFAA_NO_TRIE", /* 0x2b */ - "EXACT_ONLY8", /* 0x2c */ - "EXACTFU_ONLY8", /* 0x2d */ - "EXACTFU_S_EDGE", /* 0x2e */ - "NOTHING", /* 0x2f */ - "TAIL", /* 0x30 */ - "STAR", /* 0x31 */ - "PLUS", /* 0x32 */ - "CURLY", /* 0x33 */ - "CURLYN", /* 0x34 */ - "CURLYM", /* 0x35 */ - "CURLYX", /* 0x36 */ - "WHILEM", /* 0x37 */ - "OPEN", /* 0x38 */ - "CLOSE", /* 0x39 */ - "SROPEN", /* 0x3a */ - "SRCLOSE", /* 0x3b */ - "REF", /* 0x3c */ - "REFF", /* 0x3d */ - "REFFL", /* 0x3e */ - "REFFU", /* 0x3f */ - "REFFA", /* 0x40 */ - "NREF", /* 0x41 */ - "NREFF", /* 0x42 */ - "NREFFL", /* 0x43 */ - "NREFFU", /* 0x44 */ - "NREFFA", /* 0x45 */ - "LONGJMP", /* 0x46 */ - "BRANCHJ", /* 0x47 */ - "IFMATCH", /* 0x48 */ - "UNLESSM", /* 0x49 */ - "SUSPEND", /* 0x4a */ - "IFTHEN", /* 0x4b */ - "GROUPP", /* 0x4c */ - "EVAL", /* 0x4d */ - "MINMOD", /* 0x4e */ - "LOGICAL", /* 0x4f */ - "RENUM", /* 0x50 */ - "TRIE", /* 0x51 */ - "TRIEC", /* 0x52 */ - "AHOCORASICK", /* 0x53 */ - "AHOCORASICKC", /* 0x54 */ - "GOSUB", /* 0x55 */ - "NGROUPP", /* 0x56 */ - "INSUBP", /* 0x57 */ - "DEFINEP", /* 0x58 */ - "ENDLIKE", /* 0x59 */ - "OPFAIL", /* 0x5a */ - "ACCEPT", /* 0x5b */ - "VERB", /* 0x5c */ - "PRUNE", /* 0x5d */ - "MARKPOINT", /* 0x5e */ - "SKIP", /* 0x5f */ - "COMMIT", /* 0x60 */ - "CUTGROUP", /* 0x61 */ - "KEEPS", /* 0x62 */ - "LNBREAK", /* 0x63 */ - "OPTIMIZED", /* 0x64 */ - "PSEUDO", /* 0x65 */ + "ANYOFHb", /* 0x17 */ + "ANYOFHr", /* 0x18 */ + "ANYOFHs", /* 0x19 */ + "ANYOFR", /* 0x1a */ + "ANYOFRb", /* 0x1b */ + "ANYOFM", /* 0x1c */ + "NANYOFM", /* 0x1d */ + "POSIXD", /* 0x1e */ + "POSIXL", /* 0x1f */ + "POSIXU", /* 0x20 */ + "POSIXA", /* 0x21 */ + "NPOSIXD", /* 0x22 */ + "NPOSIXL", /* 0x23 */ + "NPOSIXU", /* 0x24 */ + "NPOSIXA", /* 0x25 */ + "CLUMP", /* 0x26 */ + "BRANCH", /* 0x27 */ + "EXACT", /* 0x28 */ + "LEXACT", /* 0x29 */ + "EXACTL", /* 0x2a */ + "EXACTF", /* 0x2b */ + "EXACTFL", /* 0x2c */ + "EXACTFU", /* 0x2d */ + "EXACTFAA", /* 0x2e */ + "EXACTFUP", /* 0x2f */ + "EXACTFLU8", /* 0x30 */ + "EXACTFAA_NO_TRIE", /* 0x31 */ + "EXACT_REQ8", /* 0x32 */ + "LEXACT_REQ8", /* 0x33 */ + "EXACTFU_REQ8", /* 0x34 */ + "EXACTFU_S_EDGE", /* 0x35 */ + "NOTHING", /* 0x36 */ + "TAIL", /* 0x37 */ + "STAR", /* 0x38 */ + "PLUS", /* 0x39 */ + "CURLY", /* 0x3a */ + "CURLYN", /* 0x3b */ + "CURLYM", /* 0x3c */ + "CURLYX", /* 0x3d */ + "WHILEM", /* 0x3e */ + "OPEN", /* 0x3f */ + "CLOSE", /* 0x40 */ + "SROPEN", /* 0x41 */ + "SRCLOSE", /* 0x42 */ + "REF", /* 0x43 */ + "REFF", /* 0x44 */ + "REFFL", /* 0x45 */ + "REFFU", /* 0x46 */ + "REFFA", /* 0x47 */ + "REFN", /* 0x48 */ + "REFFN", /* 0x49 */ + "REFFLN", /* 0x4a */ + "REFFUN", /* 0x4b */ + "REFFAN", /* 0x4c */ + "LONGJMP", /* 0x4d */ + "BRANCHJ", /* 0x4e */ + "IFMATCH", /* 0x4f */ + "UNLESSM", /* 0x50 */ + "SUSPEND", /* 0x51 */ + "IFTHEN", /* 0x52 */ + "GROUPP", /* 0x53 */ + "EVAL", /* 0x54 */ + "MINMOD", /* 0x55 */ + "LOGICAL", /* 0x56 */ + "RENUM", /* 0x57 */ + "TRIE", /* 0x58 */ + "TRIEC", /* 0x59 */ + "AHOCORASICK", /* 0x5a */ + "AHOCORASICKC", /* 0x5b */ + "GOSUB", /* 0x5c */ + "GROUPPN", /* 0x5d */ + "INSUBP", /* 0x5e */ + "DEFINEP", /* 0x5f */ + "ENDLIKE", /* 0x60 */ + "OPFAIL", /* 0x61 */ + "ACCEPT", /* 0x62 */ + "VERB", /* 0x63 */ + "PRUNE", /* 0x64 */ + "MARKPOINT", /* 0x65 */ + "SKIP", /* 0x66 */ + "COMMIT", /* 0x67 */ + "CUTGROUP", /* 0x68 */ + "KEEPS", /* 0x69 */ + "LNBREAK", /* 0x6a */ + "OPTIMIZED", /* 0x6b */ + "PSEUDO", /* 0x6c */ + "REGEX_SET", /* 0x6d */ /* ------------ States ------------- */ "TRIE_next", /* REGNODE_MAX +0x01 */ "TRIE_next_fail", /* REGNODE_MAX +0x02 */ @@ -758,7 +798,7 @@ EXTCONST U8 PL_varies[] __attribute__deprecated__; #else EXTCONST U8 PL_varies[] __attribute__deprecated__ = { CLUMP, BRANCH, STAR, PLUS, CURLY, CURLYN, CURLYM, CURLYX, WHILEM, REF, - REFF, REFFL, REFFU, REFFA, NREF, NREFF, NREFFL, NREFFU, NREFFA, + REFF, REFFL, REFFU, REFFA, REFN, REFFN, REFFLN, REFFUN, REFFAN, BRANCHJ, SUSPEND, IFTHEN, 0 }; @@ -768,7 +808,7 @@ EXTCONST U8 PL_varies[] __attribute__deprecated__ = { EXTCONST U8 PL_varies_bitmask[]; #else EXTCONST U8 PL_varies_bitmask[] = { - 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0xFE, 0xF0, 0xBF, 0x0C, 0x00, 0x00, 0x00 + 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x7F, 0xF8, 0x5F, 0x06, 0x00, 0x00, 0x00 }; #endif /* DOINIT */ @@ -780,9 +820,9 @@ EXTCONST U8 PL_varies_bitmask[] = { EXTCONST U8 PL_simple[] __attribute__deprecated__; #else EXTCONST U8 PL_simple[] __attribute__deprecated__ = { - REG_ANY, SANY, ANYOF, ANYOFD, ANYOFL, ANYOFPOSIXL, ANYOFH, ANYOFM, - NANYOFM, POSIXD, POSIXL, POSIXU, POSIXA, NPOSIXD, NPOSIXL, NPOSIXU, - NPOSIXA, + REG_ANY, SANY, ANYOF, ANYOFD, ANYOFL, ANYOFPOSIXL, ANYOFH, ANYOFHb, + ANYOFHr, ANYOFHs, ANYOFR, ANYOFRb, ANYOFM, NANYOFM, POSIXD, POSIXL, + POSIXU, POSIXA, NPOSIXD, NPOSIXL, NPOSIXU, NPOSIXA, REGEX_SET, 0 }; #endif /* DOINIT */ @@ -791,7 +831,7 @@ EXTCONST U8 PL_simple[] __attribute__deprecated__ = { EXTCONST U8 PL_simple_bitmask[]; #else EXTCONST U8 PL_simple_bitmask[] = { - 0x00, 0x00, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + 0x00, 0x00, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20 }; #endif /* DOINIT */ diff --git a/Master/tlpkg/tlperl/lib/CORE/scope.h b/Master/tlpkg/tlperl/lib/CORE/scope.h index c6f4bc43505..483bc5d700c 100644 --- a/Master/tlpkg/tlperl/lib/CORE/scope.h +++ b/Master/tlpkg/tlperl/lib/CORE/scope.h @@ -153,26 +153,26 @@ /* =head1 Callback Functions -=for apidoc Ams||SAVETMPS +=for apidoc Amns||SAVETMPS Opening bracket for temporaries on a callback. See C> and L. -=for apidoc Ams||FREETMPS +=for apidoc Amns||FREETMPS Closing bracket for temporaries on a callback. See C> and L. -=for apidoc Ams||ENTER +=for apidoc Amns||ENTER Opening bracket on a callback. See C> and L. -=for apidoc Ams||LEAVE +=for apidoc Amns||LEAVE Closing bracket on a callback. See C> and L. -=for apidoc Ams||ENTER_with_name(name) +=for apidoc Ams||ENTER_with_name|"name" Same as C>, but when debugging is enabled it also associates the given literal string with the new scope. -=for apidoc Ams||LEAVE_with_name(name) +=for apidoc Ams||LEAVE_with_name|"name" Same as C>, but when debugging is enabled it first checks that the scope has the given name. C must be a literal string. diff --git a/Master/tlpkg/tlperl/lib/CORE/stadtx_hash.h b/Master/tlpkg/tlperl/lib/CORE/stadtx_hash.h index bd09c2f9389..5ee879485df 100644 --- a/Master/tlpkg/tlperl/lib/CORE/stadtx_hash.h +++ b/Master/tlpkg/tlperl/lib/CORE/stadtx_hash.h @@ -43,58 +43,6 @@ #define STMT_END while(0) #endif -#ifndef STADTX_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN -/* STADTX_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN only matters if nothing has defined U8TO64_LE etc, - * and when built with Perl these should be defined before this file is loaded. - */ -#ifdef U32_ALIGNMENT_REQUIRED -#define STADTX_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN 0 -#else -#define STADTX_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN 1 -#endif -#endif - -#ifndef U8TO64_LE -#if STADTX_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN -#define U8TO64_LE(ptr) (*((const U64 *)(ptr))) -#else -#define U8TO64_LE(ptr) (\ - (U64)(ptr)[7] << 56 | \ - (U64)(ptr)[6] << 48 | \ - (U64)(ptr)[5] << 40 | \ - (U64)(ptr)[4] << 32 | \ - (U64)(ptr)[3] << 24 | \ - (U64)(ptr)[2] << 16 | \ - (U64)(ptr)[1] << 8 | \ - (U64)(ptr)[0] \ -) -#endif -#endif - -#ifndef U8TO32_LE -#if STADTX_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN -#define U8TO32_LE(ptr) (*((const U32 *)(ptr))) -#else -#define U8TO32_LE(ptr) (\ - (U32)(ptr)[3] << 24 | \ - (U32)(ptr)[2] << 16 | \ - (U32)(ptr)[1] << 8 | \ - (U32)(ptr)[0] \ -) -#endif -#endif - -#ifndef U8TO16_LE -#if STADTX_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN -#define U8TO16_LE(ptr) (*((const U16 *)(ptr))) -#else -#define U8TO16_LE(ptr) (\ - (U16)(ptr)[1] << 8 | \ - (U16)(ptr)[0] \ -) -#endif -#endif - /* Find best way to ROTL32/ROTL64 */ #if defined(_MSC_VER) #include /* Microsoft put _rotl declaration in here */ diff --git a/Master/tlpkg/tlperl/lib/CORE/sv.h b/Master/tlpkg/tlperl/lib/CORE/sv.h index 3a648e49712..8c1356682ec 100644 --- a/Master/tlpkg/tlperl/lib/CORE/sv.h +++ b/Master/tlpkg/tlperl/lib/CORE/sv.h @@ -15,7 +15,7 @@ /* =head1 SV Flags -=for apidoc AmU||svtype +=for apidoc AmnU||svtype An enum of flags for Perl types. These are found in the file F in the C enum. Test these flags with the C macro. @@ -72,52 +72,52 @@ hold C or a string. C is a superset of C and C C is similar. C can hold anything C can hold, but it can, but does not have to, be blessed or magical. -=for apidoc AmU||SVt_NULL +=for apidoc AmnU||SVt_NULL Type flag for scalars. See L. -=for apidoc AmU||SVt_IV +=for apidoc AmnU||SVt_IV Type flag for scalars. See L. -=for apidoc AmU||SVt_NV +=for apidoc AmnU||SVt_NV Type flag for scalars. See L. -=for apidoc AmU||SVt_PV +=for apidoc AmnU||SVt_PV Type flag for scalars. See L. -=for apidoc AmU||SVt_PVIV +=for apidoc AmnU||SVt_PVIV Type flag for scalars. See L. -=for apidoc AmU||SVt_PVNV +=for apidoc AmnU||SVt_PVNV Type flag for scalars. See L. -=for apidoc AmU||SVt_PVMG +=for apidoc AmnU||SVt_PVMG Type flag for scalars. See L. -=for apidoc AmU||SVt_INVLIST -Type flag for scalars. See L. +=for apidoc CmnU||SVt_INVLIST +Type flag for scalars. See L. -=for apidoc AmU||SVt_REGEXP +=for apidoc AmnU||SVt_REGEXP Type flag for regular expressions. See L. -=for apidoc AmU||SVt_PVGV +=for apidoc AmnU||SVt_PVGV Type flag for typeglobs. See L. -=for apidoc AmU||SVt_PVLV +=for apidoc AmnU||SVt_PVLV Type flag for scalars. See L. -=for apidoc AmU||SVt_PVAV +=for apidoc AmnU||SVt_PVAV Type flag for arrays. See L. -=for apidoc AmU||SVt_PVHV +=for apidoc AmnU||SVt_PVHV Type flag for hashes. See L. -=for apidoc AmU||SVt_PVCV +=for apidoc AmnU||SVt_PVCV Type flag for subroutines. See L. -=for apidoc AmU||SVt_PVFM +=for apidoc AmnU||SVt_PVFM Type flag for formats. See L. -=for apidoc AmU||SVt_PVIO +=for apidoc AmnU||SVt_PVIO Type flag for I/O objects. See L. =cut @@ -149,6 +149,9 @@ typedef enum { SVt_PVCV, /* 13 */ SVt_PVFM, /* 14 */ SVt_PVIO, /* 15 */ + /* 16-31: Unused, though one should be reserved for a + * freed sv, if the other 3 bits below the flags ones + * get allocated */ SVt_LAST /* keep last in enum. used to size arrays */ } svtype; @@ -157,10 +160,10 @@ typedef enum { * tables are in perl.h. There are also two affected names tables in dump.c, * one in B.xs, and 'bodies_by_type[]' in sv.c. * - * The bits that match 0xf0 are CURRENTLY UNUSED, except that 0xFF means a - * freed SV. The bits above that are for flags, like SVf_IOK */ + * The bits that match 0xe0 are CURRENTLY UNUSED + * The bits above that are for flags, like SVf_IOK */ -#define SVt_MASK 0xf /* smallest bitmask that covers all types */ +#define SVt_MASK 0x1f /* smallest bitmask that covers all types */ #ifndef PERL_CORE /* Fast Boyer Moore tables are now stored in magic attached to PVMGs */ @@ -272,18 +275,18 @@ struct p5rx { Returns the value of the object's reference count. Exposed to perl code via Internals::SvREFCNT(). -=for apidoc Am|SV*|SvREFCNT_inc|SV* sv +=for apidoc SvREFCNT_inc Increments the reference count of the given SV, returning the SV. -All of the following C* macros are optimized versions of +All of the following C* are optimized versions of C, and can be replaced with C. -=for apidoc Am|SV*|SvREFCNT_inc_NN|SV* sv +=for apidoc SvREFCNT_inc_NN Same as C, but can only be used if you know C is not C. Since we don't have to check the NULLness, it's faster and smaller. -=for apidoc Am|void|SvREFCNT_inc_void|SV* sv +=for apidoc SvREFCNT_inc_void Same as C, but can only be used if you don't need the return value. The macro doesn't need to return a meaningful value. @@ -312,10 +315,10 @@ value, and you know that C is not C. 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 +=for apidoc SvREFCNT_dec Decrements the reference count of the given SV. C may be C. -=for apidoc Am|void|SvREFCNT_dec_NN|SV* sv +=for apidoc SvREFCNT_dec_NN Same as C, but can only be used if you know C is not C. Since we don't have to check the NULLness, it's faster and smaller. @@ -334,10 +337,10 @@ perform the upgrade if necessary. See C>. #define SvFLAGS(sv) (sv)->sv_flags #define SvREFCNT(sv) (sv)->sv_refcnt -#define SvREFCNT_inc(sv) S_SvREFCNT_inc(MUTABLE_SV(sv)) +#define SvREFCNT_inc(sv) Perl_SvREFCNT_inc(MUTABLE_SV(sv)) #define SvREFCNT_inc_simple(sv) SvREFCNT_inc(sv) -#define SvREFCNT_inc_NN(sv) S_SvREFCNT_inc_NN(MUTABLE_SV(sv)) -#define SvREFCNT_inc_void(sv) S_SvREFCNT_inc_void(MUTABLE_SV(sv)) +#define SvREFCNT_inc_NN(sv) Perl_SvREFCNT_inc_NN(MUTABLE_SV(sv)) +#define SvREFCNT_inc_void(sv) Perl_SvREFCNT_inc_void(MUTABLE_SV(sv)) /* These guys don't need the curly blocks */ #define SvREFCNT_inc_simple_void(sv) STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END @@ -345,8 +348,8 @@ perform the upgrade if necessary. See C>. #define SvREFCNT_inc_void_NN(sv) (void)(++SvREFCNT(MUTABLE_SV(sv))) #define SvREFCNT_inc_simple_void_NN(sv) (void)(++SvREFCNT(MUTABLE_SV(sv))) -#define SvREFCNT_dec(sv) S_SvREFCNT_dec(aTHX_ MUTABLE_SV(sv)) -#define SvREFCNT_dec_NN(sv) S_SvREFCNT_dec_NN(aTHX_ MUTABLE_SV(sv)) +#define SvREFCNT_dec(sv) Perl_SvREFCNT_dec(aTHX_ MUTABLE_SV(sv)) +#define SvREFCNT_dec_NN(sv) Perl_SvREFCNT_dec_NN(aTHX_ MUTABLE_SV(sv)) #define SVTYPEMASK 0xff #define SvTYPE(sv) ((svtype)((sv)->sv_flags & SVTYPEMASK)) @@ -429,7 +432,7 @@ perform the upgrade if necessary. See C>. #define PRIVSHIFT 4 /* (SVp_?OK >> PRIVSHIFT) == SVf_?OK */ -/* SVf_AMAGIC means that the stash *may* have have overload methods. It's +/* SVf_AMAGIC means that the stash *may* have overload methods. It's * set each time a function is compiled into a stash, and is reset by the * overload code when called for the first time and finds that there are * no overload methods. Note that this used to be set on the object; but @@ -699,12 +702,12 @@ Tells an SV that it is an unsigned integer and disables all other C 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 C or C. +range of both an IV and a UV may be flagged as either C or C. =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 C or C. +range of both an IV and a UV may be flagged as either C or C. =for apidoc Am|bool|SvIOK_notUV|SV* sv Returns a boolean indicating whether the SV contains a signed integer. @@ -766,6 +769,9 @@ Only use when you are sure C is true. See also C>. Returns the raw value in the SV's UV slot, without checks or conversions. Only use when you are sure C is true. See also C>. +=for apidoc AmD|UV|SvUVXx|SV* sv +This is an unnecessary synonym for L + =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 C is true. See also C>. @@ -1078,8 +1084,8 @@ C does nothing. #define SvPADTMP_on(sv) (SvFLAGS(sv) |= SVs_PADTMP) #define SvPADTMP_off(sv) (SvFLAGS(sv) &= ~SVs_PADTMP) -#define SvPADSTALE_on(sv) S_SvPADSTALE_on(MUTABLE_SV(sv)) -#define SvPADSTALE_off(sv) S_SvPADSTALE_off(MUTABLE_SV(sv)) +#define SvPADSTALE_on(sv) Perl_SvPADSTALE_on(MUTABLE_SV(sv)) +#define SvPADSTALE_off(sv) Perl_SvPADSTALE_off(MUTABLE_SV(sv)) #define SvTEMP(sv) (SvFLAGS(sv) & SVs_TEMP) #define SvTEMP_on(sv) (SvFLAGS(sv) |= SVs_TEMP) @@ -1092,7 +1098,7 @@ C does nothing. /* =for apidoc Am|U32|SvREADONLY|SV* sv Returns true if the argument is readonly, otherwise returns false. -Exposed to to perl code via Internals::SvREADONLY(). +Exposed to perl code via Internals::SvREADONLY(). =for apidoc Am|U32|SvREADONLY_on|SV* sv Mark an object as readonly. Exactly what this means depends on the object @@ -1170,7 +1176,11 @@ object type. Exposed to perl code via Internals::SvREADONLY(). # define SvMAGIC(sv) (0 + *(assert_(SvTYPE(sv) >= SVt_PVMG) &((XPVMG*) SvANY(sv))->xmg_u.xmg_magic)) # define SvSTASH(sv) (0 + *(assert_(SvTYPE(sv) >= SVt_PVMG) &((XPVMG*) SvANY(sv))->xmg_stash)) #else +# ifdef PERL_CORE +# define SvLEN(sv) (0 + ((XPV*) SvANY(sv))->xpv_len) +# else # define SvLEN(sv) ((XPV*) SvANY(sv))->xpv_len +# endif # define SvEND(sv) ((sv)->sv_u.svu_pv + ((XPV*)SvANY(sv))->xpv_cur) # if defined (DEBUGGING) && defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) @@ -1183,6 +1193,16 @@ object type. Exposed to perl code via Internals::SvREADONLY(). && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))); \ &((_svpvx)->sv_u.svu_pv); \ })) +# ifdef PERL_CORE +# define SvCUR(sv) \ + ({ const SV *const _svcur = (const SV *)(sv); \ + assert(PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]); \ + assert(!isGV_with_GP(_svcur)); \ + assert(!(SvTYPE(_svcur) == SVt_PVIO \ + && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))); \ + (((XPV*) MUTABLE_PTR(SvANY(_svcur)))->xpv_cur); \ + }) +# else # define SvCUR(sv) \ (*({ const SV *const _svcur = (const SV *)(sv); \ assert(PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]); \ @@ -1191,6 +1211,7 @@ object type. Exposed to perl code via Internals::SvREADONLY(). && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))); \ &(((XPV*) MUTABLE_PTR(SvANY(_svcur)))->xpv_cur); \ })) +# endif # define SvIVX(sv) \ (*({ const SV *const _svivx = (const SV *)(sv); \ assert(PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]); \ @@ -1586,27 +1607,59 @@ false. See C> for a defined/undefined test. Handles 'get' magic unless the scalar is already C, C or C (the public, not the private flags). +See C> for a version which guarantees to evaluate C only once. + =for apidoc Am|bool|SvTRUE_nomg|SV* sv Returns a boolean indicating whether Perl would evaluate the SV as true or false. See C> for a defined/undefined test. Does not handle 'get' magic. +=for apidoc Am|bool|SvTRUEx|SV* sv +Returns a boolean indicating whether Perl would evaluate the SV as true or +false. See C> for a defined/undefined test. Handles 'get' magic +unless the scalar is already C, C or C (the public, not the +private flags). + +This form guarantees to evaluate C only once. Only use this if C is an +expression with side effects, otherwise use the more efficient C. + =for apidoc Am|char*|SvPVutf8_force|SV* sv|STRLEN len Like C, but converts C to UTF-8 first if necessary. =for apidoc Am|char*|SvPVutf8|SV* sv|STRLEN len Like C, but converts C to UTF-8 first if necessary. +=for apidoc Am|char*|SvPVutf8_nomg|SV* sv|STRLEN len +Like C, but does not process get magic. + +=for apidoc Am|char*|SvPVutf8_or_null|SV* sv|STRLEN len +Like C, but when C is undef, returns C. + +=for apidoc Am|char*|SvPVutf8_or_null_nomg|SV* sv|STRLEN len +Like C, but does not process get magic. + =for apidoc Am|char*|SvPVutf8_nolen|SV* sv Like C, but converts C to UTF-8 first if necessary. =for apidoc Am|char*|SvPVbyte_force|SV* sv|STRLEN len -Like C, but converts C to byte representation first if necessary. +Like C, but converts C to byte representation first if +necessary. If the SV cannot be downgraded from UTF-8, this croaks. =for apidoc Am|char*|SvPVbyte|SV* sv|STRLEN len -Like C, but converts C to byte representation first if necessary. +Like C, but converts C to byte representation first if necessary. If +the SV cannot be downgraded from UTF-8, this croaks. + +=for apidoc Am|char*|SvPVbyte_nomg|SV* sv|STRLEN len +Like C, but does not process get magic. + +=for apidoc Am|char*|SvPVbyte_or_null|SV* sv|STRLEN len +Like C, but when C is undef, returns C. + +=for apidoc Am|char*|SvPVbyte_or_null_nomg|SV* sv|STRLEN len +Like C, but does not process get magic. =for apidoc Am|char*|SvPVbyte_nolen|SV* sv -Like C, but converts C to byte representation first if necessary. +Like C, but converts C to byte representation first if +necessary. If the SV cannot be downgraded from UTF-8, this croaks. =for apidoc Am|char*|SvPVutf8x_force|SV* sv|STRLEN len Like C, but converts C to UTF-8 first if necessary. @@ -1621,12 +1674,12 @@ otherwise. =for apidoc Am|char*|SvPVbytex_force|SV* sv|STRLEN len Like C, but converts C to byte representation first if necessary. Guarantees to evaluate C only once; use the more efficient C -otherwise. +otherwise. If the SV cannot be downgraded from UTF-8, this croaks. =for apidoc Am|char*|SvPVbytex|SV* sv|STRLEN len Like C, but converts C to byte representation first if necessary. Guarantees to evaluate C only once; use the more efficient C -otherwise. +otherwise. If the SV cannot be downgraded from UTF-8, this croaks. =for apidoc Am|U32|SvIsCOW|SV* sv Returns a U32 value indicating whether the SV is Copy-On-Write (either shared @@ -1726,6 +1779,20 @@ Like C but doesn't process magic. (SvPOK_utf8_nog(sv) \ ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pvutf8(sv, &lp)) +#define SvPVutf8_or_null(sv, lp) \ + (SvPOK_utf8_nog(sv) \ + ? ((lp = SvCUR(sv)), SvPVX(sv)) : (SvGETMAGIC(sv), SvOK(sv)) \ + ? sv_2pvutf8_flags(sv, &lp, 0) : ((lp = 0), NULL)) + +#define SvPVutf8_nomg(sv, lp) \ + (SvPOK_utf8_nog(sv) \ + ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pvutf8_flags(sv, &lp, 0)) + +#define SvPVutf8_or_null_nomg(sv, lp) \ + (SvPOK_utf8_nog(sv) \ + ? ((lp = SvCUR(sv)), SvPVX(sv)) : SvOK(sv) \ + ? sv_2pvutf8_flags(sv, &lp, 0) : ((lp = 0), NULL)) + #define SvPVutf8_force(sv, lp) \ (SvPOK_utf8_pure_nogthink(sv) \ ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_pvutf8n_force(sv, &lp)) @@ -1740,6 +1807,20 @@ Like C but doesn't process magic. (SvPOK_byte_nog(sv) \ ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pvbyte(sv, &lp)) +#define SvPVbyte_or_null(sv, lp) \ + (SvPOK_byte_nog(sv) \ + ? ((lp = SvCUR(sv)), SvPVX(sv)) : (SvGETMAGIC(sv), SvOK(sv)) \ + ? sv_2pvbyte_flags(sv, &lp, 0) : ((lp = 0), NULL)) + +#define SvPVbyte_nomg(sv, lp) \ + (SvPOK_byte_nog(sv) \ + ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pvbyte_flags(sv, &lp, 0)) + +#define SvPVbyte_or_null_nomg(sv, lp) \ + (SvPOK_utf8_nog(sv) \ + ? ((lp = SvCUR(sv)), SvPVX(sv)) : SvOK(sv) \ + ? sv_2pvbyte_flags(sv, &lp, 0) : ((lp = 0), NULL)) + #define SvPVbyte_force(sv, lp) \ (SvPOK_byte_pure_nogthink(sv) \ ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_pvbyten_force(sv, &lp)) @@ -1758,7 +1839,7 @@ Like C but doesn't process magic. #define SvPVutf8x_force(sv, lp) sv_pvutf8n_force(sv, &lp) #define SvPVbytex_force(sv, lp) sv_pvbyten_force(sv, &lp) -#define SvTRUE(sv) (LIKELY(sv) && SvTRUE_NN(sv)) +#define SvTRUE(sv) Perl_SvTRUE(aTHX_ sv) #define SvTRUE_nomg(sv) (LIKELY(sv) && SvTRUE_nomg_NN(sv)) #define SvTRUE_NN(sv) (SvGETMAGIC(sv), SvTRUE_nomg_NN(sv)) #define SvTRUE_nomg_NN(sv) (SvTRUE_common(sv, sv_2bool_nomg(sv))) @@ -1915,6 +1996,8 @@ Like C but doesn't process magic. #define sv_pvn_force_nomg(sv, lp) sv_pvn_force_flags(sv, lp, 0) #define sv_utf8_upgrade_flags(sv, flags) sv_utf8_upgrade_flags_grow(sv, flags, 0) #define sv_utf8_upgrade_nomg(sv) sv_utf8_upgrade_flags(sv, 0) +#define sv_utf8_downgrade(sv, fail_ok) sv_utf8_downgrade_flags(sv, fail_ok, SV_GMAGIC) +#define sv_utf8_downgrade_nomg(sv, fail_ok) sv_utf8_downgrade_flags(sv, fail_ok, 0) #define sv_catpvn_nomg(dsv, sstr, slen) sv_catpvn_flags(dsv, sstr, slen, 0) #define sv_catpv_nomg(dsv, sstr) sv_catpv_flags(dsv, sstr, 0) #define sv_setsv(dsv, ssv) \ @@ -1929,7 +2012,9 @@ Like C but doesn't process magic. #define sv_copypv_nomg(dsv, ssv) sv_copypv_flags(dsv, ssv, 0) #define sv_2pv(sv, lp) sv_2pv_flags(sv, lp, SV_GMAGIC) #define sv_2pv_nolen(sv) sv_2pv(sv, 0) +#define sv_2pvbyte(sv, lp) sv_2pvbyte_flags(sv, lp, SV_GMAGIC) #define sv_2pvbyte_nolen(sv) sv_2pvbyte(sv, 0) +#define sv_2pvutf8(sv, lp) sv_2pvutf8_flags(sv, lp, SV_GMAGIC) #define sv_2pvutf8_nolen(sv) sv_2pvutf8(sv, 0) #define sv_2pv_nomg(sv, lp) sv_2pv_flags(sv, lp, 0) #define sv_pvn_force(sv, lp) sv_pvn_force_flags(sv, lp, SV_GMAGIC) diff --git a/Master/tlpkg/tlperl/lib/CORE/sys/errno2.h b/Master/tlpkg/tlperl/lib/CORE/sys/errno2.h index 3ca85e33ae7..09d42c6b82d 100644 --- a/Master/tlpkg/tlperl/lib/CORE/sys/errno2.h +++ b/Master/tlpkg/tlperl/lib/CORE/sys/errno2.h @@ -3,12 +3,7 @@ /* Too late to include winsock2.h if winsock.h has already been loaded */ #ifndef _WINSOCKAPI_ -# if defined(UNDER_CE) && UNDER_CE <= 300 - /* winsock2 only for 4.00+ */ -# include -# else -# include -# endif +# include #endif /* Ensure all the Exxx constants required by convert_wsa_error_to_errno() in diff --git a/Master/tlpkg/tlperl/lib/CORE/sys/socket.h b/Master/tlpkg/tlperl/lib/CORE/sys/socket.h index d658913f8b4..5374a806f53 100644 --- a/Master/tlpkg/tlperl/lib/CORE/sys/socket.h +++ b/Master/tlpkg/tlperl/lib/CORE/sys/socket.h @@ -14,161 +14,8 @@ /* Too late to include winsock2.h if winsock.h has already been loaded */ #ifndef _WINSOCKAPI_ -# if defined(UNDER_CE) && UNDER_CE <= 300 - /* winsock2 only for 4.00+ */ -# include -# else -# include - /* We need to include ws2tcpip.h to get the IPv6 definitions. - * It will in turn include wspiapi.h. Later versions of that - * header in the Windows SDK generate C++ template code that - * can't be compiled with VC6 anymore. The _WSPIAPI_COUNTOF - * definition below prevents wspiapi.h from generating this - * incompatible code. - */ -# define _WSPIAPI_COUNTOF(_Array) (sizeof(_Array) / sizeof(_Array[0])) -# include - -# ifndef SIO_GET_INTERFACE_LIST_EX - -# ifndef MSG_WAITALL -# define MSG_WAITALL 0x8 -# endif - - /* The ws2tcpip.h header included in VC6 doesn't define the - * sin6_scope_id member of sockaddr_in6. We define our own - * version and redefine sockaddr_in6 to point to this one - * instead for compiling e.g. Socket.xs. - */ - - struct my_sockaddr_in6 { - short sin6_family; /* AF_INET6 */ - u_short sin6_port; /* Transport level port number */ - u_long sin6_flowinfo; /* IPv6 flow information */ - struct in_addr6 sin6_addr; /* IPv6 address */ - u_long sin6_scope_id; /* set of interfaces for a scope */ - }; -# define sockaddr_in6 my_sockaddr_in6 - - /* Provide implementations of IN6ADDR_SETANY() and IN6ADDR_SETLOOPBACK - * that also initialize the sin6_scope_id field. - */ -# undef IN6ADDR_SETANY -# define IN6ADDR_SETANY(x) {\ -(x)->sin6_family = AF_INET6; \ -(x)->sin6_port = 0; \ -(x)->sin6_flowinfo = 0; \ -*((u_long *)((x)->sin6_addr.s6_addr) ) = 0; \ -*((u_long *)((x)->sin6_addr.s6_addr) + 1) = 0; \ -*((u_long *)((x)->sin6_addr.s6_addr) + 2) = 0; \ -*((u_long *)((x)->sin6_addr.s6_addr) + 3) = 0; \ -(x)->sin6_scope_id = 0; \ -} - -# undef IN6ADDR_SETLOOPBACK -# define IN6ADDR_SETLOOPBACK(x) {\ -(x)->sin6_family = AF_INET6; \ -(x)->sin6_port = 0; \ -(x)->sin6_flowinfo = 0; \ -*((u_long *)((x)->sin6_addr.s6_addr) ) = 0; \ -*((u_long *)((x)->sin6_addr.s6_addr) + 1) = 0; \ -*((u_long *)((x)->sin6_addr.s6_addr) + 2) = 0; \ -*((u_long *)((x)->sin6_addr.s6_addr) + 3) = 1; \ -(x)->sin6_scope_id = 0; \ -} - -# ifndef IPV6_HDRINCL -# define IPV6_HDRINCL 2 -# endif -# ifndef IPV6_UNICAST_HOPS -# define IPV6_UNICAST_HOPS 4 -# endif -# ifndef IPV6_MULTICAST_IF -# define IPV6_MULTICAST_IF 9 -# endif -# ifndef IPV6_MULTICAST_HOPS -# define IPV6_MULTICAST_HOPS 10 -# endif -# ifndef IPV6_MULTICAST_LOOP -# define IPV6_MULTICAST_LOOP 11 -# endif -# ifndef IPV6_ADD_MEMBERSHIP -# define IPV6_ADD_MEMBERSHIP 12 -# endif -# ifndef IPV6_DROP_MEMBERSHIP -# define IPV6_DROP_MEMBERSHIP 13 -# endif -# ifndef IPV6_JOIN_GROUP -# define IPV6_JOIN_GROUP IPV6_ADD_MEMBERSHIP -# endif -# ifndef IPV6_LEAVE_GROUP -# define IPV6_LEAVE_GROUP IPV6_DROP_MEMBERSHIP -# endif -# ifndef IPV6_PKTINFO -# define IPV6_PKTINFO 19 -# endif -# ifndef IPV6_HOPLIMIT -# define IPV6_HOPLIMIT 21 -# endif -# ifndef IPV6_PROTECTION_LEVEL -# define IPV6_PROTECTION_LEVEL 23 -# endif - - /* The ws2tcpip.h header included in MinGW includes ipv6_mreq already */ -# ifndef __GNUC__ - typedef struct ipv6_mreq { - struct in_addr6 ipv6mr_multiaddr; - unsigned int ipv6mr_interface; - } IPV6_MREQ; -# endif - -# ifndef EAI_AGAIN -# define EAI_AGAIN WSATRY_AGAIN -# endif -# ifndef EAI_BADFLAGS -# define EAI_BADFLAGS WSAEINVAL -# endif -# ifndef EAI_FAIL -# define EAI_FAIL WSANO_RECOVERY -# endif -# ifndef EAI_FAMILY -# define EAI_FAMILY WSAEAFNOSUPPORT -# endif -# ifndef EAI_MEMORY -# define EAI_MEMORY WSA_NOT_ENOUGH_MEMORY -# endif -# ifndef EAI_NODATA -# define EAI_NODATA WSANO_DATA -# endif -# ifndef EAI_NONAME -# define EAI_NONAME WSAHOST_NOT_FOUND -# endif -# ifndef EAI_SERVICE -# define EAI_SERVICE WSATYPE_NOT_FOUND -# endif -# ifndef EAI_SOCKTYPE -# define EAI_SOCKTYPE WSAESOCKTNOSUPPORT -# endif - -# ifndef NI_NOFQDN -# define NI_NOFQDN 0x01 -# endif -# ifndef NI_NUMERICHOST -# define NI_NUMERICHOST 0x02 -# endif -# ifndef NI_NAMEREQD -# define NI_NAMEREQD 0x04 -# endif -# ifndef NI_NUMERICSERV -# define NI_NUMERICSERV 0x08 -# endif -# ifndef NI_DGRAM -# define NI_DGRAM 0x10 -# endif - -# endif - -# endif +# include +# include #endif /* Early Platform SDKs have an incorrect definition of EAI_NODATA */ diff --git a/Master/tlpkg/tlperl/lib/CORE/time64.h b/Master/tlpkg/tlperl/lib/CORE/time64.h index c0657665e94..b86e7716020 100644 --- a/Master/tlpkg/tlperl/lib/CORE/time64.h +++ b/Master/tlpkg/tlperl/lib/CORE/time64.h @@ -53,17 +53,4 @@ struct TM64 { struct TM *Perl_gmtime64_r (const Time64_T *, struct TM *); struct TM *Perl_localtime64_r (const Time64_T *, struct TM *); - -/* Not everyone has gm/localtime_r(), provide a replacement */ -#ifdef HAS_LOCALTIME_R -# define LOCALTIME_R(clock, result) (L_R_TZSET localtime_r(clock, result)) -#else -# define LOCALTIME_R(clock, result) (L_R_TZSET S_localtime_r(clock, result)) -#endif -#ifdef HAS_GMTIME_R -# define GMTIME_R(clock, result) gmtime_r(clock, result) -#else -# define GMTIME_R(clock, result) S_gmtime_r(clock, result) -#endif - #endif diff --git a/Master/tlpkg/tlperl/lib/CORE/uconfig.h b/Master/tlpkg/tlperl/lib/CORE/uconfig.h index 9341deef18a..7d3db32309a 100644 --- a/Master/tlpkg/tlperl/lib/CORE/uconfig.h +++ b/Master/tlpkg/tlperl/lib/CORE/uconfig.h @@ -346,7 +346,7 @@ /* HAS_REGCOMP: * This symbol, if defined, indicates that the regcomp() routine is - * available to do some regular patern matching (usually on POSIX.2 + * available to do some regular pattern matching (usually on POSIX.2 * conforming systems). */ #define HAS_REGCOMP /* POSIX.2 */ @@ -1229,8 +1229,8 @@ * 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 "/usr/local/lib/perl5/5.30/unknown" / **/ -/*#define ARCHLIB_EXP "/usr/local/lib/perl5/5.30/unknown" / **/ +/*#define ARCHLIB "/usr/local/lib/perl5/5.32/unknown" / **/ +/*#define ARCHLIB_EXP "/usr/local/lib/perl5/5.32/unknown" / **/ /* BIN: * This symbol holds the path of the bin directory where the package will @@ -1283,8 +1283,8 @@ * 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 "/usr/local/lib/perl5/5.30" /**/ -#define PRIVLIB_EXP "/usr/local/lib/perl5/5.30" /**/ +#define PRIVLIB "/usr/local/lib/perl5/5.32" /**/ +#define PRIVLIB_EXP "/usr/local/lib/perl5/5.32" /**/ /* SITEARCH: * This symbol contains the name of the private library for this package. @@ -1301,8 +1301,8 @@ * 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 "/usr/local/lib/perl5/5.30/unknown" / **/ -/*#define SITEARCH_EXP "/usr/local/lib/perl5/5.30/unknown" / **/ +/*#define SITEARCH "/usr/local/lib/perl5/5.32/unknown" / **/ +/*#define SITEARCH_EXP "/usr/local/lib/perl5/5.32/unknown" / **/ /* SITELIB: * This symbol contains the name of the private library for this package. @@ -1324,8 +1324,8 @@ * 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 "/usr/local/lib/perl5/5.30" /**/ -#define SITELIB_EXP "/usr/local/lib/perl5/5.30" /**/ +#define SITELIB "/usr/local/lib/perl5/5.32" /**/ +#define SITELIB_EXP "/usr/local/lib/perl5/5.32" /**/ #define SITELIB_STEM "/usr/local/lib/perl5" /**/ /* PERL_VENDORARCH: @@ -1456,6 +1456,10 @@ /* HASATTRIBUTE_WARN_UNUSED_RESULT: * Can we handle GCC attribute for warning on unused results */ +/* HASATTRIBUTE_ALWAYS_INLINE: + * Can we handle GCC attribute for functions that should always be + * inlined. + */ /*#define HASATTRIBUTE_DEPRECATED / **/ /*#define HASATTRIBUTE_FORMAT / **/ /*#define PRINTF_FORMAT_NULL_OK / **/ @@ -1465,6 +1469,7 @@ /*#define HASATTRIBUTE_PURE / **/ /*#define HASATTRIBUTE_UNUSED / **/ /*#define HASATTRIBUTE_WARN_UNUSED_RESULT / **/ +/*#define HASATTRIBUTE_ALWAYS_INLINE / **/ /* HAS_BACKTRACE: * This symbol, if defined, indicates that the backtrace() routine is @@ -1904,6 +1909,10 @@ * This symbol, if defined, indicates the availability of * struct sockaddr_in6; */ +/* HAS_SOCKADDR_STORAGE: + * This symbol, if defined, indicates the availability of + * struct sockaddr_storage; + */ /* HAS_SIN6_SCOPE_ID: * This symbol, if defined, indicates that the struct sockaddr_in6 * structure has a member called sin6_scope_id. @@ -1928,6 +1937,7 @@ /*#define HAS_SOCKETPAIR / **/ /*#define HAS_SOCKADDR_SA_LEN / **/ /*#define HAS_SOCKADDR_IN6 / **/ +/*#define HAS_SOCKADDR_STORAGE / **/ /*#define HAS_SIN6_SCOPE_ID / **/ /*#define HAS_IP_MREQ / **/ /*#define HAS_IP_MREQ_SOURCE / **/ @@ -4196,11 +4206,11 @@ /*#define USE_64_BIT_ALL / **/ #endif -/* USE_CBACKTRACE: +/* USE_C_BACKTRACE: * This symbol, if defined, indicates that Perl should * be built with support for backtrace. */ -/*#define USE_CBACKTRACE / **/ +/*#define USE_C_BACKTRACE / **/ /* USE_DTRACE: * This symbol, if defined, indicates that Perl should @@ -5087,6 +5097,12 @@ /*#define HAS_TTYNAME_R / **/ #define TTYNAME_R_PROTO 0 /**/ +/* HAS_WCRTOMB: + * This symbol, if defined, indicates that the wcrtomb routine is + * available to convert a wide character into a multi-byte character. + */ +/*#define HAS_WCRTOMB / **/ + /* I_MACH_CTHREADS: * This symbol, if defined, indicates to the C program that it should * include . @@ -5244,6 +5260,6 @@ #endif /* Generated from: - * 6608de918c3c876975f74b684da2536ab1ee23459783d691ae02ce2526a497a7 config_h.SH - * 2aaf18b9277e180fc5e5d60290ecb0c91fcac3531bd8825e5687a212daa586e9 uconfig.sh + * 14796a77fb4ae3335f5e589a98445bc6e838b688194f6f112537495f0814f5d5 config_h.SH + * 6e8898de349ca5bd5102aa12be91e6884110157cb9267e661f6fc797bbd54649 uconfig.sh * ex: set ro: */ diff --git a/Master/tlpkg/tlperl/lib/CORE/uni_keywords.h b/Master/tlpkg/tlperl/lib/CORE/uni_keywords.h index 8b629ae93fe..a36d8bc4488 100644 --- a/Master/tlpkg/tlperl/lib/CORE/uni_keywords.h +++ b/Master/tlpkg/tlperl/lib/CORE/uni_keywords.h @@ -4,18 +4,15 @@ * Any changes made here will be lost! */ -/* The precision to use in "%.*e" formats */ -#define PL_E_FORMAT_PRECISION 2 - #define MPH_VALt I16 /* -rows: 7016 +rows: 7264 seed: 1348825708 -full length of keys: 98325 -blob length: 9964 -ref length: 56128 -data size: 66092 (%67.22) +full length of keys: 101931 +blob length: 10351 +ref length: 58112 +data size: 68463 (%67.17) */ STATIC const unsigned char mph_blob[] = @@ -29,151 +26,157 @@ STATIC const unsigned char mph_blob[] = "icsymbolsandpunctuationmathematicalalphanumericsymbolscjkunifiedi" "deographsextensionacjkunifiedideographsextensionbcjkunifiedideogr" "aphsextensionccjkunifiedideographsextensiondcjkunifiedideographse" - "xtensionecjkunifiedideographsextensionfcuneiformnumbersandpunctua" - "tionenclosedalphanumericsupplementsymbolsandpictographsextendedae" - "nclosedideographicsupplementmiscellaneoussymbolsandarrowsphonetic" - "extensionssupplementsupplementaryprivateuseareaasupplementarypriv" - "ateuseareabvariationselectorssupplementalphabeticpresentationform" - "sancientgreekmusicalnotationenclosedcjklettersandmonthsopticalcha" - "racterrecognitionprependedconcatenationmark=changeswhennfkccasefo" - "lded=conditionaljapanesestarterdefaultignorablecodepoint=halfwidt" - "handfullwidthformskatakanaphoneticextensionsconsonantinitialpostf" - "ixedfullcompositionexclusion=superscriptsandsubscriptssymbolsandp" - "ictographsextaarabicpresentationformsaarabicpresentationformsbcan" - "onicalcombiningclass=cjksymbolsandpunctuationcombiningmarksforsym" - "bolsconsonantsucceedingrephahighprivateusesurrogatesindicposition" - "alcategory=supsymbolsandpictographsbyzantinemusicalsymbolsconsona" - "ntprecedingrephageometricshapesextendedhangulcompatibilityjamolat" - "inextendedadditionalshorthandformatcontrolssupplementalpunctuatio" - "nbidipairedbrackettype=changeswhencasefolded=changeswhencasemappe" - "d=changeswhenlowercased=changeswhentitlecased=changeswhenuppercas" - "ed=cjkcompatideographssupcommonindicnumberformsdiacriticalsforsym" - "bolsearlydynasticcuneiformindicsyllabiccategory=logicalorderexcep" - "tion=miscellaneoustechnicalnoncharactercodepoint=spacingmodifierl" - "etterstransportandmapsymbolscjkcompatibilityformscjkradicalssuppl" - "ementcyrillicsupplementarygraphemeclusterbreak=hanifirohingyakinn" - "ayainscriptionalparthianmeeteimayekextensionspopdirectionalisolat" - "esinhalaarchaicnumbersyijinghexagramsymbolsanatolianhieroglyphsco" - "nnectorpunctuationconsonantplaceholderconsonantwithstackerglagoli" - "ticsupplementinscriptionalpahlavilefttorightembeddingnyiakengpuac" - "huehmongpopdirectionalformatrighttoleftembeddingterminalpunctuati" - "on=topandbottomandrightverticalorientation=ancientgreeknumbersbra" - "hmijoiningnumberburushaskiyehbarreeconsonantheadlettercountingrod" - "numeralsegyptianhieroglyphsenclosedalphanumsuphanguljamoextendeda" - "hanguljamoextendedbhangulsyllabletype=idstrinaryoperator=lefttori" - "ghtoverridemeroitichieroglyphsmodifiertonelettersmongoliansupplem" - "entottomansiyaqnumbersrighttoleftoverridesundanesesupplementsuppl" - "ementalarrowsasupplementalarrowsbsupplementalarrowscattachedabove" - "rightcherokeesupplementcombininghalfmarksconsonantsubjoinedcoptic" - "epactnumbersdecompositiontype=devanagariextendedethiopicsupplemen" - "teuropeanterminatorfirststrongisolategeneralpunctuationgeorgiansu" - "pplementidsbinaryoperator=initialpunctuationlatinextadditionallef" - "ttorightisolateornamentaldingbatsparagraphseparatorpatternwhitesp" - "ace=regionalindicator=righttoleftisolateruminumeralsymbolssmallka" - "naextensiontaixuanjingsymbolstopandleftandrighttransformedrotated" - "transformeduprightvariationselector=alchemicalsymbolsattachedbelo" - "wleftcanadiansyllabicscaucasianalbanianconsonantprefixedcyrillice" - "xtendedacyrillicextendedbcyrillicextendedcethiopicextendedaeurope" - "anseparatorindicsiyaqnumbersletterlikesymbolsmanichaeandhamedhman" - "ichaeanhundredmanichaeanthamedhscriptextensions=sentenceterminal=" - "smallformvariantssuttonsignwritingunifiedideograph=arabicsuppleme" - "ntbopomofoextendedcantillationmarkcloseparenthesisclosepunctuatio" - "ncypriotsyllabaryfinalpunctuationgeneralcategory=georgianextended" - "halfandfullformshanifirohingyapahighpusurrogatesinvisiblestackerl" - "atin1supplementlinearbideogramslinearbsyllabarymanichaeandalethma" - "nichaeanlamedhmanichaeansamekhmanichaeantwentymiscmathsymbolsamis" - "cmathsymbolsbmyanmarextendedamyanmarextendedbotherpunctuationsegm" - "entseparatorsupmathoperatorssyllablemodifiersyriacsupplementtangu" - "tcomponentsvowelindependentarabicextendedabamumsupplementboundary" - "neutralbraillepatternscommonseparatorconsonantkillerconsonantmedi" - "alcontingentbreakcontrolpicturescurrencysymbolsdashpunctuationdia" - "criticalsextdiacriticalssupeastasianwidth=graphemeextend=hangulsy" - "llablesimperialaramaiclowercaselettermanichaeanalephmanichaeangim" - "elmanichaeansadhemanichaeanzayinmeroiticcursivemiscpictographsmod" - "ifyingletternfkcquickcheck=nfkdquickcheck=oldnortharabianoldsouth" - "arabianopenpunctuationregistershiftertamilsupplementtitlecaselett" - "eruppercaselettervedicextensionsvisualorderleftzanabazarsquareanc" - "ientsymbolsasciihexdigit=carriagereturncaseignorable=cjkcompatfor" - "mscomplexcontextconsonantfinaleuropeannumbergeminationmarkgreekan" - "dcoptichamzaonhehgoalhighsurrogateskanasupplementkangxiradicalsla" - "tinextendedblatinextendedclatinextendeddlatinextendedemandatorybr" - "eakmanichaeanayinmanichaeanbethmanichaeanfivemanichaeanhethmanich" - "aeankaphmanichaeanqophmanichaeanreshmanichaeantethmanichaeanyodhm" - "odifiersymbolnfcquickcheck=nfdquickcheck=nojoininggroupnonspacing" - "markpatternsyntax=phoneticextsuppostfixnumericpsalterpahlaviquota" - "tionmark=sentencebreak=spaceseparatorsuppunctuationtehmarbutagoal" - "voweldependent1000000000000aegeannumbersbidimirrored=blockelement" - "sbottomandleftconsonantdeaddecimalnumberenclosingmarkgraphemebase" - "=greekextendediotasubscriptipaextensionsjoininggroup=kanaextended" - "alineseparatorlowsurrogatesmalayalamlllamalayalamnnnamanichaeanme" - "mmanichaeannunmanichaeanonemanichaeantawmanichaeantenmanichaeanwa" - "wmayannumeralsmisctechnicalnotapplicablenumericvalue=prefixnumeri" - "cverticalformsalphabeticpfarabicletterarabicnumberbidicontrol=bre" - "aksymbolschesssymbolscyrillicextacyrillicextbcyrillicextcethiopic" - "extaextendnumletfinalsemkathglueafterzwjgunjalagondihebrewletteri" - "deographic=infixnumericjoincontrol=joiningtype=khmersymbolsletter" - "numbermahjongtilesmalayalambhamalayalamllamalayalamngamalayalamnn" - "amalayalamnyamalayalamssamalayalamttamanichaeanpemasaramgondimath" - "alphanummendekikakuinoncanonicalnotreorderednumberjoinernumericty" - "pe=oldhungarianotherneutralphaistosdiscplayingcardsrightjoiningtr" - "ailingjamoxidcontinue=africannoonalphabetic=breakbeforecasedlette" - "rdeprecated=dominotilesdoubleabovedoublebelowdoublequotedualjoini" - "ngexclamationinseparableinseperablejoincausingkanavoicingkatakana" - "extleadingjamoleftjoininglvtsyllablemalayalamjamalayalamramedefai" - "drinmiscsymbolsmyanmarextamyanmarextbnandinagariotherletterothern" - "umberothersymbolpahawhhmongrohingyayehsinglequotesoftdotted=soras" - "ompengstraightwawsuperandsubsylotinagritopandrighttransparentyehw" + "xtensionecjkunifiedideographsextensionfcjkunifiedideographsextens" + "iongcuneiformnumbersandpunctuationenclosedalphanumericsupplements" + "ymbolsandpictographsextendedaenclosedideographicsupplementmiscell" + "aneoussymbolsandarrowsphoneticextensionssupplementsupplementarypr" + "ivateuseareaasupplementaryprivateuseareabvariationselectorssupple" + "mentalphabeticpresentationformsancientgreekmusicalnotationenclose" + "dcjklettersandmonthsopticalcharacterrecognitionprependedconcatena" + "tionmark=changeswhennfkccasefolded=conditionaljapanesestarterdefa" + "ultignorablecodepoint=halfwidthandfullwidthformskatakanaphonetice" + "xtensionsconsonantinitialpostfixedfullcompositionexclusion=supers" + "criptsandsubscriptssymbolsandpictographsextasymbolsforlegacycompu" + "tingarabicpresentationformsaarabicpresentationformsbcanonicalcomb" + "iningclass=cjksymbolsandpunctuationcombiningmarksforsymbolsconson" + "antsucceedingrephahighprivateusesurrogatesindicpositionalcategory" + "=supsymbolsandpictographsbyzantinemusicalsymbolsconsonantprecedin" + "grephageometricshapesextendedhangulcompatibilityjamolatinextended" + "additionalshorthandformatcontrolssupplementalpunctuationbidipaire" + "dbrackettype=changeswhencasefolded=changeswhencasemapped=changesw" + "henlowercased=changeswhentitlecased=changeswhenuppercased=cjkcomp" + "atideographssupcommonindicnumberformsdiacriticalsforsymbolsearlyd" + "ynasticcuneiformindicsyllabiccategory=logicalorderexception=misce" + "llaneoustechnicalnoncharactercodepoint=spacingmodifierletterstran" + "sportandmapsymbolscjkcompatibilityformscjkradicalssupplementcyril" + "licsupplementaryextendedpictographic=graphemeclusterbreak=hanifir" + "ohingyakinnayainscriptionalparthianmeeteimayekextensionspopdirect" + "ionalisolatesinhalaarchaicnumbersyijinghexagramsymbolsanatolianhi" + "eroglyphsconnectorpunctuationconsonantplaceholderconsonantwithsta" + "ckerglagoliticsupplementinscriptionalpahlavilefttorightembeddingn" + "yiakengpuachuehmongpopdirectionalformatrighttoleftembeddingtermin" + "alpunctuation=topandbottomandrightverticalorientation=ancientgree" + "knumbersbrahmijoiningnumberburushaskiyehbarreeconsonantheadletter" + "countingrodnumeralsegyptianhieroglyphsenclosedalphanumsuphangulja" + "moextendedahanguljamoextendedbhangulsyllabletype=idstrinaryoperat" + "or=lefttorightoverridemeroitichieroglyphsmodifiertonelettersmongo" + "liansupplementottomansiyaqnumbersrighttoleftoverridesundanesesupp" + "lementsupplementalarrowsasupplementalarrowsbsupplementalarrowscto" + "pandbottomandleftattachedaboverightcherokeesupplementcombininghal" + "fmarksconsonantsubjoinedcopticepactnumbersdecompositiontype=devan" + "agariextendedemojimodifierbase=emojipresentation=ethiopicsuppleme" + "nteuropeanterminatorfirststrongisolategeneralpunctuationgeorgians" + "upplementidsbinaryoperator=initialpunctuationlatinextadditionalle" + "fttorightisolateornamentaldingbatsparagraphseparatorpatternwhites" + "pace=regionalindicator=righttoleftisolateruminumeralsymbolssmallk" + "anaextensiontaixuanjingsymbolstopandleftandrighttransformedrotate" + "dtransformeduprightvariationselector=alchemicalsymbolsattachedbel" + "owleftcanadiansyllabicscaucasianalbanianconsonantprefixedcyrillic" + "extendedacyrillicextendedbcyrillicextendedcethiopicextendedaeurop" + "eanseparatoridentifierstatus=indicsiyaqnumberskhitansmallscriptle" + "tterlikesymbolsmanichaeandhamedhmanichaeanhundredmanichaeanthamed" + "hscriptextensions=sentenceterminal=smallformvariantssuttonsignwri" + "tingunifiedideograph=arabicsupplementbopomofoextendedcantillation" + "markcloseparenthesisclosepunctuationcypriotsyllabaryfinalpunctuat" + "iongeneralcategory=georgianextendedhalfandfullformshanifirohingya" + "pahighpusurrogatesinvisiblestackerlatin1supplementlinearbideogram" + "slinearbsyllabarymanichaeandalethmanichaeanlamedhmanichaeansamekh" + "manichaeantwentymiscmathsymbolsamiscmathsymbolsbmyanmarextendedam" + "yanmarextendedbotherpunctuationsegmentseparatorsupmathoperatorssy" + "llablemodifiersyriacsupplementtangutcomponentstangutsupplementvow" + "elindependentarabicextendedabamumsupplementboundaryneutralbraille" + "patternscommonseparatorconsonantkillerconsonantmedialcontingentbr" + "eakcontrolpicturescurrencysymbolsdashpunctuationdiacriticalsextdi" + "acriticalssupeastasianwidth=emojicomponent=graphemeextend=hanguls" + "yllablesidentifiertype=imperialaramaiclowercaselettermanichaeanal" + "ephmanichaeangimelmanichaeansadhemanichaeanzayinmeroiticcursivemi" + "scpictographsmodifyingletternfkcquickcheck=nfkdquickcheck=oldnort" + "harabianoldsoutharabianopenpunctuationregistershiftertamilsupplem" + "enttitlecaseletteruppercaselettervedicextensionsvisualorderleftza" + "nabazarsquareancientsymbolsasciihexdigit=carriagereturncaseignora" + "ble=cjkcompatformscomplexcontextconsonantfinalemojimodifier=europ" + "eannumbergeminationmarkgreekandcoptichamzaonhehgoalhighsurrogates" + "kanasupplementkangxiradicalslatinextendedblatinextendedclatinexte" + "ndeddlatinextendedelisusupplementmandatorybreakmanichaeanayinmani" + "chaeanbethmanichaeanfivemanichaeanhethmanichaeankaphmanichaeanqop" + "hmanichaeanreshmanichaeantethmanichaeanyodhmodifiersymbolnfcquick" + "check=nfdquickcheck=nojoininggroupnonspacingmarkpatternsyntax=pho" + "neticextsuppostfixnumericpsalterpahlaviquotationmark=sentencebrea" + "k=spaceseparatorsuppunctuationtehmarbutagoalvoweldependent1000000" + "000000aegeannumbersbidimirrored=blockelementsconsonantdeaddecimal" + "numberenclosingmarkgraphemebase=greekextendediotasubscriptipaexte" + "nsionsjoininggroup=kanaextendedalineseparatorlowsurrogatesmalayal" + "amlllamalayalamnnnamanichaeanmemmanichaeannunmanichaeanonemanicha" + "eantawmanichaeantenmanichaeanwawmayannumeralsmisctechnicalnotappl" + "icablenumericvalue=prefixnumericverticalformsalphabeticpfarabicle" + "tterarabicnumberbidicontrol=breaksymbolschesssymbolscyrillicextac" + "yrillicextbcyrillicextcethiopicextaextendnumletfinalsemkathglueaf" + "terzwjgunjalagondihebrewletterideographic=infixnumericjoincontrol" + "=joiningtype=khmersymbolsletternumbermahjongtilesmalayalambhamala" + "yalamllamalayalamngamalayalamnnamalayalamnyamalayalamssamalayalam" + "ttamanichaeanpemasaramgondimathalphanummendekikakuinoncanonicalno" + "tcharacternotreorderednumberjoinernumerictype=oldhungarianotherne" + "utralphaistosdiscplayingcardsrightjoiningtrailingjamoxidcontinue=" + "africannoonalphabetic=breakbeforecasedletterdeprecated=dominotile" + "sdoubleabovedoublebelowdoublequotedualjoiningexclamationinseparab" + "leinseperablejoincausingkanavoicingkatakanaextleadingjamoleftjoin" + "inglvtsyllablemalayalamjamalayalamramedefaidrinmiscsymbolsmyanmar" + "extamyanmarextbnandinagariotherletterothernumberothersymbolpahawh" + "hmongrecommendedrohingyayehsinglequotesoftdotted=sorasompengstrai" + "ghtwawsuperandsubsylotinagritopandrighttransparentuncommonuseyehw" "ithtailyisyllablesafricanfehafricanqafarabicextabasiclatinbelowri" - "ghtbidiclass=boxdrawingbreakaftercjkstrokescompatjamodalathrishdi" - "acritic=kharoshthiknottedhehlinebreak=lowercase=lvsyllablemiscarr" - "owsnonjoiningnonstarteroldpersianoldsogdianoverstruckphoenicianpr" - "esentin=purekillerreversedpesaurashtrasmallformssuparrowsasuparro" - "wsbsuparrowscunassigneduppercase=warangcitiwordbreak=wordjoineryi" - "radicals-5.00e-01aboveleftambiguousarabicpfaarabicpfbbhaiksukibre" - "akbothemoticonsextender=inheritedkhudawadilatinextblatinextclatin" - "extdmidlettermidnumletnabataeannewtailuenonjoinerolditalicoldperm" - "icoldturkicpalmyrenepaucinhausamaritanscontinuesyriacwawvoweljamo" - "wsegspacexidstart=1.00e-011.11e-011.25e-011.25e-021.43e-011.50e+0" - "01.50e-011.56e-021.67e-011.88e-012.00e-012.50e+002.50e-012.50e-02" - "200000003.12e-023.13e-023.13e-033.33e-013.50e+003.75e-013.75e-024" - ".00e-014.17e-014.50e+004.69e-025.00e-025.50e+005.83e-016.00e-016." - "25e-016.25e-026.25e-036.50e+006.67e-017.50e+007.50e-018.00e-018.3" - "3e-018.33e-028.50e+008.75e-019.17e-01armenianavagrahabalinesebass" - "avahbugineseduployanebasegazfarsiyehfractiongujaratigurmukhihirag" - "anaisolatedjamoextajamoextbjavanesekanaextalinefeedmahajaninextli" - "neradical=specialsswashkaftagbanwatifinaghtonemarkugariticaletter" - "avestanbengalicjkextacjkextbcjkextccjkextdcjkextecjkextfcompex=de" - "seretelbasanelymaicgranthagrbase=hanunoohyphen=kannadakayahliline" - "aramakasarmandaicmarchenmultaninewlinenfkcqc=nfkdqc=noblocknobrea" - "kolchikioletterosmanyaoverlaypatsyn=phagspascript=sharadashavians" - "iddhamsoyombosuppuaasuppuabtagalogtaithamtaiviettibetantirhutauca" - "sextunknownvisargawspace=zwspace216000300000400000432000500000600" - "000700000800000900000alpha=bidic=bidim=block=carianccc103ccc107cc" - "c118ccc122ccc129ccc130ccc132ccc133chakmacirclecwkcf=gothicgrext=h" - "atranjoinc=kaithikanbunkhojkilamadhlepchalower=lycianlydiannarrow" - "nchar=nfcqc=nfdqc=patws=qmark=rejangsterm=teluguthaanauideo=upper" - "=viramawanchoyudhhe1/1601/32011/12adlamahex=alaphatermbatakbindub" - "uhidccc14ccc15ccc16ccc17ccc18ccc19ccc20ccc21ccc22ccc23ccc24ccc25c" - "cc26ccc27ccc28ccc29ccc30ccc31ccc32ccc33ccc34ccc35ccc36ccc84ccc91c" - "ntrlcwcf=cwcm=dash=dografalseidsb=idst=inpc=insc=khaphlimbumath=m" - "aybenuktanushuoghamoriyaosagerunictailetakrivssupxidc=xids=zhain-" - "1/21/101/201/401/641/8010.011.011/212.113/215/217/23/163/203/643/" - "805/127/12adlmage=aghbahomalefarmiarmnataratblavstbatkbhksblk=bpt" - "=buhdcakmcansccc=cprtcwl=cwt=cwu=cyrldep=dia=dsrtfontgcb=gonggonm" - "grekgujrguruhanohluwhmnghmnphst=kalikhmrkndakthilanalaoolatnlinal" - "inblisuloe=medfmeemmercmiaomlymmroomteimymrnarbnbatnewankoonshuog" - "amolckorkhoryaosgepcm=phlpphnxplrdprtiqaacqaaiqaphrjngrohgrunrsam" - "rsarbscx=seensgnwshawshinshrdsogosyrctagstaletalutamltavttfngtglg" - "thaitibttruev100v110v120v121vaiiwchowidexpeoxsuxyiiizainzanbzinhz" - "yyyzzzz1/51/71/92/32/52022142182222242262282302322332342403.03.23" - "/43/54/55.15.25/65/86.16.37.07/89.09/2bc=behci=di=dt=ea=ebgfsigaf" - "gc=jg=jt=lb=lrelrilromimnsmnv=ocrpdfrehri=sd=smlsqrtahv20v21v30v3" - "1v32v40v41v50v51v52v60v61v62v63v70v80v90vo=vs=wb=yes3839444546474" - "849b2bkh2h3jljvkvl&l_vrxxzlzpzs_perl_problematic_locale_foldeds_i" - "s_in_multi_char_fold_perl_folds_to_perl_charname__perl_non_finabe" - "ginany_foldsquotemetaisxposixisposixblankprintishorizisxperlisper" - "lisspaceisvertisuni"; -/* mph_blob length: 9964 */ + "ghtbidiclass=boxdrawingbreakafterchorasmiancjkstrokescompatjamoda" + "lathrishdiacritic=divesakuruhanreadingkharoshthiknottedhehlimited" + "uselinebreak=lowercase=lvsyllablemiscarrowsnonjoiningnonstarterol" + "dpersianoldsogdianoverstruckphoenicianpresentin=purekillerrestric" + "tedreversedpesaurashtrasmallformssuparrowsasuparrowsbsuparrowscun" + "assigneduppercase=warangcitiwordbreak=wordjoineryiradicals-5.00e-" + "01aboveleftambiguousarabicpfaarabicpfbbhaiksukibreakbothemoticons" + "extender=inclusioninheritedkhudawadilatinextblatinextclatinextdmi" + "dlettermidnumletnabataeannewtailuenonjoinerolditalicoldpermicoldt" + "urkicpalmyrenepaucinhausamaritanscontinuesyriacwawvoweljamowsegsp" + "acexidstart=1.00e-011.11e-011.25e-011.25e-021.43e-011.50e+001.50e" + "-011.56e-021.67e-011.88e-012.00e-012.50e+002.50e-012.50e-02200000" + "003.12e-023.13e-023.13e-033.33e-013.50e+003.75e-013.75e-024.00e-0" + "14.17e-014.50e+004.69e-025.00e-025.50e+005.83e-016.00e-016.25e-01" + "6.25e-026.25e-036.50e+006.67e-017.50e+007.50e-018.00e-018.33e-018" + ".33e-028.50e+008.75e-019.17e-01armenianavagrahabalinesebassavahbu" + "gineseduployanebasegazextpict=farsiyehfractiongujaratigurmukhihir" + "aganaisolatedjamoextajamoextbjavanesekanaextalinefeedmahajaninext" + "lineobsoleteradical=specialsswashkaftagbanwatifinaghtonemarkugari" + "ticaletterallowedavestanbengalicjkextacjkextbcjkextccjkextdcjkext" + "ecjkextfcjkextgcompex=deseretelbasanelymaicgranthagrbase=hanunooh" + "yphen=kannadakayahlilinearamakasarmandaicmarchenmultaninewlinenfk" + "cqc=nfkdqc=noblocknobreaknotnfkcolchikioletterosmanyaoverlaypatsy" + "n=phagspascript=sharadashaviansiddhamsoyombosuppuaasuppuabtagalog" + "taithamtaiviettibetantirhutaucasextunknownvisargawspace=zwspace21" + "6000300000400000432000500000600000700000800000900000alpha=bidic=b" + "idim=block=carianccc103ccc107ccc118ccc122ccc129ccc130ccc132ccc133" + "chakmacirclecwkcf=ecomp=emoji=epres=gothicgrext=hatranjoinc=kaith" + "ikanbunkhojkilamadhlepchalower=lycianlydiannarrownchar=nfcqc=nfdq" + "c=notxidpatws=qmark=rejangsterm=teluguthaanauideo=upper=viramawan" + "choyezidiyudhhe1/1601/32011/12adlamahex=alaphatermbatakbindubuhid" + "ccc14ccc15ccc16ccc17ccc18ccc19ccc20ccc21ccc22ccc23ccc24ccc25ccc26" + "ccc27ccc28ccc29ccc30ccc31ccc32ccc33ccc34ccc35ccc36ccc84ccc91cntrl" + "cwcf=cwcm=dash=dograemod=falseidsb=idst=inpc=insc=khaphlimbumath=" + "maybenuktanushuoghamoriyaosagerunictailetakrivssupxidc=xids=zhain" + "-1/21/101/201/401/641/8010.011.011/212.113.013/215/217/23/163/203" + "/643/805/127/12adlmage=aghbahomalefarmiarmnataratblavstbatkbhksbl" + "k=bpt=buhdcakmcansccc=chrscprtcwl=cwt=cwu=cyrldep=dia=diakdsrtfon" + "tgcb=gonggonmgrekgujrguruhanohluwhmnghmnphst=kalikhmrkitskndakthi" + "lanalaoolatnlinalinbloe=medfmeemmercmiaomlymmroomteimymrnarbnbatn" + "ewankoonshuogamolckorkhoryaosgepcm=phlpphnxplrdprtiqaacqaaiqaphrj" + "ngrohgrunrsamrsarbscx=seensgnwshawshinshrdsogosyrctagstaletalutam" + "ltavttfngtglgthaitibttruev100v110v120v121v130vaiiwchowidexpeoxsux" + "yiiizainzanbzinhzyyyzzzz1/51/71/92/32/520221421822222422622823023" + "22332342403.23/43/54/55.15.25/65/86.16.37.07/89.09/2bc=behci=di=d" + "t=ea=ebgfsigafgc=jg=jt=lb=lrelrilromimnv=ocrpdfrehri=sd=smlsqrtah" + "v20v21v30v31v32v40v41v50v51v52v60v61v62v63v70v80v90vo=vs=wb=yes38" + "39444546474849b2bkh2h3jljvkvl&l_vrxxzlzpzs_perl_problematic_local" + "e_foldeds_is_in_multi_char_fold_perl_folds_to_perl_charname_begin" + "any_foldsquotemetaisxposixisposixblankprintishorizisxperlisperlis" + "spaceisvertisuni"; +/* mph_blob length: 10351 */ struct mph_struct { U16 seed2; @@ -185,7029 +188,7277 @@ struct mph_struct { }; #define MPH_RSHIFT 8 -#define MPH_BUCKETS 7016 +#define MPH_BUCKETS 7264 STATIC const U32 MPH_SEED1 = 0x5065726c; STATIC const U32 MPH_FNV_CONST = 0x01000193; /* The comments give the input key for the row it is in */ STATIC const struct mph_struct mph_table[MPH_BUCKETS] = { - { 2, 184, 6948, 2, 10, UNI_MISCARROWS } /* ismiscarrows */, - { 1, 3671, 6027, 17, 5, UNI_KHMR } /* scriptextensions=khmer */, - { 0, 6472, 3470, 5, 14, UNI_INCAUCASIANALBANIAN } /* incaucasianalbanian */, - { 10, 9365, 2608, 4, 19, UNI_EGYP } /* scx=egyptianhieroglyphs */, - { 1, 9113, 7540, 4, 2, UNI_CCC__20 } /* ccc=20 */, - { 2, 3671, 4672, 17, 15, UNI_SARB } /* scriptextensions=oldsoutharabian */, - { 0, 6885, 1459, 3, 23, UNI_HIGHPUSURROGATES } /* ishighprivateusesurrogates */, - { 16, 5325, 0, 14, 0, UNI_qmark_values_index } /* quotationmark= */, - { 1, 9629, 8324, 3, 7, UNI_LB__XX } /* lb=unknown */, - { 4, 5760, 8981, 13, 4, UNI_NV__1_SLASH_40 } /* numericvalue=1/40 */, - { 6, 9093, 5907, 4, 12, UNI_ETHIOPICEXTA } /* blk=ethiopicexta */, - { 1, 1911, 3788, 22, 16, UNI_INSC__CANTILLATIONMARK } /* indicsyllabiccategory=cantillationmark */, - { 0, 8424, 5799, 6, 12, UNI_ALPHABETICPF } /* block=alphabeticpf */, - { 12, 3671, 8679, 17, 5, UNI_ADLM } /* scriptextensions=adlam */, - { 0, 9775, 0, 2, 0, UNI_ZL } /* zl */, - { 1, 42, 0, 3, 0, UNI_CJK } /* cjk */, - { 0, 5339, 49, 14, 2, UNI_SB__AT } /* sentencebreak=at */, - { 0, 5339, 8198, 14, 7, UNI_SB__LE } /* sentencebreak=oletter */, - { 1, 9093, 1618, 4, 4, UNI_JAMO } /* blk=jamo */, - { 1, 3671, 6051, 17, 4, UNI_MAHJ } /* scriptextensions=mahj */, - { 4, 8424, 9261, 6, 3, UNI_INMRO } /* block=mro */, - { 1, 132, 0, 2, 0, UNI_LM } /* lm */, - { 0, 3671, 4220, 17, 6, UNI_TANG } /* scriptextensions=tangut */, - { 0, 9623, 5669, 3, 13, UNI_JG__MANICHAEANONE } /* jg=manichaeanone */, - { 0, 9093, 5955, 4, 12, UNI_INGUNJALAGONDI } /* blk=gunjalagondi */, - { 6, 9903, 7128, 6, 4, UNI_XPOSIXWORD } /* xposixword */, - { 4, 2836, 0, 9, 0, UNI_SUND } /* sundanese */, - { 0, 9623, 1456, 3, 3, UNI_JG__HAH } /* jg=hah */, - { 0, 8424, 43, 7, 25, UNI_CJKCOMPATIDEOGRAPHS } /* block=cjkcompatibilityideographs */, - { 7, 8871, 1164, 3, 2, UNI_LB__LF } /* sb=lf */, - { 1, 184, 6646, 2, 11, UNI_HMNG } /* ispahawhhmong */, - { 2, 3671, 9217, 17, 4, UNI_LAO } /* scriptextensions=laoo */, - { 3, 3996, 0, 16, 0, UNI_LINEARBSYLLABARY } /* linearbsyllabary */, - { 4, 184, 5734, 2, 13, UNI_MISCTECHNICAL } /* ismisctechnical */, - { 3, 8954, 9734, 5, 3, UNI_XIDC } /* xidc=yes */, - { 1, 1154, 0, 3, 0, UNI_DEP } /* dep */, - { 3, 184, 779, 2, 22, UNI_ENCLOSEDIDEOGRAPHICSUP } /* isenclosedideographicsup */, - { 0, 3671, 5967, 17, 6, UNI_HEBR } /* scriptextensions=hebrew */, - { 34, 9429, 0, 4, 0, UNI_TIBT } /* tibt */, - { 8, 7025, 9719, 3, 3, UNI_IN__8 } /* in=v80 */, - { 1, 8634, 9734, 6, 3, UNI_UIDEO } /* uideo=yes */, - { 1, 8520, 995, 6, 2, -UNI_JOINC } /* joinc=no */, - { 3, 2211, 0, 21, 0, UNI_SINHALAARCHAICNUMBERS } /* sinhalaarchaicnumbers */, - { 0, 8879, 2479, 5, 6, UNI_INPC__BOTTOM } /* inpc=bottom */, - { 1, 184, 1057, 2, 26, UNI_PCM } /* isprependedconcatenationmark */, - { 0, 6918, 1156, 10, 2, UNI_LB__PO } /* linebreak=po */, - { 0, 8886, 9181, 3, 4, UNI_HLUW } /* sc=hluw */, - { 2, 9365, 7788, 4, 8, UNI_BALI } /* scx=balinese */, - { 1, 9365, 9285, 4, 3, UNI_NKO } /* scx=nko */, - { 0, 4642, 0, 15, 0, UNI_nfkdqc_values_index } /* nfkdquickcheck= */, - { 0, 184, 43, 3, 25, UNI_CJKCOMPATIDEOGRAPHS } /* iscjkcompatibilityideographs */, - { 3, 2148, 2875, 3, 18, UNI_SUPARROWSB } /* insupplementalarrowsb */, - { 1, 1691, 1, 22, 1, UNI_BPT__N } /* bidipairedbrackettype=n */, - { 1, 184, 8079, 2, 7, UNI_GRAN } /* isgrantha */, - { 0, 7128, 1188, 10, 8, UNI_WB__KA } /* wordbreak=katakana */, - { 1, 9093, 0, 4, 34, UNI_UCAS } /* blk=unifiedcanadianaboriginalsyllabics */, - { 1, 3671, 689, 17, 9, UNI_XSUX } /* scriptextensions=cuneiform */, - { 3, 4705, 9430, 3, 3, UNI_TIBT } /* istibt */, - { 0, 1911, 2313, 22, 20, UNI_INSC__CONSONANTWITHSTACKER } /* indicsyllabiccategory=consonantwithstacker */, - { 8, 8886, 7239, 3, 9, UNI_SC__QAAI } /* sc=inherited */, - { 3, 8424, 4672, 6, 15, UNI_SARB } /* block=oldsoutharabian */, - { 0, 1497, 3228, 10, 8, UNI_Z } /* category=separator */, - { 0, 8892, 0, 4, 0, UNI_PHLI } /* phli */, - { 0, 7420, 26, 8, 1, UNI_IDS } /* idstart=y */, - { 1, 2930, 0, 18, 0, UNI_CHEROKEESUP } /* cherokeesupplement */, - { 2, 8424, 510, 7, 19, UNI_CJK } /* block=cjkunifiedideographs */, - { 1, 6003, 0, 11, 0, UNI_JOINC } /* joincontrol */, - { 1, 7025, 9581, 3, 3, UNI_IN__7 } /* in=7.0 */, - { 1, 6918, 9759, 10, 2, UNI_LB__H3 } /* linebreak=h3 */, - { 0, 8424, 8205, 6, 7, UNI_INOSMANYA } /* block=osmanya */, - { 0, 5760, 9747, 13, 2, UNI_NV__47 } /* numericvalue=47 */, - { 1, 6828, 2190, 10, 21, UNI_BC__PDI } /* bidiclass=popdirectionalisolate */, - { 2, 8514, 0, 4, 0, UNI_HATR } /* hatr */, - { 1, 9647, 8358, 3, 3, UNI_NV__300 } /* nv=300 */, - { 1, 8282, 0, 7, 0, UNI_TGLG } /* tagalog */, - { 4, 8886, 8430, 3, 4, UNI_CARI } /* sc=cari */, - { 2, 9605, 2493, 3, 4, UNI_DT__VERT } /* dt=vert */, - { 1, 5734, 0, 13, 0, UNI_MISCTECHNICAL } /* misctechnical */, - { 4, 8879, 6998, 5, 10, UNI_INPC__OVERSTRUCK } /* inpc=overstruck */, - { 3, 3671, 9053, 17, 4, UNI_AGHB } /* scriptextensions=aghb */, - { 2, 3236, 9734, 18, 3, UNI__PERL_PATWS } /* patternwhitespace=yes */, - { 0, 9608, 1162, 3, 9, UNI_EA__H } /* ea=halfwidth */, - { 1, 3671, 5955, 17, 12, UNI_GONG } /* scriptextensions=gunjalagondi */, - { 0, 184, 8699, 2, 5, UNI_BATK } /* isbatak */, - { 0, 7420, 0, 8, 0, UNI_ids_values_index } /* idstart= */, - { 0, 1362, 5409, 24, 2, UNI_CCC__10 } /* canonicalcombiningclass=10 */, - { 0, 8424, 6991, 6, 7, UNI_INSOGDIAN } /* block=sogdian */, - { 0, 8233, 689, 7, 9, UNI_XSUX } /* script=cuneiform */, - { 1, 9093, 1338, 4, 24, UNI_ARABICPFB } /* blk=arabicpresentationformsb */, - { 1, 1713, 26, 22, 1, UNI_CWCF } /* changeswhencasefolded=y */, - { 5, 184, 74, 2, 2, UNI_ME } /* isme */, - { 1, 9620, 24, 3, 1, UNI_L } /* gc=l */, - { 1, 4705, 2022, 3, 21, UNI_TRANSPORTANDMAP } /* istransportandmapsymbols */, - { 4, 7025, 9701, 3, 3, UNI_IN__5_DOT_2 } /* in=v52 */, - { 1, 2106, 406, 21, 7, UNI_GCB__CN } /* graphemeclusterbreak=control */, - { 1, 8233, 7788, 7, 8, UNI_BALI } /* script=balinese */, - { 0, 9909, 9322, 3, 3, UNI_PHNX } /* isphnx */, - { 0, 8886, 8502, 3, 4, UNI_GOTH } /* sc=goth */, - { 0, 3671, 1599, 17, 6, UNI_HANG } /* scriptextensions=hangul */, - { 2, 2148, 8269, 3, 6, UNI_SUPPUAA } /* insuppuaa */, - { 2, 9365, 9109, 4, 4, UNI_CANS } /* scx=cans */, - { 0, 8233, 8128, 7, 7, UNI_MAKA } /* script=makasar */, - { 0, 1497, 5487, 9, 13, UNI_XPOSIXDIGIT } /* category=decimalnumber */, - { 5, 184, 1154, 2, 3, UNI_DEP } /* isdep */, - { 1, 184, 7, 3, 1, UNI_XPOSIXCNTRL } /* iscc */, - { 6, 8424, 43, 7, 8, UNI_CJKCOMPAT } /* block=cjkcompat */, - { 10, 3868, 406, 16, 7, UNI_XPOSIXCNTRL } /* generalcategory=control */, - { 1, 8233, 9161, 7, 4, UNI_SC__GONM } /* script=gonm */, - { 3, 5760, 7571, 13, 2, UNI_NV__33 } /* numericvalue=33 */, - { 1, 3671, 7892, 17, 4, UNI_JAVA } /* scriptextensions=java */, - { 3, 5269, 3, 14, 1, -UNI_PATSYN } /* patternsyntax=f */, - { 0, 8886, 7844, 3, 8, UNI_SC__GUJR } /* sc=gujarati */, - { 2, 8886, 9165, 3, 4, UNI_SC__GREK } /* sc=grek */, - { 0, 6005, 8010, 3, 6, UNI_CJKEXTA } /* incjkexta */, - { 0, 8424, 7275, 6, 9, UNI_LATINEXTD } /* block=latinextd */, - { 1, 4447, 66, 15, 1, UNI_EA__H } /* eastasianwidth=h */, - { 1, 5339, 7, 15, 1, UNI_SB__SC } /* sentencebreak=sc */, - { 0, 2684, 24, 19, 1, UNI_GCB__L } /* hangulsyllabletype=l */, - { 1, 8163, 17, 8, 1, UNI_NFKCQC__N } /* nfkcqc=no */, - { 0, 8886, 9425, 3, 4, UNI_THAI } /* sc=thai */, - { 2, 8424, 7374, 6, 9, UNI_INSAMARITAN } /* block=samaritan */, - { 2, 8332, 7196, 4, 7, UNI_ARABICPFB } /* isarabicpfb */, - { 1, 6015, 0, 12, 0, UNI_jt_values_index } /* joiningtype= */, - { 3, 9623, 5931, 3, 12, UNI_JG__FINALSEMKATH } /* jg=finalsemkath */, - { 0, 9647, 8981, 3, 3, UNI_NV__1_SLASH_4 } /* nv=1/4 */, - { 2, 9365, 5955, 4, 12, UNI_GONG } /* scx=gunjalagondi */, - { 8, 8332, 3758, 4, 14, UNI_ARABICSUP } /* isarabicsupplement */, - { 0, 9659, 995, 3, 2, -UNI_RI } /* ri=no */, - { 1, 21, 8568, 2, 6, UNI_INLYDIAN } /* inlydian */, - { 4, 184, 8065, 2, 7, UNI_ELBA } /* iselbasan */, - { 1, 9647, 7508, 3, 8, UNI_NV__1_SLASH_5 } /* nv=2.00e-01 */, - { 5, 9093, 4975, 4, 7, UNI_KANASUP } /* blk=kanasup */, - { 0, 8233, 9065, 7, 4, UNI_ARMI } /* script=armi */, - { 3, 1136, 0, 26, 0, UNI_di_values_index } /* defaultignorablecodepoint= */, - { 3, 8499, 0, 2, 0, UNI_CF } /* cf */, - { 4, 3868, 0, 16, 0, UNI_gc_values_index } /* generalcategory= */, - { 9, 8240, 0, 7, 0, UNI_SHRD } /* sharada */, - { 1, 9093, 2589, 4, 11, UNI_COUNTINGROD } /* blk=countingrod */, - { 0, 6949, 4851, 4, 11, UNI_CI } /* iscaseignorable */, - { 1, 184, 570, 3, 29, UNI_CJKEXTC } /* iscjkunifiedideographsextensionc */, - { 1, 8886, 9249, 3, 4, UNI_MERC } /* sc=merc */, - { 1, 21, 9058, 3, 3, UNI_INAHOM } /* inahom */, - { 7, 9153, 5346, 4, 2, UNI_WB__EB } /* gcb=eb */, - { 2, 8233, 6602, 7, 11, UNI_SC__NAND } /* script=nandinagari */, - { 0, 9647, 9741, 3, 2, UNI_NV__44 } /* nv=44 */, - { 0, 1801, 9734, 22, 3, UNI_CWU } /* changeswhenuppercased=yes */, - { 0, 3951, 2704, 3, 17, UNI_IDST } /* isidstrinaryoperator */, - { 0, 8424, 328, 6, 21, UNI_MATHOPERATORS } /* block=mathematicaloperators */, - { 4, 2204, 4141, 3, 15, UNI_PO } /* isotherpunctuation */, - { 1, 8684, 9433, 5, 4, UNI_POSIXXDIGIT } /* ahex=true */, - { 2, 8886, 8699, 3, 5, UNI_BATK } /* sc=batak */, - { 2, 1773, 0, 5, 0, UNI_CASED } /* cased */, - { 3, 184, 690, 3, 15, UNI_CUNEIFORMNUMBERS } /* iscuneiformnumbers */, - { 18, 7018, 9566, 10, 3, UNI_IN__5_DOT_2 } /* presentin=5.2 */, - { 2, 3868, 1532, 16, 1, UNI_Z } /* generalcategory=z */, - { 4, 9599, 26, 3, 1, UNI_CI } /* ci=y */, - { 0, 2212, 3933, 3, 15, UNI_HIGHPUSURROGATES } /* inhighpusurrogates */, - { 0, 2589, 0, 19, 0, UNI_COUNTINGROD } /* countingrodnumerals */, - { 1, 9365, 2532, 4, 4, UNI_BRAH } /* scx=brah */, - { 2, 8233, 8310, 7, 4, UNI_SC__TIRH } /* script=tirh */, - { 1, 3868, 5199, 16, 14, UNI_SK } /* generalcategory=modifiersymbol */, - { 0, 184, 5835, 2, 5, UNI_BIDIC } /* isbidic */, - { 8, 8886, 8254, 3, 7, UNI_SIDD } /* sc=siddham */, - { 1, 8844, 8864, 5, 5, -UNI_CWCF } /* cwcf=false */, - { 0, 184, 3164, 2, 9, UNI_LATINEXTA } /* islatinexta */, - { 2, 9093, 6978, 4, 10, UNI_INOLDPERSIAN } /* blk=oldpersian */, - { 26, 8233, 9189, 7, 4, UNI_HMNP } /* script=hmnp */, - { 4, 1773, 36, 6, 1, UNI_CASED } /* cased=t */, - { 0, 8424, 2232, 6, 21, UNI_YIJING } /* block=yijinghexagramsymbols */, - { 1, 9113, 7555, 4, 2, UNI_CCC__23 } /* ccc=23 */, - { 3, 9057, 0, 4, 0, UNI_AHOM } /* ahom */, - { 5, 8886, 8079, 3, 4, UNI_SC__GRAN } /* sc=gran */, - { 0, 7018, 9005, 10, 4, UNI_IN__12_DOT_1 } /* presentin=12.1 */, - { 1, 8886, 9053, 3, 4, UNI_AGHB } /* sc=aghb */, - { 0, 8886, 7332, 3, 4, UNI_ITAL } /* sc=ital */, - { 0, 184, 3772, 2, 8, UNI_BOPO } /* isbopomofo */, - { 0, 9779, 0, 2, 0, UNI_ZS } /* zs */, - { 1, 8233, 9225, 7, 4, UNI_SC__LINA } /* script=lina */, - { 1, 184, 47, 2, 1, UNI_M } /* ism */, - { 1, 3110, 0, 18, 0, UNI_GEORGIANSUP } /* georgiansupplement */, - { 0, 2532, 0, 6, 0, UNI_BRAH } /* brahmi */, - { 0, 3671, 6646, 17, 11, UNI_HMNG } /* scriptextensions=pahawhhmong */, - { 0, 8879, 7009, 3, 9, UNI_INPHOENICIAN } /* inphoenician */, - { 1, 184, 400, 2, 6, UNI_CF } /* isformat */, - { 0, 7347, 0, 9, 0, UNI_ORKH } /* oldturkic */, - { 7, 8233, 2127, 7, 14, UNI_SC__ROHG } /* script=hanifirohingya */, - { 1, 697, 0, 2, 0, UNI_MN } /* mn */, - { 0, 6315, 8864, 12, 5, -UNI_XIDC } /* xidcontinue=false */, - { 11, 9909, 9318, 3, 3, UNI_PHLP } /* isphlp */, - { 4, 9629, 9154, 3, 2, UNI_LB__CB } /* lb=cb */, - { 5, 8424, 7118, 6, 10, UNI_INWARANGCITI } /* block=warangciti */, - { 0, 8634, 36, 6, 1, UNI_UIDEO } /* uideo=t */, - { 1, 184, 5435, 2, 12, UNI_BIDIM } /* isbidimirrored */, - { 1, 1243, 8864, 21, 5, -UNI_CE } /* compositionexclusion=false */, - { 3, 8886, 7356, 3, 4, UNI_PALM } /* sc=palm */, - { 2, 9605, 3852, 3, 5, UNI_DT__FIN } /* dt=final */, - { 0, 3671, 8568, 17, 6, UNI_LYDI } /* scriptextensions=lydian */, - { 0, 5435, 3, 13, 1, -UNI_BIDIM } /* bidimirrored=f */, - { 2, 6003, 995, 12, 2, -UNI_JOINC } /* joincontrol=no */, - { 8, 9365, 8924, 4, 5, UNI_ORYA } /* scx=oriya */, - { 1, 5339, 339, 14, 2, UNI_SB__LO } /* sentencebreak=lo */, - { 2, 5227, 9734, 14, 3, UNI_NFDQC__Y } /* nfdquickcheck=yes */, - { 1, 8550, 0, 4, 0, UNI_LEPC } /* lepc */, - { 0, 8568, 0, 4, 0, UNI_LYDI } /* lydi */, - { 2, 5565, 9671, 13, 3, UNI_JG__TAH } /* joininggroup=tah */, - { 0, 9113, 9524, 4, 3, UNI_CCC__L } /* ccc=224 */, - { 0, 4778, 1099, 3, 3, UNI_UCAS } /* isucas */, - { 0, 9731, 1164, 3, 2, UNI_LB__LF } /* wb=lf */, - { 1, 9093, 5031, 4, 14, UNI_LATINEXTD } /* blk=latinextendedd */, - { 2, 9629, 7176, 3, 9, UNI_LB__AI } /* lb=ambiguous */, - { 3, 3671, 3620, 17, 4, UNI_MANI } /* scriptextensions=mani */, - { 3, 3671, 6246, 17, 4, UNI_HUNG } /* scriptextensions=hung */, - { 0, 8886, 8550, 3, 6, UNI_LEPC } /* sc=lepcha */, - { 0, 9728, 9734, 3, 3, UNI_VS } /* vs=yes */, - { 2, 4705, 8311, 3, 3, UNI_TIRH } /* istirh */, - { 3, 8502, 0, 6, 0, UNI_GOTH } /* gothic */, - { 2, 9647, 7158, 3, 9, UNI_NV___MINUS_1_SLASH_2 } /* nv=-5.00e-01 */, - { 2, 9113, 2920, 4, 5, UNI_CCC__A } /* ccc=above */, - { 0, 9731, 5919, 3, 12, UNI_WB__EX } /* wb=extendnumlet */, - { 1, 8424, 4717, 6, 8, UNI_TAMILSUP } /* block=tamilsup */, - { 0, 9129, 9433, 4, 4, UNI_CWU } /* cwu=true */, - { 0, 1812, 0, 9, 0, UNI_XPOSIXUPPER } /* uppercase */, - { 0, 9647, 7596, 3, 8, UNI_NV__3_SLASH_80 } /* nv=3.75e-02 */, - { 4, 9173, 0, 4, 0, UNI_GURU } /* guru */, - { 1, 9365, 9205, 4, 4, UNI_KNDA } /* scx=knda */, - { 1, 3756, 0, 9, 0, UNI_ARABICSUP } /* arabicsup */, - { 0, 9647, 8394, 3, 6, UNI_NV__800000 } /* nv=800000 */, - { 0, 8556, 9433, 6, 4, UNI_XPOSIXLOWER } /* lower=true */, - { 0, 1691, 0, 22, 0, UNI_bpt_values_index } /* bidipairedbrackettype= */, - { 4, 8496, 1, 6, 1, -UNI_CWKCF } /* cwkcf=n */, - { 0, 9093, 2646, 4, 10, UNI_JAMO } /* blk=hanguljamo */, - { 5, 3671, 7956, 17, 4, UNI_TAGB } /* scriptextensions=tagb */, - { 2, 8233, 4582, 7, 15, UNI_MERC } /* script=meroiticcursive */, - { 1, 8233, 2837, 8, 8, UNI_SUND } /* script=sundanese */, - { 4, 9365, 9249, 4, 4, UNI_MERC } /* scx=merc */, - { 20, 7025, 7098, 3, 10, UNI_AGE__NA } /* in=unassigned */, - { 0, 9647, 9569, 3, 3, UNI_NV__5_SLASH_6 } /* nv=5/6 */, - { 0, 8170, 9734, 7, 3, UNI_DT__NONE } /* nfkdqc=yes */, - { 0, 9623, 5708, 3, 13, UNI_JG__MANICHAEANWAW } /* jg=manichaeanwaw */, - { 0, 117, 447, 3, 17, UNI_IDEOGRAPHICSYMBOLS } /* inideographicsymbols */, - { 15, 5760, 8364, 13, 2, UNI_NV__40 } /* numericvalue=40 */, - { 1, 3868, 27, 16, 2, UNI_LOWERCASELETTER } /* generalcategory=ll */, - { 3, 9647, 9037, 3, 4, UNI_NV__5_SLASH_12 } /* nv=5/12 */, - { 0, 184, 9349, 2, 4, UNI_ROHG } /* isrohg */, - { 2, 8424, 5311, 6, 14, UNI_INPSALTERPAHLAVI } /* block=psalterpahlavi */, - { 0, 8332, 1316, 4, 22, UNI_ARABICPFA } /* isarabicpresentationformsa */, - { 1, 1497, 7098, 9, 10, UNI_CN } /* category=unassigned */, - { 2, 9365, 9421, 4, 4, UNI_TGLG } /* scx=tglg */, - { 0, 5760, 7540, 13, 5, UNI_NV__20000 } /* numericvalue=20000 */, - { 6, 9097, 5678, 4, 4, UNI_BPT__N } /* bpt=none */, - { 7, 4778, 513, 3, 15, UNI_UIDEO } /* isunifiedideograph */, - { 1, 184, 43, 3, 2, UNI_CJK } /* iscjk */, - { 0, 3739, 36, 17, 1, UNI_UIDEO } /* unifiedideograph=t */, - { 3, 8424, 8310, 6, 7, UNI_INTIRHUTA } /* block=tirhuta */, - { 1, 9093, 8149, 4, 7, UNI_INMULTANI } /* blk=multani */, - { 4, 9365, 8310, 4, 4, UNI_TIRH } /* scx=tirh */, - { 4, 1497, 6635, 9, 11, UNI_SO } /* category=othersymbol */, - { 1, 6918, 6848, 10, 10, UNI_LB__BA } /* linebreak=breakafter */, - { 1, 184, 8052, 3, 5, UNI_COMPEX } /* iscompex */, - { 6, 8233, 7329, 7, 9, UNI_ITAL } /* script=olditalic */, - { 2, 9629, 5520, 3, 5, UNI_LB__EB } /* lb=ebase */, - { 0, 9093, 349, 4, 33, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* blk=supplementalsymbolsandpictographs */, - { 1, 3128, 1, 18, 1, -UNI_IDSB } /* idsbinaryoperator=n */, - { 5, 184, 5513, 2, 12, UNI_GRBASE } /* isgraphemebase */, - { 6, 8233, 8079, 7, 4, UNI_SC__GRAN } /* script=gran */, - { 1, 2148, 8276, 3, 6, UNI_SUPPUAB } /* insuppuab */, - { 1, 184, 7788, 2, 8, UNI_BALI } /* isbalinese */, - { 0, 5213, 47, 14, 1, UNI_NFCQC__M } /* nfcquickcheck=m */, - { 0, 8886, 9481, 3, 4, UNI_ZANB } /* sc=zanb */, - { 0, 6918, 3248, 10, 5, UNI_LB__SP } /* linebreak=space */, - { 1, 9365, 6246, 4, 4, UNI_HUNG } /* scx=hung */, - { 0, 184, 1977, 2, 21, UNI__PERL_NCHAR } /* isnoncharactercodepoint */, - { 0, 9141, 0, 4, 0, UNI_dia_values_index } /* dia= */, - { 3, 6005, 8031, 3, 6, UNI_CJKEXTD } /* incjkextd */, - { 3, 184, 1846, 3, 21, UNI_INDICNUMBERFORMS } /* iscommonindicnumberforms */, - { 1, 6828, 3608, 10, 3, UNI_BC__RLI } /* bidiclass=rli */, - { 1, 6315, 0, 12, 0, UNI_xidc_values_index } /* xidcontinue= */, - { 16, 9602, 3, 3, 1, -UNI_DI } /* di=f */, - { 1, 5760, 7691, 13, 2, UNI_NV__36 } /* numericvalue=36 */, - { 4, 4492, 0, 15, 0, UNI_ARMI } /* imperialaramaic */, - { 0, 9605, 1279, 3, 3, UNI_DT__SUB } /* dt=sub */, - { 0, 2148, 7069, 3, 9, UNI_SUPARROWSA } /* insuparrowsa */, - { 0, 184, 983, 2, 5, UNI_GREK } /* isgreek */, - { 1, 8332, 7187, 4, 7, UNI_ARABICPFA } /* isarabicpfa */, - { 0, 598, 0, 2, 0, UNI_XPOSIXCNTRL } /* cc */, - { 2, 9093, 1823, 4, 22, UNI_CJKCOMPATIDEOGRAPHSSUP } /* blk=cjkcompatideographssup */, - { 0, 7302, 0, 9, 0, UNI_NBAT } /* nabataean */, - { 1, 9623, 4028, 3, 16, UNI_JG__MANICHAEANLAMEDH } /* jg=manichaeanlamedh */, - { 4, 8233, 8699, 7, 5, UNI_BATK } /* script=batak */, - { 13, 8233, 9349, 7, 4, UNI_SC__ROHG } /* script=rohg */, - { 6, 184, 4204, 2, 16, UNI_SYRIACSUP } /* issyriacsupplement */, - { 0, 8899, 26, 5, 1, UNI_MATH } /* math=y */, - { 0, 8233, 9201, 7, 4, UNI_KHMR } /* script=khmr */, - { 0, 3739, 9433, 17, 4, UNI_UIDEO } /* unifiedideograph=true */, - { 5, 6828, 1, 11, 1, UNI_BC__BN } /* bidiclass=bn */, - { 5, 9623, 9341, 3, 4, UNI_JG__QAPH } /* jg=qaph */, - { 8, 8233, 8121, 7, 7, UNI_SC__LINA } /* script=lineara */, - { 0, 3243, 0, 10, 0, UNI_XPOSIXSPACE } /* whitespace */, - { 0, 1362, 8371, 24, 2, UNI_CCC__32 } /* canonicalcombiningclass=32 */, - { 0, 78, 0, 4, 0, UNI_ARAB } /* arab */, - { 1, 9593, 407, 3, 2, UNI_BC__ON } /* bc=on */, - { 5, 4826, 0, 8, 0, UNI_XPOSIXXDIGIT } /* hexdigit */, - { 1, 8424, 8502, 6, 6, UNI_INGOTHIC } /* block=gothic */, - { 0, 1362, 8473, 25, 5, UNI_CCC__132 } /* canonicalcombiningclass=ccc132 */, - { 0, 8424, 6988, 6, 10, UNI_INOLDSOGDIAN } /* block=oldsogdian */, - { 2, 8652, 0, 6, 0, UNI_WCHO } /* wancho */, - { 2, 8233, 3836, 7, 7, UNI_SC__CPRT } /* script=cypriot */, - { 0, 3671, 2837, 18, 3, UNI_SUND } /* scriptextensions=sund */, - { 0, 6338, 3, 11, 1, -UNI_XPOSIXALPHA } /* alphabetic=f */, - { 0, 5979, 0, 12, 0, UNI_ideo_values_index } /* ideographic= */, - { 0, 5565, 8658, 13, 4, UNI_JG__YUDH } /* joininggroup=yudh */, - { 1, 184, 600, 3, 29, UNI_CJKEXTD } /* iscjkunifiedideographsextensiond */, - { 1, 6005, 43, 3, 8, UNI_CJKCOMPAT } /* incjkcompat */, - { 0, 9093, 8514, 4, 6, UNI_INHATRAN } /* blk=hatran */, - { 1, 2204, 8925, 3, 4, UNI_ORYA } /* isoriya */, - { 12, 9093, 3773, 5, 15, UNI_BOPOMOFOEXT } /* blk=bopomofoextended */, - { 2, 6918, 9626, 10, 2, UNI_GCB__T } /* linebreak=jt */, - { 1, 9946, 2837, 3, 8, UNI_SUND } /* issundanese */, - { 0, 9647, 8364, 3, 6, UNI_NV__400000 } /* nv=400000 */, - { 0, 8886, 9389, 3, 4, UNI_SOGO } /* sc=sogo */, - { 0, 9113, 7435, 4, 2, UNI_CCC__11 } /* ccc=11 */, - { 1, 5760, 7158, 13, 9, UNI_NV___MINUS_1_SLASH_2 } /* numericvalue=-5.00e-01 */, - { 1, 9093, 779, 4, 29, UNI_ENCLOSEDIDEOGRAPHICSUP } /* blk=enclosedideographicsupplement */, - { 0, 4762, 0, 8, 0, UNI_VEDICEXT } /* vedicext */, - { 0, 184, 7257, 2, 9, UNI_LATINEXTB } /* islatinextb */, - { 3, 9629, 6437, 3, 11, UNI_LB__EX } /* lb=exclamation */, - { 2, 184, 5367, 2, 14, UNI_SUPPUNCTUATION } /* issuppunctuation */, - { 0, 9365, 7118, 4, 4, UNI_WARA } /* scx=wara */, - { 7, 7018, 9551, 10, 3, UNI_IN__3_DOT_2 } /* presentin=3.2 */, - { 0, 9593, 4283, 4, 14, UNI_BC__BN } /* bc=boundaryneutral */, - { 1, 4267, 0, 8, 0, UNI_BAMUMSUP } /* bamumsup */, - { 2, 9365, 7995, 4, 7, UNI_AVST } /* scx=avestan */, - { 6, 9662, 26, 3, 1, UNI_SD } /* sd=y */, - { 3, 3671, 7356, 17, 9, UNI_PALM } /* scriptextensions=palmyrene */, - { 9, 9113, 7683, 4, 2, UNI_CCC__26 } /* ccc=26 */, - { 0, 9169, 0, 4, 0, UNI_GUJR } /* gujr */, - { 3, 9909, 0, 12, 0, UNI_POSIXBLANK } /* isposixblank */, - { 1, 7419, 36, 9, 1, UNI_XIDS } /* xidstart=t */, - { 0, 8233, 7008, 7, 10, UNI_PHNX } /* script=phoenician */, - { 1, 9153, 34, 4, 6, UNI_GCB__EX } /* gcb=extend */, - { 2, 9365, 2333, 4, 4, UNI_GLAG } /* scx=glag */, - { 12, 8233, 9229, 7, 4, UNI_SC__LINB } /* script=linb */, - { 2, 184, 2931, 3, 17, UNI_CHEROKEESUP } /* ischerokeesupplement */, - { 8, 8684, 1, 5, 1, -UNI_POSIXXDIGIT } /* ahex=n */, - { 0, 3671, 8002, 17, 7, UNI_BENG } /* scriptextensions=bengali */, - { 4, 8424, 8568, 6, 6, UNI_INLYDIAN } /* block=lydian */, - { 2, 8233, 8191, 7, 7, UNI_OLCK } /* script=olchiki */, - { 0, 3671, 1192, 17, 4, UNI_KANA } /* scriptextensions=kana */, - { 0, 9593, 835, 3, 2, UNI_BC__WS } /* bc=ws */, - { 1, 184, 3980, 2, 16, UNI_LINEARBIDEOGRAMS } /* islinearbideograms */, - { 13, 5325, 26, 14, 1, UNI_QMARK } /* quotationmark=y */, - { 0, 1773, 26, 6, 1, UNI_CASED } /* cased=y */, - { 0, 6316, 26, 11, 1, UNI_IDC } /* idcontinue=y */, - { 3, 9093, 2169, 4, 14, UNI_MEETEIMAYEKEXT } /* blk=meeteimayekext */, - { 2, 9365, 2006, 4, 4, UNI_MODI } /* scx=modi */, - { 2, 8233, 3984, 8, 3, UNI_SARB } /* script=sarb */, - { 5, 9935, 3248, 5, 5, UNI_XPOSIXSPACE } /* xperlspace */, - { 0, 9629, 6968, 3, 10, UNI_LB__NS } /* lb=nonstarter */, - { 1, 9141, 995, 4, 2, -UNI_DIA } /* dia=no */, - { 1, 1084, 26, 26, 1, UNI_CWKCF } /* changeswhennfkccasefolded=y */, - { 14, 9593, 32, 3, 2, UNI_BC__CS } /* bc=cs */, - { 0, 9093, 3290, 4, 4, UNI_RUMI } /* blk=rumi */, - { 8, 8886, 829, 4, 3, UNI_SC__KNDA } /* sc=knda */, - { 1, 4717, 0, 8, 0, UNI_TAMILSUP } /* tamilsup */, - { 1, 9946, 6992, 3, 3, UNI_SOGD } /* issogd */, - { 2, 1362, 8835, 25, 4, UNI_CCC__91 } /* canonicalcombiningclass=ccc91 */, - { 1, 7128, 5625, 10, 2, UNI_WB__ML } /* wordbreak=ml */, - { 3, 3002, 1279, 18, 3, UNI_DT__SUB } /* decompositiontype=sub */, - { 0, 3290, 0, 4, 0, UNI_RUMI } /* rumi */, - { 2, 1362, 6404, 24, 11, UNI_CCC__DB } /* canonicalcombiningclass=doublebelow */, - { 4, 3210, 0, 8, 0, UNI_DINGBATS } /* dingbats */, - { 5, 9365, 2127, 4, 14, UNI_ROHG } /* scx=hanifirohingya */, - { 2, 5760, 9037, 13, 4, UNI_NV__5_SLASH_12 } /* numericvalue=5/12 */, - { 5, 6567, 287, 6, 29, UNI_MISCMATHSYMBOLSB } /* inmiscellaneousmathematicalsymbolsb */, - { 0, 8412, 9734, 6, 3, UNI_BIDIC } /* bidic=yes */, - { 1, 9093, 1622, 4, 14, UNI_LATINEXTA } /* blk=latinextendeda */, - { 0, 3705, 0, 17, 0, UNI_SMALLFORMS } /* smallformvariants */, - { 1, 1362, 3441, 24, 9, UNI_CCC__BL } /* canonicalcombiningclass=belowleft */, - { 1, 7844, 0, 8, 0, UNI_GUJR } /* gujarati */, - { 8, 8233, 2532, 7, 6, UNI_BRAH } /* script=brahmi */, - { 0, 9465, 0, 4, 0, UNI_XPEO } /* xpeo */, - { 5, 6567, 206, 6, 11, UNI_MISCPICTOGRAPHS } /* inmiscpictographs */, - { 2, 9093, 7812, 4, 8, UNI_INDUPLOYAN } /* blk=duployan */, - { 0, 1924, 0, 10, 1, UNI_UPPERCASELETTER } /* category=lu */, - { 11, 3671, 7375, 18, 8, UNI_SAMR } /* scriptextensions=samaritan */, - { 1, 8424, 7365, 6, 9, UNI_INPAUCINHAU } /* block=paucinhau */, - { 1, 9623, 5073, 3, 14, UNI_JG__MANICHAEANAYIN } /* jg=manichaeanayin */, - { 2, 5339, 495, 14, 7, UNI_SB__NU } /* sentencebreak=numeric */, - { 0, 6768, 4994, 3, 9, UNI_YIRADICALS } /* isyiradicals */, - { 0, 2127, 0, 4, 0, UNI_HAN } /* hani */, - { 6, 8233, 9281, 7, 4, UNI_NEWA } /* script=newa */, - { 0, 3964, 0, 16, 0, UNI_LATIN1 } /* latin1supplement */, - { 2, 6828, 8, 10, 2, UNI_BC__AN } /* bidiclass=an */, - { 0, 8424, 8142, 6, 7, UNI_INMARCHEN } /* block=marchen */, - { 0, 8886, 9317, 3, 4, UNI_SC__PHLP } /* sc=phlp */, - { 0, 5809, 0, 2, 0, UNI_PF } /* pf */, - { 0, 8424, 43, 7, 35, UNI_CJKCOMPATIDEOGRAPHSSUP } /* block=cjkcompatibilityideographssupplement */, - { 4, 184, 6279, 2, 12, UNI_PLAYINGCARDS } /* isplayingcards */, - { 0, 9093, 8016, 4, 7, UNI_CJKEXTB } /* blk=cjkextb */, - { 0, 2238, 0, 3, 0, UNI_XPOSIXXDIGIT } /* hex */, - { 0, 9623, 4562, 3, 5, UNI_JG__SADHE } /* jg=sadhe */, - { 6, 8886, 8128, 3, 4, UNI_MAKA } /* sc=maka */, - { 2, 184, 9333, 2, 4, UNI_COPT } /* isqaac */, - { 1, 9623, 8964, 3, 5, UNI_JG__ZHAIN } /* jg=zhain */, - { 1, 9593, 9653, 3, 3, UNI_BC__PDF } /* bc=pdf */, - { 2, 9093, 4717, 4, 5, UNI_INTAMIL } /* blk=tamil */, - { 0, 5565, 5669, 13, 13, UNI_JG__MANICHAEANONE } /* joininggroup=manichaeanone */, - { 8, 8879, 2473, 5, 3, UNI_INPC__TOP } /* inpc=top */, - { 6, 9731, 125, 3, 2, UNI_LB__CR } /* wb=cr */, - { 1, 184, 3552, 2, 16, UNI_ETHIOPICEXT } /* isethiopicextended */, - { 1, 6885, 1086, 3, 3, UNI_HANG } /* ishang */, - { 4, 8886, 1599, 3, 6, UNI_SC__HANG } /* sc=hangul */, - { 4, 8233, 9253, 7, 4, UNI_MIAO } /* script=miao */, - { 1, 3398, 26, 18, 1, UNI_VS } /* variationselector=y */, - { 0, 7018, 9701, 10, 3, UNI_IN__5_DOT_2 } /* presentin=v52 */, - { 1, 9608, 1174, 3, 9, UNI_EA__F } /* ea=fullwidth */, - { 12, 8960, 36, 4, 1, UNI_IDS } /* ids=t */, - { 0, 3671, 9277, 17, 4, UNI_NBAT } /* scriptextensions=nbat */, - { 0, 3671, 8502, 17, 4, UNI_GOTH } /* scriptextensions=goth */, - { 1, 3671, 9305, 17, 4, UNI_ORYA } /* scriptextensions=orya */, - { 1, 7221, 0, 9, 0, UNI_EMOTICONS } /* emoticons */, - { 3, 9629, 414, 3, 11, UNI_LB__ID } /* lb=ideographic */, - { 6, 512, 0, 16, 0, UNI_UIDEO } /* unifiedideograph */, - { 32, 3868, 32, 16, 2, UNI__PERL_SURROGATE } /* generalcategory=cs */, - { 0, 8418, 36, 6, 1, UNI_BIDIM } /* bidim=t */, - { 2, 3002, 2493, 18, 8, UNI_DT__VERT } /* decompositiontype=vertical */, - { 9, 6928, 8864, 10, 5, -UNI_XPOSIXLOWER } /* lowercase=false */, - { 2, 8849, 36, 5, 1, UNI_CWCM } /* cwcm=t */, - { 0, 5565, 6701, 13, 11, UNI_JG__STRAIGHTWAW } /* joininggroup=straightwaw */, - { 1, 9623, 4954, 3, 3, UNI_JG__HEH } /* jg=heh */, - { 0, 184, 3884, 2, 11, UNI_GEORGIANEXT } /* isgeorgianext */, - { 2, 8879, 6268, 3, 7, UNI_PHAISTOS } /* inphaistos */, - { 0, 8886, 7118, 3, 4, UNI_WARA } /* sc=wara */, - { 0, 6918, 83, 10, 2, UNI_LB__CM } /* linebreak=cm */, - { 3, 117, 1853, 4, 14, UNI_INDICNUMBERFORMS } /* inindicnumberforms */, - { 1, 1497, 4747, 9, 15, UNI_UPPERCASELETTER } /* category=uppercaseletter */, - { 0, 4961, 0, 14, 0, UNI_HIGHSURROGATES } /* highsurrogates */, - { 2, 8233, 9277, 7, 4, UNI_NBAT } /* script=nbat */, - { 2, 3518, 0, 17, 0, UNI_CYRILLICEXTB } /* cyrillicextendedb */, - { 9, 1911, 3948, 22, 16, UNI_INSC__INVISIBLESTACKER } /* indicsyllabiccategory=invisiblestacker */, - { 2, 3671, 9317, 17, 4, UNI_PHLP } /* scriptextensions=phlp */, - { 0, 5617, 0, 9, 0, UNI_MLYM } /* malayalam */, - { 6, 5760, 8669, 13, 5, UNI_NV__1_SLASH_320 } /* numericvalue=1/320 */, - { 0, 3868, 4687, 16, 15, UNI_PS } /* generalcategory=openpunctuation */, - { 9, 9093, 4172, 4, 16, UNI_SUPMATHOPERATORS } /* blk=supmathoperators */, - { 2, 9093, 8538, 4, 6, UNI_INKHOJKI } /* blk=khojki */, - { 1, 8635, 9433, 5, 4, UNI_IDEO } /* ideo=true */, - { 1, 4826, 995, 9, 2, -UNI_XPOSIXXDIGIT } /* hexdigit=no */, - { 0, 3671, 7356, 17, 4, UNI_PALM } /* scriptextensions=palm */, - { 4, 3671, 1085, 17, 4, UNI_HANG } /* scriptextensions=hang */, - { 4, 9093, 4863, 4, 14, UNI_CJKCOMPATFORMS } /* blk=cjkcompatforms */, - { 1, 9909, 62, 7, 5, UNI_POSIXGRAPH } /* isposixgraph */, - { 1, 3552, 0, 17, 0, UNI_ETHIOPICEXTA } /* ethiopicextendeda */, - { 0, 8939, 0, 5, 0, UNI_TALE } /* taile */, - { 0, 8424, 2931, 7, 17, UNI_CHEROKEESUP } /* block=cherokeesupplement */, - { 3, 184, 878, 2, 14, UNI_PUA } /* isprivateusearea */, - { 0, 8142, 0, 4, 0, UNI_MARC } /* marc */, - { 0, 183, 0, 34, 0, UNI_MISCPICTOGRAPHS } /* miscellaneoussymbolsandpictographs */, - { 2, 9113, 8832, 4, 2, UNI_CCC__84 } /* ccc=84 */, - { 13, 9093, 8142, 4, 7, UNI_INMARCHEN } /* blk=marchen */, - { 4, 3671, 8255, 18, 6, UNI_SIDD } /* scriptextensions=siddham */, - { 0, 4361, 3095, 5, 15, UNI_INPUNCTUATION } /* ingeneralpunctuation */, - { 4, 1362, 8822, 24, 2, UNI_CCC__35 } /* canonicalcombiningclass=35 */, - { 0, 6885, 2647, 3, 9, UNI_JAMO } /* ishanguljamo */, - { 1, 4076, 0, 16, 0, UNI_MISCMATHSYMBOLSA } /* miscmathsymbolsa */, - { 0, 9113, 7507, 4, 2, UNI_CCC__12 } /* ccc=12 */, - { 0, 8332, 8680, 3, 4, UNI_ADLM } /* isadlam */, - { 0, 8886, 4108, 3, 7, UNI_SC__MYMR } /* sc=myanmar */, - { 4, 9093, 1531, 5, 22, UNI_BYZANTINEMUSIC } /* blk=byzantinemusicalsymbols */, - { 0, 8424, 5721, 6, 13, UNI_MAYANNUMERALS } /* block=mayannumerals */, - { 0, 8598, 26, 6, 1, UNI__PERL_PATWS } /* patws=y */, - { 22, 3671, 6691, 18, 10, UNI_SORA } /* scriptextensions=sorasompeng */, - { 1, 9731, 108, 3, 2, UNI_WB__MB } /* wb=mb */, - { 1, 8338, 36, 7, 1, UNI_XPOSIXSPACE } /* wspace=t */, - { 19, 8233, 8502, 7, 4, UNI_GOTH } /* script=goth */, - { 1, 1362, 8451, 24, 3, UNI_CCC__118 } /* canonicalcombiningclass=118 */, - { 4, 9620, 2192, 3, 2, UNI_PD } /* gc=pd */, - { 3, 3671, 8894, 17, 4, UNI_LIMB } /* scriptextensions=limb */, - { 2, 21, 3964, 2, 6, UNI_LATIN1 } /* inlatin1 */, - { 0, 9093, 1668, 4, 23, UNI_SUPPUNCTUATION } /* blk=supplementalpunctuation */, - { 0, 8261, 0, 7, 0, UNI_SOYO } /* soyombo */, - { 6, 5760, 7492, 13, 8, UNI_NV__1_SLASH_6 } /* numericvalue=1.67e-01 */, - { 0, 8886, 7892, 3, 4, UNI_SC__JAVA } /* sc=java */, - { 0, 8424, 1314, 6, 24, UNI_ARABICPFA } /* block=arabicpresentationformsa */, - { 2, 184, 4124, 2, 16, UNI_MYANMAREXTB } /* ismyanmarextendedb */, - { 0, 9125, 0, 3, 0, UNI_CWT } /* cwt */, - { 2, 184, 7313, 3, 2, UNI_CWT } /* iscwt */, - { 16, 5565, 5171, 13, 14, UNI_JG__MANICHAEANTETH } /* joininggroup=manichaeanteth */, - { 2, 9623, 4060, 3, 16, UNI_JG__MANICHAEANTWENTY } /* jg=manichaeantwenty */, - { 0, 1497, 3820, 9, 16, UNI_PE } /* category=closepunctuation */, - { 0, 184, 5604, 2, 13, UNI_LOWSURROGATES } /* islowsurrogates */, - { 0, 8296, 0, 7, 0, UNI_TAVT } /* taiviet */, - { 6, 9113, 8455, 5, 5, UNI_CCC__122 } /* ccc=ccc122 */, - { 1, 184, 7374, 2, 9, UNI_SAMR } /* issamaritan */, - { 1, 9093, 8430, 4, 6, UNI_INCARIAN } /* blk=carian */, - { 1, 7018, 7548, 10, 3, UNI_IN__3_DOT_1 } /* presentin=3.1 */, - { 0, 8886, 9453, 3, 3, UNI_VAI } /* sc=vai */, - { 1, 8886, 78, 3, 6, UNI_SC__ARAB } /* sc=arabic */, - { 2, 8508, 1, 6, 1, -UNI_GREXT } /* grext=n */, - { 13, 8871, 112, 3, 2, UNI_SB__SC } /* sb=sc */, - { 1, 3002, 719, 18, 3, UNI_DT__ENC } /* decompositiontype=enc */, - { 11, 1136, 995, 26, 2, -UNI_DI } /* defaultignorablecodepoint=no */, - { 0, 9113, 8449, 5, 4, UNI_CCC__11 } /* ccc=ccc11 */, - { 1, 9113, 8464, 4, 2, UNI_CCC__29 } /* ccc=29 */, - { 0, 9593, 18, 3, 1, UNI_BC__R } /* bc=r */, - { 0, 5325, 36, 14, 1, UNI_QMARK } /* quotationmark=t */, - { 4, 1362, 9077, 24, 3, UNI_CCC__202 } /* canonicalcombiningclass=atb */, - { 0, 8233, 9317, 7, 4, UNI_SC__PHLP } /* script=phlp */, - { 8, 8424, 5526, 6, 8, UNI_GREEKEXT } /* block=greekext */, - { 13, 9620, 74, 3, 2, UNI_ME } /* gc=me */, - { 0, 1911, 6219, 22, 12, UNI_INSC__NUMBERJOINER } /* indicsyllabiccategory=numberjoiner */, - { 2, 9093, 3552, 4, 17, UNI_ETHIOPICEXTA } /* blk=ethiopicextendeda */, - { 0, 9623, 6123, 3, 12, UNI_JG__MALAYALAMSSA } /* jg=malayalamssa */, - { 1, 6246, 0, 4, 0, UNI_HUNG } /* hung */, - { 0, 3868, 4732, 16, 15, UNI_TITLE } /* generalcategory=titlecaseletter */, - { 2, 9629, 721, 3, 2, UNI_LB__CL } /* lb=cl */, - { 1, 9623, 5143, 3, 14, UNI_JG__MANICHAEANQOPH } /* jg=manichaeanqoph */, - { 0, 184, 2, 3, 1, UNI_CI } /* isci */, - { 2, 8424, 8679, 6, 5, UNI_INADLAM } /* block=adlam */, - { 8, 184, 3772, 2, 16, UNI_BOPOMOFOEXT } /* isbopomofoextended */, - { 8, 5435, 0, 5, 0, UNI_BIDIM } /* bidim */, - { 0, 3722, 0, 17, 0, UNI_SUTTONSIGNWRITING } /* suttonsignwriting */, - { 0, 8510, 26, 4, 1, UNI_EXT } /* ext=y */, - { 0, 8871, 339, 3, 2, UNI_SB__LO } /* sb=lo */, - { 0, 184, 9173, 2, 4, UNI_GURU } /* isguru */, - { 5, 6885, 1600, 3, 22, UNI_COMPATJAMO } /* ishangulcompatibilityjamo */, - { 1, 8886, 3110, 3, 8, UNI_SC__GEOR } /* sc=georgian */, - { 5, 9365, 9349, 4, 4, UNI_ROHG } /* scx=rohg */, - { 2, 184, 7078, 2, 10, UNI_SUPARROWSB } /* issuparrowsb */, - { 2, 8886, 1845, 3, 6, UNI_SC__ZYYY } /* sc=common */, - { 0, 5339, 72, 14, 2, UNI_SB__LE } /* sentencebreak=le */, - { 0, 8640, 9433, 6, 4, UNI_XPOSIXUPPER } /* upper=true */, - { 2, 9093, 3586, 4, 17, UNI_INDICSIYAQNUMBERS } /* blk=indicsiyaqnumbers */, - { 1, 9365, 8128, 4, 7, UNI_MAKA } /* scx=makasar */, - { 1, 7025, 5409, 3, 2, UNI_IN__10 } /* in=10 */, - { 2, 9093, 8135, 4, 7, UNI_INMANDAIC } /* blk=mandaic */, - { 0, 9093, 5003, 4, 14, UNI_LATINEXTB } /* blk=latinextendedb */, - { 0, 6567, 254, 6, 29, UNI_MISCMATHSYMBOLSA } /* inmiscellaneousmathematicalsymbolsa */, - { 6, 4717, 0, 5, 0, UNI_TAML } /* tamil */, - { 0, 8424, 3110, 6, 8, UNI_INGEORGIAN } /* block=georgian */, - { 17, 9623, 5381, 3, 10, UNI_JG__TEHMARBUTA } /* jg=tehmarbuta */, - { 1, 4778, 4748, 3, 14, UNI_UPPERCASELETTER } /* isuppercaseletter */, - { 3, 1362, 7763, 24, 2, UNI_CCC__19 } /* canonicalcombiningclass=19 */, - { 1, 8233, 7203, 7, 9, UNI_BHKS } /* script=bhaiksuki */, - { 0, 2106, 5520, 21, 5, UNI_WB__EB } /* graphemeclusterbreak=ebase */, - { 5, 9113, 8457, 4, 3, UNI_CCC__122 } /* ccc=122 */, - { 1, 8886, 9457, 3, 4, UNI_WCHO } /* sc=wcho */, - { 7, 3868, 4507, 16, 15, UNI_LOWERCASELETTER } /* generalcategory=lowercaseletter */, - { 1, 9093, 3416, 4, 17, UNI_ALCHEMICAL } /* blk=alchemicalsymbols */, - { 1, 5760, 8400, 13, 2, UNI_NV__90 } /* numericvalue=90 */, - { 4, 8332, 5423, 3, 12, UNI_AEGEANNUMBERS } /* isaegeannumbers */, - { 5, 5760, 7644, 13, 8, UNI_NV__11_SLASH_2 } /* numericvalue=5.50e+00 */, - { 0, 8424, 9253, 6, 4, UNI_INMIAO } /* block=miao */, - { 2, 6885, 34, 3, 2, UNI_XPOSIXXDIGIT } /* ishex */, - { 0, 382, 0, 32, 0, UNI_EGYPTIANHIEROGLYPHFORMATCONTROLS } /* egyptianhieroglyphformatcontrols */, - { 0, 8424, 3308, 6, 12, UNI_SMALLKANAEXT } /* block=smallkanaext */, - { 1, 8496, 36, 6, 1, UNI_CWKCF } /* cwkcf=t */, - { 1, 9397, 0, 4, 0, UNI_TAGS } /* tags */, - { 0, 4933, 0, 14, 0, UNI_INGREEK } /* greekandcoptic */, - { 8, 8844, 1, 5, 1, -UNI_CWCF } /* cwcf=n */, - { 0, 184, 9261, 2, 4, UNI_MRO } /* ismroo */, - { 2, 9365, 9169, 4, 4, UNI_GUJR } /* scx=gujr */, - { 0, 1362, 8352, 24, 3, UNI_CCC__216 } /* canonicalcombiningclass=216 */, - { 0, 9365, 7812, 4, 8, UNI_DUPL } /* scx=duployan */, - { 2, 8100, 36, 7, 1, UNI_HYPHEN } /* hyphen=t */, - { 16, 9623, 4038, 3, 3, UNI_JG__LAM } /* jg=lam */, - { 4, 1497, 45, 9, 2, UNI_CO } /* category=co */, - { 0, 8233, 493, 7, 3, UNI_SC__HAN } /* script=han */, - { 4, 3868, 4140, 16, 5, UNI_C } /* generalcategory=other */, - { 1, 184, 3964, 2, 9, UNI_LATIN1 } /* islatin1sup */, - { 1, 9049, 7508, 4, 3, UNI_AGE__2 } /* age=2.0 */, - { 2, 9620, 206, 3, 2, UNI_PI } /* gc=pi */, - { 0, 8424, 8065, 6, 7, UNI_INELBASAN } /* block=elbasan */, - { 4, 5325, 8864, 14, 5, -UNI_QMARK } /* quotationmark=false */, - { 3, 5513, 0, 13, 0, UNI_grbase_values_index } /* graphemebase= */, - { 1, 9113, 24, 4, 1, UNI_CCC__L } /* ccc=l */, - { 7, 7018, 9698, 10, 3, UNI_IN__5_DOT_1 } /* presentin=v51 */, - { 0, 1192, 0, 4, 0, UNI_KANA } /* kana */, - { 8, 8233, 9169, 7, 4, UNI_SC__GUJR } /* script=gujr */, - { 0, 1576, 0, 15, 0, UNI_GEOMETRICSHAPES } /* geometricshapes */, - { 4, 9629, 9757, 3, 2, UNI_LB__H2 } /* lb=h2 */, - { 1, 6003, 26, 12, 1, UNI_JOINC } /* joincontrol=y */, - { 1, 8960, 26, 4, 1, UNI_IDS } /* ids=y */, - { 0, 9093, 7329, 4, 9, UNI_INOLDITALIC } /* blk=olditalic */, - { 1, 9305, 0, 4, 0, UNI_ORYA } /* orya */, - { 11, 8959, 8864, 5, 5, -UNI_XIDS } /* xids=false */, - { 20, 5760, 8358, 13, 6, UNI_NV__300000 } /* numericvalue=300000 */, - { 0, 9623, 5171, 3, 14, UNI_JG__MANICHAEANTETH } /* jg=manichaeanteth */, - { 8, 9620, 9777, 3, 2, UNI_ZP } /* gc=zp */, - { 4, 9728, 3, 3, 1, -UNI_VS } /* vs=f */, - { 0, 6918, 4195, 10, 9, UNI_LB__EM } /* linebreak=emodifier */, - { 1, 8879, 2479, 5, 14, UNI_INPC__BOTTOMANDRIGHT } /* inpc=bottomandright */, - { 0, 9365, 7329, 4, 9, UNI_ITAL } /* scx=olditalic */, - { 0, 5721, 0, 13, 0, UNI_MAYANNUMERALS } /* mayannumerals */, - { 3, 3326, 0, 11, 0, UNI_TAIXUANJING } /* taixuanjing */, - { 2, 1362, 0, 24, 0, UNI_ccc_values_index } /* canonicalcombiningclass= */, - { 0, 8622, 0, 4, 0, UNI_TELU } /* telu */, - { 6, 4462, 995, 15, 2, -UNI_GREXT } /* graphemeextend=no */, - { 2, 7108, 0, 10, 0, UNI_upper_values_index } /* uppercase= */, - { 16, 3671, 3110, 17, 8, UNI_GEOR } /* scriptextensions=georgian */, - { 6, 184, 1955, 2, 22, UNI_MISCTECHNICAL } /* ismiscellaneoustechnical */, - { 0, 8233, 9321, 7, 4, UNI_PHNX } /* script=phnx */, - { 9, 9049, 9441, 4, 4, UNI_AGE__11 } /* age=v110 */, - { 8, 8233, 7311, 7, 9, UNI_TALU } /* script=newtailue */, - { 1, 6885, 1163, 3, 25, UNI_HALFANDFULLFORMS } /* ishalfwidthandfullwidthforms */, - { 2, 9113, 5410, 4, 1, UNI_CCC__0 } /* ccc=0 */, - { 0, 9093, 6580, 4, 11, UNI_MYANMAREXTA } /* blk=myanmarexta */, - { 10, 6918, 1110, 10, 26, UNI_LB__CJ } /* linebreak=conditionaljapanesestarter */, - { 1, 2453, 995, 20, 2, -UNI_TERM } /* terminalpunctuation=no */, - { 0, 8233, 7812, 7, 4, UNI_SC__DUPL } /* script=dupl */, - { 1, 8874, 8864, 5, 5, -UNI_IDST } /* idst=false */, - { 7, 9904, 467, 5, 5, UNI_POSIXPUNCT } /* posixpunct */, - { 0, 6885, 4994, 3, 3, UNI_HIRA } /* ishira */, - { 0, 8884, 1553, 5, 23, UNI_INSC__CONSONANTPRECEDINGREPHA } /* insc=consonantprecedingrepha */, - { 1, 6003, 9734, 12, 3, UNI_JOINC } /* joincontrol=yes */, - { 2, 8886, 2127, 3, 4, UNI_SC__HAN } /* sc=hani */, - { 0, 9365, 9225, 4, 4, UNI_LINA } /* scx=lina */, - { 3, 9629, 9755, 3, 2, UNI_LB__BK } /* lb=bk */, - { 0, 9093, 113, 4, 25, UNI_DIACRITICALS } /* blk=combiningdiacriticalmarks */, - { 0, 7025, 9445, 3, 4, UNI_IN__12 } /* in=v120 */, - { 1, 2106, 1057, 21, 7, UNI_GCB__PP } /* graphemeclusterbreak=prepend */, - { 7, 9297, 0, 4, 0, UNI_OLCK } /* olck */, - { 1, 3868, 9775, 16, 2, UNI_ZL } /* generalcategory=zl */, - { 1, 9093, 7078, 4, 10, UNI_SUPARROWSB } /* blk=suparrowsb */, - { 2, 9623, 7392, 3, 9, UNI_JG__SYRIACWAW } /* jg=syriacwaw */, - { 4, 8424, 2855, 6, 19, UNI_SUPARROWSA } /* block=supplementalarrowsa */, - { 4, 9365, 4205, 5, 5, UNI_SYRC } /* scx=syriac */, - { 0, 3671, 9285, 17, 3, UNI_NKO } /* scriptextensions=nko */, - { 1, 3254, 9734, 18, 3, UNI_RI } /* regionalindicator=yes */, - { 17, 5979, 8864, 12, 5, -UNI_IDEO } /* ideographic=false */, - { 1, 7812, 0, 8, 0, UNI_DUPL } /* duployan */, - { 5, 5760, 7540, 13, 3, UNI_NV__200 } /* numericvalue=200 */, - { 0, 9365, 9394, 5, 3, UNI_SYRC } /* scx=syrc */, - { 3, 7108, 1, 10, 1, -UNI_XPOSIXUPPER } /* uppercase=n */, - { 0, 184, 9285, 2, 4, UNI_NKO } /* isnkoo */, - { 0, 569, 0, 30, 0, UNI_CJKEXTC } /* cjkunifiedideographsextensionc */, - { 1, 1136, 3, 26, 1, -UNI_DI } /* defaultignorablecodepoint=f */, - { 2, 5591, 0, 13, 0, UNI_ZL } /* lineseparator */, - { 0, 5565, 9617, 13, 3, UNI_JG__GAF } /* joininggroup=gaf */, - { 3, 1977, 3, 22, 1, -UNI__PERL_NCHAR } /* noncharactercodepoint=f */, - { 1, 184, 3728, 2, 11, UNI_SGNW } /* issignwriting */, - { 1, 4821, 9734, 14, 3, UNI_POSIXXDIGIT } /* asciihexdigit=yes */, - { 2, 1536, 383, 3, 31, UNI_EGYPTIANHIEROGLYPHFORMATCONTROLS } /* inegyptianhieroglyphformatcontrols */, - { 0, 7025, 9674, 3, 3, UNI_IN__2 } /* in=v20 */, - { 2, 8424, 4220, 6, 6, UNI_INTANGUT } /* block=tangut */, - { 8, 8628, 0, 4, 0, UNI_THAA } /* thaa */, - { 8, 8424, 4373, 7, 14, UNI_CONTROLPICTURES } /* block=controlpictures */, - { 1, 8233, 8079, 7, 7, UNI_SC__GRAN } /* script=grantha */, - { 65, 9946, 6724, 3, 3, UNI_SYLO } /* issylo */, - { 1, 8233, 3020, 7, 4, UNI_SC__DEVA } /* script=deva */, - { 1, 184, 4108, 2, 16, UNI_MYANMAREXTA } /* ismyanmarextendeda */, - { 0, 9113, 7614, 4, 2, UNI_CCC__17 } /* ccc=17 */, - { 10, 5760, 8977, 13, 4, UNI_NV__1_SLASH_20 } /* numericvalue=1/20 */, - { 1, 9365, 6051, 4, 4, UNI_MAHJ } /* scx=mahj */, - { 0, 9781, 9883, 6, 9, UNI__PERL_ANY_FOLDS } /* _perl_any_folds */, - { 0, 1757, 9734, 22, 3, UNI_CWL } /* changeswhenlowercased=yes */, - { 1, 8886, 8205, 3, 7, UNI_OSMA } /* sc=osmanya */, - { 3, 8886, 2836, 3, 4, UNI_SUND } /* sc=sund */, - { 0, 6194, 3201, 3, 17, UNI_ORNAMENTALDINGBATS } /* inornamentaldingbats */, - { 0, 9365, 4672, 4, 15, UNI_SARB } /* scx=oldsoutharabian */, - { 14, 8424, 6646, 6, 11, UNI_INPAHAWHHMONG } /* block=pahawhhmong */, - { 2, 8219, 0, 6, 0, UNI_PATSYN } /* patsyn */, - { 0, 9093, 8924, 4, 5, UNI_INORIYA } /* blk=oriya */, - { 0, 9365, 9173, 4, 4, UNI_GURU } /* scx=guru */, - { 2, 9093, 3964, 4, 6, UNI_LATIN1 } /* blk=latin1 */, - { 1, 8510, 36, 4, 1, UNI_EXT } /* ext=t */, - { 2, 9113, 8715, 5, 4, UNI_CCC__14 } /* ccc=ccc14 */, - { 2, 7419, 1, 9, 1, -UNI_XIDS } /* xidstart=n */, - { 1, 1362, 1189, 24, 3, UNI_CCC__214 } /* canonicalcombiningclass=ata */, - { 5, 9093, 4298, 5, 14, UNI_BRAI } /* blk=braillepatterns */, - { 0, 9325, 0, 4, 0, UNI_MIAO } /* plrd */, - { 0, 184, 1387, 3, 23, UNI_CJKSYMBOLS } /* iscjksymbolsandpunctuation */, - { 4, 9137, 9734, 4, 3, UNI_DEP } /* dep=yes */, - { 0, 9125, 9433, 4, 4, UNI_CWT } /* cwt=true */, - { 1, 9629, 395, 3, 2, UNI_LB__GL } /* lb=gl */, - { 0, 184, 3254, 2, 17, UNI_RI } /* isregionalindicator */, - { 1, 8233, 7302, 7, 9, UNI_NBAT } /* script=nabataean */, - { 1, 1497, 1410, 9, 13, UNI_M } /* category=combiningmark */, - { 0, 6885, 2128, 3, 3, UNI_HAN } /* ishani */, - { 0, 1757, 9433, 22, 4, UNI_CWL } /* changeswhenlowercased=true */, - { 1, 184, 3837, 3, 6, UNI_CPRT } /* iscypriot */, - { 0, 3671, 9345, 17, 4, UNI_RJNG } /* scriptextensions=rjng */, - { 10, 3671, 9481, 17, 4, UNI_ZANB } /* scriptextensions=zanb */, - { 1, 8424, 4792, 6, 15, UNI_INZANABAZARSQUARE } /* block=zanabazarsquare */, - { 5, 9049, 7462, 4, 1, UNI_AGE__4 } /* age=4 */, - { 0, 5760, 7555, 13, 2, UNI_NV__23 } /* numericvalue=23 */, - { 4, 8886, 3980, 3, 7, UNI_SC__LINB } /* sc=linearb */, - { 6, 9365, 9485, 4, 4, UNI_QAAI } /* scx=zinh */, - { 0, 9921, 0, 5, 0, UNI_XPOSIXPRINT } /* print */, - { 2, 184, 18, 2, 2, UNI_RI } /* isri */, - { 3, 21, 7148, 2, 10, UNI_YIRADICALS } /* inyiradicals */, - { 6, 4705, 47, 5, 1, UNI_TERM } /* isterm */, - { 1, 184, 7068, 2, 10, UNI_SUPARROWSA } /* issuparrowsa */, - { 9, 1911, 4612, 22, 15, UNI_INSC__MODIFYINGLETTER } /* indicsyllabiccategory=modifyingletter */, - { 0, 5760, 8388, 13, 5, UNI_NV__70000 } /* numericvalue=70000 */, - { 1, 3671, 8107, 17, 7, UNI_KNDA } /* scriptextensions=kannada */, - { 0, 9365, 7956, 4, 8, UNI_TAGB } /* scx=tagbanwa */, - { 0, 5003, 0, 14, 0, UNI_LATINEXTB } /* latinextendedb */, - { 0, 1735, 3, 22, 1, -UNI_CWCM } /* changeswhencasemapped=f */, - { 4, 8149, 0, 4, 0, UNI_MULT } /* mult */, - { 2, 8424, 4267, 6, 15, UNI_BAMUMSUP } /* block=bamumsupplement */, - { 0, 184, 2169, 2, 21, UNI_MEETEIMAYEKEXT } /* ismeeteimayekextensions */, - { 8, 9097, 721, 4, 5, UNI_BPT__C } /* bpt=close */, - { 0, 5339, 1164, 14, 2, UNI_LB__LF } /* sentencebreak=lf */, - { 3, 6816, 1531, 3, 13, UNI_BYZANTINEMUSIC } /* inbyzantinemusic */, - { 0, 8332, 15, 4, 2, UNI_ARAB } /* isarab */, - { 5, 8219, 0, 7, 0, UNI_patsyn_values_index } /* patsyn= */, - { 2, 8424, 1576, 6, 23, UNI_GEOMETRICSHAPESEXT } /* block=geometricshapesextended */, - { 7, 8886, 2085, 3, 8, UNI_SC__CYRL } /* sc=cyrillic */, - { 1, 42, 0, 9, 0, UNI_CJKCOMPAT } /* cjkcompat */, - { 0, 5565, 9477, 13, 4, UNI_JG__ZAIN } /* joininggroup=zain */, - { 6, 9946, 7942, 4, 6, UNI_SPECIALS } /* isspecials */, - { 4, 1239, 3, 25, 1, -UNI_COMPEX } /* fullcompositionexclusion=f */, - { 3, 8086, 0, 6, 0, UNI_GRBASE } /* grbase */, - { 0, 2148, 4205, 3, 5, UNI_INSYRIAC } /* insyriac */, - { 0, 21, 2232, 2, 6, UNI_YIJING } /* inyijing */, - { 0, 316, 0, 33, 0, UNI_SUPMATHOPERATORS } /* supplementalmathematicaloperators */, - { 0, 9731, 5952, 3, 3, UNI_LB__ZWJ } /* wb=zwj */, - { 1, 9781, 25, 29, 1, UNI__PERL_PROBLEMATIC_LOCALE_FOLDS } /* _perl_problematic_locale_folds */, - { 7, 4124, 0, 16, 0, UNI_MYANMAREXTB } /* myanmarextendedb */, - { 8, 9093, 8030, 4, 7, UNI_CJKEXTD } /* blk=cjkextd */, - { 2, 1801, 1, 22, 1, -UNI_CWU } /* changeswhenuppercased=n */, - { 0, 1713, 0, 21, 0, UNI_CWCF } /* changeswhencasefolded */, - { 2, 8424, 3964, 6, 16, UNI_LATIN1 } /* block=latin1supplement */, - { 2, 9647, 8354, 3, 3, UNI_NV__600 } /* nv=600 */, - { 0, 1911, 1553, 22, 23, UNI_INSC__CONSONANTPRECEDINGREPHA } /* indicsyllabiccategory=consonantprecedingrepha */, - { 6, 8854, 26, 5, 1, UNI_DASH } /* dash=y */, - { 0, 9049, 9689, 4, 3, UNI_AGE__4 } /* age=v40 */, - { 0, 8233, 7356, 7, 4, UNI_PALM } /* script=palm */, - { 0, 9321, 0, 4, 0, UNI_PHNX } /* phnx */, - { 2, 6918, 58, 10, 2, UNI_LB__ID } /* linebreak=id */, - { 0, 8496, 26, 6, 1, UNI_CWKCF } /* cwkcf=y */, - { 0, 1668, 0, 23, 0, UNI_SUPPUNCTUATION } /* supplementalpunctuation */, - { 3, 9599, 9734, 3, 3, UNI_CI } /* ci=yes */, - { 0, 8934, 0, 5, 0, UNI_RUNR } /* runic */, - { 0, 2453, 0, 19, 0, UNI_TERM } /* terminalpunctuation */, - { 1, 4447, 8574, 15, 6, UNI_EA__NA } /* eastasianwidth=narrow */, - { 11, 9365, 9181, 4, 4, UNI_HLUW } /* scx=hluw */, - { 5, 2708, 7774, 4, 6, UNI_INARMENIAN } /* inarmenian */, - { 2, 184, 9337, 2, 4, UNI_QAAI } /* isqaai */, - { 0, 9093, 6382, 4, 6, UNI_DOMINO } /* blk=domino */, - { 1, 1536, 3039, 3, 7, UNI_INETHIOPIC } /* inethiopic */, - { 2, 9623, 5692, 3, 3, UNI_JG__TAW } /* jg=taw */, - { 0, 9599, 8864, 3, 5, -UNI_CI } /* ci=false */, - { 1, 9113, 7571, 4, 2, UNI_CCC__33 } /* ccc=33 */, - { 0, 2333, 0, 13, 0, UNI_GLAGOLITICSUP } /* glagoliticsup */, - { 0, 9731, 400, 3, 6, UNI_WB__FO } /* wb=format */, - { 0, 8233, 8107, 7, 7, UNI_SC__KNDA } /* script=kannada */, - { 0, 9401, 0, 4, 0, UNI_TALE } /* tale */, - { 0, 9365, 6646, 4, 11, UNI_HMNG } /* scx=pahawhhmong */, - { 1, 7018, 7668, 10, 3, UNI_IN__6_DOT_2 } /* presentin=6.2 */, - { 2, 8233, 2006, 7, 4, UNI_SC__MODI } /* script=modi */, - { 0, 8135, 0, 7, 0, UNI_MAND } /* mandaic */, - { 2, 8886, 2333, 3, 10, UNI_SC__GLAG } /* sc=glagolitic */, - { 0, 7900, 0, 8, 0, UNI_KANAEXTA } /* kanaexta */, - { 4, 9623, 5097, 3, 4, UNI_JG__BETH } /* jg=beth */, - { 8, 8424, 5872, 7, 11, UNI_CYRILLICEXTA } /* block=cyrillicexta */, - { 3, 9365, 8262, 5, 3, UNI_SOYO } /* scx=soyo */, - { 4, 5760, 8354, 13, 2, UNI_NV__60 } /* numericvalue=60 */, - { 1, 9629, 2368, 3, 2, UNI_LB__HL } /* lb=hl */, - { 0, 9093, 3756, 4, 16, UNI_ARABICSUP } /* blk=arabicsupplement */, - { 2, 8424, 5617, 6, 9, UNI_INMALAYALAM } /* block=malayalam */, - { 0, 8871, 495, 3, 2, UNI_SB__NU } /* sb=nu */, - { 5, 1911, 7780, 22, 8, UNI_INSC__AVAGRAHA } /* indicsyllabiccategory=avagraha */, - { 1, 8233, 8919, 7, 5, UNI_OGAM } /* script=ogham */, - { 9, 9605, 45, 3, 3, UNI_DT__COM } /* dt=com */, - { 12, 9623, 5241, 3, 14, UNI_JG__NOJOININGGROUP } /* jg=nojoininggroup */, - { 0, 3671, 9337, 17, 4, UNI_QAAI } /* scriptextensions=qaai */, - { 8, 8886, 8568, 3, 4, UNI_LYDI } /* sc=lydi */, - { 0, 5565, 6547, 13, 11, UNI_JG__MALAYALAMRA } /* joininggroup=malayalamra */, - { 3, 184, 8550, 2, 6, UNI_LEPC } /* islepcha */, - { 2, 9909, 4828, 7, 6, UNI_POSIXXDIGIT } /* isposixxdigit */, - { 0, 1851, 0, 16, 0, UNI_INDICNUMBERFORMS } /* indicnumberforms */, - { 0, 9113, 7495, 4, 1, UNI_CCC__7 } /* ccc=7 */, - { 5, 6316, 0, 11, 0, UNI_idc_values_index } /* idcontinue= */, - { 0, 8635, 26, 5, 1, UNI_IDEO } /* ideo=y */, - { 0, 5835, 995, 12, 2, -UNI_BIDIC } /* bidicontrol=no */, - { 1, 21, 9233, 2, 4, UNI_LISU } /* inlisu */, - { 0, 8886, 8622, 3, 6, UNI_SC__TELU } /* sc=telugu */, - { 1, 5760, 8674, 13, 5, UNI_NV__11_SLASH_12 } /* numericvalue=11/12 */, - { 0, 3671, 3984, 18, 3, UNI_SARB } /* scriptextensions=sarb */, - { 0, 5760, 9018, 13, 3, UNI_NV__7_SLASH_2 } /* numericvalue=7/2 */, - { 1, 184, 7804, 2, 8, UNI_BUGI } /* isbuginese */, - { 1, 5565, 4947, 13, 14, UNI_JG__HAMZAONHEHGOAL } /* joininggroup=hamzaonhehgoal */, - { 1, 9049, 9704, 4, 3, UNI_AGE__6 } /* age=v60 */, - { 1, 9333, 0, 4, 0, UNI_COPT } /* qaac */, - { 2, 4778, 3026, 3, 3, UNI_UGAR } /* isugar */, - { 2, 1911, 0, 22, 0, UNI_insc_values_index } /* indicsyllabiccategory= */, - { 1, 4172, 0, 16, 0, UNI_SUPMATHOPERATORS } /* supmathoperators */, - { 0, 9093, 4268, 5, 14, UNI_BAMUMSUP } /* blk=bamumsupplement */, - { 0, 9093, 283, 4, 33, UNI_MISCMATHSYMBOLSB } /* blk=miscellaneousmathematicalsymbolsb */, - { 1, 8424, 6558, 6, 11, UNI_INMEDEFAIDRIN } /* block=medefaidrin */, - { 9, 9647, 8989, 3, 3, UNI_NV__1_SLASH_8 } /* nv=1/8 */, - { 8, 6816, 5590, 3, 7, UNI_INBALINESE } /* inbalinese */, - { 2, 1362, 24, 24, 1, UNI_CCC__L } /* canonicalcombiningclass=l */, - { 16, 9093, 78, 4, 10, UNI_ARABICMATH } /* blk=arabicmath */, + { 2, 9768, 9632, 4, 4, UNI_LINA } /* scx=lina */, + { 2, 5791, 6572, 13, 4, UNI_JG__NOON } /* joininggroup=noon */, + { 1, 7325, 9384, 3, 4, UNI_IN__10 } /* in=10.0 */, + { 2, 9488, 7188, 4, 10, UNI_INKHAROSHTHI } /* blk=kharoshthi */, + { 1, 1417, 23, 24, 2, UNI_CCC__AL } /* canonicalcombiningclass=al */, + { 0, 184, 2666, 3, 10, UNI_COUNTINGROD } /* iscountingrod */, + { 0, 1654, 0, 23, 0, UNI_COMPATJAMO } /* hangulcompatibilityjamo */, + { 8, 7158, 9836, 10, 4, UNI_DIA } /* diacritic=true */, + { 2, 8780, 8373, 7, 6, UNI_CJKEXTD } /* block=cjkextd */, + { 1, 5986, 9973, 13, 3, UNI_NV__5_SLASH_6 } /* numericvalue=5/6 */, + { 1, 10027, 6323, 3, 5, UNI_JG__GAMAL } /* jg=gamal */, + { 0, 8900, 0, 6, 0, UNI_KTHI } /* kaithi */, + { 6, 1537, 2455, 24, 5, UNI_INPC__RIGHT } /* indicpositionalcategory=right */, + { 0, 7398, 0, 10, 0, UNI_SUPARROWSC } /* suparrowsc */, + { 1, 9002, 0, 6, 0, UNI_TELU } /* telugu */, + { 4, 10024, 9503, 3, 2, UNI_MC } /* gc=mc */, + { 0, 7218, 18, 10, 2, UNI_RI } /* linebreak=ri */, + { 0, 1856, 0, 21, 0, UNI_CWU } /* changeswhenuppercased */, + { 1, 2779, 0, 3, 0, UNI_IDS } /* ids */, + { 8, 10048, 9061, 3, 4, UNI_NV__1_SLASH_12 } /* nv=1/12 */, + { 0, 10006, 10135, 3, 3, UNI_DI } /* di=yes */, + { 0, 8780, 5947, 6, 13, UNI_MAYANNUMERALS } /* block=mayannumerals */, + { 1, 9444, 10108, 4, 3, UNI_AGE__6_DOT_1 } /* age=v61 */, + { 0, 5186, 0, 14, 0, UNI_HIGHSURROGATES } /* highsurrogates */, + { 0, 10333, 1528, 3, 8, UNI__PERL_SURROGATE } /* issurrogate */, + { 1, 7739, 3, 8, 1, -UNI_IDS } /* idstart=f */, + { 0, 184, 6840, 2, 11, UNI_NAND } /* isnandinagari */, + { 0, 446, 0, 32, 0, UNI_IDEOGRAPHICSYMBOLS } /* ideographicsymbolsandpunctuation */, + { 4, 9448, 0, 4, 0, UNI_AGHB } /* aghb */, + { 3, 3836, 9712, 17, 4, UNI_OSGE } /* scriptextensions=osge */, + { 0, 9270, 7685, 3, 8, UNI_INPAUCINHAU } /* inpaucinhau */, + { 0, 10048, 9055, 3, 3, UNI_NV__1_SLASH_3 } /* nv=1/3 */, + { 7, 1834, 10135, 22, 3, UNI_CWT } /* changeswhentitlecased=yes */, + { 1, 9768, 8414, 4, 7, UNI_ELBA } /* scx=elbasan */, + { 4, 8780, 1673, 6, 4, UNI_JAMO } /* block=jamo */, + { 0, 8688, 5662, 3, 12, UNI_AEGEANNUMBERS } /* isaegeannumbers */, + { 0, 1552, 5040, 9, 5, UNI_XPOSIXDIGIT } /* category=digit */, + { 4, 10296, 25, 3, 1, UNI_PS } /* isps */, + { 0, 1536, 0, 4, 0, UNI_SIND } /* sind */, + { 0, 1417, 8807, 24, 3, UNI_CCC__118 } /* canonicalcombiningclass=118 */, + { 5, 8774, 9836, 6, 4, UNI_BIDIM } /* bidim=true */, + { 2, 9488, 283, 4, 33, UNI_MISCMATHSYMBOLSB } /* blk=miscellaneousmathematicalsymbolsb */, + { 0, 1823, 0, 9, 0, UNI_XPOSIXLOWER } /* lowercase */, + { 1, 184, 8924, 2, 4, UNI_LEPC } /* islepc */, + { 0, 9277, 8243, 3, 8, UNI_SC__MAHJ } /* sc=mahajani */, + { 1, 9277, 9315, 3, 5, UNI_SC__ORYA } /* sc=oriya */, + { 3, 9768, 8936, 4, 6, UNI_LYCI } /* scx=lycian */, + { 1, 5270, 0, 14, 0, UNI_LATINEXTE } /* latinextendede */, + { 1, 3836, 4448, 17, 4, UNI_BAMU } /* scriptextensions=bamu */, + { 0, 8267, 26, 8, 1, UNI_RADICAL } /* radical=y */, + { 0, 32, 0, 2, 0, UNI__PERL_SURROGATE } /* cs */, + { 16, 1417, 3564, 24, 13, UNI_CCC__202 } /* canonicalcombiningclass=attachedbelow */, + { 0, 10024, 4943, 3, 15, UNI_TITLE } /* gc=titlecaseletter */, + { 0, 2182, 406, 21, 7, UNI_GCB__CN } /* graphemeclusterbreak=control */, + { 1, 6241, 24, 12, 1, UNI_JT__L } /* joiningtype=l */, + { 0, 10048, 9973, 3, 3, UNI_NV__5_SLASH_6 } /* nv=5/6 */, + { 1, 21, 7585, 2, 9, UNI_LATINEXTC } /* inlatinextc */, + { 0, 3836, 9864, 17, 4, UNI_WCHO } /* scriptextensions=wcho */, + { 1, 3367, 26, 18, 1, UNI__PERL_PATWS } /* patternwhitespace=y */, + { 0, 8780, 2469, 6, 20, UNI_INNYIAKENGPUACHUEHMONG } /* block=nyiakengpuachuehmong */, + { 1, 8780, 749, 6, 21, UNI_ENCLOSEDALPHANUM } /* block=enclosedalphanumerics */, + { 2, 184, 9576, 2, 4, UNI_GURU } /* isguru */, + { 0, 10333, 9793, 3, 3, UNI_SOGO } /* issogo */, + { 0, 10048, 7771, 3, 8, UNI_NV__1_SLASH_80 } /* nv=1.25e-02 */, + { 1, 9444, 9991, 4, 3, UNI_AGE__9 } /* age=9.0 */, + { 0, 9488, 567, 4, 2, UNI_NB } /* blk=nb */, + { 0, 9488, 1922, 4, 12, UNI_DIACRITICALS } /* blk=diacriticals */, + { 13, 1537, 2555, 24, 6, UNI_INPC__BOTTOM } /* indicpositionalcategory=bottom */, + { 1, 10024, 5497, 3, 11, UNI_MC } /* gc=spacingmark */, + { 3, 2784, 80, 4, 8, UNI_ARABICMATH } /* inarabicmath */, + { 0, 5791, 5620, 13, 14, UNI_JG__HAMZAONHEHGOAL } /* joininggroup=tehmarbutagoal */, + { 32, 4791, 1595, 3, 13, UNI_MUSIC } /* inmusicalsymbols */, + { 0, 8589, 2329, 7, 20, UNI_HLUW } /* script=anatolianhieroglyphs */, + { 0, 7088, 3374, 10, 10, UNI_BC__WS } /* bidiclass=whitespace */, + { 0, 184, 7168, 2, 10, UNI_DIAK } /* isdivesakuru */, + { 0, 184, 9636, 2, 4, UNI_LINB } /* islinb */, + { 0, 9488, 7684, 4, 9, UNI_INPAUCINHAU } /* blk=paucinhau */, + { 0, 6939, 0, 11, 0, UNI_SORA } /* sorasompeng */, + { 3, 9768, 8131, 4, 8, UNI_DUPL } /* scx=duployan */, + { 1, 9488, 629, 4, 30, UNI_CJKEXTE } /* blk=cjkunifiedideographsextensione */, + { 8, 9488, 2098, 4, 21, UNI_CJKCOMPATFORMS } /* blk=cjkcompatibilityforms */, + { 1, 10290, 96, 6, 5, UNI_XPOSIXALPHA } /* xposixalpha */, + { 1, 9732, 0, 4, 0, UNI_PRTI } /* prti */, + { 0, 8589, 3241, 7, 8, UNI_SC__GEOR } /* script=georgian */, + { 1, 5032, 0, 14, 0, UNI_ahex_values_index } /* asciihexdigit= */, + { 1, 3529, 36, 18, 1, UNI_VS } /* variationselector=t */, + { 0, 2569, 409, 20, 2, UNI_VO__TR } /* verticalorientation=tr */, + { 3, 2182, 6763, 21, 3, UNI_LB__H3 } /* graphemeclusterbreak=lvt */, + { 1, 9768, 8299, 4, 8, UNI_TFNG } /* scx=tifinagh */, + { 0, 6553, 0, 11, 0, UNI_XIDC } /* xidcontinue */, + { 0, 3836, 4793, 17, 15, UNI_MERC } /* scriptextensions=meroiticcursive */, + { 10, 341, 0, 2, 0, UNI_PE } /* pe */, + { 1, 3097, 8846, 18, 6, UNI_DT__ENC } /* decompositiontype=circle */, + { 2, 4688, 6609, 15, 10, UNI_DEP } /* identifiertype=deprecated */, + { 0, 184, 9231, 3, 3, UNI_CWCF } /* iscwcf */, + { 2, 8780, 6829, 6, 11, UNI_MYANMAREXTB } /* block=myanmarextb */, + { 0, 5986, 7781, 13, 1, UNI_NV__4 } /* numericvalue=4 */, + { 1, 0, 0, 34, 0, UNI_UCAS } /* unifiedcanadianaboriginalsyllabics */, + { 1, 1417, 3007, 24, 18, UNI_CCC__216 } /* canonicalcombiningclass=attachedaboveright */, + { 1, 1966, 9090, 22, 5, UNI_INSC__BINDU } /* indicsyllabiccategory=bindu */, + { 0, 6229, 1025, 12, 2, -UNI_JOINC } /* joincontrol=no */, + { 2, 9997, 2893, 3, 19, UNI_BC__RLO } /* bc=righttoleftoverride */, + { 5, 8780, 149, 7, 34, UNI_DIACRITICALSSUP } /* block=combiningdiacriticalmarkssupplement */, + { 1, 9528, 0, 4, 0, UNI_cwu_values_index } /* cwu= */, + { 0, 9277, 9440, 3, 4, UNI_SC__ADLM } /* sc=adlm */, + { 1, 9488, 9032, 4, 6, UNI_INWANCHO } /* blk=wancho */, + { 7, 10048, 8756, 3, 2, UNI_NV__90 } /* nv=90 */, + { 0, 9277, 9812, 3, 4, UNI_SC__TAML } /* sc=taml */, + { 8, 5986, 8720, 13, 6, UNI_NV__400000 } /* numericvalue=400000 */, + { 1, 10009, 1253, 3, 4, UNI_DT__INIT } /* dt=init */, + { 0, 7218, 866, 10, 2, UNI_LB__SP } /* linebreak=sp */, + { 3, 9997, 2449, 3, 11, UNI_BC__L } /* bc=lefttoright */, + { 2, 3115, 0, 13, 0, UNI_DEVANAGARIEXT } /* devanagariext */, + { 1, 5791, 3785, 13, 17, UNI_JG__MANICHAEANDHAMEDH } /* joininggroup=manichaeandhamedh */, + { 1, 9508, 7178, 4, 10, UNI_CCC__6 } /* ccc=hanreading */, + { 4, 5986, 8750, 13, 3, UNI_NV__800 } /* numericvalue=800 */, + { 5, 5060, 9255, 14, 5, -UNI_CI } /* caseignorable=false */, + { 2, 184, 6818, 2, 11, UNI_MYANMAREXTA } /* ismyanmarexta */, + { 0, 5037, 1, 9, 1, -UNI_XPOSIXXDIGIT } /* hexdigit=n */, + { 0, 21, 5662, 3, 12, UNI_AEGEANNUMBERS } /* inaegeannumbers */, + { 1, 4898, 0, 15, 0, UNI_PS } /* openpunctuation */, + { 8, 5986, 8714, 13, 4, UNI_NV__3000 } /* numericvalue=3000 */, + { 0, 8589, 9736, 7, 4, UNI_SC__COPT } /* script=qaac */, + { 0, 7088, 10036, 10, 3, UNI_BC__LRE } /* bidiclass=lre */, + { 2, 5564, 9836, 14, 4, UNI_QMARK } /* quotationmark=true */, + { 1, 9277, 9864, 3, 4, UNI_WCHO } /* sc=wcho */, + { 3, 9508, 7978, 4, 2, UNI_CCC__16 } /* ccc=16 */, + { 2, 5564, 26, 14, 1, UNI_QMARK } /* quotationmark=y */, + { 0, 6231, 2120, 3, 20, UNI_CJKRADICALSSUP } /* incjkradicalssupplement */, + { 7, 10048, 8732, 3, 6, UNI_NV__500000 } /* nv=500000 */, + { 1, 3836, 9660, 17, 4, UNI_MLYM } /* scriptextensions=mlym */, + { 0, 1552, 1899, 9, 2, UNI_PC } /* category=pc */, + { 0, 9768, 78, 4, 4, UNI_ARAB } /* scx=arab */, + { 21, 10296, 7676, 3, 8, UNI_PALM } /* ispalmyrene */, + { 0, 27, 0, 2, 0, UNI_LOWERCASELETTER } /* ll */, + { 1, 1823, 0, 5, 0, UNI_XPOSIXLOWER } /* lower */, + { 0, 10027, 6349, 3, 12, UNI_JG__MALAYALAMSSA } /* jg=malayalamssa */, + { 3, 8780, 2203, 6, 14, UNI_INHANIFIROHINGYA } /* block=hanifirohingya */, + { 2, 184, 8219, 2, 4, UNI_JAVA } /* isjava */, + { 0, 9488, 4568, 4, 15, UNI_CURRENCYSYMBOLS } /* blk=currencysymbols */, + { 1, 6420, 1061, 3, 26, UNI_OCR } /* inopticalcharacterrecognition */, + { 2, 5791, 3802, 13, 17, UNI_JG__MANICHAEANHUNDRED } /* joininggroup=manichaeanhundred */, + { 16, 1188, 8646, 3, 6, UNI_INTAITHAM } /* intaitham */, + { 9, 1018, 0, 5, 0, UNI_MUSIC } /* music */, + { 0, 9488, 7495, 4, 9, UNI_ARABICPFA } /* blk=arabicpfa */, + { 1, 9260, 0, 5, 0, UNI_idsb_values_index } /* idsb= */, + { 0, 8589, 9700, 7, 4, UNI_OLCK } /* script=olck */, + { 0, 1417, 1756, 24, 2, UNI_CCC__BR } /* canonicalcombiningclass=br */, + { 4, 9270, 472, 3, 2, UNI_PUA } /* inpua */, + { 0, 184, 9652, 2, 4, UNI_MERC } /* ismerc */, + { 4, 1189, 0, 3, 0, UNI_nt_values_index } /* nt= */, + { 8, 9275, 4353, 5, 16, UNI_INSC__SYLLABLEMODIFIER } /* insc=syllablemodifier */, + { 3, 10288, 2779, 3, 3, UNI_XIDS } /* isxids */, + { 1, 184, 0, 4, 0, UNI_CE } /* isce */, + { 3, 8688, 5019, 3, 13, UNI_ANCIENTSYMBOLS } /* isancientsymbols */, + { 1, 9508, 8823, 5, 4, UNI_CCC__13 } /* ccc=ccc13 */, + { 1, 9768, 8219, 4, 8, UNI_JAVA } /* scx=javanese */, + { 2, 8400, 26, 7, 1, UNI_COMPEX } /* compex=y */, + { 1, 10027, 7016, 3, 11, UNI_JG__YEHWITHTAIL } /* jg=yehwithtail */, + { 1, 7155, 34, 3, 2, UNI_XPOSIXXDIGIT } /* ishex */, + { 0, 5986, 7915, 13, 8, UNI_NV__3_SLASH_80 } /* numericvalue=3.75e-02 */, + { 17, 9997, 1, 4, 1, UNI_BC__BN } /* bc=bn */, + { 6, 1188, 2077, 3, 21, UNI_TRANSPORTANDMAP } /* intransportandmapsymbols */, + { 0, 184, 10176, 2, 2, UNI_ZL } /* iszl */, + { 2, 6469, 11, 12, 2, UNI_NT__DI } /* numerictype=di */, + { 8, 10033, 7512, 3, 2, UNI_LB__BB } /* lb=bb */, + { 0, 7325, 9985, 3, 3, UNI_IN__7 } /* in=7.0 */, + { 0, 2224, 0, 21, 0, UNI_PRTI } /* inscriptionalparthian */, + { 7, 9768, 9636, 4, 4, UNI_LINB } /* scx=linb */, + { 1, 8936, 0, 6, 0, UNI_LYCI } /* lycian */, + { 0, 9997, 3313, 3, 18, UNI_BC__LRI } /* bc=lefttorightisolate */, + { 2, 8589, 8421, 7, 4, UNI_ELYM } /* script=elym */, + { 2, 2182, 4305, 21, 5, UNI_GCB__XX } /* graphemeclusterbreak=other */, + { 1, 8780, 8394, 7, 6, UNI_CJKEXTG } /* block=cjkextg */, + { 5, 9864, 0, 4, 0, UNI_WCHO } /* wcho */, + { 0, 9768, 9335, 4, 4, UNI_TAKR } /* scx=takr */, + { 0, 1828, 0, 6, 0, UNI_cased_values_index } /* cased= */, + { 2, 184, 4569, 3, 13, UNI_SC } /* iscurrencysymbol */, + { 2, 8780, 2061, 6, 4, UNI_INMODI } /* block=modi */, + { 2, 184, 3241, 2, 4, UNI_GEOR } /* isgeor */, + { 8, 3836, 7651, 17, 4, UNI_ITAL } /* scriptextensions=ital */, + { 0, 184, 62, 2, 5, UNI_XPOSIXGRAPH } /* isgraph */, + { 0, 8589, 1628, 7, 4, UNI_SC__PHAG } /* script=phag */, + { 0, 9014, 1025, 6, 2, -UNI_UIDEO } /* uideo=no */, + { 2, 979, 0, 27, 0, UNI_ALPHABETICPF } /* alphabeticpresentationforms */, + { 0, 8589, 2288, 8, 3, UNI_SC__SINH } /* script=sinh */, + { 2, 8589, 5003, 7, 15, UNI_ZANB } /* script=zanabazarsquare */, + { 4, 9277, 9704, 3, 4, UNI_ORKH } /* sc=orkh */, + { 0, 5986, 7899, 13, 8, UNI_NV__7_SLASH_2 } /* numericvalue=3.50e+00 */, + { 6, 9488, 8673, 4, 7, UNI_UCASEXT } /* blk=ucasext */, + { 0, 8477, 0, 4, 0, UNI_MAKA } /* maka */, + { 5, 1417, 8793, 25, 4, UNI_CCC__10 } /* canonicalcombiningclass=ccc10 */, + { 0, 2245, 0, 14, 0, UNI_MEETEIMAYEKEXT } /* meeteimayekext */, + { 0, 9277, 8876, 3, 4, UNI_GOTH } /* sc=goth */, + { 0, 112, 0, 2, 0, UNI_SC } /* sc */, + { 2, 3836, 9820, 17, 4, UNI_TFNG } /* scriptextensions=tfng */, + { 1, 10048, 9361, 3, 3, UNI_NV__1_SLASH_2 } /* nv=1/2 */, + { 11, 8509, 751, 4, 19, UNI_ENCLOSEDALPHANUM } /* inenclosedalphanumerics */, + { 0, 8780, 3600, 8, 15, UNI_INCAUCASIANALBANIAN } /* block=caucasianalbanian */, + { 0, 9488, 8171, 4, 8, UNI_INGUJARATI } /* blk=gujarati */, + { 1, 8780, 2855, 6, 9, UNI_INMONGOLIAN } /* block=mongolian */, + { 1, 21, 8203, 2, 8, UNI_JAMOEXTA } /* injamoexta */, + { 5, 4916, 8653, 3, 6, UNI_TAVT } /* istaiviet */, + { 0, 9488, 250, 4, 33, UNI_MISCMATHSYMBOLSA } /* blk=miscellaneousmathematicalsymbolsa */, + { 0, 8688, 2469, 3, 2, UNI_ANY } /* isany */, + { 0, 6241, 7, 12, 1, UNI_JT__C } /* joiningtype=c */, + { 9, 8786, 0, 6, 0, UNI_CARI } /* carian */, + { 8, 5256, 0, 14, 0, UNI_LATINEXTD } /* latinextendedd */, + { 3, 5791, 5179, 13, 3, UNI_JG__HEH } /* joininggroup=heh */, + { 0, 7218, 414, 10, 11, UNI_LB__ID } /* linebreak=ideographic */, + { 0, 9277, 8107, 3, 8, UNI_BALI } /* sc=balinese */, + { 3, 10048, 7835, 3, 8, UNI_NV__5_SLASH_2 } /* nv=2.50e+00 */, + { 1, 8780, 4273, 6, 16, UNI_MYANMAREXTA } /* block=myanmarextendeda */, + { 0, 9277, 8888, 3, 4, UNI_HATR } /* sc=hatr */, + { 1, 7558, 6195, 4, 4, UNI_INHEBREW } /* inhebrew */, + { 7, 8589, 8187, 7, 8, UNI_SC__HIRA } /* script=hiragana */, + { 2, 10027, 5410, 3, 14, UNI_JG__MANICHAEANTETH } /* jg=manichaeanteth */, + { 0, 1417, 10166, 24, 2, UNI_CCC__8 } /* canonicalcombiningclass=kv */, + { 2, 184, 9640, 2, 3, UNI_LOE } /* isloe */, + { 0, 8870, 1, 6, 1, -UNI_EPRES } /* epres=n */, + { 4, 9524, 0, 4, 0, UNI_cwt_values_index } /* cwt= */, + { 0, 1166, 9255, 26, 5, -UNI_DI } /* defaultignorablecodepoint=false */, + { 1, 8780, 1922, 6, 12, UNI_DIACRITICALS } /* block=diacriticals */, + { 13, 3836, 2684, 17, 19, UNI_EGYP } /* scriptextensions=egyptianhieroglyphs */, + { 2, 8780, 8673, 6, 7, UNI_UCASEXT } /* block=ucasext */, + { 0, 8780, 8645, 6, 7, UNI_INTAITHAM } /* block=taitham */, + { 5, 5986, 7843, 13, 8, UNI_NV__1_SLASH_4 } /* numericvalue=2.50e-01 */, + { 2, 217, 0, 33, 0, UNI_DIACRITICALSEXT } /* combiningdiacriticalmarksextended */, + { 5, 10024, 6851, 3, 11, UNI_LO } /* gc=otherletter */, + { 2, 9997, 23, 3, 2, UNI_BC__AL } /* bc=al */, + { 6, 8780, 2912, 6, 12, UNI_SUNDANESESUP } /* block=sundanesesup */, + { 1, 3836, 8659, 17, 7, UNI_TIBT } /* scriptextensions=tibetan */, + { 0, 8645, 0, 7, 0, UNI_LANA } /* taitham */, + { 2, 9277, 8786, 3, 6, UNI_CARI } /* sc=carian */, + { 0, 7418, 26, 10, 1, UNI_XPOSIXUPPER } /* uppercase=y */, + { 20, 7318, 10114, 10, 3, UNI_IN__6_DOT_3 } /* presentin=v63 */, + { 5, 1188, 3458, 3, 10, UNI_TAIXUANJING } /* intaixuanjing */, + { 3, 184, 9632, 2, 4, UNI_LINA } /* islina */, + { 2, 9997, 2489, 3, 20, UNI_BC__PDF } /* bc=popdirectionalformat */, + { 4, 8780, 8547, 6, 7, UNI_OLCK } /* block=olchiki */, + { 0, 8942, 0, 4, 0, UNI_LYDI } /* lydi */, + { 0, 6035, 0, 2, 0, UNI_PF } /* pf */, + { 7, 9265, 10135, 5, 3, UNI_IDST } /* idst=yes */, + { 0, 184, 2061, 2, 14, UNI_LM } /* ismodifierletter */, + { 1, 184, 2287, 2, 21, UNI_SINHALAARCHAICNUMBERS } /* issinhalaarchaicnumbers */, + { 3, 2569, 471, 20, 2, UNI_VO__TU } /* verticalorientation=tu */, + { 2, 184, 1631, 2, 18, UNI_GEOMETRICSHAPESEXT } /* isgeometricshapesext */, + { 4, 10048, 9924, 3, 2, UNI_NV__42 } /* nv=42 */, + { 2, 184, 339, 2, 2, UNI_LO } /* islo */, + { 1, 9768, 9330, 4, 5, UNI_TALE } /* scx=taile */, + { 0, 9277, 6193, 3, 6, UNI_HEBR } /* sc=hebrew */, + { 1, 184, 8491, 2, 4, UNI_MARC } /* ismarc */, + { 0, 8780, 467, 6, 11, UNI_INPUNCTUATION } /* block=punctuation */, + { 16, 9071, 1, 4, 1, -UNI_XPOSIXXDIGIT } /* hex=n */, + { 1, 9270, 7309, 3, 9, UNI_INPHOENICIAN } /* inphoenician */, + { 16, 3836, 8414, 17, 7, UNI_ELBA } /* scriptextensions=elbasan */, + { 0, 3836, 8463, 17, 7, UNI_KALI } /* scriptextensions=kayahli */, + { 0, 9768, 7188, 4, 4, UNI_KHAR } /* scx=khar */, + { 0, 10296, 1629, 3, 3, UNI_PHAG } /* isphag */, + { 2, 5746, 26, 6, 1, UNI_EBASE } /* ebase=y */, + { 1, 8780, 8315, 6, 8, UNI_INUGARITIC } /* block=ugaritic */, + { 0, 9277, 9632, 3, 4, UNI_SC__LINA } /* sc=lina */, + { 5, 8884, 9255, 4, 5, -UNI_EXT } /* ext=false */, + { 0, 10129, 3, 3, 1, -UNI_VS } /* vs=f */, + { 3, 9528, 26, 4, 1, UNI_CWU } /* cwu=y */, + { 1, 6229, 1, 12, 1, -UNI_JOINC } /* joincontrol=n */, + { 5, 184, 9544, 2, 4, UNI_DIAK } /* isdiak */, + { 5, 9704, 0, 4, 0, UNI_ORKH } /* orkh */, + { 0, 9768, 7657, 4, 9, UNI_PERM } /* scx=oldpermic */, + { 0, 9277, 8291, 3, 8, UNI_SC__TAGB } /* sc=tagbanwa */, + { 1, 8780, 7531, 6, 9, UNI_EMOTICONS } /* block=emoticons */, + { 1, 9488, 7504, 4, 9, UNI_ARABICPFB } /* blk=arabicpfb */, + { 1, 8870, 9836, 6, 4, UNI_EPRES } /* epres=true */, + { 1, 9270, 0, 5, 0, UNI_inpc_values_index } /* inpc= */, + { 1, 8694, 9255, 7, 5, -UNI_XPOSIXSPACE } /* wspace=false */, + { 16, 4791, 2837, 3, 18, UNI_MODIFIERTONELETTERS } /* inmodifiertoneletters */, + { 1, 9277, 8414, 3, 4, UNI_ELBA } /* sc=elba */, + { 1, 9768, 9516, 4, 4, UNI_CPRT } /* scx=cprt */, + { 6, 7318, 10117, 10, 3, UNI_IN__7 } /* presentin=v70 */, + { 1, 9640, 1025, 4, 2, -UNI_LOE } /* loe=no */, + { 0, 184, 1587, 2, 1, UNI_Z } /* isz */, + { 4, 7218, 9557, 10, 2, UNI_LB__CB } /* linebreak=cb */, + { 16, 9275, 8307, 5, 8, UNI_INSC__TONEMARK } /* insc=tonemark */, + { 0, 9277, 8936, 3, 6, UNI_LYCI } /* sc=lycian */, + { 1, 2722, 0, 19, 0, UNI_JAMOEXTA } /* hanguljamoextendeda */, + { 0, 8512, 17, 8, 1, UNI_NFKCQC__N } /* nfkcqc=no */, + { 2, 9270, 909, 3, 13, UNI_PUA } /* inprivateusearea */, + { 0, 9275, 5700, 5, 13, UNI_INSC__CONSONANTDEAD } /* insc=consonantdead */, + { 2, 9484, 0, 4, 0, UNI_BHKS } /* bhks */, + { 7, 9768, 4448, 4, 5, UNI_BAMU } /* scx=bamum */, + { 1, 8589, 3115, 7, 10, UNI_SC__DEVA } /* script=devanagari */, + { 0, 8852, 0, 6, 0, UNI_cwkcf_values_index } /* cwkcf= */, + { 2, 6805, 2014, 6, 18, UNI_MISCTECHNICAL } /* inmiscellaneoustechnical */, + { 4, 8589, 4001, 7, 7, UNI_SC__CPRT } /* script=cypriot */, + { 4, 9488, 1192, 4, 26, UNI_HALFANDFULLFORMS } /* blk=halfwidthandfullwidthforms */, + { 2, 8780, 5550, 6, 14, UNI_INPSALTERPAHLAVI } /* block=psalterpahlavi */, + { 3, 132, 0, 2, 0, UNI_LM } /* lm */, + { 16, 5986, 7851, 13, 8, UNI_NV__1_SLASH_40 } /* numericvalue=2.50e-02 */, + { 2, 8780, 8442, 6, 7, UNI_INHANUNOO } /* block=hanunoo */, + { 1, 9275, 8687, 5, 7, UNI_INSC__VISARGA } /* insc=visarga */, + { 4, 10033, 8449, 3, 2, UNI_LB__HY } /* lb=hy */, + { 0, 6805, 861, 6, 6, UNI_MISCARROWS } /* inmiscarrows */, + { 0, 9488, 599, 4, 30, UNI_CJKEXTD } /* blk=cjkunifiedideographsextensiond */, + { 0, 9277, 4478, 3, 7, UNI_BRAI } /* sc=braille */, + { 0, 10033, 25, 3, 2, UNI_LB__SY } /* lb=sy */, + { 0, 7325, 0, 3, 0, UNI_in_values_index } /* in= */, + { 2, 7249, 533, 4, 2, UNI_CANS } /* iscans */, + { 0, 4542, 1633, 4, 16, UNI_GEOMETRICSHAPESEXT } /* ingeometricshapesext */, + { 3, 9488, 3598, 4, 17, UNI_INCAUCASIANALBANIAN } /* blk=caucasianalbanian */, + { 1, 3836, 3241, 17, 4, UNI_GEOR } /* scriptextensions=geor */, + { 0, 4033, 7408, 16, 10, UNI_CN } /* generalcategory=unassigned */, + { 1, 2224, 3871, 3, 16, UNI_SMALLFORMS } /* insmallformvariants */, + { 0, 3836, 4145, 17, 7, UNI_LINB } /* scriptextensions=linearb */, + { 2, 9768, 2140, 4, 8, UNI_CYRL } /* scx=cyrillic */, + { 0, 9070, 10135, 5, 3, UNI_POSIXXDIGIT } /* ahex=yes */, + { 10, 8589, 6409, 7, 4, UNI_MEND } /* script=mend */, + { 1, 6609, 0, 11, 0, UNI_dep_values_index } /* deprecated= */, + { 0, 9277, 8491, 3, 7, UNI_MARC } /* sc=marchen */, + { 2, 9508, 9101, 5, 4, UNI_CCC__14 } /* ccc=ccc14 */, + { 5, 184, 3887, 2, 17, UNI_SUTTONSIGNWRITING } /* issuttonsignwriting */, + { 1, 21, 9325, 2, 5, UNI_INRUNIC } /* inrunic */, + { 2, 10024, 8855, 3, 2, UNI_CF } /* gc=cf */, + { 8, 1417, 8823, 25, 4, UNI_CCC__13 } /* canonicalcombiningclass=ccc13 */, + { 5, 4113, 25, 3, 1, UNI_INVS } /* invs */, + { 2, 5986, 8011, 13, 8, UNI_NV__13_SLASH_2 } /* numericvalue=6.50e+00 */, + { 2, 4853, 1, 15, 1, UNI_NFKDQC__N } /* nfkdquickcheck=n */, + { 0, 10027, 4209, 3, 16, UNI_JG__MANICHAEANSAMEKH } /* jg=manichaeansamekh */, + { 1, 569, 0, 30, 0, UNI_CJKEXTC } /* cjkunifiedideographsextensionc */, + { 2, 9345, 9255, 5, 5, -UNI_XIDC } /* xidc=false */, + { 1, 9488, 8936, 4, 6, UNI_INLYCIAN } /* blk=lycian */, + { 0, 184, 3151, 2, 17, UNI_EPRES } /* isemojipresentation */, + { 1, 8978, 1025, 6, 2, -UNI__PERL_PATWS } /* patws=no */, + { 1, 10033, 7522, 3, 9, UNI_LB__B2 } /* lb=breakboth */, + { 2, 1417, 2809, 24, 2, UNI_CCC__1 } /* canonicalcombiningclass=ov */, + { 1, 8780, 8387, 7, 6, UNI_CJKEXTF } /* block=cjkextf */, + { 3, 9015, 26, 5, 1, UNI_IDEO } /* ideo=y */, + { 0, 1552, 6598, 9, 11, UNI_CASEDLETTER } /* category=casedletter */, + { 1, 9540, 1025, 4, 2, -UNI_DIA } /* dia=no */, + { 0, 21, 5830, 2, 13, UNI_LOWSURROGATES } /* inlowsurrogates */, + { 0, 3259, 26, 18, 1, UNI_IDSB } /* idsbinaryoperator=y */, + { 0, 57, 0, 2, 0, UNI_YI } /* yi */, + { 1, 184, 2817, 2, 19, UNI_MERO } /* ismeroitichieroglyphs */, + { 1, 8589, 9804, 7, 4, UNI_SC__TALE } /* script=tale */, + { 2, 6609, 1, 11, 1, -UNI_DEP } /* deprecated=n */, + { 2, 5986, 9055, 13, 4, UNI_NV__1_SLASH_32 } /* numericvalue=1/32 */, + { 0, 9262, 400, 3, 6, UNI_SB__FO } /* sb=format */, + { 8, 8780, 8414, 6, 7, UNI_INELBASAN } /* block=elbasan */, + { 0, 7088, 6049, 10, 12, UNI_BC__AN } /* bidiclass=arabicnumber */, + { 1, 10048, 9364, 3, 4, UNI_NV__1_SLASH_10 } /* nv=1/10 */, + { 0, 8780, 6961, 6, 11, UNI_SUPERANDSUB } /* block=superandsub */, + { 3, 184, 5284, 2, 14, UNI_LISUSUP } /* islisusupplement */, + { 7, 9492, 7, 4, 1, UNI_BPT__C } /* bpt=c */, + { 8, 9768, 8414, 4, 4, UNI_ELBA } /* scx=elba */, + { 5, 10024, 467, 3, 5, UNI_P } /* gc=punct */, + { 0, 1966, 8099, 22, 8, UNI_INSC__AVAGRAHA } /* indicsyllabiccategory=avagraha */, + { 3, 9275, 4523, 5, 15, UNI_INSC__CONSONANTMEDIAL } /* insc=consonantmedial */, + { 1, 8589, 9680, 7, 4, UNI_NBAT } /* script=nbat */, + { 1, 10048, 7747, 3, 8, UNI_NV__1_SLASH_10 } /* nv=1.00e-01 */, + { 1, 9488, 4065, 4, 16, UNI_HALFANDFULLFORMS } /* blk=halfandfullforms */, + { 11, 7438, 8139, 10, 8, UNI_WB__EB } /* wordbreak=ebasegaz */, + { 0, 2224, 2970, 3, 18, UNI_SUPARROWSC } /* insupplementalarrowsc */, + { 0, 9524, 26, 4, 1, UNI_CWT } /* cwt=y */, + { 1, 9277, 9572, 3, 4, UNI_SC__GUJR } /* sc=gujr */, + { 4, 1552, 107, 10, 5, UNI_S } /* category=symbol */, + { 0, 10048, 5648, 3, 4, UNI_NV__1000 } /* nv=1000 */, + { 0, 10009, 8163, 3, 3, UNI_DT__FRA } /* dt=fra */, + { 0, 7558, 0, 9, 0, UNI_QAAI } /* inherited */, + { 3, 1768, 26, 22, 1, UNI_CWCF } /* changeswhencasefolded=y */, + { 0, 3836, 2913, 18, 8, UNI_SUND } /* scriptextensions=sundanese */, + { 10, 9277, 8547, 3, 7, UNI_OLCK } /* sc=olchiki */, + { 0, 9488, 42, 4, 16, UNI_CJKCOMPAT } /* blk=cjkcompatibility */, + { 2, 3836, 8315, 17, 4, UNI_UGAR } /* scriptextensions=ugar */, + { 0, 8996, 0, 7, 0, UNI_STERM } /* sterm=t */, + { 0, 9488, 4928, 4, 15, UNI_TAMILSUP } /* blk=tamilsupplement */, + { 0, 3836, 7558, 17, 9, UNI_QAAI } /* scriptextensions=inherited */, + { 0, 1552, 17, 10, 1, UNI_SO } /* category=so */, + { 0, 9277, 7675, 3, 4, UNI_PALM } /* sc=palm */, + { 0, 8780, 7513, 6, 9, UNI_INBHAIKSUKI } /* block=bhaiksuki */, + { 1, 9250, 0, 5, 0, UNI_emod_values_index } /* emod= */, + { 4, 8589, 719, 7, 9, UNI_XSUX } /* script=cuneiform */, + { 0, 9240, 1025, 5, 2, -UNI_DASH } /* dash=no */, + { 3, 8780, 6807, 6, 11, UNI_MISCSYMBOLS } /* block=miscsymbols */, + { 1, 10048, 9055, 3, 5, UNI_NV__1_SLASH_320 } /* nv=1/320 */, + { 1, 4628, 9, 15, 2, UNI_EA__NA } /* eastasianwidth=na */, + { 0, 184, 1673, 2, 4, UNI_JAMO } /* isjamo */, + { 3, 7155, 4098, 3, 15, UNI_HIGHPUSURROGATES } /* ishighpusurrogates */, + { 3, 2779, 36, 19, 1, UNI_IDST } /* idstrinaryoperator=t */, + { 2, 10027, 7348, 3, 10, UNI_JG__REVERSEDPE } /* jg=reversedpe */, + { 6, 9488, 2224, 4, 21, UNI_ININSCRIPTIONALPARTHIAN } /* blk=inscriptionalparthian */, + { 1, 7088, 0, 10, 0, UNI_bc_values_index } /* bidiclass= */, + { 0, 8589, 8291, 7, 8, UNI_SC__TAGB } /* script=tagbanwa */, + { 0, 4033, 10180, 16, 2, UNI_ZS } /* generalcategory=zs */, + { 0, 8780, 1631, 6, 18, UNI_GEOMETRICSHAPESEXT } /* block=geometricshapesext */, + { 0, 7318, 10111, 10, 3, UNI_IN__6_DOT_2 } /* presentin=v62 */, + { 0, 8894, 1025, 6, 2, -UNI_JOINC } /* joinc=no */, + { 2, 3836, 1115, 17, 4, UNI_HANG } /* scriptextensions=hang */, + { 2, 9596, 9, 4, 2, UNI_HST__NA } /* hst=na */, + { 1, 8780, 250, 6, 33, UNI_MISCMATHSYMBOLSA } /* block=miscellaneousmathematicalsymbolsa */, + { 3, 10009, 2280, 3, 3, UNI_DT__ISO } /* dt=iso */, + { 4, 9488, 5752, 4, 13, UNI_GREEKEXT } /* blk=greekextended */, + { 17, 7378, 0, 10, 0, UNI_SUPARROWSA } /* suparrowsa */, + { 2, 9520, 0, 3, 0, UNI_CWL } /* cwl */, + { 2, 9556, 10174, 4, 2, UNI_GCB__XX } /* gcb=xx */, + { 1, 10048, 7781, 3, 2, UNI_NV__43 } /* nv=43 */, + { 1, 8780, 3115, 6, 13, UNI_DEVANAGARIEXT } /* block=devanagariext */, + { 4, 3836, 6253, 17, 5, UNI_KHMR } /* scriptextensions=khmer */, + { 8, 3836, 2288, 18, 6, UNI_SINH } /* scriptextensions=sinhala */, + { 0, 10048, 10144, 3, 2, UNI_NV__45 } /* nv=45 */, + { 42, 9488, 569, 4, 30, UNI_CJKEXTC } /* blk=cjkunifiedideographsextensionc */, + { 9, 9536, 26, 4, 1, UNI_DEP } /* dep=y */, + { 0, 1790, 26, 22, 1, UNI_CWCM } /* changeswhencasemapped=y */, + { 2, 10048, 8710, 3, 4, UNI_NV__6000 } /* nv=6000 */, + { 10, 9262, 1159, 3, 2, UNI_SB__ST } /* sb=st */, + { 0, 21, 4129, 2, 16, UNI_LATIN1 } /* inlatin1supplement */, + { 1, 3836, 7288, 17, 10, UNI_SOGO } /* scriptextensions=oldsogdian */, + { 0, 21, 3295, 2, 9, UNI_LATINEXTA } /* inlatinexta */, + { 1, 184, 9600, 2, 4, UNI_KALI } /* iskali */, + { 3, 1552, 3359, 10, 8, UNI_Z } /* category=separator */, + { 12, 5986, 5648, 13, 13, UNI_NV__1000000000000 } /* numericvalue=1000000000000 */, + { 2, 3382, 26, 3, 1, UNI_CE } /* ce=y */, + { 1, 5214, 0, 14, 0, UNI_KANGXI } /* kangxiradicals */, + { 4, 9716, 9836, 4, 4, UNI_PCM } /* pcm=true */, + { 0, 10132, 10174, 3, 2, UNI_WB__XX } /* wb=xx */, + { 3, 8780, 6840, 6, 11, UNI_INNANDINAGARI } /* block=nandinagari */, + { 0, 8589, 2608, 7, 6, UNI_BRAH } /* script=brahmi */, + { 2, 9277, 9636, 3, 4, UNI_SC__LINB } /* sc=linb */, + { 0, 3169, 0, 18, 0, UNI_ETHIOPICSUP } /* ethiopicsupplement */, + { 2, 2224, 2913, 3, 11, UNI_SUNDANESESUP } /* insundanesesup */, + { 2, 9275, 5102, 5, 14, UNI_INSC__CONSONANTFINAL } /* insc=consonantfinal */, + { 0, 8780, 1906, 6, 16, UNI_INDICNUMBERFORMS } /* block=indicnumberforms */, + { 5, 8780, 3547, 6, 10, UNI_ALCHEMICAL } /* block=alchemical */, + { 0, 8780, 316, 6, 33, UNI_SUPMATHOPERATORS } /* block=supplementalmathematicaloperators */, + { 3, 21, 8942, 2, 6, UNI_INLYDIAN } /* inlydian */, + { 2, 9277, 2140, 3, 8, UNI_SC__CYRL } /* sc=cyrillic */, + { 0, 1867, 0, 9, 0, UNI_XPOSIXUPPER } /* uppercase */, + { 6, 7088, 865, 10, 2, UNI_BC__WS } /* bidiclass=ws */, + { 1, 4033, 1287, 16, 2, UNI_UPPERCASELETTER } /* generalcategory=lu */, + { 6, 7218, 6675, 10, 11, UNI_LB__EX } /* linebreak=exclamation */, + { 0, 8589, 1900, 7, 6, UNI_SC__ZYYY } /* script=common */, + { 1, 9768, 8428, 4, 4, UNI_GRAN } /* scx=gran */, + { 0, 8596, 0, 7, 0, UNI_SHRD } /* sharada */, + { 3, 1537, 3475, 24, 18, UNI_INPC__TOPANDLEFTANDRIGHT } /* indicpositionalcategory=topandleftandright */, + { 1, 9488, 8942, 4, 6, UNI_INLYDIAN } /* blk=lydian */, + { 0, 1552, 4305, 9, 5, UNI_C } /* category=other */, + { 0, 9277, 8876, 3, 6, UNI_GOTH } /* sc=gothic */, + { 0, 184, 7531, 2, 9, UNI_EMOTICONS } /* isemoticons */, + { 0, 1966, 4508, 22, 15, UNI_INSC__CONSONANTKILLER } /* indicsyllabiccategory=consonantkiller */, + { 1, 9556, 5746, 4, 5, UNI_WB__EB } /* gcb=ebase */, + { 3, 9277, 6481, 3, 12, UNI_HUNG } /* sc=oldhungarian */, + { 0, 4643, 0, 14, 0, UNI_ECOMP } /* emojicomponent */, + { 3, 2224, 8618, 3, 6, UNI_INSOYOMBO } /* insoyombo */, + { 5, 8780, 2817, 6, 19, UNI_MERO } /* block=meroitichieroglyphs */, + { 3, 8435, 1, 7, 1, -UNI_GRBASE } /* grbase=n */, + { 7, 8512, 0, 8, 0, UNI_NFKCQC__N } /* nfkcqc=n */, + { 0, 48, 0, 1, 0, UNI_P } /* p */, + { 1, 1812, 1025, 22, 2, -UNI_CWL } /* changeswhenlowercased=no */, + { 0, 7155, 2204, 3, 3, UNI_HAN } /* ishani */, + { 1, 9270, 2994, 5, 13, UNI_INPC__BOTTOMANDLEFT } /* inpc=bottomandleft */, + { 0, 184, 8456, 2, 7, UNI_KNDA } /* iskannada */, + { 0, 8762, 36, 6, 1, UNI_XPOSIXALPHA } /* alpha=t */, + { 2, 3937, 0, 11, 0, UNI_BOPOMOFOEXT } /* bopomofoext */, + { 7, 10024, 1066, 3, 2, UNI_CASEDLETTER } /* gc=lc */, + { 2, 8477, 0, 7, 0, UNI_MAKA } /* makasar */, + { 0, 9488, 2140, 4, 21, UNI_CYRILLICSUP } /* blk=cyrillicsupplementary */, + { 0, 8780, 446, 6, 18, UNI_IDEOGRAPHICSYMBOLS } /* block=ideographicsymbols */, + { 0, 9488, 9285, 4, 5, UNI_INLIMBU } /* blk=limbu */, + { 1, 5986, 7795, 13, 8, UNI_NV__3_SLASH_20 } /* numericvalue=1.50e-01 */, + { 0, 1417, 7477, 24, 9, UNI_CCC__AL } /* canonicalcombiningclass=aboveleft */, + { 0, 9997, 3700, 3, 17, UNI_BC__ES } /* bc=europeanseparator */, + { 2, 184, 6972, 2, 11, UNI_SYLO } /* issylotinagri */, + { 0, 5032, 9255, 14, 5, -UNI_POSIXXDIGIT } /* asciihexdigit=false */, + { 3, 8688, 3923, 4, 7, UNI_ARABICSUP } /* isarabicsup */, + { 0, 8780, 2931, 6, 19, UNI_SUPARROWSA } /* block=supplementalarrowsa */, + { 2, 9488, 2308, 4, 21, UNI_YIJING } /* blk=yijinghexagramsymbols */, + { 0, 5661, 0, 13, 0, UNI_AEGEANNUMBERS } /* aegeannumbers */, + { 5, 7076, 4479, 3, 6, UNI_BRAI } /* inbraille */, + { 0, 184, 4245, 2, 10, UNI_SM } /* ismathsymbol */, + { 13, 8780, 1585, 6, 14, UNI_BYZANTINEMUSIC } /* block=byzantinemusic */, + { 0, 9508, 9106, 5, 4, UNI_CCC__15 } /* ccc=ccc15 */, + { 2, 9768, 4385, 4, 6, UNI_TANG } /* scx=tangut */, + { 3, 1537, 3343, 4, 6, UNI_DINGBATS } /* indingbats */, + { 8, 9488, 2054, 4, 22, UNI_MODIFIERLETTERS } /* blk=spacingmodifierletters */, + { 4, 539, 0, 30, 0, UNI_CJKEXTB } /* cjkunifiedideographsextensionb */, + { 1, 184, 3439, 2, 12, UNI_SMALLKANAEXT } /* issmallkanaext */, + { 0, 1269, 3, 25, 1, -UNI_COMPEX } /* fullcompositionexclusion=f */, + { 26, 9275, 2646, 5, 19, UNI_INSC__CONSONANTHEADLETTER } /* insc=consonantheadletter */, + { 1, 5986, 9428, 13, 4, UNI_NV__3_SLASH_80 } /* numericvalue=3/80 */, + { 0, 8780, 8352, 7, 6, UNI_CJKEXTA } /* block=cjkexta */, + { 1, 8884, 26, 4, 1, UNI_EXT } /* ext=y */, + { 0, 9997, 8, 3, 2, UNI_BC__AN } /* bc=an */, + { 6, 9736, 0, 4, 0, UNI_COPT } /* qaac */, + { 0, 3097, 5012, 18, 6, UNI_DT__SQR } /* decompositiontype=square */, + { 1, 2119, 0, 21, 0, UNI_CJKRADICALSSUP } /* cjkradicalssupplement */, + { 0, 10048, 5648, 3, 6, UNI_NV__100000 } /* nv=100000 */, + { 9, 9270, 3481, 5, 12, UNI_INPC__LEFTANDRIGHT } /* inpc=leftandright */, + { 0, 8589, 2469, 7, 20, UNI_HMNP } /* script=nyiakengpuachuehmong */, + { 4, 9488, 6277, 4, 7, UNI_MAHJONG } /* blk=mahjong */, + { 6, 1552, 341, 9, 2, UNI_PE } /* category=pe */, + { 0, 3097, 8533, 18, 7, UNI_DT__NB } /* decompositiontype=nobreak */, + { 0, 3836, 6940, 18, 10, UNI_SORA } /* scriptextensions=sorasompeng */, + { 0, 4033, 467, 16, 5, UNI_P } /* generalcategory=punct */, + { 0, 8780, 3870, 6, 17, UNI_SMALLFORMS } /* block=smallformvariants */, + { 3, 10333, 2913, 3, 3, UNI_SUND } /* issund */, + { 2, 10024, 727, 3, 2, UNI_MN } /* gc=mn */, + { 2, 6231, 43, 3, 8, UNI_CJKCOMPAT } /* incjkcompat */, + { 17, 8589, 9797, 8, 3, UNI_SC__SYRC } /* script=syrc */, + { 1, 1417, 8811, 25, 4, UNI_CCC__12 } /* canonicalcombiningclass=ccc12 */, + { 1, 3379, 36, 6, 1, UNI_XPOSIXSPACE } /* space=t */, + { 1, 10296, 1867, 7, 5, UNI_POSIXUPPER } /* isposixupper */, + { 1, 3259, 3, 18, 1, -UNI_IDSB } /* idsbinaryoperator=f */, + { 3, 1417, 3007, 24, 13, UNI_CCC__214 } /* canonicalcombiningclass=attachedabove */, + { 1, 7028, 9039, 3, 5, UNI_YEZI } /* isyezidi */, + { 4, 7218, 4360, 10, 9, UNI_EMOD } /* linebreak=emodifier */, + { 1, 1417, 2455, 24, 5, UNI_CCC__R } /* canonicalcombiningclass=right */, + { 0, 1273, 10135, 21, 3, UNI_CE } /* compositionexclusion=yes */, + { 1, 8780, 8603, 6, 7, UNI_SHAW } /* block=shavian */, + { 3, 9768, 8876, 4, 4, UNI_GOTH } /* scx=goth */, + { 4, 2182, 0, 21, 0, UNI_gcb_values_index } /* graphemeclusterbreak= */, + { 0, 8780, 8652, 6, 7, UNI_INTAIVIET } /* block=taiviet */, + { 8, 9886, 5006, 5, 12, UNI_INZANABAZARSQUARE } /* inzanabazarsquare */, + { 0, 8589, 8638, 7, 7, UNI_SC__TGLG } /* script=tagalog */, + { 16, 1768, 1025, 22, 2, -UNI_CWCF } /* changeswhencasefolded=no */, + { 1, 2224, 2951, 3, 18, UNI_SUPARROWSB } /* insupplementalarrowsb */, + { 0, 6553, 36, 12, 1, UNI_XIDC } /* xidcontinue=t */, + { 1, 9564, 0, 4, 0, UNI_GONM } /* gonm */, + { 7, 8780, 8131, 6, 8, UNI_INDUPLOYAN } /* block=duployan */, + { 1, 9768, 8786, 4, 4, UNI_CARI } /* scx=cari */, + { 3, 9277, 1654, 3, 6, UNI_SC__HANG } /* sc=hangul */, + { 0, 184, 3421, 2, 4, UNI_RUMI } /* isrumi */, + { 3, 9768, 2817, 4, 4, UNI_MERO } /* scx=mero */, + { 0, 184, 3785, 2, 4, UNI_MANI } /* ismani */, + { 11, 9488, 5606, 4, 14, UNI_SUPPUNCTUATION } /* blk=suppunctuation */, + { 1, 10250, 6556, 15, 8, UNI__PERL_CHARNAME_CONTINUE } /* _perl_charname_continue */, + { 0, 8780, 8561, 6, 7, UNI_INOSMANYA } /* block=osmanya */, + { 1, 10027, 9044, 3, 6, UNI_JG__YUDHHE } /* jg=yudhhe */, + { 0, 9768, 8652, 4, 7, UNI_TAVT } /* scx=taiviet */, + { 0, 10012, 1192, 3, 9, UNI_EA__H } /* ea=halfwidth */, + { 3, 3836, 9704, 17, 4, UNI_ORKH } /* scriptextensions=orkh */, + { 1, 7318, 10108, 10, 3, UNI_IN__6_DOT_1 } /* presentin=v61 */, + { 12, 5791, 6349, 13, 12, UNI_JG__MALAYALAMSSA } /* joininggroup=malayalamssa */, + { 0, 10048, 8744, 3, 4, UNI_NV__7000 } /* nv=7000 */, + { 0, 3367, 36, 18, 1, UNI__PERL_PATWS } /* patternwhitespace=t */, + { 0, 4853, 0, 15, 0, UNI_nfkdqc_values_index } /* nfkdquickcheck= */, + { 2, 9488, 809, 4, 29, UNI_ENCLOSEDIDEOGRAPHICSUP } /* blk=enclosedideographicsupplement */, + { 4, 184, 749, 2, 30, UNI_ENCLOSEDALPHANUMSUP } /* isenclosedalphanumericsupplement */, + { 1, 9020, 10135, 6, 3, UNI_XPOSIXUPPER } /* upper=yes */, + { 1, 5986, 8750, 13, 5, UNI_NV__80000 } /* numericvalue=80000 */, + { 0, 9768, 8171, 4, 8, UNI_GUJR } /* scx=gujarati */, + { 0, 3379, 10135, 6, 3, UNI_XPOSIXSPACE } /* space=yes */, + { 1, 9768, 8582, 4, 7, UNI_PHAG } /* scx=phagspa */, + { 0, 3836, 3785, 17, 10, UNI_MANI } /* scriptextensions=manichaean */, + { 5, 9488, 4793, 4, 15, UNI_INMEROITICCURSIVE } /* blk=meroiticcursive */, + { 0, 184, 6277, 2, 12, UNI_MAHJONG } /* ismahjongtiles */, + { 0, 9997, 1353, 3, 3, UNI_BC__RLE } /* bc=rle */, + { 2, 184, 9245, 2, 4, UNI_DOGR } /* isdogr */, + { 32, 9768, 9644, 4, 4, UNI_MEDF } /* scx=medf */, + { 0, 9768, 6409, 4, 12, UNI_MEND } /* scx=mendekikakui */, + { 8, 10132, 5746, 3, 5, UNI_WB__EB } /* wb=ebase */, + { 0, 10048, 7826, 3, 2, UNI_NV__12 } /* nv=12 */, + { 6, 10132, 4856, 3, 2, UNI_WB__DQ } /* wb=dq */, + { 9, 10132, 34, 3, 6, UNI_WB__EXTEND } /* wb=extend */, + { 6, 10027, 4778, 3, 15, UNI_JG__MANICHAEANZAYIN } /* jg=manichaeanzayin */, + { 0, 8484, 0, 7, 0, UNI_MAND } /* mandaic */, + { 2, 184, 9888, 2, 4, UNI_ZANB } /* iszanb */, + { 1, 3367, 9255, 18, 5, -UNI__PERL_PATWS } /* patternwhitespace=false */, + { 1, 8589, 1222, 7, 4, UNI_SC__KANA } /* script=kana */, + { 11, 10024, 2061, 3, 14, UNI_LM } /* gc=modifierletter */, + { 2, 9488, 8786, 4, 6, UNI_INCARIAN } /* blk=carian */, + { 3, 9488, 78, 4, 6, UNI_INARABIC } /* blk=arabic */, + { 2, 5791, 7348, 13, 10, UNI_JG__REVERSEDPE } /* joininggroup=reversedpe */, + { 4, 10296, 5718, 7, 5, UNI_POSIXALNUM } /* isposixalnum */, + { 1, 8589, 6193, 7, 4, UNI_HEBR } /* script=hebr */, + { 2, 10048, 10142, 3, 2, UNI_NV__44 } /* nv=44 */, + { 1, 9070, 9255, 5, 5, -UNI_POSIXXDIGIT } /* ahex=false */, + { 5, 9768, 9452, 4, 4, UNI_AHOM } /* scx=ahom */, + { 6, 1966, 8307, 22, 8, UNI_INSC__TONEMARK } /* indicsyllabiccategory=tonemark */, + { 8, 2032, 0, 22, 0, UNI_nchar_values_index } /* noncharactercodepoint= */, + { 0, 184, 4049, 2, 16, UNI_GEORGIANEXT } /* isgeorgianextended */, + { 0, 9488, 539, 4, 30, UNI_CJKEXTB } /* blk=cjkunifiedideographsextensionb */, + { 0, 106, 0, 6, 0, UNI_S } /* symbol */, + { 1, 8780, 6481, 6, 12, UNI_INOLDHUNGARIAN } /* block=oldhungarian */, + { 2, 9997, 0, 4, 0, UNI_BC__B } /* bc=b */, + { 1, 8780, 6818, 6, 11, UNI_MYANMAREXTA } /* block=myanmarexta */, + { 12, 2760, 6763, 19, 3, UNI_LB__H3 } /* hangulsyllabletype=lvt */, + { 1, 8780, 4129, 6, 6, UNI_LATIN1 } /* block=latin1 */, + { 2, 5986, 7859, 13, 5, UNI_NV__20000 } /* numericvalue=20000 */, + { 6, 7218, 10158, 10, 2, UNI_LB__H2 } /* linebreak=h2 */, + { 0, 10048, 7931, 3, 8, UNI_NV__5_SLASH_12 } /* nv=4.17e-01 */, + { 10, 4916, 9817, 3, 3, UNI_TAVT } /* istavt */, + { 0, 4033, 25, 16, 1, UNI_S } /* generalcategory=s */, + { 1, 8131, 0, 8, 0, UNI_DUPL } /* duployan */, + { 1, 9716, 26, 4, 1, UNI_PCM } /* pcm=y */, + { 8, 10180, 0, 2, 0, UNI_ZS } /* zs */, + { 1, 9488, 3921, 4, 16, UNI_ARABICSUP } /* blk=arabicsupplement */, + { 2, 10322, 3379, 5, 5, UNI_XPOSIXSPACE } /* xperlspace */, + { 1, 184, 183, 2, 20, UNI_MISCSYMBOLS } /* ismiscellaneoussymbols */, + { 0, 7318, 7931, 10, 3, UNI_IN__4_DOT_1 } /* presentin=4.1 */, + { 3, 8978, 0, 5, 0, UNI__PERL_PATWS } /* patws */, + { 0, 9556, 34, 4, 2, UNI_GCB__EX } /* gcb=ex */, + { 4, 9020, 1, 6, 1, -UNI_XPOSIXUPPER } /* upper=n */, + { 0, 5986, 8710, 13, 2, UNI_NV__60 } /* numericvalue=60 */, + { 0, 9544, 0, 4, 0, UNI_DIAK } /* diak */, + { 0, 10308, 0, 5, 0, UNI_XPOSIXPRINT } /* print */, + { 2, 1966, 5634, 22, 14, UNI_INSC__VOWELDEPENDENT } /* indicsyllabiccategory=voweldependent */, + { 1, 4033, 1171, 16, 2, UNI_TITLE } /* generalcategory=lt */, + { 4, 6231, 6098, 3, 11, UNI_CYRILLICEXTA } /* incyrillicexta */, + { 0, 7325, 9852, 3, 4, UNI_IN__12_DOT_1 } /* in=v121 */, + { 1, 5564, 36, 14, 1, UNI_QMARK } /* quotationmark=t */, + { 0, 9091, 8133, 4, 6, UNI_INDUPLOYAN } /* induployan */, + { 0, 8780, 2308, 6, 21, UNI_YIJING } /* block=yijinghexagramsymbols */, + { 8, 8930, 10135, 6, 3, UNI_XPOSIXLOWER } /* lower=yes */, + { 0, 8954, 10135, 6, 3, UNI__PERL_NCHAR } /* nchar=yes */, + { 2, 184, 3, 3, 1, UNI_CF } /* iscf */, + { 1, 8589, 3169, 7, 4, UNI_ETHI } /* script=ethi */, + { 7, 9637, 5690, 5, 10, UNI_BLOCKELEMENTS } /* inblockelements */, + { 0, 9508, 9111, 5, 4, UNI_CCC__16 } /* ccc=ccc16 */, + { 5, 8589, 9644, 7, 4, UNI_MEDF } /* script=medf */, + { 8, 5466, 0, 15, 0, UNI_DT__CAN } /* nfdquickcheck=n */, + { 1, 8589, 3079, 7, 6, UNI_SC__COPT } /* script=coptic */, + { 10, 8688, 183, 4, 2, UNI_ARMI } /* isarmi */, + { 4, 8589, 4703, 7, 15, UNI_ARMI } /* script=imperialaramaic */, + { 0, 3836, 9285, 17, 4, UNI_LIMB } /* scriptextensions=limb */, + { 0, 8589, 6884, 7, 11, UNI_HMNG } /* script=pahawhhmong */, + { 17, 184, 1033, 2, 27, UNI_ENCLOSEDCJK } /* isenclosedcjklettersandmonths */, + { 1, 8589, 9720, 7, 4, UNI_SC__PHLP } /* script=phlp */, + { 1, 339, 0, 2, 0, UNI_LO } /* lo */, + { 3, 9488, 838, 4, 29, UNI_MISCARROWS } /* blk=miscellaneoussymbolsandarrows */, + { 4, 8966, 26, 6, 1, UNI_NFDQC__Y } /* nfdqc=y */, + { 1, 8780, 4369, 6, 16, UNI_SYRIACSUP } /* block=syriacsupplement */, + { 1, 1417, 9151, 25, 4, UNI_CCC__24 } /* canonicalcombiningclass=ccc24 */, + { 0, 21, 5200, 2, 7, UNI_KANASUP } /* inkanasup */, + { 5, 1273, 0, 20, 0, UNI_CE } /* compositionexclusion */, + { 1, 8780, 2950, 6, 19, UNI_SUPARROWSB } /* block=supplementalarrowsb */, + { 1, 3457, 0, 11, 0, UNI_TAIXUANJING } /* taixuanjing */, + { 0, 5578, 36, 15, 1, UNI_SB__ST } /* sentencebreak=st */, + { 2, 184, 43, 3, 35, UNI_CJKCOMPATIDEOGRAPHSSUP } /* iscjkcompatibilityideographssupplement */, + { 0, 184, 4478, 2, 7, UNI_BRAI } /* isbraille */, + { 1, 8589, 4385, 7, 6, UNI_TANG } /* script=tangut */, + { 0, 10033, 9713, 3, 2, UNI_LB__SG } /* lb=sg */, + { 0, 1192, 0, 26, 0, UNI_HALFANDFULLFORMS } /* halfwidthandfullwidthforms */, + { 2, 38, 0, 2, 0, UNI_XPOSIXDIGIT } /* nd */, + { 1, 8589, 9305, 7, 5, UNI_NSHU } /* script=nushu */, + { 1, 9270, 9, 5, 2, UNI_INPC__NA } /* inpc=na */, + { 4, 1552, 2268, 9, 2, UNI_PD } /* category=pd */, + { 0, 629, 0, 30, 0, UNI_CJKEXTE } /* cjkunifiedideographsextensione */, + { 12, 7249, 5062, 4, 11, UNI_CI } /* iscaseignorable */, + { 3, 5986, 9412, 13, 4, UNI_NV__17_SLASH_2 } /* numericvalue=17/2 */, + { 0, 8589, 9588, 7, 4, UNI_HMNG } /* script=hmng */, + { 1, 7325, 9848, 3, 4, UNI_IN__12 } /* in=v120 */, + { 0, 8780, 8275, 6, 8, UNI_SPECIALS } /* block=specials */, + { 6, 9488, 7428, 4, 10, UNI_INWARANGCITI } /* blk=warangciti */, + { 6, 7228, 1, 10, 1, -UNI_XPOSIXLOWER } /* lowercase=n */, + { 6, 5986, 8726, 13, 6, UNI_NV__432000 } /* numericvalue=432000 */, + { 1, 1537, 6621, 3, 10, UNI_DOMINO } /* indominotiles */, + { 0, 9540, 3, 4, 1, -UNI_DIA } /* dia=f */, + { 0, 7155, 1514, 3, 23, UNI_HIGHPUSURROGATES } /* ishighprivateusesurrogates */, + { 0, 5032, 9836, 14, 4, UNI_POSIXXDIGIT } /* asciihexdigit=true */, + { 0, 10033, 10154, 3, 2, UNI_LB__B2 } /* lb=b2 */, + { 6, 3904, 0, 17, 0, UNI_uideo_values_index } /* unifiedideograph= */, + { 1, 3385, 9255, 18, 5, -UNI_RI } /* regionalindicator=false */, + { 0, 9488, 3734, 4, 17, UNI_INDICSIYAQNUMBERS } /* blk=indicsiyaqnumbers */, + { 2, 9860, 0, 4, 0, UNI_VAI } /* vaii */, + { 4, 5791, 4209, 13, 16, UNI_JG__MANICHAEANSAMEKH } /* joininggroup=manichaeansamekh */, + { 0, 5791, 87, 13, 2, UNI_JG__HE } /* joininggroup=he */, + { 0, 8589, 9335, 7, 5, UNI_SC__TAKR } /* script=takri */, + { 13, 9277, 9708, 3, 4, UNI_SC__ORYA } /* sc=orya */, + { 1, 9277, 2061, 3, 4, UNI_SC__MODI } /* sc=modi */, + { 2, 10027, 6785, 3, 11, UNI_JG__MALAYALAMRA } /* jg=malayalamra */, + { 1, 7567, 0, 9, 0, UNI_SIND } /* khudawadi */, + { 0, 184, 728, 2, 6, UNI_N } /* isnumber */, + { 0, 9708, 0, 4, 0, UNI_ORYA } /* orya */, + { 1, 1906, 0, 16, 0, UNI_INDICNUMBERFORMS } /* indicnumberforms */, + { 0, 8780, 8924, 6, 6, UNI_INLEPCHA } /* block=lepcha */, + { 0, 10048, 9050, 3, 4, UNI_NV__1_SLASH_16 } /* nv=1/16 */, + { 0, 10288, 5718, 8, 5, UNI_XPOSIXALNUM } /* isxposixalnum */, + { 6, 9488, 5661, 4, 13, UNI_AEGEANNUMBERS } /* blk=aegeannumbers */, + { 8, 3983, 0, 18, 0, UNI_PE } /* isclosepunctuation */, + { 11, 3097, 4532, 18, 6, UNI_DT__MED } /* decompositiontype=medial */, + { 0, 10132, 6169, 3, 12, UNI_WB__EB } /* wb=glueafterzwj */, + { 0, 5791, 5895, 13, 13, UNI_JG__MANICHAEANONE } /* joininggroup=manichaeanone */, + { 0, 8954, 3, 6, 1, -UNI__PERL_NCHAR } /* nchar=f */, + { 3, 4658, 36, 15, 1, UNI_GREXT } /* graphemeextend=t */, + { 2, 7418, 10135, 10, 3, UNI_XPOSIXUPPER } /* uppercase=yes */, + { 1, 10296, 0, 4, 0, UNI_PO } /* ispo */, + { 0, 8589, 3785, 7, 4, UNI_SC__MANI } /* script=mani */, + { 1, 3836, 4703, 17, 15, UNI_ARMI } /* scriptextensions=imperialaramaic */, + { 1, 2224, 2932, 3, 18, UNI_SUPARROWSA } /* insupplementalarrowsa */, + { 13, 8780, 4401, 6, 9, UNI_TANGUTSUP } /* block=tangutsup */, + { 8, 8780, 7129, 7, 9, UNI_CJKSTROKES } /* block=cjkstrokes */, + { 0, 21, 8211, 2, 8, UNI_JAMOEXTB } /* injamoextb */, + { 0, 45, 0, 2, 0, UNI_CO } /* co */, + { 4, 3097, 6421, 18, 8, UNI_DT__NONCANON } /* decompositiontype=noncanon */, + { 16, 184, 1166, 2, 25, UNI_DI } /* isdefaultignorablecodepoint */, + { 2, 9277, 9860, 3, 3, UNI_VAI } /* sc=vai */, + { 1, 8491, 0, 7, 0, UNI_MARC } /* marchen */, + { 4, 184, 5564, 2, 13, UNI_QMARK } /* isquotationmark */, + { 2, 10024, 5713, 3, 13, UNI_XPOSIXDIGIT } /* gc=decimalnumber */, + { 1, 10033, 184, 3, 2, UNI_LB__IS } /* lb=is */, + { 1, 9315, 0, 5, 0, UNI_ORYA } /* oriya */, + { 0, 9812, 0, 4, 0, UNI_TAML } /* taml */, + { 0, 4989, 1868, 3, 4, UNI_XPOSIXUPPER } /* isupper */, + { 0, 5986, 5648, 13, 5, UNI_NV__10000 } /* numericvalue=10000 */, + { 16, 8780, 3026, 7, 10, UNI_CHEROKEESUP } /* block=cherokeesup */, + { 1, 8780, 8610, 6, 7, UNI_INSIDDHAM } /* block=siddham */, + { 1, 2161, 3, 21, 1, -UNI_EXTPICT } /* extendedpictographic=f */, + { 1, 9488, 8091, 4, 8, UNI_INARMENIAN } /* blk=armenian */, + { 1, 9277, 9065, 3, 5, UNI_SC__ADLM } /* sc=adlam */, + { 12, 3836, 8344, 17, 7, UNI_BENG } /* scriptextensions=bengali */, + { 0, 2032, 0, 21, 0, UNI__PERL_NCHAR } /* noncharactercodepoint */, + { 8, 3421, 0, 18, 0, UNI_RUMI } /* ruminumeralsymbols */, + { 1, 9277, 8115, 3, 4, UNI_BASS } /* sc=bass */, + { 1, 184, 3169, 2, 8, UNI_ETHI } /* isethiopic */, + { 0, 3836, 9824, 17, 4, UNI_TGLG } /* scriptextensions=tglg */, + { 0, 184, 8942, 2, 4, UNI_LYDI } /* islydi */, + { 0, 1812, 0, 22, 0, UNI_cwl_values_index } /* changeswhenlowercased= */, + { 3, 7318, 10105, 10, 3, UNI_IN__6 } /* presentin=v60 */, + { 5, 10296, 9721, 3, 3, UNI_PHLP } /* isphlp */, + { 3, 10132, 7603, 3, 9, UNI_WB__ML } /* wb=midletter */, + { 4, 2224, 7694, 3, 8, UNI_INSAMARITAN } /* insamaritan */, + { 4, 10048, 10148, 3, 2, UNI_NV__47 } /* nv=47 */, + { 1, 5986, 9409, 13, 3, UNI_NV__5_SLASH_2 } /* numericvalue=5/2 */, + { 5, 184, 4448, 2, 8, UNI_BAMUMSUP } /* isbamumsup */, + { 2, 9488, 509, 4, 30, UNI_CJKEXTA } /* blk=cjkunifiedideographsextensiona */, + { 0, 10027, 4733, 3, 15, UNI_JG__MANICHAEANALEPH } /* jg=manichaeanaleph */, + { 13, 10033, 10030, 3, 2, UNI_GCB__T } /* lb=jt */, + { 1, 9277, 6840, 3, 4, UNI_SC__NAND } /* sc=nand */, + { 2, 9997, 2798, 3, 19, UNI_BC__LRO } /* bc=lefttorightoverride */, + { 4, 1269, 10135, 25, 3, UNI_COMPEX } /* fullcompositionexclusion=yes */, + { 1, 8780, 2684, 6, 19, UNI_INEGYPTIANHIEROGLYPHS } /* block=egyptianhieroglyphs */, + { 0, 8589, 8611, 8, 3, UNI_SIDD } /* script=sidd */, + { 15, 1591, 2685, 3, 18, UNI_INEGYPTIANHIEROGLYPHS } /* inegyptianhieroglyphs */, + { 0, 10027, 7198, 3, 10, UNI_JG__KNOTTEDHEH } /* jg=knottedheh */, + { 1, 8589, 8611, 8, 6, UNI_SIDD } /* script=siddham */, + { 0, 9065, 0, 5, 0, UNI_ADLM } /* adlam */, + { 1, 8589, 6973, 8, 3, UNI_SC__SYLO } /* script=sylo */, + { 0, 1114, 26, 26, 1, UNI_CWKCF } /* changeswhennfkccasefolded=y */, + { 1, 9768, 2288, 5, 3, UNI_SINH } /* scx=sinh */, + { 7, 10009, 6421, 3, 8, UNI_DT__NONCANON } /* dt=noncanon */, + { 0, 9768, 8115, 4, 4, UNI_BASS } /* scx=bass */, + { 16, 6231, 720, 3, 8, UNI_INCUNEIFORM } /* incuneiform */, + { 19, 1417, 9211, 25, 4, UNI_CCC__36 } /* canonicalcombiningclass=ccc36 */, + { 9, 2569, 3511, 20, 18, UNI_VO__TU } /* verticalorientation=transformedupright */, + { 2, 2529, 1, 20, 1, -UNI_TERM } /* terminalpunctuation=n */, + { 0, 184, 1911, 2, 11, UNI_NUMBERFORMS } /* isnumberforms */, + { 0, 3836, 5843, 17, 9, UNI_MLYM } /* scriptextensions=malayalam */, + { 1, 9508, 9300, 4, 5, UNI_CCC__7 } /* ccc=nukta */, + { 0, 5674, 1, 13, 1, -UNI_BIDIM } /* bidimirrored=n */, + { 0, 10132, 1218, 3, 2, UNI_WB__KA } /* wb=ka */, + { 6, 10182, 25, 29, 1, UNI__PERL_PROBLEMATIC_LOCALE_FOLDS } /* _perl_problematic_locale_folds */, + { 0, 6554, 36, 11, 1, UNI_IDC } /* idcontinue=t */, + { 0, 1417, 8813, 24, 3, UNI_CCC__122 } /* canonicalcombiningclass=122 */, + { 1, 7218, 10160, 10, 2, UNI_LB__H3 } /* linebreak=h3 */, + { 14, 184, 9496, 2, 4, UNI_BUHD } /* isbuhd */, + { 21, 6231, 720, 3, 15, UNI_CUNEIFORMNUMBERS } /* incuneiformnumbers */, + { 1, 9277, 9712, 3, 4, UNI_OSGE } /* sc=osge */, + { 1, 10178, 0, 2, 0, UNI_ZP } /* zp */, + { 5, 9488, 8840, 4, 6, UNI_INCHAKMA } /* blk=chakma */, + { 2, 8589, 2429, 7, 20, UNI_PHLI } /* script=inscriptionalpahlavi */, + { 1, 5791, 4081, 13, 16, UNI_JG__HANIFIROHINGYAPA } /* joininggroup=hanifirohingyapa */, + { 2, 6928, 10135, 11, 3, UNI_SD } /* softdotted=yes */, + { 1, 7088, 3403, 10, 18, UNI_BC__RLI } /* bidiclass=righttoleftisolate */, + { 1, 8589, 1537, 8, 3, UNI_SC__SIND } /* script=sind */, + { 0, 5986, 9428, 13, 3, UNI_NV__3_SLASH_8 } /* numericvalue=3/8 */, + { 4, 3836, 4478, 17, 4, UNI_BRAI } /* scriptextensions=brai */, + { 0, 8984, 36, 6, 1, UNI_QMARK } /* qmark=t */, + { 0, 4791, 8499, 3, 6, UNI_INMULTANI } /* inmultani */, + { 9, 10024, 1899, 3, 2, UNI_PC } /* gc=pc */, + { 2, 3836, 9624, 17, 4, UNI_LAO } /* scriptextensions=laoo */, + { 4, 9488, 8526, 4, 7, UNI_NB } /* blk=noblock */, + { 1, 9277, 9038, 3, 6, UNI_SC__YEZI } /* sc=yezidi */, + { 2, 9768, 8611, 5, 6, UNI_SIDD } /* scx=siddham */, + { 0, 2741, 0, 19, 0, UNI_JAMOEXTB } /* hanguljamoextendedb */, + { 8, 8589, 1013, 7, 5, UNI_SC__GREK } /* script=greek */, + { 1, 9488, 7378, 4, 10, UNI_SUPARROWSA } /* blk=suparrowsa */, + { 0, 10290, 10308, 6, 5, UNI_XPOSIXPRINT } /* xposixprint */, + { 1, 5060, 26, 14, 1, UNI_CI } /* caseignorable=y */, + { 3, 184, 2245, 2, 11, UNI_MTEI } /* ismeeteimayek */, + { 1, 10063, 3, 3, 1, -UNI_SD } /* sd=f */, + { 6, 7318, 7923, 10, 3, UNI_IN__4 } /* presentin=4.0 */, + { 1, 8589, 4448, 7, 5, UNI_BAMU } /* script=bamum */, + { 1, 5986, 8750, 13, 2, UNI_NV__80 } /* numericvalue=80 */, + { 0, 9768, 9544, 4, 4, UNI_DIAK } /* scx=diak */, + { 0, 7155, 1418, 3, 3, UNI_HANO } /* ishano */, + { 3, 8780, 1442, 7, 9, UNI_CJKSYMBOLS } /* block=cjksymbols */, + { 0, 10009, 4017, 3, 3, UNI_DT__FIN } /* dt=fin */, + { 6, 8589, 7675, 7, 9, UNI_PALM } /* script=palmyrene */, + { 0, 9488, 7657, 4, 9, UNI_INOLDPERMIC } /* blk=oldpermic */, + { 4, 1417, 7178, 24, 4, UNI_CCC__6 } /* canonicalcombiningclass=hanr */, + { 0, 6862, 0, 11, 0, UNI_NO } /* othernumber */, + { 0, 867, 0, 18, 0, UNI_PHONETICEXT } /* phoneticextensions */, + { 0, 10009, 3501, 3, 3, UNI_DT__MED } /* dt=med */, + { 5, 1417, 9156, 25, 4, UNI_CCC__25 } /* canonicalcombiningclass=ccc25 */, + { 3, 5986, 9055, 13, 5, UNI_NV__1_SLASH_320 } /* numericvalue=1/320 */, + { 0, 8589, 6792, 8, 3, UNI_SAMR } /* script=samr */, + { 0, 9488, 8463, 4, 7, UNI_KALI } /* blk=kayahli */, + { 24, 7076, 3938, 3, 10, UNI_BOPOMOFOEXT } /* inbopomofoext */, + { 1, 9508, 0, 4, 0, UNI_ccc_values_index } /* ccc= */, + { 1, 8780, 2969, 6, 19, UNI_SUPARROWSC } /* block=supplementalarrowsc */, + { 21, 4628, 4471, 15, 7, UNI_EA__N } /* eastasianwidth=neutral */, + { 2, 9277, 9038, 3, 4, UNI_SC__YEZI } /* sc=yezi */, + { 1, 8780, 5158, 6, 14, UNI_INGREEK } /* block=greekandcoptic */, + { 4, 9508, 9116, 5, 4, UNI_CCC__17 } /* ccc=ccc17 */, + { 5, 8780, 8366, 7, 6, UNI_CJKEXTC } /* block=cjkextc */, { 0, 599, 0, 30, 0, UNI_CJKEXTD } /* cjkunifiedideographsextensiond */, - { 1, 6885, 7861, 3, 7, UNI_HIRA } /* ishiragana */, - { 0, 9365, 1085, 4, 4, UNI_HANG } /* scx=hang */, - { 3, 9909, 25, 3, 1, UNI_PS } /* isps */, - { 0, 8424, 7860, 6, 8, UNI_INHIRAGANA } /* block=hiragana */, - { 1, 9193, 7401, 4, 9, UNI_GCB__V } /* hst=voweljamo */, - { 1, 5760, 8985, 13, 3, UNI_NV__1_SLASH_6 } /* numericvalue=1/6 */, - { 0, 9093, 5283, 4, 14, UNI_PHONETICEXTSUP } /* blk=phoneticextsup */, - { 6, 3671, 9109, 17, 4, UNI_CANS } /* scriptextensions=cans */, - { 3, 184, 62, 2, 5, UNI_XPOSIXGRAPH } /* isgraph */, - { 1, 1497, 133, 9, 4, UNI_M } /* category=mark */, + { 0, 21, 8219, 2, 8, UNI_INJAVANESE } /* injavanese */, + { 0, 9262, 34, 3, 6, UNI_SB__EX } /* sb=extend */, + { 1, 7438, 10174, 10, 2, UNI_WB__XX } /* wordbreak=xx */, + { 0, 8589, 7684, 7, 9, UNI_PAUC } /* script=paucinhau */, + { 0, 6469, 39, 12, 2, UNI_XPOSIXDIGIT } /* numerictype=de */, + { 0, 10003, 0, 3, 0, UNI_ci_values_index } /* ci= */, + { 0, 9488, 6253, 4, 5, UNI_INKHMER } /* blk=khmer */, + { 0, 9015, 36, 5, 1, UNI_IDEO } /* ideo=t */, + { 0, 1189, 39, 3, 2, UNI_XPOSIXDIGIT } /* nt=de */, + { 1, 4916, 8646, 3, 6, UNI_LANA } /* istaitham */, + { 4, 6193, 0, 6, 0, UNI_HEBR } /* hebrew */, + { 2, 7318, 9396, 10, 4, UNI_IN__12_DOT_1 } /* presentin=12.1 */, + { 7, 9488, 2703, 4, 19, UNI_ENCLOSEDALPHANUMSUP } /* blk=enclosedalphanumsup */, + { 8, 9277, 7558, 3, 9, UNI_SC__QAAI } /* sc=inherited */, + { 0, 8780, 3734, 6, 17, UNI_INDICSIYAQNUMBERS } /* block=indicsiyaqnumbers */, + { 1, 1269, 1025, 25, 2, -UNI_COMPEX } /* fullcompositionexclusion=no */, + { 1, 8966, 0, 8, 0, UNI_DT__CAN } /* nfdqc=no */, + { 0, 10033, 1186, 3, 2, UNI_LB__PO } /* lb=po */, + { 1, 8780, 114, 7, 34, UNI_DIACRITICALSFORSYMBOLS } /* block=combiningdiacriticalmarksforsymbols */, + { 0, 1184, 0, 3, 0, UNI_DEP } /* dep */, + { 1, 3836, 9560, 17, 4, UNI_GONG } /* scriptextensions=gong */, + { 35, 9070, 36, 5, 1, UNI_POSIXXDIGIT } /* ahex=t */, + { 0, 9768, 9572, 4, 4, UNI_GUJR } /* scx=gujr */, + { 0, 184, 9736, 2, 4, UNI_COPT } /* isqaac */, + { 0, 7249, 12, 5, 3, UNI_CARI } /* iscarian */, + { 3, 10027, 341, 3, 2, UNI_JG__PE } /* jg=pe */, + { 1, 10027, 5480, 3, 14, UNI_JG__NOJOININGGROUP } /* jg=nojoininggroup */, + { 0, 7325, 10120, 3, 3, UNI_IN__8 } /* in=v80 */, + { 2, 8780, 4340, 6, 13, UNI_MATHOPERATORS } /* block=mathoperators */, + { 3, 9492, 5904, 4, 4, UNI_BPT__N } /* bpt=none */, + { 4, 184, 8179, 2, 8, UNI_GURU } /* isgurmukhi */, + { 0, 9346, 10135, 4, 3, UNI_IDC } /* idc=yes */, + { 4, 7076, 1219, 3, 4, UNI_INBATAK } /* inbatak */, + { 5, 6928, 3, 11, 1, -UNI_SD } /* softdotted=f */, + { 0, 184, 9680, 2, 4, UNI_NBAT } /* isnbat */, + { 0, 9488, 4369, 4, 16, UNI_SYRIACSUP } /* blk=syriacsupplement */, + { 1, 8780, 5214, 6, 6, UNI_KANGXI } /* block=kangxi */, + { 1, 10132, 34, 3, 2, UNI_WB__EX } /* wb=ex */, + { 3, 9768, 8219, 4, 4, UNI_JAVA } /* scx=java */, + { 9, 9768, 3751, 4, 17, UNI_KITS } /* scx=khitansmallscript */, + { 5, 9556, 5633, 4, 2, UNI_LB__H2 } /* gcb=lv */, + { 3, 10132, 8144, 3, 3, UNI_WB__EB } /* wb=gaz */, + { 1, 4385, 0, 4, 0, UNI_TANG } /* tang */, + { 1, 3734, 0, 17, 0, UNI_INDICSIYAQNUMBERS } /* indicsiyaqnumbers */, + { 0, 9488, 4385, 4, 16, UNI_TANGUTCOMPONENTS } /* blk=tangutcomponents */, + { 8, 10048, 8756, 3, 4, UNI_NV__9000 } /* nv=9000 */, + { 6, 8780, 3457, 6, 18, UNI_TAIXUANJING } /* block=taixuanjingsymbols */, + { 2, 184, 3026, 3, 17, UNI_CHEROKEESUP } /* ischerokeesupplement */, + { 0, 9488, 8624, 4, 7, UNI_SUPPUAA } /* blk=suppuaa */, + { 1, 8774, 1025, 6, 2, -UNI_BIDIM } /* bidim=no */, + { 2, 7438, 108, 10, 2, UNI_WB__MB } /* wordbreak=mb */, + { 2, 1910, 0, 2, 0, UNI_CN } /* cn */, + { 4, 5564, 10135, 14, 3, UNI_QMARK } /* quotationmark=yes */, + { 1, 7218, 3, 11, 1, UNI_LB__LF } /* linebreak=lf */, + { 5, 4116, 5779, 3, 12, UNI_IPAEXT } /* isipaextensions */, + { 8, 9262, 138, 3, 2, UNI_SB__FO } /* sb=fo */, + { 0, 3097, 3439, 18, 5, UNI_DT__SML } /* decompositiontype=small */, + { 10, 8589, 6385, 7, 12, UNI_SC__GONM } /* script=masaramgondi */, + { 5, 4791, 2856, 3, 11, UNI_MONGOLIANSUP } /* inmongoliansup */, + { 2, 8780, 6397, 6, 12, UNI_MATHALPHANUM } /* block=mathalphanum */, + { 10, 8589, 2409, 7, 10, UNI_SC__GLAG } /* script=glagolitic */, + { 0, 8589, 9692, 7, 4, UNI_NSHU } /* script=nshu */, + { 0, 8780, 8491, 6, 7, UNI_INMARCHEN } /* block=marchen */, + { 4, 9488, 2329, 4, 20, UNI_INANATOLIANHIEROGLYPHS } /* blk=anatolianhieroglyphs */, + { 18, 3836, 9616, 17, 4, UNI_KTHI } /* scriptextensions=kthi */, + { 1, 6420, 6482, 3, 11, UNI_INOLDHUNGARIAN } /* inoldhungarian */, + { 0, 1505, 2254, 5, 5, UNI_GREEKEXT } /* ingreekext */, + { 2, 184, 8526, 2, 7, UNI_NB } /* isnoblock */, + { 0, 719, 0, 16, 0, UNI_CUNEIFORMNUMBERS } /* cuneiformnumbers */, + { 20, 9488, 2741, 4, 19, UNI_JAMOEXTB } /* blk=hanguljamoextendedb */, + { 0, 4688, 8259, 15, 8, UNI_IDENTIFIERTYPE__OBSOLETE } /* identifiertype=obsolete */, + { 8, 9488, 3921, 4, 9, UNI_ARABICSUP } /* blk=arabicsup */, + { 2, 5060, 10135, 14, 3, UNI_CI } /* caseignorable=yes */, + { 3, 9488, 7388, 4, 10, UNI_SUPARROWSB } /* blk=suparrowsb */, + { 9, 4033, 10178, 16, 2, UNI_ZP } /* generalcategory=zp */, + { 4, 8589, 8477, 7, 7, UNI_MAKA } /* script=makasar */, + { 0, 6469, 495, 12, 2, UNI_NT__NU } /* numerictype=nu */, + { 18, 10027, 5843, 3, 13, UNI_JG__MALAYALAMLLLA } /* jg=malayalamllla */, + { 0, 8780, 3052, 6, 9, UNI_HALFMARKS } /* block=halfmarks */, + { 2, 8780, 283, 6, 33, UNI_MISCMATHSYMBOLSB } /* block=miscellaneousmathematicalsymbolsb */, + { 3, 8978, 36, 6, 1, UNI__PERL_PATWS } /* patws=t */, + { 8, 3836, 8652, 17, 7, UNI_TAVT } /* scriptextensions=taiviet */, + { 5, 9444, 7408, 4, 10, UNI_AGE__NA } /* age=unassigned */, + { 10, 9260, 3, 5, 1, -UNI_IDSB } /* idsb=f */, + { 8, 4628, 865, 15, 1, UNI_EA__W } /* eastasianwidth=w */, + { 1, 9768, 6840, 4, 11, UNI_NAND } /* scx=nandinagari */, + { 2, 10048, 10146, 3, 2, UNI_NV__46 } /* nv=46 */, + { 2, 9230, 9836, 5, 4, UNI_CWCF } /* cwcf=true */, + { 4, 8894, 10135, 6, 3, UNI_JOINC } /* joinc=yes */, + { 3, 2032, 26, 22, 1, UNI__PERL_NCHAR } /* noncharactercodepoint=y */, + { 0, 184, 1066, 2, 2, UNI_CASEDLETTER } /* islc */, + { 4, 10048, 7877, 3, 2, UNI_NV__13 } /* nv=13 */, + { 0, 8780, 5214, 6, 14, UNI_KANGXI } /* block=kangxiradicals */, + { 0, 3836, 9320, 17, 5, UNI_OSGE } /* scriptextensions=osage */, + { 1, 10024, 0, 3, 0, UNI_gc_values_index } /* gc= */, + { 1, 21, 7594, 2, 9, UNI_LATINEXTD } /* inlatinextd */, + { 6, 9488, 5214, 4, 6, UNI_KANGXI } /* blk=kangxi */, + { 8, 9508, 3564, 4, 17, UNI_WB__EB } /* ccc=attachedbelowleft */, + { 26, 6193, 0, 4, 0, UNI_HEBR } /* hebr */, + { 2, 4289, 0, 16, 0, UNI_MYANMAREXTB } /* myanmarextendedb */, + { 4, 9277, 9804, 3, 4, UNI_SC__TALE } /* sc=tale */, + { 0, 9230, 3, 5, 1, -UNI_CWCF } /* cwcf=f */, + { 16, 6231, 7119, 3, 9, UNI_INCHORASMIAN } /* inchorasmian */, + { 2, 10048, 5648, 3, 2, UNI_NV__10 } /* nv=10 */, + { 0, 4916, 4402, 3, 8, UNI_TANGUTSUP } /* istangutsup */, + { 0, 8449, 10135, 7, 3, UNI_HYPHEN } /* hyphen=yes */, + { 16, 10182, 10270, 6, 9, UNI__PERL_ANY_FOLDS } /* _perl_any_folds */, + { 0, 10027, 9884, 3, 4, UNI_JG__ZAIN } /* jg=zain */, + { 12, 10250, 10265, 15, 5, UNI__PERL_CHARNAME_BEGIN } /* _perl_charname_begin */, + { 0, 3836, 719, 17, 9, UNI_XSUX } /* scriptextensions=cuneiform */, + { 0, 4033, 727, 16, 2, UNI_MN } /* generalcategory=mn */, + { 0, 184, 3044, 3, 17, UNI_HALFMARKS } /* iscombininghalfmarks */, + { 11, 7249, 1017, 4, 2, UNI_CAKM } /* iscakm */, + { 0, 7358, 0, 10, 0, UNI_SAUR } /* saurashtra */, + { 0, 10027, 5921, 3, 13, UNI_JG__MANICHAEANTEN } /* jg=manichaeanten */, + { 1, 9277, 2608, 3, 6, UNI_BRAH } /* sc=brahmi */, + { 0, 21, 4129, 2, 9, UNI_LATIN1 } /* inlatin1sup */, + { 0, 7531, 0, 9, 0, UNI_EMOTICONS } /* emoticons */, + { 13, 3836, 2608, 17, 4, UNI_BRAH } /* scriptextensions=brah */, + { 4, 9640, 9255, 4, 5, -UNI_LOE } /* loe=false */, + { 0, 8780, 3583, 8, 15, UNI_UCAS } /* block=canadiansyllabics */, + { 0, 9592, 0, 4, 0, UNI_HMNP } /* hmnp */, + { 9, 10027, 2637, 3, 3, UNI_JG__YEH } /* jg=yeh */, + { 3, 8780, 6939, 6, 11, UNI_INSORASOMPENG } /* block=sorasompeng */, + { 2, 6231, 6122, 3, 11, UNI_CYRILLICEXTC } /* incyrillicextc */, + { 4, 4033, 5817, 16, 13, UNI_ZL } /* generalcategory=lineseparator */, + { 1, 5791, 4733, 13, 15, UNI_JG__MANICHAEANALEPH } /* joininggroup=manichaeanaleph */, + { 1, 3836, 57, 17, 2, UNI_YI } /* scriptextensions=yi */, + { 5, 9444, 9396, 4, 4, UNI_AGE__12_DOT_1 } /* age=12.1 */, + { 1, 7318, 8043, 10, 3, UNI_IN__8 } /* presentin=8.0 */, + { 1, 5791, 6785, 13, 11, UNI_JG__MALAYALAMRA } /* joininggroup=malayalamra */, + { 0, 8870, 0, 5, 0, UNI_EPRES } /* epres */, + { 0, 8519, 26, 7, 1, UNI_DT__NONE } /* nfkdqc=y */, + { 2, 5578, 1823, 14, 5, UNI_SB__LO } /* sentencebreak=lower */, + { 1, 9277, 9728, 3, 4, UNI_MIAO } /* sc=plrd */, + { 0, 9008, 0, 6, 0, UNI_THAA } /* thaana */, + { 8, 25, 0, 1, 0, UNI_S } /* s */, + { 2, 4989, 8316, 3, 7, UNI_UGAR } /* isugaritic */, + { 0, 8984, 10135, 6, 3, UNI_QMARK } /* qmark=yes */, + { 0, 4718, 0, 15, 0, UNI_LOWERCASELETTER } /* lowercaseletter */, + { 0, 184, 4129, 2, 9, UNI_LATIN1 } /* islatin1sup */, + { 0, 8780, 2287, 6, 21, UNI_SINHALAARCHAICNUMBERS } /* block=sinhalaarchaicnumbers */, + { 0, 4033, 4718, 16, 15, UNI_LOWERCASELETTER } /* generalcategory=lowercaseletter */, + { 32, 8780, 867, 6, 11, UNI_PHONETICEXT } /* block=phoneticext */, + { 0, 7218, 6193, 10, 12, UNI_LB__HL } /* linebreak=hebrewletter */, + { 1, 3133, 1, 18, 1, -UNI_EBASE } /* emojimodifierbase=n */, + { 0, 8780, 5606, 6, 14, UNI_SUPPUNCTUATION } /* block=suppunctuation */, + { 1, 1166, 0, 26, 0, UNI_di_values_index } /* defaultignorablecodepoint= */, + { 0, 10012, 9868, 3, 4, UNI_EA__W } /* ea=wide */, + { 1, 9488, 4479, 5, 6, UNI_BRAI } /* blk=braille */, + { 0, 9508, 3007, 4, 13, UNI_CCC__214 } /* ccc=attachedabove */, + { 1, 1417, 9161, 25, 4, UNI_CCC__26 } /* canonicalcombiningclass=ccc26 */, + { 0, 21, 8912, 2, 6, UNI_INKHOJKI } /* inkhojki */, + { 0, 8858, 26, 6, 1, UNI_ECOMP } /* ecomp=y */, + { 16, 9768, 9724, 4, 4, UNI_PHNX } /* scx=phnx */, + { 6, 9768, 8091, 4, 8, UNI_ARMN } /* scx=armenian */, + { 4, 9277, 8107, 3, 4, UNI_BALI } /* sc=bali */, + { 6, 10132, 10015, 3, 3, UNI_WB__EB } /* wb=ebg */, + { 0, 689, 0, 30, 0, UNI_CJKEXTG } /* cjkunifiedideographsextensiong */, + { 3, 6231, 3026, 3, 10, UNI_CHEROKEESUP } /* incherokeesup */, + { 1, 4703, 0, 15, 0, UNI_ARMI } /* imperialaramaic */, + { 0, 8589, 8924, 7, 6, UNI_LEPC } /* script=lepcha */, + { 0, 1552, 6035, 9, 2, UNI_PF } /* category=pf */, + { 18, 567, 0, 2, 0, UNI_NB } /* nb */, + { 4, 7218, 908, 10, 2, UNI_LB__PR } /* linebreak=pr */, + { 0, 4916, 9331, 3, 4, UNI_TALE } /* istaile */, + { 0, 21, 9038, 2, 6, UNI_INYEZIDI } /* inyezidi */, + { 6, 5986, 7789, 13, 2, UNI_NV__50 } /* numericvalue=50 */, + { 5, 10315, 3379, 5, 5, UNI_XPOSIXBLANK } /* horizspace */, + { 1, 184, 8841, 3, 5, UNI_CAKM } /* ischakma */, + { 1, 8884, 36, 4, 1, UNI_EXT } /* ext=t */, + { 0, 9768, 9812, 4, 4, UNI_TAML } /* scx=taml */, + { 0, 8780, 6620, 6, 6, UNI_DOMINO } /* block=domino */, + { 1, 8589, 8618, 8, 6, UNI_SOYO } /* script=soyombo */, + { 3, 3836, 2224, 17, 21, UNI_PRTI } /* scriptextensions=inscriptionalparthian */, + { 0, 8780, 43, 7, 2, UNI_CJK } /* block=cjk */, + { 0, 7318, 10078, 10, 3, UNI_IN__2_DOT_1 } /* presentin=v21 */, + { 5, 8780, 8359, 7, 6, UNI_CJKEXTB } /* block=cjkextb */, + { 6, 184, 3133, 2, 17, UNI_EBASE } /* isemojimodifierbase */, + { 0, 8780, 8912, 6, 6, UNI_INKHOJKI } /* block=khojki */, + { 0, 9277, 3785, 3, 10, UNI_SC__MANI } /* sc=manichaean */, + { 2, 10003, 36, 3, 1, UNI_CI } /* ci=t */, + { 1, 9277, 9512, 3, 4, UNI_CHRS } /* sc=chrs */, + { 3, 3367, 1, 18, 1, -UNI__PERL_PATWS } /* patternwhitespace=n */, + { 3, 8123, 0, 8, 0, UNI_BUGI } /* buginese */, + { 1, 10132, 4360, 3, 9, UNI_WB__EB } /* wb=emodifier */, + { 8, 8780, 2703, 6, 19, UNI_ENCLOSEDALPHANUMSUP } /* block=enclosedalphanumsup */, + { 1, 8780, 749, 6, 16, UNI_ENCLOSEDALPHANUM } /* block=enclosedalphanum */, + { 3, 8666, 0, 7, 0, UNI_TIRH } /* tirhuta */, + { 7, 9997, 10054, 3, 3, UNI_BC__PDF } /* bc=pdf */, + { 2, 8589, 9085, 7, 5, UNI_BATK } /* script=batak */, + { 1, 9488, 42, 4, 3, UNI_CJK } /* blk=cjk */, + { 1, 10033, 18, 3, 2, UNI_RI } /* lb=ri */, + { 1, 1188, 9003, 3, 5, UNI_INTELUGU } /* intelugu */, + { 17, 184, 1018, 2, 5, UNI_MUSIC } /* ismusic */, + { 3, 10024, 1587, 3, 1, UNI_Z } /* gc=z */, + { 1, 8491, 0, 4, 0, UNI_MARC } /* marc */, + { 14, 6231, 43, 3, 35, UNI_CJKCOMPATIDEOGRAPHSSUP } /* incjkcompatibilityideographssupplement */, + { 0, 5037, 9836, 9, 4, UNI_XPOSIXXDIGIT } /* hexdigit=true */, + { 0, 6420, 7279, 3, 9, UNI_INOLDPERSIAN } /* inoldpersian */, + { 0, 9488, 8116, 5, 7, UNI_INBASSAVAH } /* blk=bassavah */, + { 6, 9235, 0, 4, 0, UNI_CWCM } /* cwcm */, + { 6, 9488, 7693, 4, 9, UNI_INSAMARITAN } /* blk=samaritan */, + { 8, 1417, 9206, 25, 4, UNI_CCC__35 } /* canonicalcombiningclass=ccc35 */, + { 0, 10296, 2, 3, 1, UNI_PI } /* ispi */, + { 2, 9768, 9464, 4, 4, UNI_ARMN } /* scx=armn */, + { 0, 5508, 3, 14, 1, -UNI_PATSYN } /* patternsyntax=f */, + { 0, 1008, 0, 2, 0, UNI_CI } /* ci */, + { 0, 9277, 7291, 3, 4, UNI_SC__SOGD } /* sc=sogd */, + { 11, 184, 6840, 2, 4, UNI_NAND } /* isnand */, + { 11, 8147, 1025, 8, 2, -UNI_EXTPICT } /* extpict=no */, + { 0, 184, 720, 3, 29, UNI_CUNEIFORMNUMBERS } /* iscuneiformnumbersandpunctuation */, + { 1, 5986, 7819, 13, 8, UNI_NV__3_SLASH_16 } /* numericvalue=1.88e-01 */, + { 0, 9488, 183, 4, 20, UNI_MISCSYMBOLS } /* blk=miscellaneoussymbols */, + { 0, 9488, 8407, 4, 7, UNI_DSRT } /* blk=deseret */, + { 0, 10129, 9255, 3, 5, -UNI_VS } /* vs=false */, + { 0, 5032, 3, 14, 1, -UNI_POSIXXDIGIT } /* asciihexdigit=f */, + { 1, 184, 5284, 2, 7, UNI_LISUSUP } /* islisusup */, + { 2, 9488, 8631, 4, 7, UNI_SUPPUAB } /* blk=suppuab */, + { 10, 1552, 7, 10, 1, UNI_SC } /* category=sc */, + { 4, 184, 720, 3, 15, UNI_CUNEIFORMNUMBERS } /* iscuneiformnumbers */, + { 10, 3151, 0, 18, 0, UNI_epres_values_index } /* emojipresentation= */, + { 6, 5791, 5382, 13, 14, UNI_JG__MANICHAEANQOPH } /* joininggroup=manichaeanqoph */, + { 1, 8267, 0, 8, 0, UNI_radical_values_index } /* radical= */, + { 3, 3374, 26, 11, 1, UNI_XPOSIXSPACE } /* whitespace=y */, + { 10, 9464, 0, 4, 0, UNI_ARMN } /* armn */, + { 3, 7028, 9039, 3, 3, UNI_YEZI } /* isyezi */, + { 1, 8780, 3026, 7, 7, UNI_INCHEROKEE } /* block=cherokee */, + { 0, 10063, 0, 3, 0, UNI_sd_values_index } /* sd= */, + { 2, 3836, 1537, 18, 3, UNI_SIND } /* scriptextensions=sind */, + { 0, 8894, 1, 6, 1, -UNI_JOINC } /* joinc=n */, + { 10, 10296, 9729, 3, 3, UNI_MIAO } /* isplrd */, + { 0, 9488, 2722, 4, 19, UNI_JAMOEXTA } /* blk=hanguljamoextendeda */, + { 1, 10009, 8948, 3, 6, UNI_DT__NAR } /* dt=narrow */, + { 1, 8780, 6884, 6, 11, UNI_INPAHAWHHMONG } /* block=pahawhhmong */, + { 2, 3836, 7308, 17, 10, UNI_PHNX } /* scriptextensions=phoenician */, + { 0, 9235, 36, 5, 1, UNI_CWCM } /* cwcm=t */, + { 8, 8589, 9688, 7, 4, UNI_NKO } /* script=nkoo */, + { 1, 9508, 7078, 4, 10, UNI_CCC__BR } /* ccc=belowright */, + { 4, 6133, 0, 12, 0, UNI_ETHIOPICEXTA } /* ethiopicexta */, + { 1, 10033, 10164, 3, 2, UNI_GCB__V } /* lb=jv */, + { 3, 9768, 1222, 4, 4, UNI_KANA } /* scx=kana */, + { 0, 10048, 9060, 3, 5, UNI_NV__11_SLASH_12 } /* nv=11/12 */, + { 2, 4033, 48, 16, 1, UNI_P } /* generalcategory=p */, + { 7, 9997, 4321, 3, 16, UNI_BC__S } /* bc=segmentseparator */, + { 1, 9768, 9828, 4, 4, UNI_THAI } /* scx=thai */, + { 0, 184, 5508, 2, 13, UNI_PATSYN } /* ispatternsyntax */, + { 0, 9277, 2912, 3, 4, UNI_SUND } /* sc=sund */, + { 0, 3836, 9532, 17, 4, UNI_CYRL } /* scriptextensions=cyrl */, + { 1, 184, 43, 3, 15, UNI_CJKCOMPAT } /* iscjkcompatibility */, + { 2, 3529, 1, 18, 1, -UNI_VS } /* variationselector=n */, + { 0, 9768, 9668, 4, 4, UNI_MTEI } /* scx=mtei */, + { 0, 8589, 9752, 7, 4, UNI_SC__ROHG } /* script=rohg */, + { 14, 4583, 0, 4, 0, UNI_DASH } /* dash */, + { 6, 5986, 10152, 13, 2, UNI_NV__49 } /* numericvalue=49 */, + { 0, 184, 1060, 3, 3, UNI_COPT } /* iscopt */, + { 7, 117, 1908, 4, 14, UNI_INDICNUMBERFORMS } /* inindicnumberforms */, + { 3, 1899, 0, 2, 0, UNI_PC } /* pc */, + { 0, 7155, 5187, 3, 13, UNI_HIGHSURROGATES } /* ishighsurrogates */, + { 1, 2182, 34, 21, 2, UNI_GCB__EX } /* graphemeclusterbreak=ex */, + { 0, 10048, 7754, 3, 2, UNI_NV__11 } /* nv=11 */, + { 2, 3259, 0, 18, 0, UNI_idsb_values_index } /* idsbinaryoperator= */, + { 0, 21, 1677, 2, 9, UNI_LATINEXTE } /* inlatinexte */, + { 0, 8589, 2061, 7, 4, UNI_SC__MODI } /* script=modi */, + { 6, 7158, 1025, 10, 2, -UNI_DIA } /* diacritic=no */, + { 0, 10296, 909, 3, 9, UNI_CO } /* isprivateuse */, + { 0, 1417, 9201, 25, 4, UNI_CCC__34 } /* canonicalcombiningclass=ccc34 */, + { 0, 7739, 26, 8, 1, UNI_IDS } /* idstart=y */, + { 0, 809, 0, 22, 0, UNI_ENCLOSEDIDEOGRAPHICSUP } /* enclosedideographicsup */, + { 3, 9277, 2203, 3, 14, UNI_SC__ROHG } /* sc=hanifirohingya */, + { 8, 1537, 4600, 4, 13, UNI_DIACRITICALSEXT } /* indiacriticalsext */, + { 10, 3836, 9038, 17, 4, UNI_YEZI } /* scriptextensions=yezi */, + { 15, 9997, 3403, 3, 18, UNI_BC__RLI } /* bc=righttoleftisolate */, + { 0, 184, 6928, 2, 10, UNI_SD } /* issoftdotted */, + { 12, 9444, 9, 4, 2, UNI_AGE__NA } /* age=na */, + { 0, 21, 5256, 2, 14, UNI_LATINEXTD } /* inlatinextendedd */, + { 1, 7739, 9255, 8, 5, -UNI_IDS } /* idstart=false */, + { 3, 184, 3937, 2, 4, UNI_BOPO } /* isbopo */, + { 22, 10290, 10303, 6, 5, UNI_XPOSIXBLANK } /* xposixblank */, + { 1, 3151, 3, 18, 1, -UNI_EPRES } /* emojipresentation=f */, + { 1, 5037, 36, 9, 1, UNI_XPOSIXXDIGIT } /* hexdigit=t */, + { 1, 3025, 0, 18, 0, UNI_CHEROKEESUP } /* cherokeesupplement */, + { 0, 7155, 4066, 3, 15, UNI_HALFANDFULLFORMS } /* ishalfandfullforms */, + { 0, 10340, 3379, 6, 5, UNI_VERTSPACE } /* isvertspace */, + { 4, 10012, 9, 3, 2, UNI_EA__NA } /* ea=na */, + { 6, 8780, 8990, 6, 6, UNI_INREJANG } /* block=rejang */, + { 0, 7228, 36, 10, 1, UNI_XPOSIXLOWER } /* lowercase=t */, + { 8, 3836, 9860, 17, 4, UNI_VAI } /* scriptextensions=vaii */, + { 0, 1417, 8799, 25, 5, UNI_CCC__107 } /* canonicalcombiningclass=ccc107 */, + { 1, 6231, 6110, 3, 11, UNI_CYRILLICEXTB } /* incyrillicextb */, + { 0, 9444, 7826, 4, 4, UNI_AGE__12 } /* age=12.0 */, + { 4, 1812, 10135, 22, 3, UNI_CWL } /* changeswhenlowercased=yes */, + { 0, 406, 0, 7, 0, UNI_XPOSIXCNTRL } /* control */, + { 1, 9488, 6884, 4, 11, UNI_INPAHAWHHMONG } /* blk=pahawhhmong */, + { 11, 8589, 9480, 7, 4, UNI_BATK } /* script=batk */, + { 3, 5739, 9255, 13, 5, -UNI_GRBASE } /* graphemebase=false */, + { 7, 8589, 8840, 7, 6, UNI_SC__CAKM } /* script=chakma */, + { 0, 9488, 7398, 4, 10, UNI_SUPARROWSC } /* blk=suparrowsc */, + { 0, 9768, 2409, 4, 4, UNI_GLAG } /* scx=glag */, + { 1, 9277, 2287, 3, 7, UNI_SC__SINH } /* sc=sinhala */, + { 12, 10024, 339, 3, 2, UNI_LO } /* gc=lo */, + { 0, 7438, 125, 10, 2, UNI_LB__CR } /* wordbreak=cr */, + { 0, 9277, 2855, 3, 9, UNI_SC__MONG } /* sc=mongolian */, + { 1, 8414, 0, 7, 0, UNI_ELBA } /* elbasan */, + { 0, 10296, 2571, 3, 3, UNI_PRTI } /* isprti */, + { 1, 3836, 3025, 17, 8, UNI_CHER } /* scriptextensions=cherokee */, + { 1, 1591, 3170, 3, 7, UNI_INETHIOPIC } /* inethiopic */, + { 0, 8780, 6620, 6, 11, UNI_DOMINO } /* block=dominotiles */, + { 0, 1417, 9166, 25, 4, UNI_CCC__27 } /* canonicalcombiningclass=ccc27 */, + { 2, 4116, 3278, 3, 17, UNI_PI } /* isinitialpunctuation */, + { 18, 8888, 0, 4, 0, UNI_HATR } /* hatr */, + { 0, 8589, 7292, 8, 6, UNI_SC__SOGD } /* script=sogdian */, + { 3, 4791, 2062, 3, 3, UNI_INMODI } /* inmodi */, + { 1, 2218, 9689, 3, 2, UNI_INNKO } /* innko */, + { 4, 8930, 9255, 6, 5, -UNI_XPOSIXLOWER } /* lower=false */, + { 1, 3836, 1654, 17, 6, UNI_HANG } /* scriptextensions=hangul */, + { 2, 8780, 1466, 7, 23, UNI_DIACRITICALSFORSYMBOLS } /* block=combiningmarksforsymbols */, + { 2, 8589, 8936, 7, 4, UNI_LYCI } /* script=lyci */, + { 6, 184, 7, 3, 1, UNI_XPOSIXCNTRL } /* iscc */, + { 1, 9277, 8786, 3, 4, UNI_CARI } /* sc=cari */, + { 2, 184, 114, 3, 24, UNI_DIACRITICALS } /* iscombiningdiacriticalmarks */, + { 5, 9488, 7278, 4, 10, UNI_INOLDPERSIAN } /* blk=oldpersian */, + { 20, 1552, 206, 9, 2, UNI_PI } /* category=pi */, + { 1, 9508, 10172, 4, 2, UNI_CCC__9 } /* ccc=vr */, + { 0, 184, 1442, 3, 23, UNI_CJKSYMBOLS } /* iscjksymbolsandpunctuation */, + { 2, 10024, 598, 3, 2, UNI_XPOSIXCNTRL } /* gc=cc */, + { 14, 7325, 10096, 3, 3, UNI_IN__5 } /* in=v50 */, + { 0, 9277, 8680, 3, 7, UNI_ZZZZ } /* sc=unknown */, + { 0, 9270, 2555, 5, 6, UNI_INPC__BOTTOM } /* inpc=bottom */, + { 4, 8589, 1176, 8, 3, UNI_SORA } /* script=sora */, + { 2, 659, 0, 30, 0, UNI_CJKEXTF } /* cjkunifiedideographsextensionf */, + { 0, 8960, 17, 7, 1, UNI_COMPEX } /* nfcqc=no */, + { 1, 1417, 9468, 24, 4, UNI_CCC__216 } /* canonicalcombiningclass=atar */, + { 4, 8694, 1025, 7, 2, -UNI_XPOSIXSPACE } /* wspace=no */, + { 0, 9888, 0, 4, 0, UNI_ZANB } /* zanb */, + { 14, 8780, 3341, 6, 8, UNI_DINGBATS } /* block=dingbats */, + { 1, 7218, 5746, 10, 5, UNI_EBASE } /* linebreak=ebase */, + { 1, 8575, 1, 7, 1, -UNI_PATSYN } /* patsyn=n */, + { 0, 10048, 9380, 3, 4, UNI_NV__1_SLASH_80 } /* nv=1/80 */, + { 3, 9800, 0, 4, 0, UNI_TAGS } /* tags */, + { 1, 10290, 5039, 6, 6, UNI_XPOSIXXDIGIT } /* xposixxdigit */, + { 0, 9488, 2874, 4, 19, UNI_OTTOMANSIYAQNUMBERS } /* blk=ottomansiyaqnumbers */, + { 1, 9997, 6049, 3, 12, UNI_BC__AN } /* bc=arabicnumber */, + { 0, 4916, 8292, 3, 7, UNI_TAGB } /* istagbanwa */, + { 1, 4628, 0, 15, 0, UNI_ea_values_index } /* eastasianwidth= */, + { 0, 184, 8924, 2, 6, UNI_LEPC } /* islepcha */, + { 0, 7693, 0, 9, 0, UNI_SAMR } /* samaritan */, + { 0, 7318, 10075, 10, 3, UNI_IN__2 } /* presentin=v20 */, + { 5, 9488, 1294, 4, 25, UNI_SUPERANDSUB } /* blk=superscriptsandsubscripts */, + { 0, 10048, 7859, 3, 4, UNI_NV__2000 } /* nv=2000 */, + { 12, 21, 7188, 2, 10, UNI_INKHAROSHTHI } /* inkharoshthi */, + { 7, 3836, 3937, 17, 8, UNI_BOPO } /* scriptextensions=bopomofo */, + { 0, 9556, 6178, 4, 3, UNI_LB__ZWJ } /* gcb=zwj */, + { 2, 184, 149, 3, 34, UNI_DIACRITICALSSUP } /* iscombiningdiacriticalmarkssupplement */, + { 14, 6420, 4869, 3, 14, UNI_NARB } /* inoldnortharabian */, + { 0, 10030, 0, 4, 0, UNI_JT__L } /* jt=l */, + { 1, 2203, 0, 14, 0, UNI_ROHG } /* hanifirohingya */, + { 1, 5791, 6346, 13, 3, UNI_JG__NYA } /* joininggroup=nya */, + { 0, 8780, 6505, 6, 8, UNI_PHAISTOS } /* block=phaistos */, + { 4, 184, 9684, 2, 4, UNI_NEWA } /* isnewa */, + { 32, 4033, 908, 16, 10, UNI_CO } /* generalcategory=privateuse */, + { 12, 9277, 9484, 3, 4, UNI_BHKS } /* sc=bhks */, + { 5, 509, 0, 20, 0, UNI_CJK } /* cjkunifiedideographs */, + { 1, 10027, 7048, 3, 10, UNI_JG__AFRICANQAF } /* jg=africanqaf */, + { 0, 7438, 5851, 10, 2, UNI_WB__ML } /* wordbreak=ml */, + { 3, 9612, 0, 4, 0, UNI_KNDA } /* knda */, + { 1, 9488, 148, 4, 35, UNI_DIACRITICALSSUP } /* blk=combiningdiacriticalmarkssupplement */, + { 3, 7325, 7755, 3, 3, UNI_IN__1_DOT_1 } /* in=1.1 */, + { 0, 1552, 32, 9, 2, UNI__PERL_SURROGATE } /* category=cs */, + { 2, 9508, 6445, 4, 12, UNI_CCC__0 } /* ccc=notreordered */, + { 0, 2218, 7631, 3, 8, UNI_INNEWTAILUE } /* innewtailue */, + { 4, 9488, 8227, 4, 8, UNI_KANAEXTA } /* blk=kanaexta */, + { 0, 1988, 1025, 22, 2, -UNI_LOE } /* logicalorderexception=no */, + { 26, 8960, 47, 6, 1, UNI_NFCQC__M } /* nfcqc=m */, + { 0, 5986, 7859, 13, 3, UNI_NV__200 } /* numericvalue=200 */, + { 4, 3937, 0, 4, 0, UNI_BOPO } /* bopo */, + { 0, 8894, 9255, 6, 5, -UNI_JOINC } /* joinc=false */, + { 0, 21, 8924, 2, 6, UNI_INLEPCHA } /* inlepcha */, + { 0, 6553, 0, 12, 0, UNI_xidc_values_index } /* xidcontinue= */, + { 7, 7076, 4449, 3, 4, UNI_INBAMUM } /* inbamum */, + { 1, 10027, 4773, 3, 3, UNI_JG__SAD } /* jg=sad */, + { 0, 7218, 10174, 10, 2, UNI_LB__XX } /* linebreak=xx */, + { 0, 8780, 5284, 6, 7, UNI_LISUSUP } /* block=lisusup */, + { 0, 5578, 9080, 14, 5, UNI_SB__AT } /* sentencebreak=aterm */, + { 0, 10033, 4360, 3, 9, UNI_EMOD } /* lb=emodifier */, + { 1, 9277, 1536, 3, 4, UNI_SC__SIND } /* sc=sind */, + { 1, 8589, 8484, 7, 7, UNI_SC__MAND } /* script=mandaic */, + { 0, 3385, 0, 18, 0, UNI_ri_values_index } /* regionalindicator= */, + { 6, 3836, 9888, 17, 4, UNI_ZANB } /* scriptextensions=zanb */, + { 4, 9768, 2560, 4, 4, UNI_MAND } /* scx=mand */, + { 0, 6517, 0, 12, 0, UNI_PLAYINGCARDS } /* playingcards */, + { 1, 8780, 43, 7, 25, UNI_CJKCOMPATIDEOGRAPHS } /* block=cjkcompatibilityideographs */, + { 3, 8147, 0, 9, 0, -UNI_EXTPICT } /* extpict=f */, + { 0, 8780, 6517, 6, 12, UNI_PLAYINGCARDS } /* block=playingcards */, + { 1, 10027, 5856, 3, 13, UNI_JG__MALAYALAMNNNA } /* jg=malayalamnnna */, + { 1, 6420, 3332, 3, 17, UNI_ORNAMENTALDINGBATS } /* inornamentaldingbats */, + { 0, 9277, 497, 5, 3, UNI_KHMR } /* sc=khmer */, + { 0, 8780, 8942, 6, 6, UNI_INLYDIAN } /* block=lydian */, + { 1, 9488, 749, 4, 21, UNI_ENCLOSEDALPHANUM } /* blk=enclosedalphanumerics */, + { 0, 4033, 132, 16, 2, UNI_LM } /* generalcategory=lm */, + { 0, 8780, 3457, 6, 11, UNI_TAIXUANJING } /* block=taixuanjing */, + { 2, 2224, 896, 3, 27, UNI_SUPPUAA } /* insupplementaryprivateuseareaa */, + { 0, 3379, 1025, 6, 2, -UNI_XPOSIXSPACE } /* space=no */, + { 0, 1812, 26, 22, 1, UNI_CWL } /* changeswhenlowercased=y */, + { 0, 9768, 9680, 4, 4, UNI_NBAT } /* scx=nbat */, + { 0, 4791, 393, 3, 2, UNI_INMRO } /* inmro */, + { 1, 184, 9664, 2, 3, UNI_MRO } /* ismro */, + { 2, 9488, 5804, 4, 13, UNI_KANAEXTA } /* blk=kanaextendeda */, + { 0, 10132, 0, 3, 0, UNI_wb_values_index } /* wb= */, + { 0, 8924, 0, 4, 0, UNI_LEPC } /* lepc */, + { 6, 8659, 0, 7, 0, UNI_TIBT } /* tibetan */, + { 2, 184, 1060, 3, 5, UNI_COPT } /* iscoptic */, + { 22, 9508, 9026, 4, 6, UNI_CCC__9 } /* ccc=virama */, + { 1, 9270, 868, 3, 10, UNI_PHONETICEXT } /* inphoneticext */, + { 0, 1677, 0, 5, 0, UNI_LATN } /* latin */, + { 1, 3385, 9836, 18, 4, UNI_RI } /* regionalindicator=true */, + { 0, 1790, 36, 22, 1, UNI_CWCM } /* changeswhencasemapped=t */, + { 3, 8589, 9660, 7, 4, UNI_SC__MLYM } /* script=mlym */, + { 0, 10033, 6169, 3, 4, UNI_LB__GL } /* lb=glue */, + { 4, 1537, 2988, 24, 19, UNI_INPC__TOPANDBOTTOMANDLEFT } /* indicpositionalcategory=topandbottomandleft */, + { 3, 5791, 3819, 13, 17, UNI_JG__MANICHAEANTHAMEDH } /* joininggroup=manichaeanthamedh */, + { 4, 5986, 10150, 13, 2, UNI_NV__48 } /* numericvalue=48 */, + { 4, 184, 6796, 2, 11, UNI_MEDF } /* ismedefaidrin */, + { 18, 3382, 36, 3, 1, UNI_CE } /* ce=t */, + { 8, 10048, 7978, 3, 2, UNI_NV__16 } /* nv=16 */, + { 1, 7438, 73, 10, 2, UNI_WB__EB } /* wordbreak=em */, + { 2, 1417, 9196, 25, 4, UNI_CCC__33 } /* canonicalcombiningclass=ccc33 */, + { 19, 9768, 9620, 4, 4, UNI_LANA } /* scx=lana */, + { 2, 3382, 10135, 3, 3, UNI_CE } /* ce=yes */, + { 17, 8780, 4883, 6, 15, UNI_SARB } /* block=oldsoutharabian */, + { 17, 8243, 0, 8, 0, UNI_MAHJ } /* mahajani */, + { 1, 5674, 0, 13, 0, UNI_bidim_values_index } /* bidimirrored= */, + { 2, 9488, 867, 4, 18, UNI_PHONETICEXT } /* blk=phoneticextensions */, + { 0, 6229, 36, 12, 1, UNI_JOINC } /* joincontrol=t */, + { 16, 3836, 9576, 17, 4, UNI_GURU } /* scriptextensions=guru */, + { 4, 5791, 5620, 13, 10, UNI_JG__TEHMARBUTA } /* joininggroup=tehmarbuta */, + { 2, 10048, 9055, 3, 4, UNI_NV__1_SLASH_32 } /* nv=1/32 */, + { 0, 21, 5270, 2, 14, UNI_LATINEXTE } /* inlatinextendede */, + { 1, 10030, 0, 3, 1, UNI_JT__U } /* jt=u */, + { 0, 184, 9226, 3, 4, UNI_XPOSIXCNTRL } /* iscntrl */, + { 0, 7218, 25, 10, 2, UNI_LB__SY } /* linebreak=sy */, + { 7, 3097, 10066, 18, 3, UNI_DT__SML } /* decompositiontype=sml */, + { 12, 184, 9533, 3, 3, UNI_CYRL } /* iscyrl */, + { 1, 4791, 2856, 3, 18, UNI_MONGOLIANSUP } /* inmongoliansupplement */, + { 10, 4658, 9836, 15, 4, UNI_GREXT } /* graphemeextend=true */, + { 9, 7218, 10156, 10, 2, UNI_LB__BK } /* linebreak=bk */, + { 1, 9488, 4673, 4, 15, UNI_INHANGUL } /* blk=hangulsyllables */, + { 3, 184, 2010, 2, 22, UNI_MISCTECHNICAL } /* ismiscellaneoustechnical */, + { 3, 4033, 5592, 16, 14, UNI_ZS } /* generalcategory=spaceseparator */, + { 1, 10048, 9413, 3, 3, UNI_NV__7_SLASH_2 } /* nv=7/2 */, + { 0, 7088, 3773, 10, 3, UNI_BC__RLI } /* bidiclass=rli */, + { 4, 9488, 3683, 4, 17, UNI_ETHIOPICEXTA } /* blk=ethiopicextendeda */, + { 2, 9230, 26, 5, 1, UNI_CWCF } /* cwcf=y */, + { 0, 8589, 9002, 7, 6, UNI_SC__TELU } /* script=telugu */, + { 0, 10009, 45, 3, 6, UNI_DT__COM } /* dt=compat */, + { 0, 9240, 9255, 5, 5, -UNI_DASH } /* dash=false */, + { 0, 10024, 4718, 3, 15, UNI_LOWERCASELETTER } /* gc=lowercaseletter */, + { 1, 5986, 8720, 13, 3, UNI_NV__400 } /* numericvalue=400 */, + { 0, 2280, 9316, 3, 4, UNI_ORYA } /* isoriya */, + { 0, 3374, 1025, 11, 2, -UNI_XPOSIXSPACE } /* whitespace=no */, + { 1, 8688, 2314, 3, 3, UNI_POSIXXDIGIT } /* isahex */, + { 6, 9768, 9664, 4, 4, UNI_MRO } /* scx=mroo */, + { 0, 9768, 2855, 4, 9, UNI_MONG } /* scx=mongolian */, + { 0, 8780, 6086, 7, 11, UNI_CHESSSYMBOLS } /* block=chesssymbols */, + { 3, 184, 895, 2, 28, UNI_SUPPUAA } /* issupplementaryprivateuseareaa */, + { 8, 8882, 10135, 6, 3, UNI_GREXT } /* grext=yes */, + { 0, 9768, 9748, 4, 4, UNI_RJNG } /* scx=rjng */, + { 2, 8780, 690, 7, 29, UNI_CJKEXTG } /* block=cjkunifiedideographsextensiong */, + { 8, 2218, 8527, 3, 6, UNI_NB } /* innoblock */, + { 2, 8589, 9664, 7, 3, UNI_MRO } /* script=mro */, + { 0, 10063, 9255, 3, 5, -UNI_SD } /* sd=false */, + { 20, 4033, 106, 16, 6, UNI_S } /* generalcategory=symbol */, + { 2, 10027, 9456, 3, 4, UNI_JG__ALEF } /* jg=alef */, + { 0, 4916, 9009, 3, 5, UNI_THAA } /* isthaana */, + { 7, 7325, 7827, 3, 3, UNI_IN__2 } /* in=2.0 */, + { 0, 1417, 9131, 25, 4, UNI_CCC__20 } /* canonicalcombiningclass=ccc20 */, + { 1, 3374, 0, 10, 0, UNI_XPOSIXSPACE } /* whitespace */, + { 2, 184, 1700, 2, 23, UNI_SHORTHANDFORMATCONTROLS } /* isshorthandformatcontrols */, + { 0, 8638, 0, 7, 0, UNI_TGLG } /* tagalog */, + { 9, 8780, 9002, 6, 6, UNI_INTELUGU } /* block=telugu */, + { 10, 9488, 1654, 4, 6, UNI_INHANGUL } /* blk=hangul */, + { 4, 9488, 8610, 4, 7, UNI_INSIDDHAM } /* blk=siddham */, + { 1, 10012, 4471, 3, 7, UNI_EA__N } /* ea=neutral */, + { 1, 3836, 9732, 17, 4, UNI_PRTI } /* scriptextensions=prti */, + { 1, 184, 1218, 2, 26, UNI_KATAKANAEXT } /* iskatakanaphoneticextensions */, + { 7, 9277, 7569, 5, 7, UNI_SC__SIND } /* sc=khudawadi */, + { 0, 10291, 62, 5, 5, UNI_POSIXGRAPH } /* posixgraph */, + { 23, 184, 6620, 2, 11, UNI_DOMINO } /* isdominotiles */, + { 0, 9896, 0, 4, 0, UNI_ZYYY } /* zyyy */, + { 0, 10027, 5354, 3, 14, UNI_JG__MANICHAEANHETH } /* jg=manichaeanheth */, + { 4, 5986, 7468, 13, 9, UNI_NV___MINUS_1_SLASH_2 } /* numericvalue=-5.00e-01 */, + { 0, 10048, 8043, 3, 8, UNI_NV__4_SLASH_5 } /* nv=8.00e-01 */, + { 0, 3836, 7657, 17, 9, UNI_PERM } /* scriptextensions=oldpermic */, + { 1, 184, 1835, 3, 20, UNI_CWT } /* ischangeswhentitlecased */, + { 4, 9488, 1677, 4, 23, UNI_LATINEXTADDITIONAL } /* blk=latinextendedadditional */, + { 1, 2280, 9709, 3, 3, UNI_ORYA } /* isorya */, + { 2, 3836, 8924, 17, 6, UNI_LEPC } /* scriptextensions=lepcha */, + { 1, 9768, 6193, 4, 4, UNI_HEBR } /* scx=hebr */, + { 2, 9488, 5816, 5, 7, UNI_INBALINESE } /* blk=balinese */, + { 1, 9508, 2455, 4, 5, UNI_CCC__R } /* ccc=right */, + { 0, 1677, 0, 9, 0, UNI_LATINEXTE } /* latinexte */, + { 0, 9277, 2409, 3, 4, UNI_SC__GLAG } /* sc=glag */, + { 2, 9488, 5522, 4, 14, UNI_PHONETICEXTSUP } /* blk=phoneticextsup */, + { 0, 7438, 6917, 10, 11, UNI_WB__SQ } /* wordbreak=singlequote */, + { 1, 2182, 5633, 21, 2, UNI_LB__H2 } /* graphemeclusterbreak=lv */, + { 40, 6231, 3026, 3, 17, UNI_CHEROKEESUP } /* incherokeesupplement */, + { 6, 467, 0, 5, 0, UNI_P } /* punct */, + { 1, 10024, 5817, 3, 13, UNI_ZL } /* gc=lineseparator */, + { 0, 9768, 8337, 4, 7, UNI_AVST } /* scx=avestan */, + { 1, 184, 114, 3, 34, UNI_DIACRITICALSFORSYMBOLS } /* iscombiningdiacriticalmarksforsymbols */, + { 4, 9488, 1513, 4, 24, UNI_HIGHPUSURROGATES } /* blk=highprivateusesurrogates */, + { 0, 9277, 4001, 3, 7, UNI_SC__CPRT } /* sc=cypriot */, + { 0, 5986, 9380, 13, 4, UNI_NV__1_SLASH_80 } /* numericvalue=1/80 */, + { 0, 10291, 5040, 5, 5, UNI_POSIXDIGIT } /* posixdigit */, + { 6, 8589, 9310, 7, 5, UNI_OGAM } /* script=ogham */, + { 0, 184, 2245, 2, 21, UNI_MEETEIMAYEKEXT } /* ismeeteimayekextensions */, + { 1, 3836, 8442, 17, 7, UNI_HANO } /* scriptextensions=hanunoo */, + { 1, 6241, 7258, 12, 10, UNI_JT__U } /* joiningtype=nonjoining */, + { 2, 10009, 4017, 3, 5, UNI_DT__FIN } /* dt=final */, + { 9, 3836, 6277, 17, 4, UNI_MAHJ } /* scriptextensions=mahj */, + { 3, 4989, 1129, 3, 3, UNI_UCAS } /* isucas */, + { 2, 8509, 2705, 4, 17, UNI_ENCLOSEDALPHANUMSUP } /* inenclosedalphanumsup */, + { 5, 10051, 0, 3, 0, UNI_OCR } /* ocr */, + { 1, 3717, 8330, 17, 7, UNI_IDENTIFIERSTATUS__ALLOWED } /* identifierstatus=allowed */, + { 0, 9768, 1628, 4, 4, UNI_PHAG } /* scx=phag */, + { 1, 10024, 6265, 3, 12, UNI_NL } /* gc=letternumber */, + { 0, 8996, 9837, 7, 3, UNI_STERM } /* sterm=true */, + { 0, 9488, 3683, 4, 11, UNI_ETHIOPICEXT } /* blk=ethiopicext */, + { 1, 9768, 6484, 4, 4, UNI_HUNG } /* scx=hung */, + { 9, 9038, 0, 6, 0, UNI_YEZI } /* yezidi */, + { 0, 6231, 7129, 3, 9, UNI_CJKSTROKES } /* incjkstrokes */, + { 2, 10033, 0, 3, 0, UNI_lb_values_index } /* lb= */, + { 0, 8960, 0, 7, 0, UNI_COMPEX } /* nfcqc=n */, + { 0, 1189, 5713, 3, 7, UNI_XPOSIXDIGIT } /* nt=decimal */, + { 4, 6241, 6, 12, 1, UNI_JT__D } /* joiningtype=d */, + { 0, 9277, 4883, 3, 15, UNI_SARB } /* sc=oldsoutharabian */, + { 0, 6805, 206, 6, 11, UNI_MISCPICTOGRAPHS } /* inmiscpictographs */, + { 8, 10024, 467, 3, 11, UNI_P } /* gc=punctuation */, + { 9, 9768, 8187, 4, 4, UNI_HIRA } /* scx=hira */, + { 4, 184, 7513, 2, 9, UNI_BHKS } /* isbhaiksuki */, + { 2, 5986, 9376, 13, 4, UNI_NV__1_SLASH_64 } /* numericvalue=1/64 */, + { 21, 9488, 7531, 4, 9, UNI_EMOTICONS } /* blk=emoticons */, + { 6, 7684, 0, 4, 0, UNI_PAUC } /* pauc */, + { 12, 4273, 0, 7, 0, UNI_MYMR } /* myanmar */, + { 12, 7657, 0, 9, 0, UNI_PERM } /* oldpermic */, + { 0, 6231, 510, 3, 19, UNI_CJK } /* incjkunifiedideographs */, + { 8, 184, 9644, 2, 4, UNI_MEDF } /* ismedf */, + { 3, 951, 0, 18, 0, UNI_INVS } /* variationselectors */, + { 0, 8780, 5018, 6, 14, UNI_ANCIENTSYMBOLS } /* block=ancientsymbols */, + { 5, 1417, 3015, 24, 10, UNI_CCC__AR } /* canonicalcombiningclass=aboveright */, + { 1, 4116, 3260, 3, 3, UNI_IDSB } /* isidsb */, + { 68, 1966, 2389, 22, 20, UNI_INSC__CONSONANTWITHSTACKER } /* indicsyllabiccategory=consonantwithstacker */, + { 3, 10126, 18, 3, 1, UNI_VO__R } /* vo=r */, + { 8, 8688, 9441, 3, 3, UNI_ADLM } /* isadlm */, + { 6, 9277, 2608, 3, 4, UNI_BRAH } /* sc=brah */, + { 10, 10333, 6, 3, 1, UNI_SD } /* issd */, + { 0, 4033, 27, 16, 2, UNI_LOWERCASELETTER } /* generalcategory=ll */, + { 9, 5791, 4778, 13, 15, UNI_JG__MANICHAEANZAYIN } /* joininggroup=manichaeanzayin */, + { 0, 8780, 1631, 6, 15, UNI_GEOMETRICSHAPES } /* block=geometricshapes */, + { 0, 8870, 0, 6, 0, UNI_epres_values_index } /* epres= */, + { 1, 9716, 36, 4, 1, UNI_PCM } /* pcm=t */, + { 0, 3836, 8498, 17, 7, UNI_MULT } /* scriptextensions=multani */, + { 0, 184, 4360, 2, 4, UNI_EMOD } /* isemod */, + { 0, 10033, 42, 3, 2, UNI_LB__CJ } /* lb=cj */, + { 1, 5986, 8744, 13, 4, UNI_NV__7000 } /* numericvalue=7000 */, + { 0, 1591, 7533, 4, 7, UNI_EMOTICONS } /* inemoticons */, + { 2, 9488, 10051, 4, 3, UNI_OCR } /* blk=ocr */, + { 9, 9768, 7292, 5, 3, UNI_SOGD } /* scx=sogd */, + { 0, 9768, 9564, 4, 4, UNI_GONM } /* scx=gonm */, + { 2, 3836, 8477, 17, 7, UNI_MAKA } /* scriptextensions=makasar */, + { 34, 3836, 6973, 18, 10, UNI_SYLO } /* scriptextensions=sylotinagri */, + { 2, 1417, 4134, 24, 1, UNI_CCC__1 } /* canonicalcombiningclass=1 */, + { 9, 9556, 6763, 4, 3, UNI_LB__H3 } /* gcb=lvt */, + { 0, 184, 1585, 2, 23, UNI_BYZANTINEMUSIC } /* isbyzantinemusicalsymbols */, + { 0, 1537, 0, 24, 0, UNI_inpc_values_index } /* indicpositionalcategory= */, + { 0, 1979, 4720, 11, 13, UNI_LOWERCASELETTER } /* category=lowercaseletter */, + { 0, 5986, 9404, 13, 4, UNI_NV__13_SLASH_2 } /* numericvalue=13/2 */, + { 0, 8780, 779, 6, 30, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* block=symbolsandpictographsextendeda */, + { 17, 9277, 8428, 3, 4, UNI_SC__GRAN } /* sc=gran */, + { 0, 9768, 9692, 4, 4, UNI_NSHU } /* scx=nshu */, + { 0, 4273, 0, 16, 0, UNI_MYANMAREXTA } /* myanmarextendeda */, + { 0, 7218, 6178, 10, 3, UNI_LB__ZWJ } /* linebreak=zwj */, + { 1, 8768, 3, 6, 1, -UNI_BIDIC } /* bidic=f */, + { 3, 8930, 1025, 6, 2, -UNI_XPOSIXLOWER } /* lower=no */, + { 8, 10048, 7933, 3, 2, UNI_NV__17 } /* nv=17 */, + { 1, 1417, 9191, 25, 4, UNI_CCC__32 } /* canonicalcombiningclass=ccc32 */, + { 5, 9444, 10084, 4, 3, UNI_AGE__3_DOT_1 } /* age=v31 */, + { 0, 9488, 8582, 4, 7, UNI_INPHAGSPA } /* blk=phagspa */, + { 4, 8589, 2817, 7, 4, UNI_MERO } /* script=mero */, + { 8, 8449, 3, 7, 1, -UNI_HYPHEN } /* hyphen=f */, + { 13, 8997, 3, 5, 1, -UNI_TERM } /* term=f */, + { 0, 10048, 8708, 3, 6, UNI_NV__216000 } /* nv=216000 */, + { 0, 7438, 1194, 10, 2, UNI_LB__LF } /* wordbreak=lf */, + { 1, 3836, 6884, 17, 11, UNI_HMNG } /* scriptextensions=pahawhhmong */, + { 1, 10027, 9772, 3, 4, UNI_JG__SEEN } /* jg=seen */, + { 9, 3836, 9448, 17, 4, UNI_AGHB } /* scriptextensions=aghb */, + { 0, 3836, 3895, 18, 3, UNI_SGNW } /* scriptextensions=sgnw */, + { 32, 10030, 36, 3, 1, UNI_JT__T } /* jt=t */, + { 10, 3836, 8171, 17, 8, UNI_GUJR } /* scriptextensions=gujarati */, + { 15, 21, 5228, 2, 14, UNI_LATINEXTB } /* inlatinextendedb */, + { 1, 9444, 9985, 4, 3, UNI_AGE__7 } /* age=7.0 */, + { 9, 4422, 3117, 4, 16, UNI_DEVANAGARIEXT } /* indevanagariextended */, + { 0, 184, 9480, 2, 4, UNI_BATK } /* isbatk */, + { 1, 10333, 7292, 3, 3, UNI_SOGD } /* issogd */, + { 0, 1812, 36, 22, 1, UNI_CWL } /* changeswhenlowercased=t */, + { 0, 8864, 1025, 6, 2, -UNI_EMOJI } /* emoji=no */, + { 2, 9508, 8795, 4, 3, UNI_CCC__103 } /* ccc=103 */, + { 6, 8603, 0, 7, 0, UNI_SHAW } /* shavian */, + { 0, 4145, 0, 7, 0, UNI_LINB } /* linearb */, + { 1, 1979, 1045, 10, 5, UNI_L } /* category=letter */, + { 4, 8456, 0, 7, 0, UNI_KNDA } /* kannada */, + { 0, 1552, 3349, 9, 18, UNI_ZP } /* category=paragraphseparator */, + { 2, 9277, 8421, 3, 4, UNI_ELYM } /* sc=elym */, + { 2, 4688, 7005, 15, 11, UNI_IDENTIFIERTYPE__UNCOMMONUSE } /* identifiertype=uncommonuse */, + { 1, 4688, 6895, 15, 11, UNI_IDENTIFIERTYPE__RECOMMENDED } /* identifiertype=recommended */, + { 0, 1417, 9136, 25, 4, UNI_CCC__21 } /* canonicalcombiningclass=ccc21 */, + { 0, 8688, 1395, 4, 22, UNI_ARABICPFB } /* isarabicpresentationformsb */, + { 1, 2224, 7292, 3, 6, UNI_INSOGDIAN } /* insogdian */, + { 9, 8589, 7630, 7, 9, UNI_TALU } /* script=newtailue */, + { 1, 8780, 4385, 6, 16, UNI_TANGUTCOMPONENTS } /* block=tangutcomponents */, + { 3, 4033, 3349, 16, 18, UNI_ZP } /* generalcategory=paragraphseparator */, + { 4, 10048, 7963, 3, 8, UNI_NV__11_SLASH_2 } /* nv=5.50e+00 */, + { 2, 8768, 0, 6, 0, UNI_bidic_values_index } /* bidic= */, + { 6, 184, 923, 2, 28, UNI_SUPPUAB } /* issupplementaryprivateuseareab */, + { 3, 9262, 10174, 3, 2, UNI_SB__XX } /* sb=xx */, + { 2, 2224, 7369, 3, 9, UNI_SMALLFORMS } /* insmallforms */, + { 0, 8864, 10135, 6, 3, UNI_EMOJI } /* emoji=yes */, + { 10, 10024, 132, 3, 2, UNI_LM } /* gc=lm */, + { 0, 8780, 4433, 6, 15, UNI_ARABICEXTA } /* block=arabicextendeda */, + { 5, 1171, 0, 2, 0, UNI_TITLE } /* lt */, + { 0, 9444, 10117, 4, 3, UNI_AGE__7 } /* age=v70 */, + { 0, 8589, 78, 7, 6, UNI_SC__ARAB } /* script=arabic */, + { 1, 8780, 9330, 6, 5, UNI_INTAILE } /* block=taile */, + { 6, 9277, 3785, 3, 4, UNI_SC__MANI } /* sc=mani */, + { 0, 9997, 6037, 3, 12, UNI_BC__AL } /* bc=arabicletter */, + { 5, 6241, 0, 12, 0, UNI_jt_values_index } /* joiningtype= */, + { 0, 4791, 6819, 3, 10, UNI_MYANMAREXTA } /* inmyanmarexta */, + { 3, 9277, 8617, 3, 7, UNI_SOYO } /* sc=soyombo */, + { 0, 2288, 1195, 5, 23, UNI_HALFANDFULLFORMS } /* inhalfwidthandfullwidthforms */, + { 2, 8470, 0, 7, 0, UNI_LINA } /* lineara */, + { 5, 3374, 9836, 11, 4, UNI_XPOSIXSPACE } /* whitespace=true */, + { 5, 9014, 26, 6, 1, UNI_UIDEO } /* uideo=y */, + { 0, 9768, 9824, 4, 4, UNI_TGLG } /* scx=tglg */, + { 12, 5578, 10174, 14, 2, UNI_SB__XX } /* sentencebreak=xx */, + { 2, 1537, 2449, 24, 4, UNI_INPC__LEFT } /* indicpositionalcategory=left */, + { 2, 9488, 867, 4, 28, UNI_PHONETICEXTSUP } /* blk=phoneticextensionssupplement */, + { 1, 184, 3115, 2, 10, UNI_DEVA } /* isdevanagari */, + { 3, 9262, 49, 3, 2, UNI_SB__AT } /* sb=at */, + { 9, 8589, 8498, 7, 7, UNI_SC__MULT } /* script=multani */, + { 0, 9277, 9824, 3, 4, UNI_SC__TGLG } /* sc=tglg */, + { 2, 1087, 36, 27, 1, UNI_PCM } /* prependedconcatenationmark=t */, + { 0, 3311, 0, 3, 0, UNI_ALL } /* all */, + { 1, 8930, 1, 6, 1, -UNI_XPOSIXLOWER } /* lower=n */, + { 4, 3901, 6184, 5, 9, UNI_INGUNJALAGONDI } /* ingunjalagondi */, + { 0, 6420, 7667, 3, 8, UNI_INOLDTURKIC } /* inoldturkic */, + { 1, 8589, 9892, 7, 4, UNI_SC__QAAI } /* script=zinh */, + { 0, 184, 8876, 2, 4, UNI_GOTH } /* isgoth */, + { 5, 10003, 26, 3, 1, UNI_CI } /* ci=y */, + { 1, 10182, 8979, 7, 4, UNI__PERL_PATWS } /* _perl_patws */, + { 14, 7158, 1, 10, 1, -UNI_DIA } /* diacritic=n */, + { 1, 9488, 6253, 4, 12, UNI_KHMERSYMBOLS } /* blk=khmersymbols */, + { 5, 9290, 36, 5, 1, UNI_MATH } /* math=t */, + { 0, 184, 435, 2, 5, UNI__PERL_NCHAR } /* isnchar */, + { 3, 9596, 5633, 4, 2, UNI_LB__H2 } /* hst=lv */, + { 2, 9277, 9452, 3, 4, UNI_AHOM } /* sc=ahom */, + { 0, 184, 8477, 2, 4, UNI_MAKA } /* ismaka */, + { 3, 7594, 0, 9, 0, UNI_LATINEXTD } /* latinextd */, + { 1, 9277, 7358, 3, 4, UNI_SAUR } /* sc=saur */, + { 3, 9488, 5284, 4, 7, UNI_LISUSUP } /* blk=lisusup */, + { 0, 9020, 0, 6, 0, UNI_upper_values_index } /* upper= */, + { 6, 8864, 0, 6, 0, UNI_emoji_values_index } /* emoji= */, + { 0, 4422, 3117, 4, 11, UNI_DEVANAGARIEXT } /* indevanagariext */, + { 0, 8688, 80, 4, 33, UNI_ARABICMATH } /* isarabicmathematicalalphabeticsymbols */, + { 1, 3836, 0, 17, 0, UNI_scx_values_index } /* scriptextensions= */, + { 4, 9488, 7308, 4, 10, UNI_INPHOENICIAN } /* blk=phoenician */, + { 3, 5791, 6313, 13, 12, UNI_JG__MALAYALAMNGA } /* joininggroup=malayalamnga */, + { 9, 3836, 7168, 17, 10, UNI_DIAK } /* scriptextensions=divesakuru */, + { 1, 9277, 1219, 4, 7, UNI_SC__KANA } /* sc=katakana */, + { 0, 4033, 133, 16, 4, UNI_M } /* generalcategory=mark */, + { 1, 10048, 7939, 3, 8, UNI_NV__9_SLASH_2 } /* nv=4.50e+00 */, + { 1, 2288, 4098, 3, 15, UNI_HIGHPUSURROGATES } /* inhighpusurrogates */, + { 4, 9277, 9664, 3, 3, UNI_MRO } /* sc=mro */, + { 2, 7291, 0, 7, 0, UNI_SOGD } /* sogdian */, + { 1, 1417, 8837, 24, 3, UNI_WB__EB } /* canonicalcombiningclass=133 */, + { 0, 4033, 339, 16, 2, UNI_LO } /* generalcategory=lo */, + { 0, 7540, 36, 9, 1, UNI_EXT } /* extender=t */, + { 3, 10296, 6, 3, 1, UNI_PD } /* ispd */, + { 9, 9508, 24, 4, 1, UNI_CCC__L } /* ccc=l */, + { 0, 1417, 9952, 24, 3, UNI_CCC__IS } /* canonicalcombiningclass=240 */, + { 0, 7438, 727, 10, 2, UNI_WB__MN } /* wordbreak=mn */, + { 32, 9488, 1878, 4, 22, UNI_CJKCOMPATIDEOGRAPHSSUP } /* blk=cjkcompatideographssup */, + { 48, 184, 4145, 2, 16, UNI_LINEARBIDEOGRAMS } /* islinearbideograms */, + { 0, 3836, 9245, 17, 4, UNI_DOGR } /* scriptextensions=dogr */, + { 0, 1552, 6862, 9, 11, UNI_NO } /* category=othernumber */, + { 14, 184, 9656, 2, 4, UNI_MIAO } /* ismiao */, + { 0, 6576, 36, 11, 1, UNI_XPOSIXALPHA } /* alphabetic=t */, + { 0, 5791, 6162, 13, 7, UNI_JG__SEMKATH } /* joininggroup=semkath */, + { 5, 184, 8219, 2, 8, UNI_JAVA } /* isjavanese */, + { 3, 3836, 8491, 17, 7, UNI_MARC } /* scriptextensions=marchen */, + { 4, 4033, 400, 16, 6, UNI_CF } /* generalcategory=format */, + { 9, 8780, 4369, 6, 9, UNI_SYRIACSUP } /* block=syriacsup */, + { 0, 9488, 3581, 4, 17, UNI_UCAS } /* blk=canadiansyllabics */, + { 0, 10027, 2627, 3, 19, UNI_JG__BURUSHASKIYEHBARREE } /* jg=burushaskiyehbarree */, + { 1, 8780, 3080, 7, 17, UNI_COPTICEPACTNUMBERS } /* block=copticepactnumbers */, + { 1, 9277, 2287, 3, 4, UNI_SC__SINH } /* sc=sinh */, + { 6, 9716, 1025, 4, 2, -UNI_PCM } /* pcm=no */, + { 0, 184, 3937, 2, 16, UNI_BOPOMOFOEXT } /* isbopomofoextended */, + { 0, 8870, 3, 6, 1, -UNI_EPRES } /* epres=f */, + { 0, 3223, 0, 18, 0, UNI_INPUNCTUATION } /* generalpunctuation */, + { 3, 8589, 6277, 7, 4, UNI_SC__MAHJ } /* script=mahj */, + { 3, 9997, 32, 3, 2, UNI_BC__CS } /* bc=cs */, + { 0, 3151, 1025, 18, 2, -UNI_EPRES } /* emojipresentation=no */, + { 0, 184, 1677, 2, 9, UNI_LATINEXTE } /* islatinexte */, + { 0, 7438, 0, 4, 0, UNI_XPOSIXWORD } /* word */, + { 0, 4033, 112, 16, 2, UNI_SC } /* generalcategory=sc */, + { 1, 9488, 7621, 4, 9, UNI_INNABATAEAN } /* blk=nabataean */, + { 0, 9277, 9672, 3, 4, UNI_SC__MYMR } /* sc=mymr */, + { 3, 7218, 533, 10, 2, UNI_LB__NS } /* linebreak=ns */, + { 2, 8780, 8115, 6, 8, UNI_INBASSAVAH } /* block=bassavah */, + { 3, 951, 0, 17, 0, UNI_VS } /* variationselector */, + { 1, 8589, 9038, 7, 4, UNI_SC__YEZI } /* script=yezi */, + { 6, 9277, 9736, 3, 4, UNI_SC__COPT } /* sc=qaac */, + { 0, 8688, 97, 3, 4, UNI_XPOSIXALPHA } /* isalpha */, + { 2, 4033, 4305, 16, 16, UNI_PO } /* generalcategory=otherpunctuation */, + { 1, 10132, 6193, 3, 12, UNI_LB__HL } /* wb=hebrewletter */, + { 17, 1417, 6719, 24, 11, UNI_CCC__8 } /* canonicalcombiningclass=kanavoicing */, + { 2, 1188, 4386, 3, 5, UNI_INTANGUT } /* intangut */, + { 1, 9277, 4273, 3, 7, UNI_SC__MYMR } /* sc=myanmar */, + { 46, 8924, 0, 6, 0, UNI_LEPC } /* lepcha */, + { 1, 1417, 5649, 24, 1, UNI_CCC__0 } /* canonicalcombiningclass=0 */, + { 1, 8589, 9896, 7, 4, UNI_SC__ZYYY } /* script=zyyy */, + { 16, 10009, 0, 3, 0, UNI_dt_values_index } /* dt= */, + { 6, 2784, 863, 4, 4, UNI_ARROWS } /* inarrows */, + { 16, 9277, 4478, 3, 4, UNI_BRAI } /* sc=brai */, + { 11, 9444, 10081, 4, 3, UNI_AGE__3 } /* age=v30 */, + { 10, 9516, 0, 4, 0, UNI_CPRT } /* cprt */, + { 2, 184, 9668, 2, 4, UNI_MTEI } /* ismtei */, + { 0, 184, 6961, 2, 11, UNI_SUPERANDSUB } /* issuperandsub */, + { 0, 10048, 7930, 3, 2, UNI_NV__14 } /* nv=14 */, + { 1, 9270, 868, 3, 27, UNI_PHONETICEXTSUP } /* inphoneticextensionssupplement */, + { 0, 184, 5214, 2, 6, UNI_KANGXI } /* iskangxi */, + { 0, 9277, 8187, 3, 4, UNI_SC__HIRA } /* sc=hira */, + { 0, 184, 133, 2, 4, UNI_M } /* ismark */, + { 3, 7188, 0, 10, 0, UNI_KHAR } /* kharoshthi */, + { 0, 2280, 8549, 4, 5, UNI_OLCK } /* isolchiki */, + { 1, 184, 8131, 2, 4, UNI_DUPL } /* isdupl */, + { 0, 9444, 7806, 4, 1, UNI_AGE__6 } /* age=6 */, + { 0, 1417, 9186, 25, 4, UNI_CCC__31 } /* canonicalcombiningclass=ccc31 */, + { 0, 1878, 0, 19, 0, UNI_CJKCOMPATIDEOGRAPHS } /* cjkcompatideographs */, + { 2, 1417, 6642, 24, 11, UNI_CCC__DB } /* canonicalcombiningclass=doublebelow */, + { 0, 4916, 8292, 3, 3, UNI_TAGB } /* istagb */, + { 5, 10027, 6162, 3, 7, UNI_JG__SEMKATH } /* jg=semkath */, + { 6, 184, 2061, 2, 4, UNI_MODI } /* ismodi */, + { 4, 2784, 7497, 4, 7, UNI_ARABICPFA } /* inarabicpfa */, + { 0, 8780, 5778, 6, 6, UNI_IPAEXT } /* block=ipaext */, + { 1, 3836, 4149, 18, 3, UNI_SARB } /* scriptextensions=sarb */, + { 1, 10027, 4225, 3, 16, UNI_JG__MANICHAEANTWENTY } /* jg=manichaeantwenty */, + { 1, 21, 5242, 2, 14, UNI_LATINEXTC } /* inlatinextendedc */, + { 1, 5986, 7787, 13, 8, UNI_NV__3_SLASH_2 } /* numericvalue=1.50e+00 */, + { 2, 184, 7567, 2, 9, UNI_SIND } /* iskhudawadi */, + { 21, 184, 3169, 2, 11, UNI_ETHIOPICSUP } /* isethiopicsup */, + { 1, 2533, 982, 5, 24, UNI_ALPHABETICPF } /* inalphabeticpresentationforms */, + { 2, 9310, 0, 5, 0, UNI_OGAM } /* ogham */, + { 10, 5986, 9368, 13, 4, UNI_NV__1_SLASH_20 } /* numericvalue=1/20 */, + { 1, 7088, 3349, 10, 18, UNI_BC__B } /* bidiclass=paragraphseparator */, + { 5, 10048, 9392, 3, 4, UNI_NV__11_SLASH_2 } /* nv=11/2 */, + { 5, 10024, 27, 3, 2, UNI_LOWERCASELETTER } /* gc=ll */, + { 8, 9488, 749, 4, 16, UNI_ENCLOSEDALPHANUM } /* blk=enclosedalphanum */, + { 0, 9071, 3, 4, 1, -UNI_XPOSIXXDIGIT } /* hex=f */, + { 0, 9997, 0, 3, 0, UNI_bc_values_index } /* bc= */, + { 0, 5564, 1, 14, 1, -UNI_QMARK } /* quotationmark=n */, + { 0, 4113, 952, 3, 27, UNI_VSSUP } /* invariationselectorssupplement */, + { 7, 382, 0, 4, 0, UNI_EGYP } /* egyp */, + { 2, 7088, 5829, 10, 3, UNI_BC__RLO } /* bidiclass=rlo */, + { 1, 9488, 183, 4, 34, UNI_MISCPICTOGRAPHS } /* blk=miscellaneoussymbolsandpictographs */, + { 0, 8912, 0, 6, 0, UNI_KHOJ } /* khojki */, + { 1, 9804, 0, 4, 0, UNI_TALE } /* tale */, + { 0, 8688, 1007, 3, 16, UNI_ANCIENTGREEKMUSIC } /* isancientgreekmusic */, + { 6, 8575, 0, 7, 0, UNI_patsyn_values_index } /* patsyn= */, + { 2, 9768, 6385, 4, 12, UNI_GONM } /* scx=masaramgondi */, + { 20, 3385, 36, 18, 1, UNI_RI } /* regionalindicator=t */, + { 14, 21, 4129, 2, 6, UNI_LATIN1 } /* inlatin1 */, + { 7, 8780, 446, 6, 32, UNI_IDEOGRAPHICSYMBOLS } /* block=ideographicsymbolsandpunctuation */, + { 1, 8589, 7648, 7, 9, UNI_ITAL } /* script=olditalic */, + { 4, 5791, 10072, 13, 3, UNI_JG__TAH } /* joininggroup=tah */, + { 9, 1188, 4929, 3, 14, UNI_TAMILSUP } /* intamilsupplement */, + { 0, 9488, 8337, 4, 7, UNI_INAVESTAN } /* blk=avestan */, + { 0, 10033, 8449, 3, 6, UNI_LB__HY } /* lb=hyphen */, + { 0, 10333, 2529, 3, 4, UNI_STERM } /* issterm */, + { 11, 9508, 6719, 4, 11, UNI_CCC__8 } /* ccc=kanavoicing */, + { 1, 3836, 9315, 17, 5, UNI_ORYA } /* scriptextensions=oriya */, + { 4, 1287, 0, 2, 0, UNI_UPPERCASELETTER } /* lu */, + { 4, 1417, 7859, 24, 3, UNI_WB__EB } /* canonicalcombiningclass=200 */, + { 10, 184, 478, 2, 31, UNI_MATHALPHANUM } /* ismathematicalalphanumericsymbols */, + { 18, 10033, 202, 3, 2, UNI_LB__SA } /* lb=sa */, + { 0, 1417, 9472, 24, 4, UNI_WB__EB } /* canonicalcombiningclass=atbl */, + { 0, 10296, 1823, 7, 5, UNI_POSIXLOWER } /* isposixlower */, + { 1, 1417, 9141, 25, 4, UNI_CCC__22 } /* canonicalcombiningclass=ccc22 */, + { 1, 10288, 10308, 8, 5, UNI_XPOSIXPRINT } /* isxposixprint */, + { 0, 113, 0, 25, 0, UNI_DIACRITICALS } /* combiningdiacriticalmarks */, + { 2, 7218, 42, 10, 2, UNI_LB__CJ } /* linebreak=cj */, + { 20, 2287, 0, 7, 0, UNI_SINH } /* sinhala */, + { 6, 9768, 9588, 4, 4, UNI_HMNG } /* scx=hmng */, + { 4, 2280, 6852, 3, 10, UNI_LO } /* isotherletter */, + { 0, 6205, 0, 12, 0, UNI_ideo_values_index } /* ideographic= */, + { 8, 8780, 7139, 7, 9, UNI_COMPATJAMO } /* block=compatjamo */, + { 0, 9488, 779, 4, 30, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* blk=symbolsandpictographsextendeda */, + { 0, 10027, 4177, 3, 16, UNI_JG__MANICHAEANDALETH } /* jg=manichaeandaleth */, + { 3, 10024, 1910, 3, 2, UNI_CN } /* gc=cn */, + { 0, 1188, 3458, 3, 17, UNI_TAIXUANJING } /* intaixuanjingsymbols */, + { 0, 9640, 26, 4, 1, UNI_LOE } /* loe=y */, + { 2, 8688, 1371, 4, 22, UNI_ARABICPFA } /* isarabicpresentationformsa */, + { 0, 8589, 7660, 7, 4, UNI_SC__PERM } /* script=perm */, + { 3, 8852, 9836, 6, 4, UNI_CWKCF } /* cwkcf=true */, + { 0, 1845, 0, 5, 0, UNI_TITLE } /* title */, + { 70, 5986, 7875, 13, 8, UNI_NV__1_SLASH_32 } /* numericvalue=3.13e-02 */, + { 1, 1812, 0, 21, 0, UNI_CWL } /* changeswhenlowercased */, + { 13, 9548, 0, 4, 0, UNI_DSRT } /* dsrt */, + { 0, 1269, 26, 25, 1, UNI_COMPEX } /* fullcompositionexclusion=y */, + { 1, 8780, 8227, 6, 8, UNI_KANAEXTA } /* block=kanaexta */, + { 0, 3836, 9245, 17, 5, UNI_DOGR } /* scriptextensions=dogra */, + { 0, 5804, 0, 13, 0, UNI_KANAEXTA } /* kanaextendeda */, + { 4, 1966, 1244, 22, 9, UNI_INSC__CONSONANT } /* indicsyllabiccategory=consonant */, + { 1, 3836, 1218, 17, 8, UNI_KANA } /* scriptextensions=katakana */, + { 0, 9277, 9684, 3, 4, UNI_NEWA } /* sc=newa */, + { 5, 7155, 6194, 3, 5, UNI_HEBR } /* ishebrew */, + { 0, 3836, 9896, 17, 4, UNI_ZYYY } /* scriptextensions=zyyy */, + { 28, 4791, 2338, 10, 11, UNI_MERO } /* inmeroitichieroglyphs */, + { 1, 6609, 3, 11, 1, -UNI_DEP } /* deprecated=f */, + { 0, 184, 3223, 2, 18, UNI_INPUNCTUATION } /* isgeneralpunctuation */, + { 0, 8780, 4973, 6, 15, UNI_VEDICEXT } /* block=vedicextensions */, + { 8, 9488, 7069, 5, 9, UNI_ASCII } /* blk=basiclatin */, + { 1, 6505, 0, 8, 0, UNI_PHAISTOS } /* phaistos */, + { 0, 8780, 7458, 6, 10, UNI_YIRADICALS } /* block=yiradicals */, + { 4, 7621, 0, 9, 0, UNI_NBAT } /* nabataean */, + { 1, 5986, 8732, 13, 4, UNI_NV__5000 } /* numericvalue=5000 */, + { 1, 8589, 9476, 7, 4, UNI_AVST } /* script=avst */, + { 0, 8966, 10135, 6, 3, UNI_NFDQC__Y } /* nfdqc=yes */, + { 2, 8780, 3937, 6, 11, UNI_BOPOMOFOEXT } /* block=bopomofoext */, + { 2, 21, 1007, 3, 16, UNI_ANCIENTGREEKMUSIC } /* inancientgreekmusic */, + { 2, 10048, 9910, 3, 3, UNI_NV__1_SLASH_9 } /* nv=1/9 */, + { 0, 1417, 8831, 24, 3, UNI_CCC__132 } /* canonicalcombiningclass=132 */, + { 1, 10033, 395, 3, 2, UNI_LB__GL } /* lb=gl */, + { 3, 184, 8906, 2, 6, UNI_KANBUN } /* iskanbun */, + { 0, 8589, 865, 10, 1, UNI_SHAW } /* script=shaw */, + { 5, 9277, 9008, 3, 6, UNI_SC__THAA } /* sc=thaana */, + { 2, 10048, 8750, 3, 2, UNI_NV__80 } /* nv=80 */, + { 0, 1631, 0, 18, 0, UNI_GEOMETRICSHAPESEXT } /* geometricshapesext */, + { 33, 10327, 0, 4, 0, UNI_PE } /* ispe */, + { 1, 8780, 5960, 6, 13, UNI_MISCTECHNICAL } /* block=misctechnical */, + { 2, 184, 867, 2, 28, UNI_PHONETICEXTSUP } /* isphoneticextensionssupplement */, + { 0, 9488, 7630, 4, 9, UNI_INNEWTAILUE } /* blk=newtailue */, + { 0, 9277, 8315, 3, 8, UNI_UGAR } /* sc=ugaritic */, + { 1, 8884, 0, 4, 0, UNI_ext_values_index } /* ext= */, + { 0, 184, 720, 3, 8, UNI_XSUX } /* iscuneiform */, + { 0, 9275, 2844, 5, 10, UNI_INSC__TONELETTER } /* insc=toneletter */, + { 0, 5791, 5420, 13, 4, UNI_JG__TETH } /* joininggroup=teth */, + { 1, 21, 5200, 2, 14, UNI_KANASUP } /* inkanasupplement */, + { 3, 186, 0, 2, 0, UNI_CE } /* ce */, + { 4, 9250, 26, 5, 1, UNI_EMOD } /* emod=y */, + { 1, 9235, 10135, 5, 3, UNI_CWCM } /* cwcm=yes */, + { 1, 2061, 0, 14, 0, UNI_LM } /* modifierletter */, + { 4, 9768, 9700, 4, 4, UNI_OLCK } /* scx=olck */, + { 0, 3382, 1, 3, 1, -UNI_CE } /* ce=n */, + { 20, 9270, 8583, 3, 6, UNI_INPHAGSPA } /* inphagspa */, + { 1, 7218, 6587, 10, 11, UNI_LB__BB } /* linebreak=breakbefore */, + { 0, 9768, 8491, 4, 7, UNI_MARC } /* scx=marchen */, + { 0, 9444, 9856, 4, 4, UNI_AGE__13 } /* age=v130 */, + { 0, 7418, 3, 10, 1, -UNI_XPOSIXUPPER } /* uppercase=f */, + { 1, 7651, 0, 4, 0, UNI_ITAL } /* ital */, + { 3, 184, 43, 3, 8, UNI_CJKCOMPAT } /* iscjkcompat */, + { 1, 3836, 9756, 17, 4, UNI_RUNR } /* scriptextensions=runr */, + { 2, 9277, 8924, 3, 6, UNI_LEPC } /* sc=lepcha */, + { 0, 9768, 3785, 4, 4, UNI_MANI } /* scx=mani */, + { 0, 184, 510, 3, 19, UNI_CJK } /* iscjkunifiedideographs */, + { 1, 10027, 5172, 3, 14, UNI_JG__HAMZAONHEHGOAL } /* jg=hamzaonhehgoal */, + { 4, 9492, 0, 4, 0, UNI_bpt_values_index } /* bpt= */, + { 13, 4791, 6411, 4, 10, UNI_INMENDEKIKAKUI } /* inmendekikakui */, + { 3, 9768, 6792, 5, 3, UNI_SAMR } /* scx=samr */, + { 2, 5791, 9648, 13, 4, UNI_JG__MEEM } /* joininggroup=meem */, + { 0, 9768, 9804, 4, 4, UNI_TALE } /* scx=tale */, + { 1, 9488, 1465, 4, 24, UNI_DIACRITICALSFORSYMBOLS } /* blk=combiningmarksforsymbols */, + { 8, 10048, 10138, 3, 2, UNI_NV__38 } /* nv=38 */, + { 0, 3379, 10183, 5, 4, UNI_XPOSIXSPACE } /* spaceperl */, + { 5, 2224, 924, 3, 27, UNI_SUPPUAB } /* insupplementaryprivateuseareab */, + { 1, 8589, 8618, 8, 3, UNI_SOYO } /* script=soyo */, + { 8, 4838, 26, 15, 1, UNI_NFKCQC__Y } /* nfkcquickcheck=y */, + { 10, 3836, 2913, 18, 3, UNI_SUND } /* scriptextensions=sund */, + { 1, 1417, 7814, 24, 1, UNI_CCC__7 } /* canonicalcombiningclass=7 */, + { 34, 1417, 78, 24, 2, UNI_CCC__AR } /* canonicalcombiningclass=ar */, + { 0, 10333, 3895, 3, 3, UNI_SGNW } /* issgnw */, + { 1, 184, 7139, 3, 9, UNI_COMPATJAMO } /* iscompatjamo */, + { 6, 1186, 0, 2, 0, UNI_PO } /* po */, + { 40, 10048, 9108, 3, 2, UNI_NV__15 } /* nv=15 */, + { 0, 9488, 1906, 4, 16, UNI_INDICNUMBERFORMS } /* blk=indicnumberforms */, + { 1, 9351, 9255, 4, 5, -UNI_IDS } /* ids=false */, + { 32, 3421, 0, 4, 0, UNI_RUMI } /* rumi */, + { 21, 9576, 0, 4, 0, UNI_GURU } /* guru */, + { 10, 10048, 7899, 3, 8, UNI_NV__7_SLASH_2 } /* nv=3.50e+00 */, + { 4, 184, 7594, 2, 9, UNI_LATINEXTD } /* islatinextd */, + { 1, 5986, 10144, 13, 2, UNI_NV__45 } /* numericvalue=45 */, + { 58, 9768, 8912, 4, 4, UNI_KHOJ } /* scx=khoj */, + { 0, 3836, 9310, 17, 5, UNI_OGAM } /* scriptextensions=ogham */, + { 0, 9351, 36, 4, 1, UNI_IDS } /* ids=t */, + { 16, 8864, 3, 6, 1, -UNI_EMOJI } /* emoji=f */, + { 1, 1417, 9181, 25, 4, UNI_CCC__30 } /* canonicalcombiningclass=ccc30 */, + { 0, 184, 8407, 2, 7, UNI_DSRT } /* isdeseret */, + { 0, 9444, 7814, 4, 1, UNI_AGE__7 } /* age=7 */, + { 14, 7088, 37, 10, 2, UNI_BC__EN } /* bidiclass=en */, + { 16, 184, 3115, 2, 4, UNI_DEVA } /* isdeva */, + { 0, 8589, 3785, 7, 10, UNI_SC__MANI } /* script=manichaean */, + { 8, 10296, 5039, 7, 6, UNI_POSIXXDIGIT } /* isposixxdigit */, + { 2, 9250, 0, 10, 0, -UNI_EMOD } /* emod=false */, + { 2, 9277, 2429, 3, 20, UNI_PHLI } /* sc=inscriptionalpahlavi */, + { 6, 1417, 7874, 24, 2, UNI_CCC__23 } /* canonicalcombiningclass=23 */, + { 0, 9488, 1700, 4, 23, UNI_SHORTHANDFORMATCONTROLS } /* blk=shorthandformatcontrols */, + { 32, 9277, 8123, 3, 4, UNI_SC__BUGI } /* sc=bugi */, + { 10, 4033, 9503, 16, 2, UNI_MC } /* generalcategory=mc */, + { 0, 9872, 0, 4, 0, UNI_XPEO } /* xpeo */, + { 20, 9540, 9836, 4, 4, UNI_DIA } /* dia=true */, + { 0, 2912, 0, 12, 0, UNI_SUNDANESESUP } /* sundanesesup */, + { 0, 7218, 5564, 10, 9, UNI_LB__QU } /* linebreak=quotation */, + { 6, 9768, 7168, 4, 10, UNI_DIAK } /* scx=divesakuru */, + { 0, 1465, 0, 24, 0, UNI_DIACRITICALSFORSYMBOLS } /* combiningmarksforsymbols */, + { 16, 3836, 8936, 17, 6, UNI_LYCI } /* scriptextensions=lycian */, + { 8, 8589, 2409, 7, 4, UNI_SC__GLAG } /* script=glag */, + { 32, 9768, 9604, 4, 4, UNI_KHMR } /* scx=khmr */, + { 17, 8780, 3768, 6, 17, UNI_LETTERLIKESYMBOLS } /* block=letterlikesymbols */, + { 2, 8694, 0, 7, 0, UNI_wspace_values_index } /* wspace= */, + { 7, 8978, 10135, 6, 3, UNI__PERL_PATWS } /* patws=yes */, + { 5, 9275, 2369, 5, 20, UNI_INSC__CONSONANTPLACEHOLDER } /* insc=consonantplaceholder */, + { 1, 9768, 8291, 4, 8, UNI_TAGB } /* scx=tagbanwa */, + { 3, 3133, 0, 17, 0, UNI_EBASE } /* emojimodifierbase */, + { 0, 7218, 83, 10, 2, UNI_LB__CM } /* linebreak=cm */, + { 0, 9277, 9245, 3, 4, UNI_SC__DOGR } /* sc=dogr */, + { 0, 8780, 6193, 6, 6, UNI_INHEBREW } /* block=hebrew */, + { 1, 10288, 9877, 3, 3, UNI_XSUX } /* isxsux */, + { 0, 1417, 8793, 25, 5, UNI_CCC__103 } /* canonicalcombiningclass=ccc103 */, + { 16, 184, 3768, 2, 17, UNI_LETTERLIKESYMBOLS } /* isletterlikesymbols */, + { 0, 8780, 7675, 6, 9, UNI_PALM } /* block=palmyrene */, + { 0, 8780, 8582, 6, 7, UNI_INPHAGSPA } /* block=phagspa */, + { 0, 3115, 0, 4, 0, UNI_DEVA } /* deva */, + { 0, 1552, 4943, 9, 15, UNI_TITLE } /* category=titlecaseletter */, + { 1, 8780, 8428, 6, 7, UNI_INGRANTHA } /* block=grantha */, + { 0, 8435, 3, 7, 1, -UNI_GRBASE } /* grbase=f */, + { 2, 9768, 9480, 4, 4, UNI_BATK } /* scx=batk */, + { 0, 8589, 9820, 7, 4, UNI_TFNG } /* script=tfng */, + { 4, 10132, 5012, 3, 2, UNI_WB__SQ } /* wb=sq */, + { 0, 10027, 10045, 3, 3, UNI_JG__MIM } /* jg=mim */, + { 12, 7218, 34, 10, 2, UNI_LB__EX } /* linebreak=ex */, + { 0, 1790, 0, 22, 0, UNI_cwcm_values_index } /* changeswhencasemapped= */, + { 8, 4097, 0, 16, 0, UNI_HIGHPUSURROGATES } /* highpusurrogates */, + { 4, 1417, 3572, 24, 9, UNI_CCC__BL } /* canonicalcombiningclass=belowleft */, + { 2, 6609, 9836, 11, 4, UNI_DEP } /* deprecated=true */, + { 0, 3097, 4017, 18, 3, UNI_DT__FIN } /* decompositiontype=fin */, + { 0, 8589, 9572, 7, 4, UNI_SC__GUJR } /* script=gujr */, + { 2, 1033, 0, 11, 0, UNI_ENCLOSEDCJK } /* enclosedcjk */, + { 2, 1591, 3684, 3, 16, UNI_ETHIOPICEXTA } /* inethiopicextendeda */, + { 2, 1790, 9836, 22, 4, UNI_CWCM } /* changeswhencasemapped=true */, + { 1, 1417, 9146, 25, 4, UNI_CCC__23 } /* canonicalcombiningclass=ccc23 */, + { 0, 9345, 36, 5, 1, UNI_XIDC } /* xidc=t */, + { 2, 9277, 9584, 3, 4, UNI_HLUW } /* sc=hluw */, + { 32, 8858, 36, 6, 1, UNI_ECOMP } /* ecomp=t */, + { 0, 184, 5739, 2, 12, UNI_GRBASE } /* isgraphemebase */, + { 5, 184, 4161, 2, 16, UNI_LINEARBSYLLABARY } /* islinearbsyllabary */, + { 0, 184, 17, 3, 1, UNI_CO } /* isco */, + { 0, 1966, 4417, 22, 16, UNI_INSC__VOWELINDEPENDENT } /* indicsyllabiccategory=vowelindependent */, + { 0, 3836, 5550, 17, 14, UNI_PHLP } /* scriptextensions=psalterpahlavi */, + { 1, 1025, 0, 2, 0, UNI_NO } /* no */, + { 0, 5986, 7883, 13, 8, UNI_NV__1_SLASH_320 } /* numericvalue=3.13e-03 */, + { 1, 5791, 9456, 13, 4, UNI_JG__ALEF } /* joininggroup=alef */, + { 1, 8589, 7188, 7, 4, UNI_KHAR } /* script=khar */, + { 0, 3836, 8888, 17, 4, UNI_HATR } /* scriptextensions=hatr */, + { 0, 9640, 10135, 4, 3, UNI_LOE } /* loe=yes */, + { 11, 7228, 9255, 10, 5, -UNI_XPOSIXLOWER } /* lowercase=false */, + { 1, 8512, 9295, 7, 5, UNI_NFCQC__M } /* nfkcqc=maybe */, + { 33, 9508, 7859, 4, 2, UNI_CCC__20 } /* ccc=20 */, + { 8, 1856, 26, 22, 1, UNI_CWU } /* changeswhenuppercased=y */, + { 1, 8780, 9085, 6, 5, UNI_INBATAK } /* block=batak */, + { 9, 9536, 1025, 4, 2, -UNI_DEP } /* dep=no */, + { 17, 8688, 4435, 4, 13, UNI_ARABICEXTA } /* isarabicextendeda */, + { 0, 8780, 7630, 6, 9, UNI_INNEWTAILUE } /* block=newtailue */, + { 1, 10024, 4305, 3, 16, UNI_PO } /* gc=otherpunctuation */, + { 0, 8997, 1025, 5, 2, -UNI_TERM } /* term=no */, + { 65, 6554, 10135, 11, 3, UNI_IDC } /* idcontinue=yes */, + { 32, 9508, 9211, 5, 4, UNI_CCC__36 } /* ccc=ccc36 */, + { 10, 10033, 6697, 3, 11, UNI_LB__IN } /* lb=inseperable */, + { 1, 8936, 0, 4, 0, UNI_LYCI } /* lyci */, + { 2, 1269, 0, 24, 0, UNI_COMPEX } /* fullcompositionexclusion */, + { 0, 8589, 8291, 7, 4, UNI_SC__TAGB } /* script=tagb */, + { 1, 8780, 4161, 6, 16, UNI_LINEARBSYLLABARY } /* block=linearbsyllabary */, + { 1, 184, 9740, 2, 4, UNI_QAAI } /* isqaai */, + { 2, 8780, 8219, 6, 8, UNI_INJAVANESE } /* block=javanese */, + { 0, 8780, 2224, 6, 21, UNI_ININSCRIPTIONALPARTHIAN } /* block=inscriptionalparthian */, + { 3, 2874, 0, 19, 0, UNI_OTTOMANSIYAQNUMBERS } /* ottomansiyaqnumbers */, + { 6, 3259, 1, 18, 1, -UNI_IDSB } /* idsbinaryoperator=n */, + { 8, 2569, 3504, 20, 7, UNI_VO__R } /* verticalorientation=rotated */, + { 34, 9768, 7188, 4, 10, UNI_KHAR } /* scx=kharoshthi */, + { 16, 184, 1025, 2, 2, UNI_NO } /* isno */, + { 1, 10024, 133, 3, 4, UNI_M } /* gc=mark */, + { 2, 10024, 45, 3, 2, UNI_CO } /* gc=co */, + { 1, 9488, 3768, 4, 17, UNI_LETTERLIKESYMBOLS } /* blk=letterlikesymbols */, + { 81, 2224, 4338, 3, 15, UNI_SUPMATHOPERATORS } /* insupmathoperators */, + { 12, 2224, 317, 3, 32, UNI_SUPMATHOPERATORS } /* insupplementalmathematicaloperators */, + { 8, 7088, 4493, 10, 15, UNI_BC__CS } /* bidiclass=commonseparator */, + { 1, 10048, 9380, 3, 3, UNI_NV__1_SLASH_8 } /* nv=1/8 */, + { 1, 184, 1791, 3, 20, UNI_CWCM } /* ischangeswhencasemapped */, + { 2, 1834, 0, 21, 0, UNI_CWT } /* changeswhentitlecased */, + { 1, 9277, 7278, 3, 10, UNI_XPEO } /* sc=oldpersian */, + { 0, 3097, 7, 18, 3, UNI_DT__CAN } /* decompositiontype=can */, + { 20, 184, 7358, 2, 10, UNI_SAUR } /* issaurashtra */, + { 0, 5116, 10135, 14, 3, UNI_EMOD } /* emojimodifier=yes */, + { 3, 10296, 3, 3, 1, UNI_PF } /* ispf */, + { 0, 10132, 18, 3, 2, UNI_RI } /* wb=ri */, + { 7, 8512, 0, 7, 0, UNI_nfkcqc_values_index } /* nfkcqc= */, + { 16, 9488, 2912, 4, 9, UNI_INSUNDANESE } /* blk=sundanese */, + { 4, 9768, 8187, 4, 8, UNI_HIRA } /* scx=hiragana */, + { 2, 9608, 0, 4, 0, UNI_KITS } /* kits */, + { 5, 9768, 5550, 4, 14, UNI_PHLP } /* scx=psalterpahlavi */, + { 1, 1552, 4017, 9, 16, UNI_PF } /* category=finalpunctuation */, + { 0, 9512, 0, 4, 0, UNI_CHRS } /* chrs */, + { 1, 7325, 10102, 3, 3, UNI_IN__5_DOT_2 } /* in=v52 */, + { 32, 9277, 8115, 3, 8, UNI_BASS } /* sc=bassavah */, + { 0, 7218, 8701, 10, 7, UNI_LB__ZW } /* linebreak=zwspace */, + { 4, 3836, 7567, 17, 9, UNI_SIND } /* scriptextensions=khudawadi */, + { 4, 10048, 7814, 3, 1, UNI_NV__7 } /* nv=7 */, + { 0, 9768, 8942, 4, 6, UNI_LYDI } /* scx=lydian */, + { 2, 8930, 0, 6, 0, UNI_lower_values_index } /* lower= */, + { 5, 9768, 2913, 5, 8, UNI_SUND } /* scx=sundanese */, + { 0, 184, 2950, 2, 19, UNI_SUPARROWSB } /* issupplementalarrowsb */, + { 0, 3836, 9008, 17, 4, UNI_THAA } /* scriptextensions=thaa */, + { 0, 10048, 7971, 3, 8, UNI_NV__7_SLASH_12 } /* nv=5.83e-01 */, + { 12, 8589, 8414, 7, 4, UNI_ELBA } /* script=elba */, + { 0, 7738, 26, 9, 1, UNI_XIDS } /* xidstart=y */, + { 1, 8400, 10135, 7, 3, UNI_COMPEX } /* compex=yes */, + { 0, 9596, 6741, 4, 11, UNI_GCB__L } /* hst=leadingjamo */, + { 1, 8780, 4401, 6, 16, UNI_TANGUTSUP } /* block=tangutsupplement */, + { 1, 8589, 2913, 8, 3, UNI_SUND } /* script=sund */, + { 0, 10182, 6554, 6, 6, UNI__PERL_IDCONT } /* _perl_idcont */, + { 1, 9488, 9828, 4, 4, UNI_INTHAI } /* blk=thai */, + { 1, 8589, 9504, 7, 4, UNI_CANS } /* script=cans */, + { 2, 8589, 9496, 7, 4, UNI_SC__BUHD } /* script=buhd */, + { 1, 8780, 4145, 6, 16, UNI_LINEARBIDEOGRAMS } /* block=linearbideograms */, + { 0, 8780, 8477, 6, 7, UNI_INMAKASAR } /* block=makasar */, + { 0, 1552, 1587, 9, 1, UNI_Z } /* category=z */, + { 1, 10048, 10140, 3, 2, UNI_NV__39 } /* nv=39 */, + { 2, 9588, 0, 4, 0, UNI_HMNG } /* hmng */, + { 0, 2760, 6763, 19, 11, UNI_LB__H3 } /* hangulsyllabletype=lvtsyllable */, + { 3, 8978, 1, 6, 1, -UNI__PERL_PATWS } /* patws=n */, + { 5, 5791, 9355, 13, 5, UNI_JG__ZHAIN } /* joininggroup=zhain */, + { 2, 8589, 2485, 7, 4, UNI_SC__MONG } /* script=mong */, + { 0, 9556, 24, 4, 1, UNI_GCB__L } /* gcb=l */, + { 2, 9444, 10087, 4, 3, UNI_AGE__3_DOT_2 } /* age=v32 */, + { 1, 1417, 7806, 24, 1, UNI_CCC__6 } /* canonicalcombiningclass=6 */, + { 0, 5986, 8750, 13, 4, UNI_NV__8000 } /* numericvalue=8000 */, + { 3, 9488, 1631, 4, 15, UNI_GEOMETRICSHAPES } /* blk=geometricshapes */, + { 5, 8780, 2409, 6, 20, UNI_GLAGOLITICSUP } /* block=glagoliticsupplement */, + { 1, 8780, 7358, 6, 10, UNI_INSAURASHTRA } /* block=saurashtra */, + { 3, 4791, 4290, 3, 15, UNI_MYANMAREXTB } /* inmyanmarextendedb */, + { 16, 7076, 8116, 3, 7, UNI_INBASSAVAH } /* inbassavah */, + { 1, 9528, 9836, 4, 4, UNI_CWU } /* cwu=true */, + { 5, 4033, 5497, 16, 11, UNI_MC } /* generalcategory=spacingmark */, + { 0, 5986, 10142, 13, 2, UNI_NV__44 } /* numericvalue=44 */, + { 4, 8780, 0, 12, 0, UNI_INCARIAN } /* block=carian */, + { 2, 9277, 8582, 3, 7, UNI_SC__PHAG } /* sc=phagspa */, + { 0, 9277, 9516, 3, 4, UNI_SC__CPRT } /* sc=cprt */, + { 5, 9444, 7781, 4, 1, UNI_AGE__4 } /* age=4 */, + { 0, 4113, 6013, 3, 12, UNI_VERTICALFORMS } /* inverticalforms */, + { 0, 5791, 3, 15, 1, UNI_JG__KAF } /* joininggroup=kaf */, + { 12, 10006, 1025, 3, 2, -UNI_DI } /* di=no */, + { 34, 1505, 5755, 5, 10, UNI_GREEKEXT } /* ingreekextended */, + { 2, 8589, 7675, 7, 4, UNI_PALM } /* script=palm */, + { 1, 1417, 7858, 24, 2, UNI_CCC__22 } /* canonicalcombiningclass=22 */, + { 17, 1417, 4912, 24, 2, UNI_CCC__0 } /* canonicalcombiningclass=nr */, + { 0, 7155, 8443, 3, 6, UNI_HANO } /* ishanunoo */, + { 2, 6061, 1025, 12, 2, -UNI_BIDIC } /* bidicontrol=no */, + { 1, 7438, 72, 10, 2, UNI_WB__LE } /* wordbreak=le */, + { 0, 8997, 0, 5, 0, UNI_term_values_index } /* term= */, + { 0, 10290, 5718, 6, 5, UNI_XPOSIXALNUM } /* xposixalnum */, + { 7, 10048, 9424, 3, 4, UNI_NV__3_SLASH_64 } /* nv=3/64 */, + { 0, 478, 0, 31, 0, UNI_MATHALPHANUM } /* mathematicalalphanumericsymbols */, + { 0, 1979, 7, 10, 1, UNI_CASEDLETTER } /* category=lc */, + { 0, 1114, 9836, 26, 4, UNI_CWKCF } /* changeswhennfkccasefolded=true */, + { 1, 21, 1677, 2, 14, UNI_LATINEXTA } /* inlatinextendeda */, + { 2, 9997, 3349, 3, 18, UNI_BC__B } /* bc=paragraphseparator */, + { 0, 42, 0, 3, 0, UNI_CJK } /* cjk */, + { 15, 10333, 1176, 3, 3, UNI_SORA } /* issora */, + { 10, 9488, 4868, 4, 15, UNI_NARB } /* blk=oldnortharabian */, + { 15, 9488, 2855, 4, 9, UNI_INMONGOLIAN } /* blk=mongolian */, + { 0, 2203, 0, 4, 0, UNI_HAN } /* hani */, + { 0, 4116, 447, 3, 17, UNI_IDEOGRAPHICSYMBOLS } /* isideographicsymbols */, + { 5, 10012, 865, 3, 1, UNI_EA__W } /* ea=w */, + { 3, 8688, 29, 4, 4, UNI_ARAB } /* isarabic */, + { 1, 8589, 4273, 7, 7, UNI_SC__MYMR } /* script=myanmar */, + { 12, 7218, 6697, 10, 11, UNI_LB__IN } /* linebreak=inseperable */, + { 1, 6420, 9311, 3, 4, UNI_INOGHAM } /* inogham */, + { 5, 7228, 26, 10, 1, UNI_XPOSIXLOWER } /* lowercase=y */, + { 0, 7218, 751, 10, 2, UNI_LB__CL } /* linebreak=cl */, + { 8, 9508, 1179, 4, 2, UNI_CCC__BL } /* ccc=bl */, + { 19, 2760, 5973, 19, 13, UNI_HST__NA } /* hangulsyllabletype=notapplicable */, + { 8, 8589, 2140, 7, 8, UNI_SC__CYRL } /* script=cyrillic */, + { 0, 5739, 1025, 13, 2, -UNI_GRBASE } /* graphemebase=no */, + { 0, 3133, 36, 18, 1, UNI_EBASE } /* emojimodifierbase=t */, + { 0, 184, 1631, 2, 23, UNI_GEOMETRICSHAPESEXT } /* isgeometricshapesextended */, + { 1, 8589, 4448, 7, 4, UNI_BAMU } /* script=bamu */, + { 4, 9488, 3043, 4, 18, UNI_HALFMARKS } /* blk=combininghalfmarks */, + { 2, 1393, 0, 24, 0, UNI_ARABICPFB } /* arabicpresentationformsb */, + { 0, 9277, 4868, 3, 15, UNI_NARB } /* sc=oldnortharabian */, + { 1, 10290, 62, 6, 5, UNI_XPOSIXGRAPH } /* xposixgraph */, + { 0, 10027, 5420, 3, 4, UNI_JG__TETH } /* jg=teth */, + { 2, 184, 4569, 3, 14, UNI_CURRENCYSYMBOLS } /* iscurrencysymbols */, + { 2, 10024, 106, 3, 6, UNI_S } /* gc=symbol */, + { 1, 10048, 8756, 3, 5, UNI_NV__90000 } /* nv=90000 */, + { 0, 3836, 3751, 17, 17, UNI_KITS } /* scriptextensions=khitansmallscript */, + { 0, 184, 3080, 3, 17, UNI_COPTICEPACTNUMBERS } /* iscopticepactnumbers */, + { 6, 8780, 8179, 6, 8, UNI_INGURMUKHI } /* block=gurmukhi */, + { 3, 3439, 0, 18, 0, UNI_SMALLKANAEXT } /* smallkanaextension */, + { 6, 1537, 2994, 24, 13, UNI_INPC__BOTTOMANDLEFT } /* indicpositionalcategory=bottomandleft */, + { 2, 1417, 9919, 24, 3, UNI_CCC__202 } /* canonicalcombiningclass=202 */, + { 64, 6231, 1467, 4, 22, UNI_DIACRITICALSFORSYMBOLS } /* incombiningmarksforsymbols */, + { 0, 8780, 1700, 6, 23, UNI_SHORTHANDFORMATCONTROLS } /* block=shorthandformatcontrols */, + { 0, 21, 3549, 4, 8, UNI_ALCHEMICAL } /* inalchemical */, + { 7, 21, 5284, 2, 7, UNI_LISUSUP } /* inlisusup */, + { 1, 2224, 3440, 3, 17, UNI_SMALLKANAEXT } /* insmallkanaextension */, + { 0, 184, 1, 3, 1, UNI_CN } /* iscn */, + { 0, 10132, 400, 3, 6, UNI_WB__FO } /* wb=format */, + { 1, 3836, 8942, 17, 6, UNI_LYDI } /* scriptextensions=lydian */, + { 3, 5060, 0, 14, 0, UNI_ci_values_index } /* caseignorable= */, + { 34, 9768, 3598, 4, 17, UNI_AGHB } /* scx=caucasianalbanian */, + { 1, 8509, 751, 4, 28, UNI_ENCLOSEDALPHANUMSUP } /* inenclosedalphanumericsupplement */, + { 11, 1822, 0, 2, 0, UNI_NL } /* nl */, + { 8, 9277, 4703, 3, 15, UNI_ARMI } /* sc=imperialaramaic */, + { 9, 8780, 5752, 6, 13, UNI_GREEKEXT } /* block=greekextended */, + { 0, 8589, 8123, 7, 8, UNI_SC__BUGI } /* script=buginese */, + { 6, 184, 3026, 3, 7, UNI_CHER } /* ischerokee */, + { 0, 1537, 2549, 24, 12, UNI_INPC__TOPANDBOTTOM } /* indicpositionalcategory=topandbottom */, + { 2, 9540, 1, 4, 1, -UNI_DIA } /* dia=n */, + { 0, 7318, 10102, 10, 3, UNI_IN__5_DOT_2 } /* presentin=v52 */, + { 0, 9508, 9468, 4, 4, UNI_CCC__216 } /* ccc=atar */, + { 0, 184, 9560, 2, 4, UNI_GONG } /* isgong */, + { 0, 2161, 0, 20, 0, UNI_EXTPICT } /* extendedpictographic */, + { 0, 8768, 1025, 6, 2, -UNI_BIDIC } /* bidic=no */, + { 14, 8780, 3295, 6, 9, UNI_LATINEXTA } /* block=latinexta */, + { 2, 2280, 2875, 3, 18, UNI_OTTOMANSIYAQNUMBERS } /* isottomansiyaqnumbers */, + { 3, 10296, 8979, 3, 4, UNI__PERL_PATWS } /* ispatws */, + { 1, 9508, 7778, 4, 2, UNI_CCC__21 } /* ccc=21 */, + { 3, 7325, 9397, 3, 3, UNI_IN__2_DOT_1 } /* in=2.1 */, + { 4, 4868, 0, 15, 0, UNI_NARB } /* oldnortharabian */, + { 32, 2098, 0, 21, 0, UNI_CJKCOMPATFORMS } /* cjkcompatibilityforms */, + { 0, 3295, 0, 9, 0, UNI_LATINEXTA } /* latinexta */, + { 3, 3836, 8123, 17, 8, UNI_BUGI } /* scriptextensions=buginese */, + { 1, 9488, 3241, 4, 11, UNI_GEORGIANSUP } /* blk=georgiansup */, + { 8, 1417, 8805, 25, 5, UNI_CCC__118 } /* canonicalcombiningclass=ccc118 */, + { 2, 9277, 7666, 3, 9, UNI_ORKH } /* sc=oldturkic */, + { 1, 8774, 10135, 6, 3, UNI_BIDIM } /* bidim=yes */, + { 5, 8954, 0, 7, 0, -UNI__PERL_NCHAR } /* nchar=n */, + { 0, 184, 1822, 2, 2, UNI_NL } /* isnl */, + { 0, 10310, 8301, 4, 6, UNI_INTIFINAGH } /* intifinagh */, + { 0, 8780, 114, 7, 24, UNI_DIACRITICALS } /* block=combiningdiacriticalmarks */, + { 0, 1677, 0, 23, 0, UNI_LATINEXTADDITIONAL } /* latinextendedadditional */, + { 3, 2161, 1, 21, 1, -UNI_EXTPICT } /* extendedpictographic=n */, + { 2, 1552, 406, 9, 7, UNI_XPOSIXCNTRL } /* category=control */, + { 11, 7218, 58, 10, 2, UNI_LB__ID } /* linebreak=id */, + { 16, 4916, 1116, 3, 3, UNI_TANG } /* istang */, + { 0, 5578, 495, 14, 7, UNI_SB__NU } /* sentencebreak=numeric */, + { 0, 1417, 8825, 24, 3, UNI_CCC__130 } /* canonicalcombiningclass=130 */, + { 1, 10288, 5039, 8, 6, UNI_XPOSIXXDIGIT } /* isxposixxdigit */, + { 1, 9444, 9852, 4, 4, UNI_AGE__12_DOT_1 } /* age=v121 */, + { 0, 9277, 9448, 3, 4, UNI_AGHB } /* sc=aghb */, + { 0, 5986, 7827, 13, 8, UNI_NV__1_SLASH_5 } /* numericvalue=2.00e-01 */, + { 3, 1188, 8653, 3, 6, UNI_INTAIVIET } /* intaiviet */, + { 4, 2182, 5497, 21, 11, UNI_GCB__SM } /* graphemeclusterbreak=spacingmark */, + { 1, 8589, 9676, 7, 4, UNI_NARB } /* script=narb */, + { 2, 4369, 0, 6, 0, UNI_SYRC } /* syriac */, + { 2, 4305, 0, 16, 0, UNI_PO } /* otherpunctuation */, + { 0, 9524, 1025, 4, 2, -UNI_CWT } /* cwt=no */, + { 2, 1966, 728, 22, 6, UNI_INSC__NUMBER } /* indicsyllabiccategory=number */, + { 12, 2287, 0, 4, 0, UNI_SINH } /* sinh */, + { 0, 10009, 5012, 3, 6, UNI_DT__SQR } /* dt=square */, + { 0, 9488, 8421, 4, 7, UNI_INELYMAIC } /* blk=elymaic */, + { 1, 9277, 7657, 3, 9, UNI_SC__PERM } /* sc=oldpermic */, + { 2, 9340, 0, 5, 0, UNI_VSSUP } /* vssup */, + { 1, 8882, 0, 6, 0, UNI_grext_values_index } /* grext= */, + { 0, 9277, 8219, 3, 8, UNI_SC__JAVA } /* sc=javanese */, + { 3, 5791, 2637, 13, 3, UNI_JG__YEH } /* joininggroup=yeh */, + { 21, 3836, 8498, 17, 4, UNI_MULT } /* scriptextensions=mult */, + { 5, 8774, 1, 6, 1, -UNI_BIDIM } /* bidim=n */, + { 16, 1188, 9336, 3, 4, UNI_INTAKRI } /* intakri */, + { 18, 10048, 7806, 3, 1, UNI_NV__6 } /* nv=6 */, + { 1, 3836, 8131, 17, 8, UNI_DUPL } /* scriptextensions=duployan */, + { 2, 5739, 1, 13, 1, -UNI_GRBASE } /* graphemebase=n */, + { 1, 8978, 9836, 6, 4, UNI__PERL_PATWS } /* patws=true */, + { 5, 9351, 1025, 4, 2, -UNI_IDS } /* ids=no */, + { 1, 10033, 96, 3, 10, UNI_LB__AL } /* lb=alphabetic */, + { 0, 7325, 10099, 3, 3, UNI_IN__5_DOT_1 } /* in=v51 */, + { 0, 1537, 6621, 3, 5, UNI_DOMINO } /* indomino */, + { 1, 9488, 719, 4, 9, UNI_INCUNEIFORM } /* blk=cuneiform */, + { 10, 9488, 8603, 4, 7, UNI_SHAW } /* blk=shavian */, + { 12, 9240, 0, 5, 0, UNI_dash_values_index } /* dash= */, + { 5, 10027, 6373, 3, 12, UNI_JG__MANICHAEANPE } /* jg=manichaeanpe */, + { 0, 1552, 4305, 9, 16, UNI_PO } /* category=otherpunctuation */, + { 1, 184, 8115, 2, 8, UNI_BASS } /* isbassavah */, + { 3, 8894, 36, 6, 1, UNI_JOINC } /* joinc=t */, + { 0, 9488, 6409, 4, 12, UNI_INMENDEKIKAKUI } /* blk=mendekikakui */, + { 0, 8449, 9255, 7, 5, -UNI_HYPHEN } /* hyphen=false */, + { 0, 8762, 26, 6, 1, UNI_XPOSIXALPHA } /* alpha=y */, + { 2, 9277, 7428, 3, 10, UNI_WARA } /* sc=warangciti */, + { 0, 2569, 3493, 20, 18, UNI_VO__TR } /* verticalorientation=transformedrotated */, + { 0, 3836, 8315, 17, 8, UNI_UGAR } /* scriptextensions=ugaritic */, + { 0, 8589, 5843, 7, 9, UNI_SC__MLYM } /* script=malayalam */, + { 1, 1585, 0, 14, 0, UNI_BYZANTINEMUSIC } /* byzantinemusic */, + { 0, 10027, 8155, 3, 8, UNI_JG__FARSIYEH } /* jg=farsiyeh */, + { 0, 6805, 287, 6, 29, UNI_MISCMATHSYMBOLSB } /* inmiscellaneousmathematicalsymbolsb */, + { 2, 9488, 9310, 4, 5, UNI_INOGHAM } /* blk=ogham */, + { 4, 6231, 3796, 3, 3, UNI_INCHAM } /* incham */, + { 8, 184, 2931, 2, 19, UNI_SUPARROWSA } /* issupplementalarrowsa */, + { 17, 7076, 7069, 3, 9, UNI_ASCII } /* inbasiclatin */, + { 0, 1441, 0, 24, 0, UNI_CJKSYMBOLS } /* cjksymbolsandpunctuation */, + { 2, 8589, 4145, 7, 7, UNI_SC__LINB } /* script=linearb */, + { 4, 7660, 0, 4, 0, UNI_PERM } /* perm */, + { 18, 9768, 3937, 4, 8, UNI_BOPO } /* scx=bopomofo */, + { 0, 9277, 3079, 3, 4, UNI_SC__COPT } /* sc=copt */, + { 3, 8617, 0, 7, 0, UNI_SOYO } /* soyombo */, + { 2, 4916, 8300, 3, 7, UNI_TFNG } /* istifinagh */, + { 2, 3836, 8912, 17, 4, UNI_KHOJ } /* scriptextensions=khoj */, + { 13, 9508, 7859, 4, 3, UNI_WB__EB } /* ccc=200 */, + { 0, 9768, 9732, 4, 4, UNI_PRTI } /* scx=prti */, + { 0, 2784, 7506, 4, 7, UNI_ARABICPFB } /* inarabicpfb */, + { 1, 6061, 0, 11, 0, UNI_BIDIC } /* bidicontrol */, + { 0, 9444, 7469, 4, 1, UNI_AGE__5 } /* age=5 */, + { 1, 9768, 9325, 4, 5, UNI_RUNR } /* scx=runic */, + { 0, 6231, 2141, 3, 20, UNI_CYRILLICSUP } /* incyrillicsupplementary */, + { 1, 8589, 9008, 7, 4, UNI_SC__THAA } /* script=thaa */, + { 0, 184, 5040, 2, 5, UNI_XPOSIXDIGIT } /* isdigit */, + { 1, 8589, 8876, 7, 6, UNI_GOTH } /* script=gothic */, + { 8, 9768, 57, 4, 2, UNI_YI } /* scx=yi */, + { 0, 4049, 0, 16, 0, UNI_GEORGIANEXT } /* georgianextended */, + { 0, 1189, 495, 3, 2, UNI_NT__NU } /* nt=nu */, + { 0, 3374, 36, 11, 1, UNI_XPOSIXSPACE } /* whitespace=t */, + { 0, 206, 0, 2, 0, UNI_PI } /* pi */, + { 2, 3379, 0, 5, 0, UNI_XPOSIXSPACE } /* space */, + { 20, 3836, 9285, 17, 5, UNI_LIMB } /* scriptextensions=limbu */, + { 5, 3836, 3169, 17, 4, UNI_ETHI } /* scriptextensions=ethi */, + { 0, 5578, 34, 14, 6, UNI_SB__EX } /* sentencebreak=extend */, + { 0, 3836, 7666, 17, 9, UNI_ORKH } /* scriptextensions=oldturkic */, + { 0, 8780, 9325, 6, 5, UNI_INRUNIC } /* block=runic */, + { 1, 9014, 0, 5, 0, UNI_UIDEO } /* uideo */, + { 2, 10024, 406, 3, 7, UNI_XPOSIXCNTRL } /* gc=control */, + { 8, 184, 3349, 2, 18, UNI_ZP } /* isparagraphseparator */, + { 1, 10126, 3504, 3, 7, UNI_VO__R } /* vo=rotated */, + { 0, 10009, 2569, 3, 8, UNI_DT__VERT } /* dt=vertical */, + { 3, 5674, 3, 13, 1, -UNI_BIDIM } /* bidimirrored=f */, + { 0, 9488, 951, 4, 28, UNI_VSSUP } /* blk=variationselectorssupplement */, + { 37, 5324, 6279, 4, 10, UNI_MAHJONG } /* inmahjongtiles */, + { 18, 9508, 8801, 4, 3, UNI_CCC__107 } /* ccc=107 */, + { 0, 9768, 6884, 4, 11, UNI_HMNG } /* scx=pahawhhmong */, + { 1, 5986, 10148, 13, 2, UNI_NV__47 } /* numericvalue=47 */, + { 1, 8780, 5200, 6, 7, UNI_KANASUP } /* block=kanasup */, + { 4, 9768, 0, 4, 0, UNI_scx_values_index } /* scx= */, + { 28, 7738, 0, 4, 0, UNI_XIDS } /* xids */, + { 0, 5778, 0, 13, 0, UNI_IPAEXT } /* ipaextensions */, + { 2, 7738, 9836, 9, 4, UNI_XIDS } /* xidstart=true */, + { 0, 1768, 9255, 22, 5, -UNI_CWCF } /* changeswhencasefolded=false */, + { 0, 10048, 9913, 3, 3, UNI_NV__2_SLASH_3 } /* nv=2/3 */, + { 2, 6609, 26, 11, 1, UNI_DEP } /* deprecated=y */, + { 34, 21, 1007, 3, 26, UNI_ANCIENTGREEKMUSIC } /* inancientgreekmusicalnotation */, + { 0, 2182, 5585, 21, 2, UNI_WB__EB } /* graphemeclusterbreak=eb */, + { 0, 1988, 10135, 22, 3, UNI_LOE } /* logicalorderexception=yes */, + { 0, 184, 3367, 2, 17, UNI__PERL_PATWS } /* ispatternwhitespace */, + { 2, 3385, 26, 18, 1, UNI_RI } /* regionalindicator=y */, + { 1, 184, 6012, 2, 13, UNI_VERTICALFORMS } /* isverticalforms */, + { 1, 9270, 6885, 3, 10, UNI_INPAHAWHHMONG } /* inpahawhhmong */, + { 1, 9768, 7428, 4, 4, UNI_WARA } /* scx=wara */, + { 1, 8780, 2076, 6, 15, UNI_TRANSPORTANDMAP } /* block=transportandmap */, + { 2, 78, 0, 4, 0, UNI_ARAB } /* arab */, + { 0, 9275, 1489, 5, 24, UNI_INSC__CONSONANTSUCCEEDINGREPHA } /* insc=consonantsucceedingrepha */, + { 12, 9277, 7660, 3, 4, UNI_SC__PERM } /* sc=perm */, + { 3, 184, 1922, 2, 22, UNI_DIACRITICALSFORSYMBOLS } /* isdiacriticalsforsymbols */, + { 2, 8589, 9283, 7, 4, UNI_PHLI } /* script=phli */, + { 6, 10024, 1025, 3, 2, UNI_NO } /* gc=no */, + { 0, 10009, 2569, 3, 4, UNI_DT__VERT } /* dt=vert */, + { 6, 4033, 2349, 16, 20, UNI_PC } /* generalcategory=connectorpunctuation */, + { 0, 10027, 5908, 3, 13, UNI_JG__MANICHAEANTAW } /* jg=manichaeantaw */, + { 9, 10132, 1218, 3, 8, UNI_WB__KA } /* wb=katakana */, + { 8, 7228, 0, 10, 0, UNI_lower_values_index } /* lowercase= */, + { 0, 8780, 8841, 7, 5, UNI_INCHAKMA } /* block=chakma */, + { 1, 184, 2, 3, 1, UNI_CI } /* isci */, + { 0, 9768, 4928, 4, 5, UNI_TAML } /* scx=tamil */, + { 3, 5746, 10135, 6, 3, UNI_EBASE } /* ebase=yes */, + { 1, 9768, 1218, 4, 8, UNI_KANA } /* scx=katakana */, + { 1, 2224, 4370, 3, 8, UNI_SYRIACSUP } /* insyriacsup */, + { 0, 10024, 1822, 3, 2, UNI_NL } /* gc=nl */, + { 16, 184, 1823, 2, 9, UNI_XPOSIXLOWER } /* islowercase */, + { 16, 10048, 7979, 3, 8, UNI_NV__3_SLASH_5 } /* nv=6.00e-01 */, + { 3, 3379, 1, 6, 1, -UNI_XPOSIXSPACE } /* space=n */, + { 4, 1552, 1186, 9, 2, UNI_PO } /* category=po */, + { 0, 6623, 2876, 4, 17, UNI_OTTOMANSIYAQNUMBERS } /* inottomansiyaqnumbers */, + { 17, 9277, 8171, 3, 8, UNI_SC__GUJR } /* sc=gujarati */, + { 4, 9508, 9201, 5, 4, UNI_CCC__34 } /* ccc=ccc34 */, + { 2, 9488, 42, 4, 36, UNI_CJKCOMPATIDEOGRAPHSSUP } /* blk=cjkcompatibilityideographssupplement */, + { 0, 10048, 9420, 3, 4, UNI_NV__3_SLASH_20 } /* nv=3/20 */, + { 2, 9346, 0, 4, 0, UNI_idc_values_index } /* idc= */, + { 0, 10027, 1511, 3, 3, UNI_JG__HAH } /* jg=hah */, + { 0, 10027, 5340, 3, 14, UNI_JG__MANICHAEANFIVE } /* jg=manichaeanfive */, + { 0, 2912, 0, 19, 0, UNI_SUNDANESESUP } /* sundanesesupplement */, + { 17, 9768, 719, 4, 9, UNI_XSUX } /* scx=cuneiform */, + { 0, 3259, 0, 4, 0, UNI_IDSB } /* idsb */, + { 0, 8589, 8582, 7, 7, UNI_SC__PHAG } /* script=phagspa */, + { 17, 1552, 9503, 9, 2, UNI_MC } /* category=mc */, + { 14, 3836, 7684, 17, 9, UNI_PAUC } /* scriptextensions=paucinhau */, + { 0, 4916, 4944, 3, 14, UNI_TITLE } /* istitlecaseletter */, + { 5, 9496, 0, 4, 0, UNI_BUHD } /* buhd */, + { 0, 9508, 7858, 4, 2, UNI_CCC__22 } /* ccc=22 */, + { 1, 184, 1319, 2, 25, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* issymbolsandpictographsexta */, + { 1, 10296, 0, 12, 0, UNI_POSIXBLANK } /* isposixblank */, + { 1, 6928, 1, 11, 1, -UNI_SD } /* softdotted=n */, + { 2, 3836, 9002, 17, 4, UNI_TELU } /* scriptextensions=telu */, + { 6, 184, 3683, 2, 11, UNI_ETHIOPICEXT } /* isethiopicext */, + { 9, 9290, 9255, 5, 5, -UNI_MATH } /* math=false */, + { 0, 8780, 895, 6, 28, UNI_SUPPUAA } /* block=supplementaryprivateuseareaa */, + { 16, 8219, 0, 4, 0, UNI_JAVA } /* java */, + { 0, 9488, 8442, 4, 7, UNI_INHANUNOO } /* blk=hanunoo */, + { 0, 5791, 4225, 13, 16, UNI_JG__MANICHAEANTWENTY } /* joininggroup=manichaeantwenty */, + { 19, 184, 6409, 2, 4, UNI_MEND } /* ismend */, + { 3, 5037, 9255, 9, 5, -UNI_XPOSIXXDIGIT } /* hexdigit=false */, + { 9, 9560, 0, 4, 0, UNI_GONG } /* gong */, + { 0, 117, 2226, 4, 19, UNI_ININSCRIPTIONALPARTHIAN } /* ininscriptionalparthian */, + { 3, 8589, 9512, 7, 4, UNI_CHRS } /* script=chrs */, + { 3, 5739, 0, 13, 0, UNI_grbase_values_index } /* graphemebase= */, + { 0, 7218, 6169, 10, 4, UNI_LB__GL } /* linebreak=glue */, + { 0, 184, 1901, 3, 21, UNI_INDICNUMBERFORMS } /* iscommonindicnumberforms */, + { 0, 10024, 7, 3, 1, UNI_C } /* gc=c */, + { 1, 117, 5779, 3, 5, UNI_IPAEXT } /* inipaext */, + { 1, 8688, 15, 4, 2, UNI_ARAB } /* isarab */, + { 4, 9444, 9848, 4, 4, UNI_AGE__12 } /* age=v120 */, + { 3, 9768, 9664, 4, 3, UNI_MRO } /* scx=mro */, + { 16, 9460, 0, 4, 0, UNI_ARMI } /* armi */, + { 1, 8589, 3895, 8, 3, UNI_SGNW } /* script=sgnw */, + { 2, 3836, 8407, 17, 7, UNI_DSRT } /* scriptextensions=deseret */, + { 0, 10048, 9050, 3, 5, UNI_NV__1_SLASH_160 } /* nv=1/160 */, + { 1, 9768, 9008, 4, 4, UNI_THAA } /* scx=thaa */, + { 14, 8960, 0, 6, 0, UNI_nfcqc_values_index } /* nfcqc= */, + { 3, 9262, 8554, 3, 7, UNI_SB__LE } /* sb=oletter */, + { 1, 8267, 36, 8, 1, UNI_RADICAL } /* radical=t */, + { 0, 8855, 0, 2, 0, UNI_CF } /* cf */, + { 8, 1417, 184, 24, 2, UNI_CCC__IS } /* canonicalcombiningclass=is */, + { 0, 9250, 36, 5, 1, UNI_EMOD } /* emod=t */, + { 0, 7155, 8188, 3, 7, UNI_HIRA } /* ishiragana */, + { 19, 9556, 5497, 4, 11, UNI_GCB__SM } /* gcb=spacingmark */, + { 2, 184, 6061, 2, 5, UNI_BIDIC } /* isbidic */, + { 2, 7540, 10135, 9, 3, UNI_EXT } /* extender=yes */, + { 3, 8780, 8470, 6, 7, UNI_INLINEARA } /* block=lineara */, + { 8, 10291, 10308, 5, 5, UNI_POSIXPRINT } /* posixprint */, + { 0, 10027, 6313, 3, 12, UNI_JG__MALAYALAMNGA } /* jg=malayalamnga */, + { 3, 10048, 7469, 3, 1, UNI_NV__5 } /* nv=5 */, + { 51, 9351, 26, 4, 1, UNI_IDS } /* ids=y */, + { 1, 9997, 5829, 3, 3, UNI_BC__RLO } /* bc=rlo */, + { 0, 9488, 9684, 4, 4, UNI_INNEWA } /* blk=newa */, + { 2, 9768, 3025, 4, 8, UNI_CHER } /* scx=cherokee */, + { 0, 1417, 10172, 24, 2, UNI_CCC__9 } /* canonicalcombiningclass=vr */, + { 15, 10333, 7, 3, 1, UNI_SC } /* issc */, + { 0, 7318, 7950, 10, 1, UNI_IN__9 } /* presentin=9 */, + { 0, 2288, 5187, 3, 13, UNI_HIGHSURROGATES } /* inhighsurrogates */, + { 14, 10009, 4532, 3, 6, UNI_DT__MED } /* dt=medial */, + { 0, 6231, 2099, 3, 20, UNI_CJKCOMPATFORMS } /* incjkcompatibilityforms */, + { 16, 3241, 0, 8, 0, UNI_GEOR } /* georgian */, + { 0, 9270, 6506, 3, 11, UNI_PHAISTOS } /* inphaistosdisc */, + { 8, 4643, 0, 15, 0, UNI_ecomp_values_index } /* emojicomponent= */, + { 17, 5791, 8283, 13, 8, UNI_JG__SWASHKAF } /* joininggroup=swashkaf */, + { 0, 5986, 9050, 13, 4, UNI_NV__1_SLASH_16 } /* numericvalue=1/16 */, + { 5, 9508, 3015, 4, 10, UNI_CCC__AR } /* ccc=aboveright */, + { 4, 2280, 9713, 3, 3, UNI_OSGE } /* isosge */, + { 1, 9768, 4868, 4, 15, UNI_NARB } /* scx=oldnortharabian */, + { 1, 9260, 1, 5, 1, -UNI_IDSB } /* idsb=n */, + { 1, 5986, 7803, 13, 8, UNI_NV__1_SLASH_64 } /* numericvalue=1.56e-02 */, + { 2, 8179, 0, 8, 0, UNI_GURU } /* gurmukhi */, + { 3, 9488, 8179, 4, 8, UNI_INGURMUKHI } /* blk=gurmukhi */, + { 0, 9277, 7648, 3, 9, UNI_ITAL } /* sc=olditalic */, + { 1, 8882, 36, 6, 1, UNI_GREXT } /* grext=t */, + { 32, 9768, 9315, 4, 5, UNI_ORYA } /* scx=oriya */, + { 0, 10024, 3358, 3, 9, UNI_Z } /* gc=separator */, + { 1, 2429, 0, 20, 0, UNI_PHLI } /* inscriptionalpahlavi */, + { 3, 5986, 10146, 13, 2, UNI_NV__46 } /* numericvalue=46 */, + { 22, 10048, 8042, 3, 2, UNI_NV__18 } /* nv=18 */, + { 5, 8954, 9836, 6, 4, UNI__PERL_NCHAR } /* nchar=true */, + { 0, 4401, 0, 16, 0, UNI_TANGUTSUP } /* tangutsupplement */, + { 0, 8780, 5284, 6, 4, UNI_INLISU } /* block=lisu */, + { 0, 9536, 36, 4, 1, UNI_DEP } /* dep=t */, + { 19, 21, 7027, 2, 11, UNI_YISYLLABLES } /* inyisyllables */, + { 0, 9444, 7765, 4, 1, UNI_AGE__2 } /* age=2 */, + { 0, 9768, 3115, 4, 10, UNI_DEVA } /* scx=devanagari */, + { 0, 184, 3295, 2, 9, UNI_LATINEXTA } /* islatinexta */, + { 2, 4422, 8409, 4, 5, UNI_DSRT } /* indeseret */, + { 2, 4478, 0, 15, 0, UNI_BRAI } /* braillepatterns */, + { 0, 8589, 8470, 7, 7, UNI_SC__LINA } /* script=lineara */, + { 9, 1988, 1, 22, 1, -UNI_LOE } /* logicalorderexception=n */, + { 1, 1417, 7859, 24, 2, UNI_CCC__20 } /* canonicalcombiningclass=20 */, + { 13, 9488, 6517, 4, 12, UNI_PLAYINGCARDS } /* blk=playingcards */, + { 2, 895, 0, 28, 0, UNI_SUPPUAA } /* supplementaryprivateuseareaa */, + { 0, 10027, 6950, 3, 11, UNI_JG__STRAIGHTWAW } /* jg=straightwaw */, + { 0, 2722, 0, 10, 0, UNI_JAMO } /* hanguljamo */, + { 1, 2224, 5607, 3, 13, UNI_SUPPUNCTUATION } /* insuppunctuation */, + { 0, 9277, 3079, 3, 6, UNI_SC__COPT } /* sc=coptic */, + { 1, 5032, 0, 5, 0, UNI_ASCII } /* ascii */, + { 0, 3836, 9484, 17, 4, UNI_BHKS } /* scriptextensions=bhks */, + { 0, 10006, 26, 3, 1, UNI_DI } /* di=y */, + { 1, 10048, 9432, 3, 4, UNI_NV__5_SLASH_12 } /* nv=5/12 */, + { 0, 1979, 47, 10, 1, UNI_LM } /* category=lm */, + { 5, 9688, 0, 3, 0, UNI_NKO } /* nko */, + { 2, 9700, 0, 4, 0, UNI_OLCK } /* olck */, + { 1, 9580, 0, 4, 0, UNI_HANO } /* hano */, + { 3, 2182, 1910, 21, 2, UNI_GCB__CN } /* graphemeclusterbreak=cn */, + { 0, 8780, 9038, 6, 6, UNI_INYEZIDI } /* block=yezidi */, + { 0, 6553, 10135, 12, 3, UNI_XIDC } /* xidcontinue=yes */, + { 0, 184, 7428, 2, 4, UNI_WARA } /* iswara */, + { 9, 7088, 2798, 10, 19, UNI_BC__LRO } /* bidiclass=lefttorightoverride */, + { 1, 9768, 6409, 4, 4, UNI_MEND } /* scx=mend */, + { 4, 1417, 756, 24, 2, UNI_CCC__DA } /* canonicalcombiningclass=da */, + { 1, 9768, 6940, 5, 10, UNI_SORA } /* scx=sorasompeng */, + { 13, 400, 0, 6, 0, UNI_CF } /* format */, + { 3, 2182, 3385, 21, 17, UNI_RI } /* graphemeclusterbreak=regionalindicator */, + { 0, 10288, 467, 8, 5, UNI_XPOSIXPUNCT } /* isxposixpunct */, + { 0, 5452, 0, 14, 0, UNI_nfcqc_values_index } /* nfcquickcheck= */, + { 4, 10296, 131, 3, 3, UNI_PALM } /* ispalm */, + { 1, 4033, 1527, 16, 9, UNI__PERL_SURROGATE } /* generalcategory=surrogate */, + { 9, 3836, 4370, 18, 5, UNI_SYRC } /* scriptextensions=syriac */, + { 7, 8984, 1025, 6, 2, -UNI_QMARK } /* qmark=no */, + { 0, 4033, 32, 16, 2, UNI__PERL_SURROGATE } /* generalcategory=cs */, + { 2, 8575, 0, 6, 0, UNI_PATSYN } /* patsyn */, + { 15, 9488, 3295, 4, 18, UNI_LATINEXTADDITIONAL } /* blk=latinextadditional */, + { 1, 8589, 9864, 7, 4, UNI_WCHO } /* script=wcho */, + { 0, 8435, 1025, 7, 2, -UNI_GRBASE } /* grbase=no */, + { 11, 9277, 9796, 3, 4, UNI_SC__SYRC } /* sc=syrc */, + { 0, 8780, 3887, 6, 17, UNI_SUTTONSIGNWRITING } /* block=suttonsignwriting */, + { 1, 9277, 2560, 3, 4, UNI_SC__MAND } /* sc=mand */, + { 20, 3151, 0, 17, 0, UNI_EPRES } /* emojipresentation */, + { 41, 10012, 8948, 3, 6, UNI_EA__NA } /* ea=narrow */, + { 2, 184, 8414, 2, 7, UNI_ELBA } /* iselbasan */, + { 8, 8589, 7666, 7, 9, UNI_ORKH } /* script=oldturkic */, + { 1, 5578, 2529, 15, 4, UNI_SB__ST } /* sentencebreak=sterm */, + { 1, 9277, 7118, 3, 10, UNI_CHRS } /* sc=chorasmian */, + { 2, 4433, 0, 15, 0, UNI_ARABICEXTA } /* arabicextendeda */, + { 0, 2855, 0, 12, 0, UNI_MONGOLIANSUP } /* mongoliansup */, + { 1, 1166, 0, 25, 0, UNI_DI } /* defaultignorablecodepoint */, + { 0, 5508, 0, 13, 0, UNI_PATSYN } /* patternsyntax */, + { 0, 6796, 0, 11, 0, UNI_MEDF } /* medefaidrin */, { 0, 184, 218, 3, 32, UNI_DIACRITICALSEXT } /* iscombiningdiacriticalmarksextended */, - { 5, 9105, 0, 4, 0, UNI_CAKM } /* cakm */, - { 0, 9093, 2211, 4, 7, UNI_INSINHALA } /* blk=sinhala */, - { 2, 9093, 1599, 4, 23, UNI_COMPATJAMO } /* blk=hangulcompatibilityjamo */, - { 4, 3868, 6360, 16, 11, UNI_CASEDLETTER } /* generalcategory=casedletter */, - { 0, 9093, 5552, 4, 13, UNI_IPAEXT } /* blk=ipaextensions */, - { 4, 3948, 922, 3, 17, UNI_INVS } /* invariationselectors */, - { 0, 8424, 114, 7, 24, UNI_DIACRITICALS } /* block=combiningdiacriticalmarks */, - { 4, 5760, 7631, 13, 1, UNI_NV__9 } /* numericvalue=9 */, - { 13, 9647, 9506, 3, 3, UNI_NV__2_SLASH_3 } /* nv=2/3 */, - { 4, 184, 6569, 2, 11, UNI_MISCSYMBOLS } /* ismiscsymbols */, - { 3, 7128, 1767, 10, 2, UNI_WB__NL } /* wordbreak=nl */, - { 1, 9361, 0, 4, 0, UNI_SARB } /* sarb */, - { 0, 400, 0, 6, 0, UNI_CF } /* format */, - { 0, 1158, 4718, 3, 7, UNI_TAMILSUP } /* intamilsup */, - { 0, 21, 6027, 2, 5, UNI_INKHMER } /* inkhmer */, - { 0, 8886, 9385, 3, 4, UNI_SC__SHRD } /* sc=shrd */, - { 3, 5760, 9557, 13, 3, UNI_NV__3_SLASH_5 } /* numericvalue=3/5 */, - { 0, 3671, 9253, 17, 4, UNI_MIAO } /* scriptextensions=miao */, - { 0, 3671, 8093, 17, 7, UNI_HANO } /* scriptextensions=hanunoo */, - { 1, 8616, 8864, 6, 5, -UNI_STERM } /* sterm=false */, - { 0, 8869, 9433, 5, 4, UNI_IDSB } /* idsb=true */, - { 4, 5325, 9433, 14, 4, UNI_QMARK } /* quotationmark=true */, - { 0, 3002, 3370, 18, 3, UNI_DT__MED } /* decompositiontype=med */, - { 9, 9093, 6382, 4, 11, UNI_DOMINO } /* blk=dominotiles */, - { 0, 9620, 1257, 3, 2, UNI_UPPERCASELETTER } /* gc=lu */, - { 0, 8424, 837, 6, 28, UNI_PHONETICEXTSUP } /* block=phoneticextensionssupplement */, - { 2, 5513, 1, 13, 1, -UNI_GRBASE } /* graphemebase=n */, - { 1, 184, 779, 2, 29, UNI_ENCLOSEDIDEOGRAPHICSUP } /* isenclosedideographicsupplement */, - { 6, 3772, 0, 16, 0, UNI_BOPOMOFOEXT } /* bopomofoextended */, - { 0, 9121, 1, 4, 1, -UNI_CWL } /* cwl=n */, - { 12, 6315, 36, 12, 1, UNI_XIDC } /* xidcontinue=t */, - { 2, 5492, 0, 5, 0, UNI_XPOSIXALNUM } /* alnum */, - { 1, 8424, 7078, 6, 10, UNI_SUPARROWSB } /* block=suparrowsb */, - { 1, 9113, 8730, 5, 4, UNI_CCC__17 } /* ccc=ccc17 */, - { 1, 8869, 1, 5, 1, -UNI_IDSB } /* idsb=n */, - { 1, 4462, 9433, 15, 4, UNI_GREXT } /* graphemeextend=true */, - { 0, 8424, 3092, 6, 18, UNI_INPUNCTUATION } /* block=generalpunctuation */, - { 1, 7025, 7668, 3, 3, UNI_IN__6_DOT_2 } /* in=6.2 */, - { 0, 184, 3631, 3, 3, UNI_CHAM } /* ischam */, - { 3, 8424, 7329, 6, 9, UNI_INOLDITALIC } /* block=olditalic */, - { 8, 9903, 1768, 6, 5, UNI_XPOSIXLOWER } /* xposixlower */, - { 0, 3251, 1, 3, 1, -UNI_CE } /* ce=n */, - { 5, 5760, 5409, 13, 9, UNI_NV__100000000 } /* numericvalue=100000000 */, - { 0, 5325, 1, 14, 1, -UNI_QMARK } /* quotationmark=n */, - { 1, 2703, 26, 19, 1, UNI_IDST } /* idstrinaryoperator=y */, - { 1, 9049, 7463, 4, 1, UNI_AGE__3 } /* age=3 */, - { 9, 8424, 893, 6, 28, UNI_SUPPUAB } /* block=supplementaryprivateuseareab */, - { 8, 8886, 2984, 3, 6, UNI_SC__COPT } /* sc=coptic */, - { 4, 3671, 7995, 17, 7, UNI_AVST } /* scriptextensions=avestan */, - { 0, 3671, 8610, 17, 6, UNI_RJNG } /* scriptextensions=rejang */, - { 5, 9093, 808, 4, 29, UNI_MISCARROWS } /* blk=miscellaneoussymbolsandarrows */, - { 1, 9659, 26, 3, 1, UNI_RI } /* ri=y */, - { 1, 3980, 0, 16, 0, UNI_LINEARBIDEOGRAMS } /* linearbideograms */, - { 5, 9093, 1845, 4, 22, UNI_INDICNUMBERFORMS } /* blk=commonindicnumberforms */, - { 2, 6171, 0, 12, 0, UNI_MATHALPHANUM } /* mathalphanum */, - { 2, 1410, 0, 24, 0, UNI_DIACRITICALSFORSYMBOLS } /* combiningmarksforsymbols */, - { 1, 184, 382, 2, 4, UNI_EGYP } /* isegyp */, - { 0, 9093, 3020, 4, 18, UNI_DEVANAGARIEXT } /* blk=devanagariextended */, - { 4, 749, 0, 30, 0, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* symbolsandpictographsextendeda */, - { 8, 9093, 5449, 5, 12, UNI_BLOCKELEMENTS } /* blk=blockelements */, - { 6, 184, 3519, 3, 16, UNI_CYRILLICEXTB } /* iscyrillicextendedb */, - { 0, 5565, 3620, 13, 17, UNI_JG__MANICHAEANDHAMEDH } /* joininggroup=manichaeandhamedh */, - { 1, 9113, 9530, 4, 3, UNI_CCC__AL } /* ccc=228 */, - { 1, 9629, 9310, 3, 2, UNI_LB__SG } /* lb=sg */, - { 0, 6918, 5520, 10, 5, UNI_LB__EB } /* linebreak=ebase */, - { 5, 9623, 4552, 3, 15, UNI_JG__MANICHAEANSADHE } /* jg=manichaeansadhe */, - { 0, 3739, 9734, 17, 3, UNI_UIDEO } /* unifiedideograph=yes */, - { 1, 9153, 4797, 5, 2, UNI_WB__EB } /* gcb=gaz */, - { 0, 9909, 1768, 7, 5, UNI_POSIXLOWER } /* isposixlower */, - { 9, 8424, 9057, 6, 4, UNI_INAHOM } /* block=ahom */, - { 1, 184, 5884, 3, 11, UNI_CYRILLICEXTB } /* iscyrillicextb */, - { 1, 5565, 6909, 14, 9, UNI_JG__KNOTTEDHEH } /* joininggroup=knottedheh */, - { 1, 4108, 0, 16, 0, UNI_MYANMAREXTA } /* myanmarextendeda */, - { 3, 1084, 995, 26, 2, -UNI_CWKCF } /* changeswhennfkccasefolded=no */, - { 3, 5227, 0, 15, 0, UNI_DT__CAN } /* nfdquickcheck=n */, - { 0, 184, 8065, 2, 4, UNI_ELBA } /* iselba */, - { 0, 9093, 3469, 4, 4, UNI_UCAS } /* blk=ucas */, - { 0, 8086, 9734, 7, 3, UNI_GRBASE } /* grbase=yes */, - { 15, 8886, 78, 3, 4, UNI_SC__ARAB } /* sc=arab */, - { 3, 8854, 3, 5, 1, -UNI_DASH } /* dash=f */, - { 5, 8424, 6869, 7, 9, UNI_COMPATJAMO } /* block=compatjamo */, - { 0, 9093, 4124, 4, 16, UNI_MYANMAREXTB } /* blk=myanmarextendedb */, - { 1, 9365, 8107, 4, 7, UNI_KNDA } /* scx=kannada */, - { 8, 8424, 2021, 6, 22, UNI_TRANSPORTANDMAP } /* block=transportandmapsymbols */, - { 1, 1482, 4434, 4, 13, UNI_DIACRITICALSSUP } /* indiacriticalssup */, - { 0, 8886, 1622, 3, 5, UNI_SC__LATN } /* sc=latin */, - { 0, 1156, 0, 2, 0, UNI_PO } /* po */, - { 8, 9093, 2401, 4, 3, UNI_PUA } /* blk=pua */, - { 0, 21, 977, 3, 16, UNI_ANCIENTGREEKMUSIC } /* inancientgreekmusic */, - { 9, 5760, 8394, 13, 3, UNI_NV__800 } /* numericvalue=800 */, - { 1, 8884, 8909, 5, 5, UNI_INSC__NUKTA } /* insc=nukta */, - { 2, 9365, 2741, 4, 4, UNI_MERO } /* scx=mero */, - { 1, 8233, 9473, 7, 4, UNI_SC__YI } /* script=yiii */, - { 1, 8424, 6712, 6, 11, UNI_SUPERANDSUB } /* block=superandsub */, - { 3, 3002, 4351, 18, 6, UNI_DT__MED } /* decompositiontype=medial */, - { 0, 9093, 3980, 4, 16, UNI_LINEARBIDEOGRAMS } /* blk=linearbideograms */, - { 1, 8874, 9433, 5, 4, UNI_IDST } /* idst=true */, - { 0, 9620, 4140, 3, 16, UNI_PO } /* gc=otherpunctuation */, - { 1, 6194, 6989, 3, 9, UNI_INOLDSOGDIAN } /* inoldsogdian */, - { 0, 9089, 0, 4, 0, UNI_BHKS } /* bhks */, - { 0, 8886, 8072, 3, 7, UNI_ELYM } /* sc=elymaic */, - { 9, 1801, 9433, 22, 4, UNI_CWU } /* changeswhenuppercased=true */, - { 2, 878, 0, 14, 0, UNI_PUA } /* privateusearea */, - { 2, 5565, 6087, 13, 12, UNI_JG__MALAYALAMNGA } /* joininggroup=malayalamnga */, - { 0, 4462, 0, 15, 0, UNI_grext_values_index } /* graphemeextend= */, - { 2, 4826, 36, 9, 1, UNI_XPOSIXXDIGIT } /* hexdigit=t */, - { 4, 1779, 0, 22, 0, UNI_cwt_values_index } /* changeswhentitlecased= */, - { 4, 9093, 328, 4, 21, UNI_MATHOPERATORS } /* blk=mathematicaloperators */, - { 4, 9113, 8358, 4, 2, UNI_CCC__30 } /* ccc=30 */, - { 17, 7239, 5969, 4, 4, UNI_INHEBREW } /* inhebrew */, - { 1, 5760, 9572, 13, 3, UNI_NV__5_SLASH_8 } /* numericvalue=5/8 */, - { 0, 2106, 0, 21, 0, UNI_gcb_values_index } /* graphemeclusterbreak= */, - { 11, 9647, 8376, 3, 6, UNI_NV__500000 } /* nv=500000 */, - { 2, 3671, 8892, 17, 4, UNI_PHLI } /* scriptextensions=phli */, - { 1, 9093, 7852, 4, 8, UNI_INGURMUKHI } /* blk=gurmukhi */, - { 0, 9626, 6745, 3, 11, UNI_JT__T } /* jt=transparent */, - { 4, 8886, 6978, 3, 10, UNI_XPEO } /* sc=oldpersian */, - { 0, 9946, 47, 3, 1, UNI_SM } /* issm */, - { 11, 8424, 8562, 6, 6, UNI_INLYCIAN } /* block=lycian */, - { 2, 2457, 5802, 5, 9, UNI_ALPHABETICPF } /* inalphabeticpf */, - { 0, 3251, 0, 3, 0, UNI_ce_values_index } /* ce= */, - { 1, 6005, 150, 4, 33, UNI_DIACRITICALSSUP } /* incombiningdiacriticalmarkssupplement */, - { 1, 9113, 8646, 4, 6, UNI_CCC__9 } /* ccc=virama */, - { 0, 9093, 6492, 4, 11, UNI_KATAKANAEXT } /* blk=katakanaext */, - { 0, 3671, 9133, 17, 4, UNI_CYRL } /* scriptextensions=cyrl */, - { 9, 184, 5591, 2, 13, UNI_ZL } /* islineseparator */, - { 1, 9647, 5409, 3, 8, UNI_NV__10000000 } /* nv=10000000 */, - { 0, 3671, 9145, 17, 4, UNI_DSRT } /* scriptextensions=dsrt */, - { 8, 9864, 436, 7, 4, UNI__PERL_NCHAR } /* _perl_nchar */, - { 24, 9629, 1156, 3, 2, UNI_LB__PO } /* lb=po */, - { 0, 8424, 749, 6, 30, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* block=symbolsandpictographsextendeda */, - { 1, 6828, 2013, 10, 3, UNI_BC__RLE } /* bidiclass=rle */, - { 15, 184, 9201, 2, 4, UNI_KHMR } /* iskhmr */, - { 0, 8635, 36, 5, 1, UNI_IDEO } /* ideo=t */, - { 0, 7025, 9722, 3, 3, UNI_IN__9 } /* in=v90 */, - { 0, 9909, 2495, 3, 3, UNI_PRTI } /* isprti */, - { 7, 8233, 2085, 7, 8, UNI_SC__CYRL } /* script=cyrillic */, - { 3, 9629, 2564, 3, 2, UNI_LB__BA } /* lb=ba */, - { 1, 9153, 73, 4, 2, UNI_WB__EB } /* gcb=em */, - { 0, 1158, 4221, 3, 5, UNI_INTANGUT } /* intangut */, - { 2, 184, 8502, 2, 6, UNI_GOTH } /* isgothic */, - { 1, 8424, 1162, 6, 26, UNI_HALFANDFULLFORMS } /* block=halfwidthandfullwidthforms */, - { 0, 5760, 8358, 13, 3, UNI_NV__300 } /* numericvalue=300 */, - { 0, 9946, 0, 7, 0, UNI_XPOSIXSPACE } /* isspace */, - { 0, 9093, 5578, 4, 13, UNI_KANAEXTA } /* blk=kanaextendeda */, - { 0, 4447, 1174, 15, 9, UNI_EA__F } /* eastasianwidth=fullwidth */, - { 3, 9093, 7356, 4, 9, UNI_PALM } /* blk=palmyrene */, - { 7, 9909, 1574, 3, 3, UNI_PHAG } /* isphag */, - { 1, 8424, 1576, 6, 15, UNI_GEOMETRICSHAPES } /* block=geometricshapes */, - { 4, 837, 0, 18, 0, UNI_PHONETICEXT } /* phoneticextensions */, - { 0, 9113, 7540, 4, 3, UNI_WB__EB } /* ccc=200 */, - { 0, 4241, 3022, 4, 16, UNI_DEVANAGARIEXT } /* indevanagariextended */, - { 2, 7420, 8864, 8, 5, -UNI_IDS } /* idstart=false */, - { 0, 8886, 9485, 3, 4, UNI_SC__QAAI } /* sc=zinh */, - { 2, 8886, 7804, 3, 8, UNI_SC__BUGI } /* sc=buginese */, - { 0, 9620, 4080, 3, 10, UNI_SM } /* gc=mathsymbol */, - { 1, 5835, 36, 12, 1, UNI_BIDIC } /* bidicontrol=t */, - { 3, 1713, 9433, 22, 4, UNI_CWCF } /* changeswhencasefolded=true */, - { 0, 184, 4975, 2, 7, UNI_KANASUP } /* iskanasup */, - { 2, 1458, 0, 24, 0, UNI_HIGHPUSURROGATES } /* highprivateusesurrogates */, - { 0, 9629, 495, 3, 2, UNI_LB__NU } /* lb=nu */, - { 1, 6679, 3, 11, 1, -UNI_SD } /* softdotted=f */, - { 4, 8332, 3417, 3, 9, UNI_ALCHEMICAL } /* isalchemical */, - { 9, 7230, 3, 9, 1, -UNI_EXT } /* extender=f */, - { 17, 8233, 1482, 8, 3, UNI_SC__SIND } /* script=sind */, - { 7, 7018, 9437, 10, 4, UNI_IN__10 } /* presentin=v100 */, - { 0, 2204, 4659, 4, 13, UNI_NARB } /* isoldnortharabian */, - { 8, 9623, 6097, 3, 5, UNI_JG__GAMAL } /* jg=gamal */, - { 0, 8233, 7375, 8, 8, UNI_SAMR } /* script=samaritan */, - { 4, 8424, 630, 7, 29, UNI_CJKEXTE } /* block=cjkunifiedideographsextensione */, - { 0, 9125, 3, 4, 1, -UNI_CWT } /* cwt=f */, - { 0, 9901, 7420, 3, 7, UNI_XIDS } /* isxidstart */, - { 1, 9365, 8628, 4, 6, UNI_THAA } /* scx=thaana */, - { 5, 3671, 8149, 17, 4, UNI_MULT } /* scriptextensions=mult */, - { 4, 5565, 1456, 13, 3, UNI_JG__HAH } /* joininggroup=hah */, - { 20, 5760, 7484, 13, 8, UNI_NV__1_SLASH_64 } /* numericvalue=1.56e-02 */, - { 8, 9623, 726, 3, 3, UNI_JG__DAL } /* jg=dal */, - { 0, 5565, 6123, 13, 12, UNI_JG__MALAYALAMSSA } /* joininggroup=malayalamssa */, - { 2, 5565, 4038, 13, 3, UNI_JG__LAM } /* joininggroup=lam */, - { 3, 7025, 9710, 3, 3, UNI_IN__6_DOT_2 } /* in=v62 */, - { 10, 3254, 1, 18, 1, -UNI_RI } /* regionalindicator=n */, - { 0, 9093, 6171, 4, 12, UNI_MATHALPHANUM } /* blk=mathalphanum */, - { 1, 9365, 8526, 4, 6, UNI_KTHI } /* scx=kaithi */, - { 0, 1497, 4387, 9, 14, UNI_SC } /* category=currencysymbol */, - { 0, 3671, 7329, 17, 9, UNI_ITAL } /* scriptextensions=olditalic */, - { 2, 9623, 5656, 3, 13, UNI_JG__MANICHAEANNUN } /* jg=manichaeannun */, - { 0, 184, 3020, 2, 4, UNI_DEVA } /* isdeva */, - { 0, 3552, 0, 16, 0, UNI_ETHIOPICEXT } /* ethiopicextended */, - { 5, 8884, 4236, 5, 5, UNI_INSC__VOWEL } /* insc=vowel */, - { 1, 3868, 8839, 16, 5, UNI_XPOSIXCNTRL } /* generalcategory=cntrl */, - { 0, 9365, 6602, 4, 11, UNI_NAND } /* scx=nandinagari */, - { 0, 184, 2949, 3, 17, UNI_HALFMARKS } /* iscombininghalfmarks */, - { 0, 4705, 4221, 3, 15, UNI_TANGUTCOMPONENTS } /* istangutcomponents */, - { 0, 8233, 4108, 7, 7, UNI_SC__MYMR } /* script=myanmar */, - { 1, 184, 8894, 2, 4, UNI_LIMB } /* islimb */, - { 1, 8233, 8892, 7, 4, UNI_PHLI } /* script=phli */, - { 2, 184, 4417, 2, 15, UNI_DIACRITICALSEXT } /* isdiacriticalsext */, - { 1, 5760, 7444, 13, 8, UNI_NV__1_SLASH_8 } /* numericvalue=1.25e-01 */, - { 10, 9623, 341, 3, 2, UNI_JG__PE } /* jg=pe */, - { 0, 8424, 7068, 6, 10, UNI_SUPARROWSA } /* block=suparrowsa */, - { 8, 3671, 5617, 17, 9, UNI_MLYM } /* scriptextensions=malayalam */, - { 5, 9946, 44, 3, 1, UNI_SK } /* issk */, - { 1, 8884, 2966, 5, 18, UNI_INSC__CONSONANTSUBJOINED } /* insc=consonantsubjoined */, - { 3, 1911, 4891, 22, 14, UNI_INSC__CONSONANTFINAL } /* indicsyllabiccategory=consonantfinal */, - { 0, 8886, 9169, 3, 4, UNI_SC__GUJR } /* sc=gujr */, - { 11, 7025, 9575, 3, 3, UNI_IN__6_DOT_1 } /* in=6.1 */, - { 1, 1362, 8765, 25, 4, UNI_CCC__24 } /* canonicalcombiningclass=ccc24 */, - { 2, 567, 0, 2, 0, UNI_NB } /* nb */, - { 0, 9093, 8652, 4, 6, UNI_INWANCHO } /* blk=wancho */, - { 2, 9365, 9297, 4, 4, UNI_OLCK } /* scx=olck */, - { 1, 2148, 4173, 3, 15, UNI_SUPMATHOPERATORS } /* insupmathoperators */, - { 0, 184, 2855, 2, 19, UNI_SUPARROWSA } /* issupplementalarrowsa */, - { 9, 9659, 36, 3, 1, UNI_RI } /* ri=t */, - { 1, 9923, 7966, 4, 6, UNI_INTIFINAGH } /* intifinagh */, - { 0, 8884, 698, 5, 6, UNI_INSC__NUMBER } /* insc=number */, - { 0, 6338, 0, 11, 0, UNI_alpha_values_index } /* alphabetic= */, - { 0, 7230, 995, 9, 2, -UNI_EXT } /* extender=no */, - { 2, 7025, 7631, 3, 1, UNI_IN__9 } /* in=9 */, - { 1, 9901, 467, 8, 5, UNI_XPOSIXPUNCT } /* isxposixpunct */, - { 0, 1779, 36, 22, 1, UNI_CWT } /* changeswhentitlecased=t */, - { 0, 5031, 0, 14, 0, UNI_LATINEXTD } /* latinextendedd */, - { 0, 2106, 24, 21, 1, UNI_GCB__L } /* graphemeclusterbreak=l */, - { 0, 184, 4402, 2, 4, UNI_DASH } /* isdash */, - { 0, 4849, 9734, 14, 3, UNI_CI } /* caseignorable=yes */, - { 1, 8886, 2006, 3, 4, UNI_SC__MODI } /* sc=modi */, - { 6, 5565, 6536, 13, 11, UNI_JG__MALAYALAMJA } /* joininggroup=malayalamja */, - { 1, 8100, 0, 6, 0, UNI_HYPHEN } /* hyphen */, - { 2, 9093, 3020, 4, 13, UNI_DEVANAGARIEXT } /* blk=devanagariext */, - { 1, 6918, 5773, 10, 13, UNI_LB__PR } /* linebreak=prefixnumeric */, - { 2, 9365, 8149, 4, 4, UNI_MULT } /* scx=mult */, - { 3, 184, 6159, 2, 12, UNI_GONM } /* ismasaramgondi */, - { 4, 8233, 5617, 7, 9, UNI_SC__MLYM } /* script=malayalam */, - { 0, 7108, 995, 10, 2, -UNI_XPOSIXUPPER } /* uppercase=no */, - { 0, 3671, 6648, 18, 3, UNI_SHAW } /* scriptextensions=shaw */, - { 6, 184, 2086, 3, 20, UNI_CYRILLICSUP } /* iscyrillicsupplementary */, - { 4, 9620, 5487, 3, 13, UNI_XPOSIXDIGIT } /* gc=decimalnumber */, - { 2, 6567, 1968, 6, 9, UNI_MISCTECHNICAL } /* inmisctechnical */, - { 8, 8233, 1085, 7, 4, UNI_SC__HANG } /* script=hang */, - { 12, 8871, 836, 3, 2, UNI_SB__SP } /* sb=sp */, - { 8, 6838, 0, 10, 0, UNI_BOXDRAWING } /* boxdrawing */, - { 1, 9599, 995, 3, 2, -UNI_CI } /* ci=no */, - { 9, 5835, 0, 11, 0, UNI_BIDIC } /* bidicontrol */, - { 2, 3671, 6898, 17, 10, UNI_KHAR } /* scriptextensions=kharoshthi */, - { 0, 8424, 878, 6, 10, UNI_PUA } /* block=privateuse */, - { 1, 5979, 26, 12, 1, UNI_IDEO } /* ideographic=y */, - { 18, 6194, 7339, 3, 8, UNI_INOLDPERMIC } /* inoldpermic */, - { 1, 1136, 9433, 26, 4, UNI_DI } /* defaultignorablecodepoint=true */, - { 0, 9093, 7266, 4, 9, UNI_LATINEXTC } /* blk=latinextc */, - { 10, 9049, 7724, 4, 3, UNI_AGE__8 } /* age=8.0 */, - { 8, 8009, 0, 7, 0, UNI_CJKEXTA } /* cjkexta */, - { 8, 9049, 7098, 4, 10, UNI_AGE__NA } /* age=unassigned */, - { 3, 1924, 4509, 11, 13, UNI_LOWERCASELETTER } /* category=lowercaseletter */, - { 0, 6918, 21, 10, 2, UNI_LB__IN } /* linebreak=in */, - { 8, 9365, 9217, 4, 3, UNI_LAO } /* scx=lao */, - { 2, 6918, 6437, 10, 11, UNI_LB__EX } /* linebreak=exclamation */, - { 4, 9623, 9061, 3, 4, UNI_JG__ALEF } /* jg=alef */, - { 1, 5085, 8130, 4, 5, UNI_INMAKASAR } /* inmakasar */, - { 0, 9647, 8822, 3, 2, UNI_NV__35 } /* nv=35 */, - { 1, 9365, 9417, 4, 4, UNI_TFNG } /* scx=tfng */, - { 0, 1536, 3039, 3, 17, UNI_ETHIOPICSUP } /* inethiopicsupplement */, - { 0, 9113, 2379, 4, 5, UNI_CCC__R } /* ccc=right */, - { 2, 8859, 0, 5, 0, UNI_DOGR } /* dogra */, - { 8, 8233, 8135, 7, 7, UNI_SC__MAND } /* script=mandaic */, - { 1, 6768, 9474, 3, 3, UNI_YI } /* isyiii */, - { 0, 1911, 5395, 22, 14, UNI_INSC__VOWELDEPENDENT } /* indicsyllabiccategory=voweldependent */, - { 4, 2665, 0, 19, 0, UNI_JAMOEXTB } /* hanguljamoextendedb */, - { 2, 2148, 6992, 3, 6, UNI_INSOGDIAN } /* insogdian */, - { 1, 8496, 0, 5, 0, UNI_CWKCF } /* cwkcf */, - { 8, 5760, 7446, 13, 2, UNI_NV__25 } /* numericvalue=25 */, - { 1, 9647, 7572, 3, 8, UNI_NV__1_SLASH_3 } /* nv=3.33e-01 */, - { 0, 9113, 8822, 4, 2, UNI_CCC__35 } /* ccc=35 */, - { 4, 9093, 8191, 4, 7, UNI_OLCK } /* blk=olchiki */, - { 4, 8424, 7980, 6, 8, UNI_INUGARITIC } /* block=ugaritic */, - { 1, 6005, 2044, 3, 20, UNI_CJKCOMPATFORMS } /* incjkcompatibilityforms */, - { 0, 9647, 7516, 3, 8, UNI_NV__5_SLASH_2 } /* nv=2.50e+00 */, - { 5, 6316, 3, 11, 1, -UNI_IDC } /* idcontinue=f */, - { 2, 5258, 0, 11, 0, UNI_MC } /* spacingmark */, - { 0, 9629, 3248, 3, 5, UNI_LB__SP } /* lb=space */, - { 2, 184, 2608, 2, 19, UNI_EGYP } /* isegyptianhieroglyphs */, - { 0, 3868, 995, 16, 2, UNI_NO } /* generalcategory=no */, - { 0, 9620, 6360, 3, 11, UNI_CASEDLETTER } /* gc=casedletter */, - { 3, 1911, 2532, 22, 19, UNI_INSC__BRAHMIJOININGNUMBER } /* indicsyllabiccategory=brahmijoiningnumber */, - { 1, 9365, 2779, 4, 9, UNI_MONG } /* scx=mongolian */, - { 1, 3671, 2741, 17, 4, UNI_MERO } /* scriptextensions=mero */, - { 0, 9113, 7631, 4, 1, UNI_CCC__9 } /* ccc=9 */, - { 4, 5565, 7038, 13, 10, UNI_JG__REVERSEDPE } /* joininggroup=reversedpe */, - { 3, 5760, 7700, 13, 8, UNI_NV__2_SLASH_3 } /* numericvalue=6.67e-01 */, - { 2, 8424, 2253, 6, 20, UNI_INANATOLIANHIEROGLYPHS } /* block=anatolianhieroglyphs */, - { 7, 9953, 4764, 4, 6, UNI_VEDICEXT } /* isvedicext */, - { 3, 9093, 2836, 4, 12, UNI_SUNDANESESUP } /* blk=sundanesesup */, - { 0, 2169, 0, 11, 0, UNI_MTEI } /* meeteimayek */, - { 1, 9093, 5786, 4, 13, UNI_VERTICALFORMS } /* blk=verticalforms */, - { 7, 8233, 9285, 7, 3, UNI_NKO } /* script=nko */, - { 0, 8424, 5031, 6, 14, UNI_LATINEXTD } /* block=latinextendedd */, - { 0, 8622, 0, 6, 0, UNI_TELU } /* telugu */, - { 0, 8424, 2006, 6, 15, UNI_MODIFIERLETTERS } /* block=modifierletters */, - { 1, 9647, 9001, 3, 4, UNI_NV__11_SLASH_2 } /* nv=11/2 */, - { 6, 1159, 495, 3, 7, UNI_NT__NU } /* nt=numeric */, - { 0, 9121, 0, 4, 0, UNI_cwl_values_index } /* cwl= */, - { 0, 9133, 0, 4, 0, UNI_CYRL } /* cyrl */, - { 6, 8424, 988, 6, 5, UNI_MUSIC } /* block=music */, - { 1, 5760, 9584, 13, 3, UNI_NV__7_SLASH_8 } /* numericvalue=7/8 */, - { 0, 2684, 6525, 19, 3, UNI_LB__H3 } /* hangulsyllabletype=lvt */, - { 9, 8849, 8864, 5, 5, -UNI_CWCM } /* cwcm=false */, - { 0, 3671, 8628, 17, 4, UNI_THAA } /* scriptextensions=thaa */, - { 0, 9093, 2779, 4, 19, UNI_MONGOLIANSUP } /* blk=mongoliansupplement */, - { 0, 4778, 1, 3, 41, UNI_UCASEXT } /* isunifiedcanadianaboriginalsyllabicsextended */, - { 0, 9909, 2, 3, 1, UNI_PI } /* ispi */, - { 2, 9365, 9233, 4, 4, UNI_LISU } /* scx=lisu */, - { 0, 9629, 7202, 3, 2, UNI_LB__BB } /* lb=bb */, - { 1, 9365, 2837, 5, 3, UNI_SUND } /* scx=sund */, - { 6, 8424, 4124, 6, 16, UNI_MYANMAREXTB } /* block=myanmarextendedb */, - { 2, 5760, 7460, 13, 8, UNI_NV__1_SLASH_7 } /* numericvalue=1.43e-01 */, - { 0, 1911, 4236, 22, 16, UNI_INSC__VOWELINDEPENDENT } /* indicsyllabiccategory=vowelindependent */, - { 0, 8424, 2211, 6, 7, UNI_INSINHALA } /* block=sinhala */, - { 1, 184, 690, 3, 8, UNI_XSUX } /* iscuneiform */, - { 0, 6567, 187, 6, 30, UNI_MISCPICTOGRAPHS } /* inmiscellaneoussymbolsandpictographs */, - { 2, 5760, 8989, 13, 3, UNI_NV__1_SLASH_8 } /* numericvalue=1/8 */, - { 1, 6918, 1472, 10, 9, UNI_LB__SG } /* linebreak=surrogate */, - { 2, 5760, 7463, 13, 1, UNI_NV__3 } /* numericvalue=3 */, - { 0, 921, 0, 18, 0, UNI_INVS } /* variationselectors */, - { 0, 9365, 4220, 4, 4, UNI_TANG } /* scx=tang */, - { 2, 9909, 4829, 7, 5, UNI_POSIXDIGIT } /* isposixdigit */, - { 1, 6828, 9653, 10, 3, UNI_BC__PDF } /* bidiclass=pdf */, - { 0, 9365, 78, 4, 4, UNI_ARAB } /* scx=arab */, - { 9, 4580, 6185, 4, 10, UNI_INMENDEKIKAKUI } /* inmendekikakui */, - { 0, 9731, 697, 3, 2, UNI_WB__MN } /* wb=mn */, - { 0, 8233, 7341, 7, 4, UNI_SC__PERM } /* script=perm */, - { 9, 9620, 3218, 3, 18, UNI_ZP } /* gc=paragraphseparator */, - { 2, 8886, 3728, 3, 11, UNI_SGNW } /* sc=signwriting */, - { 1, 8610, 0, 6, 0, UNI_RJNG } /* rejang */, - { 0, 6005, 219, 4, 31, UNI_DIACRITICALSEXT } /* incombiningdiacriticalmarksextended */, - { 9, 9629, 5325, 3, 9, UNI_LB__QU } /* lb=quotation */, - { 0, 8233, 9289, 7, 4, UNI_NSHU } /* script=nshu */, - { 0, 8424, 3884, 6, 16, UNI_GEORGIANEXT } /* block=georgianextended */, - { 1, 8424, 660, 7, 29, UNI_CJKEXTF } /* block=cjkunifiedideographsextensionf */, - { 2, 8424, 3502, 7, 16, UNI_CYRILLICEXTA } /* block=cyrillicextendeda */, - { 15, 8065, 0, 4, 0, UNI_ELBA } /* elba */, - { 2, 3671, 8894, 17, 5, UNI_LIMB } /* scriptextensions=limbu */, - { 3, 9620, 4687, 3, 15, UNI_PS } /* gc=openpunctuation */, - { 3, 9129, 0, 4, 0, UNI_cwu_values_index } /* cwu= */, - { 2, 9946, 8276, 3, 6, UNI_SUPPUAB } /* issuppuab */, - { 0, 1622, 0, 9, 0, UNI_LATINEXTE } /* latinexte */, - { 8, 8899, 1, 5, 1, -UNI_MATH } /* math=n */, - { 4, 5565, 9641, 13, 3, UNI_JG__MIM } /* joininggroup=mim */, - { 0, 5760, 8394, 13, 5, UNI_NV__80000 } /* numericvalue=80000 */, - { 3, 184, 1530, 2, 14, UNI_BYZANTINEMUSIC } /* isbyzantinemusic */, - { 2, 7025, 7507, 3, 4, UNI_IN__12 } /* in=12.0 */, - { 1, 9093, 2043, 4, 21, UNI_CJKCOMPATFORMS } /* blk=cjkcompatibilityforms */, - { 0, 9623, 5682, 3, 13, UNI_JG__MANICHAEANTAW } /* jg=manichaeantaw */, - { 0, 6005, 3837, 3, 15, UNI_CYPRIOTSYLLABARY } /* incypriotsyllabary */, - { 2, 8508, 0, 6, 0, UNI_grext_values_index } /* grext= */, - { 1, 8424, 4267, 6, 5, UNI_INBAMUM } /* block=bamum */, - { 0, 3254, 9433, 18, 4, UNI_RI } /* regionalindicator=true */, - { 8, 9946, 2837, 3, 3, UNI_SUND } /* issund */, - { 7, 1622, 0, 5, 0, UNI_LATN } /* latin */, - { 4, 9909, 6268, 3, 7, UNI_PHAISTOS } /* isphaistos */, - { 0, 7025, 9707, 3, 3, UNI_IN__6_DOT_1 } /* in=v61 */, - { 1, 9629, 7138, 3, 10, UNI_LB__WJ } /* lb=wordjoiner */, - { 5, 8586, 0, 7, 0, UNI_COMPEX } /* nfcqc=n */, - { 0, 8424, 8699, 6, 5, UNI_INBATAK } /* block=batak */, - { 2, 9593, 8, 3, 2, UNI_BC__AN } /* bc=an */, - { 1, 9629, 202, 3, 2, UNI_LB__SA } /* lb=sa */, - { 0, 5760, 7452, 13, 8, UNI_NV__1_SLASH_80 } /* numericvalue=1.25e-02 */, - { 6, 4705, 2221, 3, 3, UNI_THAI } /* isthai */, - { 0, 3671, 9117, 17, 4, UNI_CPRT } /* scriptextensions=cprt */, - { 2, 2106, 34, 21, 6, UNI_GCB__EX } /* graphemeclusterbreak=extend */, - { 1, 1713, 3, 22, 1, -UNI_CWCF } /* changeswhencasefolded=f */, - { 2, 5760, 8370, 13, 6, UNI_NV__432000 } /* numericvalue=432000 */, - { 1, 4618, 2335, 4, 8, UNI_INGLAGOLITIC } /* inglagolitic */, - { 4, 1362, 8780, 25, 4, UNI_CCC__27 } /* canonicalcombiningclass=ccc27 */, - { 7, 5760, 9017, 13, 4, UNI_NV__17_SLASH_2 } /* numericvalue=17/2 */, - { 2, 184, 5003, 2, 14, UNI_LATINEXTB } /* islatinextendedb */, - { 3, 9093, 509, 4, 20, UNI_CJK } /* blk=cjkunifiedideographs */, - { 0, 9093, 0, 4, 42, UNI_UCASEXT } /* blk=unifiedcanadianaboriginalsyllabicsextended */, - { 0, 8424, 8628, 6, 6, UNI_INTHAANA } /* block=thaana */, - { 8, 42, 0, 36, 0, UNI_CJKCOMPATIDEOGRAPHSSUP } /* cjkcompatibilityideographssupplement */, - { 8, 184, 6183, 2, 12, UNI_MEND } /* ismendekikakui */, - { 4, 6005, 4388, 3, 14, UNI_CURRENCYSYMBOLS } /* incurrencysymbols */, - { 0, 5435, 36, 13, 1, UNI_BIDIM } /* bidimirrored=t */, - { 1, 1735, 26, 22, 1, UNI_CWCM } /* changeswhencasemapped=y */, - { 1, 1497, 406, 9, 7, UNI_XPOSIXCNTRL } /* category=control */, - { 1, 9093, 3020, 4, 10, UNI_INDEVANAGARI } /* blk=devanagari */, - { 0, 6005, 2086, 3, 17, UNI_CYRILLICSUP } /* incyrillicsupplement */, - { 8, 6828, 5811, 10, 12, UNI_BC__AL } /* bidiclass=arabicletter */, - { 14, 9946, 4205, 3, 5, UNI_SYRC } /* issyriac */, - { 0, 9365, 7239, 4, 9, UNI_QAAI } /* scx=inherited */, - { 0, 8233, 9293, 7, 4, UNI_OGAM } /* script=ogam */, - { 0, 1159, 11, 3, 2, UNI_NT__DI } /* nt=di */, - { 1, 6005, 630, 3, 29, UNI_CJKEXTE } /* incjkunifiedideographsextensione */, - { 10, 6005, 3631, 3, 3, UNI_INCHAM } /* incham */, - { 3, 3671, 3110, 17, 4, UNI_GEOR } /* scriptextensions=geor */, - { 3, 6558, 0, 11, 0, UNI_MEDF } /* medefaidrin */, - { 1, 6828, 3569, 10, 17, UNI_BC__ES } /* bidiclass=europeanseparator */, - { 0, 9605, 9665, 3, 3, UNI_DT__SML } /* dt=sml */, - { 1, 9485, 0, 4, 0, UNI_QAAI } /* zinh */, - { 0, 8634, 3, 6, 1, -UNI_UIDEO } /* uideo=f */, - { 1, 8954, 9433, 5, 4, UNI_XIDC } /* xidc=true */, - { 4, 1084, 1, 26, 1, -UNI_CWKCF } /* changeswhennfkccasefolded=n */, - { 0, 9909, 468, 3, 4, UNI_P } /* ispunct */, - { 16, 9365, 6988, 4, 10, UNI_SOGO } /* scx=oldsogdian */, - { 0, 4580, 4109, 3, 15, UNI_MYANMAREXTA } /* inmyanmarextendeda */, - { 0, 3671, 4582, 17, 15, UNI_MERC } /* scriptextensions=meroiticcursive */, - { 1, 184, 5255, 2, 14, UNI_MN } /* isnonspacingmark */, - { 1, 9093, 2646, 4, 19, UNI_JAMOEXTA } /* blk=hanguljamoextendeda */, - { 6, 8886, 8135, 3, 7, UNI_SC__MAND } /* sc=mandaic */, - { 4, 7018, 9677, 10, 3, UNI_IN__2_DOT_1 } /* presentin=v21 */, - { 20, 9113, 8481, 4, 3, UNI_WB__EB } /* ccc=133 */, - { 17, 3671, 9413, 17, 4, UNI_TAVT } /* scriptextensions=tavt */, - { 0, 8586, 0, 6, 0, UNI_nfcqc_values_index } /* nfcqc= */, - { 2, 8233, 8002, 7, 7, UNI_SC__BENG } /* script=bengali */, - { 2, 8016, 0, 7, 0, UNI_CJKEXTB } /* cjkextb */, - { 0, 9629, 4357, 3, 15, UNI_LB__CB } /* lb=contingentbreak */, - { 0, 414, 0, 11, 0, UNI_IDEO } /* ideographic */, - { 10, 8233, 8430, 7, 6, UNI_CARI } /* script=carian */, - { 11, 9365, 8484, 4, 6, UNI_CAKM } /* scx=chakma */, - { 1, 5760, 8664, 13, 4, UNI_NV__1_SLASH_16 } /* numericvalue=1/16 */, - { 0, 9093, 8296, 4, 7, UNI_INTAIVIET } /* blk=taiviet */, - { 2, 9193, 0, 4, 0, UNI_hst_values_index } /* hst= */, - { 4, 9193, 6525, 4, 3, UNI_LB__H3 } /* hst=lvt */, - { 1, 3688, 995, 17, 2, -UNI_STERM } /* sentenceterminal=no */, - { 1, 9623, 6327, 3, 11, UNI_JG__AFRICANNOON } /* jg=africannoon */, - { 2, 9647, 7558, 3, 2, UNI_NV__13 } /* nv=13 */, - { 0, 9365, 1622, 4, 5, UNI_LATN } /* scx=latin */, - { 0, 9901, 1812, 8, 5, UNI_XPOSIXUPPER } /* isxposixupper */, - { 1, 184, 8024, 3, 6, UNI_CJKEXTC } /* iscjkextc */, - { 0, 9647, 8358, 3, 2, UNI_NV__30 } /* nv=30 */, - { 0, 184, 9269, 2, 4, UNI_MYMR } /* ismymr */, - { 8, 8886, 8430, 3, 6, UNI_CARI } /* sc=carian */, - { 26, 9647, 8400, 3, 6, UNI_NV__900000 } /* nv=900000 */, - { 0, 8233, 9453, 7, 3, UNI_VAI } /* script=vai */, - { 0, 9365, 8514, 4, 6, UNI_HATR } /* scx=hatran */, - { 0, 8424, 5283, 6, 14, UNI_PHONETICEXTSUP } /* block=phoneticextsup */, - { 8, 8886, 7311, 3, 9, UNI_TALU } /* sc=newtailue */, - { 0, 9909, 6, 3, 1, UNI_PD } /* ispd */, - { 4, 8886, 9469, 3, 4, UNI_XSUX } /* sc=xsux */, - { 0, 9093, 4989, 4, 6, UNI_KANGXI } /* blk=kangxi */, - { 3, 2779, 0, 12, 0, UNI_MONGOLIANSUP } /* mongoliansup */, - { 8, 9093, 1030, 4, 27, UNI_OCR } /* blk=opticalcharacterrecognition */, - { 1, 2106, 5943, 21, 12, UNI_WB__EB } /* graphemeclusterbreak=glueafterzwj */, - { 0, 7025, 9689, 3, 3, UNI_IN__4 } /* in=v40 */, - { 0, 6918, 4357, 10, 15, UNI_LB__CB } /* linebreak=contingentbreak */, - { 1, 5760, 9014, 13, 3, UNI_NV__5_SLASH_2 } /* numericvalue=5/2 */, - { 2, 9909, 1812, 7, 5, UNI_POSIXUPPER } /* isposixupper */, - { 4, 8556, 26, 6, 1, UNI_XPOSIXLOWER } /* lower=y */, - { 3, 9647, 7724, 3, 8, UNI_NV__4_SLASH_5 } /* nv=8.00e-01 */, - { 0, 8424, 1955, 6, 22, UNI_MISCTECHNICAL } /* block=miscellaneoustechnical */, - { 8, 2703, 9734, 19, 3, UNI_IDST } /* idstrinaryoperator=yes */, - { 0, 8424, 719, 6, 30, UNI_ENCLOSEDALPHANUMSUP } /* block=enclosedalphanumericsupplement */, - { 1, 8233, 9329, 7, 4, UNI_PRTI } /* script=prti */, - { 0, 9909, 7009, 3, 9, UNI_PHNX } /* isphoenician */, - { 0, 9113, 8835, 5, 4, UNI_CCC__91 } /* ccc=ccc91 */, - { 2, 8424, 1506, 6, 24, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* block=supsymbolsandpictographs */, - { 2, 9620, 3852, 3, 16, UNI_PF } /* gc=finalpunctuation */, - { 8, 8879, 838, 3, 10, UNI_PHONETICEXT } /* inphoneticext */, - { 1, 3671, 9089, 17, 4, UNI_BHKS } /* scriptextensions=bhks */, - { 18, 9605, 3852, 3, 3, UNI_DT__FIN } /* dt=fin */, - { 1, 6003, 0, 12, 0, UNI_joinc_values_index } /* joincontrol= */, - { 1, 8424, 1622, 6, 14, UNI_LATINEXTA } /* block=latinextendeda */, - { 0, 5565, 4954, 13, 3, UNI_JG__HEH } /* joininggroup=heh */, - { 0, 9093, 3200, 4, 18, UNI_ORNAMENTALDINGBATS } /* blk=ornamentaldingbats */, - { 2, 8406, 36, 6, 1, UNI_XPOSIXALPHA } /* alpha=t */, - { 2, 8424, 4108, 6, 16, UNI_MYANMAREXTA } /* block=myanmarextendeda */, - { 1, 1735, 8864, 22, 5, -UNI_CWCM } /* changeswhencasemapped=false */, - { 2, 8424, 570, 7, 29, UNI_CJKEXTC } /* block=cjkunifiedideographsextensionc */, - { 1, 4361, 3886, 4, 14, UNI_GEORGIANEXT } /* ingeorgianextended */, - { 4, 1757, 8864, 22, 5, -UNI_CWL } /* changeswhenlowercased=false */, - { 5, 9365, 9277, 4, 4, UNI_NBAT } /* scx=nbat */, - { 1, 9365, 8296, 4, 7, UNI_TAVT } /* scx=taiviet */, - { 1, 1497, 3852, 9, 16, UNI_PF } /* category=finalpunctuation */, - { 2, 6385, 2800, 4, 17, UNI_OTTOMANSIYAQNUMBERS } /* inottomansiyaqnumbers */, - { 1, 9093, 1531, 5, 13, UNI_BYZANTINEMUSIC } /* blk=byzantinemusic */, - { 3, 4108, 0, 7, 0, UNI_MYMR } /* myanmar */, - { 0, 3868, 1187, 16, 2, UNI_SK } /* generalcategory=sk */, - { 12, 8163, 26, 7, 1, UNI_NFKCQC__Y } /* nfkcqc=y */, - { 0, 8844, 9433, 5, 4, UNI_CWCF } /* cwcf=true */, - { 0, 9093, 5859, 4, 12, UNI_CHESSSYMBOLS } /* blk=chesssymbols */, - { 0, 5565, 5181, 13, 4, UNI_JG__TETH } /* joininggroup=teth */, - { 17, 2106, 1855, 21, 2, UNI_GCB__CN } /* graphemeclusterbreak=cn */, - { 11, 8332, 9058, 3, 3, UNI_AHOM } /* isahom */, - { 0, 7932, 3, 8, 1, -UNI_RADICAL } /* radical=f */, - { 1, 8233, 7338, 7, 9, UNI_SC__PERM } /* script=oldpermic */, - { 2, 8332, 833, 4, 4, UNI_ARROWS } /* isarrows */, - { 10, 5500, 0, 13, 0, UNI_ME } /* enclosingmark */, - { 0, 2106, 262, 21, 2, UNI_GCB__SM } /* graphemeclusterbreak=sm */, - { 0, 8886, 9321, 3, 4, UNI_PHNX } /* sc=phnx */, - { 0, 9620, 5255, 3, 14, UNI_MN } /* gc=nonspacingmark */, - { 2, 8107, 0, 7, 0, UNI_KNDA } /* kannada */, - { 1, 3868, 47, 16, 1, UNI_M } /* generalcategory=m */, - { 12, 9620, 4140, 3, 5, UNI_C } /* gc=other */, - { 2, 8424, 3326, 6, 18, UNI_TAIXUANJING } /* block=taixuanjingsymbols */, - { 3, 6338, 36, 11, 1, UNI_XPOSIXALPHA } /* alphabetic=t */, - { 2, 1497, 3146, 9, 18, UNI_PI } /* category=initialpunctuation */, - { 1, 8884, 5395, 5, 14, UNI_INSC__VOWELDEPENDENT } /* insc=voweldependent */, - { 0, 9629, 533, 3, 2, UNI_LB__NS } /* lb=ns */, - { 5, 7018, 7508, 10, 3, UNI_IN__2 } /* presentin=2.0 */, - { 1, 8424, 2006, 6, 4, UNI_INMODI } /* block=modi */, - { 0, 9365, 9305, 4, 4, UNI_ORYA } /* scx=orya */, - { 16, 6918, 5952, 10, 2, UNI_LB__ZW } /* linebreak=zw */, - { 8, 3671, 7956, 17, 8, UNI_TAGB } /* scriptextensions=tagbanwa */, - { 3, 9113, 5539, 4, 13, UNI_CCC__IS } /* ccc=iotasubscript */, - { 2, 5760, 5410, 13, 1, UNI_NV__0 } /* numericvalue=0 */, - { 0, 9113, 6818, 4, 10, UNI_CCC__BR } /* ccc=belowright */, - { 8, 9481, 0, 4, 0, UNI_ZANB } /* zanb */, - { 23, 8233, 9413, 7, 4, UNI_TAVT } /* script=tavt */, - { 23, 8886, 4672, 3, 15, UNI_SARB } /* sc=oldsoutharabian */, - { 0, 2204, 4688, 3, 14, UNI_PS } /* isopenpunctuation */, - { 0, 1159, 0, 3, 0, UNI_nt_values_index } /* nt= */, - { 16, 8233, 7980, 7, 4, UNI_UGAR } /* script=ugar */, - { 0, 9093, 9233, 4, 4, UNI_LISU } /* blk=lisu */, - { 12, 9946, 8269, 3, 6, UNI_SUPPUAA } /* issuppuaa */, - { 2, 184, 3688, 2, 16, UNI_STERM } /* issentenceterminal */, - { 1, 8424, 7812, 6, 8, UNI_INDUPLOYAN } /* block=duployan */, - { 0, 184, 2931, 3, 7, UNI_CHER } /* ischerokee */, - { 0, 3951, 1852, 3, 15, UNI_INDICNUMBERFORMS } /* isindicnumberforms */, - { 0, 1084, 9433, 26, 4, UNI_CWKCF } /* changeswhennfkccasefolded=true */, - { 1, 7018, 0, 10, 0, UNI_in_values_index } /* presentin= */, - { 8, 6828, 2413, 10, 20, UNI_BC__PDF } /* bidiclass=popdirectionalformat */, - { 0, 3671, 6724, 18, 10, UNI_SYLO } /* scriptextensions=sylotinagri */, - { 1, 878, 0, 10, 0, UNI_CO } /* privateuse */, - { 7, 8616, 26, 6, 1, UNI_STERM } /* sterm=y */, - { 2, 9153, 9773, 4, 2, UNI_GCB__XX } /* gcb=xx */, - { 13, 1497, 2273, 9, 20, UNI_PC } /* category=connectorpunctuation */, - { 2, 9113, 6481, 4, 11, UNI_CCC__8 } /* ccc=kanavoicing */, - { 0, 184, 1532, 2, 1, UNI_Z } /* isz */, - { 0, 9113, 3433, 4, 13, UNI_CCC__202 } /* ccc=attachedbelow */, - { 1, 1801, 0, 21, 0, UNI_CWU } /* changeswhenuppercased */, - { 9, 8886, 8149, 3, 7, UNI_SC__MULT } /* sc=multani */, - { 3, 3671, 7302, 17, 9, UNI_NBAT } /* scriptextensions=nabataean */, - { 0, 34, 0, 3, 0, UNI_EXT } /* ext */, - { 2, 8424, 4821, 6, 5, UNI_ASCII } /* block=ascii */, - { 1, 8685, 9734, 4, 3, UNI_XPOSIXXDIGIT } /* hex=yes */, - { 5, 9365, 3772, 4, 4, UNI_BOPO } /* scx=bopo */, - { 0, 1767, 0, 2, 0, UNI_NL } /* nl */, - { 1, 9365, 9257, 4, 4, UNI_MLYM } /* scx=mlym */, - { 1, 9620, 106, 3, 6, UNI_S } /* gc=symbol */, - { 3, 3002, 9668, 18, 3, UNI_DT__SQR } /* decompositiontype=sqr */, - { 16, 2703, 1, 19, 1, -UNI_IDST } /* idstrinaryoperator=n */, - { 3, 1362, 8755, 25, 4, UNI_CCC__22 } /* canonicalcombiningclass=ccc22 */, - { 0, 9113, 9533, 4, 3, UNI_CCC__A } /* ccc=230 */, - { 2, 6816, 6809, 3, 9, UNI_ASCII } /* inbasiclatin */, - { 1, 7025, 7159, 3, 3, UNI_IN__5 } /* in=5.0 */, - { 2, 9049, 7502, 4, 1, UNI_AGE__8 } /* age=8 */, - { 2, 9647, 9009, 3, 4, UNI_NV__13_SLASH_2 } /* nv=13/2 */, - { 11, 9620, 2273, 3, 20, UNI_PC } /* gc=connectorpunctuation */, - { 9, 8886, 2211, 3, 7, UNI_SC__SINH } /* sc=sinhala */, - { 2, 78, 0, 35, 0, UNI_ARABICMATH } /* arabicmathematicalalphabeticsymbols */, - { 3, 2493, 3362, 20, 18, UNI_VO__TR } /* verticalorientation=transformedrotated */, - { 1, 3868, 1036, 16, 2, UNI_CASEDLETTER } /* generalcategory=lc */, - { 0, 2493, 471, 20, 2, UNI_VO__TU } /* verticalorientation=tu */, - { 0, 8160, 721, 4, 28, UNI_ENCLOSEDALPHANUMSUP } /* inenclosedalphanumericsupplement */, - { 7, 7025, 7463, 3, 1, UNI_IN__3 } /* in=3 */, - { 0, 1239, 995, 25, 2, -UNI_COMPEX } /* fullcompositionexclusion=no */, - { 1, 9161, 0, 4, 0, UNI_GONM } /* gonm */, - { 9, 8844, 26, 5, 1, UNI_CWCF } /* cwcf=y */, - { 8, 9365, 8944, 4, 4, UNI_TAKR } /* scx=takr */, - { 10, 3243, 1, 11, 1, -UNI_XPOSIXSPACE } /* whitespace=n */, - { 5, 6918, 340, 10, 2, UNI_LB__OP } /* linebreak=op */, - { 0, 6567, 1959, 6, 18, UNI_MISCTECHNICAL } /* inmiscellaneoustechnical */, - { 10, 2169, 0, 14, 0, UNI_MEETEIMAYEKEXT } /* meeteimayekext */, - { 0, 184, 6492, 2, 11, UNI_KATAKANAEXT } /* iskatakanaext */, - { 6, 976, 0, 27, 0, UNI_ANCIENTGREEKMUSIC } /* ancientgreekmusicalnotation */, - { 42, 1362, 7539, 24, 2, UNI_CCC__22 } /* canonicalcombiningclass=22 */, - { 0, 6624, 0, 11, 0, UNI_NO } /* othernumber */, - { 0, 3868, 3227, 16, 9, UNI_Z } /* generalcategory=separator */, - { 0, 3200, 0, 18, 0, UNI_ORNAMENTALDINGBATS } /* ornamentaldingbats */, - { 5, 184, 7118, 2, 4, UNI_WARA } /* iswara */, - { 0, 9093, 6267, 4, 12, UNI_PHAISTOS } /* blk=phaistosdisc */, - { 3, 8886, 9253, 3, 4, UNI_MIAO } /* sc=miao */, - { 1, 1933, 9433, 22, 4, UNI_LOE } /* logicalorderexception=true */, - { 0, 9313, 0, 3, 0, UNI_PCM } /* pcm */, - { 0, 1243, 1, 21, 1, -UNI_CE } /* compositionexclusion=n */, - { 2, 9093, 4807, 4, 14, UNI_ANCIENTSYMBOLS } /* blk=ancientsymbols */, - { 1, 9365, 7049, 5, 3, UNI_SAUR } /* scx=saur */, - { 4, 1362, 8449, 25, 5, UNI_CCC__118 } /* canonicalcombiningclass=ccc118 */, - { 1, 9623, 6788, 3, 10, UNI_JG__AFRICANQAF } /* jg=africanqaf */, - { 2, 184, 5578, 2, 13, UNI_KANAEXTA } /* iskanaextendeda */, - { 0, 3671, 9225, 17, 4, UNI_LINA } /* scriptextensions=lina */, - { 1, 8886, 2984, 3, 4, UNI_SC__COPT } /* sc=copt */, - { 0, 8233, 7812, 7, 8, UNI_SC__DUPL } /* script=duployan */, - { 0, 8051, 36, 7, 1, UNI_COMPEX } /* compex=t */, - { 3, 8886, 9117, 3, 4, UNI_SC__CPRT } /* sc=cprt */, - { 0, 1779, 9734, 22, 3, UNI_CWT } /* changeswhentitlecased=yes */, - { 24, 3326, 0, 18, 0, UNI_TAIXUANJING } /* taixuanjingsymbols */, - { 9, 9946, 8262, 3, 3, UNI_SOYO } /* issoyo */, - { 9, 9647, 7571, 3, 2, UNI_NV__33 } /* nv=33 */, - { 0, 8233, 2393, 7, 20, UNI_HMNP } /* script=nyiakengpuachuehmong */, - { 2, 8424, 8121, 6, 7, UNI_INLINEARA } /* block=lineara */, - { 0, 2493, 3248, 4, 5, UNI_VERTSPACE } /* vertspace */, - { 10, 6015, 6, 12, 1, UNI_JT__D } /* joiningtype=d */, - { 5, 9608, 4290, 3, 7, UNI_EA__N } /* ea=neutral */, - { 1, 9623, 9656, 3, 3, UNI_JG__REH } /* jg=reh */, - { 8, 8424, 2779, 6, 9, UNI_INMONGOLIAN } /* block=mongolian */, - { 1, 9662, 3, 3, 1, -UNI_SD } /* sd=f */, - { 1, 3002, 7868, 18, 8, UNI_DT__ISO } /* decompositiontype=isolated */, - { 0, 184, 8031, 3, 6, UNI_CJKEXTD } /* iscjkextd */, - { 6, 9647, 7636, 3, 8, UNI_NV__1_SLASH_20 } /* nv=5.00e-02 */, - { 2, 1497, 5500, 9, 13, UNI_ME } /* category=enclosingmark */, - { 1, 8960, 3, 4, 1, -UNI_IDS } /* ids=f */, - { 1, 8233, 9045, 7, 4, UNI_SC__ADLM } /* script=adlm */, - { 1, 9365, 8248, 5, 6, UNI_SHAW } /* scx=shavian */, - { 0, 6371, 1, 11, 1, -UNI_DEP } /* deprecated=n */, - { 10, 9093, 8939, 4, 5, UNI_INTAILE } /* blk=taile */, - { 0, 184, 9273, 2, 4, UNI_NARB } /* isnarb */, - { 2, 8849, 3, 5, 1, -UNI_CWCM } /* cwcm=f */, - { 1, 2684, 6938, 19, 10, UNI_LB__H2 } /* hangulsyllabletype=lvsyllable */, - { 0, 8604, 9734, 6, 3, UNI_QMARK } /* qmark=yes */, - { 1, 9728, 26, 3, 1, UNI_VS } /* vs=y */, - { 3, 8233, 1573, 7, 4, UNI_SC__PHAG } /* script=phag */, - { 5, 5760, 9009, 13, 4, UNI_NV__13_SLASH_2 } /* numericvalue=13/2 */, - { 4, 3164, 0, 18, 0, UNI_LATINEXTADDITIONAL } /* latinextadditional */, - { 0, 8086, 26, 7, 1, UNI_GRBASE } /* grbase=y */, - { 9, 5760, 7659, 13, 2, UNI_NV__16 } /* numericvalue=16 */, - { 2, 8424, 8296, 6, 7, UNI_INTAIVIET } /* block=taiviet */, - { 0, 5604, 0, 13, 0, UNI_LOWSURROGATES } /* lowsurrogates */, - { 1, 6918, 7138, 10, 10, UNI_LB__WJ } /* linebreak=wordjoiner */, - { 8, 2148, 7941, 3, 7, UNI_SPECIALS } /* inspecials */, - { 1, 6828, 18, 10, 1, UNI_BC__R } /* bidiclass=r */, - { 1, 3671, 6159, 17, 12, UNI_GONM } /* scriptextensions=masaramgondi */, - { 1, 9365, 8310, 4, 7, UNI_TIRH } /* scx=tirhuta */, - { 0, 9923, 8305, 4, 5, UNI_INTIBETAN } /* intibetan */, - { 9, 1362, 8455, 25, 5, UNI_CCC__122 } /* canonicalcombiningclass=ccc122 */, - { 0, 9909, 8220, 3, 5, UNI_PATSYN } /* ispatsyn */, - { 8, 8886, 8894, 3, 4, UNI_SC__LIMB } /* sc=limb */, - { 0, 8556, 0, 6, 0, UNI_lower_values_index } /* lower= */, - { 3, 6949, 533, 4, 2, UNI_CANS } /* iscans */, - { 0, 3671, 1482, 18, 3, UNI_SIND } /* scriptextensions=sind */, - { 0, 5760, 9590, 13, 3, UNI_NV__9_SLASH_2 } /* numericvalue=9/2 */, - { 0, 5227, 0, 16, 0, UNI_DT__CAN } /* nfdquickcheck=no */, - { 1, 8886, 9421, 3, 4, UNI_SC__TGLG } /* sc=tglg */, - { 0, 9093, 2085, 4, 11, UNI_CYRILLICSUP } /* blk=cyrillicsup */, - { 2, 9365, 8121, 4, 7, UNI_LINA } /* scx=lineara */, - { 0, 9097, 1, 4, 1, UNI_BPT__N } /* bpt=n */, - { 0, 1911, 3484, 22, 17, UNI_INSC__CONSONANTPREFIXED } /* indicsyllabiccategory=consonantprefixed */, - { 0, 6051, 0, 12, 0, UNI_MAHJONG } /* mahjongtiles */, - { 0, 9093, 8275, 4, 7, UNI_SUPPUAB } /* blk=suppuab */, - { 1, 1497, 0, 10, 0, UNI_S } /* category=s */, - { 3, 6885, 9190, 3, 3, UNI_HMNP } /* ishmnp */, - { 0, 8233, 3620, 7, 10, UNI_SC__MANI } /* script=manichaean */, - { 0, 5760, 8394, 13, 2, UNI_NV__80 } /* numericvalue=80 */, - { 6, 8268, 0, 7, 0, UNI_SUPPUAA } /* suppuaa */, - { 2, 8886, 6602, 3, 11, UNI_SC__NAND } /* sc=nandinagari */, - { 0, 9093, 3773, 5, 10, UNI_BOPOMOFOEXT } /* blk=bopomofoext */, - { 2, 8886, 3620, 3, 4, UNI_SC__MANI } /* sc=mani */, - { 1, 8332, 9046, 3, 3, UNI_ADLM } /* isadlm */, - { 9, 21, 4975, 2, 7, UNI_KANASUP } /* inkanasup */, - { 0, 8886, 8919, 3, 5, UNI_OGAM } /* sc=ogham */, - { 0, 1158, 8228, 3, 3, UNI_TAGS } /* intags */, - { 0, 9953, 9454, 3, 3, UNI_VAI } /* isvaii */, - { 0, 6005, 4379, 9, 8, UNI_CONTROLPICTURES } /* incontrolpictures */, - { 4, 4204, 0, 16, 0, UNI_SYRIACSUP } /* syriacsupplement */, - { 0, 7108, 8864, 10, 5, -UNI_XPOSIXUPPER } /* uppercase=false */, - { 9, 8556, 36, 6, 1, UNI_XPOSIXLOWER } /* lower=t */, - { 1, 184, 4402, 2, 15, UNI_PD } /* isdashpunctuation */, - { 1, 9113, 8212, 4, 7, UNI_CCC__1 } /* ccc=overlay */, - { 0, 1362, 8443, 25, 5, UNI_CCC__107 } /* canonicalcombiningclass=ccc107 */, - { 0, 2127, 0, 14, 0, UNI_ROHG } /* hanifirohingya */, - { 7, 6005, 3536, 3, 16, UNI_CYRILLICEXTC } /* incyrillicextendedc */, - { 4, 5760, 8388, 13, 6, UNI_NV__700000 } /* numericvalue=700000 */, - { 1, 9629, 1767, 3, 2, UNI_LB__NL } /* lb=nl */, - { 0, 21, 2514, 3, 18, UNI_ANCIENTGREEKNUMBERS } /* inancientgreeknumbers */, - { 4, 9113, 8760, 5, 4, UNI_CCC__23 } /* ccc=ccc23 */, - { 1, 9731, 8156, 3, 7, UNI_WB__NL } /* wb=newline */, - { 2, 3671, 8255, 18, 3, UNI_SIDD } /* scriptextensions=sidd */, - { 0, 5339, 4140, 14, 5, UNI_SB__XX } /* sentencebreak=other */, - { 0, 5760, 7159, 13, 1, UNI_NV__5 } /* numericvalue=5 */, - { 0, 184, 3038, 2, 8, UNI_ETHI } /* isethiopic */, - { 2, 8338, 3, 7, 1, -UNI_XPOSIXSPACE } /* wspace=f */, - { 1, 1362, 2379, 24, 5, UNI_CCC__R } /* canonicalcombiningclass=right */, - { 0, 7266, 0, 9, 0, UNI_LATINEXTC } /* latinextc */, - { 2, 9153, 70, 4, 2, UNI_GCB__PP } /* gcb=pp */, - { 0, 9629, 125, 3, 2, UNI_LB__CR } /* lb=cr */, - { 0, 9365, 8135, 4, 7, UNI_MAND } /* scx=mandaic */, - { 0, 9647, 7540, 3, 3, UNI_NV__200 } /* nv=200 */, - { 8, 3688, 3, 17, 1, -UNI_STERM } /* sentenceterminal=f */, - { 7, 184, 2836, 2, 19, UNI_SUNDANESESUP } /* issundanesesupplement */, - { 0, 9725, 3373, 3, 7, UNI_VO__R } /* vo=rotated */, - { 8, 8233, 6978, 7, 10, UNI_XPEO } /* script=oldpersian */, - { 1, 6888, 1, 10, 1, -UNI_DIA } /* diacritic=n */, - { 0, 3398, 9433, 18, 4, UNI_VS } /* variationselector=true */, - { 1, 6828, 2373, 10, 11, UNI_BC__L } /* bidiclass=lefttoright */, - { 10, 7018, 9445, 10, 4, UNI_IN__12 } /* presentin=v120 */, - { 0, 5565, 6327, 13, 11, UNI_JG__AFRICANNOON } /* joininggroup=africannoon */, - { 0, 2148, 1265, 3, 24, UNI_SUPERANDSUB } /* insuperscriptsandsubscripts */, - { 9, 3671, 4297, 17, 4, UNI_BRAI } /* scriptextensions=brai */, - { 5, 3868, 1472, 16, 9, UNI__PERL_SURROGATE } /* generalcategory=surrogate */, - { 4, 8684, 26, 5, 1, UNI_POSIXXDIGIT } /* ahex=y */, - { 0, 8233, 2212, 8, 6, UNI_SC__SINH } /* script=sinhala */, - { 1, 8338, 9433, 7, 4, UNI_XPOSIXSPACE } /* wspace=true */, - { 0, 184, 2836, 2, 12, UNI_SUNDANESESUP } /* issundanesesup */, - { 18, 9593, 5823, 3, 12, UNI_BC__AN } /* bc=arabicnumber */, - { 0, 9093, 9285, 4, 3, UNI_INNKO } /* blk=nko */, - { 1, 9093, 949, 4, 27, UNI_ALPHABETICPF } /* blk=alphabeticpresentationforms */, - { 1, 9647, 9010, 3, 3, UNI_NV__3_SLASH_2 } /* nv=3/2 */, - { 1, 3836, 0, 16, 0, UNI_CYPRIOTSYLLABARY } /* cypriotsyllabary */, - { 0, 8233, 9109, 7, 4, UNI_CANS } /* script=cans */, - { 6, 3671, 8562, 17, 6, UNI_LYCI } /* scriptextensions=lycian */, - { 8, 9113, 8443, 5, 5, UNI_CCC__107 } /* ccc=ccc107 */, - { 3, 8886, 7341, 3, 4, UNI_SC__PERM } /* sc=perm */, - { 6, 8879, 3344, 5, 10, UNI_INPC__TOPANDLEFT } /* inpc=topandleft */, - { 0, 8886, 8894, 3, 5, UNI_SC__LIMB } /* sc=limbu */, - { 2, 1497, 44, 10, 1, UNI_SK } /* category=sk */, - { 1, 9049, 9437, 4, 4, UNI_AGE__10 } /* age=v100 */, - { 3, 8886, 4297, 3, 7, UNI_BRAI } /* sc=braille */, - { 3, 5565, 6063, 13, 12, UNI_JG__MALAYALAMBHA } /* joininggroup=malayalambha */, - { 0, 9365, 8939, 4, 5, UNI_TALE } /* scx=taile */, - { 1, 3110, 0, 11, 0, UNI_GEORGIANSUP } /* georgiansup */, - { 0, 184, 5031, 2, 14, UNI_LATINEXTD } /* islatinextendedd */, - { 1, 1264, 0, 25, 0, UNI_SUPERANDSUB } /* superscriptsandsubscripts */, - { 2, 3671, 8072, 17, 7, UNI_ELYM } /* scriptextensions=elymaic */, - { 5, 9623, 9596, 3, 3, UNI_JG__BEH } /* jg=beh */, - { 2, 7088, 0, 10, 0, UNI_SUPARROWSC } /* suparrowsc */, - { 8, 7025, 7487, 3, 1, UNI_IN__6 } /* in=6 */, - { 9, 6918, 18, 10, 2, UNI_RI } /* linebreak=ri */, - { 2, 7025, 9441, 3, 4, UNI_IN__11 } /* in=v110 */, - { 1, 184, 8121, 2, 7, UNI_LINA } /* islineara */, - { 2, 9647, 8394, 3, 4, UNI_NV__8000 } /* nv=8000 */, - { 3, 8424, 6602, 6, 11, UNI_INNANDINAGARI } /* block=nandinagari */, - { 5, 6005, 570, 3, 29, UNI_CJKEXTC } /* incjkunifiedideographsextensionc */, - { 3, 5565, 9061, 13, 4, UNI_JG__ALEF } /* joininggroup=alef */, - { 3, 6816, 1189, 3, 4, UNI_INBATAK } /* inbatak */, - { 0, 5565, 4522, 13, 15, UNI_JG__MANICHAEANALEPH } /* joininggroup=manichaeanaleph */, - { 0, 9129, 1, 4, 1, -UNI_CWU } /* cwu=n */, - { 4, 9365, 9453, 4, 3, UNI_VAI } /* scx=vai */, - { 0, 3868, 878, 16, 10, UNI_CO } /* generalcategory=privateuse */, - { 2, 184, 6591, 2, 11, UNI_MYANMAREXTB } /* ismyanmarextb */, - { 2, 184, 5353, 2, 14, UNI_ZS } /* isspaceseparator */, - { 13, 8424, 2741, 6, 19, UNI_MERO } /* block=meroitichieroglyphs */, - { 0, 2006, 0, 15, 0, UNI_MODIFIERLETTERS } /* modifierletters */, - { 0, 1362, 8782, 24, 2, UNI_CCC__27 } /* canonicalcombiningclass=27 */, - { 1, 9117, 0, 4, 0, UNI_CPRT } /* cprt */, - { 2, 184, 6712, 2, 11, UNI_SUPERANDSUB } /* issuperandsub */, - { 1, 8219, 995, 7, 2, -UNI_PATSYN } /* patsyn=no */, - { 11, 184, 3722, 2, 17, UNI_SUTTONSIGNWRITING } /* issuttonsignwriting */, - { 5, 9193, 36, 4, 1, UNI_GCB__T } /* hst=t */, - { 0, 21, 9217, 2, 3, UNI_INLAO } /* inlao */, - { 10, 9647, 7159, 3, 1, UNI_NV__5 } /* nv=5 */, - { 2, 9093, 3038, 4, 11, UNI_ETHIOPICSUP } /* blk=ethiopicsup */, - { 0, 9593, 4156, 3, 16, UNI_BC__S } /* bc=segmentseparator */, - { 1, 7025, 9680, 3, 3, UNI_IN__3 } /* in=v30 */, - { 1, 3671, 9221, 17, 4, UNI_LATN } /* scriptextensions=latn */, - { 0, 6315, 0, 4, 0, UNI_XIDC } /* xidc */, - { 0, 6005, 2931, 3, 7, UNI_INCHEROKEE } /* incherokee */, - { 1, 6918, 414, 10, 11, UNI_LB__ID } /* linebreak=ideographic */, - { 8, 8871, 495, 3, 7, UNI_SB__NU } /* sb=numeric */, - { 1, 9647, 8722, 3, 2, UNI_NV__15 } /* nv=15 */, - { 2, 4220, 0, 16, 0, UNI_TANGUTCOMPONENTS } /* tangutcomponents */, - { 8, 8418, 9734, 6, 3, UNI_BIDIM } /* bidim=yes */, - { 3, 5760, 8973, 13, 4, UNI_NV__1_SLASH_10 } /* numericvalue=1/10 */, - { 3, 5979, 1, 12, 1, -UNI_IDEO } /* ideographic=n */, - { 16, 8424, 1846, 7, 21, UNI_INDICNUMBERFORMS } /* block=commonindicnumberforms */, - { 0, 9365, 9321, 4, 4, UNI_PHNX } /* scx=phnx */, - { 0, 8869, 995, 5, 2, -UNI_IDSB } /* idsb=no */, - { 3, 21, 3996, 2, 16, UNI_LINEARBSYLLABARY } /* inlinearbsyllabary */, - { 8, 9093, 2836, 4, 19, UNI_SUNDANESESUP } /* blk=sundanesesupplement */, - { 0, 6918, 8100, 10, 2, UNI_LB__HY } /* linebreak=hy */, - { 0, 8510, 1, 4, 1, -UNI_EXT } /* ext=n */, - { 1, 8685, 9433, 4, 4, UNI_XPOSIXXDIGIT } /* hex=true */, - { 1, 9365, 7332, 4, 4, UNI_ITAL } /* scx=ital */, - { 0, 184, 2741, 2, 19, UNI_MERO } /* ismeroitichieroglyphs */, - { 5, 9647, 7159, 3, 8, UNI_NV__1_SLASH_2 } /* nv=5.00e-01 */, - { 1, 3951, 6, 3, 2, UNI_IDC } /* isidc */, - { 0, 5760, 8358, 13, 2, UNI_NV__30 } /* numericvalue=30 */, - { 0, 184, 4297, 2, 15, UNI_BRAI } /* isbraillepatterns */, - { 8, 9093, 6712, 4, 11, UNI_SUPERANDSUB } /* blk=superandsub */, - { 3, 9593, 23, 3, 2, UNI_BC__AL } /* bc=al */, - { 6, 7128, 7825, 10, 3, UNI_WB__EB } /* wordbreak=gaz */, - { 1, 9623, 5643, 3, 13, UNI_JG__MANICHAEANMEM } /* jg=manichaeanmem */, - { 0, 1911, 7972, 22, 8, UNI_INSC__TONEMARK } /* indicsyllabiccategory=tonemark */, - { 0, 3671, 9105, 17, 4, UNI_CAKM } /* scriptextensions=cakm */, - { 0, 9728, 36, 3, 1, UNI_VS } /* vs=t */, - { 1, 3671, 9417, 17, 4, UNI_TFNG } /* scriptextensions=tfng */, - { 3, 6928, 0, 10, 0, UNI_lower_values_index } /* lowercase= */, - { 18, 9623, 5695, 3, 13, UNI_JG__MANICHAEANTEN } /* jg=manichaeanten */, - { 2, 6005, 8485, 3, 5, UNI_INCHAKMA } /* inchakma */, - { 0, 4705, 4718, 3, 14, UNI_TAMILSUP } /* istamilsupplement */, - { 1, 5760, 8722, 13, 2, UNI_NV__15 } /* numericvalue=15 */, - { 0, 8954, 1, 5, 1, -UNI_XIDC } /* xidc=n */, - { 0, 6338, 8864, 11, 5, -UNI_XPOSIXALPHA } /* alphabetic=false */, - { 2, 9097, 7, 4, 1, UNI_BPT__C } /* bpt=c */, - { 3, 4361, 1578, 4, 13, UNI_GEOMETRICSHAPES } /* ingeometricshapes */, - { 0, 5760, 9013, 13, 4, UNI_NV__15_SLASH_2 } /* numericvalue=15/2 */, - { 3, 6885, 2128, 3, 13, UNI_ROHG } /* ishanifirohingya */, - { 0, 1497, 4829, 9, 5, UNI_XPOSIXDIGIT } /* category=digit */, - { 7, 1713, 9734, 22, 3, UNI_CWCF } /* changeswhencasefolded=yes */, - { 2, 9620, 1014, 3, 6, UNI_L } /* gc=letter */, - { 0, 4732, 0, 15, 0, UNI_TITLE } /* titlecaseletter */, - { 2, 3671, 9457, 17, 4, UNI_WCHO } /* scriptextensions=wcho */, - { 0, 9365, 7852, 4, 8, UNI_GURU } /* scx=gurmukhi */, - { 9, 4849, 26, 14, 1, UNI_CI } /* caseignorable=y */, - { 6, 9049, 9578, 4, 3, UNI_AGE__6_DOT_3 } /* age=6.3 */, - { 15, 9365, 6724, 5, 3, UNI_SYLO } /* scx=sylo */, - { 1, 9620, 878, 3, 10, UNI_CO } /* gc=privateuse */, - { 2, 9769, 0, 2, 0, UNI_CASEDLETTER } /* l_ */, - { 0, 2067, 0, 7, 0, UNI_RADICAL } /* radical */, - { 5, 1497, 48, 9, 1, UNI_P } /* category=p */, - { 0, 21, 5045, 2, 14, UNI_LATINEXTE } /* inlatinextendede */, - { 2, 2836, 0, 4, 0, UNI_SUND } /* sund */, - { 1, 8424, 878, 6, 14, UNI_PUA } /* block=privateusearea */, - { 0, 2106, 5952, 21, 3, UNI_LB__ZWJ } /* graphemeclusterbreak=zwj */, - { 4, 5085, 6173, 4, 10, UNI_MATHALPHANUM } /* inmathalphanum */, - { 64, 9093, 8919, 4, 5, UNI_INOGHAM } /* blk=ogham */, - { 2, 2148, 4205, 3, 8, UNI_SYRIACSUP } /* insyriacsup */, - { 0, 9620, 133, 3, 4, UNI_M } /* gc=mark */, - { 4, 9953, 3248, 6, 5, UNI_VERTSPACE } /* isvertspace */, - { 1, 9647, 8358, 3, 4, UNI_NV__3000 } /* nv=3000 */, - { 2, 8520, 26, 6, 1, UNI_JOINC } /* joinc=y */, - { 1, 9093, 6767, 4, 11, UNI_YISYLLABLES } /* blk=yisyllables */, - { 0, 9093, 921, 4, 28, UNI_VSSUP } /* blk=variationselectorssupplement */, - { 3, 9093, 599, 4, 30, UNI_CJKEXTD } /* blk=cjkunifiedideographsextensiond */, - { 2, 9365, 8859, 4, 4, UNI_DOGR } /* scx=dogr */, - { 0, 6918, 7212, 10, 9, UNI_LB__B2 } /* linebreak=breakboth */, - { 6, 9093, 5799, 4, 12, UNI_ALPHABETICPF } /* blk=alphabeticpf */, - { 0, 893, 0, 28, 0, UNI_SUPPUAB } /* supplementaryprivateuseareab */, - { 20, 3671, 7892, 17, 8, UNI_JAVA } /* scriptextensions=javanese */, - { 1, 117, 4493, 3, 14, UNI_INIMPERIALARAMAIC } /* inimperialaramaic */, - { 8, 9605, 2709, 3, 3, UNI_DT__NAR } /* dt=nar */, - { 14, 9093, 8622, 4, 6, UNI_INTELUGU } /* blk=telugu */, - { 0, 9093, 2608, 4, 19, UNI_INEGYPTIANHIEROGLYPHS } /* blk=egyptianhieroglyphs */, - { 0, 9049, 9695, 4, 3, UNI_AGE__5 } /* age=v50 */, - { 19, 1911, 4236, 22, 5, UNI_INSC__VOWEL } /* indicsyllabiccategory=vowel */, - { 0, 9365, 8255, 5, 6, UNI_SIDD } /* scx=siddham */, - { 3, 9093, 78, 4, 6, UNI_INARABIC } /* blk=arabic */, - { 0, 3671, 7788, 17, 4, UNI_BALI } /* scriptextensions=bali */, - { 2, 5269, 0, 13, 0, UNI_PATSYN } /* patternsyntax */, - { 4, 9113, 8765, 5, 4, UNI_CCC__24 } /* ccc=ccc24 */, - { 1, 8886, 3038, 3, 4, UNI_ETHI } /* sc=ethi */, - { 4, 3671, 4267, 17, 4, UNI_BAMU } /* scriptextensions=bamu */, - { 0, 8886, 8310, 3, 4, UNI_SC__TIRH } /* sc=tirh */, - { 1, 1362, 8445, 24, 3, UNI_CCC__107 } /* canonicalcombiningclass=107 */, - { 2, 6679, 9734, 11, 3, UNI_SD } /* softdotted=yes */, - { 4, 9093, 8240, 4, 7, UNI_INSHARADA } /* blk=sharada */, - { 0, 2204, 6636, 3, 10, UNI_SO } /* isothersymbol */, - { 1, 1691, 722, 23, 4, UNI_BPT__C } /* bidipairedbrackettype=close */, - { 2, 8233, 9465, 7, 4, UNI_XPEO } /* script=xpeo */, - { 3, 1362, 9542, 24, 3, UNI_CCC__DA } /* canonicalcombiningclass=234 */, - { 3, 1410, 0, 13, 0, UNI_M } /* combiningmark */, - { 4, 7025, 7159, 3, 1, UNI_IN__5 } /* in=5 */, - { 12, 9093, 7964, 4, 8, UNI_INTIFINAGH } /* blk=tifinagh */, - { 6, 9647, 8464, 3, 2, UNI_NV__29 } /* nv=29 */, - { 5, 9647, 8376, 3, 5, UNI_NV__50000 } /* nv=50000 */, - { 15, 9365, 3020, 4, 4, UNI_DEVA } /* scx=deva */, - { 2, 1057, 1, 27, 1, -UNI_PCM } /* prependedconcatenationmark=n */, - { 0, 7420, 9433, 8, 4, UNI_IDS } /* idstart=true */, - { 0, 8332, 80, 4, 33, UNI_ARABICMATH } /* isarabicmathematicalalphabeticsymbols */, - { 7, 9909, 3248, 7, 5, UNI_POSIXSPACE } /* isposixspace */, - { 10, 9137, 36, 4, 1, UNI_DEP } /* dep=t */, - { 1, 1933, 36, 22, 1, UNI_LOE } /* logicalorderexception=t */, - { 1, 5565, 2147, 13, 3, UNI_JG__AIN } /* joininggroup=ain */, - { 0, 5760, 8358, 13, 5, UNI_NV__30000 } /* numericvalue=30000 */, - { 0, 8233, 8628, 7, 6, UNI_SC__THAA } /* script=thaana */, - { 1, 5760, 7516, 13, 8, UNI_NV__5_SLASH_2 } /* numericvalue=2.50e+00 */, - { 0, 8424, 8914, 6, 5, UNI_INNUSHU } /* block=nushu */, - { 1, 4580, 2761, 3, 18, UNI_MODIFIERTONELETTERS } /* inmodifiertoneletters */, - { 1, 3951, 447, 3, 17, UNI_IDEOGRAPHICSYMBOLS } /* isideographicsymbols */, - { 3, 9365, 8093, 4, 7, UNI_HANO } /* scx=hanunoo */, - { 3, 9365, 8914, 4, 5, UNI_NSHU } /* scx=nushu */, - { 1, 5835, 9433, 12, 4, UNI_BIDIC } /* bidicontrol=true */, - { 1, 9647, 7659, 3, 2, UNI_NV__16 } /* nv=16 */, - { 20, 3236, 1, 18, 1, -UNI__PERL_PATWS } /* patternwhitespace=n */, - { 0, 9731, 0, 3, 0, UNI_wb_values_index } /* wb= */, - { 1, 8424, 2333, 6, 20, UNI_GLAGOLITICSUP } /* block=glagoliticsupplement */, - { 1, 5565, 6075, 13, 12, UNI_JG__MALAYALAMLLA } /* joininggroup=malayalamlla */, - { 1, 9049, 7612, 4, 3, UNI_AGE__4_DOT_1 } /* age=4.1 */, - { 8, 8879, 838, 3, 27, UNI_PHONETICEXTSUP } /* inphoneticextensionssupplement */, - { 1, 8160, 721, 4, 14, UNI_ENCLOSEDALPHANUM } /* inenclosedalphanum */, - { 1, 9093, 5883, 4, 12, UNI_CYRILLICEXTB } /* blk=cyrillicextb */, - { 0, 1362, 8785, 25, 4, UNI_CCC__28 } /* canonicalcombiningclass=ccc28 */, - { 0, 1536, 3553, 3, 16, UNI_ETHIOPICEXTA } /* inethiopicextendeda */, - { 0, 3248, 9734, 6, 3, UNI_XPOSIXSPACE } /* space=yes */, - { 6, 5760, 8364, 13, 5, UNI_NV__40000 } /* numericvalue=40000 */, - { 5, 3868, 9108, 16, 2, UNI_MC } /* generalcategory=mc */, - { 0, 184, 4267, 2, 4, UNI_BAMU } /* isbamu */, - { 4, 3002, 8184, 18, 7, UNI_DT__NB } /* decompositiontype=nobreak */, - { 0, 21, 8680, 3, 4, UNI_INADLAM } /* inadlam */, - { 4, 9365, 983, 4, 5, UNI_GREK } /* scx=greek */, - { 0, 3586, 0, 17, 0, UNI_INDICSIYAQNUMBERS } /* indicsiyaqnumbers */, - { 0, 1911, 8646, 22, 6, UNI_INSC__VIRAMA } /* indicsyllabiccategory=virama */, - { 0, 5565, 3654, 13, 17, UNI_JG__MANICHAEANTHAMEDH } /* joininggroup=manichaeanthamedh */, - { 1, 9093, 113, 4, 35, UNI_DIACRITICALSFORSYMBOLS } /* blk=combiningdiacriticalmarksforsymbols */, - { 4, 9049, 9716, 4, 3, UNI_AGE__7 } /* age=v70 */, - { 9, 8886, 7892, 3, 8, UNI_SC__JAVA } /* sc=javanese */, - { 4, 5565, 5073, 13, 14, UNI_JG__MANICHAEANAYIN } /* joininggroup=manichaeanayin */, - { 0, 8424, 6939, 6, 2, UNI_INVS } /* block=vs */, - { 3, 3868, 5255, 16, 14, UNI_MN } /* generalcategory=nonspacingmark */, - { 1, 184, 3980, 2, 7, UNI_LINB } /* islinearb */, - { 3, 8424, 3772, 6, 16, UNI_BOPOMOFOEXT } /* block=bopomofoextended */, - { 0, 184, 6580, 2, 11, UNI_MYANMAREXTA } /* ismyanmarexta */, - { 4, 9605, 8184, 3, 7, UNI_DT__NB } /* dt=nobreak */, - { 0, 8886, 9345, 3, 4, UNI_RJNG } /* sc=rjng */, - { 9, 8871, 9773, 3, 2, UNI_SB__XX } /* sb=xx */, - { 0, 9623, 3916, 3, 16, UNI_JG__HANIFIROHINGYAPA } /* jg=hanifirohingyapa */, - { 0, 21, 7892, 2, 8, UNI_INJAVANESE } /* injavanese */, - { 9, 8886, 2393, 3, 20, UNI_HMNP } /* sc=nyiakengpuachuehmong */, - { 2, 1362, 7603, 24, 2, UNI_CCC__24 } /* canonicalcombiningclass=24 */, - { 1, 4849, 8864, 14, 5, -UNI_CI } /* caseignorable=false */, - { 0, 9129, 9734, 4, 3, UNI_CWU } /* cwu=yes */, - { 8, 7956, 0, 4, 0, UNI_TAGB } /* tagb */, - { 1, 1239, 36, 25, 1, UNI_COMPEX } /* fullcompositionexclusion=t */, - { 4, 8233, 9425, 7, 4, UNI_THAI } /* script=thai */, - { 6, 9365, 9281, 4, 4, UNI_NEWA } /* scx=newa */, - { 3, 2212, 1165, 5, 23, UNI_HALFANDFULLFORMS } /* inhalfwidthandfullwidthforms */, - { 0, 9647, 7446, 3, 1, UNI_NV__2 } /* nv=2 */, - { 1, 9053, 0, 4, 0, UNI_AGHB } /* aghb */, - { 6, 9093, 1003, 4, 27, UNI_ENCLOSEDCJK } /* blk=enclosedcjklettersandmonths */, - { 1, 1243, 36, 21, 1, UNI_CE } /* compositionexclusion=t */, - { 1, 9629, 1110, 3, 26, UNI_LB__CJ } /* lb=conditionaljapanesestarter */, - { 0, 1924, 47, 10, 1, UNI_LM } /* category=lm */, - { 2, 8616, 0, 6, 0, UNI_sterm_values_index } /* sterm= */, - { 1, 7860, 0, 4, 0, UNI_HIRA } /* hira */, - { 28, 9647, 7668, 3, 8, UNI_NV__5_SLASH_8 } /* nv=6.25e-01 */, - { 1, 8929, 0, 5, 0, UNI_OSGE } /* osage */, - { 3, 8412, 1, 6, 1, -UNI_BIDIC } /* bidic=n */, - { 1, 9093, 1539, 4, 14, UNI_MUSIC } /* blk=musicalsymbols */, - { 2, 9413, 0, 4, 0, UNI_TAVT } /* tavt */, - { 0, 1362, 8730, 25, 4, UNI_CCC__17 } /* canonicalcombiningclass=ccc17 */, - { 3, 9647, 7723, 3, 2, UNI_NV__18 } /* nv=18 */, - { 1, 8233, 8058, 7, 7, UNI_DSRT } /* script=deseret */, - { 0, 9365, 9081, 4, 4, UNI_AVST } /* scx=avst */, - { 3, 8580, 26, 6, 1, UNI__PERL_NCHAR } /* nchar=y */, - { 0, 1482, 2479, 24, 6, UNI_INPC__BOTTOM } /* indicpositionalcategory=bottom */, - { 0, 1450, 986, 5, 2, UNI_INGREEK } /* ingreek */, - { 1, 4705, 8940, 3, 4, UNI_TALE } /* istaile */, - { 3, 184, 2393, 2, 20, UNI_HMNP } /* isnyiakengpuachuehmong */, - { 9, 1497, 6360, 9, 11, UNI_CASEDLETTER } /* category=casedletter */, - { 0, 9121, 36, 4, 1, UNI_CWL } /* cwl=t */, - { 5, 9093, 3110, 4, 8, UNI_INGEORGIAN } /* blk=georgian */, - { 9, 1482, 5461, 24, 13, UNI_INPC__BOTTOMANDLEFT } /* indicpositionalcategory=bottomandleft */, - { 1, 4447, 1162, 15, 9, UNI_EA__H } /* eastasianwidth=halfwidth */, - { 0, 3671, 7860, 17, 8, UNI_HIRA } /* scriptextensions=hiragana */, - { 5, 3671, 7008, 17, 10, UNI_PHNX } /* scriptextensions=phoenician */, - { 0, 9620, 9769, 3, 2, UNI_CASEDLETTER } /* gc=l_ */, - { 5, 9153, 5952, 4, 3, UNI_LB__ZWJ } /* gcb=zwj */, - { 0, 8233, 8142, 7, 7, UNI_MARC } /* script=marchen */, - { 4, 9365, 7, 4, 18, UNI_CANS } /* scx=canadianaboriginal */, - { 7, 3671, 2006, 17, 4, UNI_MODI } /* scriptextensions=modi */, - { 0, 3932, 0, 16, 0, UNI_HIGHPUSURROGATES } /* highpusurrogates */, - { 0, 8233, 9181, 7, 4, UNI_HLUW } /* script=hluw */, - { 25, 9093, 6569, 4, 11, UNI_MISCSYMBOLS } /* blk=miscsymbols */, - { 8, 5760, 7540, 13, 2, UNI_NV__20 } /* numericvalue=20 */, - { 2, 9093, 8502, 4, 6, UNI_INGOTHIC } /* blk=gothic */, - { 0, 184, 8859, 2, 5, UNI_DOGR } /* isdogra */, - { 0, 8233, 2608, 7, 19, UNI_EGYP } /* script=egyptianhieroglyphs */, - { 1, 6918, 8345, 10, 7, UNI_LB__ZW } /* linebreak=zwspace */, - { 0, 6279, 0, 12, 0, UNI_PLAYINGCARDS } /* playingcards */, - { 2, 5760, 5409, 13, 2, UNI_NV__10 } /* numericvalue=10 */, - { 0, 9113, 9077, 4, 3, UNI_CCC__202 } /* ccc=atb */, - { 0, 21, 4989, 2, 6, UNI_KANGXI } /* inkangxi */, - { 8, 9113, 3441, 4, 9, UNI_CCC__BL } /* ccc=belowleft */, - { 3, 6816, 2533, 3, 5, UNI_INBRAHMI } /* inbrahmi */, - { 0, 3671, 7118, 17, 4, UNI_WARA } /* scriptextensions=wara */, - { 8, 9629, 18, 3, 2, UNI_RI } /* lb=ri */, - { 16, 8233, 9485, 7, 4, UNI_SC__QAAI } /* script=zinh */, - { 9, 1773, 9734, 6, 3, UNI_CASED } /* cased=yes */, - { 2, 9093, 8247, 4, 7, UNI_SHAW } /* blk=shavian */, - { 2, 6679, 0, 11, 0, UNI_sd_values_index } /* softdotted= */, - { 22, 184, 8338, 2, 6, UNI_XPOSIXSPACE } /* iswspace */, - { 4, 8604, 995, 6, 2, -UNI_QMARK } /* qmark=no */, - { 9, 4705, 8283, 3, 6, UNI_TGLG } /* istagalog */, - { 0, 4580, 2262, 10, 11, UNI_MERO } /* inmeroitichieroglyphs */, - { 0, 9365, 3772, 4, 8, UNI_BOPO } /* scx=bopomofo */, - { 5, 9620, 1410, 3, 13, UNI_M } /* gc=combiningmark */, - { 0, 184, 6051, 2, 7, UNI_MAHJONG } /* ismahjong */, - { 0, 5760, 5409, 13, 13, UNI_NV__1000000000000 } /* numericvalue=1000000000000 */, - { 0, 9365, 9453, 4, 4, UNI_VAI } /* scx=vaii */, - { 1, 9365, 2930, 4, 4, UNI_CHER } /* scx=cher */, - { 4, 1482, 3344, 24, 10, UNI_INPC__TOPANDLEFT } /* indicpositionalcategory=topandleft */, - { 0, 42, 0, 26, 0, UNI_CJKCOMPATIDEOGRAPHS } /* cjkcompatibilityideographs */, - { 4, 184, 1768, 2, 5, UNI_XPOSIXLOWER } /* islower */, - { 8, 9731, 3254, 3, 17, UNI_RI } /* wb=regionalindicator */, - { 18, 184, 6558, 2, 11, UNI_MEDF } /* ismedefaidrin */, - { 0, 1823, 0, 19, 0, UNI_CJKCOMPATIDEOGRAPHS } /* cjkcompatideographs */, - { 0, 3671, 7332, 17, 4, UNI_ITAL } /* scriptextensions=ital */, - { 6, 24, 0, 1, 0, UNI_L } /* l */, - { 0, 9365, 2532, 4, 6, UNI_BRAH } /* scx=brahmi */, - { 0, 6816, 4298, 3, 14, UNI_BRAI } /* inbraillepatterns */, - { 0, 3671, 57, 17, 2, UNI_YI } /* scriptextensions=yi */, - { 0, 7128, 4140, 10, 5, UNI_WB__XX } /* wordbreak=other */, - { 1, 9093, 509, 4, 30, UNI_CJKEXTA } /* blk=cjkunifiedideographsextensiona */, - { 0, 184, 9345, 2, 4, UNI_RJNG } /* isrjng */, - { 4, 184, 2169, 2, 14, UNI_MEETEIMAYEKEXT } /* ismeeteimayekext */, - { 0, 6567, 4096, 6, 12, UNI_MISCMATHSYMBOLSB } /* inmiscmathsymbolsb */, - { 4, 5565, 341, 13, 2, UNI_JG__PE } /* joininggroup=pe */, - { 0, 1691, 0, 23, 0, UNI_BPT__C } /* bidipairedbrackettype=c */, - { 0, 2855, 0, 19, 0, UNI_SUPARROWSA } /* supplementalarrowsa */, - { 1, 21, 6027, 2, 12, UNI_KHMERSYMBOLS } /* inkhmersymbols */, - { 15, 5339, 721, 14, 5, UNI_SB__CL } /* sentencebreak=close */, - { 1, 8424, 4933, 6, 14, UNI_INGREEK } /* block=greekandcoptic */, - { 2, 8886, 9429, 3, 4, UNI_TIBT } /* sc=tibt */, - { 6, 9113, 8790, 5, 4, UNI_CCC__29 } /* ccc=ccc29 */, - { 0, 9647, 5409, 3, 6, UNI_NV__100000 } /* nv=100000 */, - { 8, 3671, 7964, 17, 8, UNI_TFNG } /* scriptextensions=tifinagh */, - { 3, 7025, 9548, 3, 3, UNI_IN__3 } /* in=3.0 */, - { 9, 8233, 7347, 7, 9, UNI_ORKH } /* script=oldturkic */, - { 2, 5760, 7740, 13, 8, UNI_NV__1_SLASH_12 } /* numericvalue=8.33e-02 */, - { 0, 3951, 447, 3, 31, UNI_IDEOGRAPHICSYMBOLS } /* isideographicsymbolsandpunctuation */, - { 3, 3671, 7049, 18, 9, UNI_SAUR } /* scriptextensions=saurashtra */, - { 0, 9093, 7185, 4, 9, UNI_ARABICPFA } /* blk=arabicpfa */, - { 1, 8424, 6492, 6, 11, UNI_KATAKANAEXT } /* block=katakanaext */, - { 0, 2148, 2837, 3, 8, UNI_INSUNDANESE } /* insundanese */, - { 0, 8424, 7796, 6, 8, UNI_INBASSAVAH } /* block=bassavah */, - { 0, 9620, 38, 3, 2, UNI_XPOSIXDIGIT } /* gc=nd */, - { 0, 21, 7257, 2, 9, UNI_LATINEXTB } /* inlatinextb */, - { 2, 9620, 8499, 3, 2, UNI_CF } /* gc=cf */, - { 1, 6679, 0, 10, 0, UNI_SD } /* softdotted */, - { 0, 8886, 9173, 3, 4, UNI_SC__GURU } /* sc=guru */, - { 2, 6005, 690, 3, 15, UNI_CUNEIFORMNUMBERS } /* incuneiformnumbers */, - { 0, 6918, 184, 10, 2, UNI_LB__IS } /* linebreak=is */, - { 2, 8424, 7940, 6, 8, UNI_SPECIALS } /* block=specials */, - { 0, 3688, 0, 17, 0, UNI_sterm_values_index } /* sentenceterminal= */, - { 8, 9647, 7683, 3, 2, UNI_NV__26 } /* nv=26 */, - { 0, 9647, 5409, 3, 3, UNI_NV__100 } /* nv=100 */, - { 3, 9620, 406, 3, 7, UNI_XPOSIXCNTRL } /* gc=control */, - { 1, 8093, 0, 7, 0, UNI_HANO } /* hanunoo */, - { 0, 184, 7796, 2, 4, UNI_BASS } /* isbass */, - { 2, 184, 1576, 2, 15, UNI_GEOMETRICSHAPES } /* isgeometricshapes */, - { 1, 9620, 7, 3, 1, UNI_C } /* gc=c */, - { 0, 8871, 400, 3, 6, UNI_SB__FO } /* sb=format */, - { 0, 8616, 1, 6, 1, -UNI_STERM } /* sterm=n */, - { 0, 9365, 8255, 5, 3, UNI_SIDD } /* scx=sidd */, - { 0, 9093, 8065, 4, 7, UNI_INELBASAN } /* blk=elbasan */, - { 0, 6816, 3773, 3, 15, UNI_BOPOMOFOEXT } /* inbopomofoextended */, - { 0, 3739, 3, 17, 1, -UNI_UIDEO } /* unifiedideograph=f */, - { 3, 7100, 0, 8, 0, UNI_ASSIGNED } /* assigned */, - { 9, 3671, 8430, 17, 6, UNI_CARI } /* scriptextensions=carian */, - { 7, 9093, 7772, 4, 8, UNI_INARMENIAN } /* blk=armenian */, - { 20, 9626, 6, 3, 1, UNI_JT__D } /* jt=d */, - { 1, 9623, 5125, 3, 4, UNI_JG__HETH } /* jg=heth */, - { 5, 1362, 8825, 25, 4, UNI_CCC__36 } /* canonicalcombiningclass=ccc36 */, - { 1, 8424, 3964, 6, 6, UNI_LATIN1 } /* block=latin1 */, - { 4, 7980, 0, 4, 0, UNI_UGAR } /* ugar */, - { 8, 5565, 5157, 13, 14, UNI_JG__MANICHAEANRESH } /* joininggroup=manichaeanresh */, - { 0, 1735, 0, 22, 0, UNI_cwcm_values_index } /* changeswhencasemapped= */, - { 4, 8233, 2779, 7, 9, UNI_SC__MONG } /* script=mongolian */, - { 1, 9093, 5871, 4, 12, UNI_CYRILLICEXTA } /* blk=cyrillicexta */, - { 0, 9593, 4905, 3, 14, UNI_BC__EN } /* bc=europeannumber */, - { 1, 8233, 7892, 7, 8, UNI_SC__JAVA } /* script=javanese */, - { 6, 184, 1768, 2, 9, UNI_XPOSIXLOWER } /* islowercase */, - { 6, 5760, 9737, 13, 2, UNI_NV__38 } /* numericvalue=38 */, - { 0, 9647, 8388, 3, 6, UNI_NV__700000 } /* nv=700000 */, - { 0, 9602, 36, 3, 1, UNI_DI } /* di=t */, - { 0, 9647, 7524, 3, 8, UNI_NV__1_SLASH_4 } /* nv=2.50e-01 */, - { 16, 9605, 68, 3, 3, UNI_DT__SUP } /* dt=sup */, - { 0, 8424, 2044, 7, 20, UNI_CJKCOMPATFORMS } /* block=cjkcompatibilityforms */, - { 0, 9647, 8388, 3, 5, UNI_NV__70000 } /* nv=70000 */, - { 13, 9593, 1, 4, 1, UNI_BC__BN } /* bc=bn */, - { 9, 9903, 9921, 6, 5, UNI_XPOSIXPRINT } /* xposixprint */, - { 5, 1362, 7495, 24, 1, UNI_CCC__7 } /* canonicalcombiningclass=7 */, - { 0, 8424, 2532, 6, 6, UNI_INBRAHMI } /* block=brahmi */, - { 9, 8886, 9085, 3, 4, UNI_BATK } /* sc=batk */, - { 0, 9620, 1029, 3, 2, UNI_SO } /* gc=so */, - { 0, 9093, 9397, 4, 4, UNI_TAGS } /* blk=tags */, - { 5, 9365, 3620, 4, 10, UNI_MANI } /* scx=manichaean */, - { 0, 1158, 8623, 3, 5, UNI_INTELUGU } /* intelugu */, - { 0, 9365, 8205, 4, 4, UNI_OSMA } /* scx=osma */, - { 2, 9365, 9133, 4, 4, UNI_CYRL } /* scx=cyrl */, - { 75, 9093, 6988, 4, 10, UNI_INOLDSOGDIAN } /* blk=oldsogdian */, - { 6, 9093, 8949, 4, 5, UNI_VSSUP } /* blk=vssup */, - { 0, 9093, 8610, 4, 6, UNI_INREJANG } /* blk=rejang */, - { 0, 9093, 4672, 4, 15, UNI_SARB } /* blk=oldsoutharabian */, - { 8, 8886, 8514, 3, 6, UNI_HATR } /* sc=hatran */, - { 1, 3671, 7844, 17, 8, UNI_GUJR } /* scriptextensions=gujarati */, - { 1, 184, 8610, 2, 6, UNI_RJNG } /* isrejang */, - { 0, 6885, 8094, 3, 6, UNI_HANO } /* ishanunoo */, - { 1, 9605, 3308, 3, 5, UNI_DT__SML } /* dt=small */, - { 3, 8886, 5955, 3, 12, UNI_SC__GONG } /* sc=gunjalagondi */, - { 6, 1508, 0, 2, 0, UNI_PS } /* ps */, - { 1, 9629, 3254, 3, 17, UNI_RI } /* lb=regionalindicator */, - { 0, 1362, 8464, 24, 2, UNI_CCC__29 } /* canonicalcombiningclass=29 */, - { 0, 7018, 9441, 10, 4, UNI_IN__11 } /* presentin=v110 */, - { 4, 1243, 26, 21, 1, UNI_CE } /* compositionexclusion=y */, - { 0, 9647, 5409, 3, 11, UNI_NV__10000000000 } /* nv=10000000000 */, - { 1, 3671, 8142, 17, 4, UNI_MARC } /* scriptextensions=marc */, - { 0, 7420, 995, 8, 2, -UNI_IDS } /* idstart=no */, - { 10, 9629, 73, 3, 2, UNI_LB__EM } /* lb=em */, - { 8, 3254, 36, 18, 1, UNI_RI } /* regionalindicator=t */, - { 1, 8424, 3756, 6, 9, UNI_ARABICSUP } /* block=arabicsup */, - { 21, 8058, 0, 7, 0, UNI_DSRT } /* deseret */, - { 2, 8592, 0, 6, 0, UNI_nfdqc_values_index } /* nfdqc= */, - { 0, 2703, 8864, 19, 5, -UNI_IDST } /* idstrinaryoperator=false */, - { 6, 11, 0, 2, 0, UNI_DI } /* di */, - { 13, 3772, 0, 4, 0, UNI_BOPO } /* bopo */, - { 8, 9647, 8388, 3, 2, UNI_NV__70 } /* nv=70 */, - { 3, 8849, 0, 4, 0, UNI_CWCM } /* cwcm */, - { 1, 5760, 5409, 13, 11, UNI_NV__10000000000 } /* numericvalue=10000000000 */, - { 1025, 6231, 5487, 12, 7, UNI_XPOSIXDIGIT } /* numerictype=decimal */, - { 3, 9093, 7884, 4, 8, UNI_JAMOEXTB } /* blk=jamoextb */, - { 5, 8424, 2401, 6, 3, UNI_PUA } /* block=pua */, - { 2, 4826, 3, 9, 1, -UNI_XPOSIXXDIGIT } /* hexdigit=f */, - { 0, 8886, 8254, 3, 4, UNI_SIDD } /* sc=sidd */, - { 0, 9093, 4492, 4, 15, UNI_INIMPERIALARAMAIC } /* blk=imperialaramaic */, - { 8, 9909, 9326, 3, 3, UNI_MIAO } /* isplrd */, - { 0, 9121, 26, 4, 1, UNI_CWL } /* cwl=y */, - { 1, 9093, 8289, 4, 7, UNI_INTAITHAM } /* blk=taitham */, - { 3, 8424, 3469, 6, 4, UNI_UCAS } /* block=ucas */, - { 0, 7018, 9707, 10, 3, UNI_IN__6_DOT_1 } /* presentin=v61 */, - { 2, 6888, 0, 10, 0, UNI_dia_values_index } /* diacritic= */, - { 1, 5565, 65, 15, 2, UNI_JG__KAPH } /* joininggroup=kaph */, - { 2, 3671, 8934, 17, 5, UNI_RUNR } /* scriptextensions=runic */, - { 5, 3868, 1855, 16, 2, UNI_CN } /* generalcategory=cn */, - { 0, 9093, 1645, 4, 23, UNI_SHORTHANDFORMATCONTROLS } /* blk=shorthandformatcontrols */, - { 1, 8233, 6724, 8, 10, UNI_SC__SYLO } /* script=sylotinagri */, - { 18, 184, 9225, 2, 4, UNI_LINA } /* islina */, - { 0, 4989, 0, 14, 0, UNI_KANGXI } /* kangxiradicals */, - { 4, 7128, 0, 4, 0, UNI_XPOSIXWORD } /* word */, - { 3, 9153, 0, 4, 0, UNI_gcb_values_index } /* gcb= */, - { 2, 9365, 5617, 4, 9, UNI_MLYM } /* scx=malayalam */, - { 2, 9647, 0, 3, 0, UNI_nv_values_index } /* nv= */, - { 3, 9623, 5185, 3, 14, UNI_JG__MANICHAEANYODH } /* jg=manichaeanyodh */, - { 1, 4821, 0, 14, 0, UNI_ahex_values_index } /* asciihexdigit= */, - { 2, 8233, 9185, 7, 4, UNI_HMNG } /* script=hmng */, - { 6, 1497, 698, 9, 6, UNI_N } /* category=number */, - { 0, 2212, 2960, 5, 6, UNI_HALFMARKS } /* inhalfmarks */, - { 1, 6918, 836, 10, 2, UNI_LB__SP } /* linebreak=sp */, - { 1, 6602, 0, 4, 0, UNI_NAND } /* nand */, - { 8, 1497, 467, 9, 11, UNI_P } /* category=punctuation */, - { 4, 6768, 2233, 3, 5, UNI_YIJING } /* isyijing */, - { 1, 9365, 1845, 4, 6, UNI_ZYYY } /* scx=common */, - { 0, 184, 6859, 3, 9, UNI_CJKSTROKES } /* iscjkstrokes */, - { 4, 1497, 1508, 9, 2, UNI_PS } /* category=ps */, - { 88, 9365, 2253, 4, 20, UNI_HLUW } /* scx=anatolianhieroglyphs */, - { 1, 8424, 349, 6, 33, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* block=supplementalsymbolsandpictographs */, - { 1, 21, 7876, 2, 8, UNI_JAMOEXTA } /* injamoexta */, - { 12, 8233, 2333, 7, 10, UNI_SC__GLAG } /* script=glagolitic */, - { 10, 988, 0, 5, 0, UNI_MUSIC } /* music */, - { 1, 8163, 47, 7, 1, UNI_NFCQC__M } /* nfkcqc=m */, - { 0, 4826, 9734, 9, 3, UNI_XPOSIXXDIGIT } /* hexdigit=yes */, - { 0, 184, 1539, 2, 14, UNI_MUSIC } /* ismusicalsymbols */, - { 5, 8886, 8562, 3, 4, UNI_LYCI } /* sc=lyci */, - { 8, 3671, 8484, 17, 6, UNI_CAKM } /* scriptextensions=chakma */, - { 1, 3002, 68, 18, 3, UNI_DT__SUP } /* decompositiontype=sup */, - { 2, 6885, 6095, 3, 3, UNI_HMNG } /* ishmng */, - { 3, 9193, 6303, 4, 12, UNI_GCB__T } /* hst=trailingjamo */, - { 1, 2148, 8262, 3, 6, UNI_INSOYOMBO } /* insoyombo */, - { 16, 5435, 9433, 13, 4, UNI_BIDIM } /* bidimirrored=true */, - { 0, 184, 7884, 2, 8, UNI_JAMOEXTB } /* isjamoextb */, - { 11, 6828, 9635, 10, 3, UNI_BC__LRI } /* bidiclass=lri */, - { 1, 4705, 3327, 3, 17, UNI_TAIXUANJING } /* istaixuanjingsymbols */, - { 8, 8424, 3020, 6, 18, UNI_DEVANAGARIEXT } /* block=devanagariextended */, - { 2, 3671, 8058, 17, 7, UNI_DSRT } /* scriptextensions=deseret */, - { 3, 8233, 3467, 7, 17, UNI_AGHB } /* script=caucasianalbanian */, - { 16, 4705, 5624, 3, 3, UNI_TAML } /* istaml */, - { 10, 9049, 7548, 4, 3, UNI_AGE__3_DOT_1 } /* age=3.1 */, - { 0, 8886, 9301, 3, 4, UNI_ORKH } /* sc=orkh */, - { 65, 6567, 4080, 6, 12, UNI_MISCMATHSYMBOLSA } /* inmiscmathsymbolsa */, - { 1, 3836, 0, 7, 0, UNI_CPRT } /* cypriot */, - { 0, 6828, 5823, 10, 12, UNI_BC__AN } /* bidiclass=arabicnumber */, - { 1, 8233, 1146, 8, 3, UNI_SORA } /* script=sora */, - { 3, 184, 3620, 2, 10, UNI_MANI } /* ismanichaean */, - { 0, 5760, 9033, 13, 4, UNI_NV__3_SLASH_80 } /* numericvalue=3/80 */, - { 0, 9045, 0, 4, 0, UNI_ADLM } /* adlm */, - { 0, 9904, 8839, 5, 5, UNI_POSIXCNTRL } /* posixcntrl */, - { 1, 1779, 8864, 22, 5, -UNI_CWT } /* changeswhentitlecased=false */, - { 0, 9365, 9053, 4, 4, UNI_AGHB } /* scx=aghb */, - { 1, 3671, 3038, 17, 4, UNI_ETHI } /* scriptextensions=ethi */, - { 9, 1239, 9433, 25, 4, UNI_COMPEX } /* fullcompositionexclusion=true */, - { 16, 3398, 0, 18, 0, UNI_vs_values_index } /* variationselector= */, - { 1, 184, 1846, 3, 5, UNI_ZYYY } /* iscommon */, - { 3, 8233, 8205, 7, 4, UNI_OSMA } /* script=osma */, - { 17, 9093, 6602, 4, 11, UNI_INNANDINAGARI } /* blk=nandinagari */, - { 0, 9781, 7420, 6, 7, UNI__PERL_IDSTART } /* _perl_idstart */, - { 21, 3671, 8205, 17, 7, UNI_OSMA } /* scriptextensions=osmanya */, - { 8, 8871, 1768, 3, 5, UNI_SB__LO } /* sb=lower */, - { 5, 2212, 8095, 4, 5, UNI_INHANUNOO } /* inhanunoo */, - { 0, 9193, 5747, 4, 13, UNI_HST__NA } /* hst=notapplicable */, - { 2, 184, 43, 3, 8, UNI_CJKCOMPAT } /* iscjkcompat */, - { 0, 9647, 7555, 3, 2, UNI_NV__23 } /* nv=23 */, - { 4, 9365, 2393, 4, 20, UNI_HMNP } /* scx=nyiakengpuachuehmong */, - { 18, 5760, 8400, 13, 4, UNI_NV__9000 } /* numericvalue=9000 */, - { 0, 9125, 995, 4, 2, -UNI_CWT } /* cwt=no */, - { 1, 21, 3164, 2, 9, UNI_LATINEXTA } /* inlatinexta */, - { 2, 9605, 6195, 3, 12, UNI_DT__NONCANON } /* dt=noncanonical */, - { 1, 184, 8114, 2, 7, UNI_KALI } /* iskayahli */, - { 6, 7892, 0, 4, 0, UNI_JAVA } /* java */, - { 0, 6888, 26, 10, 1, UNI_DIA } /* diacritic=y */, - { 2, 8886, 9145, 3, 4, UNI_DSRT } /* sc=dsrt */, - { 1, 8424, 2985, 7, 17, UNI_COPTICEPACTNUMBERS } /* block=copticepactnumbers */, - { 17, 1779, 995, 22, 2, -UNI_CWT } /* changeswhentitlecased=no */, - { 1, 9113, 8735, 5, 4, UNI_CCC__18 } /* ccc=ccc18 */, - { 17, 1362, 8810, 25, 4, UNI_CCC__33 } /* canonicalcombiningclass=ccc33 */, - { 8, 184, 1506, 2, 24, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* issupsymbolsandpictographs */, - { 0, 9093, 1410, 4, 24, UNI_DIACRITICALSFORSYMBOLS } /* blk=combiningmarksforsymbols */, - { 8, 9093, 6159, 4, 12, UNI_INMASARAMGONDI } /* blk=masaramgondi */, - { 2, 3739, 26, 17, 1, UNI_UIDEO } /* unifiedideograph=y */, - { 0, 184, 2169, 2, 11, UNI_MTEI } /* ismeeteimayek */, - { 1, 2798, 0, 19, 0, UNI_OTTOMANSIYAQNUMBERS } /* ottomansiyaqnumbers */, - { 2, 5085, 6053, 4, 5, UNI_MAHJONG } /* inmahjong */, - { 2, 3671, 493, 17, 3, UNI_HAN } /* scriptextensions=han */, - { 9, 184, 719, 2, 30, UNI_ENCLOSEDALPHANUMSUP } /* isenclosedalphanumericsupplement */, - { 16, 8418, 3, 6, 1, -UNI_BIDIM } /* bidim=f */, - { 0, 1362, 8437, 25, 4, UNI_CCC__10 } /* canonicalcombiningclass=ccc10 */, - { 1, 9129, 36, 4, 1, UNI_CWU } /* cwu=t */, - { 0, 117, 2150, 4, 19, UNI_ININSCRIPTIONALPARTHIAN } /* ininscriptionalparthian */, - { 8, 8424, 6159, 6, 12, UNI_INMASARAMGONDI } /* block=masaramgondi */, - { 0, 3248, 8864, 6, 5, -UNI_XPOSIXSPACE } /* space=false */, - { 8, 8684, 995, 5, 2, -UNI_POSIXXDIGIT } /* ahex=no */, - { 8, 9647, 8664, 3, 4, UNI_NV__1_SLASH_16 } /* nv=1/16 */, - { 1, 9421, 0, 4, 0, UNI_TGLG } /* tglg */, - { 0, 5269, 1, 14, 1, -UNI_PATSYN } /* patternsyntax=n */, - { 3, 6005, 115, 4, 33, UNI_DIACRITICALSFORSYMBOLS } /* incombiningdiacriticalmarksforsymbols */, - { 0, 5895, 0, 12, 0, UNI_CYRILLICEXTC } /* cyrillicextc */, - { 4, 9659, 3, 3, 1, -UNI_RI } /* ri=f */, - { 11, 3688, 9433, 17, 4, UNI_STERM } /* sentenceterminal=true */, - { 0, 8424, 6382, 6, 6, UNI_DOMINO } /* block=domino */, - { 8, 3868, 74, 16, 2, UNI_ME } /* generalcategory=me */, - { 3, 6051, 0, 7, 0, UNI_MAHJONG } /* mahjong */, - { 0, 21, 8894, 2, 5, UNI_INLIMBU } /* inlimbu */, - { 1, 5435, 8864, 13, 5, -UNI_BIDIM } /* bidimirrored=false */, - { 1, 983, 0, 5, 0, UNI_GREK } /* greek */, - { 4, 9629, 3804, 3, 16, UNI_LB__CP } /* lb=closeparenthesis */, - { 1, 8332, 29, 4, 4, UNI_ARAB } /* isarabic */, - { 11, 8598, 9433, 6, 4, UNI__PERL_PATWS } /* patws=true */, - { 1, 1855, 0, 2, 0, UNI_CN } /* cn */, - { 2, 9113, 3441, 4, 5, UNI_CCC__B } /* ccc=below */, - { 0, 9940, 47, 5, 1, UNI_PERM } /* isperm */, - { 1, 8886, 9277, 3, 4, UNI_NBAT } /* sc=nbat */, - { 2, 8886, 8628, 3, 4, UNI_SC__THAA } /* sc=thaa */, - { 0, 9365, 9481, 4, 4, UNI_ZANB } /* scx=zanb */, - { 0, 2106, 881, 21, 1, UNI_GCB__V } /* graphemeclusterbreak=v */, - { 0, 2204, 8206, 3, 6, UNI_OSMA } /* isosmanya */, - { 1, 8640, 1, 6, 1, -UNI_XPOSIXUPPER } /* upper=n */, - { 4, 8424, 2169, 6, 21, UNI_MEETEIMAYEKEXT } /* block=meeteimayekextensions */, - { 8, 3671, 9353, 17, 4, UNI_RUNR } /* scriptextensions=runr */, - { 1, 8886, 1481, 3, 4, UNI_SC__SIND } /* sc=sind */, - { 0, 7025, 9006, 3, 3, UNI_IN__2_DOT_1 } /* in=2.1 */, - { 0, 9093, 8058, 4, 7, UNI_DSRT } /* blk=deseret */, - { 1, 1530, 0, 14, 0, UNI_BYZANTINEMUSIC } /* byzantinemusic */, - { 1, 3671, 9394, 18, 3, UNI_SYRC } /* scriptextensions=syrc */, - { 0, 8871, 34, 3, 2, UNI_SB__EX } /* sb=ex */, - { 0, 9093, 8532, 4, 6, UNI_KANBUN } /* blk=kanbun */, - { 8, 3671, 3020, 17, 4, UNI_DEVA } /* scriptextensions=deva */, - { 9, 8424, 0, 12, 0, UNI_INCARIAN } /* block=carian */, - { 1, 6315, 9433, 12, 4, UNI_XIDC } /* xidcontinue=true */, - { 0, 6885, 5346, 3, 3, UNI_HEBR } /* ishebr */, - { 10, 184, 6371, 2, 10, UNI_DEP } /* isdeprecated */, - { 0, 9725, 0, 3, 0, UNI_vo_values_index } /* vo= */, - { 8, 8424, 4076, 6, 16, UNI_MISCMATHSYMBOLSA } /* block=miscmathsymbolsa */, - { 0, 9647, 9584, 3, 3, UNI_NV__7_SLASH_8 } /* nv=7/8 */, - { 0, 8886, 9269, 3, 4, UNI_SC__MYMR } /* sc=mymr */, - { 3, 9093, 9253, 4, 4, UNI_INMIAO } /* blk=miao */, - { 6, 21, 4808, 3, 13, UNI_ANCIENTSYMBOLS } /* inancientsymbols */, - { 1, 9620, 3146, 3, 18, UNI_PI } /* gc=initialpunctuation */, - { 1, 1362, 7167, 24, 9, UNI_CCC__AL } /* canonicalcombiningclass=aboveleft */, - { 4, 8424, 7892, 6, 8, UNI_INJAVANESE } /* block=javanese */, - { 9, 8886, 6991, 3, 4, UNI_SC__SOGD } /* sc=sogd */, - { 2, 8424, 976, 6, 27, UNI_ANCIENTGREEKMUSIC } /* block=ancientgreekmusicalnotation */, - { 4, 6918, 4687, 10, 15, UNI_LB__OP } /* linebreak=openpunctuation */, - { 0, 184, 9205, 2, 4, UNI_KNDA } /* isknda */, - { 0, 2148, 3723, 3, 16, UNI_SUTTONSIGNWRITING } /* insuttonsignwriting */, - { 8, 3671, 8079, 17, 4, UNI_GRAN } /* scriptextensions=gran */, - { 1, 9365, 9165, 4, 4, UNI_GREK } /* scx=grek */, - { 10, 3020, 0, 4, 0, UNI_DEVA } /* deva */, - { 3, 8899, 36, 5, 1, UNI_MATH } /* math=t */, - { 0, 9093, 7876, 4, 8, UNI_JAMOEXTA } /* blk=jamoexta */, - { 0, 9647, 8664, 3, 5, UNI_NV__1_SLASH_160 } /* nv=1/160 */, - { 2, 184, 8604, 2, 5, UNI_QMARK } /* isqmark */, - { 1, 5760, 5409, 13, 3, UNI_NV__100 } /* numericvalue=100 */, - { 0, 1472, 0, 9, 0, UNI__PERL_SURROGATE } /* surrogate */, - { 0, 8233, 7860, 7, 8, UNI_SC__HIRA } /* script=hiragana */, - { 21, 3254, 26, 18, 1, UNI_RI } /* regionalindicator=y */, - { 0, 8886, 9413, 3, 4, UNI_TAVT } /* sc=tavt */, - { 0, 9093, 6051, 4, 7, UNI_MAHJONG } /* blk=mahjong */, - { 0, 7419, 26, 9, 1, UNI_XIDS } /* xidstart=y */, - { 0, 6316, 36, 11, 1, UNI_IDC } /* idcontinue=t */, - { 13, 184, 4432, 2, 15, UNI_DIACRITICALSSUP } /* isdiacriticalssup */, - { 11, 9593, 5811, 3, 12, UNI_BC__AL } /* bc=arabicletter */, - { 17, 5339, 138, 14, 2, UNI_SB__FO } /* sentencebreak=fo */, - { 2, 9629, 7212, 3, 9, UNI_LB__B2 } /* lb=breakboth */, - { 4, 8424, 8177, 6, 7, UNI_NB } /* block=noblock */, - { 0, 8233, 7365, 7, 4, UNI_PAUC } /* script=pauc */, - { 17, 184, 1085, 3, 24, UNI_CWKCF } /* ischangeswhennfkccasefolded */, - { 12, 8233, 6646, 7, 11, UNI_HMNG } /* script=pahawhhmong */, - { 0, 9605, 7, 3, 3, UNI_DT__CAN } /* dt=can */, - { 2, 9125, 0, 4, 0, UNI_cwt_values_index } /* cwt= */, - { 9, 8424, 2086, 7, 7, UNI_INCYRILLIC } /* block=cyrillic */, - { 1, 3671, 2212, 18, 3, UNI_SINH } /* scriptextensions=sinh */, - { 1, 9946, 9390, 3, 3, UNI_SOGO } /* issogo */, - { 1, 9365, 7860, 4, 8, UNI_HIRA } /* scx=hiragana */, - { 0, 8233, 3620, 7, 4, UNI_SC__MANI } /* script=mani */, - { 0, 184, 7812, 2, 8, UNI_DUPL } /* isduployan */, - { 0, 8163, 0, 8, 0, UNI_NFKCQC__N } /* nfkcqc=n */, - { 2, 4821, 0, 13, 0, UNI_POSIXXDIGIT } /* asciihexdigit */, - { 0, 9903, 9916, 6, 5, UNI_XPOSIXBLANK } /* xposixblank */, - { 0, 6316, 0, 10, 0, UNI_IDC } /* idcontinue */, - { 0, 9599, 9433, 3, 4, UNI_CI } /* ci=true */, - { 0, 8424, 6569, 6, 11, UNI_MISCSYMBOLS } /* block=miscsymbols */, - { 0, 6816, 3773, 3, 7, UNI_INBOPOMOFO } /* inbopomofo */, - { 1, 8424, 316, 6, 33, UNI_SUPMATHOPERATORS } /* block=supplementalmathematicaloperators */, - { 7, 6194, 8930, 3, 4, UNI_INOSAGE } /* inosage */, - { 3, 21, 7884, 2, 8, UNI_JAMOEXTB } /* injamoextb */, - { 1, 9093, 1823, 4, 19, UNI_CJKCOMPATIDEOGRAPHS } /* blk=cjkcompatideographs */, - { 0, 8424, 5907, 6, 12, UNI_ETHIOPICEXTA } /* block=ethiopicexta */, - { 0, 2493, 3380, 20, 18, UNI_VO__TU } /* verticalorientation=transformedupright */, - { 1, 5435, 1, 13, 1, -UNI_BIDIM } /* bidimirrored=n */, - { 3, 8869, 9734, 5, 3, UNI_IDSB } /* idsb=yes */, - { 17, 184, 808, 2, 29, UNI_MISCARROWS } /* ismiscellaneoussymbolsandarrows */, - { 0, 9365, 8944, 4, 5, UNI_TAKR } /* scx=takri */, - { 16, 9909, 7, 3, 1, UNI_PC } /* ispc */, - { 0, 184, 7892, 2, 4, UNI_JAVA } /* isjava */, - { 0, 184, 3445, 3, 2, UNI_CWL } /* iscwl */, - { 0, 2957, 0, 9, 0, UNI_HALFMARKS } /* halfmarks */, - { 0, 8510, 995, 4, 2, -UNI_EXT } /* ext=no */, - { 1, 6828, 2373, 10, 20, UNI_BC__LRE } /* bidiclass=lefttorightembedding */, - { 4, 8886, 4492, 3, 15, UNI_ARMI } /* sc=imperialaramaic */, - { 23, 1362, 7614, 24, 2, UNI_CCC__17 } /* canonicalcombiningclass=17 */, - { 1, 2453, 9734, 20, 3, UNI_TERM } /* terminalpunctuation=yes */, - { 62, 6371, 995, 11, 2, -UNI_DEP } /* deprecated=no */, - { 0, 3868, 4402, 16, 15, UNI_PD } /* generalcategory=dashpunctuation */, - { 0, 4778, 7099, 3, 9, UNI_CN } /* isunassigned */, - { 8, 3671, 3772, 17, 8, UNI_BOPO } /* scriptextensions=bopomofo */, - { 1, 184, 8526, 2, 6, UNI_KTHI } /* iskaithi */, - { 3, 6005, 690, 3, 8, UNI_INCUNEIFORM } /* incuneiform */, - { 5, 6828, 3218, 10, 18, UNI_BC__B } /* bidiclass=paragraphseparator */, - { 2, 9365, 9189, 4, 4, UNI_HMNP } /* scx=hmnp */, - { 0, 4821, 26, 14, 1, UNI_POSIXXDIGIT } /* asciihexdigit=y */, - { 0, 8886, 7788, 3, 4, UNI_BALI } /* sc=bali */, - { 2, 1481, 0, 4, 0, UNI_SIND } /* sind */, - { 14, 8886, 9401, 3, 4, UNI_SC__TALE } /* sc=tale */, - { 1, 8886, 8924, 3, 5, UNI_SC__ORYA } /* sc=oriya */, - { 1, 2708, 80, 4, 33, UNI_ARABICMATH } /* inarabicmathematicalalphabeticsymbols */, - { 1, 5760, 8364, 13, 3, UNI_NV__400 } /* numericvalue=400 */, - { 2, 184, 6051, 2, 4, UNI_MAHJ } /* ismahj */, - { 0, 8233, 4297, 7, 4, UNI_BRAI } /* script=brai */, - { 2, 9113, 8479, 5, 5, UNI_WB__EB } /* ccc=ccc133 */, - { 3, 9093, 7248, 4, 9, UNI_INKHUDAWADI } /* blk=khudawadi */, - { 8, 9365, 7049, 5, 9, UNI_SAUR } /* scx=saurashtra */, - { 2, 9647, 7548, 3, 8, UNI_NV__1_SLASH_32 } /* nv=3.12e-02 */, - { 0, 9946, 8262, 3, 6, UNI_SOYO } /* issoyombo */, - { 1, 8886, 9161, 3, 4, UNI_SC__GONM } /* sc=gonm */, - { 1, 184, 5448, 2, 13, UNI_BLOCKELEMENTS } /* isblockelements */, - { 0, 9093, 719, 4, 30, UNI_ENCLOSEDALPHANUMSUP } /* blk=enclosedalphanumericsupplement */, - { 0, 1239, 8864, 25, 5, -UNI_COMPEX } /* fullcompositionexclusion=false */, - { 0, 8886, 7008, 3, 10, UNI_PHNX } /* sc=phoenician */, - { 14, 9141, 9734, 4, 3, UNI_DIA } /* dia=yes */, - { 12, 9647, 7540, 3, 2, UNI_NV__20 } /* nv=20 */, - { 4, 5760, 9749, 13, 2, UNI_NV__48 } /* numericvalue=48 */, - { 0, 9093, 4717, 4, 15, UNI_TAMILSUP } /* blk=tamilsupplement */, - { 0, 184, 1645, 2, 23, UNI_SHORTHANDFORMATCONTROLS } /* isshorthandformatcontrols */, - { 4, 8233, 4267, 7, 5, UNI_BAMU } /* script=bamum */, - { 1, 8424, 4297, 6, 15, UNI_BRAI } /* block=braillepatterns */, - { 1, 9953, 1696, 3, 2, UNI_VAI } /* isvai */, - { 2, 8418, 0, 6, 0, UNI_bidim_values_index } /* bidim= */, - { 0, 1362, 8795, 25, 4, UNI_CCC__30 } /* canonicalcombiningclass=ccc30 */, - { 1, 8884, 3484, 5, 17, UNI_INSC__CONSONANTPREFIXED } /* insc=consonantprefixed */, - { 0, 1713, 36, 22, 1, UNI_CWCF } /* changeswhencasefolded=t */, - { 4, 9049, 8993, 4, 4, UNI_AGE__10 } /* age=10.0 */, - { 3, 9113, 8805, 5, 4, UNI_CCC__32 } /* ccc=ccc32 */, - { 1, 6885, 4962, 3, 13, UNI_HIGHSURROGATES } /* ishighsurrogates */, - { 0, 6918, 9773, 10, 2, UNI_LB__XX } /* linebreak=xx */, - { 1, 2106, 7825, 21, 3, UNI_WB__EB } /* graphemeclusterbreak=gaz */, - { 3, 21, 977, 3, 26, UNI_ANCIENTGREEKMUSIC } /* inancientgreekmusicalnotation */, - { 2, 21, 7275, 2, 9, UNI_LATINEXTD } /* inlatinextd */, - { 3, 9113, 16, 4, 1, UNI_CCC__B } /* ccc=b */, - { 1, 6005, 2086, 3, 10, UNI_CYRILLICSUP } /* incyrillicsup */, - { 5, 8418, 26, 6, 1, UNI_BIDIM } /* bidim=y */, - { 17, 4462, 0, 14, 0, UNI_GREXT } /* graphemeextend */, - { 1, 3128, 3, 18, 1, -UNI_IDSB } /* idsbinaryoperator=f */, - { 1, 9365, 4792, 4, 15, UNI_ZANB } /* scx=zanabazarsquare */, - { 1, 1362, 8481, 24, 3, UNI_WB__EB } /* canonicalcombiningclass=133 */, - { 0, 8886, 57, 3, 2, UNI_SC__YI } /* sc=yi */, - { 0, 8955, 1, 4, 1, -UNI_IDC } /* idc=n */, - { 10, 3671, 8526, 17, 6, UNI_KTHI } /* scriptextensions=kaithi */, - { 14, 6005, 2931, 3, 10, UNI_CHEROKEESUP } /* incherokeesup */, - { 2, 21, 3290, 2, 18, UNI_RUMI } /* inruminumeralsymbols */, - { 0, 8424, 1867, 6, 22, UNI_DIACRITICALSFORSYMBOLS } /* block=diacriticalsforsymbols */, - { 0, 9237, 8864, 4, 5, -UNI_LOE } /* loe=false */, - { 0, 7018, 7487, 10, 1, UNI_IN__6 } /* presentin=6 */, - { 0, 3671, 2393, 17, 20, UNI_HMNP } /* scriptextensions=nyiakengpuachuehmong */, - { 0, 8051, 0, 6, 0, UNI_COMPEX } /* compex */, - { 0, 6885, 9182, 3, 3, UNI_HLUW } /* ishluw */, - { 1, 8424, 3164, 6, 9, UNI_LATINEXTA } /* block=latinexta */, - { 1, 9602, 1, 3, 1, -UNI_DI } /* di=n */, - { 2, 8879, 4777, 5, 15, UNI_LOE } /* inpc=visualorderleft */, - { 0, 1362, 7631, 24, 1, UNI_CCC__9 } /* canonicalcombiningclass=9 */, - { 18, 9593, 9614, 3, 3, UNI_BC__FSI } /* bc=fsi */, - { 19, 6005, 1847, 4, 20, UNI_INDICNUMBERFORMS } /* incommonindicnumberforms */, - { 0, 8233, 4220, 7, 4, UNI_TANG } /* script=tang */, - { 0, 8886, 7980, 3, 4, UNI_UGAR } /* sc=ugar */, - { 0, 3951, 6317, 3, 9, UNI_IDC } /* isidcontinue */, - { 0, 8424, 4172, 6, 16, UNI_SUPMATHOPERATORS } /* block=supmathoperators */, - { 6, 9647, 7716, 3, 8, UNI_NV__3_SLASH_4 } /* nv=7.50e-01 */, - { 1, 8871, 4140, 3, 5, UNI_SB__XX } /* sb=other */, - { 0, 8424, 7311, 6, 9, UNI_INNEWTAILUE } /* block=newtailue */, - { 0, 8886, 8550, 3, 4, UNI_LEPC } /* sc=lepc */, - { 0, 8886, 9281, 3, 4, UNI_NEWA } /* sc=newa */, - { 0, 8634, 8864, 6, 5, -UNI_UIDEO } /* uideo=false */, - { 0, 9093, 4792, 4, 15, UNI_INZANABAZARSQUARE } /* blk=zanabazarsquare */, - { 2, 3002, 8574, 18, 6, UNI_DT__NAR } /* decompositiontype=narrow */, - { 13, 7932, 995, 8, 2, -UNI_RADICAL } /* radical=no */, - { 9, 5269, 9734, 14, 3, UNI_PATSYN } /* patternsyntax=yes */, - { 2, 9647, 7628, 3, 8, UNI_NV__3_SLASH_64 } /* nv=4.69e-02 */, - { 10, 1977, 36, 22, 1, UNI__PERL_NCHAR } /* noncharactercodepoint=t */, - { 1, 8886, 8, 4, 3, UNI_SC__KANA } /* sc=kana */, - { 10, 8233, 7118, 7, 10, UNI_WARA } /* script=warangciti */, - { 10, 8634, 995, 6, 2, -UNI_UIDEO } /* uideo=no */, - { 2, 8424, 7772, 6, 8, UNI_INARMENIAN } /* block=armenian */, - { 1, 9093, 8310, 4, 7, UNI_INTIRHUTA } /* blk=tirhuta */, - { 1, 7194, 0, 9, 0, UNI_ARABICPFB } /* arabicpfb */, - { 8, 8233, 9401, 7, 4, UNI_SC__TALE } /* script=tale */, - { 0, 9647, 7631, 3, 1, UNI_NV__9 } /* nv=9 */, - { 1, 9946, 7049, 3, 3, UNI_SAUR } /* issaur */, - { 18, 8640, 9734, 6, 3, UNI_XPOSIXUPPER } /* upper=yes */, - { 7, 184, 9779, 2, 2, UNI_ZS } /* iszs */, - { 2, 3671, 8226, 17, 7, UNI_PHAG } /* scriptextensions=phagspa */, - { 1, 5760, 9500, 13, 3, UNI_NV__1_SLASH_7 } /* numericvalue=1/7 */, - { 0, 5269, 0, 14, 0, UNI_patsyn_values_index } /* patternsyntax= */, - { 0, 9605, 0, 3, 0, UNI_dt_values_index } /* dt= */, - { 2, 8886, 9065, 3, 4, UNI_ARMI } /* sc=armi */, - { 1, 7128, 1164, 10, 2, UNI_LB__LF } /* wordbreak=lf */, - { 9, 8709, 0, 5, 0, UNI_BUHD } /* buhid */, - { 1, 5760, 7676, 13, 8, UNI_NV__1_SLASH_16 } /* numericvalue=6.25e-02 */, - { 0, 6918, 9761, 10, 2, UNI_GCB__L } /* linebreak=jl */, - { 6, 9904, 9921, 5, 5, UNI_POSIXPRINT } /* posixprint */, - { 2, 5760, 5409, 13, 6, UNI_NV__100000 } /* numericvalue=100000 */, - { 0, 3951, 7421, 3, 6, UNI_IDS } /* isidstart */, - { 0, 9093, 8072, 4, 7, UNI_INELYMAIC } /* blk=elymaic */, - { 8, 8418, 995, 6, 2, -UNI_BIDIM } /* bidim=no */, - { 3, 184, 1780, 3, 20, UNI_CWT } /* ischangeswhentitlecased */, - { 12, 9093, 9650, 4, 3, UNI_OCR } /* blk=ocr */, - { 4, 9647, 8988, 3, 2, UNI_NV__41 } /* nv=41 */, - { 8, 7128, 2368, 10, 2, UNI_LB__HL } /* wordbreak=hl */, - { 9, 9153, 1164, 4, 2, UNI_LB__LF } /* gcb=lf */, - { 8, 8886, 8108, 4, 6, UNI_SC__KNDA } /* sc=kannada */, - { 0, 9113, 7763, 4, 2, UNI_CCC__19 } /* ccc=19 */, - { 1, 9647, 9029, 3, 4, UNI_NV__3_SLASH_64 } /* nv=3/64 */, - { 0, 2148, 7059, 3, 9, UNI_SMALLFORMS } /* insmallforms */, - { 2, 8684, 3, 5, 1, -UNI_POSIXXDIGIT } /* ahex=f */, - { 12, 9093, 2930, 4, 18, UNI_CHEROKEESUP } /* blk=cherokeesupplement */, - { 0, 5565, 5129, 13, 14, UNI_JG__MANICHAEANKAPH } /* joininggroup=manichaeankaph */, - { 17, 9093, 4252, 4, 15, UNI_ARABICEXTA } /* blk=arabicextendeda */, - { 5, 8233, 7980, 7, 8, UNI_UGAR } /* script=ugaritic */, - { 1, 8160, 2629, 4, 17, UNI_ENCLOSEDALPHANUMSUP } /* inenclosedalphanumsup */, - { 0, 9093, 1188, 4, 26, UNI_KATAKANAEXT } /* blk=katakanaphoneticextensions */, - { 0, 8869, 0, 5, 0, UNI_idsb_values_index } /* idsb= */, - { 1, 9093, 1576, 4, 23, UNI_GEOMETRICSHAPESEXT } /* blk=geometricshapesextended */, - { 3, 9605, 9461, 3, 4, UNI_EA__F } /* dt=wide */, - { 0, 5760, 7724, 13, 8, UNI_NV__4_SLASH_5 } /* numericvalue=8.00e-01 */, - { 20, 8508, 26, 6, 1, UNI_GREXT } /* grext=y */, - { 3, 9093, 8628, 4, 6, UNI_INTHAANA } /* blk=thaana */, - { 1, 184, 3852, 2, 16, UNI_PF } /* isfinalpunctuation */, - { 1, 9113, 9545, 4, 3, UNI_CCC__IS } /* ccc=240 */, - { 1, 8884, 7972, 5, 8, UNI_INSC__TONEMARK } /* insc=tonemark */, - { 1, 8886, 8859, 3, 4, UNI_SC__DOGR } /* sc=dogr */, - { 4, 9365, 8550, 4, 4, UNI_LEPC } /* scx=lepc */, - { 3, 6918, 4877, 10, 14, UNI_LB__SA } /* linebreak=complexcontext */, - { 0, 3671, 9213, 17, 4, UNI_LANA } /* scriptextensions=lana */, - { 1, 3671, 6724, 18, 3, UNI_SYLO } /* scriptextensions=sylo */, - { 11, 1768, 0, 5, 0, UNI_XPOSIXLOWER } /* lower */, - { 1, 5085, 0, 12, 0, UNI_INMANICHAEAN } /* inmanichaean */, - { 1, 7365, 0, 9, 0, UNI_PAUC } /* paucinhau */, - { 0, 8617, 0, 5, 0, UNI_term_values_index } /* term= */, - { 11, 9731, 5346, 3, 2, UNI_WB__EB } /* wb=eb */, - { 0, 8634, 26, 6, 1, UNI_UIDEO } /* uideo=y */, - { 0, 8424, 7203, 6, 9, UNI_INBHAIKSUKI } /* block=bhaiksuki */, - { 4, 4462, 36, 15, 1, UNI_GREXT } /* graphemeextend=t */, - { 0, 8233, 8205, 7, 7, UNI_OSMA } /* script=osmanya */, - { 1, 3671, 8205, 17, 4, UNI_OSMA } /* scriptextensions=osma */, - { 0, 9093, 8679, 4, 5, UNI_INADLAM } /* blk=adlam */, - { 10, 8705, 7814, 4, 6, UNI_INDUPLOYAN } /* induployan */, - { 0, 8424, 7844, 6, 8, UNI_INGUJARATI } /* block=gujarati */, - { 14, 9365, 9285, 4, 4, UNI_NKO } /* scx=nkoo */, - { 12, 9417, 0, 4, 0, UNI_TFNG } /* tfng */, - { 15, 8233, 4205, 8, 5, UNI_SC__SYRC } /* script=syriac */, - { 2, 4580, 2171, 4, 12, UNI_MEETEIMAYEKEXT } /* inmeeteimayekext */, - { 1, 3671, 2353, 17, 20, UNI_PHLI } /* scriptextensions=inscriptionalpahlavi */, - { 9, 9647, 7476, 3, 8, UNI_NV__3_SLASH_20 } /* nv=1.50e-01 */, - { 0, 9237, 3, 4, 1, -UNI_LOE } /* loe=f */, - { 8, 3671, 7311, 17, 9, UNI_TALU } /* scriptextensions=newtailue */, - { 1, 1362, 7507, 24, 2, UNI_CCC__12 } /* canonicalcombiningclass=12 */, - { 1, 8424, 114, 7, 34, UNI_DIACRITICALSFORSYMBOLS } /* block=combiningdiacriticalmarksforsymbols */, - { 0, 8886, 7048, 3, 4, UNI_SAUR } /* sc=saur */, - { 0, 8332, 3417, 3, 16, UNI_ALCHEMICAL } /* isalchemicalsymbols */, - { 1, 9233, 0, 4, 0, UNI_LISU } /* lisu */, - { 1, 2589, 0, 11, 0, UNI_COUNTINGROD } /* countingrod */, - { 3, 8886, 7356, 3, 9, UNI_PALM } /* sc=palmyrene */, - { 0, 1911, 1214, 22, 9, UNI_INSC__CONSONANT } /* indicsyllabiccategory=consonant */, - { 0, 184, 3996, 2, 16, UNI_LINEARBSYLLABARY } /* islinearbsyllabary */, - { 0, 9647, 7484, 3, 8, UNI_NV__1_SLASH_64 } /* nv=1.56e-02 */, - { 0, 9650, 0, 3, 0, UNI_OCR } /* ocr */, - { 1, 3951, 2149, 3, 20, UNI_PRTI } /* isinscriptionalparthian */, - { 9, 8899, 8864, 5, 5, -UNI_MATH } /* math=false */, - { 8, 1924, 0, 10, 0, UNI_L } /* category=l */, - { 0, 8871, 0, 3, 0, UNI_sb_values_index } /* sb= */, - { 20, 8424, 3038, 6, 11, UNI_ETHIOPICSUP } /* block=ethiopicsup */, - { 0, 9093, 5734, 4, 13, UNI_MISCTECHNICAL } /* blk=misctechnical */, - { 5, 7128, 6668, 10, 11, UNI_WB__SQ } /* wordbreak=singlequote */, - { 11, 7025, 7612, 3, 3, UNI_IN__4_DOT_1 } /* in=4.1 */, - { 0, 8424, 837, 6, 18, UNI_PHONETICEXT } /* block=phoneticextensions */, - { 9, 8849, 9734, 5, 3, UNI_CWCM } /* cwcm=yes */, - { 5, 3469, 0, 4, 0, UNI_UCAS } /* ucas */, - { 0, 5760, 9743, 13, 2, UNI_NV__45 } /* numericvalue=45 */, - { 5, 2930, 0, 8, 0, UNI_CHER } /* cherokee */, - { 6, 1362, 9512, 24, 3, UNI_CCC__202 } /* canonicalcombiningclass=202 */, - { 1, 9093, 2779, 4, 9, UNI_INMONGOLIAN } /* blk=mongolian */, - { 12, 9620, 45, 3, 2, UNI_CO } /* gc=co */, - { 5, 6194, 6244, 3, 11, UNI_INOLDHUNGARIAN } /* inoldhungarian */, - { 1, 8424, 3200, 6, 18, UNI_ORNAMENTALDINGBATS } /* block=ornamentaldingbats */, - { 0, 9620, 400, 3, 6, UNI_CF } /* gc=format */, - { 7, 3002, 9665, 18, 3, UNI_DT__SML } /* decompositiontype=sml */, - { 15, 5565, 5101, 13, 14, UNI_JG__MANICHAEANFIVE } /* joininggroup=manichaeanfive */, - { 0, 8424, 7995, 6, 7, UNI_INAVESTAN } /* block=avestan */, - { 1, 3002, 1362, 18, 9, UNI_DT__CAN } /* decompositiontype=canonical */, - { 17, 9113, 8800, 5, 4, UNI_CCC__31 } /* ccc=ccc31 */, - { 0, 8233, 57, 7, 2, UNI_SC__YI } /* script=yi */, - { 8, 1362, 8469, 24, 3, UNI_CCC__130 } /* canonicalcombiningclass=130 */, - { 2, 9093, 6243, 4, 12, UNI_INOLDHUNGARIAN } /* blk=oldhungarian */, - { 14, 1362, 9521, 24, 3, UNI_CCC__BR } /* canonicalcombiningclass=222 */, - { 2, 9593, 426, 3, 2, UNI_BC__ES } /* bc=es */, - { 3, 4747, 0, 15, 0, UNI_UPPERCASELETTER } /* uppercaseletter */, - { 5, 8275, 0, 7, 0, UNI_SUPPUAB } /* suppuab */, - { 3, 9473, 0, 4, 0, UNI_YI } /* yiii */, - { 6, 184, 3620, 2, 4, UNI_MANI } /* ismani */, - { 3, 9365, 2212, 5, 3, UNI_SINH } /* scx=sinh */, - { 7, 9093, 1188, 4, 8, UNI_INKATAKANA } /* blk=katakana */, - { 2, 9725, 3391, 3, 7, UNI_VO__U } /* vo=upright */, - { 0, 3671, 8114, 17, 7, UNI_KALI } /* scriptextensions=kayahli */, - { 5, 9113, 8, 4, 1, UNI_CCC__A } /* ccc=a */, - { 1, 6194, 4673, 3, 14, UNI_SARB } /* inoldsoutharabian */, - { 0, 8332, 97, 3, 9, UNI_XPOSIXALPHA } /* isalphabetic */, - { 9, 9285, 0, 3, 0, UNI_NKO } /* nko */, - { 2, 3671, 9177, 17, 4, UNI_HANO } /* scriptextensions=hano */, - { 17, 9113, 2920, 4, 10, UNI_CCC__AR } /* ccc=aboveright */, - { 0, 8886, 9109, 3, 4, UNI_CANS } /* sc=cans */, - { 0, 9113, 8830, 5, 4, UNI_CCC__84 } /* ccc=ccc84 */, - { 0, 8424, 7257, 6, 9, UNI_LATINEXTB } /* block=latinextb */, - { 0, 8424, 3900, 6, 16, UNI_HALFANDFULLFORMS } /* block=halfandfullforms */, - { 18, 8886, 2333, 3, 4, UNI_SC__GLAG } /* sc=glag */, - { 3, 21, 8538, 2, 6, UNI_INKHOJKI } /* inkhojki */, - { 0, 3671, 7347, 17, 9, UNI_ORKH } /* scriptextensions=oldturkic */, - { 15, 5760, 8802, 13, 2, UNI_NV__31 } /* numericvalue=31 */, - { 0, 9093, 1851, 4, 16, UNI_INDICNUMBERFORMS } /* blk=indicnumberforms */, - { 6, 9365, 7804, 4, 4, UNI_BUGI } /* scx=bugi */, - { 24, 9365, 9269, 4, 4, UNI_MYMR } /* scx=mymr */, - { 2, 4447, 1, 15, 1, UNI_EA__N } /* eastasianwidth=n */, - { 1, 133, 0, 4, 0, UNI_M } /* mark */, - { 1, 6005, 8024, 3, 6, UNI_CJKEXTC } /* incjkextc */, - { 0, 8617, 1, 5, 1, -UNI_TERM } /* term=n */, - { 12, 6005, 690, 3, 29, UNI_CUNEIFORMNUMBERS } /* incuneiformnumbersandpunctuation */, - { 5, 8886, 8142, 3, 4, UNI_MARC } /* sc=marc */, - { 0, 9093, 1576, 4, 18, UNI_GEOMETRICSHAPESEXT } /* blk=geometricshapesext */, - { 1, 9365, 8065, 4, 4, UNI_ELBA } /* scx=elba */, - { 1, 8886, 6159, 3, 12, UNI_SC__GONM } /* sc=masaramgondi */, - { 0, 8233, 8562, 7, 4, UNI_LYCI } /* script=lyci */, - { 1, 8233, 8514, 7, 6, UNI_HATR } /* script=hatran */, - { 1, 184, 4989, 2, 6, UNI_KANGXI } /* iskangxi */, - { 4, 1362, 184, 24, 2, UNI_CCC__IS } /* canonicalcombiningclass=is */, + { 1, 9488, 4973, 4, 15, UNI_VEDICEXT } /* blk=vedicextensions */, + { 4, 8400, 36, 7, 1, UNI_COMPEX } /* compex=t */, + { 0, 3836, 382, 17, 4, UNI_EGYP } /* scriptextensions=egyp */, + { 1, 9014, 36, 6, 1, UNI_UIDEO } /* uideo=t */, + { 1, 5791, 5179, 13, 7, UNI_JG__HEHGOAL } /* joininggroup=hehgoal */, + { 1, 6205, 9836, 12, 4, UNI_IDEO } /* ideographic=true */, + { 0, 8882, 1025, 6, 2, -UNI_GREXT } /* grext=no */, + { 1, 3259, 10135, 18, 3, UNI_IDSB } /* idsbinaryoperator=yes */, + { 9, 9275, 6463, 5, 6, UNI_LB__ZWJ } /* insc=joiner */, + { 0, 184, 43, 3, 25, UNI_CJKCOMPATIDEOGRAPHS } /* iscjkcompatibilityideographs */, + { 0, 10030, 7258, 3, 10, UNI_JT__U } /* jt=nonjoining */, + { 0, 7318, 10096, 10, 3, UNI_IN__5 } /* presentin=v50 */, + { 4, 10027, 5378, 3, 4, UNI_JG__KAPH } /* jg=kaph */, + { 18, 10048, 5648, 3, 11, UNI_NV__10000000000 } /* nv=10000000000 */, + { 0, 9345, 26, 5, 1, UNI_XIDC } /* xidc=y */, + { 0, 8997, 10135, 5, 3, UNI_TERM } /* term=yes */, + { 5, 8780, 7585, 6, 9, UNI_LATINEXTC } /* block=latinextc */, + { 5, 10030, 0, 3, 0, UNI_jt_values_index } /* jt= */, + { 4, 867, 0, 11, 0, UNI_PHONETICEXT } /* phoneticext */, + { 1, 8780, 43, 7, 15, UNI_CJKCOMPAT } /* block=cjkcompatibility */, + { 1, 3097, 9552, 18, 4, UNI_DT__FONT } /* decompositiontype=font */, + { 0, 184, 8936, 2, 4, UNI_LYCI } /* islyci */, + { 5, 7585, 0, 9, 0, UNI_LATINEXTC } /* latinextc */, + { 0, 9488, 8638, 4, 7, UNI_INTAGALOG } /* blk=tagalog */, + { 3, 9508, 7874, 4, 2, UNI_CCC__23 } /* ccc=23 */, + { 40, 7218, 1751, 10, 2, UNI_LB__AI } /* linebreak=ai */, + { 0, 9508, 9206, 5, 4, UNI_CCC__35 } /* ccc=ccc35 */, + { 0, 9488, 5830, 4, 13, UNI_LOWSURROGATES } /* blk=lowsurrogates */, + { 0, 9488, 7027, 4, 11, UNI_YISYLLABLES } /* blk=yisyllables */, + { 1, 4791, 2247, 4, 9, UNI_INMEETEIMAYEK } /* inmeeteimayek */, + { 8, 6231, 4569, 3, 14, UNI_CURRENCYSYMBOLS } /* incurrencysymbols */, + { 3, 9768, 2817, 4, 19, UNI_MERO } /* scx=meroitichieroglyphs */, + { 1, 8780, 2874, 6, 19, UNI_OTTOMANSIYAQNUMBERS } /* block=ottomansiyaqnumbers */, + { 0, 10048, 7781, 3, 1, UNI_NV__4 } /* nv=4 */, + { 0, 8780, 3937, 6, 16, UNI_BOPOMOFOEXT } /* block=bopomofoextended */, + { 6, 9508, 3564, 4, 13, UNI_CCC__202 } /* ccc=attachedbelow */, + { 1, 7076, 4479, 3, 14, UNI_BRAI } /* inbraillepatterns */, + { 4, 2280, 4306, 3, 4, UNI_C } /* isother */, + { 0, 9488, 8243, 4, 8, UNI_INMAHAJANI } /* blk=mahajani */, + { 17, 8780, 809, 6, 29, UNI_ENCLOSEDIDEOGRAPHICSUP } /* block=enclosedideographicsupplement */, + { 2, 9768, 8243, 4, 8, UNI_MAHJ } /* scx=mahajani */, + { 1, 9492, 4898, 4, 4, UNI_BPT__O } /* bpt=open */, + { 9, 5791, 7048, 13, 10, UNI_JG__AFRICANQAF } /* joininggroup=africanqaf */, + { 0, 4916, 2532, 5, 16, UNI_TERM } /* isterminalpunctuation */, + { 1, 5986, 8714, 13, 6, UNI_NV__300000 } /* numericvalue=300000 */, + { 0, 4116, 415, 3, 10, UNI_IDEO } /* isideographic */, + { 21, 1465, 0, 13, 0, UNI_M } /* combiningmark */, + { 0, 8780, 923, 6, 28, UNI_SUPPUAB } /* block=supplementaryprivateuseareab */, + { 2, 9768, 6481, 4, 12, UNI_HUNG } /* scx=oldhungarian */, + { 2, 1417, 9026, 24, 6, UNI_CCC__9 } /* canonicalcombiningclass=virama */, + { 1, 9277, 7684, 3, 9, UNI_PAUC } /* sc=paucinhau */, + { 1, 184, 951, 2, 17, UNI_VS } /* isvariationselector */, + { 0, 184, 9604, 2, 4, UNI_KHMR } /* iskhmr */, + { 10, 6576, 26, 11, 1, UNI_XPOSIXALPHA } /* alphabetic=y */, + { 11, 7318, 7821, 10, 1, UNI_IN__8 } /* presentin=8 */, + { 1, 3097, 567, 18, 2, UNI_DT__NB } /* decompositiontype=nb */, + { 2, 7325, 9844, 3, 4, UNI_IN__11 } /* in=v110 */, + { 0, 8780, 9320, 6, 5, UNI_INOSAGE } /* block=osage */, + { 0, 4643, 1025, 15, 2, -UNI_ECOMP } /* emojicomponent=no */, + { 8, 3259, 9255, 18, 5, -UNI_IDSB } /* idsbinaryoperator=false */, + { 2, 184, 3341, 2, 8, UNI_DINGBATS } /* isdingbats */, + { 0, 184, 8227, 2, 8, UNI_KANAEXTA } /* iskanaexta */, + { 8, 8780, 8666, 6, 7, UNI_INTIRHUTA } /* block=tirhuta */, + { 1, 8589, 8344, 7, 7, UNI_SC__BENG } /* script=bengali */, + { 0, 5032, 1, 14, 1, -UNI_POSIXXDIGIT } /* asciihexdigit=n */, + { 6, 1417, 9300, 24, 5, UNI_CCC__7 } /* canonicalcombiningclass=nukta */, + { 1, 10298, 0, 10, 0, UNI_POSIXBLANK } /* posixblank */, + { 3, 10009, 10069, 3, 3, UNI_DT__SQR } /* dt=sqr */, + { 67, 8589, 8888, 7, 6, UNI_HATR } /* script=hatran */, + { 0, 2182, 10015, 21, 3, UNI_WB__EB } /* graphemeclusterbreak=ebg */, + { 3, 1417, 5765, 24, 13, UNI_CCC__IS } /* canonicalcombiningclass=iotasubscript */, + { 11, 5003, 0, 15, 0, UNI_ZANB } /* zanabazarsquare */, + { 24, 9277, 8123, 3, 8, UNI_SC__BUGI } /* sc=buginese */, + { 2, 9508, 78, 4, 2, UNI_CCC__AR } /* ccc=ar */, + { 0, 5432, 0, 3, 0, UNI_ANY } /* any */, + { 1, 8589, 9628, 7, 4, UNI_SC__LATN } /* script=latn */, + { 0, 10048, 9428, 3, 4, UNI_NV__3_SLASH_80 } /* nv=3/80 */, + { 1, 7438, 0, 10, 0, UNI_wb_values_index } /* wordbreak= */, + { 10, 184, 6229, 2, 5, UNI_JOINC } /* isjoinc */, + { 1, 9488, 8652, 4, 7, UNI_INTAIVIET } /* blk=taiviet */, + { 0, 8147, 26, 8, 1, UNI_EXTPICT } /* extpict=y */, + { 8, 10048, 9203, 3, 2, UNI_NV__34 } /* nv=34 */, + { 0, 9528, 9255, 4, 5, -UNI_CWU } /* cwu=false */, + { 1, 6553, 26, 12, 1, UNI_XIDC } /* xidcontinue=y */, + { 1, 3836, 6796, 17, 11, UNI_MEDF } /* scriptextensions=medefaidrin */, + { 16, 3836, 2409, 17, 10, UNI_GLAG } /* scriptextensions=glagolitic */, + { 2, 1114, 0, 26, 0, UNI_cwkcf_values_index } /* changeswhennfkccasefolded= */, + { 10, 9508, 9919, 4, 3, UNI_CCC__202 } /* ccc=202 */, + { 11, 8589, 9812, 7, 4, UNI_SC__TAML } /* script=taml */, + { 5, 9444, 7782, 4, 1, UNI_AGE__3 } /* age=3 */, + { 4, 184, 2969, 2, 19, UNI_SUPARROWSC } /* issupplementalarrowsc */, + { 2, 10048, 8082, 3, 2, UNI_NV__19 } /* nv=19 */, + { 1, 6231, 43, 3, 2, UNI_CJK } /* incjk */, + { 0, 5074, 0, 14, 0, UNI_CJKCOMPATFORMS } /* cjkcompatforms */, + { 0, 8435, 0, 7, 0, UNI_grbase_values_index } /* grbase= */, + { 1, 8509, 1035, 4, 25, UNI_ENCLOSEDCJK } /* inenclosedcjklettersandmonths */, + { 3, 9508, 7178, 4, 4, UNI_CCC__6 } /* ccc=hanr */, + { 2, 6253, 0, 5, 0, UNI_KHMR } /* khmer */, + { 0, 8589, 3241, 7, 4, UNI_SC__GEOR } /* script=geor */, + { 8, 9488, 1586, 5, 22, UNI_BYZANTINEMUSIC } /* blk=byzantinemusicalsymbols */, + { 1, 10027, 2637, 3, 9, UNI_JG__YEHBARREE } /* jg=yehbarree */, + { 2, 10027, 5336, 3, 4, UNI_JG__BETH } /* jg=beth */, + { 0, 5986, 9379, 13, 2, UNI_NV__41 } /* numericvalue=41 */, + { 0, 7218, 8680, 10, 7, UNI_LB__XX } /* linebreak=unknown */, + { 4, 4658, 1025, 15, 2, -UNI_GREXT } /* graphemeextend=no */, + { 1, 8876, 0, 6, 0, UNI_GOTH } /* gothic */, + { 2, 7410, 0, 8, 0, UNI_ASSIGNED } /* assigned */, + { 1, 2912, 0, 9, 0, UNI_SUND } /* sundanese */, + { 2, 8780, 8638, 6, 7, UNI_INTAGALOG } /* block=tagalog */, + { 0, 7318, 9848, 10, 4, UNI_IN__12 } /* presentin=v120 */, + { 1, 1417, 9168, 24, 2, UNI_CCC__27 } /* canonicalcombiningclass=27 */, + { 3, 923, 0, 28, 0, UNI_SUPPUAB } /* supplementaryprivateuseareab */, + { 2, 9488, 2409, 4, 13, UNI_GLAGOLITICSUP } /* blk=glagoliticsup */, + { 5, 21, 6253, 2, 5, UNI_INKHMER } /* inkhmer */, + { 0, 5986, 7859, 13, 6, UNI_NV__200000 } /* numericvalue=200000 */, + { 0, 4989, 1, 3, 33, UNI_UCAS } /* isunifiedcanadianaboriginalsyllabics */, + { 2, 9520, 3, 4, 1, -UNI_CWL } /* cwl=f */, + { 4, 9768, 7, 4, 18, UNI_CANS } /* scx=canadianaboriginal */, + { 6, 8780, 7657, 6, 9, UNI_INOLDPERMIC } /* block=oldpermic */, + { 1, 3581, 0, 17, 0, UNI_UCAS } /* canadiansyllabics */, + { 0, 7325, 10123, 3, 3, UNI_IN__9 } /* in=v90 */, + { 0, 4791, 4274, 3, 15, UNI_MYANMAREXTA } /* inmyanmarextendeda */, + { 2, 1979, 24, 10, 1, UNI_LOWERCASELETTER } /* category=ll */, + { 3, 3133, 0, 13, 0, UNI_EMOD } /* emojimodifier */, + { 85, 9277, 8421, 3, 7, UNI_ELYM } /* sc=elymaic */, + { 0, 8780, 1631, 6, 23, UNI_GEOMETRICSHAPESEXT } /* block=geometricshapesextended */, + { 9, 5578, 4305, 14, 5, UNI_SB__XX } /* sentencebreak=other */, + { 2, 8688, 80, 4, 8, UNI_ARABICMATH } /* isarabicmath */, + { 0, 10030, 18, 3, 1, UNI_JT__R } /* jt=r */, + { 33, 10012, 66, 3, 1, UNI_EA__H } /* ea=h */, + { 5, 3836, 8604, 18, 6, UNI_SHAW } /* scriptextensions=shavian */, + { 2, 9488, 2469, 4, 20, UNI_INNYIAKENGPUACHUEHMONG } /* blk=nyiakengpuachuehmong */, + { 0, 6231, 43, 3, 25, UNI_CJKCOMPATIDEOGRAPHS } /* incjkcompatibilityideographs */, + { 0, 3836, 2608, 17, 6, UNI_BRAH } /* scriptextensions=brahmi */, + { 1, 10048, 9916, 3, 3, UNI_NV__2_SLASH_5 } /* nv=2/5 */, + { 0, 9277, 9888, 3, 4, UNI_ZANB } /* sc=zanb */, + { 0, 8509, 751, 4, 14, UNI_ENCLOSEDALPHANUM } /* inenclosedalphanum */, + { 5, 10033, 5536, 3, 14, UNI_LB__PO } /* lb=postfixnumeric */, + { 0, 7739, 9836, 8, 4, UNI_IDS } /* idstart=true */, + { 4, 10033, 4538, 3, 15, UNI_LB__CB } /* lb=contingentbreak */, + { 18, 9277, 9644, 3, 4, UNI_MEDF } /* sc=medf */, + { 18, 9556, 125, 4, 2, UNI_LB__CR } /* gcb=cr */, + { 3, 3836, 8611, 18, 6, UNI_SIDD } /* scriptextensions=siddham */, + { 3, 6265, 0, 12, 0, UNI_NL } /* letternumber */, + { 33, 184, 316, 2, 33, UNI_SUPMATHOPERATORS } /* issupplementalmathematicaloperators */, + { 1, 9997, 5130, 3, 14, UNI_BC__EN } /* bc=europeannumber */, + { 14, 9488, 7138, 4, 10, UNI_COMPATJAMO } /* blk=compatjamo */, + { 0, 8780, 8498, 6, 7, UNI_INMULTANI } /* block=multani */, + { 2, 9768, 8666, 4, 4, UNI_TIRH } /* scx=tirh */, + { 2, 8780, 1018, 6, 5, UNI_MUSIC } /* block=music */, + { 3, 9488, 3115, 4, 13, UNI_DEVANAGARIEXT } /* blk=devanagariext */, + { 1, 9277, 6972, 3, 11, UNI_SC__SYLO } /* sc=sylotinagri */, + { 0, 3836, 7660, 17, 4, UNI_PERM } /* scriptextensions=perm */, + { 0, 8589, 8337, 7, 7, UNI_AVST } /* script=avestan */, + { 4, 8589, 8456, 7, 7, UNI_SC__KNDA } /* script=kannada */, + { 6, 9768, 9560, 4, 4, UNI_GONG } /* scx=gong */, + { 0, 9768, 9660, 4, 4, UNI_MLYM } /* scx=mlym */, + { 0, 2280, 6323, 3, 3, UNI_OGAM } /* isogam */, + { 0, 8780, 7567, 6, 9, UNI_INKHUDAWADI } /* block=khudawadi */, + { 0, 9277, 7168, 3, 10, UNI_DIAK } /* sc=divesakuru */, + { 0, 7318, 10099, 10, 3, UNI_IN__5_DOT_1 } /* presentin=v51 */, + { 3, 8589, 8561, 7, 7, UNI_OSMA } /* script=osmanya */, + { 1, 8780, 951, 6, 18, UNI_INVS } /* block=variationselectors */, + { 9, 2665, 0, 19, 0, UNI_COUNTINGROD } /* countingrodnumerals */, + { 0, 8688, 97, 3, 9, UNI_XPOSIXALPHA } /* isalphabetic */, + { 3, 3374, 0, 11, 0, UNI_wspace_values_index } /* whitespace= */, + { 8, 9277, 18, 6, 1, UNI_KHAR } /* sc=khar */, + { 2, 6231, 115, 4, 23, UNI_DIACRITICALS } /* incombiningdiacriticalmarks */, + { 16, 9640, 36, 4, 1, UNI_LOE } /* loe=t */, + { 9, 1591, 383, 3, 31, UNI_EGYPTIANHIEROGLYPHFORMATCONTROLS } /* inegyptianhieroglyphformatcontrols */, + { 20, 9488, 2140, 4, 18, UNI_CYRILLICSUP } /* blk=cyrillicsupplement */, + { 2, 8780, 2666, 7, 10, UNI_COUNTINGROD } /* block=countingrod */, + { 5, 8589, 8315, 7, 8, UNI_UGAR } /* script=ugaritic */, + { 0, 5986, 8738, 13, 6, UNI_NV__600000 } /* numericvalue=600000 */, + { 14, 1537, 2555, 24, 14, UNI_INPC__BOTTOMANDRIGHT } /* indicpositionalcategory=bottomandright */, + { 18, 8780, 7576, 6, 9, UNI_LATINEXTB } /* block=latinextb */, + { 1, 10296, 467, 7, 5, UNI_POSIXPUNCT } /* isposixpunct */, + { 2, 9020, 9255, 6, 5, -UNI_XPOSIXUPPER } /* upper=false */, + { 1, 4049, 0, 11, 0, UNI_GEORGIANEXT } /* georgianext */, + { 7, 3025, 0, 8, 0, UNI_CHER } /* cherokee */, + { 0, 8589, 9592, 7, 4, UNI_HMNP } /* script=hmnp */, + { 4, 10048, 7987, 3, 8, UNI_NV__5_SLASH_8 } /* nv=6.25e-01 */, + { 0, 10033, 1140, 3, 26, UNI_LB__CJ } /* lb=conditionaljapanesestarter */, + { 0, 6241, 6708, 12, 11, UNI_JT__C } /* joiningtype=joincausing */, + { 0, 2122, 0, 7, 0, UNI_RADICAL } /* radical */, + { 0, 3836, 3025, 17, 4, UNI_CHER } /* scriptextensions=cher */, + { 0, 10027, 5620, 3, 14, UNI_JG__HAMZAONHEHGOAL } /* jg=tehmarbutagoal */, + { 0, 7068, 0, 10, 0, UNI_ASCII } /* basiclatin */, + { 0, 3836, 9335, 17, 5, UNI_TAKR } /* scriptextensions=takri */, + { 9, 328, 0, 21, 0, UNI_MATHOPERATORS } /* mathematicaloperators */, + { 0, 21, 1218, 2, 8, UNI_INKATAKANA } /* inkatakana */, + { 2, 184, 6086, 3, 11, UNI_CHESSSYMBOLS } /* ischesssymbols */, + { 37, 10012, 0, 3, 0, UNI_ea_values_index } /* ea= */, + { 1, 5324, 6387, 4, 10, UNI_INMASARAMGONDI } /* inmasaramgondi */, + { 0, 8589, 7684, 7, 4, UNI_PAUC } /* script=pauc */, + { 16, 2140, 0, 11, 0, UNI_CYRILLICSUP } /* cyrillicsup */, + { 1, 5986, 10138, 13, 2, UNI_NV__38 } /* numericvalue=38 */, + { 3, 9488, 4097, 4, 16, UNI_HIGHPUSURROGATES } /* blk=highpusurrogates */, + { 1, 9488, 8124, 5, 7, UNI_INBUGINESE } /* blk=buginese */, + { 5, 184, 382, 2, 4, UNI_EGYP } /* isegyp */, + { 2, 8780, 3683, 6, 11, UNI_ETHIOPICEXT } /* block=ethiopicext */, + { 43, 1552, 5498, 10, 10, UNI_MC } /* category=spacingmark */, + { 4, 10048, 8750, 3, 3, UNI_NV__800 } /* nv=800 */, + { 1, 3529, 3, 18, 1, -UNI_VS } /* variationselector=f */, + { 12, 9768, 9002, 4, 4, UNI_TELU } /* scx=telu */, + { 0, 7028, 2, 3, 1, UNI_YI } /* isyi */, + { 0, 9528, 1025, 4, 2, -UNI_CWU } /* cwu=no */, + { 1, 4643, 1, 15, 1, -UNI_ECOMP } /* emojicomponent=n */, + { 0, 10009, 1294, 3, 5, UNI_DT__SUP } /* dt=super */, + { 1, 9524, 36, 4, 1, UNI_CWT } /* cwt=t */, + { 27, 8589, 3937, 7, 4, UNI_SC__BOPO } /* script=bopo */, + { 1, 7088, 5130, 10, 14, UNI_BC__EN } /* bidiclass=europeannumber */, + { 0, 10291, 5718, 5, 5, UNI_POSIXALNUM } /* posixalnum */, + { 14, 8858, 1025, 6, 2, -UNI_ECOMP } /* ecomp=no */, + { 25, 8780, 1879, 7, 18, UNI_CJKCOMPATIDEOGRAPHS } /* block=cjkcompatideographs */, + { 3, 8780, 510, 7, 19, UNI_CJK } /* block=cjkunifiedideographs */, + { 1, 4001, 0, 7, 0, UNI_CPRT } /* cypriot */, + { 1, 5986, 9055, 13, 3, UNI_NV__1_SLASH_3 } /* numericvalue=1/3 */, + { 9, 9997, 6493, 3, 12, UNI_BC__ON } /* bc=otherneutral */, + { 15, 9508, 6642, 4, 11, UNI_CCC__DB } /* ccc=doublebelow */, + { 6, 8780, 9684, 6, 4, UNI_INNEWA } /* block=newa */, + { 0, 10033, 21, 3, 2, UNI_LB__IN } /* lb=in */, + { 2, 1537, 2549, 24, 3, UNI_INPC__TOP } /* indicpositionalcategory=top */, + { 28, 4017, 0, 16, 0, UNI_PF } /* finalpunctuation */, + { 0, 8996, 26, 6, 1, UNI_STERM } /* sterm=y */, + { 3, 8780, 1060, 6, 27, UNI_OCR } /* block=opticalcharacterrecognition */, + { 5, 10333, 8611, 3, 3, UNI_SIDD } /* issidd */, + { 0, 2140, 0, 8, 0, UNI_CYRL } /* cyrillic */, + { 0, 10048, 7782, 3, 1, UNI_NV__3 } /* nv=3 */, + { 4, 9997, 3773, 3, 3, UNI_BC__RLI } /* bc=rli */, + { 2, 3836, 3785, 17, 4, UNI_MANI } /* scriptextensions=mani */, + { 1, 10126, 0, 3, 1, UNI_VO__U } /* vo=u */, + { 2, 184, 5497, 2, 11, UNI_MC } /* isspacingmark */, + { 2, 2779, 26, 19, 1, UNI_IDST } /* idstrinaryoperator=y */, + { 3, 184, 2855, 2, 19, UNI_MONGOLIANSUP } /* ismongoliansupplement */, + { 2, 10033, 8236, 4, 7, UNI_LB__LF } /* lb=linefeed */, + { 38, 1768, 0, 22, 0, UNI_cwcf_values_index } /* changeswhencasefolded= */, + { 18, 10333, 47, 3, 1, UNI_SM } /* issm */, + { 0, 908, 0, 14, 0, UNI_PUA } /* privateusearea */, { 1, 184, 510, 3, 29, UNI_CJKEXTA } /* iscjkunifiedideographsextensiona */, - { 22, 9647, 8985, 3, 3, UNI_NV__1_SLASH_6 } /* nv=1/6 */, - { 0, 4140, 0, 5, 0, UNI_C } /* other */, - { 1, 2148, 2212, 3, 20, UNI_SINHALAARCHAICNUMBERS } /* insinhalaarchaicnumbers */, - { 3, 8424, 1856, 6, 11, UNI_NUMBERFORMS } /* block=numberforms */, - { 4, 3671, 8241, 18, 6, UNI_SHRD } /* scriptextensions=sharada */, - { 1, 9093, 2333, 4, 10, UNI_INGLAGOLITIC } /* blk=glagolitic */, - { 3, 8072, 0, 4, 0, UNI_ELYM } /* elym */, - { 0, 9608, 8, 3, 1, UNI_EA__A } /* ea=a */, - { 0, 9946, 9386, 3, 3, UNI_SHRD } /* isshrd */, - { 0, 1362, 16, 24, 1, UNI_CCC__B } /* canonicalcombiningclass=b */, - { 3, 9623, 3654, 3, 17, UNI_JG__MANICHAEANTHAMEDH } /* jg=manichaeanthamedh */, - { 7, 9093, 3603, 4, 17, UNI_LETTERLIKESYMBOLS } /* blk=letterlikesymbols */, - { 0, 184, 2086, 3, 7, UNI_CYRL } /* iscyrillic */, - { 0, 1243, 9433, 21, 4, UNI_CE } /* compositionexclusion=true */, - { 0, 7185, 0, 9, 0, UNI_ARABICPFA } /* arabicpfa */, - { 0, 7419, 8864, 9, 5, -UNI_XIDS } /* xidstart=false */, - { 40, 7025, 7436, 3, 3, UNI_IN__1_DOT_1 } /* in=1.1 */, - { 1, 8424, 719, 6, 16, UNI_ENCLOSEDALPHANUM } /* block=enclosedalphanum */, - { 0, 9097, 0, 4, 0, UNI_bpt_values_index } /* bpt= */, - { 3, 21, 7118, 2, 10, UNI_INWARANGCITI } /* inwarangciti */, - { 0, 3128, 9433, 18, 4, UNI_IDSB } /* idsbinaryoperator=true */, - { 0, 8233, 9409, 7, 4, UNI_SC__TAML } /* script=taml */, - { 0, 9365, 9101, 4, 4, UNI_BUHD } /* scx=buhd */, - { 10, 8886, 9241, 3, 4, UNI_MEDF } /* sc=medf */, - { 0, 9623, 4567, 3, 15, UNI_JG__MANICHAEANZAYIN } /* jg=manichaeanzayin */, - { 6, 7018, 7159, 10, 3, UNI_IN__5 } /* presentin=5.0 */, - { 0, 3868, 1508, 16, 2, UNI_PS } /* generalcategory=ps */, - { 1, 3671, 9249, 17, 4, UNI_MERC } /* scriptextensions=merc */, - { 1, 8051, 3, 7, 1, -UNI_COMPEX } /* compex=f */, - { 0, 8424, 8924, 6, 5, UNI_INORIYA } /* block=oriya */, - { 0, 9623, 6756, 3, 11, UNI_JG__YEHWITHTAIL } /* jg=yehwithtail */, - { 1, 8496, 3, 6, 1, -UNI_CWKCF } /* cwkcf=f */, - { 0, 7128, 72, 10, 2, UNI_WB__LE } /* wordbreak=le */, - { 1, 9647, 9517, 3, 2, UNI_NV__42 } /* nv=42 */, - { 1, 7018, 9683, 10, 3, UNI_IN__3_DOT_1 } /* presentin=v31 */, - { 1, 9662, 36, 3, 1, UNI_SD } /* sd=t */, - { 0, 8114, 0, 7, 0, UNI_KALI } /* kayahli */, - { 19, 5760, 7556, 13, 8, UNI_NV__1_SLASH_32 } /* numericvalue=3.13e-02 */, - { 0, 2204, 7331, 4, 7, UNI_ITAL } /* isolditalic */, - { 1, 9093, 4220, 4, 6, UNI_INTANGUT } /* blk=tangut */, - { 3, 9113, 7459, 4, 2, UNI_CCC__21 } /* ccc=21 */, - { 5, 8424, 2760, 6, 19, UNI_MODIFIERTONELETTERS } /* block=modifiertoneletters */, - { 9, 9620, 1036, 3, 2, UNI_CASEDLETTER } /* gc=lc */, - { 18, 8424, 2513, 6, 19, UNI_ANCIENTGREEKNUMBERS } /* block=ancientgreeknumbers */, - { 3, 3671, 8914, 17, 5, UNI_NSHU } /* scriptextensions=nushu */, - { 77, 9153, 5944, 5, 11, UNI_WB__EB } /* gcb=glueafterzwj */, - { 3, 8886, 7964, 3, 8, UNI_TFNG } /* sc=tifinagh */, - { 0, 2684, 0, 19, 0, UNI_hst_values_index } /* hangulsyllabletype= */, - { 0, 8424, 2931, 7, 7, UNI_INCHEROKEE } /* block=cherokee */, - { 0, 8508, 3, 6, 1, -UNI_GREXT } /* grext=f */, - { 16, 3671, 8562, 17, 4, UNI_LYCI } /* scriptextensions=lyci */, - { 0, 9113, 4701, 4, 2, UNI_CCC__0 } /* ccc=nr */, - { 21, 6918, 5953, 10, 2, UNI_LB__WJ } /* linebreak=wj */, - { 2, 8616, 0, 5, 0, UNI_STERM } /* sterm */, - { 16, 184, 0, 3, 0, UNI_C } /* isc */, - { 1, 9623, 6536, 3, 11, UNI_JG__MALAYALAMJA } /* jg=malayalamja */, - { 16, 4361, 1578, 4, 21, UNI_GEOMETRICSHAPESEXT } /* ingeometricshapesextended */, - { 16, 8886, 9185, 3, 4, UNI_HMNG } /* sc=hmng */, - { 14, 1158, 2022, 3, 14, UNI_TRANSPORTANDMAP } /* intransportandmap */, - { 20, 8886, 9353, 3, 4, UNI_RUNR } /* sc=runr */, - { 1, 9093, 8107, 4, 7, UNI_INKANNADA } /* blk=kannada */, - { 5, 9093, 6316, 4, 3, UNI_INIDC } /* blk=idc */, - { 13, 3671, 8262, 18, 3, UNI_SOYO } /* scriptextensions=soyo */, - { 6, 9093, 878, 4, 10, UNI_PUA } /* blk=privateuse */, - { 4, 8924, 0, 5, 0, UNI_ORYA } /* oriya */, - { 5, 9620, 4507, 3, 15, UNI_LOWERCASELETTER } /* gc=lowercaseletter */, - { 3, 3948, 922, 3, 27, UNI_VSSUP } /* invariationselectorssupplement */, - { 0, 4705, 8304, 3, 6, UNI_TIBT } /* istibetan */, - { 1, 3671, 9085, 17, 4, UNI_BATK } /* scriptextensions=batk */, - { 30, 1497, 0, 9, 0, UNI_gc_values_index } /* category= */, - { 4, 8556, 3, 6, 1, -UNI_XPOSIXLOWER } /* lower=f */, - { 0, 7025, 9437, 3, 4, UNI_IN__10 } /* in=v100 */, - { 0, 5760, 8388, 13, 4, UNI_NV__7000 } /* numericvalue=7000 */, - { 0, 8233, 7332, 7, 4, UNI_ITAL } /* script=ital */, - { 1, 8886, 9285, 3, 3, UNI_NKO } /* sc=nko */, - { 17, 9605, 2204, 3, 3, UNI_DT__ISO } /* dt=iso */, - { 0, 9901, 6316, 3, 3, UNI_XIDC } /* isxidc */, - { 0, 9620, 6039, 3, 12, UNI_NL } /* gc=letternumber */, - { 0, 5269, 995, 14, 2, -UNI_PATSYN } /* patternsyntax=no */, - { 2, 9113, 9527, 4, 3, UNI_CCC__R } /* ccc=226 */, - { 0, 8051, 0, 7, 0, UNI_compex_values_index } /* compex= */, - { 0, 2148, 1669, 3, 22, UNI_SUPPUNCTUATION } /* insupplementalpunctuation */, - { 7, 8424, 6767, 6, 11, UNI_YISYLLABLES } /* block=yisyllables */, - { 2, 9731, 7284, 3, 9, UNI_WB__ML } /* wb=midletter */, - { 23, 8886, 7302, 3, 9, UNI_NBAT } /* sc=nabataean */, - { 0, 9365, 4946, 4, 4, UNI_CHAM } /* scx=cham */, - { 16, 1955, 0, 22, 0, UNI_MISCTECHNICAL } /* miscellaneoustechnical */, - { 0, 1362, 7435, 24, 2, UNI_CCC__11 } /* canonicalcombiningclass=11 */, - { 4, 9781, 6316, 6, 6, UNI__PERL_IDCONT } /* _perl_idcont */, - { 21, 184, 3884, 2, 16, UNI_GEORGIANEXT } /* isgeorgianextended */, - { 2, 1362, 6818, 24, 10, UNI_CCC__BR } /* canonicalcombiningclass=belowright */, - { 0, 3671, 6898, 17, 4, UNI_KHAR } /* scriptextensions=khar */, - { 17, 1691, 17, 22, 1, UNI_BPT__O } /* bidipairedbrackettype=o */, - { 6, 8854, 36, 5, 1, UNI_DASH } /* dash=t */, - { 0, 2142, 16, 3, 1, UNI_NB } /* innb */, - { 1, 184, 4092, 2, 16, UNI_MISCMATHSYMBOLSB } /* ismiscmathsymbolsb */, - { 0, 3671, 3467, 17, 17, UNI_AGHB } /* scriptextensions=caucasianalbanian */, - { 2, 5213, 8904, 14, 5, UNI_NFCQC__M } /* nfcquickcheck=maybe */, - { 0, 184, 3772, 2, 11, UNI_BOPOMOFOEXT } /* isbopomofoext */, - { 3, 9217, 0, 4, 0, UNI_LAO } /* laoo */, - { 3, 2148, 2856, 3, 18, UNI_SUPARROWSA } /* insupplementalarrowsa */, - { 1, 8233, 4672, 7, 15, UNI_SARB } /* script=oldsoutharabian */, - { 3, 9093, 183, 4, 20, UNI_MISCSYMBOLS } /* blk=miscellaneoussymbols */, - { 1, 9731, 7293, 3, 6, UNI_WB__MN } /* wb=midnum */, - { 3, 3868, 3852, 16, 16, UNI_PF } /* generalcategory=finalpunctuation */, - { 5, 2106, 18, 21, 2, UNI_RI } /* graphemeclusterbreak=ri */, - { 0, 8886, 9157, 3, 4, UNI_SC__GONG } /* sc=gong */, - { 1, 2204, 1031, 3, 26, UNI_OCR } /* isopticalcharacterrecognition */, - { 3, 184, 1239, 2, 24, UNI_COMPEX } /* isfullcompositionexclusion */, - { 8, 3293, 1, 3, 33, UNI_UCAS } /* inunifiedcanadianaboriginalsyllabics */, - { 10, 4778, 1813, 3, 8, UNI_XPOSIXUPPER } /* isuppercase */, - { 5, 9365, 7796, 4, 4, UNI_BASS } /* scx=bass */, - { 2, 9093, 893, 4, 28, UNI_SUPPUAB } /* blk=supplementaryprivateuseareab */, - { 0, 5760, 9745, 13, 2, UNI_NV__46 } /* numericvalue=46 */, - { 0, 9153, 7820, 4, 8, UNI_WB__EB } /* gcb=ebasegaz */, - { 11, 8233, 835, 10, 1, UNI_SHAW } /* script=shaw */, - { 2, 5760, 5409, 13, 4, UNI_NV__1000 } /* numericvalue=1000 */, - { 1, 8233, 5955, 7, 12, UNI_SC__GONG } /* script=gunjalagondi */, - { 1, 9728, 1, 3, 1, -UNI_VS } /* vs=n */, - { 0, 5760, 9001, 13, 4, UNI_NV__11_SLASH_2 } /* numericvalue=11/2 */, - { 2, 184, 567, 2, 2, UNI_NB } /* isnb */, - { 11, 9623, 7828, 3, 8, UNI_JG__FARSIYEH } /* jg=farsiyeh */, - { 0, 8233, 4267, 7, 4, UNI_BAMU } /* script=bamu */, - { 0, 2142, 9282, 3, 3, UNI_INNEWA } /* innewa */, - { 8, 184, 6183, 2, 4, UNI_MEND } /* ismend */, - { 0, 9383, 8242, 4, 5, UNI_INSHARADA } /* insharada */, - { 1, 8233, 8484, 7, 6, UNI_SC__CAKM } /* script=chakma */, - { 0, 5565, 6135, 13, 12, UNI_JG__MALAYALAMTTA } /* joininggroup=malayalamtta */, - { 0, 8219, 9433, 7, 4, UNI_PATSYN } /* patsyn=true */, - { 11, 184, 3705, 2, 17, UNI_SMALLFORMS } /* issmallformvariants */, - { 1, 9731, 7825, 3, 3, UNI_WB__EB } /* wb=gaz */, - { 0, 1159, 5678, 3, 4, UNI_NV__NAN } /* nt=none */, - { 0, 9647, 8674, 3, 5, UNI_NV__11_SLASH_12 } /* nv=11/12 */, - { 0, 184, 3210, 2, 8, UNI_DINGBATS } /* isdingbats */, - { 8, 5760, 7748, 13, 8, UNI_NV__17_SLASH_2 } /* numericvalue=8.50e+00 */, - { 0, 5085, 5723, 4, 11, UNI_MAYANNUMERALS } /* inmayannumerals */, - { 1, 5760, 9025, 13, 4, UNI_NV__3_SLASH_20 } /* numericvalue=3/20 */, - { 16, 7025, 9698, 3, 3, UNI_IN__5_DOT_1 } /* in=v51 */, - { 4, 9081, 0, 4, 0, UNI_AVST } /* avst */, - { 0, 8532, 0, 6, 0, UNI_KANBUN } /* kanbun */, - { 1, 8871, 7383, 3, 9, UNI_SB__SC } /* sb=scontinue */, - { 0, 9365, 8241, 5, 6, UNI_SHRD } /* scx=sharada */, - { 8, 9593, 2433, 3, 11, UNI_BC__R } /* bc=righttoleft */, - { 3, 9620, 9775, 3, 2, UNI_ZL } /* gc=zl */, - { 8, 8886, 7772, 3, 8, UNI_SC__ARMN } /* sc=armenian */, - { 0, 5760, 8817, 13, 2, UNI_NV__34 } /* numericvalue=34 */, - { 96, 8233, 9285, 7, 4, UNI_NKO } /* script=nkoo */, - { 2, 8424, 2393, 6, 20, UNI_INNYIAKENGPUACHUEHMONG } /* block=nyiakengpuachuehmong */, - { 0, 9647, 8400, 3, 2, UNI_NV__90 } /* nv=90 */, - { 1, 8954, 36, 5, 1, UNI_XIDC } /* xidc=t */, - { 0, 8635, 3, 5, 1, -UNI_IDEO } /* ideo=f */, - { 6, 6918, 7202, 10, 2, UNI_LB__BB } /* linebreak=bb */, - { 2, 446, 0, 18, 0, UNI_IDEOGRAPHICSYMBOLS } /* ideographicsymbols */, - { 2, 2148, 7089, 3, 9, UNI_SUPARROWSC } /* insuparrowsc */, - { 0, 8424, 8058, 6, 7, UNI_DSRT } /* block=deseret */, - { 3, 9049, 9587, 4, 3, UNI_AGE__9 } /* age=9.0 */, - { 0, 9725, 471, 3, 2, UNI_VO__TU } /* vo=tu */, - { 1, 9365, 8114, 4, 7, UNI_KALI } /* scx=kayahli */, - { 1, 8424, 1003, 6, 27, UNI_ENCLOSEDCJK } /* block=enclosedcjklettersandmonths */, - { 8, 184, 1867, 2, 12, UNI_DIACRITICALS } /* isdiacriticals */, - { 1, 6005, 8045, 3, 6, UNI_CJKEXTF } /* incjkextf */, - { 24, 9647, 8669, 3, 3, UNI_NV__1_SLASH_3 } /* nv=1/3 */, - { 82, 8424, 7356, 6, 9, UNI_PALM } /* block=palmyrene */, - { 22, 6679, 36, 11, 1, UNI_SD } /* softdotted=t */, - { 15, 4826, 0, 9, 0, UNI_hex_values_index } /* hexdigit= */, - { 0, 9093, 8929, 4, 5, UNI_INOSAGE } /* blk=osage */, - { 2, 6885, 4827, 3, 7, UNI_XPOSIXXDIGIT } /* ishexdigit */, - { 8, 5339, 495, 14, 2, UNI_SB__NU } /* sentencebreak=nu */, - { 4, 8879, 879, 3, 13, UNI_PUA } /* inprivateusearea */, - { 1, 5760, 7636, 13, 8, UNI_NV__1_SLASH_20 } /* numericvalue=5.00e-02 */, - { 7, 8886, 2779, 3, 9, UNI_SC__MONG } /* sc=mongolian */, - { 1, 1977, 1, 22, 1, -UNI__PERL_NCHAR } /* noncharactercodepoint=n */, - { 5, 9113, 8909, 4, 5, UNI_CCC__7 } /* ccc=nukta */, - { 8, 4863, 0, 14, 0, UNI_CJKCOMPATFORMS } /* cjkcompatforms */, - { 0, 8424, 3110, 6, 18, UNI_GEORGIANSUP } /* block=georgiansupplement */, - { 0, 8886, 6988, 3, 10, UNI_SOGO } /* sc=oldsogdian */, - { 2, 184, 9221, 2, 4, UNI_LATN } /* islatn */, - { 45, 1362, 8358, 24, 2, UNI_CCC__30 } /* canonicalcombiningclass=30 */, - { 7, 6567, 831, 6, 6, UNI_MISCARROWS } /* inmiscarrows */, - { 1, 1136, 1, 26, 1, -UNI_DI } /* defaultignorablecodepoint=n */, - { 17, 9623, 9617, 3, 3, UNI_JG__GAF } /* jg=gaf */, - { 0, 9469, 0, 4, 0, UNI_XSUX } /* xsux */, - { 0, 8233, 8128, 7, 4, UNI_MAKA } /* script=maka */, - { 0, 7128, 108, 10, 2, UNI_WB__MB } /* wordbreak=mb */, - { 1, 7108, 3, 10, 1, -UNI_XPOSIXUPPER } /* uppercase=f */, - { 1, 184, 540, 3, 29, UNI_CJKEXTB } /* iscjkunifiedideographsextensionb */, - { 1, 5760, 8376, 13, 4, UNI_NV__5000 } /* numericvalue=5000 */, - { 4, 1362, 9524, 24, 3, UNI_CCC__L } /* canonicalcombiningclass=224 */, - { 3, 9365, 7844, 4, 8, UNI_GUJR } /* scx=gujarati */, - { 73, 8424, 78, 6, 6, UNI_INARABIC } /* block=arabic */, - { 0, 7230, 36, 9, 1, UNI_EXT } /* extender=t */, - { 9, 8424, 8107, 6, 7, UNI_INKANNADA } /* block=kannada */, - { 17, 6918, 9763, 10, 2, UNI_GCB__V } /* linebreak=jv */, - { 23, 9093, 2513, 4, 19, UNI_ANCIENTGREEKNUMBERS } /* blk=ancientgreeknumbers */, - { 1, 8424, 6591, 6, 11, UNI_MYANMAREXTB } /* block=myanmarextb */, - { 0, 8233, 8289, 7, 7, UNI_LANA } /* script=taitham */, - { 0, 9365, 4297, 4, 4, UNI_BRAI } /* scx=brai */, - { 0, 8886, 3038, 3, 8, UNI_ETHI } /* sc=ethiopic */, - { 3, 9647, 9747, 3, 2, UNI_NV__47 } /* nv=47 */, - { 0, 5760, 7764, 13, 8, UNI_NV__11_SLASH_12 } /* numericvalue=9.17e-01 */, - { 1, 184, 5500, 2, 13, UNI_ME } /* isenclosingmark */, - { 9, 9113, 8461, 5, 5, UNI_CCC__129 } /* ccc=ccc129 */, - { 14, 8580, 0, 7, 0, -UNI__PERL_NCHAR } /* nchar=n */, - { 0, 3671, 9045, 17, 4, UNI_ADLM } /* scriptextensions=adlm */, - { 2, 8412, 26, 6, 1, UNI_BIDIC } /* bidic=y */, - { 0, 9623, 6852, 3, 3, UNI_JG__KAF } /* jg=kaf */, - { 11, 5760, 7524, 13, 8, UNI_NV__1_SLASH_4 } /* numericvalue=2.50e-01 */, - { 129, 9113, 7603, 4, 2, UNI_CCC__24 } /* ccc=24 */, - { 0, 4361, 3112, 4, 16, UNI_GEORGIANSUP } /* ingeorgiansupplement */, - { 1, 3254, 0, 17, 0, UNI_RI } /* regionalindicator */, - { 1, 8886, 7956, 3, 4, UNI_SC__TAGB } /* sc=tagb */, - { 8, 184, 27, 2, 2, UNI_LOWERCASELETTER } /* isll */, - { 7, 2142, 8190, 3, 2, UNI_INNKO } /* innko */, - { 3, 5565, 8890, 14, 4, UNI_JG__KHAPH } /* joininggroup=khaph */, - { 0, 3951, 4493, 3, 14, UNI_ARMI } /* isimperialaramaic */, - { 11, 4821, 0, 5, 0, UNI_ASCII } /* ascii */, - { 2, 9777, 0, 2, 0, UNI_ZP } /* zp */, - { 0, 9909, 9921, 7, 5, UNI_POSIXPRINT } /* isposixprint */, - { 0, 2212, 3903, 5, 13, UNI_HALFANDFULLFORMS } /* inhalfandfullforms */, - { 1, 9113, 8439, 4, 3, UNI_CCC__103 } /* ccc=103 */, - { 2, 184, 1, 2, 1, UNI_N } /* isn */, - { 0, 5435, 0, 13, 0, UNI_bidim_values_index } /* bidimirrored= */, - { 0, 9593, 24, 3, 1, UNI_BC__L } /* bc=l */, - { 1, 9731, 4140, 3, 5, UNI_WB__XX } /* wb=other */, - { 2, 9903, 467, 6, 5, UNI_XPOSIXPUNCT } /* xposixpunct */, - { 6, 9097, 4687, 4, 4, UNI_BPT__O } /* bpt=open */, - { 3, 184, 988, 2, 5, UNI_MUSIC } /* ismusic */, - { 1, 9365, 9405, 4, 4, UNI_TALU } /* scx=talu */, - { 2, 8886, 5967, 3, 4, UNI_HEBR } /* sc=hebr */, - { 9, 8685, 26, 4, 1, UNI_XPOSIXXDIGIT } /* hex=y */, - { 8, 1362, 5138, 24, 2, UNI_CCC__7 } /* canonicalcombiningclass=nk */, - { 4, 9901, 3248, 8, 5, UNI_XPOSIXSPACE } /* isxposixspace */, - { 3, 8424, 2065, 7, 20, UNI_CJKRADICALSSUP } /* block=cjkradicalssupplement */, - { 0, 7128, 8156, 10, 7, UNI_WB__NL } /* wordbreak=newline */, - { 2, 7374, 0, 9, 0, UNI_SAMR } /* samaritan */, - { 5, 8424, 78, 6, 10, UNI_ARABICMATH } /* block=arabicmath */, - { 21, 9093, 3620, 4, 10, UNI_INMANICHAEAN } /* blk=manichaean */, - { 0, 9049, 9719, 4, 3, UNI_AGE__8 } /* age=v80 */, - { 0, 8886, 9105, 3, 4, UNI_SC__CAKM } /* sc=cakm */, - { 1, 1735, 1, 22, 1, -UNI_CWCM } /* changeswhencasemapped=n */, - { 3, 9093, 8254, 4, 7, UNI_INSIDDHAM } /* blk=siddham */, - { 9, 9093, 382, 4, 32, UNI_EGYPTIANHIEROGLYPHFORMATCONTROLS } /* blk=egyptianhieroglyphformatcontrols */, - { 0, 1924, 9768, 10, 1, UNI_CASEDLETTER } /* category=l& */, - { 5, 8233, 9053, 7, 4, UNI_AGHB } /* script=aghb */, - { 4, 1239, 1, 25, 1, -UNI_COMPEX } /* fullcompositionexclusion=n */, - { 14, 184, 9289, 2, 4, UNI_NSHU } /* isnshu */, - { 0, 6231, 11, 12, 2, UNI_NT__DI } /* numerictype=di */, - { 1, 1482, 3344, 24, 18, UNI_INPC__TOPANDLEFTANDRIGHT } /* indicpositionalcategory=topandleftandright */, - { 36, 184, 8002, 2, 7, UNI_BENG } /* isbengali */, - { 1, 9629, 836, 3, 2, UNI_LB__SP } /* lb=sp */, - { 0, 4849, 0, 13, 0, UNI_CI } /* caseignorable */, - { 2, 4989, 0, 6, 0, UNI_KANGXI } /* kangxi */, - { 8, 6828, 9632, 10, 3, UNI_BC__LRE } /* bidiclass=lre */, - { 1, 9909, 8599, 3, 4, UNI__PERL_PATWS } /* ispatws */, - { 4, 6194, 7330, 3, 8, UNI_INOLDITALIC } /* inolditalic */, - { 0, 8879, 2473, 5, 12, UNI_INPC__TOPANDBOTTOM } /* inpc=topandbottom */, - { 8, 3671, 9289, 17, 4, UNI_NSHU } /* scriptextensions=nshu */, - { 0, 3948, 67, 3, 4, UNI_VSSUP } /* invssup */, - { 2, 3671, 4205, 18, 5, UNI_SYRC } /* scriptextensions=syriac */, - { 0, 3248, 9782, 5, 4, UNI_XPOSIXSPACE } /* spaceperl */, - { 1, 9620, 5258, 3, 11, UNI_MC } /* gc=spacingmark */, - { 0, 8955, 36, 4, 1, UNI_IDC } /* idc=t */, - { 1, 3671, 9257, 17, 4, UNI_MLYM } /* scriptextensions=mlym */, - { 1, 8635, 9734, 5, 3, UNI_IDEO } /* ideo=yes */, - { 7, 7, 0, 1, 0, UNI_C } /* c */, - { 20, 2192, 0, 2, 0, UNI_PD } /* pd */, - { 1, 9731, 9773, 3, 2, UNI_WB__XX } /* wb=xx */, - { 1, 6828, 23, 10, 2, UNI_BC__AL } /* bidiclass=al */, - { 0, 8955, 26, 4, 1, UNI_IDC } /* idc=y */, - { 2, 9093, 5526, 4, 8, UNI_GREEKEXT } /* blk=greekext */, - { 0, 1757, 36, 22, 1, UNI_CWL } /* changeswhenlowercased=t */, - { 12, 8886, 7788, 3, 8, UNI_BALI } /* sc=balinese */, - { 6, 9049, 9563, 4, 3, UNI_AGE__5_DOT_1 } /* age=5.1 */, - { 2, 9285, 0, 4, 0, UNI_NKO } /* nkoo */, - { 0, 9093, 865, 4, 28, UNI_SUPPUAA } /* blk=supplementaryprivateuseareaa */, - { 1, 184, 8550, 2, 4, UNI_LEPC } /* islepc */, - { 0, 9605, 5678, 3, 4, UNI_DT__NONE } /* dt=none */, - { 0, 2708, 3758, 4, 7, UNI_ARABICSUP } /* inarabicsup */, - { 1, 184, 7203, 2, 9, UNI_BHKS } /* isbhaiksuki */, - { 0, 5760, 7462, 13, 2, UNI_NV__43 } /* numericvalue=43 */, - { 0, 8424, 7964, 6, 8, UNI_INTIFINAGH } /* block=tifinagh */, - { 0, 184, 9085, 2, 4, UNI_BATK } /* isbatk */, - { 9, 1243, 9734, 21, 3, UNI_CE } /* compositionexclusion=yes */, - { 5, 3868, 339, 16, 2, UNI_LO } /* generalcategory=lo */, - { 1, 9620, 5809, 3, 2, UNI_PF } /* gc=pf */, - { 0, 9137, 3, 4, 1, -UNI_DEP } /* dep=f */, - { 0, 184, 3772, 2, 4, UNI_BOPO } /* isbopo */, - { 1, 7329, 0, 9, 0, UNI_ITAL } /* olditalic */, - { 40, 4241, 3022, 4, 8, UNI_INDEVANAGARI } /* indevanagari */, - { 1, 9629, 9763, 3, 2, UNI_GCB__V } /* lb=jv */, - { 0, 9093, 6809, 5, 9, UNI_ASCII } /* blk=basiclatin */, - { 1, 3756, 0, 16, 0, UNI_ARABICSUP } /* arabicsupplement */, - { 0, 9365, 5967, 4, 4, UNI_HEBR } /* scx=hebr */, - { 9, 9093, 6279, 4, 12, UNI_PLAYINGCARDS } /* blk=playingcards */, - { 1, 8233, 6554, 8, 3, UNI_SAMR } /* script=samr */, - { 1, 5339, 6318, 15, 8, UNI_SB__SC } /* sentencebreak=scontinue */, - { 0, 8233, 8002, 7, 4, UNI_SC__BENG } /* script=beng */, - { 4, 8332, 2254, 3, 19, UNI_HLUW } /* isanatolianhieroglyphs */, - { 0, 6885, 4478, 3, 14, UNI_INHANGUL } /* ishangulsyllables */, - { 0, 9904, 62, 5, 5, UNI_POSIXGRAPH } /* posixgraph */, - { 0, 11, 0, 3, 0, UNI_DIA } /* dia */, - { 13, 184, 339, 2, 2, UNI_LO } /* islo */, - { 5, 9093, 6267, 4, 8, UNI_PHAISTOS } /* blk=phaistos */, - { 5, 9141, 1, 4, 1, -UNI_DIA } /* dia=n */, - { 0, 2204, 9302, 3, 3, UNI_ORKH } /* isorkh */, - { 3, 217, 0, 33, 0, UNI_DIACRITICALSEXT } /* combiningdiacriticalmarksextended */, - { 7, 3868, 467, 16, 5, UNI_P } /* generalcategory=punct */, - { 0, 8886, 7, 3, 18, UNI_CANS } /* sc=canadianaboriginal */, - { 0, 7128, 5520, 10, 5, UNI_WB__EB } /* wordbreak=ebase */, - { 18, 1497, 4080, 9, 10, UNI_SM } /* category=mathsymbol */, - { 0, 9217, 0, 3, 0, UNI_LAO } /* lao */, - { 0, 5760, 9580, 13, 2, UNI_NV__37 } /* numericvalue=37 */, - { 4, 8886, 3467, 3, 17, UNI_AGHB } /* sc=caucasianalbanian */, - { 3, 184, 17, 3, 1, UNI_CO } /* isco */, - { 3, 4849, 1, 14, 1, -UNI_CI } /* caseignorable=n */, - { 2, 6918, 2564, 10, 2, UNI_LB__BA } /* linebreak=ba */, - { 15, 8424, 690, 7, 29, UNI_CUNEIFORMNUMBERS } /* block=cuneiformnumbersandpunctuation */, - { 1, 8886, 4267, 3, 5, UNI_BAMU } /* sc=bamum */, - { 2, 184, 1802, 3, 20, UNI_CWU } /* ischangeswhenuppercased */, - { 6, 3671, 9069, 17, 4, UNI_ARMN } /* scriptextensions=armn */, - { 3, 8954, 26, 5, 1, UNI_XIDC } /* xidc=y */, - { 0, 2684, 7401, 19, 9, UNI_GCB__V } /* hangulsyllabletype=voweljamo */, - { 70, 9629, 8345, 3, 7, UNI_LB__ZW } /* lb=zwspace */, - { 1, 5760, 7159, 13, 8, UNI_NV__1_SLASH_2 } /* numericvalue=5.00e-01 */, - { 0, 6005, 8038, 3, 6, UNI_CJKEXTE } /* incjkexte */, - { 0, 6679, 26, 11, 1, UNI_SD } /* softdotted=y */, - { 3, 9093, 0, 4, 0, UNI_blk_values_index } /* blk= */, - { 0, 7932, 9433, 8, 4, UNI_RADICAL } /* radical=true */, - { 0, 8424, 4297, 6, 7, UNI_BRAI } /* block=braille */, - { 1, 9365, 9065, 4, 4, UNI_ARMI } /* scx=armi */, - { 0, 8233, 4492, 7, 15, UNI_ARMI } /* script=imperialaramaic */, - { 0, 8424, 9217, 6, 3, UNI_INLAO } /* block=lao */, - { 0, 2930, 0, 11, 0, UNI_CHEROKEESUP } /* cherokeesup */, - { 0, 8502, 0, 4, 0, UNI_GOTH } /* goth */, - { 1, 1362, 7571, 24, 2, UNI_CCC__33 } /* canonicalcombiningclass=33 */, - { 4, 8051, 995, 7, 2, -UNI_COMPEX } /* compex=no */, - { 4, 1362, 8479, 25, 5, UNI_WB__EB } /* canonicalcombiningclass=ccc133 */, - { 0, 9093, 976, 4, 27, UNI_ANCIENTGREEKMUSIC } /* blk=ancientgreekmusicalnotation */, - { 0, 1536, 5908, 3, 11, UNI_ETHIOPICEXTA } /* inethiopicexta */, - { 0, 3671, 8149, 17, 7, UNI_MULT } /* scriptextensions=multani */, - { 64, 8418, 8864, 6, 5, -UNI_BIDIM } /* bidim=false */, - { 0, 1482, 2373, 24, 4, UNI_INPC__LEFT } /* indicpositionalcategory=left */, - { 0, 8191, 0, 7, 0, UNI_OLCK } /* olchiki */, - { 1, 8324, 0, 7, 0, UNI_ZZZZ } /* unknown */, - { 0, 5339, 400, 14, 6, UNI_SB__FO } /* sentencebreak=format */, - { 17, 9629, 5773, 3, 13, UNI_LB__PR } /* lb=prefixnumeric */, - { 0, 9093, 3038, 4, 18, UNI_ETHIOPICSUP } /* blk=ethiopicsupplement */, - { 0, 184, 328, 2, 21, UNI_MATHOPERATORS } /* ismathematicaloperators */, - { 0, 5760, 8970, 13, 3, UNI_NV__1_SLASH_2 } /* numericvalue=1/2 */, - { 3, 4642, 1, 15, 1, UNI_NFKDQC__N } /* nfkdquickcheck=n */, - { 2, 9365, 5967, 4, 6, UNI_HEBR } /* scx=hebrew */, - { 5, 9113, 1149, 4, 2, UNI_CCC__BL } /* ccc=bl */, - { 8, 8233, 8652, 7, 6, UNI_WCHO } /* script=wancho */, - { 10, 3868, 206, 16, 2, UNI_PI } /* generalcategory=pi */, - { 0, 9605, 9149, 3, 4, UNI_DT__FONT } /* dt=font */, - { 5, 8233, 6243, 7, 12, UNI_HUNG } /* script=oldhungarian */, - { 0, 8233, 6898, 7, 4, UNI_KHAR } /* script=khar */, - { 2, 8424, 6580, 6, 11, UNI_MYANMAREXTA } /* block=myanmarexta */, - { 19, 8424, 4432, 6, 15, UNI_DIACRITICALSSUP } /* block=diacriticalssup */, - { 10, 9365, 9333, 4, 4, UNI_COPT } /* scx=qaac */, - { 0, 9093, 3110, 4, 11, UNI_GEORGIANSUP } /* blk=georgiansup */, - { 0, 9113, 5409, 4, 2, UNI_CCC__10 } /* ccc=10 */, - { 0, 6885, 8515, 3, 5, UNI_HATR } /* ishatran */, - { 0, 184, 9233, 2, 4, UNI_LISU } /* islisu */, - { 7, 3236, 0, 18, 0, UNI_patws_values_index } /* patternwhitespace= */, - { 1, 9313, 9433, 4, 4, UNI_PCM } /* pcm=true */, - { 9, 9365, 9161, 4, 4, UNI_GONM } /* scx=gonm */, - { 2, 9121, 3, 4, 1, -UNI_CWL } /* cwl=f */, - { 0, 1057, 26, 27, 1, UNI_PCM } /* prependedconcatenationmark=y */, - { 1, 8886, 9329, 3, 4, UNI_PRTI } /* sc=prti */, - { 5, 9620, 132, 3, 2, UNI_LM } /* gc=lm */, - { 0, 184, 6382, 2, 6, UNI_DOMINO } /* isdomino */, - { 0, 9049, 9005, 4, 4, UNI_AGE__12_DOT_1 } /* age=12.1 */, - { 0, 3671, 2333, 17, 4, UNI_GLAG } /* scriptextensions=glag */, - { 1, 3671, 4297, 17, 7, UNI_BRAI } /* scriptextensions=braille */, - { 0, 9113, 8782, 4, 2, UNI_CCC__27 } /* ccc=27 */, - { 8, 9647, 8376, 3, 3, UNI_NV__500 } /* nv=500 */, - { 1, 8869, 3, 5, 1, -UNI_IDSB } /* idsb=f */, - { 0, 2142, 8178, 3, 6, UNI_NB } /* innoblock */, - { 10, 9093, 6723, 4, 11, UNI_INSYLOTINAGRI } /* blk=sylotinagri */, - { 0, 9093, 217, 4, 33, UNI_DIACRITICALSEXT } /* blk=combiningdiacriticalmarksextended */, - { 13, 4762, 0, 15, 0, UNI_VEDICEXT } /* vedicextensions */, - { 0, 7008, 0, 10, 0, UNI_PHNX } /* phoenician */, - { 1, 8233, 8262, 8, 6, UNI_SOYO } /* script=soyombo */, - { 0, 9093, 2589, 4, 19, UNI_COUNTINGROD } /* blk=countingrodnumerals */, - { 0, 1136, 0, 25, 0, UNI_DI } /* defaultignorablecodepoint */, - { 13, 8886, 8205, 3, 4, UNI_OSMA } /* sc=osma */, - { 1, 9647, 8977, 3, 4, UNI_NV__1_SLASH_20 } /* nv=1/20 */, - { 22, 2333, 0, 20, 0, UNI_GLAGOLITICSUP } /* glagoliticsupplement */, - { 1, 9593, 25, 3, 1, UNI_BC__S } /* bc=s */, - { 8, 8051, 8864, 7, 5, -UNI_COMPEX } /* compex=false */, - { 5, 1845, 0, 6, 0, UNI_ZYYY } /* common */, - { 1, 478, 0, 31, 0, UNI_MATHALPHANUM } /* mathematicalalphanumericsymbols */, - { 3, 1362, 2733, 24, 2, UNI_CCC__1 } /* canonicalcombiningclass=ov */, - { 2, 5760, 7747, 13, 2, UNI_NV__28 } /* numericvalue=28 */, - { 2, 8424, 5578, 6, 13, UNI_KANAEXTA } /* block=kanaextendeda */, - { 0, 9605, 8574, 3, 6, UNI_DT__NAR } /* dt=narrow */, - { 36, 9093, 2874, 4, 19, UNI_SUPARROWSB } /* blk=supplementalarrowsb */, - { 0, 6183, 0, 12, 0, UNI_MEND } /* mendekikakui */, - { 0, 3671, 8079, 17, 7, UNI_GRAN } /* scriptextensions=grantha */, - { 0, 8685, 36, 4, 1, UNI_XPOSIXXDIGIT } /* hex=t */, - { 0, 1141, 0, 2, 0, UNI_TITLE } /* lt */, - { 0, 8233, 7956, 7, 8, UNI_SC__TAGB } /* script=tagbanwa */, - { 2, 8886, 9225, 3, 4, UNI_SC__LINA } /* sc=lina */, - { 12, 1497, 5259, 10, 10, UNI_MC } /* category=spacingmark */, - { 0, 9623, 6099, 3, 12, UNI_JG__MALAYALAMNNA } /* jg=malayalamnna */, - { 11, 8233, 7796, 7, 4, UNI_BASS } /* script=bass */, - { 1, 9093, 7892, 4, 8, UNI_INJAVANESE } /* blk=javanese */, - { 10, 7932, 8864, 8, 5, -UNI_RADICAL } /* radical=false */, - { 2, 9602, 9734, 3, 3, UNI_DI } /* di=yes */, - { 0, 9623, 6147, 3, 12, UNI_JG__MANICHAEANPE } /* jg=manichaeanpe */, - { 0, 9113, 7539, 4, 3, UNI_CCC__B } /* ccc=220 */, - { 1, 8424, 1889, 6, 22, UNI_EARLYDYNASTICCUNEIFORM } /* block=earlydynasticcuneiform */, - { 0, 3868, 2273, 16, 20, UNI_PC } /* generalcategory=connectorpunctuation */, - { 16, 8424, 3469, 8, 15, UNI_INCAUCASIANALBANIAN } /* block=caucasianalbanian */, - { 3, 21, 8107, 2, 7, UNI_INKANNADA } /* inkannada */, - { 0, 1482, 9, 24, 2, UNI_INPC__NA } /* indicpositionalcategory=na */, - { 0, 698, 0, 6, 0, UNI_N } /* number */, - { 0, 1924, 36, 10, 1, UNI_TITLE } /* category=lt */, - { 0, 5760, 8969, 13, 4, UNI_NV___MINUS_1_SLASH_2 } /* numericvalue=-1/2 */, - { 0, 9365, 2148, 4, 21, UNI_PRTI } /* scx=inscriptionalparthian */, - { 1, 5760, 9560, 13, 3, UNI_NV__4_SLASH_5 } /* numericvalue=4/5 */, - { 83, 3671, 9241, 17, 4, UNI_MEDF } /* scriptextensions=medf */, - { 0, 7980, 0, 8, 0, UNI_UGAR } /* ugaritic */, - { 0, 5565, 6795, 13, 3, UNI_JG__QAF } /* joininggroup=qaf */, - { 0, 9731, 495, 3, 2, UNI_WB__NU } /* wb=nu */, - { 0, 9365, 9273, 4, 4, UNI_NARB } /* scx=narb */, - { 2, 2106, 5394, 21, 2, UNI_LB__H2 } /* graphemeclusterbreak=lv */, - { 4, 2948, 0, 18, 0, UNI_HALFMARKS } /* combininghalfmarks */, - { 0, 8233, 6027, 7, 5, UNI_KHMR } /* script=khmer */, - { 4, 9623, 4537, 3, 15, UNI_JG__MANICHAEANGIMEL } /* jg=manichaeangimel */, - { 0, 9623, 9671, 3, 3, UNI_JG__TAH } /* jg=tah */, - { 0, 2211, 0, 4, 0, UNI_SINH } /* sinh */, - { 0, 7230, 8864, 9, 5, -UNI_EXT } /* extender=false */, - { 8, 1497, 9779, 9, 2, UNI_ZS } /* category=zs */, - { 0, 8886, 2930, 3, 8, UNI_CHER } /* sc=cherokee */, - { 10, 9049, 9566, 4, 3, UNI_AGE__5_DOT_2 } /* age=5.2 */, - { 0, 4807, 0, 14, 0, UNI_ANCIENTSYMBOLS } /* ancientsymbols */, - { 4, 9113, 23, 4, 2, UNI_CCC__AL } /* ccc=al */, - { 0, 9605, 6195, 3, 8, UNI_DT__NONCANON } /* dt=noncanon */, - { 5, 9093, 8009, 4, 7, UNI_CJKEXTA } /* blk=cjkexta */, - { 0, 6015, 0, 12, 1, UNI_JT__U } /* joiningtype=u */, - { 0, 9901, 4829, 3, 5, UNI_XPOSIXXDIGIT } /* isxdigit */, - { 2, 7018, 9581, 10, 3, UNI_IN__7 } /* presentin=7.0 */, - { 1, 8886, 8079, 3, 7, UNI_SC__GRAN } /* sc=grantha */, - { 26, 8317, 0, 7, 0, UNI_UCASEXT } /* ucasext */, - { 10, 8886, 4717, 3, 5, UNI_SC__TAML } /* sc=tamil */, - { 10, 1536, 7223, 4, 7, UNI_EMOTICONS } /* inemoticons */, - { 0, 3671, 8859, 17, 5, UNI_DOGR } /* scriptextensions=dogra */, - { 0, 9647, 8370, 3, 6, UNI_NV__432000 } /* nv=432000 */, - { 0, 8233, 8255, 8, 3, UNI_SIDD } /* script=sidd */, - { 6, 6194, 1031, 3, 26, UNI_OCR } /* inopticalcharacterrecognition */, - { 3, 9113, 8755, 5, 4, UNI_CCC__22 } /* ccc=ccc22 */, - { 0, 9629, 5991, 3, 12, UNI_LB__IS } /* lb=infixnumeric */, - { 8, 5513, 0, 12, 0, UNI_GRBASE } /* graphemebase */, - { 7, 6928, 1, 10, 1, -UNI_XPOSIXLOWER } /* lowercase=n */, - { 6, 8233, 78, 7, 4, UNI_SC__ARAB } /* script=arab */, - { 0, 7018, 7436, 10, 3, UNI_IN__1_DOT_1 } /* presentin=1.1 */, - { 6, 184, 921, 2, 17, UNI_VS } /* isvariationselector */, - { 1, 9647, 8354, 3, 2, UNI_NV__60 } /* nv=60 */, - { 1, 9479, 4795, 5, 12, UNI_INZANABAZARSQUARE } /* inzanabazarsquare */, - { 1, 3671, 9405, 17, 4, UNI_TALU } /* scriptextensions=talu */, - { 0, 9909, 472, 3, 2, UNI_PUA } /* ispua */, - { 0, 3951, 2354, 3, 19, UNI_PHLI } /* isinscriptionalpahlavi */, - { 0, 9365, 9197, 4, 4, UNI_KALI } /* scx=kali */, - { 0, 9605, 567, 3, 2, UNI_DT__NB } /* dt=nb */, - { 3, 8310, 0, 4, 0, UNI_TIRH } /* tirh */, - { 0, 1014, 0, 6, 0, UNI_L } /* letter */, - { 16, 3251, 8864, 3, 5, -UNI_CE } /* ce=false */, - { 0, 21, 8550, 2, 6, UNI_INLEPCHA } /* inlepcha */, - { 4, 1622, 0, 23, 0, UNI_LATINEXTADDITIONAL } /* latinextendedadditional */, - { 1, 8233, 9390, 8, 3, UNI_SOGO } /* script=sogo */, - { 3, 6918, 721, 10, 2, UNI_LB__CL } /* linebreak=cl */, - { 2, 9093, 4204, 4, 16, UNI_SYRIACSUP } /* blk=syriacsupplement */, - { 0, 9093, 3326, 4, 11, UNI_TAIXUANJING } /* blk=taixuanjing */, - { 1, 9129, 995, 4, 2, -UNI_CWU } /* cwu=no */, - { 0, 9365, 9457, 4, 4, UNI_WCHO } /* scx=wcho */, - { 11, 3951, 2704, 3, 3, UNI_IDST } /* isidst */, - { 65, 9623, 9369, 3, 4, UNI_JG__SEEN } /* jg=seen */, - { 1, 2148, 350, 3, 32, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* insupplementalsymbolsandpictographs */, - { 0, 9093, 3836, 4, 16, UNI_CYPRIOTSYLLABARY } /* blk=cypriotsyllabary */, - { 40, 5565, 2551, 13, 19, UNI_JG__BURUSHASKIYEHBARREE } /* joininggroup=burushaskiyehbarree */, - { 36, 8424, 3416, 6, 10, UNI_ALCHEMICAL } /* block=alchemical */, - { 14, 8886, 9177, 3, 4, UNI_SC__HANO } /* sc=hano */, - { 1, 8959, 0, 5, 0, UNI_xids_values_index } /* xids= */, - { 8, 5565, 5718, 13, 3, UNI_JG__WAW } /* joininggroup=waw */, - { 1, 9620, 1, 3, 1, UNI_N } /* gc=n */, - { 11, 9731, 2368, 3, 2, UNI_LB__HL } /* wb=hl */, - { 0, 8424, 983, 6, 5, UNI_INGREEK } /* block=greek */, - { 1, 3020, 0, 18, 0, UNI_DEVANAGARIEXT } /* devanagariextended */, - { 10, 6918, 395, 10, 2, UNI_LB__GL } /* linebreak=gl */, - { 0, 184, 4582, 2, 15, UNI_MERC } /* ismeroiticcursive */, - { 2, 8424, 1188, 6, 8, UNI_INKATAKANA } /* block=katakana */, - { 0, 7796, 0, 4, 0, UNI_BASS } /* bass */, - { 3, 8886, 8289, 3, 7, UNI_LANA } /* sc=taitham */, - { 16, 9093, 4597, 4, 15, UNI_MISCPICTOGRAPHS } /* blk=miscpictographs */, - { 1, 4849, 9433, 14, 4, UNI_CI } /* caseignorable=true */, - { 0, 8871, 3227, 3, 3, UNI_SB__SE } /* sb=sep */, - { 6, 9365, 9057, 4, 4, UNI_AHOM } /* scx=ahom */, - { 3, 5760, 5409, 13, 5, UNI_NV__10000 } /* numericvalue=10000 */, - { 3, 6194, 8206, 3, 6, UNI_INOSMANYA } /* inosmanya */, - { 1, 1362, 7691, 24, 2, UNI_CCC__36 } /* canonicalcombiningclass=36 */, - { 0, 2353, 0, 20, 0, UNI_PHLI } /* inscriptionalpahlavi */, - { 0, 3552, 0, 11, 0, UNI_ETHIOPICEXT } /* ethiopicext */, - { 0, 3535, 0, 17, 0, UNI_CYRILLICEXTC } /* cyrillicextendedc */, - { 0, 8635, 8864, 5, 5, -UNI_IDEO } /* ideo=false */, - { 1, 509, 0, 30, 0, UNI_CJKEXTA } /* cjkunifiedideographsextensiona */, - { 0, 184, 837, 2, 28, UNI_PHONETICEXTSUP } /* isphoneticextensionssupplement */, - { 0, 3290, 0, 18, 0, UNI_RUMI } /* ruminumeralsymbols */, - { 17, 9365, 9473, 4, 4, UNI_YI } /* scx=yiii */, - { 0, 5760, 8669, 13, 3, UNI_NV__1_SLASH_3 } /* numericvalue=1/3 */, - { 0, 3868, 3820, 16, 16, UNI_PE } /* generalcategory=closepunctuation */, - { 2, 184, 7088, 2, 10, UNI_SUPARROWSC } /* issuparrowsc */, - { 14, 9193, 24, 4, 1, UNI_GCB__L } /* hst=l */, - { 17, 9093, 8562, 4, 6, UNI_INLYCIAN } /* blk=lycian */, - { 0, 3002, 9149, 18, 4, UNI_DT__FONT } /* decompositiontype=font */, - { 10, 9141, 8864, 4, 5, -UNI_DIA } /* dia=false */, - { 11, 9593, 3056, 3, 18, UNI_BC__ET } /* bc=europeanterminator */, - { 0, 7230, 1, 9, 1, -UNI_EXT } /* extender=n */, - { 2, 3671, 8065, 17, 4, UNI_ELBA } /* scriptextensions=elba */, - { 1, 9365, 8002, 4, 4, UNI_BENG } /* scx=beng */, - { 5, 184, 9130, 3, 2, UNI_CWU } /* iscwu */, - { 0, 21, 8526, 2, 6, UNI_INKAITHI } /* inkaithi */, - { 4, 9125, 1, 4, 1, -UNI_CWT } /* cwt=n */, - { 1, 3868, 7, 16, 1, UNI_C } /* generalcategory=c */, - { 8, 435, 0, 5, 0, UNI__PERL_NCHAR } /* nchar */, - { 5, 9129, 0, 3, 0, UNI_CWU } /* cwu */, - { 0, 8886, 9273, 3, 4, UNI_NARB } /* sc=narb */, - { 3, 9113, 8722, 4, 2, UNI_CCC__15 } /* ccc=15 */, - { 0, 3671, 1188, 17, 8, UNI_KANA } /* scriptextensions=katakana */, - { 0, 8233, 8296, 7, 7, UNI_TAVT } /* script=taiviet */, - { 1, 9093, 1867, 4, 22, UNI_DIACRITICALSFORSYMBOLS } /* blk=diacriticalsforsymbols */, - { 0, 8884, 2532, 5, 19, UNI_INSC__BRAHMIJOININGNUMBER } /* insc=brahmijoiningnumber */, - { 0, 9365, 6159, 4, 12, UNI_GONM } /* scx=masaramgondi */, - { 2, 9113, 0, 4, 0, UNI_ccc_values_index } /* ccc= */, - { 0, 1362, 23, 24, 2, UNI_CCC__AL } /* canonicalcombiningclass=al */, - { 0, 8086, 3, 7, 1, -UNI_GRBASE } /* grbase=f */, - { 2, 9781, 1129, 33, 5, UNI__PERL_PROBLEMATIC_LOCALE_FOLDEDS_START } /* _perl_problematic_locale_foldeds_start */, - { 0, 9141, 36, 4, 1, UNI_DIA } /* dia=t */, - { 0, 3254, 3, 18, 1, -UNI_RI } /* regionalindicator=f */, - { 5, 3002, 2204, 18, 3, UNI_DT__ISO } /* decompositiontype=iso */, - { 0, 9849, 9878, 15, 5, UNI__PERL_CHARNAME_BEGIN } /* _perl_charname_begin */, - { 11, 9113, 8455, 5, 4, UNI_CCC__12 } /* ccc=ccc12 */, - { 5, 9093, 3900, 4, 16, UNI_HALFANDFULLFORMS } /* blk=halfandfullforms */, - { 0, 9093, 7048, 4, 10, UNI_INSAURASHTRA } /* blk=saurashtra */, - { 0, 9629, 6349, 3, 11, UNI_LB__BB } /* lb=breakbefore */, - { 1, 3671, 7852, 17, 8, UNI_GURU } /* scriptextensions=gurmukhi */, - { 4, 3884, 0, 11, 0, UNI_GEORGIANEXT } /* georgianext */, - { 0, 9365, 8514, 4, 4, UNI_HATR } /* scx=hatr */, - { 68, 779, 0, 22, 0, UNI_ENCLOSEDIDEOGRAPHICSUP } /* enclosedideographicsup */, - { 16, 4477, 0, 15, 0, UNI_INHANGUL } /* hangulsyllables */, - { 0, 9946, 7, 3, 1, UNI_SC } /* issc */, - { 0, 9093, 3996, 4, 16, UNI_LINEARBSYLLABARY } /* blk=linearbsyllabary */, - { 0, 9647, 8358, 3, 6, UNI_NV__300000 } /* nv=300000 */, - { 29, 9189, 0, 4, 0, UNI_HMNP } /* hmnp */, - { 2, 8233, 78, 7, 6, UNI_SC__ARAB } /* script=arabic */, - { 0, 2204, 4141, 3, 4, UNI_C } /* isother */, - { 4, 9629, 83, 3, 2, UNI_LB__CM } /* lb=cm */, - { 3, 1497, 341, 9, 2, UNI_PE } /* category=pe */, - { 22, 2703, 0, 3, 0, UNI_IDS } /* ids */, - { 0, 9946, 2453, 3, 4, UNI_STERM } /* issterm */, - { 0, 8233, 9105, 7, 4, UNI_SC__CAKM } /* script=cakm */, - { 2, 976, 0, 17, 0, UNI_ANCIENTGREEKMUSIC } /* ancientgreekmusic */, - { 0, 9093, 2855, 4, 19, UNI_SUPARROWSA } /* blk=supplementalarrowsa */, - { 58, 9153, 5520, 4, 5, UNI_WB__EB } /* gcb=ebase */, - { 2, 9049, 9707, 4, 3, UNI_AGE__6_DOT_1 } /* age=v61 */, - { 0, 9599, 0, 3, 0, UNI_ci_values_index } /* ci= */, - { 0, 8884, 2570, 5, 19, UNI_INSC__CONSONANTHEADLETTER } /* insc=consonantheadletter */, - { 4, 5979, 995, 12, 2, -UNI_IDEO } /* ideographic=no */, - { 2, 8233, 3110, 7, 8, UNI_SC__GEOR } /* script=georgian */, - { 19, 921, 0, 28, 0, UNI_VSSUP } /* variationselectorssupplement */, - { 3, 184, 6898, 2, 10, UNI_KHAR } /* iskharoshthi */, - { 4, 7128, 0, 10, 0, UNI_wb_values_index } /* wordbreak= */, - { 1, 5565, 5666, 13, 3, UNI_JG__NUN } /* joininggroup=nun */, - { 34, 8233, 6691, 8, 10, UNI_SORA } /* script=sorasompeng */, - { 7, 9365, 7980, 4, 4, UNI_UGAR } /* scx=ugar */, - { 2, 184, 1576, 2, 23, UNI_GEOMETRICSHAPESEXT } /* isgeometricshapesextended */, - { 3, 8233, 3038, 7, 8, UNI_ETHI } /* script=ethiopic */, - { 1, 9049, 7487, 4, 1, UNI_AGE__6 } /* age=6 */, - { 9, 9093, 7900, 4, 8, UNI_KANAEXTA } /* blk=kanaexta */, - { 1, 8538, 0, 4, 0, UNI_KHOJ } /* khoj */, - { 9, 9153, 36, 4, 1, UNI_GCB__T } /* gcb=t */, - { 1, 184, 5721, 2, 13, UNI_MAYANNUMERALS } /* ismayannumerals */, - { 3, 8424, 2627, 6, 19, UNI_ENCLOSEDALPHANUMSUP } /* block=enclosedalphanumsup */, - { 14, 2984, 0, 6, 0, UNI_COPT } /* coptic */, - { 0, 8617, 8864, 5, 5, -UNI_TERM } /* term=false */, - { 0, 6918, 5943, 10, 4, UNI_LB__GL } /* linebreak=glue */, - { 2, 184, 7302, 2, 9, UNI_NBAT } /* isnabataean */, - { 6, 8142, 0, 7, 0, UNI_MARC } /* marchen */, - { 52, 9365, 8262, 5, 6, UNI_SOYO } /* scx=soyombo */, - { 8, 9273, 0, 4, 0, UNI_NARB } /* narb */, - { 1, 9365, 8562, 4, 4, UNI_LYCI } /* scx=lyci */, - { 1, 6567, 0, 13, 0, UNI_MISCSYMBOLS } /* inmiscsymbols */, - { 12, 9093, 7058, 4, 10, UNI_SMALLFORMS } /* blk=smallforms */, - { 7, 3868, 5487, 16, 13, UNI_XPOSIXDIGIT } /* generalcategory=decimalnumber */, - { 0, 7772, 0, 8, 0, UNI_ARMN } /* armenian */, - { 0, 3248, 995, 6, 2, -UNI_XPOSIXSPACE } /* space=no */, - { 0, 9365, 9229, 4, 4, UNI_LINB } /* scx=linb */, - { 2, 4267, 0, 15, 0, UNI_BAMUMSUP } /* bamumsupplement */, - { 0, 9093, 8044, 4, 7, UNI_CJKEXTF } /* blk=cjkextf */, - { 0, 3671, 2212, 18, 6, UNI_SINH } /* scriptextensions=sinhala */, - { 5, 3671, 8303, 17, 7, UNI_TIBT } /* scriptextensions=tibetan */, - { 0, 1645, 0, 23, 0, UNI_SHORTHANDFORMATCONTROLS } /* shorthandformatcontrols */, - { 61, 1497, 9777, 9, 2, UNI_ZP } /* category=zp */, - { 0, 8886, 9133, 3, 4, UNI_SC__CYRL } /* sc=cyrl */, - { 2, 8406, 0, 6, 0, UNI_alpha_values_index } /* alpha= */, - { 1, 5199, 0, 14, 0, UNI_SK } /* modifiersymbol */, - { 0, 9365, 9221, 4, 4, UNI_LATN } /* scx=latn */, - { 2, 9093, 8710, 5, 4, UNI_INBUHID } /* blk=buhid */, - { 3, 9049, 9006, 4, 3, UNI_AGE__2_DOT_1 } /* age=2.1 */, - { 1, 1362, 8832, 24, 2, UNI_CCC__84 } /* canonicalcombiningclass=84 */, - { 0, 8233, 8072, 7, 7, UNI_ELYM } /* script=elymaic */, - { 1, 5565, 9245, 13, 4, UNI_JG__MEEM } /* joininggroup=meem */, - { 1, 3852, 0, 16, 0, UNI_PF } /* finalpunctuation */, - { 2, 8233, 3772, 7, 4, UNI_SC__BOPO } /* script=bopo */, - { 9, 9093, 3308, 4, 12, UNI_SMALLKANAEXT } /* blk=smallkanaext */, - { 40, 8424, 3552, 6, 16, UNI_ETHIOPICEXT } /* block=ethiopicextended */, - { 0, 9365, 9469, 4, 4, UNI_XSUX } /* scx=xsux */, - { 0, 5565, 3637, 13, 17, UNI_JG__MANICHAEANHUNDRED } /* joininggroup=manichaeanhundred */, - { 1, 9365, 8622, 4, 4, UNI_TELU } /* scx=telu */, - { 0, 9946, 2212, 3, 3, UNI_SINH } /* issinh */, - { 1, 9623, 4012, 3, 16, UNI_JG__MANICHAEANDALETH } /* jg=manichaeandaleth */, - { 1, 9237, 9433, 4, 4, UNI_LOE } /* loe=true */, - { 1, 9620, 9779, 3, 2, UNI_ZS } /* gc=zs */, - { 16, 8233, 9165, 7, 4, UNI_SC__GREK } /* script=grek */, - { 0, 5565, 7948, 13, 8, UNI_JG__SWASHKAF } /* joininggroup=swashkaf */, - { 0, 8884, 3788, 5, 16, UNI_INSC__CANTILLATIONMARK } /* insc=cantillationmark */, - { 3, 184, 9209, 2, 4, UNI_KTHI } /* iskthi */, - { 1, 9365, 7338, 4, 9, UNI_PERM } /* scx=oldpermic */, - { 17, 9647, 7540, 3, 6, UNI_NV__200000 } /* nv=200000 */, - { 6, 6316, 9734, 11, 3, UNI_IDC } /* idcontinue=yes */, - { 3, 2064, 0, 21, 0, UNI_CJKRADICALSSUP } /* cjkradicalssupplement */, - { 1, 184, 2006, 2, 15, UNI_MODIFIERLETTERS } /* ismodifierletters */, - { 2, 8424, 8282, 6, 7, UNI_INTAGALOG } /* block=tagalog */, - { 3, 9365, 2984, 4, 6, UNI_COPT } /* scx=coptic */, - { 44, 8886, 9333, 3, 4, UNI_SC__COPT } /* sc=qaac */, - { 17, 3243, 8864, 11, 5, -UNI_XPOSIXSPACE } /* whitespace=false */, - { 1, 6828, 24, 10, 1, UNI_BC__L } /* bidiclass=l */, - { 2, 6888, 9734, 10, 3, UNI_DIA } /* diacritic=yes */, - { 3, 8424, 382, 6, 32, UNI_EGYPTIANHIEROGLYPHFORMATCONTROLS } /* block=egyptianhieroglyphformatcontrols */, - { 2, 3248, 36, 6, 1, UNI_XPOSIXSPACE } /* space=t */, - { 22, 9093, 6591, 4, 11, UNI_MYANMAREXTB } /* blk=myanmarextb */, - { 1, 8424, 78, 6, 35, UNI_ARABICMATH } /* block=arabicmathematicalalphabeticsymbols */, - { 0, 9629, 5346, 3, 2, UNI_LB__EB } /* lb=eb */, - { 1, 328, 0, 21, 0, UNI_MATHOPERATORS } /* mathematicaloperators */, - { 0, 8002, 0, 7, 0, UNI_BENG } /* bengali */, - { 1, 184, 9213, 2, 4, UNI_LANA } /* islana */, - { 0, 8424, 3837, 7, 15, UNI_CYPRIOTSYLLABARY } /* block=cypriotsyllabary */, - { 1, 9093, 5422, 4, 13, UNI_AEGEANNUMBERS } /* blk=aegeannumbers */, - { 11, 9113, 3969, 4, 1, UNI_CCC__1 } /* ccc=1 */, - { 0, 7128, 4195, 10, 9, UNI_WB__EB } /* wordbreak=emodifier */, - { 1, 9153, 6525, 4, 3, UNI_LB__H3 } /* gcb=lvt */, - { 0, 3868, 1156, 16, 2, UNI_PO } /* generalcategory=po */, - { 1, 21, 6492, 2, 11, UNI_KATAKANAEXT } /* inkatakanaext */, - { 0, 9049, 9710, 4, 3, UNI_AGE__6_DOT_2 } /* age=v62 */, - { 0, 184, 1003, 2, 11, UNI_ENCLOSEDCJK } /* isenclosedcjk */, - { 19, 9365, 1482, 5, 3, UNI_SIND } /* scx=sind */, - { 0, 8884, 1214, 5, 25, UNI_INSC__CONSONANTINITIALPOSTFIXED } /* insc=consonantinitialpostfixed */, - { 1, 9365, 2930, 4, 8, UNI_CHER } /* scx=cherokee */, - { 0, 5565, 5185, 13, 14, UNI_JG__MANICHAEANYODH } /* joininggroup=manichaeanyodh */, - { 2, 184, 3218, 2, 18, UNI_ZP } /* isparagraphseparator */, - { 3, 8886, 5242, 5, 2, UNI_SC__KHOJ } /* sc=khoj */, - { 0, 3243, 9734, 11, 3, UNI_XPOSIXSPACE } /* whitespace=yes */, - { 27, 9093, 7088, 4, 10, UNI_SUPARROWSC } /* blk=suparrowsc */, - { 13, 9093, 689, 4, 16, UNI_CUNEIFORMNUMBERS } /* blk=cuneiformnumbers */, - { 3, 8424, 5955, 6, 12, UNI_INGUNJALAGONDI } /* block=gunjalagondi */, - { 0, 2064, 0, 14, 0, UNI_CJKRADICALSSUP } /* cjkradicalssup */, - { 0, 1618, 0, 4, 0, UNI_JAMO } /* jamo */, - { 4, 7876, 0, 8, 0, UNI_JAMOEXTA } /* jamoexta */, - { 0, 414, 0, 32, 0, UNI_INIDC } /* ideographicdescriptioncharacters */, - { 0, 9093, 6991, 4, 7, UNI_INSOGDIAN } /* blk=sogdian */, - { 6, 8424, 2874, 6, 19, UNI_SUPARROWSB } /* block=supplementalarrowsb */, - { 3, 8233, 6602, 7, 4, UNI_SC__NAND } /* script=nand */, - { 3, 6816, 8004, 4, 5, UNI_INBENGALI } /* inbengali */, - { 8, 2453, 0, 20, 0, UNI_term_values_index } /* terminalpunctuation= */, - { 3, 539, 0, 30, 0, UNI_CJKEXTB } /* cjkunifiedideographsextensionb */, - { 1, 3671, 6988, 17, 10, UNI_SOGO } /* scriptextensions=oldsogdian */, - { 17, 4297, 0, 15, 0, UNI_BRAI } /* braillepatterns */, - { 1, 7956, 0, 8, 0, UNI_TAGB } /* tagbanwa */, - { 13, 6918, 0, 10, 0, UNI_lb_values_index } /* linebreak= */, - { 0, 1779, 3, 22, 1, -UNI_CWT } /* changeswhentitlecased=f */, - { 4, 3671, 8514, 17, 4, UNI_HATR } /* scriptextensions=hatr */, - { 1, 184, 9169, 2, 4, UNI_GUJR } /* isgujr */, - { 11, 9153, 4140, 4, 5, UNI_GCB__XX } /* gcb=other */, - { 2, 7025, 9677, 3, 3, UNI_IN__2_DOT_1 } /* in=v21 */, - { 4, 9141, 26, 4, 1, UNI_DIA } /* dia=y */, - { 1, 6828, 426, 10, 2, UNI_BC__ES } /* bidiclass=es */, - { 2, 4402, 0, 4, 0, UNI_DASH } /* dash */, - { 0, 184, 4297, 2, 4, UNI_BRAI } /* isbrai */, - { 3, 3671, 2984, 17, 6, UNI_COPT } /* scriptextensions=coptic */, - { 1, 9647, 7708, 3, 8, UNI_NV__15_SLASH_2 } /* nv=7.50e+00 */, - { 2, 9113, 7659, 4, 2, UNI_CCC__16 } /* ccc=16 */, - { 1, 5565, 5643, 13, 13, UNI_JG__MANICHAEANMEM } /* joininggroup=manichaeanmem */, - { 18, 5760, 7572, 13, 8, UNI_NV__1_SLASH_3 } /* numericvalue=3.33e-01 */, - { 0, 8899, 3, 5, 1, -UNI_MATH } /* math=f */, - { 0, 8844, 0, 5, 0, UNI_cwcf_values_index } /* cwcf= */, - { 33, 8418, 9433, 6, 4, UNI_BIDIM } /* bidim=true */, - { 4, 184, 2590, 3, 18, UNI_COUNTINGROD } /* iscountingrodnumerals */, - { 9, 9093, 4108, 4, 7, UNI_INMYANMAR } /* blk=myanmar */, - { 5, 9365, 9157, 4, 4, UNI_GONG } /* scx=gong */, - { 1, 9193, 6503, 4, 11, UNI_GCB__L } /* hst=leadingjamo */, - { 18, 184, 1003, 2, 27, UNI_ENCLOSEDCJK } /* isenclosedcjklettersandmonths */, - { 0, 8886, 2532, 3, 6, UNI_BRAH } /* sc=brahmi */, - { 128, 9605, 2493, 3, 8, UNI_DT__VERT } /* dt=vertical */, - { 0, 8424, 1599, 6, 23, UNI_COMPATJAMO } /* block=hangulcompatibilityjamo */, - { 16, 9113, 8720, 5, 4, UNI_CCC__15 } /* ccc=ccc15 */, - { 3, 8424, 9285, 6, 3, UNI_INNKO } /* block=nko */, - { 0, 7048, 0, 10, 0, UNI_SAUR } /* saurashtra */, - { 0, 8233, 7995, 7, 7, UNI_AVST } /* script=avestan */, - { 1, 184, 8497, 3, 4, UNI_CWKCF } /* iscwkcf */, - { 0, 9093, 3164, 4, 18, UNI_LATINEXTADDITIONAL } /* blk=latinextadditional */, - { 0, 2142, 6604, 4, 9, UNI_INNANDINAGARI } /* innandinagari */, - { 6, 9093, 446, 4, 32, UNI_IDEOGRAPHICSYMBOLS } /* blk=ideographicsymbolsandpunctuation */, - { 4, 3671, 7203, 17, 9, UNI_BHKS } /* scriptextensions=bhaiksuki */, - { 3, 9093, 6798, 4, 10, UNI_ARABICEXTA } /* blk=arabicexta */, - { 8, 4642, 9734, 15, 3, UNI_DT__NONE } /* nfkdquickcheck=yes */, - { 2, 6231, 495, 12, 2, UNI_NT__NU } /* numerictype=nu */, - { 2, 184, 5258, 2, 11, UNI_MC } /* isspacingmark */, - { 0, 9093, 42, 4, 9, UNI_CJKCOMPAT } /* blk=cjkcompat */, - { 1, 184, 4388, 3, 13, UNI_SC } /* iscurrencysymbol */, - { 0, 6472, 3452, 4, 15, UNI_UCAS } /* incanadiansyllabics */, - { 17, 1497, 5809, 9, 2, UNI_PF } /* category=pf */, - { 4, 9365, 7788, 4, 4, UNI_BALI } /* scx=bali */, - { 1, 9385, 0, 4, 0, UNI_SHRD } /* shrd */, - { 0, 5760, 7539, 13, 2, UNI_NV__22 } /* numericvalue=22 */, - { 0, 9605, 3370, 3, 3, UNI_DT__MED } /* dt=med */, - { 0, 9049, 7159, 4, 1, UNI_AGE__5 } /* age=5 */, - { 8, 184, 2333, 2, 20, UNI_GLAGOLITICSUP } /* isglagoliticsupplement */, - { 0, 2148, 750, 3, 29, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* insymbolsandpictographsextendeda */, - { 0, 184, 2333, 2, 10, UNI_GLAG } /* isglagolitic */, - { 1, 8684, 8864, 5, 5, -UNI_POSIXXDIGIT } /* ahex=false */, - { 1, 8634, 1, 6, 1, -UNI_UIDEO } /* uideo=n */, - { 0, 184, 133, 2, 4, UNI_M } /* ismark */, - { 0, 1622, 0, 14, 0, UNI_LATINEXTA } /* latinextendeda */, - { 5, 3671, 8262, 18, 6, UNI_SOYO } /* scriptextensions=soyombo */, - { 3, 7018, 5409, 10, 2, UNI_IN__10 } /* presentin=10 */, - { 16, 9093, 8177, 4, 7, UNI_NB } /* blk=noblock */, - { 0, 3739, 8864, 17, 5, -UNI_UIDEO } /* unifiedideograph=false */, - { 135, 3236, 0, 17, 0, UNI__PERL_PATWS } /* patternwhitespace */, - { 2, 3671, 4946, 17, 4, UNI_CHAM } /* scriptextensions=cham */, - { 1, 9731, 4195, 3, 9, UNI_WB__EB } /* wb=emodifier */, - { 1, 8233, 8568, 7, 6, UNI_LYDI } /* script=lydian */, - { 0, 4580, 2007, 3, 14, UNI_MODIFIERLETTERS } /* inmodifierletters */, - { 3, 8233, 8934, 7, 5, UNI_RUNR } /* script=runic */, - { 0, 8261, 0, 4, 0, UNI_SOYO } /* soyo */, - { 2, 148, 0, 35, 0, UNI_DIACRITICALSSUP } /* combiningdiacriticalmarkssupplement */, - { 0, 9629, 25, 3, 2, UNI_LB__SY } /* lb=sy */, - { 0, 9365, 7916, 4, 8, UNI_MAHJ } /* scx=mahajani */, - { 0, 8233, 8324, 7, 7, UNI_ZZZZ } /* script=unknown */, - { 23, 1084, 9734, 26, 3, UNI_CWKCF } /* changeswhennfkccasefolded=yes */, - { 4, 8871, 138, 3, 2, UNI_SB__FO } /* sb=fo */, - { 18, 2148, 5368, 3, 13, UNI_SUPPUNCTUATION } /* insuppunctuation */, - { 0, 9121, 9734, 4, 3, UNI_CWL } /* cwl=yes */, - { 2, 184, 6723, 2, 11, UNI_SYLO } /* issylotinagri */, - { 19, 8879, 7366, 3, 8, UNI_INPAUCINHAU } /* inpaucinhau */, - { 9, 9229, 0, 4, 0, UNI_LINB } /* linb */, - { 1, 7025, 8997, 3, 4, UNI_IN__11 } /* in=11.0 */, - { 0, 6918, 3804, 10, 16, UNI_LB__CP } /* linebreak=closeparenthesis */, - { 6, 3951, 3129, 3, 16, UNI_IDSB } /* isidsbinaryoperator */, - { 2, 9049, 9692, 4, 3, UNI_AGE__4_DOT_1 } /* age=v41 */, - { 3, 9620, 47, 3, 1, UNI_M } /* gc=m */, - { 0, 9383, 8249, 4, 5, UNI_SHAW } /* inshavian */, - { 1, 184, 8562, 2, 4, UNI_LYCI } /* islyci */, - { 0, 8871, 125, 3, 2, UNI_LB__CR } /* sb=cr */, - { 1, 8886, 8892, 3, 4, UNI_PHLI } /* sc=phli */, - { 0, 8871, 69, 3, 2, UNI_SB__UP } /* sb=up */, - { 5, 8338, 9734, 7, 3, UNI_XPOSIXSPACE } /* wspace=yes */, - { 3, 3671, 8944, 17, 5, UNI_TAKR } /* scriptextensions=takri */, - { 0, 689, 0, 30, 0, UNI_CUNEIFORMNUMBERS } /* cuneiformnumbersandpunctuation */, - { 0, 6015, 6745, 12, 11, UNI_JT__T } /* joiningtype=transparent */, - { 1, 8424, 4961, 6, 14, UNI_HIGHSURROGATES } /* block=highsurrogates */, - { 0, 9605, 4801, 3, 6, UNI_DT__SQR } /* dt=square */, - { 8, 3020, 0, 13, 0, UNI_DEVANAGARIEXT } /* devanagariext */, - { 2, 8086, 9433, 7, 4, UNI_GRBASE } /* grbase=true */, - { 11, 1158, 8283, 3, 6, UNI_INTAGALOG } /* intagalog */, - { 0, 3868, 38, 16, 2, UNI_XPOSIXDIGIT } /* generalcategory=nd */, - { 2, 8424, 5884, 7, 11, UNI_CYRILLICEXTB } /* block=cyrillicextb */, - { 130, 8886, 1573, 3, 4, UNI_SC__PHAG } /* sc=phag */, - { 3, 9647, 9737, 3, 2, UNI_NV__38 } /* nv=38 */, - { 2, 1536, 8066, 3, 6, UNI_INELBASAN } /* inelbasan */, - { 3, 8886, 9325, 3, 4, UNI_MIAO } /* sc=plrd */, - { 4, 2204, 2799, 3, 18, UNI_OTTOMANSIYAQNUMBERS } /* isottomansiyaqnumbers */, - { 0, 9113, 8371, 4, 2, UNI_CCC__32 } /* ccc=32 */, - { 2, 1977, 9734, 22, 3, UNI__PERL_NCHAR } /* noncharactercodepoint=yes */, - { 2, 2204, 8193, 4, 5, UNI_OLCK } /* isolchiki */, - { 0, 689, 0, 9, 0, UNI_XSUX } /* cuneiform */, - { 6, 5565, 5381, 13, 14, UNI_JG__HAMZAONHEHGOAL } /* joininggroup=tehmarbutagoal */, - { 4, 8424, 2169, 6, 11, UNI_INMEETEIMAYEK } /* block=meeteimayek */, - { 3, 4580, 8150, 3, 6, UNI_INMULTANI } /* inmultani */, - { 0, 9093, 2148, 4, 21, UNI_ININSCRIPTIONALPARTHIAN } /* blk=inscriptionalparthian */, - { 0, 7018, 9575, 10, 3, UNI_IN__6_DOT_1 } /* presentin=6.1 */, - { 2, 3251, 9433, 3, 4, UNI_CE } /* ce=true */, - { 9, 9093, 42, 4, 3, UNI_CJK } /* blk=cjk */, - { 0, 9602, 995, 3, 2, -UNI_DI } /* di=no */, - { 0, 5339, 69, 14, 2, UNI_SB__UP } /* sentencebreak=up */, - { 2, 9365, 7892, 4, 4, UNI_JAVA } /* scx=java */, - { 0, 9093, 2169, 4, 11, UNI_INMEETEIMAYEK } /* blk=meeteimayek */, - { 0, 9265, 0, 4, 0, UNI_MTEI } /* mtei */, - { 0, 8886, 8914, 3, 5, UNI_NSHU } /* sc=nushu */, - { 23, 9731, 7988, 3, 7, UNI_WB__LE } /* wb=aletter */, - { 0, 9365, 7365, 4, 4, UNI_PAUC } /* scx=pauc */, - { 0, 8424, 183, 6, 34, UNI_MISCPICTOGRAPHS } /* block=miscellaneoussymbolsandpictographs */, - { 0, 6828, 9644, 10, 3, UNI_BC__NSM } /* bidiclass=nsm */, - { 4, 3739, 1, 17, 1, -UNI_UIDEO } /* unifiedideograph=n */, - { 0, 9373, 0, 4, 0, UNI_SGNW } /* sgnw */, - { 1, 184, 3964, 2, 6, UNI_LATIN1 } /* islatin1 */, - { 74, 250, 0, 33, 0, UNI_MISCMATHSYMBOLSA } /* miscellaneousmathematicalsymbolsa */, - { 1, 8233, 7118, 7, 4, UNI_WARA } /* script=wara */, - { 1, 406, 0, 7, 0, UNI_XPOSIXCNTRL } /* control */, - { 10, 9629, 5952, 3, 2, UNI_LB__ZW } /* lb=zw */, - { 0, 4361, 3112, 4, 9, UNI_GEORGIANSUP } /* ingeorgiansup */, - { 0, 8871, 721, 3, 5, UNI_SB__CL } /* sb=close */, - { 3, 1084, 8864, 26, 5, -UNI_CWKCF } /* changeswhennfkccasefolded=false */, - { 1, 1362, 8461, 25, 5, UNI_CCC__129 } /* canonicalcombiningclass=ccc129 */, - { 1, 9623, 5115, 3, 14, UNI_JG__MANICHAEANHETH } /* jg=manichaeanheth */, - { 1, 9647, 8400, 3, 5, UNI_NV__90000 } /* nv=90000 */, - { 5, 78, 0, 10, 0, UNI_ARABICMATH } /* arabicmath */, - { 5, 7932, 1, 8, 1, -UNI_RADICAL } /* radical=n */, - { 1, 8424, 8532, 6, 6, UNI_KANBUN } /* block=kanbun */, - { 0, 8424, 9453, 6, 3, UNI_INVAI } /* block=vai */, - { 17, 8233, 9265, 7, 4, UNI_MTEI } /* script=mtei */, - { 5, 8310, 0, 7, 0, UNI_TIRH } /* tirhuta */, - { 0, 8508, 9433, 6, 4, UNI_GREXT } /* grext=true */, - { 2, 8424, 7876, 6, 8, UNI_JAMOEXTA } /* block=jamoexta */, - { 0, 8954, 8864, 5, 5, -UNI_XIDC } /* xidc=false */, - { 0, 8424, 8114, 6, 7, UNI_KALI } /* block=kayahli */, - { 4, 5367, 0, 14, 0, UNI_SUPPUNCTUATION } /* suppunctuation */, - { 30, 9093, 250, 4, 33, UNI_MISCMATHSYMBOLSA } /* blk=miscellaneousmathematicalsymbolsa */, - { 0, 5760, 9029, 13, 4, UNI_NV__3_SLASH_64 } /* numericvalue=3/64 */, - { 18, 6885, 5968, 3, 5, UNI_HEBR } /* ishebrew */, - { 4, 3671, 3729, 18, 10, UNI_SGNW } /* scriptextensions=signwriting */, - { 12, 1497, 598, 9, 2, UNI_XPOSIXCNTRL } /* category=cc */, - { 0, 9093, 4204, 4, 9, UNI_SYRIACSUP } /* blk=syriacsup */, - { 16, 8886, 8065, 3, 4, UNI_ELBA } /* sc=elba */, - { 0, 9629, 1472, 3, 9, UNI_LB__SG } /* lb=surrogate */, - { 3, 3398, 8864, 18, 5, -UNI_VS } /* variationselector=false */, - { 0, 7118, 0, 10, 0, UNI_WARA } /* warangciti */, - { 2, 1029, 0, 2, 0, UNI_SO } /* so */, - { 4, 2148, 6724, 3, 10, UNI_INSYLOTINAGRI } /* insylotinagri */, - { 0, 8879, 472, 3, 2, UNI_PUA } /* inpua */, - { 1, 5760, 7612, 13, 8, UNI_NV__5_SLASH_12 } /* numericvalue=4.17e-01 */, - { 23, 5760, 9497, 13, 3, UNI_NV__1_SLASH_5 } /* numericvalue=1/5 */, - { 1, 3868, 112, 16, 2, UNI_SC } /* generalcategory=sc */, - { 0, 8886, 7329, 3, 9, UNI_ITAL } /* sc=olditalic */, - { 50, 8886, 9465, 3, 4, UNI_XPEO } /* sc=xpeo */, - { 0, 5565, 5936, 13, 7, UNI_JG__SEMKATH } /* joininggroup=semkath */, - { 12, 8886, 4220, 3, 4, UNI_TANG } /* sc=tang */, - { 0, 3671, 9165, 17, 4, UNI_GREK } /* scriptextensions=grek */, - { 1, 9049, 9674, 4, 3, UNI_AGE__2 } /* age=v20 */, - { 9, 3671, 8310, 17, 7, UNI_TIRH } /* scriptextensions=tirhuta */, - { 34, 9193, 6525, 4, 11, UNI_LB__H3 } /* hst=lvtsyllable */, - { 0, 5760, 7502, 13, 1, UNI_NV__8 } /* numericvalue=8 */, - { 8, 6768, 2, 3, 1, UNI_YI } /* isyi */, - { 1, 9093, 2211, 4, 21, UNI_SINHALAARCHAICNUMBERS } /* blk=sinhalaarchaicnumbers */, - { 0, 8424, 1576, 6, 18, UNI_GEOMETRICSHAPESEXT } /* block=geometricshapesext */, - { 4, 5760, 7468, 13, 8, UNI_NV__3_SLASH_2 } /* numericvalue=1.50e+00 */, - { 10, 8100, 9734, 7, 3, UNI_HYPHEN } /* hyphen=yes */, - { 0, 21, 8934, 2, 5, UNI_INRUNIC } /* inrunic */, - { 0, 3671, 8135, 17, 7, UNI_MAND } /* scriptextensions=mandaic */, - { 9, 8874, 1, 5, 1, -UNI_IDST } /* idst=n */, - { 2, 8955, 9433, 4, 4, UNI_IDC } /* idc=true */, - { 4, 1933, 3, 22, 1, -UNI_LOE } /* logicalorderexception=f */, - { 1, 9728, 8864, 3, 5, -UNI_VS } /* vs=false */, - { 1, 1497, 1474, 11, 7, UNI__PERL_SURROGATE } /* category=surrogate */, - { 1, 184, 698, 2, 6, UNI_N } /* isnumber */, - { 1, 1599, 0, 6, 0, UNI_HANG } /* hangul */, - { 0, 5565, 4954, 13, 7, UNI_JG__HEHGOAL } /* joininggroup=hehgoal */, - { 0, 9620, 1141, 3, 2, UNI_TITLE } /* gc=lt */, - { 0, 6231, 4829, 12, 5, UNI_NT__DI } /* numerictype=digit */, - { 35, 8684, 36, 5, 1, UNI_POSIXXDIGIT } /* ahex=t */, - { 0, 6315, 9734, 12, 3, UNI_XIDC } /* xidcontinue=yes */, - { 0, 3671, 9161, 17, 4, UNI_GONM } /* scriptextensions=gonm */, - { 3, 184, 2741, 2, 4, UNI_MERO } /* ismero */, - { 0, 5760, 7540, 13, 4, UNI_NV__2000 } /* numericvalue=2000 */, - { 57, 9593, 2013, 3, 3, UNI_BC__RLE } /* bc=rle */, - { 32, 9365, 7375, 5, 8, UNI_SAMR } /* scx=samaritan */, - { 19, 9620, 48, 3, 1, UNI_P } /* gc=p */, - { 5, 8233, 2984, 7, 6, UNI_SC__COPT } /* script=coptic */, - { 0, 1482, 6998, 24, 10, UNI_INPC__OVERSTRUCK } /* indicpositionalcategory=overstruck */, - { 0, 8424, 4252, 6, 15, UNI_ARABICEXTA } /* block=arabicextendeda */, - { 4, 8424, 7088, 6, 10, UNI_SUPARROWSC } /* block=suparrowsc */, - { 20, 7025, 9578, 3, 3, UNI_IN__6_DOT_3 } /* in=6.3 */, - { 8, 9313, 8864, 4, 5, -UNI_PCM } /* pcm=false */, - { 3, 8617, 0, 6, 0, UNI_TERM } /* term=t */, - { 12, 9731, 4801, 3, 2, UNI_WB__SQ } /* wb=sq */, - { 0, 9623, 3637, 3, 17, UNI_JG__MANICHAEANHUNDRED } /* jg=manichaeanhundred */, - { 4, 9365, 8628, 4, 4, UNI_THAA } /* scx=thaa */, - { 0, 2703, 3, 19, 1, -UNI_IDST } /* idstrinaryoperator=f */, - { 0, 5760, 8782, 13, 2, UNI_NV__27 } /* numericvalue=27 */, - { 0, 5435, 0, 12, 0, UNI_BIDIM } /* bidimirrored */, - { 49, 8886, 7860, 3, 8, UNI_SC__HIRA } /* sc=hiragana */, - { 0, 8424, 2021, 6, 15, UNI_TRANSPORTANDMAP } /* block=transportandmap */, - { 0, 4447, 9, 15, 2, UNI_EA__NA } /* eastasianwidth=na */, - { 0, 6005, 1824, 3, 18, UNI_CJKCOMPATIDEOGRAPHS } /* incjkcompatideographs */, - { 1, 38, 0, 2, 0, UNI_XPOSIXDIGIT } /* nd */, - { 0, 8332, 950, 3, 26, UNI_ALPHABETICPF } /* isalphabeticpresentationforms */, - { 4, 8424, 8072, 6, 7, UNI_INELYMAIC } /* block=elymaic */, - { 0, 5760, 9554, 13, 3, UNI_NV__3_SLASH_4 } /* numericvalue=3/4 */, - { 0, 9909, 9922, 3, 4, UNI_XPOSIXPRINT } /* isprint */, - { 1, 5565, 3, 15, 1, UNI_JG__KAF } /* joininggroup=kaf */, - { 1, 9623, 5139, 3, 4, UNI_JG__KAPH } /* jg=kaph */, - { 0, 6918, 5297, 10, 14, UNI_LB__PO } /* linebreak=postfixnumeric */, - { 8, 9365, 4108, 4, 7, UNI_MYMR } /* scx=myanmar */, - { 0, 3671, 7916, 17, 8, UNI_MAHJ } /* scriptextensions=mahajani */, - { 4, 8233, 3110, 7, 4, UNI_SC__GEOR } /* script=geor */, - { 2, 2836, 0, 12, 0, UNI_SUNDANESESUP } /* sundanesesup */, - { 2, 9237, 36, 4, 1, UNI_LOE } /* loe=t */, - { 5, 9093, 837, 4, 18, UNI_PHONETICEXT } /* blk=phoneticextensions */, - { 5, 9093, 4477, 4, 15, UNI_INHANGUL } /* blk=hangulsyllables */, - { 4, 9365, 2353, 4, 20, UNI_PHLI } /* scx=inscriptionalpahlavi */, - { 0, 3671, 2127, 17, 14, UNI_ROHG } /* scriptextensions=hanifirohingya */, - { 36, 9901, 4828, 8, 6, UNI_XPOSIXXDIGIT } /* isxposixxdigit */, - { 0, 9093, 3964, 4, 9, UNI_LATIN1 } /* blk=latin1sup */, - { 0, 8886, 8709, 3, 5, UNI_SC__BUHD } /* sc=buhid */, - { 1, 8886, 8296, 3, 7, UNI_TAVT } /* sc=taiviet */, - { 0, 184, 3536, 3, 16, UNI_CYRILLICEXTC } /* iscyrillicextendedc */, - { 7, 184, 7230, 2, 8, UNI_EXT } /* isextender */, - { 0, 9647, 7540, 3, 5, UNI_NV__20000 } /* nv=20000 */, - { 2, 1362, 9765, 24, 2, UNI_CCC__8 } /* canonicalcombiningclass=kv */, - { 2, 184, 5896, 3, 11, UNI_CYRILLICEXTC } /* iscyrillicextc */, - { 8, 9365, 2984, 4, 4, UNI_COPT } /* scx=copt */, - { 12, 8424, 3452, 8, 15, UNI_UCAS } /* block=canadiansyllabics */, - { 8, 8954, 995, 5, 2, -UNI_XIDC } /* xidc=no */, - { 0, 1085, 0, 4, 0, UNI_HANG } /* hang */, - { 11, 117, 2355, 4, 18, UNI_ININSCRIPTIONALPAHLAVI } /* ininscriptionalpahlavi */, - { 18, 1243, 3, 21, 1, -UNI_CE } /* compositionexclusion=f */, - { 0, 6828, 9614, 10, 3, UNI_BC__FSI } /* bidiclass=fsi */, - { 1, 9093, 1622, 4, 9, UNI_LATINEXTE } /* blk=latinexte */, - { 17, 8424, 8149, 6, 7, UNI_INMULTANI } /* block=multani */, - { 6, 8233, 9221, 7, 4, UNI_SC__LATN } /* script=latn */, - { 0, 3671, 3836, 17, 7, UNI_CPRT } /* scriptextensions=cypriot */, - { 2, 3671, 9197, 17, 4, UNI_KALI } /* scriptextensions=kali */, - { 0, 3772, 0, 8, 0, UNI_BOPO } /* bopomofo */, - { 5, 8886, 6555, 5, 2, UNI_KHMR } /* sc=khmr */, - { 0, 9626, 0, 3, 1, UNI_JT__U } /* jt=u */, - { 1, 8884, 5474, 5, 13, UNI_INSC__CONSONANTDEAD } /* insc=consonantdead */, - { 1, 6613, 0, 11, 0, UNI_LO } /* otherletter */, - { 8, 3951, 3587, 3, 16, UNI_INDICSIYAQNUMBERS } /* isindicsiyaqnumbers */, - { 0, 6015, 24, 12, 1, UNI_JT__L } /* joiningtype=l */, - { 0, 8100, 0, 7, 0, UNI_hyphen_values_index } /* hyphen= */, - { 0, 6003, 9433, 12, 4, UNI_JOINC } /* joincontrol=true */, - { 1, 8002, 0, 4, 0, UNI_BENG } /* beng */, - { 1, 9093, 2798, 4, 19, UNI_OTTOMANSIYAQNUMBERS } /* blk=ottomansiyaqnumbers */, - { 2, 9725, 18, 3, 1, UNI_VO__R } /* vo=r */, - { 4, 9313, 0, 4, 0, UNI_pcm_values_index } /* pcm= */, - { 1, 3671, 9261, 17, 3, UNI_MRO } /* scriptextensions=mro */, - { 0, 8233, 9453, 7, 4, UNI_VAI } /* script=vaii */, - { 19, 9608, 0, 3, 0, UNI_ea_values_index } /* ea= */, - { 0, 9093, 5721, 4, 13, UNI_MAYANNUMERALS } /* blk=mayannumerals */, - { 8, 9605, 8490, 3, 6, UNI_DT__ENC } /* dt=circle */, - { 0, 719, 0, 16, 0, UNI_ENCLOSEDALPHANUM } /* enclosedalphanum */, - { 0, 9093, 8128, 4, 7, UNI_INMAKASAR } /* blk=makasar */, - { 0, 8233, 9145, 7, 4, UNI_DSRT } /* script=dsrt */, - { 0, 9629, 5967, 3, 12, UNI_LB__HL } /* lb=hebrewletter */, - { 4, 8886, 3772, 3, 4, UNI_SC__BOPO } /* sc=bopo */, - { 10, 9365, 7772, 4, 8, UNI_ARMN } /* scx=armenian */, - { 1, 7230, 9734, 9, 3, UNI_EXT } /* extender=yes */, - { 2, 3671, 8919, 17, 5, UNI_OGAM } /* scriptextensions=ogham */, - { 32, 8849, 1, 5, 1, -UNI_CWCM } /* cwcm=n */, - { 0, 6885, 6247, 3, 3, UNI_HUNG } /* ishung */, - { 0, 184, 921, 2, 18, UNI_INVS } /* isvariationselectors */, - { 1, 21, 4975, 2, 14, UNI_KANASUP } /* inkanasupplement */, - { 1, 5760, 7588, 13, 8, UNI_NV__3_SLASH_8 } /* numericvalue=3.75e-01 */, - { 1, 8233, 983, 7, 5, UNI_SC__GREK } /* script=greek */, - { 3, 5760, 7620, 13, 8, UNI_NV__9_SLASH_2 } /* numericvalue=4.50e+00 */, - { 34, 2006, 0, 14, 0, UNI_LM } /* modifierletter */, - { 0, 184, 3092, 2, 18, UNI_INPUNCTUATION } /* isgeneralpunctuation */, - { 0, 6570, 0, 4, 0, UNI__PERL_SURROGATE } /* iscs */, - { 0, 8886, 8226, 3, 7, UNI_SC__PHAG } /* sc=phagspa */, - { 0, 7128, 6415, 10, 11, UNI_WB__DQ } /* wordbreak=doublequote */, - { 0, 8233, 1188, 7, 8, UNI_SC__KANA } /* script=katakana */, - { 32, 9629, 5059, 3, 14, UNI_LB__BK } /* lb=mandatorybreak */, - { 4, 9093, 183, 4, 34, UNI_MISCPICTOGRAPHS } /* blk=miscellaneoussymbolsandpictographs */, - { 5, 9629, 34, 3, 2, UNI_LB__EX } /* lb=ex */, - { 74, 8886, 9417, 3, 4, UNI_TFNG } /* sc=tfng */, - { 2, 9909, 0, 4, 0, UNI_PO } /* ispo */, - { 0, 9781, 8599, 7, 4, UNI__PERL_PATWS } /* _perl_patws */, - { 1, 9137, 0, 4, 0, UNI_dep_values_index } /* dep= */, - { 17, 2106, 7820, 21, 8, UNI_WB__EB } /* graphemeclusterbreak=ebasegaz */, - { 0, 8886, 2353, 3, 20, UNI_PHLI } /* sc=inscriptionalpahlavi */, - { 1, 4821, 9433, 14, 4, UNI_POSIXXDIGIT } /* asciihexdigit=true */, - { 0, 8886, 382, 3, 4, UNI_EGYP } /* sc=egyp */, - { 5, 8886, 2211, 3, 4, UNI_SC__SINH } /* sc=sinh */, - { 2, 5760, 7660, 13, 8, UNI_NV__3_SLASH_5 } /* numericvalue=6.00e-01 */, - { 20, 8233, 2984, 7, 4, UNI_SC__COPT } /* script=copt */, - { 2, 1243, 0, 21, 0, UNI_ce_values_index } /* compositionexclusion= */, - { 18, 8899, 995, 5, 2, -UNI_MATH } /* math=no */, - { 10, 9903, 5492, 6, 5, UNI_XPOSIXALNUM } /* xposixalnum */, - { 5, 9626, 0, 3, 0, UNI_jt_values_index } /* jt= */, - { 2, 8520, 1, 6, 1, -UNI_JOINC } /* joinc=n */, - { 12, 8233, 2169, 7, 11, UNI_MTEI } /* script=meeteimayek */, - { 7, 9093, 2930, 4, 8, UNI_INCHEROKEE } /* blk=cherokee */, - { 1, 9629, 42, 3, 2, UNI_LB__CJ } /* lb=cj */, - { 44, 1497, 8499, 9, 2, UNI_CF } /* category=cf */, - { 1, 106, 0, 6, 0, UNI_S } /* symbol */, - { 1, 6918, 202, 10, 2, UNI_LB__SA } /* linebreak=sa */, - { 1, 8424, 5526, 6, 13, UNI_GREEKEXT } /* block=greekextended */, - { 1, 9647, 9041, 3, 4, UNI_NV__7_SLASH_12 } /* nv=7/12 */, - { 0, 9647, 7556, 3, 8, UNI_NV__1_SLASH_32 } /* nv=3.13e-02 */, - { 1, 9365, 9289, 4, 4, UNI_NSHU } /* scx=nshu */, - { 32, 9909, 7366, 3, 8, UNI_PAUC } /* ispaucinhau */, - { 1, 8424, 8894, 6, 5, UNI_INLIMBU } /* block=limbu */, - { 0, 8086, 0, 7, 0, UNI_grbase_values_index } /* grbase= */, - { 0, 8844, 0, 4, 0, UNI_CWCF } /* cwcf */, - { 5, 184, 2590, 3, 10, UNI_COUNTINGROD } /* iscountingrod */, - { 0, 8332, 977, 3, 26, UNI_ANCIENTGREEKMUSIC } /* isancientgreekmusicalnotation */, - { 36, 8233, 9089, 7, 4, UNI_BHKS } /* script=bhks */, - { 0, 9153, 1855, 4, 2, UNI_GCB__CN } /* gcb=cn */, - { 0, 9623, 0, 3, 0, UNI_jg_values_index } /* jg= */, - { 0, 3868, 341, 16, 2, UNI_PE } /* generalcategory=pe */, - { 64, 8424, 600, 7, 29, UNI_CJKEXTD } /* block=cjkunifiedideographsextensiond */, - { 3, 7419, 9433, 9, 4, UNI_XIDS } /* xidstart=true */, - { 16, 1735, 995, 22, 2, -UNI_CWCM } /* changeswhencasemapped=no */, - { 1, 9093, 5367, 4, 14, UNI_SUPPUNCTUATION } /* blk=suppunctuation */, - { 0, 9093, 42, 4, 16, UNI_CJKCOMPAT } /* blk=cjkcompatibility */, - { 2, 1362, 8837, 24, 2, UNI_CCC__91 } /* canonicalcombiningclass=91 */, - { 2, 1057, 995, 27, 2, -UNI_PCM } /* prependedconcatenationmark=no */, - { 0, 9113, 8469, 4, 3, UNI_CCC__130 } /* ccc=130 */, - { 3, 7025, 0, 3, 0, UNI_in_values_index } /* in= */, - { 0, 9093, 3092, 4, 18, UNI_INPUNCTUATION } /* blk=generalpunctuation */, - { 49, 5339, 0, 16, 0, UNI_SB__SP } /* sentencebreak=sp */, - { 0, 8424, 8002, 6, 7, UNI_INBENGALI } /* block=bengali */, - { 2, 1573, 0, 4, 0, UNI_PHAG } /* phag */, - { 0, 8149, 0, 7, 0, UNI_MULT } /* multani */, - { 2, 9647, 8400, 3, 3, UNI_NV__900 } /* nv=900 */, - { 1, 9647, 7740, 3, 8, UNI_NV__1_SLASH_12 } /* nv=8.33e-02 */, - { 0, 6712, 0, 11, 0, UNI_SUPERANDSUB } /* superandsub */, - { 11, 3868, 2006, 16, 14, UNI_LM } /* generalcategory=modifierletter */, - { 1, 6828, 2433, 10, 11, UNI_BC__R } /* bidiclass=righttoleft */, - { 0, 6918, 7909, 11, 7, UNI_LB__LF } /* linebreak=linefeed */, - { 0, 9901, 4829, 8, 5, UNI_XPOSIXDIGIT } /* isxposixdigit */, - { 0, 9137, 26, 4, 1, UNI_DEP } /* dep=y */, - { 6, 9093, 2984, 4, 18, UNI_COPTICEPACTNUMBERS } /* blk=copticepactnumbers */, - { 0, 1362, 1700, 24, 2, UNI_CCC__DB } /* canonicalcombiningclass=db */, - { 5, 9365, 7356, 4, 9, UNI_PALM } /* scx=palmyrene */, - { 11, 8886, 8002, 3, 4, UNI_SC__BENG } /* sc=beng */, - { 3, 283, 0, 33, 0, UNI_MISCMATHSYMBOLSB } /* miscellaneousmathematicalsymbolsb */, - { 4, 9269, 0, 4, 0, UNI_MYMR } /* mymr */, - { 0, 7025, 9713, 3, 3, UNI_IN__6_DOT_3 } /* in=v63 */, - { 0, 9620, 9767, 3, 2, UNI_CASEDLETTER } /* gc=l& */, - { 2, 8617, 26, 5, 1, UNI_TERM } /* term=y */, - { 1, 9093, 8226, 4, 7, UNI_INPHAGSPA } /* blk=phagspa */, - { 0, 1757, 995, 22, 2, -UNI_CWL } /* changeswhenlowercased=no */, - { 34, 9193, 881, 4, 1, UNI_GCB__V } /* hst=v */, - { 2, 8886, 8934, 3, 5, UNI_RUNR } /* sc=runic */, - { 0, 5565, 6147, 13, 12, UNI_JG__MANICHAEANPE } /* joininggroup=manichaeanpe */, - { 2, 9623, 7038, 3, 10, UNI_JG__REVERSEDPE } /* jg=reversedpe */, - { 2, 9647, 8394, 3, 2, UNI_NV__80 } /* nv=80 */, - { 0, 7230, 0, 8, 0, UNI_EXT } /* extender */, - { 0, 184, 865, 2, 28, UNI_SUPPUAA } /* issupplementaryprivateuseareaa */, - { 0, 5760, 7603, 13, 2, UNI_NV__24 } /* numericvalue=24 */, - { 71, 6005, 1412, 4, 22, UNI_DIACRITICALSFORSYMBOLS } /* incombiningmarksforsymbols */, - { 1, 184, 2779, 2, 12, UNI_MONGOLIANSUP } /* ismongoliansup */, - { 58, 2703, 0, 19, 0, UNI_idst_values_index } /* idstrinaryoperator= */, - { 72, 184, 2874, 2, 19, UNI_SUPARROWSB } /* issupplementalarrowsb */, - { 1, 8424, 3020, 6, 10, UNI_INDEVANAGARI } /* block=devanagari */, - { 3, 1362, 8770, 25, 4, UNI_CCC__25 } /* canonicalcombiningclass=ccc25 */, - { 0, 9602, 0, 3, 0, UNI_di_values_index } /* di= */, - { 0, 8424, 6267, 6, 12, UNI_PHAISTOS } /* block=phaistosdisc */, - { 0, 7128, 7293, 10, 9, UNI_WB__MB } /* wordbreak=midnumlet */, - { 1, 9731, 7820, 3, 8, UNI_WB__EB } /* wb=ebasegaz */, - { 2, 4447, 835, 15, 1, UNI_EA__W } /* eastasianwidth=w */, - { 0, 9093, 988, 4, 5, UNI_MUSIC } /* blk=music */, - { 11, 184, 9217, 2, 4, UNI_LAO } /* islaoo */, - { 0, 8899, 9734, 5, 3, UNI_MATH } /* math=yes */, - { 6, 6949, 3452, 4, 15, UNI_UCAS } /* iscanadiansyllabics */, - { 0, 8424, 6051, 6, 12, UNI_MAHJONG } /* block=mahjongtiles */, - { 0, 1497, 4140, 9, 5, UNI_C } /* category=other */, - { 2, 2484, 0, 4, 0, UNI_MAND } /* mand */, - { 0, 6918, 878, 10, 2, UNI_LB__PR } /* linebreak=pr */, - { 1, 2684, 5394, 19, 2, UNI_LB__H2 } /* hangulsyllabletype=lv */, - { 3, 9129, 3, 4, 1, -UNI_CWU } /* cwu=f */, - { 84, 8424, 690, 7, 8, UNI_INCUNEIFORM } /* block=cuneiform */, - { 2, 3868, 3146, 16, 18, UNI_PI } /* generalcategory=initialpunctuation */, - { 1, 8886, 6183, 3, 4, UNI_MEND } /* sc=mend */, - { 0, 9093, 7257, 4, 9, UNI_LATINEXTB } /* blk=latinextb */, - { 0, 9728, 9433, 3, 4, UNI_VS } /* vs=true */, - { 0, 184, 3110, 2, 4, UNI_GEOR } /* isgeor */, - { 0, 9626, 6291, 3, 12, UNI_JT__R } /* jt=rightjoining */, - { 1, 9953, 25, 3, 1, UNI_VS } /* isvs */, - { 7, 2453, 1, 20, 1, -UNI_TERM } /* terminalpunctuation=n */, - { 8, 9093, 3290, 4, 18, UNI_RUMI } /* blk=ruminumeralsymbols */, - { 2, 8233, 9337, 7, 4, UNI_SC__QAAI } /* script=qaai */, - { 3, 1239, 26, 25, 1, UNI_COMPEX } /* fullcompositionexclusion=y */, - { 9, 7118, 0, 4, 0, UNI_WARA } /* wara */, - { 0, 1536, 3039, 3, 10, UNI_ETHIOPICSUP } /* inethiopicsup */, - { 0, 9620, 1508, 3, 2, UNI_PS } /* gc=ps */, - { 0, 8332, 3758, 4, 7, UNI_ARABICSUP } /* isarabicsup */, - { 1, 3038, 0, 4, 0, UNI_ETHI } /* ethi */, - { 0, 8424, 976, 6, 17, UNI_ANCIENTGREEKMUSIC } /* block=ancientgreekmusic */, - { 7, 1362, 726, 24, 2, UNI_CCC__DA } /* canonicalcombiningclass=da */, - { 0, 3868, 400, 16, 6, UNI_CF } /* generalcategory=format */, - { 0, 9731, 6668, 3, 11, UNI_WB__SQ } /* wb=singlequote */, - { 2, 9605, 1362, 3, 9, UNI_DT__CAN } /* dt=canonical */, - { 16, 8424, 2333, 6, 13, UNI_GLAGOLITICSUP } /* block=glagoliticsup */, - { 35, 5979, 3, 12, 1, -UNI_IDEO } /* ideographic=f */, - { 4, 9365, 6691, 5, 10, UNI_SORA } /* scx=sorasompeng */, - { 2, 8424, 8045, 7, 6, UNI_CJKEXTF } /* block=cjkextf */, - { 9, 1158, 3327, 3, 10, UNI_TAIXUANJING } /* intaixuanjing */, - { 0, 8233, 9217, 7, 4, UNI_LAO } /* script=laoo */, - { 1, 9281, 0, 4, 0, UNI_NEWA } /* newa */, - { 0, 9623, 6701, 3, 11, UNI_JG__STRAIGHTWAW } /* jg=straightwaw */, - { 0, 6039, 0, 12, 0, UNI_NL } /* letternumber */, - { 5, 184, 9237, 2, 3, UNI_LOE } /* isloe */, - { 0, 9946, 1473, 3, 8, UNI__PERL_SURROGATE } /* issurrogate */, - { 0, 9365, 9185, 4, 4, UNI_HMNG } /* scx=hmng */, - { 0, 9725, 3380, 3, 18, UNI_VO__TU } /* vo=transformedupright */, - { 16, 2148, 7375, 3, 8, UNI_INSAMARITAN } /* insamaritan */, - { 8, 2401, 0, 3, 0, UNI_PUA } /* pua */, - { 1, 184, 8010, 3, 6, UNI_CJKEXTA } /* iscjkexta */, - { 82, 3671, 7804, 17, 4, UNI_BUGI } /* scriptextensions=bugi */, - { 3, 9647, 7691, 3, 2, UNI_NV__36 } /* nv=36 */, - { 3, 1362, 8740, 25, 4, UNI_CCC__19 } /* canonicalcombiningclass=ccc19 */, - { 1, 8580, 36, 6, 1, UNI__PERL_NCHAR } /* nchar=t */, - { 0, 3951, 5553, 3, 5, UNI_IPAEXT } /* isipaext */, - { 8, 9903, 4829, 6, 5, UNI_XPOSIXDIGIT } /* xposixdigit */, - { 0, 9113, 8817, 4, 2, UNI_CCC__34 } /* ccc=34 */, - { 0, 9365, 9105, 4, 4, UNI_CAKM } /* scx=cakm */, - { 0, 96, 0, 5, 0, UNI_XPOSIXALPHA } /* alpha */, - { 0, 1362, 2912, 24, 18, UNI_CCC__216 } /* canonicalcombiningclass=attachedaboveright */, - { 3, 8233, 7796, 7, 8, UNI_BASS } /* script=bassavah */, - { 0, 6005, 2591, 4, 9, UNI_COUNTINGROD } /* incountingrod */, - { 19, 3868, 5809, 16, 2, UNI_PF } /* generalcategory=pf */, - { 1, 8424, 7008, 6, 10, UNI_INPHOENICIAN } /* block=phoenician */, - { 7, 8879, 5284, 3, 13, UNI_PHONETICEXTSUP } /* inphoneticextsup */, - { 0, 9093, 3932, 4, 16, UNI_HIGHPUSURROGATES } /* blk=highpusurrogates */, - { 104, 3293, 1099, 3, 3, UNI_UCAS } /* inucas */, - { 1, 8886, 9189, 3, 4, UNI_HMNP } /* sc=hmnp */, - { 1, 2148, 1290, 3, 24, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* insymbolsandpictographsexta */, - { 0, 6194, 4658, 3, 14, UNI_NARB } /* inoldnortharabian */, - { 1, 184, 8485, 3, 5, UNI_CAKM } /* ischakma */, - { 0, 9093, 4933, 4, 14, UNI_INGREEK } /* blk=greekandcoptic */, - { 32, 2148, 3309, 3, 17, UNI_SMALLKANAEXT } /* insmallkanaextension */, - { 0, 8332, 4822, 3, 12, UNI_POSIXXDIGIT } /* isasciihexdigit */, - { 2, 8424, 5017, 6, 14, UNI_LATINEXTC } /* block=latinextendedc */, - { 6, 9365, 4297, 4, 7, UNI_BRAI } /* scx=braille */, - { 7, 184, 7221, 2, 9, UNI_EMOTICONS } /* isemoticons */, - { 1, 5448, 0, 13, 0, UNI_BLOCKELEMENTS } /* blockelements */, - { 0, 8954, 0, 5, 0, UNI_xidc_values_index } /* xidc= */, - { 0, 1576, 0, 23, 0, UNI_GEOMETRICSHAPESEXT } /* geometricshapesextended */, - { 5, 9093, 1856, 4, 11, UNI_NUMBERFORMS } /* blk=numberforms */, - { 2, 6918, 7176, 10, 9, UNI_LB__AI } /* linebreak=ambiguous */, - { 1, 184, 8072, 2, 4, UNI_ELYM } /* iselym */, - { 3, 8954, 3, 5, 1, -UNI_XIDC } /* xidc=f */, - { 0, 9049, 9722, 4, 3, UNI_AGE__9 } /* age=v90 */, - { 20, 8289, 0, 7, 0, UNI_LANA } /* taitham */, - { 7, 8424, 8038, 7, 6, UNI_CJKEXTE } /* block=cjkexte */, - { 6, 3948, 1696, 3, 2, UNI_INVAI } /* invai */, - { 0, 9365, 8430, 4, 4, UNI_CARI } /* scx=cari */, - { 0, 8424, 1824, 7, 21, UNI_CJKCOMPATIDEOGRAPHSSUP } /* block=cjkcompatideographssup */, - { 0, 8424, 3020, 6, 13, UNI_DEVANAGARIEXT } /* block=devanagariext */, - { 0, 184, 4975, 2, 14, UNI_KANASUP } /* iskanasupplement */, - { 0, 9093, 3038, 4, 8, UNI_INETHIOPIC } /* blk=ethiopic */, - { 2, 4204, 0, 6, 0, UNI_SYRC } /* syriac */, - { 0, 8233, 6898, 7, 10, UNI_KHAR } /* script=kharoshthi */, - { 4, 6918, 5325, 10, 9, UNI_LB__QU } /* linebreak=quotation */, - { 0, 8604, 36, 6, 1, UNI_QMARK } /* qmark=t */, - { 0, 9365, 7980, 4, 8, UNI_UGAR } /* scx=ugaritic */, - { 2, 9901, 9916, 8, 5, UNI_XPOSIXBLANK } /* isxposixblank */, - { 3, 9093, 6898, 4, 10, UNI_INKHAROSHTHI } /* blk=kharoshthi */, - { 0, 3868, 1014, 16, 6, UNI_L } /* generalcategory=letter */, - { 2, 1362, 6393, 24, 11, UNI_CCC__DA } /* canonicalcombiningclass=doubleabove */, - { 10, 6918, 9310, 10, 2, UNI_LB__SG } /* linebreak=sg */, - { 0, 8233, 8072, 7, 4, UNI_ELYM } /* script=elym */, - { 7, 8424, 2590, 7, 10, UNI_COUNTINGROD } /* block=countingrod */, - { 0, 8233, 9493, 7, 4, UNI_ZZZZ } /* script=zzzz */, - { 0, 1482, 0, 24, 0, UNI_inpc_values_index } /* indicpositionalcategory= */, - { 1, 1158, 8297, 3, 6, UNI_INTAIVIET } /* intaiviet */, - { 3, 6828, 2192, 10, 3, UNI_BC__PDI } /* bidiclass=pdi */, - { 0, 8886, 8282, 3, 7, UNI_SC__TGLG } /* sc=tagalog */, - { 10, 9113, 2373, 4, 4, UNI_CCC__L } /* ccc=left */, - { 0, 2212, 7861, 3, 7, UNI_INHIRAGANA } /* inhiragana */, - { 10, 9153, 4195, 4, 9, UNI_WB__EB } /* gcb=emodifier */, - { 3, 184, 183, 2, 20, UNI_MISCSYMBOLS } /* ismiscellaneoussymbols */, - { 6, 9365, 8538, 4, 4, UNI_KHOJ } /* scx=khoj */, - { 3, 3236, 995, 18, 2, -UNI__PERL_PATWS } /* patternwhitespace=no */, - { 68, 8424, 510, 7, 29, UNI_CJKEXTA } /* block=cjkunifiedideographsextensiona */, - { 1, 8233, 7804, 7, 4, UNI_SC__BUGI } /* script=bugi */, - { 0, 9599, 1, 3, 1, -UNI_CI } /* ci=n */, - { 0, 4297, 0, 4, 0, UNI_BRAI } /* brai */, - { 0, 9629, 1696, 3, 2, UNI_LB__AI } /* lb=ai */, - { 13, 9093, 9425, 4, 4, UNI_INTHAI } /* blk=thai */, - { 1, 8886, 8261, 3, 7, UNI_SOYO } /* sc=soyombo */, - { 3, 5760, 7446, 13, 1, UNI_NV__2 } /* numericvalue=2 */, - { 36, 8338, 26, 7, 1, UNI_XPOSIXSPACE } /* wspace=y */, - { 0, 9365, 7892, 4, 8, UNI_JAVA } /* scx=javanese */, - { 6, 7275, 0, 9, 0, UNI_LATINEXTD } /* latinextd */, - { 0, 8424, 3519, 7, 16, UNI_CYRILLICEXTB } /* block=cyrillicextendedb */, - { 2, 1362, 2920, 24, 5, UNI_CCC__A } /* canonicalcombiningclass=above */, - { 0, 5760, 9010, 13, 3, UNI_NV__3_SLASH_2 } /* numericvalue=3/2 */, - { 2, 8424, 1289, 6, 25, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* block=symbolsandpictographsexta */, - { 2, 8886, 3620, 3, 10, UNI_SC__MANI } /* sc=manichaean */, - { 0, 8874, 36, 5, 1, UNI_IDST } /* idst=t */, - { 1, 4826, 9433, 9, 4, UNI_XPOSIXXDIGIT } /* hexdigit=true */, - { 9, 9093, 8859, 4, 5, UNI_INDOGRA } /* blk=dogra */, - { 0, 9365, 8149, 4, 7, UNI_MULT } /* scx=multani */, - { 0, 9940, 3248, 6, 5, UNI_POSIXSPACE } /* isperlspace */, - { 22, 8332, 9054, 3, 3, UNI_AGHB } /* isaghb */, - { 0, 6051, 0, 4, 0, UNI_MAHJ } /* mahj */, - { 32, 184, 8017, 3, 6, UNI_CJKEXTB } /* iscjkextb */, - { 3, 9602, 9433, 3, 4, UNI_DI } /* di=true */, - { 1, 184, 6679, 2, 10, UNI_SD } /* issoftdotted */, - { 0, 9946, 9782, 7, 4, UNI_XPOSIXSPACE } /* isspaceperl */, - { 1, 21, 5578, 2, 13, UNI_KANAEXTA } /* inkanaextendeda */, - { 3, 184, 8850, 3, 3, UNI_CWCM } /* iscwcm */, - { 2, 8886, 9217, 3, 4, UNI_LAO } /* sc=laoo */, - { 130, 467, 0, 5, 0, UNI_P } /* punct */, - { 0, 8886, 8002, 3, 7, UNI_SC__BENG } /* sc=bengali */, - { 18, 184, 9489, 2, 4, UNI_ZYYY } /* iszyyy */, - { 0, 2106, 34, 21, 2, UNI_GCB__EX } /* graphemeclusterbreak=ex */, - { 0, 1933, 0, 22, 0, UNI_loe_values_index } /* logicalorderexception= */, - { 128, 8685, 0, 4, 0, UNI_hex_values_index } /* hex= */, - { 0, 8586, 9734, 6, 3, UNI_NFCQC__Y } /* nfcqc=yes */, - { 3, 9662, 9734, 3, 3, UNI_SD } /* sd=yes */, - { 77, 8592, 9734, 6, 3, UNI_NFDQC__Y } /* nfdqc=yes */, - { 4, 4657, 0, 15, 0, UNI_NARB } /* oldnortharabian */, - { 0, 4975, 0, 14, 0, UNI_KANASUP } /* kanasupplement */, + { 1, 8435, 0, 6, 0, UNI_GRBASE } /* grbase */, + { 0, 10048, 9208, 3, 2, UNI_NV__35 } /* nv=35 */, + { 0, 7218, 495, 10, 2, UNI_LB__NU } /* linebreak=nu */, + { 0, 10048, 8744, 3, 6, UNI_NV__700000 } /* nv=700000 */, + { 17, 184, 9628, 2, 4, UNI_LATN } /* islatn */, + { 0, 8589, 9568, 7, 4, UNI_SC__GREK } /* script=grek */, + { 0, 8575, 3, 7, 1, -UNI_PATSYN } /* patsyn=f */, + { 1, 9508, 9191, 5, 4, UNI_CCC__32 } /* ccc=ccc32 */, + { 0, 10333, 8618, 3, 3, UNI_SOYO } /* issoyo */, + { 8, 7576, 0, 9, 0, UNI_LATINEXTB } /* latinextb */, + { 13, 3836, 8219, 17, 4, UNI_JAVA } /* scriptextensions=java */, + { 3, 3836, 9476, 17, 4, UNI_AVST } /* scriptextensions=avst */, + { 2, 9640, 0, 3, 0, UNI_LOE } /* loe */, + { 1, 1966, 6463, 22, 6, UNI_LB__ZWJ } /* indicsyllabiccategory=joiner */, + { 0, 6805, 254, 6, 29, UNI_MISCMATHSYMBOLSA } /* inmiscellaneousmathematicalsymbolsa */, + { 0, 8780, 7058, 6, 10, UNI_ARABICEXTA } /* block=arabicexta */, + { 0, 184, 9325, 2, 5, UNI_RUNR } /* isrunic */, + { 7, 10024, 9225, 3, 5, UNI_XPOSIXCNTRL } /* gc=cntrl */, + { 8, 9596, 911, 4, 1, UNI_GCB__V } /* hst=v */, + { 0, 9277, 4385, 3, 6, UNI_TANG } /* sc=tangut */, + { 64, 8780, 1911, 6, 11, UNI_NUMBERFORMS } /* block=numberforms */, + { 38, 5986, 8720, 13, 2, UNI_NV__40 } /* numericvalue=40 */, + { 1, 8780, 0, 6, 34, UNI_UCAS } /* block=unifiedcanadianaboriginalsyllabics */, + { 1, 184, 7585, 2, 9, UNI_LATINEXTC } /* islatinextc */, + { 1, 3836, 9572, 17, 4, UNI_GUJR } /* scriptextensions=gujr */, + { 1, 8589, 2245, 7, 11, UNI_MTEI } /* script=meeteimayek */, + { 12, 9488, 3649, 4, 17, UNI_CYRILLICEXTB } /* blk=cyrillicextendedb */, + { 4, 7438, 8144, 10, 3, UNI_WB__EB } /* wordbreak=gaz */, + { 10, 7155, 5038, 3, 7, UNI_XPOSIXXDIGIT } /* ishexdigit */, + { 0, 7540, 1, 9, 1, -UNI_EXT } /* extender=n */, + { 0, 21, 7567, 2, 9, UNI_INKHUDAWADI } /* inkhudawadi */, + { 9, 9488, 1219, 5, 4, UNI_INBATAK } /* blk=batak */, + { 2, 7088, 426, 10, 2, UNI_BC__ES } /* bidiclass=es */, + { 2, 3836, 9676, 17, 4, UNI_NARB } /* scriptextensions=narb */, + { 2, 1417, 8002, 24, 2, UNI_CCC__26 } /* canonicalcombiningclass=26 */, + { 4, 10063, 1, 3, 1, -UNI_SD } /* sd=n */, + { 0, 4033, 1587, 16, 1, UNI_Z } /* generalcategory=z */, + { 6, 18, 0, 2, 0, UNI_RI } /* ri */, + { 0, 6554, 26, 11, 1, UNI_IDC } /* idcontinue=y */, + { 6, 6829, 0, 11, 0, UNI_MYANMAREXTB } /* myanmarextb */, + { 1, 7318, 9991, 10, 3, UNI_IN__9 } /* presentin=9.0 */, + { 0, 9277, 9330, 3, 5, UNI_SC__TALE } /* sc=taile */, + { 0, 9480, 0, 4, 0, UNI_BATK } /* batk */, + { 31, 1979, 0, 11, 0, UNI_LO } /* category=lo */, + { 2, 4116, 7559, 3, 8, UNI_QAAI } /* isinherited */, + { 0, 1417, 7778, 24, 2, UNI_CCC__21 } /* canonicalcombiningclass=21 */, + { 2, 8780, 6133, 6, 12, UNI_ETHIOPICEXTA } /* block=ethiopicexta */, + { 5, 7228, 10135, 10, 3, UNI_XPOSIXLOWER } /* lowercase=yes */, + { 0, 9277, 7308, 3, 10, UNI_PHNX } /* sc=phoenician */, + { 2, 9720, 0, 4, 0, UNI_PHLP } /* phlp */, + { 0, 8589, 9668, 7, 4, UNI_MTEI } /* script=mtei */, + { 0, 9768, 8876, 4, 6, UNI_GOTH } /* scx=gothic */, + { 0, 2224, 2913, 3, 8, UNI_INSUNDANESE } /* insundanese */, + { 41, 8780, 1344, 6, 25, UNI_SYMBOLSFORLEGACYCOMPUTING } /* block=symbolsforlegacycomputing */, + { 0, 184, 9748, 2, 4, UNI_RJNG } /* isrjng */, + { 1, 10048, 8744, 3, 2, UNI_NV__70 } /* nv=70 */, + { 0, 5843, 0, 9, 0, UNI_MLYM } /* malayalam */, + { 7, 9275, 4417, 5, 16, UNI_INSC__VOWELINDEPENDENT } /* insc=vowelindependent */, + { 9, 9488, 8456, 4, 7, UNI_INKANNADA } /* blk=kannada */, + { 8, 10129, 26, 3, 1, UNI_VS } /* vs=y */, + { 1, 8780, 4973, 6, 8, UNI_VEDICEXT } /* block=vedicext */, + { 1, 10182, 435, 6, 5, UNI__PERL_NCHAR } /* _perl_nchar */, + { 2, 4791, 2247, 4, 19, UNI_MEETEIMAYEKEXT } /* inmeeteimayekextensions */, + { 28, 184, 1585, 2, 14, UNI_BYZANTINEMUSIC } /* isbyzantinemusic */, + { 3, 9270, 909, 3, 9, UNI_PUA } /* inprivateuse */, + { 1, 2182, 8144, 21, 3, UNI_WB__EB } /* graphemeclusterbreak=gaz */, + { 0, 9290, 10135, 5, 3, UNI_MATH } /* math=yes */, + { 0, 9277, 9310, 3, 5, UNI_OGAM } /* sc=ogham */, + { 0, 8449, 0, 6, 0, UNI_HYPHEN } /* hyphen */, + { 16, 11, 0, 2, 0, UNI_DI } /* di */, + { 0, 8688, 8338, 3, 6, UNI_AVST } /* isavestan */, + { 2, 10033, 7486, 3, 9, UNI_LB__AI } /* lb=ambiguous */, + { 0, 1828, 3, 6, 1, -UNI_CASED } /* cased=f */, + { 0, 10288, 9225, 8, 5, UNI_XPOSIXCNTRL } /* isxposixcntrl */, + { 7, 3169, 0, 4, 0, UNI_ETHI } /* ethi */, + { 24, 1552, 5713, 9, 13, UNI_XPOSIXDIGIT } /* category=decimalnumber */, + { 0, 8780, 78, 6, 6, UNI_INARABIC } /* block=arabic */, + { 1, 8780, 382, 6, 32, UNI_EGYPTIANHIEROGLYPHFORMATCONTROLS } /* block=egyptianhieroglyphformatcontrols */, + { 2, 1417, 9171, 25, 4, UNI_CCC__28 } /* canonicalcombiningclass=ccc28 */, + { 4, 8589, 7428, 7, 4, UNI_WARA } /* script=wara */, + { 50, 1768, 10135, 22, 3, UNI_CWCF } /* changeswhencasefolded=yes */, + { 0, 7438, 3385, 10, 17, UNI_RI } /* wordbreak=regionalindicator */, + { 0, 9536, 9255, 4, 5, -UNI_DEP } /* dep=false */, + { 32, 7218, 3379, 10, 5, UNI_LB__SP } /* linebreak=space */, + { 3, 1552, 5438, 9, 14, UNI_SK } /* category=modifiersymbol */, + { 5, 5791, 10045, 13, 3, UNI_JG__MIM } /* joininggroup=mim */, + { 2, 42, 0, 36, 0, UNI_CJKCOMPATIDEOGRAPHSSUP } /* cjkcompatibilityideographssupplement */, + { 7, 8780, 8596, 6, 7, UNI_SC__SHRD } /* block=sharada */, + { 3, 9488, 8414, 4, 7, UNI_INELBASAN } /* blk=elbasan */, + { 9, 9488, 5778, 4, 13, UNI_IPAEXT } /* blk=ipaextensions */, + { 19, 7288, 0, 10, 0, UNI_SOGO } /* oldsogdian */, + { 1, 10296, 83, 3, 2, UNI_PCM } /* ispcm */, + { 0, 6231, 6086, 3, 11, UNI_CHESSSYMBOLS } /* inchesssymbols */, + { 2, 3632, 0, 17, 0, UNI_CYRILLICEXTA } /* cyrillicextendeda */, + { 0, 8780, 9664, 6, 3, UNI_INMRO } /* block=mro */, + { 4, 10009, 9552, 3, 4, UNI_DT__FONT } /* dt=font */, + { 3, 5986, 8744, 13, 6, UNI_NV__700000 } /* numericvalue=700000 */, + { 6, 7438, 8323, 10, 7, UNI_WB__LE } /* wordbreak=aletter */, + { 0, 8930, 9836, 6, 4, UNI_XPOSIXLOWER } /* lower=true */, + { 4, 1417, 3015, 24, 5, UNI_CCC__A } /* canonicalcombiningclass=above */, + { 2, 9488, 8187, 4, 8, UNI_INHIRAGANA } /* blk=hiragana */, + { 0, 8780, 1677, 6, 9, UNI_LATINEXTE } /* block=latinexte */, + { 1, 5324, 8493, 4, 5, UNI_INMARCHEN } /* inmarchen */, + { 0, 9508, 7765, 4, 2, UNI_CCC__25 } /* ccc=25 */, + { 10, 9245, 0, 5, 0, UNI_DOGR } /* dogra */, + { 16, 184, 4658, 2, 14, UNI_GREXT } /* isgraphemeextend */, + { 0, 1966, 4823, 22, 15, UNI_INSC__MODIFYINGLETTER } /* indicsyllabiccategory=modifyingletter */, + { 0, 2182, 34, 21, 6, UNI_GCB__EX } /* graphemeclusterbreak=extend */, + { 0, 9508, 9196, 5, 4, UNI_CCC__33 } /* ccc=ccc33 */, + { 0, 5986, 10140, 13, 2, UNI_NV__39 } /* numericvalue=39 */, + { 4, 8780, 720, 7, 15, UNI_CUNEIFORMNUMBERS } /* block=cuneiformnumbers */, + { 14, 8780, 1013, 6, 5, UNI_INGREEK } /* block=greek */, + { 0, 4129, 0, 9, 0, UNI_LATIN1 } /* latin1sup */, + { 0, 10048, 7995, 3, 8, UNI_NV__1_SLASH_16 } /* nv=6.25e-02 */, + { 6, 9070, 26, 5, 1, UNI_POSIXXDIGIT } /* ahex=y */, + { 1, 8589, 2684, 7, 19, UNI_EGYP } /* script=egyptianhieroglyphs */, + { 0, 7218, 6178, 10, 2, UNI_LB__ZW } /* linebreak=zw */, + { 0, 184, 1677, 2, 23, UNI_LATINEXTADDITIONAL } /* islatinextendedadditional */, + { 0, 8589, 9065, 7, 5, UNI_SC__ADLM } /* script=adlam */, + { 32, 6231, 219, 4, 31, UNI_DIACRITICALSEXT } /* incombiningdiacriticalmarksextended */, + { 4, 8589, 4793, 7, 15, UNI_MERC } /* script=meroiticcursive */, + { 0, 3836, 9700, 17, 4, UNI_OLCK } /* scriptextensions=olck */, + { 0, 1966, 4417, 22, 5, UNI_INSC__VOWEL } /* indicsyllabiccategory=vowel */, + { 1, 10048, 5648, 3, 13, UNI_NV__1000000000000 } /* nv=1000000000000 */, + { 0, 10024, 4898, 3, 15, UNI_PS } /* gc=openpunctuation */, + { 1, 2218, 2470, 3, 19, UNI_INNYIAKENGPUACHUEHMONG } /* innyiakengpuachuehmong */, + { 0, 184, 7068, 2, 10, UNI_ASCII } /* isbasiclatin */, + { 2, 9488, 8131, 4, 8, UNI_INDUPLOYAN } /* blk=duployan */, + { 0, 5986, 7987, 13, 8, UNI_NV__5_SLASH_8 } /* numericvalue=6.25e-01 */, + { 0, 4989, 1368, 3, 3, UNI_UGAR } /* isugar */, + { 12, 1417, 8817, 25, 5, UNI_CCC__129 } /* canonicalcombiningclass=ccc129 */, + { 0, 9756, 0, 4, 0, UNI_RUNR } /* runr */, + { 1, 8780, 8456, 6, 7, UNI_INKANNADA } /* block=kannada */, + { 8, 8780, 838, 6, 29, UNI_MISCARROWS } /* block=miscellaneoussymbolsandarrows */, + { 3, 5791, 5368, 13, 14, UNI_JG__MANICHAEANKAPH } /* joininggroup=manichaeankaph */, + { 2, 184, 3421, 2, 18, UNI_RUMI } /* isruminumeralsymbols */, + { 0, 10296, 7, 3, 1, UNI_PC } /* ispc */, + { 5, 10048, 8010, 3, 2, UNI_NV__36 } /* nv=36 */, + { 41, 598, 0, 2, 0, UNI_XPOSIXCNTRL } /* cc */, + { 1, 5830, 0, 13, 0, UNI_LOWSURROGATES } /* lowsurrogates */, + { 1, 9488, 6972, 4, 11, UNI_INSYLOTINAGRI } /* blk=sylotinagri */, + { 2, 4688, 1284, 15, 9, UNI_IDENTIFIERTYPE__EXCLUSION } /* identifiertype=exclusion */, + { 32, 8852, 3, 6, 1, -UNI_CWKCF } /* cwkcf=f */, + { 0, 9508, 7922, 4, 2, UNI_CCC__24 } /* ccc=24 */, + { 1, 6397, 0, 12, 0, UNI_MATHALPHANUM } /* mathalphanum */, + { 1, 8780, 8888, 6, 6, UNI_INHATRAN } /* block=hatran */, + { 1, 10048, 7765, 3, 1, UNI_NV__2 } /* nv=2 */, + { 4, 5986, 9361, 13, 3, UNI_NV__1_SLASH_2 } /* numericvalue=1/2 */, + { 0, 1966, 4305, 22, 5, UNI_INSC__OTHER } /* indicsyllabiccategory=other */, + { 0, 4033, 74, 16, 2, UNI_ME } /* generalcategory=me */, + { 2, 5986, 7995, 13, 8, UNI_NV__1_SLASH_16 } /* numericvalue=6.25e-02 */, + { 2, 6231, 2141, 3, 10, UNI_CYRILLICSUP } /* incyrillicsup */, + { 8, 8996, 3, 6, 1, -UNI_STERM } /* sterm=f */, + { 0, 184, 9032, 2, 6, UNI_WCHO } /* iswancho */, + { 8, 3937, 0, 16, 0, UNI_BOPOMOFOEXT } /* bopomofoextended */, + { 10, 10048, 8066, 3, 2, UNI_NV__28 } /* nv=28 */, + { 8, 2779, 3, 19, 1, -UNI_IDST } /* idstrinaryoperator=f */, + { 6, 10009, 1417, 3, 9, UNI_DT__CAN } /* dt=canonical */, + { 1, 3836, 9748, 17, 4, UNI_RJNG } /* scriptextensions=rjng */, + { 22, 3836, 7675, 17, 9, UNI_PALM } /* scriptextensions=palmyrene */, + { 14, 4643, 10135, 15, 3, UNI_ECOMP } /* emojicomponent=yes */, + { 8, 10033, 125, 3, 2, UNI_LB__CR } /* lb=cr */, + { 0, 8780, 8187, 6, 8, UNI_INHIRAGANA } /* block=hiragana */, + { 12, 9500, 0, 4, 0, UNI_CAKM } /* cakm */, + { 0, 4542, 4051, 4, 14, UNI_GEORGIANEXT } /* ingeorgianextended */, + { 0, 9235, 1, 5, 1, -UNI_CWCM } /* cwcm=n */, + { 0, 8780, 4569, 7, 14, UNI_CURRENCYSYMBOLS } /* block=currencysymbols */, + { 9, 3836, 4273, 17, 7, UNI_MYMR } /* scriptextensions=myanmar */, + { 1, 3836, 3115, 17, 10, UNI_DEVA } /* scriptextensions=devanagari */, + { 0, 8589, 8786, 7, 6, UNI_CARI } /* script=carian */, + { 8, 9277, 9680, 3, 4, UNI_NBAT } /* sc=nbat */, + { 0, 1417, 7950, 24, 1, UNI_CCC__9 } /* canonicalcombiningclass=9 */, + { 1, 9277, 9900, 3, 4, UNI_ZZZZ } /* sc=zzzz */, + { 0, 9680, 0, 4, 0, UNI_NBAT } /* nbat */, + { 11, 3836, 9504, 17, 4, UNI_CANS } /* scriptextensions=cans */, + { 0, 1417, 7765, 24, 2, UNI_CCC__25 } /* canonicalcombiningclass=25 */, + { 0, 2032, 36, 22, 1, UNI__PERL_NCHAR } /* noncharactercodepoint=t */, + { 33, 10290, 467, 6, 5, UNI_XPOSIXPUNCT } /* xposixpunct */, + { 0, 2076, 0, 15, 0, UNI_TRANSPORTANDMAP } /* transportandmap */, + { 34, 9508, 5649, 4, 1, UNI_CCC__0 } /* ccc=0 */, + { 18, 9260, 9255, 5, 5, -UNI_IDSB } /* idsb=false */, + { 4, 5986, 7781, 13, 2, UNI_NV__43 } /* numericvalue=43 */, + { 1, 184, 9305, 2, 5, UNI_NSHU } /* isnushu */, + { 3, 5986, 7779, 13, 8, UNI_NV__1_SLASH_7 } /* numericvalue=1.43e-01 */, + { 0, 10132, 495, 3, 2, UNI_WB__NU } /* wb=nu */, + { 0, 10033, 5746, 3, 5, UNI_EBASE } /* lb=ebase */, + { 1, 1166, 26, 26, 1, UNI_DI } /* defaultignorablecodepoint=y */, + { 1, 9768, 1537, 5, 3, UNI_SIND } /* scx=sind */, + { 0, 7218, 4842, 10, 2, UNI_LB__QU } /* linebreak=qu */, + { 0, 3921, 0, 9, 0, UNI_ARABICSUP } /* arabicsup */, + { 1, 7088, 102, 10, 2, UNI_BC__ET } /* bidiclass=et */, + { 6, 8768, 1, 6, 1, -UNI_BIDIC } /* bidic=n */, + { 1, 1417, 2449, 24, 4, UNI_CCC__L } /* canonicalcombiningclass=left */, + { 0, 184, 7576, 2, 9, UNI_LATINEXTB } /* islatinextb */, + { 1, 9488, 3666, 4, 17, UNI_CYRILLICEXTC } /* blk=cyrillicextendedc */, + { 1, 7076, 2609, 3, 5, UNI_INBRAHMI } /* inbrahmi */, + { 0, 8449, 1, 7, 1, -UNI_HYPHEN } /* hyphen=n */, + { 86, 9556, 1087, 4, 7, UNI_GCB__PP } /* gcb=prepend */, + { 0, 8997, 1, 5, 1, -UNI_TERM } /* term=n */, + { 1, 9265, 0, 5, 0, UNI_idst_values_index } /* idst= */, + { 0, 4033, 2061, 16, 14, UNI_LM } /* generalcategory=modifierletter */, + { 0, 9488, 2245, 4, 14, UNI_MEETEIMAYEKEXT } /* blk=meeteimayekext */, + { 0, 8589, 8561, 7, 4, UNI_OSMA } /* script=osma */, + { 6, 3836, 2485, 17, 4, UNI_MONG } /* scriptextensions=mong */, + { 0, 2182, 262, 21, 2, UNI_GCB__SM } /* graphemeclusterbreak=sm */, + { 10, 8589, 3598, 7, 17, UNI_AGHB } /* script=caucasianalbanian */, + { 100, 3836, 2288, 18, 3, UNI_SINH } /* scriptextensions=sinh */, + { 14, 9768, 9880, 4, 4, UNI_YI } /* scx=yiii */, + { 1, 10027, 10000, 3, 3, UNI_JG__BEH } /* jg=beh */, + { 2, 9488, 4049, 4, 16, UNI_GEORGIANEXT } /* blk=georgianextended */, + { 1, 5037, 1025, 9, 2, -UNI_XPOSIXXDIGIT } /* hexdigit=no */, + { 0, 7684, 0, 9, 0, UNI_PAUC } /* paucinhau */, + { 2, 9070, 9836, 5, 4, UNI_POSIXXDIGIT } /* ahex=true */, + { 0, 8589, 8187, 7, 4, UNI_SC__HIRA } /* script=hira */, + { 16, 9768, 9628, 4, 4, UNI_LATN } /* scx=latn */, + { 0, 1417, 1755, 24, 2, UNI_CCC__DB } /* canonicalcombiningclass=db */, + { 6, 10048, 1249, 3, 3, UNI_NV__NAN } /* nv=nan */, + { 32, 2061, 0, 4, 0, UNI_MODI } /* modi */, + { 2, 9524, 9255, 4, 5, -UNI_CWT } /* cwt=false */, + { 5, 10288, 5040, 8, 5, UNI_XPOSIXDIGIT } /* isxposixdigit */, + { 5, 184, 4598, 2, 15, UNI_DIACRITICALSEXT } /* isdiacriticalsext */, + { 0, 9346, 9255, 4, 5, -UNI_IDC } /* idc=false */, + { 0, 6181, 0, 12, 0, UNI_GONG } /* gunjalagondi */, + { 4, 6928, 9836, 11, 4, UNI_SD } /* softdotted=true */, + { 0, 21, 1673, 2, 4, UNI_JAMO } /* injamo */, + { 0, 8762, 3, 6, 1, -UNI_XPOSIXALPHA } /* alpha=f */, + { 3, 1700, 0, 23, 0, UNI_SHORTHANDFORMATCONTROLS } /* shorthandformatcontrols */, + { 5, 8589, 9712, 7, 4, UNI_OSGE } /* script=osge */, + { 98, 1417, 9940, 24, 3, UNI_CCC__A } /* canonicalcombiningclass=230 */, + { 1, 5791, 756, 13, 3, UNI_JG__DAL } /* joininggroup=dal */, + { 4, 184, 122, 2, 9, UNI_DIA } /* isdiacritic */, + { 0, 7218, 5585, 10, 2, UNI_EBASE } /* linebreak=eb */, + { 0, 10291, 96, 5, 5, UNI_POSIXALPHA } /* posixalpha */, + { 1, 10024, 1287, 3, 2, UNI_UPPERCASELETTER } /* gc=lu */, + { 41, 9235, 1025, 5, 2, -UNI_CWCM } /* cwcm=no */, + { 2, 7408, 0, 10, 0, UNI_CN } /* unassigned */, + { 18, 9262, 0, 3, 0, UNI_sb_values_index } /* sb= */, + { 0, 3836, 9797, 18, 3, UNI_SYRC } /* scriptextensions=syrc */, + { 2, 7155, 1655, 3, 5, UNI_HANG } /* ishangul */, + { 1, 382, 0, 32, 0, UNI_EGYPTIANHIEROGLYPHFORMATCONTROLS } /* egyptianhieroglyphformatcontrols */, + { 0, 5746, 3, 6, 1, -UNI_EBASE } /* ebase=f */, + { 1, 3385, 10135, 18, 3, UNI_RI } /* regionalindicator=yes */, + { 7, 9240, 9836, 5, 4, UNI_DASH } /* dash=true */, + { 1, 7218, 0, 10, 0, UNI_lb_values_index } /* linebreak= */, + { 4, 1417, 9176, 25, 4, UNI_CCC__29 } /* canonicalcombiningclass=ccc29 */, + { 1, 10288, 6554, 3, 3, UNI_XIDC } /* isxidc */, + { 0, 3901, 8173, 4, 6, UNI_INGUJARATI } /* ingujarati */, + { 1, 3649, 0, 17, 0, UNI_CYRILLICEXTB } /* cyrillicextendedb */, + { 0, 9277, 7684, 3, 4, UNI_PAUC } /* sc=pauc */, + { 1, 1417, 7978, 24, 2, UNI_CCC__16 } /* canonicalcombiningclass=16 */, + { 11, 5214, 0, 6, 0, UNI_KANGXI } /* kangxi */, + { 0, 5578, 400, 14, 6, UNI_SB__FO } /* sentencebreak=format */, + { 52, 9277, 2245, 3, 11, UNI_MTEI } /* sc=meeteimayek */, + { 1, 8780, 9315, 6, 5, UNI_INORIYA } /* block=oriya */, + { 0, 2218, 16, 3, 1, UNI_NB } /* innb */, + { 0, 9277, 3241, 3, 4, UNI_SC__GEOR } /* sc=geor */, + { 2, 1768, 0, 21, 0, UNI_CWCF } /* changeswhencasefolded */, + { 2, 1856, 36, 22, 1, UNI_CWU } /* changeswhenuppercased=t */, + { 8, 8589, 8942, 7, 6, UNI_LYDI } /* script=lydian */, + { 13, 9488, 7368, 4, 10, UNI_SMALLFORMS } /* blk=smallforms */, + { 0, 8930, 3, 6, 1, -UNI_XPOSIXLOWER } /* lower=f */, + { 20, 9488, 3600, 4, 4, UNI_UCAS } /* blk=ucas */, + { 0, 4033, 6851, 16, 11, UNI_LO } /* generalcategory=otherletter */, + { 16, 8780, 7594, 6, 9, UNI_LATINEXTD } /* block=latinextd */, + { 1, 7088, 3187, 10, 18, UNI_BC__ET } /* bidiclass=europeanterminator */, + { 18, 7318, 9982, 10, 3, UNI_IN__6_DOT_3 } /* presentin=6.3 */, + { 2, 9508, 8002, 4, 2, UNI_CCC__26 } /* ccc=26 */, + { 1, 8780, 3937, 6, 8, UNI_INBOPOMOFO } /* block=bopomofo */, + { 0, 9508, 9181, 5, 4, UNI_CCC__30 } /* ccc=ccc30 */, + { 0, 5452, 26, 14, 1, UNI_NFCQC__Y } /* nfcquickcheck=y */, + { 0, 1867, 0, 5, 0, UNI_XPOSIXUPPER } /* upper */, + { 1, 10033, 3379, 3, 5, UNI_LB__SP } /* lb=space */, + { 1, 10009, 6421, 3, 12, UNI_DT__NONCANON } /* dt=noncanonical */, + { 1, 9488, 0, 4, 34, UNI_UCAS } /* blk=unifiedcanadianaboriginalsyllabics */, + { 0, 10048, 8003, 3, 8, UNI_NV__1_SLASH_160 } /* nv=6.25e-03 */, + { 0, 5116, 26, 14, 1, UNI_EMOD } /* emojimodifier=y */, + { 0, 8780, 478, 6, 31, UNI_MATHALPHANUM } /* block=mathematicalalphanumericsymbols */, + { 0, 10333, 8618, 3, 6, UNI_SOYO } /* issoyombo */, + { 6, 9488, 8666, 4, 7, UNI_INTIRHUTA } /* blk=tirhuta */, + { 0, 8996, 9255, 6, 5, -UNI_STERM } /* sterm=false */, + { 0, 8780, 4002, 7, 15, UNI_CYPRIOTSYLLABARY } /* block=cypriotsyllabary */, + { 1, 10290, 7438, 6, 4, UNI_XPOSIXWORD } /* xposixword */, + { 1, 1585, 0, 23, 0, UNI_BYZANTINEMUSIC } /* byzantinemusicalsymbols */, + { 0, 4113, 952, 3, 17, UNI_INVS } /* invariationselectors */, + { 0, 2280, 9321, 3, 4, UNI_OSGE } /* isosage */, + { 6, 9672, 0, 4, 0, UNI_MYMR } /* mymr */, + { 18, 9277, 0, 3, 0, UNI_sc_values_index } /* sc= */, + { 0, 9277, 9008, 3, 4, UNI_SC__THAA } /* sc=thaa */, + { 0, 9277, 7428, 3, 4, UNI_WARA } /* sc=wara */, + { 12, 184, 6385, 2, 12, UNI_GONM } /* ismasaramgondi */, + { 0, 5947, 0, 13, 0, UNI_MAYANNUMERALS } /* mayannumerals */, + { 0, 9277, 9628, 3, 4, UNI_SC__LATN } /* sc=latn */, + { 4, 8894, 0, 6, 0, UNI_joinc_values_index } /* joinc= */, + { 0, 9275, 6457, 5, 12, UNI_INSC__NUMBERJOINER } /* insc=numberjoiner */, + { 0, 5986, 9061, 13, 4, UNI_NV__1_SLASH_12 } /* numericvalue=1/12 */, + { 2, 8187, 0, 8, 0, UNI_HIRA } /* hiragana */, + { 0, 184, 1879, 3, 21, UNI_CJKCOMPATIDEOGRAPHSSUP } /* iscjkcompatideographssup */, + { 9, 9508, 3572, 4, 9, UNI_CCC__BL } /* ccc=belowleft */, + { 1, 3683, 0, 16, 0, UNI_ETHIOPICEXT } /* ethiopicextended */, + { 0, 184, 3358, 2, 9, UNI_Z } /* isseparator */, + { 1, 1966, 4523, 22, 15, UNI_INSC__CONSONANTMEDIAL } /* indicsyllabiccategory=consonantmedial */, + { 0, 9768, 9484, 4, 4, UNI_BHKS } /* scx=bhks */, + { 1, 8780, 4613, 6, 15, UNI_DIACRITICALSSUP } /* block=diacriticalssup */, + { 0, 9277, 9792, 3, 4, UNI_SOGO } /* sc=sogo */, + { 17, 184, 9692, 2, 4, UNI_NSHU } /* isnshu */, + { 1, 2182, 6169, 21, 12, UNI_WB__EB } /* graphemeclusterbreak=glueafterzwj */, + { 0, 7318, 9856, 10, 4, UNI_IN__13 } /* presentin=v130 */, + { 1, 3836, 9832, 17, 4, UNI_TIBT } /* scriptextensions=tibt */, + { 0, 9270, 468, 3, 10, UNI_INPUNCTUATION } /* inpunctuation */, + { 2, 5791, 5843, 13, 13, UNI_JG__MALAYALAMLLLA } /* joininggroup=malayalamllla */, + { 2, 3097, 45, 18, 3, UNI_DT__COM } /* decompositiontype=com */, + { 0, 10048, 4134, 3, 1, UNI_NV__1 } /* nv=1 */, + { 0, 8463, 0, 7, 0, UNI_KALI } /* kayahli */, + { 0, 8435, 9836, 7, 4, UNI_GRBASE } /* grbase=true */, + { 24, 6553, 3, 12, 1, -UNI_XIDC } /* xidcontinue=f */, + { 1, 4583, 0, 15, 0, UNI_PD } /* dashpunctuation */, + { 16, 10288, 5040, 3, 5, UNI_XPOSIXXDIGIT } /* isxdigit */, + { 0, 9768, 9736, 4, 4, UNI_COPT } /* scx=qaac */, + { 2, 8780, 4928, 6, 15, UNI_TAMILSUP } /* block=tamilsupplement */, + { 2, 9768, 9900, 4, 4, UNI_ZZZZ } /* scx=zzzz */, + { 44, 10333, 17, 3, 1, UNI_SO } /* isso */, + { 1, 8442, 0, 7, 0, UNI_HANO } /* hanunoo */, + { 1, 1828, 0, 5, 0, UNI_CASED } /* cased */, + { 0, 8894, 26, 6, 1, UNI_JOINC } /* joinc=y */, + { 1, 1834, 26, 22, 1, UNI_CWT } /* changeswhentitlecased=y */, + { 0, 78, 0, 35, 0, UNI_ARABICMATH } /* arabicmathematicalalphabeticsymbols */, + { 0, 10033, 3385, 3, 17, UNI_RI } /* lb=regionalindicator */, + { 1, 8589, 2288, 8, 6, UNI_SC__SINH } /* script=sinhala */, + { 0, 8688, 5033, 3, 12, UNI_POSIXXDIGIT } /* isasciihexdigit */, + { 8, 3374, 10135, 11, 3, UNI_XPOSIXSPACE } /* whitespace=yes */, + { 2, 7158, 3, 10, 1, -UNI_DIA } /* diacritic=f */, + { 2, 8589, 1218, 7, 8, UNI_SC__KANA } /* script=katakana */, + { 2, 5986, 9924, 13, 2, UNI_NV__42 } /* numericvalue=42 */, + { 4, 184, 8853, 3, 4, UNI_CWKCF } /* iscwkcf */, + { 3, 10048, 9984, 3, 2, UNI_NV__37 } /* nv=37 */, + { 0, 1845, 0, 9, 0, UNI_TITLE } /* titlecase */, + { 0, 9350, 0, 5, 0, UNI_xids_values_index } /* xids= */, + { 2, 8780, 6253, 6, 5, UNI_INKHMER } /* block=khmer */, + { 0, 184, 570, 3, 29, UNI_CJKEXTC } /* iscjkunifiedideographsextensionc */, + { 0, 5791, 7016, 13, 11, UNI_JG__YEHWITHTAIL } /* joininggroup=yehwithtail */, + { 3, 10009, 1253, 3, 7, UNI_DT__INIT } /* dt=initial */, + { 3, 184, 4808, 2, 15, UNI_MISCPICTOGRAPHS } /* ismiscpictographs */, + { 3, 9488, 2684, 4, 19, UNI_INEGYPTIANHIEROGLYPHS } /* blk=egyptianhieroglyphs */, + { 3, 2529, 26, 20, 1, UNI_TERM } /* terminalpunctuation=y */, + { 1, 9488, 4479, 5, 14, UNI_BRAI } /* blk=braillepatterns */, + { 1, 2224, 4370, 3, 15, UNI_SYRIACSUP } /* insyriacsupplement */, + { 0, 8589, 9516, 7, 4, UNI_SC__CPRT } /* script=cprt */, + { 0, 7088, 0, 11, 0, UNI_BC__B } /* bidiclass=b */, + { 0, 1417, 7922, 24, 2, UNI_CCC__24 } /* canonicalcombiningclass=24 */, + { 10, 3836, 8243, 17, 8, UNI_MAHJ } /* scriptextensions=mahajani */, + { 0, 8589, 9484, 7, 4, UNI_BHKS } /* script=bhks */, + { 5, 184, 6229, 2, 11, UNI_JOINC } /* isjoincontrol */, + { 0, 4033, 1217, 16, 2, UNI_SK } /* generalcategory=sk */, + { 3, 9640, 9836, 4, 4, UNI_LOE } /* loe=true */, + { 0, 7739, 36, 8, 1, UNI_IDS } /* idstart=t */, + { 2, 9277, 9668, 3, 4, UNI_MTEI } /* sc=mtei */, + { 0, 9997, 24, 3, 1, UNI_BC__L } /* bc=l */, + { 1, 184, 4448, 2, 4, UNI_BAMU } /* isbamu */, + { 3, 9277, 9592, 3, 4, UNI_HMNP } /* sc=hmnp */, + { 34, 9277, 9776, 3, 4, UNI_SGNW } /* sc=sgnw */, + { 3, 6205, 36, 12, 1, UNI_IDEO } /* ideographic=t */, + { 16, 7088, 3756, 10, 3, UNI_BC__NSM } /* bidiclass=nsm */, + { 0, 21, 9032, 2, 6, UNI_INWANCHO } /* inwancho */, + { 3, 2182, 125, 21, 2, UNI_LB__CR } /* graphemeclusterbreak=cr */, + { 17, 8589, 8179, 7, 8, UNI_SC__GURU } /* script=gurmukhi */, + { 2, 9277, 8337, 3, 7, UNI_AVST } /* sc=avestan */, + { 0, 9536, 9836, 4, 4, UNI_DEP } /* dep=true */, + { 0, 9262, 69, 3, 2, UNI_SB__UP } /* sb=up */, + { 6, 2054, 0, 22, 0, UNI_MODIFIERLETTERS } /* spacingmodifierletters */, + { 1, 7218, 7512, 10, 2, UNI_LB__BB } /* linebreak=bb */, + { 0, 5674, 0, 12, 0, UNI_BIDIM } /* bidimirrored */, + { 2, 9488, 6481, 4, 12, UNI_INOLDHUNGARIAN } /* blk=oldhungarian */, + { 10, 184, 11, 2, 3, UNI_DIA } /* isdia */, + { 6, 4116, 3260, 3, 16, UNI_IDSB } /* isidsbinaryoperator */, + { 1, 5037, 26, 9, 1, UNI_XPOSIXXDIGIT } /* hexdigit=y */, + { 32, 9508, 7890, 4, 2, UNI_CCC__33 } /* ccc=33 */, + { 0, 9277, 9548, 3, 4, UNI_DSRT } /* sc=dsrt */, + { 0, 5791, 7055, 13, 3, UNI_JG__QAF } /* joininggroup=qaf */, + { 4, 21, 9285, 2, 5, UNI_INLIMBU } /* inlimbu */, + { 16, 9277, 719, 3, 9, UNI_XSUX } /* sc=cuneiform */, + { 8, 8780, 1218, 6, 8, UNI_INKATAKANA } /* block=katakana */, + { 2, 9488, 1319, 4, 25, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* blk=symbolsandpictographsexta */, + { 0, 1417, 7821, 24, 1, UNI_CCC__8 } /* canonicalcombiningclass=8 */, + { 6, 10296, 96, 7, 5, UNI_POSIXALPHA } /* isposixalpha */, + { 0, 8780, 4448, 6, 15, UNI_BAMUMSUP } /* block=bamumsupplement */, + { 8, 7218, 3385, 10, 17, UNI_RI } /* linebreak=regionalindicator */, + { 1, 9636, 0, 4, 0, UNI_LINB } /* linb */, + { 0, 9488, 467, 4, 11, UNI_INPUNCTUATION } /* blk=punctuation */, + { 17, 9277, 8942, 3, 6, UNI_LYDI } /* sc=lydian */, + { 2, 10024, 1171, 3, 2, UNI_TITLE } /* gc=lt */, + { 0, 4033, 4017, 16, 16, UNI_PF } /* generalcategory=finalpunctuation */, + { 0, 10033, 6179, 3, 2, UNI_LB__WJ } /* lb=wj */, + { 38, 4658, 9255, 15, 5, -UNI_GREXT } /* graphemeextend=false */, + { 16, 10048, 8714, 3, 3, UNI_NV__300 } /* nv=300 */, + { 1, 9235, 0, 5, 0, UNI_cwcm_values_index } /* cwcm= */, + { 0, 9596, 36, 4, 1, UNI_GCB__T } /* hst=t */, + { 20, 9768, 9283, 4, 4, UNI_PHLI } /* scx=phli */, + { 0, 8762, 9255, 6, 5, -UNI_XPOSIXALPHA } /* alpha=false */, + { 4, 3836, 8561, 17, 7, UNI_OSMA } /* scriptextensions=osmanya */, + { 0, 8589, 7, 7, 18, UNI_CANS } /* script=canadianaboriginal */, + { 1, 9488, 6554, 4, 3, UNI_INIDC } /* blk=idc */, + { 0, 8984, 1, 6, 1, -UNI_QMARK } /* qmark=n */, + { 24, 10027, 6301, 3, 12, UNI_JG__MALAYALAMLLA } /* jg=malayalamlla */, + { 3, 184, 9564, 2, 4, UNI_GONM } /* isgonm */, + { 0, 4033, 6873, 16, 11, UNI_SO } /* generalcategory=othersymbol */, + { 0, 8780, 6385, 6, 12, UNI_INMASARAMGONDI } /* block=masaramgondi */, + { 49, 8762, 9836, 6, 4, UNI_XPOSIXALPHA } /* alpha=true */, + { 0, 184, 10170, 2, 2, UNI_CASEDLETTER } /* isl_ */, + { 0, 8589, 9900, 7, 4, UNI_ZZZZ } /* script=zzzz */, + { 0, 10063, 9836, 3, 4, UNI_SD } /* sd=true */, + { 0, 9488, 3169, 4, 18, UNI_ETHIOPICSUP } /* blk=ethiopicsupplement */, + { 2, 6229, 0, 11, 0, UNI_JOINC } /* joincontrol */, + { 1, 9277, 9002, 3, 6, UNI_SC__TELU } /* sc=telugu */, + { 1, 8780, 7119, 7, 9, UNI_INCHORASMIAN } /* block=chorasmian */, + { 13, 6553, 9255, 12, 5, -UNI_XIDC } /* xidcontinue=false */, + { 2, 9277, 9335, 3, 5, UNI_SC__TAKR } /* sc=takri */, + { 0, 4829, 2411, 4, 18, UNI_GLAGOLITICSUP } /* inglagoliticsupplement */, + { 2, 8589, 8491, 7, 7, UNI_MARC } /* script=marchen */, + { 0, 1856, 9255, 22, 5, -UNI_CWU } /* changeswhenuppercased=false */, + { 4, 10048, 7923, 3, 8, UNI_NV__2_SLASH_5 } /* nv=4.00e-01 */, + { 49, 9768, 8942, 4, 4, UNI_LYDI } /* scx=lydi */, + { 4, 7318, 7987, 10, 3, UNI_IN__6_DOT_2 } /* presentin=6.2 */, + { 0, 3666, 0, 17, 0, UNI_CYRILLICEXTC } /* cyrillicextendedc */, + { 5, 9032, 0, 6, 0, UNI_WCHO } /* wancho */, + { 1, 10027, 6157, 3, 12, UNI_JG__FINALSEMKATH } /* jg=finalsemkath */, + { 0, 9540, 36, 4, 1, UNI_DIA } /* dia=t */, + { 0, 3836, 9516, 17, 4, UNI_CPRT } /* scriptextensions=cprt */, + { 2, 9277, 7, 3, 18, UNI_CANS } /* sc=canadianaboriginal */, + { 2, 9277, 3025, 3, 4, UNI_CHER } /* sc=cher */, + { 2, 184, 9752, 2, 4, UNI_ROHG } /* isrohg */, + { 0, 5564, 3, 14, 1, -UNI_QMARK } /* quotationmark=f */, + { 1, 9508, 9186, 5, 4, UNI_CCC__31 } /* ccc=ccc31 */, + { 3, 8780, 9310, 6, 5, UNI_INOGHAM } /* block=ogham */, + { 1, 9277, 2224, 3, 21, UNI_PRTI } /* sc=inscriptionalparthian */, + { 0, 1552, 1465, 9, 13, UNI_M } /* category=combiningmark */, + { 1, 2280, 125, 3, 2, UNI_OCR } /* isocr */, + { 0, 9508, 9223, 4, 2, UNI_CCC__91 } /* ccc=91 */, + { 12, 5791, 65, 15, 2, UNI_JG__KAPH } /* joininggroup=kaph */, + { 0, 184, 951, 2, 18, UNI_INVS } /* isvariationselectors */, + { 1, 10126, 3511, 3, 18, UNI_VO__TU } /* vo=transformedupright */, + { 5, 9277, 1115, 3, 4, UNI_SC__HANG } /* sc=hang */, + { 32, 7218, 21, 10, 2, UNI_LB__IN } /* linebreak=in */, + { 5, 4916, 9336, 3, 4, UNI_TAKR } /* istakri */, + { 1, 9277, 8407, 3, 7, UNI_DSRT } /* sc=deseret */, + { 50, 10132, 8505, 3, 7, UNI_WB__NL } /* wb=newline */, + { 0, 1417, 7933, 24, 2, UNI_CCC__17 } /* canonicalcombiningclass=17 */, + { 6, 5791, 2627, 13, 19, UNI_JG__BURUSHASKIYEHBARREE } /* joininggroup=burushaskiyehbarree */, + { 0, 8780, 2141, 7, 7, UNI_INCYRILLIC } /* block=cyrillic */, + { 6, 10333, 8604, 3, 6, UNI_SHAW } /* isshavian */, + { 2, 10027, 5934, 3, 13, UNI_JG__MANICHAEANWAW } /* jg=manichaeanwaw */, + { 0, 184, 5494, 2, 14, UNI_MN } /* isnonspacingmark */, + { 9, 5986, 8003, 13, 8, UNI_NV__1_SLASH_160 } /* numericvalue=6.25e-03 */, + { 0, 10132, 72, 3, 2, UNI_WB__LE } /* wb=le */, + { 14, 7076, 8346, 4, 5, UNI_INBENGALI } /* inbengali */, + { 18, 21, 9624, 2, 3, UNI_INLAO } /* inlao */, + { 1, 9488, 2076, 4, 22, UNI_TRANSPORTANDMAP } /* blk=transportandmapsymbols */, + { 0, 1988, 0, 21, 0, UNI_LOE } /* logicalorderexception */, + { 10, 4916, 2077, 3, 14, UNI_TRANSPORTANDMAP } /* istransportandmap */, + { 2, 5578, 0, 14, 0, UNI_sb_values_index } /* sentencebreak= */, + { 2, 4791, 6830, 3, 10, UNI_MYANMAREXTB } /* inmyanmarextb */, + { 0, 8780, 5661, 6, 13, UNI_AEGEANNUMBERS } /* block=aegeannumbers */, + { 0, 10024, 5592, 3, 14, UNI_ZS } /* gc=spaceseparator */, + { 6, 2140, 0, 21, 0, UNI_CYRILLICSUP } /* cyrillicsupplementary */, + { 0, 8852, 10135, 6, 3, UNI_CWKCF } /* cwkcf=yes */, + { 0, 9488, 923, 4, 28, UNI_SUPPUAB } /* blk=supplementaryprivateuseareab */, + { 3, 8147, 1942, 10, 3, -UNI_EXTPICT } /* extpict=false */, + { 2, 8780, 6181, 6, 12, UNI_INGUNJALAGONDI } /* block=gunjalagondi */, + { 3, 8589, 9732, 7, 4, UNI_PRTI } /* script=prti */, + { 6, 3382, 3, 3, 1, -UNI_CE } /* ce=f */, + { 8, 10048, 5649, 3, 1, UNI_NV__0 } /* nv=0 */, + { 0, 9508, 4134, 4, 1, UNI_CCC__1 } /* ccc=1 */, + { 0, 7218, 7486, 10, 9, UNI_LB__AI } /* linebreak=ambiguous */, + { 0, 7308, 0, 10, 0, UNI_PHNX } /* phoenician */, + { 1, 9277, 57, 3, 2, UNI_SC__YI } /* sc=yi */, + { 1, 8589, 9832, 7, 4, UNI_TIBT } /* script=tibt */, + { 2, 1552, 5593, 10, 13, UNI_ZS } /* category=spaceseparator */, + { 0, 8547, 0, 7, 0, UNI_OLCK } /* olchiki */, + { 4, 3836, 7621, 17, 9, UNI_NBAT } /* scriptextensions=nabataean */, + { 0, 6805, 187, 6, 16, UNI_MISCSYMBOLS } /* inmiscellaneoussymbols */, + { 0, 749, 0, 21, 0, UNI_ENCLOSEDALPHANUM } /* enclosedalphanumerics */, + { 8, 9768, 8123, 4, 4, UNI_BUGI } /* scx=bugi */, + { 1, 21, 5033, 3, 4, UNI_ASCII } /* inascii */, + { 2, 3836, 8942, 17, 4, UNI_LYDI } /* scriptextensions=lydi */, + { 1, 9768, 9872, 4, 4, UNI_XPEO } /* scx=xpeo */, + { 28, 10033, 414, 3, 11, UNI_LB__ID } /* lb=ideographic */, + { 19, 9444, 10120, 4, 3, UNI_AGE__8 } /* age=v80 */, + { 4, 10033, 988, 3, 2, UNI_LB__CP } /* lb=cp */, + { 0, 10048, 8714, 3, 2, UNI_NV__30 } /* nv=30 */, + { 43, 5791, 5892, 13, 3, UNI_JG__NUN } /* joininggroup=nun */, + { 1, 10129, 9836, 3, 4, UNI_VS } /* vs=true */, + { 3, 184, 540, 3, 29, UNI_CJKEXTB } /* iscjkunifiedideographsextensionb */, + { 0, 1552, 0, 10, 0, UNI_S } /* category=s */, + { 1, 8780, 4793, 6, 15, UNI_INMEROITICCURSIVE } /* block=meroiticcursive */, + { 4, 9997, 2509, 3, 20, UNI_BC__RLE } /* bc=righttoleftembedding */, + { 11, 3836, 9592, 17, 4, UNI_HMNP } /* scriptextensions=hmnp */, + { 0, 3079, 0, 18, 0, UNI_COPTICEPACTNUMBERS } /* copticepactnumbers */, + { 40, 3836, 9604, 17, 4, UNI_KHMR } /* scriptextensions=khmr */, + { 0, 8780, 3683, 6, 17, UNI_ETHIOPICEXTA } /* block=ethiopicextendeda */, + { 0, 7158, 26, 10, 1, UNI_DIA } /* diacritic=y */, + { 1, 4916, 1846, 3, 8, UNI_TITLE } /* istitlecase */, + { 1, 8400, 0, 6, 0, UNI_COMPEX } /* compex */, + { 0, 6469, 5713, 12, 7, UNI_XPOSIXDIGIT } /* numerictype=decimal */, + { 64, 10024, 728, 3, 6, UNI_N } /* gc=number */, + { 1, 9508, 7806, 4, 1, UNI_CCC__6 } /* ccc=6 */, + { 0, 3836, 7630, 17, 9, UNI_TALU } /* scriptextensions=newtailue */, + { 17, 9277, 9095, 3, 5, UNI_SC__BUHD } /* sc=buhid */, + { 2, 9728, 0, 4, 0, UNI_MIAO } /* plrd */, + { 2, 7088, 4321, 10, 16, UNI_BC__S } /* bidiclass=segmentseparator */, + { 17, 8780, 1294, 6, 25, UNI_SUPERANDSUB } /* block=superscriptsandsubscripts */, + { 2, 5674, 26, 13, 1, UNI_BIDIM } /* bidimirrored=y */, + { 9, 9488, 3632, 4, 17, UNI_CYRILLICEXTA } /* blk=cyrillicextendeda */, + { 0, 3836, 9812, 17, 4, UNI_TAML } /* scriptextensions=taml */, + { 0, 21, 6253, 2, 12, UNI_KHMERSYMBOLS } /* inkhmersymbols */, + { 0, 8694, 36, 7, 1, UNI_XPOSIXSPACE } /* wspace=t */, + { 0, 8864, 1, 6, 1, -UNI_EMOJI } /* emoji=n */, + { 0, 3836, 8618, 18, 3, UNI_SOYO } /* scriptextensions=soyo */, + { 3, 8589, 9560, 7, 4, UNI_SC__GONG } /* script=gong */, + { 32, 184, 4478, 2, 15, UNI_BRAI } /* isbraillepatterns */, + { 1, 7155, 8889, 3, 5, UNI_HATR } /* ishatran */, + { 1, 9488, 8275, 4, 8, UNI_SPECIALS } /* blk=specials */, + { 0, 9508, 8727, 4, 2, UNI_CCC__32 } /* ccc=32 */, + { 0, 9768, 9704, 4, 4, UNI_ORKH } /* scx=orkh */, + { 2, 3097, 749, 18, 3, UNI_DT__ENC } /* decompositiontype=enc */, + { 0, 9768, 1176, 5, 3, UNI_SORA } /* scx=sora */, + { 0, 10327, 47, 5, 1, UNI_PERM } /* isperm */, + { 17, 5060, 9836, 14, 4, UNI_CI } /* caseignorable=true */, + { 2, 8267, 1025, 8, 2, -UNI_RADICAL } /* radical=no */, + { 1, 10048, 5648, 3, 9, UNI_NV__100000000 } /* nv=100000000 */, + { 0, 184, 9612, 2, 4, UNI_KNDA } /* isknda */, + { 0, 7325, 7754, 3, 2, UNI_IN__11 } /* in=11 */, + { 0, 5791, 6325, 13, 12, UNI_JG__MALAYALAMNNA } /* joininggroup=malayalamnna */, + { 0, 5060, 3, 14, 1, -UNI_CI } /* caseignorable=f */, + { 45, 6818, 0, 11, 0, UNI_MYANMAREXTA } /* myanmarexta */, + { 1, 5578, 34, 14, 2, UNI_SB__EX } /* sentencebreak=ex */, + { 0, 8589, 8786, 7, 4, UNI_CARI } /* script=cari */, + { 3, 1552, 728, 9, 6, UNI_N } /* category=number */, + { 6, 5986, 7947, 13, 8, UNI_NV__3_SLASH_64 } /* numericvalue=4.69e-02 */, + { 0, 8589, 9448, 7, 4, UNI_AGHB } /* script=aghb */, + { 0, 4116, 5779, 3, 5, UNI_IPAEXT } /* isipaext */, + { 7, 8780, 720, 7, 29, UNI_CUNEIFORMNUMBERS } /* block=cuneiformnumbersandpunctuation */, + { 1, 10320, 17, 5, 1, UNI_XPEO } /* isxpeo */, + { 14, 9508, 9121, 5, 4, UNI_CCC__18 } /* ccc=ccc18 */, + { 0, 6231, 2120, 3, 13, UNI_CJKRADICALSSUP } /* incjkradicalssup */, + { 1, 9277, 6385, 3, 12, UNI_SC__GONM } /* sc=masaramgondi */, + { 0, 8575, 9836, 7, 4, UNI_PATSYN } /* patsyn=true */, + { 4, 8589, 8491, 7, 4, UNI_MARC } /* script=marc */, + { 3, 9277, 8840, 3, 6, UNI_SC__CAKM } /* sc=chakma */, + { 0, 1417, 9943, 24, 3, UNI_CCC__AR } /* canonicalcombiningclass=232 */, + { 2, 2784, 3923, 4, 14, UNI_ARABICSUP } /* inarabicsupplement */, + { 0, 9768, 8315, 4, 8, UNI_UGAR } /* scx=ugaritic */, + { 0, 9632, 0, 4, 0, UNI_LINA } /* lina */, + { 0, 10027, 4773, 3, 5, UNI_JG__SADHE } /* jg=sadhe */, + { 1, 7249, 9, 4, 16, UNI_CANS } /* iscanadianaboriginal */, + { 0, 2182, 70, 21, 2, UNI_GCB__PP } /* graphemeclusterbreak=pp */, + { 1, 6928, 1025, 11, 2, -UNI_SD } /* softdotted=no */, + { 2, 10129, 36, 3, 1, UNI_VS } /* vs=t */, + { 13, 9768, 1654, 4, 6, UNI_HANG } /* scx=hangul */, + { 7, 8780, 749, 6, 30, UNI_ENCLOSEDALPHANUMSUP } /* block=enclosedalphanumericsupplement */, + { 0, 7249, 754, 4, 3, UNI_CASED } /* iscased */, + { 2, 3295, 0, 18, 0, UNI_LATINEXTADDITIONAL } /* latinextadditional */, + { 34, 8882, 9836, 6, 4, UNI_GREXT } /* grext=true */, + { 0, 5578, 7, 15, 1, UNI_SB__SC } /* sentencebreak=sc */, + { 0, 2529, 9837, 21, 3, UNI_TERM } /* terminalpunctuation=true */, + { 0, 316, 0, 33, 0, UNI_SUPMATHOPERATORS } /* supplementalmathematicaloperators */, + { 0, 9262, 3358, 3, 3, UNI_SB__SE } /* sb=sep */, + { 0, 6231, 3045, 4, 16, UNI_HALFMARKS } /* incombininghalfmarks */, + { 16, 184, 1857, 3, 20, UNI_CWU } /* ischangeswhenuppercased */, + { 1, 10009, 435, 4, 2, UNI_DT__ENC } /* dt=enc */, + { 0, 1552, 4898, 9, 15, UNI_PS } /* category=openpunctuation */, + { 0, 8589, 6973, 8, 10, UNI_SC__SYLO } /* script=sylotinagri */, + { 6, 184, 5752, 2, 13, UNI_GREEKEXT } /* isgreekextended */, + { 3, 7458, 0, 10, 0, UNI_YIRADICALS } /* yiradicals */, + { 0, 10027, 4203, 3, 3, UNI_JG__LAM } /* jg=lam */, + { 0, 1828, 1025, 6, 2, -UNI_CASED } /* cased=no */, + { 0, 10048, 8820, 3, 2, UNI_NV__29 } /* nv=29 */, + { 0, 1087, 1, 27, 1, -UNI_PCM } /* prependedconcatenationmark=n */, + { 3, 9768, 8315, 4, 4, UNI_UGAR } /* scx=ugar */, + { 0, 5564, 9255, 14, 5, -UNI_QMARK } /* quotationmark=false */, + { 1, 7218, 6686, 10, 11, UNI_LB__IN } /* linebreak=inseparable */, + { 8, 7738, 1025, 9, 2, -UNI_XIDS } /* xidstart=no */, + { 8, 42, 0, 9, 0, UNI_CJKCOMPAT } /* cjkcompat */, + { 2, 8617, 0, 4, 0, UNI_SOYO } /* soyo */, + { 6, 3598, 0, 17, 0, UNI_AGHB } /* caucasianalbanian */, + { 0, 9768, 8107, 4, 8, UNI_BALI } /* scx=balinese */, + { 2, 8996, 0, 6, 0, UNI_sterm_values_index } /* sterm= */, + { 0, 6409, 0, 4, 0, UNI_MEND } /* mend */, + { 1, 7318, 9979, 10, 3, UNI_IN__6_DOT_1 } /* presentin=6.1 */, + { 0, 1552, 74, 9, 2, UNI_ME } /* category=me */, + { 0, 6620, 0, 11, 0, UNI_DOMINO } /* dominotiles */, + { 0, 9488, 2076, 4, 15, UNI_TRANSPORTANDMAP } /* blk=transportandmap */, + { 0, 1922, 0, 22, 0, UNI_DIACRITICALSFORSYMBOLS } /* diacriticalsforsymbols */, + { 16, 7218, 7108, 10, 10, UNI_LB__BA } /* linebreak=breakafter */, + { 0, 9444, 10090, 4, 3, UNI_AGE__4 } /* age=v40 */, + { 4, 9245, 0, 4, 0, UNI_DOGR } /* dogr */, + { 5, 5986, 7811, 13, 8, UNI_NV__1_SLASH_6 } /* numericvalue=1.67e-01 */, + { 21, 4033, 1822, 16, 2, UNI_NL } /* generalcategory=nl */, + { 0, 7218, 23, 10, 2, UNI_LB__AL } /* linebreak=al */, + { 0, 8589, 8407, 7, 7, UNI_DSRT } /* script=deseret */, + { 0, 9488, 3079, 4, 18, UNI_COPTICEPACTNUMBERS } /* blk=copticepactnumbers */, + { 0, 9768, 9708, 4, 4, UNI_ORYA } /* scx=orya */, + { 3, 6205, 1025, 12, 2, -UNI_IDEO } /* ideographic=no */, + { 2, 184, 3241, 2, 8, UNI_GEOR } /* isgeorgian */, + { 0, 5746, 0, 6, 0, UNI_ebase_values_index } /* ebase= */, + { 3, 184, 34, 2, 3, UNI_EXT } /* isext */, + { 1, 10027, 8283, 3, 8, UNI_JG__SWASHKAF } /* jg=swashkaf */, + { 1, 184, 8990, 2, 6, UNI_RJNG } /* isrejang */, + { 4, 8780, 2836, 6, 19, UNI_MODIFIERTONELETTERS } /* block=modifiertoneletters */, + { 0, 184, 9620, 2, 4, UNI_LANA } /* islana */, + { 1, 5791, 10021, 13, 3, UNI_JG__GAF } /* joininggroup=gaf */, + { 18, 184, 3439, 2, 18, UNI_SMALLKANAEXT } /* issmallkanaextension */, + { 1, 10132, 1194, 3, 2, UNI_LB__LF } /* wb=lf */, + { 9, 9071, 9836, 4, 4, UNI_XPOSIXXDIGIT } /* hex=true */, + { 0, 1417, 7930, 24, 2, UNI_CCC__14 } /* canonicalcombiningclass=14 */, + { 8, 9277, 8442, 3, 7, UNI_SC__HANO } /* sc=hanunoo */, + { 1, 6231, 1879, 3, 18, UNI_CJKCOMPATIDEOGRAPHS } /* incjkcompatideographs */, + { 1, 6469, 5040, 12, 5, UNI_NT__DI } /* numerictype=digit */, + { 0, 2032, 10135, 22, 3, UNI__PERL_NCHAR } /* noncharactercodepoint=yes */, + { 1, 5986, 9364, 13, 4, UNI_NV__1_SLASH_10 } /* numericvalue=1/10 */, + { 16, 3904, 1, 17, 1, -UNI_UIDEO } /* unifiedideograph=n */, + { 11, 5791, 7045, 13, 2, UNI_JG__FE } /* joininggroup=fe */, + { 17, 9584, 0, 4, 0, UNI_HLUW } /* hluw */, + { 4, 113, 0, 35, 0, UNI_DIACRITICALSFORSYMBOLS } /* combiningdiacriticalmarksforsymbols */, + { 1, 5791, 9044, 13, 6, UNI_JG__YUDHHE } /* joininggroup=yudhhe */, + { 0, 7318, 7782, 10, 1, UNI_IN__3 } /* presentin=3 */, + { 3, 9508, 8066, 4, 2, UNI_CCC__28 } /* ccc=28 */, + { 6, 9277, 9740, 3, 4, UNI_SC__QAAI } /* sc=qaai */, + { 0, 9508, 8831, 4, 3, UNI_CCC__132 } /* ccc=132 */, + { 8, 184, 4289, 2, 16, UNI_MYANMAREXTB } /* ismyanmarextendedb */, + { 1, 9488, 7058, 4, 10, UNI_ARABICEXTA } /* blk=arabicexta */, + { 8, 6553, 9836, 12, 4, UNI_XIDC } /* xidcontinue=true */, + { 0, 9556, 8139, 4, 8, UNI_WB__EB } /* gcb=ebasegaz */, + { 1, 7291, 0, 4, 0, UNI_SOGD } /* sogd */, + { 0, 5986, 9907, 13, 3, UNI_NV__1_SLASH_7 } /* numericvalue=1/7 */, + { 2, 7028, 2309, 3, 5, UNI_YIJING } /* isyijing */, + { 97, 9768, 8900, 4, 6, UNI_KTHI } /* scx=kaithi */, + { 0, 9768, 7308, 4, 10, UNI_PHNX } /* scx=phoenician */, + { 0, 10027, 5895, 3, 13, UNI_JG__MANICHAEANONE } /* jg=manichaeanone */, + { 0, 10003, 9255, 3, 5, -UNI_CI } /* ci=false */, + { 44, 3751, 0, 17, 0, UNI_KITS } /* khitansmallscript */, + { 3, 8780, 8344, 6, 7, UNI_INBENGALI } /* block=bengali */, + { 0, 8780, 7666, 6, 9, UNI_INOLDTURKIC } /* block=oldturkic */, + { 34, 7218, 6179, 10, 2, UNI_LB__WJ } /* linebreak=wj */, + { 0, 3836, 9828, 17, 4, UNI_THAI } /* scriptextensions=thai */, + { 0, 9488, 8299, 4, 8, UNI_INTIFINAGH } /* blk=tifinagh */, + { 2, 8780, 4097, 6, 16, UNI_HIGHPUSURROGATES } /* block=highpusurrogates */, + { 0, 8780, 3547, 6, 17, UNI_ALCHEMICAL } /* block=alchemicalsymbols */, + { 0, 7325, 9400, 3, 4, UNI_IN__13 } /* in=13.0 */, + { 0, 2760, 24, 19, 1, UNI_GCB__L } /* hangulsyllabletype=l */, + { 8, 4113, 1751, 3, 2, UNI_INVAI } /* invai */, + { 3, 4916, 9821, 3, 3, UNI_TFNG } /* istfng */, + { 0, 4033, 7, 16, 1, UNI_C } /* generalcategory=c */, + { 0, 184, 630, 3, 29, UNI_CJKEXTE } /* iscjkunifiedideographsextensione */, + { 0, 9345, 10135, 5, 3, UNI_XIDC } /* xidc=yes */, + { 0, 9488, 8547, 4, 7, UNI_OLCK } /* blk=olchiki */, + { 33, 9768, 9532, 4, 4, UNI_CYRL } /* scx=cyrl */, + { 0, 6939, 0, 4, 0, UNI_SORA } /* sora */, + { 3, 10033, 6686, 3, 11, UNI_LB__IN } /* lb=inseparable */, + { 0, 8400, 9836, 7, 4, UNI_COMPEX } /* compex=true */, + { 6, 8978, 3, 6, 1, -UNI__PERL_PATWS } /* patws=f */, + { 2, 9488, 446, 4, 32, UNI_IDEOGRAPHICSYMBOLS } /* blk=ideographicsymbolsandpunctuation */, + { 0, 7138, 0, 10, 0, UNI_COMPATJAMO } /* compatjamo */, + { 0, 4989, 1, 3, 41, UNI_UCASEXT } /* isunifiedcanadianaboriginalsyllabicsextended */, + { 1, 184, 3385, 2, 17, UNI_RI } /* isregionalindicator */, + { 0, 5508, 1025, 14, 2, -UNI_PATSYN } /* patternsyntax=no */, + { 6, 10290, 3379, 6, 5, UNI_XPOSIXSPACE } /* xposixspace */, + { 0, 184, 2409, 2, 13, UNI_GLAGOLITICSUP } /* isglagoliticsup */, + { 0, 9508, 7814, 4, 1, UNI_CCC__7 } /* ccc=7 */, + { 8, 8561, 0, 7, 0, UNI_OSMA } /* osmanya */, + { 14, 7438, 6193, 10, 12, UNI_LB__HL } /* wordbreak=hebrewletter */, + { 2, 184, 8203, 2, 8, UNI_JAMOEXTA } /* isjamoexta */, + { 5, 1166, 36, 26, 1, UNI_DI } /* defaultignorablecodepoint=t */, + { 7, 8774, 9255, 6, 5, -UNI_BIDIM } /* bidim=false */, + { 9, 7088, 24, 10, 1, UNI_BC__L } /* bidiclass=l */, + { 24, 9277, 8936, 3, 4, UNI_LYCI } /* sc=lyci */, + { 0, 9277, 8914, 5, 4, UNI_SC__KHOJ } /* sc=khojki */, + { 0, 9528, 3, 4, 1, -UNI_CWU } /* cwu=f */, + { 0, 4033, 262, 16, 2, UNI_SM } /* generalcategory=sm */, + { 2, 6609, 1025, 11, 2, -UNI_DEP } /* deprecated=no */, + { 0, 9768, 7684, 4, 4, UNI_PAUC } /* scx=pauc */, + { 4, 7325, 5648, 3, 2, UNI_IN__10 } /* in=10 */, + { 1, 9997, 18, 3, 1, UNI_BC__R } /* bc=r */, + { 30, 9085, 0, 5, 0, UNI_BATK } /* batak */, + { 1, 184, 2409, 2, 10, UNI_GLAG } /* isglagolitic */, + { 0, 9768, 2608, 4, 6, UNI_BRAH } /* scx=brahmi */, + { 0, 8780, 8299, 6, 8, UNI_INTIFINAGH } /* block=tifinagh */, + { 1, 8780, 6025, 6, 12, UNI_ALPHABETICPF } /* block=alphabeticpf */, + { 4, 119, 8877, 3, 5, UNI_INGOTHIC } /* ingothic */, + { 0, 10024, 32, 3, 2, UNI__PERL_SURROGATE } /* gc=cs */, + { 45, 3115, 0, 10, 0, UNI_DEVA } /* devanagari */, + { 0, 9270, 6506, 3, 7, UNI_PHAISTOS } /* inphaistos */, + { 14, 184, 4145, 2, 7, UNI_LINB } /* islinearb */, + { 3, 9508, 9126, 5, 4, UNI_CCC__19 } /* ccc=ccc19 */, + { 0, 10033, 6073, 3, 12, UNI_LB__SY } /* lb=breaksymbols */, + { 0, 9277, 2912, 3, 9, UNI_SUND } /* sc=sundanese */, + { 1, 3259, 0, 17, 0, UNI_IDSB } /* idsbinaryoperator */, + { 0, 3836, 2245, 17, 11, UNI_MTEI } /* scriptextensions=meeteimayek */, + { 1, 1856, 0, 22, 0, UNI_cwu_values_index } /* changeswhenuppercased= */, + { 6, 24, 0, 1, 0, UNI_L } /* l */, + { 2, 184, 4643, 2, 14, UNI_ECOMP } /* isemojicomponent */, + { 1, 7218, 8449, 10, 6, UNI_LB__HY } /* linebreak=hyphen */, + { 1, 10048, 9408, 3, 4, UNI_NV__15_SLASH_2 } /* nv=15/2 */, + { 1, 7028, 5219, 3, 9, UNI_YIRADICALS } /* isyiradicals */, + { 5, 7076, 9096, 3, 4, UNI_INBUHID } /* inbuhid */, + { 1, 184, 7632, 3, 2, UNI_CWT } /* iscwt */, + { 34, 9277, 9760, 3, 4, UNI_SAMR } /* sc=samr */, + { 3, 9488, 3223, 4, 18, UNI_INPUNCTUATION } /* blk=generalpunctuation */, + { 12, 7088, 1353, 10, 3, UNI_BC__RLE } /* bidiclass=rle */, + { 1, 8780, 3044, 7, 17, UNI_HALFMARKS } /* block=combininghalfmarks */, + { 0, 21, 7428, 2, 10, UNI_INWARANGCITI } /* inwarangciti */, + { 19, 1417, 9946, 24, 3, UNI_CCC__DB } /* canonicalcombiningclass=233 */, + { 1, 184, 1922, 2, 12, UNI_DIACRITICALS } /* isdiacriticals */, + { 0, 9768, 9728, 4, 4, UNI_MIAO } /* scx=plrd */, + { 2, 9768, 8344, 4, 7, UNI_BENG } /* scx=bengali */, + { 1, 9326, 1183, 4, 3, UNI_ANY } /* unicode */, + { 23, 8589, 7359, 8, 3, UNI_SAUR } /* script=saur */, + { 12, 5752, 0, 13, 0, UNI_GREEKEXT } /* greekextended */, + { 0, 4542, 3243, 4, 9, UNI_GEORGIANSUP } /* ingeorgiansup */, + { 4, 4658, 0, 14, 0, UNI_GREXT } /* graphemeextend */, + { 0, 9275, 9090, 5, 5, UNI_INSC__BINDU } /* insc=bindu */, + { 0, 2308, 0, 6, 0, UNI_YIJING } /* yijing */, + { 1, 9277, 8561, 3, 7, UNI_OSMA } /* sc=osmanya */, + { 0, 3358, 0, 9, 0, UNI_Z } /* separator */, + { 0, 8589, 9604, 7, 4, UNI_KHMR } /* script=khmr */, + { 1, 2529, 0, 19, 0, UNI_TERM } /* terminalpunctuation */, + { 1, 10027, 6337, 3, 12, UNI_JG__MALAYALAMNYA } /* jg=malayalamnya */, + { 1, 3259, 1025, 18, 2, -UNI_IDSB } /* idsbinaryoperator=no */, + { 0, 184, 5687, 2, 13, UNI_BLOCKELEMENTS } /* isblockelements */, + { 8, 8984, 0, 6, 0, UNI_qmark_values_index } /* qmark= */, + { 8, 4688, 8540, 15, 7, UNI_IDENTIFIERTYPE__NOTNFKC } /* identifiertype=notnfkc */, + { 2, 10132, 73, 3, 2, UNI_WB__EB } /* wb=em */, + { 1, 7438, 7612, 10, 9, UNI_WB__MB } /* wordbreak=midnumlet */, + { 1, 9692, 0, 4, 0, UNI_NSHU } /* nshu */, + { 14, 1966, 7328, 22, 10, UNI_INSC__PUREKILLER } /* indicsyllabiccategory=purekiller */, + { 19, 8589, 1677, 7, 5, UNI_SC__LATN } /* script=latin */, + { 1, 9488, 9656, 4, 4, UNI_INMIAO } /* blk=miao */, + { 18, 10126, 3522, 3, 7, UNI_VO__U } /* vo=upright */, + { 0, 2569, 3522, 20, 7, UNI_VO__U } /* verticalorientation=upright */, + { 0, 3836, 3241, 17, 8, UNI_GEOR } /* scriptextensions=georgian */, + { 17, 9768, 7428, 4, 10, UNI_WARA } /* scx=warangciti */, + { 2, 8688, 8093, 4, 6, UNI_ARMN } /* isarmenian */, + { 0, 7218, 340, 10, 2, UNI_LB__OP } /* linebreak=op */, + { 0, 184, 838, 2, 29, UNI_MISCARROWS } /* ismiscellaneoussymbolsandarrows */, + { 12, 5791, 6361, 13, 12, UNI_JG__MALAYALAMTTA } /* joininggroup=malayalamtta */, + { 0, 8984, 0, 5, 0, UNI_QMARK } /* qmark */, + { 3, 10003, 3, 3, 1, -UNI_CI } /* ci=f */, + { 1, 3836, 3894, 18, 10, UNI_SGNW } /* scriptextensions=signwriting */, + { 0, 3424, 8316, 3, 7, UNI_INUGARITIC } /* inugaritic */, + { 0, 184, 2120, 3, 20, UNI_CJKRADICALSSUP } /* iscjkradicalssupplement */, + { 102, 8780, 6730, 6, 11, UNI_KATAKANAEXT } /* block=katakanaext */, + { 0, 9071, 0, 4, 0, UNI_hex_values_index } /* hex= */, + { 4, 9508, 8820, 4, 2, UNI_CCC__29 } /* ccc=29 */, + { 2, 4829, 2411, 4, 8, UNI_INGLAGOLITIC } /* inglagolitic */, + { 1, 8780, 3439, 6, 18, UNI_SMALLKANAEXT } /* block=smallkanaextension */, + { 0, 7318, 7979, 10, 3, UNI_IN__6 } /* presentin=6.0 */, + { 0, 3836, 2061, 17, 4, UNI_MODI } /* scriptextensions=modi */, + { 10, 9290, 26, 5, 1, UNI_MATH } /* math=y */, + { 1, 9444, 10093, 4, 3, UNI_AGE__4_DOT_1 } /* age=v41 */, + { 16, 7418, 1025, 10, 2, -UNI_XPOSIXUPPER } /* uppercase=no */, + { 0, 8780, 630, 7, 29, UNI_CJKEXTE } /* block=cjkunifiedideographsextensione */, + { 11, 10327, 7438, 6, 4, UNI_POSIXWORD } /* isperlword */, + { 10, 184, 38, 2, 2, UNI_XPOSIXDIGIT } /* isnd */, + { 1, 1188, 4929, 3, 4, UNI_INTAMIL } /* intamil */, + { 0, 9508, 3572, 4, 5, UNI_CCC__B } /* ccc=below */, + { 0, 5986, 9420, 13, 4, UNI_NV__3_SLASH_20 } /* numericvalue=3/20 */, + { 11, 10063, 1025, 3, 2, -UNI_SD } /* sd=no */, + { 36, 3853, 9836, 17, 4, UNI_STERM } /* sentenceterminal=true */, + { 17, 3870, 0, 17, 0, UNI_SMALLFORMS } /* smallformvariants */, + { 0, 4916, 5994, 3, 3, UNI_TALU } /* istalu */, + { 1, 5791, 5326, 13, 14, UNI_JG__MANICHAEANBETH } /* joininggroup=manichaeanbeth */, + { 3, 2280, 9311, 3, 4, UNI_OGAM } /* isogham */, + { 0, 1417, 9108, 24, 2, UNI_CCC__15 } /* canonicalcombiningclass=15 */, + { 0, 10048, 5648, 3, 7, UNI_NV__1000000 } /* nv=1000000 */, + { 1, 9488, 6730, 4, 11, UNI_KATAKANAEXT } /* blk=katakanaext */, + { 0, 8884, 1025, 4, 2, -UNI_EXT } /* ext=no */, + { 4, 6231, 3667, 3, 16, UNI_CYRILLICEXTC } /* incyrillicextendedc */, + { 54, 10009, 8533, 3, 7, UNI_DT__NB } /* dt=nobreak */, + { 13, 9768, 9888, 4, 4, UNI_ZANB } /* scx=zanb */, + { 0, 10296, 8576, 3, 5, UNI_PATSYN } /* ispatsyn */, + { 20, 4478, 0, 4, 0, UNI_BRAI } /* brai */, + { 0, 4033, 6265, 16, 12, UNI_NL } /* generalcategory=letternumber */, + { 1, 9488, 8365, 4, 7, UNI_CJKEXTC } /* blk=cjkextc */, + { 4, 7318, 7765, 10, 1, UNI_IN__2 } /* presentin=2 */, + { 0, 5116, 36, 14, 1, UNI_EMOD } /* emojimodifier=t */, + { 0, 2569, 3379, 4, 5, UNI_VERTSPACE } /* vertspace */, + { 0, 8996, 10135, 6, 3, UNI_STERM } /* sterm=yes */, + { 0, 5687, 0, 13, 0, UNI_BLOCKELEMENTS } /* blockelements */, + { 1, 9488, 8645, 4, 7, UNI_INTAITHAM } /* blk=taitham */, + { 2, 10303, 0, 5, 0, UNI_XPOSIXBLANK } /* blank */, + { 0, 8589, 9500, 7, 4, UNI_SC__CAKM } /* script=cakm */, + { 0, 8589, 9245, 7, 4, UNI_SC__DOGR } /* script=dogr */, + { 0, 5986, 8750, 13, 6, UNI_NV__800000 } /* numericvalue=800000 */, + { 0, 3904, 10135, 17, 3, UNI_UIDEO } /* unifiedideograph=yes */, + { 2, 3836, 3079, 17, 4, UNI_COPT } /* scriptextensions=copt */, + { 1, 9768, 6253, 4, 5, UNI_KHMR } /* scx=khmer */, + { 1, 8996, 1025, 6, 2, -UNI_STERM } /* sterm=no */, + { 64, 9768, 8990, 4, 6, UNI_RJNG } /* scx=rejang */, + { 1, 1188, 9331, 3, 4, UNI_INTAILE } /* intaile */, + { 5, 8780, 7278, 6, 10, UNI_INOLDPERSIAN } /* block=oldpersian */, + { 1, 8774, 3, 6, 1, -UNI_BIDIM } /* bidim=f */, + { 0, 4809, 1162, 4, 2, UNI_CPRT } /* iscprt */, + { 0, 9508, 8837, 4, 3, UNI_WB__EB } /* ccc=133 */, + { 8, 10033, 6193, 3, 12, UNI_LB__HL } /* lb=hebrewletter */, + { 1, 10048, 9428, 3, 3, UNI_NV__3_SLASH_8 } /* nv=3/8 */, + { 1, 8519, 0, 7, 0, UNI_nfkdqc_values_index } /* nfkdqc= */, + { 8, 9488, 7248, 4, 10, UNI_MISCARROWS } /* blk=miscarrows */, + { 32, 184, 4002, 3, 15, UNI_CYPRIOTSYLLABARY } /* iscypriotsyllabary */, + { 0, 1966, 5700, 22, 13, UNI_INSC__CONSONANTDEAD } /* indicsyllabiccategory=consonantdead */, + { 0, 1834, 36, 22, 1, UNI_CWT } /* changeswhentitlecased=t */, + { 121, 9277, 8091, 3, 8, UNI_ARMN } /* sc=armenian */, + { 6, 10048, 8727, 3, 2, UNI_NV__32 } /* nv=32 */, + { 0, 1505, 1016, 5, 2, UNI_INGREEK } /* ingreek */, + { 1, 3836, 4448, 17, 5, UNI_BAMU } /* scriptextensions=bamum */, + { 2, 9488, 113, 4, 35, UNI_DIACRITICALSFORSYMBOLS } /* blk=combiningdiacriticalmarksforsymbols */, + { 1, 8942, 0, 6, 0, UNI_LYDI } /* lydian */, + { 3, 9277, 9476, 3, 4, UNI_AVST } /* sc=avst */, + { 0, 7418, 1, 10, 1, -UNI_XPOSIXUPPER } /* uppercase=n */, + { 6, 9488, 719, 4, 16, UNI_CUNEIFORMNUMBERS } /* blk=cuneiformnumbers */, + { 0, 4853, 10135, 15, 3, UNI_DT__NONE } /* nfkdquickcheck=yes */, + { 0, 8589, 8666, 7, 7, UNI_SC__TIRH } /* script=tirhuta */, + { 4, 184, 328, 2, 21, UNI_MATHOPERATORS } /* ismathematicaloperators */, + { 1, 184, 600, 3, 29, UNI_CJKEXTD } /* iscjkunifiedideographsextensiond */, + { 0, 9488, 6193, 4, 6, UNI_INHEBREW } /* blk=hebrew */, + { 3, 8780, 720, 7, 8, UNI_INCUNEIFORM } /* block=cuneiform */, + { 9, 9508, 6631, 4, 11, UNI_CCC__DA } /* ccc=doubleabove */, + { 0, 4628, 3, 15, 1, UNI_EA__F } /* eastasianwidth=f */, + { 9, 9488, 1060, 4, 27, UNI_OCR } /* blk=opticalcharacterrecognition */, + { 0, 8589, 9440, 7, 4, UNI_SC__ADLM } /* script=adlm */, + { 9, 10296, 7309, 3, 9, UNI_PHNX } /* isphoenician */, + { 4, 184, 3853, 2, 16, UNI_STERM } /* issentenceterminal */, + { 9, 9277, 9496, 3, 4, UNI_SC__BUHD } /* sc=buhd */, + { 25, 10027, 0, 3, 0, UNI_jg_values_index } /* jg= */, + { 4, 3836, 6193, 17, 6, UNI_HEBR } /* scriptextensions=hebrew */, + { 0, 3097, 1417, 18, 9, UNI_DT__CAN } /* decompositiontype=canonical */, + { 1, 7076, 7514, 3, 8, UNI_INBHAIKSUKI } /* inbhaiksuki */, + { 3, 3836, 7359, 18, 3, UNI_SAUR } /* scriptextensions=saur */, + { 1, 3836, 9728, 17, 4, UNI_MIAO } /* scriptextensions=plrd */, + { 0, 3836, 8876, 17, 6, UNI_GOTH } /* scriptextensions=gothic */, + { 0, 1273, 3, 21, 1, -UNI_CE } /* compositionexclusion=f */, + { 5, 3836, 8547, 17, 7, UNI_OLCK } /* scriptextensions=olchiki */, + { 2, 9768, 4385, 4, 4, UNI_TANG } /* scx=tang */, + { 5, 9997, 25, 3, 1, UNI_BC__S } /* bc=s */, + { 0, 6229, 26, 12, 1, UNI_JOINC } /* joincontrol=y */, + { 61, 10048, 8051, 3, 8, UNI_NV__5_SLASH_6 } /* nv=8.33e-01 */, + { 7, 9014, 9255, 6, 5, -UNI_UIDEO } /* uideo=false */, + { 32, 9768, 7292, 5, 6, UNI_SOGD } /* scx=sogdian */, + { 2, 3151, 26, 18, 1, UNI_EPRES } /* emojipresentation=y */, + { 3, 8589, 8131, 7, 4, UNI_SC__DUPL } /* script=dupl */, + { 1, 7218, 2640, 10, 2, UNI_LB__BA } /* linebreak=ba */, + { 1, 8780, 5843, 6, 9, UNI_INMALAYALAM } /* block=malayalam */, + { 17, 4916, 8667, 3, 3, UNI_TIRH } /* istirh */, + { 0, 5324, 330, 4, 19, UNI_MATHOPERATORS } /* inmathematicaloperators */, + { 7, 1417, 8820, 24, 2, UNI_CCC__29 } /* canonicalcombiningclass=29 */, + { 7, 4916, 9833, 3, 3, UNI_TIBT } /* istibt */, + { 0, 9508, 8714, 4, 2, UNI_CCC__30 } /* ccc=30 */, + { 0, 9277, 8645, 3, 7, UNI_LANA } /* sc=taitham */, + { 17, 6229, 9255, 12, 5, -UNI_JOINC } /* joincontrol=false */, + { 2, 4033, 5438, 16, 14, UNI_SK } /* generalcategory=modifiersymbol */, + { 8, 7218, 10154, 10, 2, UNI_LB__B2 } /* linebreak=b2 */, + { 0, 47, 0, 1, 0, UNI_M } /* m */, + { 3, 10333, 9797, 3, 3, UNI_SYRC } /* issyrc */, + { 9, 184, 8211, 2, 8, UNI_JAMOEXTB } /* isjamoextb */, + { 1, 10168, 0, 2, 0, UNI_CASEDLETTER } /* l& */, + { 0, 9277, 9880, 3, 4, UNI_SC__YI } /* sc=yiii */, + { 0, 8589, 7657, 7, 9, UNI_SC__PERM } /* script=oldpermic */, + { 2, 9488, 2409, 4, 20, UNI_GLAGOLITICSUP } /* blk=glagoliticsupplement */, + { 1, 184, 7188, 2, 10, UNI_KHAR } /* iskharoshthi */, + { 4, 184, 9529, 3, 2, UNI_CWU } /* iscwu */, + { 71, 8147, 10135, 8, 3, UNI_EXTPICT } /* extpict=yes */, + { 6, 7325, 7923, 3, 3, UNI_IN__4 } /* in=4.0 */, + { 0, 1417, 9949, 24, 3, UNI_CCC__DA } /* canonicalcombiningclass=234 */, + { 5, 10291, 1823, 5, 5, UNI_POSIXLOWER } /* posixlower */, + { 0, 2224, 6973, 3, 10, UNI_INSYLOTINAGRI } /* insylotinagri */, + { 3, 7076, 4449, 3, 7, UNI_BAMUMSUP } /* inbamumsup */, + { 21, 9768, 9038, 4, 6, UNI_YEZI } /* scx=yezidi */, + { 22, 9476, 0, 4, 0, UNI_AVST } /* avst */, + { 0, 8780, 3223, 6, 18, UNI_INPUNCTUATION } /* block=generalpunctuation */, + { 6, 9488, 8428, 4, 7, UNI_INGRANTHA } /* blk=grantha */, + { 0, 7325, 7877, 3, 2, UNI_IN__13 } /* in=13 */, + { 2, 5578, 5, 15, 1, UNI_SB__SE } /* sentencebreak=se */, + { 3, 9508, 9188, 4, 2, UNI_CCC__31 } /* ccc=31 */, + { 7, 9488, 8358, 4, 7, UNI_CJKEXTB } /* blk=cjkextb */, + { 0, 9277, 9624, 3, 3, UNI_LAO } /* sc=lao */, + { 0, 184, 9548, 2, 4, UNI_DSRT } /* isdsrt */, + { 96, 7325, 10111, 3, 3, UNI_IN__6_DOT_2 } /* in=v62 */, + { 10, 9508, 8823, 5, 5, UNI_CCC__130 } /* ccc=ccc130 */, + { 32, 9488, 1561, 4, 24, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* blk=supsymbolsandpictographs */, + { 0, 10340, 25, 3, 1, UNI_VS } /* isvs */, + { 0, 5032, 36, 14, 1, UNI_POSIXXDIGIT } /* asciihexdigit=t */, + { 0, 9524, 9836, 4, 4, UNI_CWT } /* cwt=true */, + { 19, 7438, 10015, 10, 3, UNI_WB__EB } /* wordbreak=ebg */, + { 5, 10048, 8059, 3, 8, UNI_NV__1_SLASH_12 } /* nv=8.33e-02 */, + { 4, 10290, 1823, 6, 5, UNI_XPOSIXLOWER } /* xposixlower */, + { 1, 5739, 3, 13, 1, -UNI_GRBASE } /* graphemebase=f */, + { 0, 184, 5242, 2, 14, UNI_LATINEXTC } /* islatinextendedc */, + { 48, 3379, 3, 6, 1, -UNI_XPOSIXSPACE } /* space=f */, + { 1, 10024, 38, 3, 2, UNI_XPOSIXDIGIT } /* gc=nd */, + { 0, 10027, 6346, 3, 3, UNI_JG__NYA } /* jg=nya */, + { 2, 2224, 8276, 3, 7, UNI_SPECIALS } /* inspecials */, + { 2, 8780, 7308, 6, 10, UNI_INPHOENICIAN } /* block=phoenician */, + { 3, 8780, 8337, 6, 7, UNI_INAVESTAN } /* block=avestan */, + { 0, 9488, 4401, 4, 9, UNI_TANGUTSUP } /* blk=tangutsup */, + { 9, 8780, 7098, 6, 10, UNI_BOXDRAWING } /* block=boxdrawing */, + { 0, 10048, 9168, 3, 2, UNI_NV__27 } /* nv=27 */, + { 6, 4916, 1846, 3, 4, UNI_TITLE } /* istitle */, + { 2, 184, 9896, 2, 4, UNI_ZYYY } /* iszyyy */, + { 1, 184, 3241, 2, 18, UNI_GEORGIANSUP } /* isgeorgiansupplement */, + { 18, 10048, 9188, 3, 2, UNI_NV__31 } /* nv=31 */, + { 0, 10033, 1751, 3, 2, UNI_LB__AI } /* lb=ai */, + { 0, 10048, 8744, 3, 5, UNI_NV__70000 } /* nv=70000 */, + { 2, 10012, 1, 3, 1, UNI_EA__N } /* ea=n */, + { 0, 1269, 36, 25, 1, UNI_COMPEX } /* fullcompositionexclusion=t */, + { 0, 3836, 9789, 18, 3, UNI_SHRD } /* scriptextensions=shrd */, + { 32, 9540, 26, 4, 1, UNI_DIA } /* dia=y */, + { 27, 1552, 0, 9, 0, UNI_gc_values_index } /* category= */, + { 0, 9488, 5947, 4, 13, UNI_MAYANNUMERALS } /* blk=mayannumerals */, + { 1, 7438, 1218, 10, 8, UNI_WB__KA } /* wordbreak=katakana */, + { 0, 2329, 0, 20, 0, UNI_HLUW } /* anatolianhieroglyphs */, + { 1, 10027, 5312, 3, 14, UNI_JG__MANICHAEANAYIN } /* jg=manichaeanayin */, + { 0, 7318, 7469, 10, 3, UNI_IN__5 } /* presentin=5.0 */, + { 0, 1417, 8829, 25, 5, UNI_CCC__132 } /* canonicalcombiningclass=ccc132 */, + { 26, 3097, 68, 18, 3, UNI_DT__SUP } /* decompositiontype=sup */, + { 20, 9240, 36, 5, 1, UNI_DASH } /* dash=t */, + { 11, 8780, 600, 7, 29, UNI_CJKEXTD } /* block=cjkunifiedideographsextensiond */, + { 1, 8780, 9656, 6, 4, UNI_INMIAO } /* block=miao */, + { 20, 9997, 10039, 3, 3, UNI_BC__LRI } /* bc=lri */, + { 0, 7325, 10114, 3, 3, UNI_IN__6_DOT_3 } /* in=v63 */, + { 6, 5986, 9376, 13, 3, UNI_NV__1_SLASH_6 } /* numericvalue=1/6 */, + { 0, 184, 9688, 2, 4, UNI_NKO } /* isnkoo */, + { 0, 8780, 9245, 6, 5, UNI_INDOGRA } /* block=dogra */, + { 5, 1417, 7826, 24, 2, UNI_CCC__12 } /* canonicalcombiningclass=12 */, + { 1, 8589, 9724, 7, 4, UNI_PHNX } /* script=phnx */, + { 0, 5791, 7711, 13, 9, UNI_JG__SYRIACWAW } /* joininggroup=syriacwaw */, { 0, 58, 0, 4, 0, UNI_IDEO } /* ideo */, - { 3, 9647, 7436, 3, 8, UNI_NV__1_SLASH_9 } /* nv=1.11e-01 */, - { 0, 1362, 8745, 25, 4, UNI_CCC__20 } /* canonicalcombiningclass=ccc20 */, - { 4, 2703, 995, 19, 2, -UNI_IDST } /* idstrinaryoperator=no */, - { 0, 9608, 8574, 3, 6, UNI_EA__NA } /* ea=narrow */, - { 6, 21, 1188, 2, 8, UNI_INKATAKANA } /* inkatakana */, - { 0, 184, 1622, 2, 14, UNI_LATINEXTA } /* islatinextendeda */, - { 2, 184, 5199, 2, 14, UNI_SK } /* ismodifiersymbol */, - { 3, 21, 4822, 3, 4, UNI_ASCII } /* inascii */, - { 1, 3671, 9429, 17, 4, UNI_TIBT } /* scriptextensions=tibt */, - { 1, 9365, 6992, 5, 6, UNI_SOGD } /* scx=sogdian */, - { 0, 8086, 8864, 7, 5, -UNI_GRBASE } /* grbase=false */, - { 1, 8233, 8859, 7, 5, UNI_SC__DOGR } /* script=dogra */, - { 2, 4140, 0, 16, 0, UNI_PO } /* otherpunctuation */, - { 2, 9623, 4947, 3, 14, UNI_JG__HAMZAONHEHGOAL } /* jg=hamzaonhehgoal */, - { 5, 9602, 26, 3, 1, UNI_DI } /* di=y */, - { 1, 6005, 660, 3, 29, UNI_CJKEXTF } /* incjkunifiedideographsextensionf */, - { 11, 2684, 881, 19, 1, UNI_GCB__V } /* hangulsyllabletype=v */, - { 2, 9093, 4204, 4, 6, UNI_INSYRIAC } /* blk=syriac */, - { 3, 6885, 8101, 3, 5, UNI_HYPHEN } /* ishyphen */, - { 16, 8886, 7374, 3, 9, UNI_SAMR } /* sc=samaritan */, - { 0, 184, 8538, 2, 4, UNI_KHOJ } /* iskhoj */, - { 0, 8332, 5800, 3, 11, UNI_ALPHABETICPF } /* isalphabeticpf */, - { 0, 8886, 9261, 3, 3, UNI_MRO } /* sc=mro */, - { 1, 4705, 9418, 3, 3, UNI_TFNG } /* istfng */, - { 0, 9916, 0, 5, 0, UNI_XPOSIXBLANK } /* blank */, - { 20, 2148, 3706, 3, 16, UNI_SMALLFORMS } /* insmallformvariants */, - { 14, 9093, 779, 4, 22, UNI_ENCLOSEDIDEOGRAPHICSUP } /* blk=enclosedideographicsup */, - { 15, 84, 0, 4, 0, UNI_MATH } /* math */, - { 0, 184, 9134, 3, 3, UNI_CYRL } /* iscyrl */, - { 4, 9620, 3227, 3, 9, UNI_Z } /* gc=separator */, - { 18, 8424, 8079, 6, 7, UNI_INGRANTHA } /* block=grantha */, - { 0, 4705, 3327, 3, 10, UNI_TAIXUANJING } /* istaixuanjing */, - { 0, 5760, 7508, 13, 8, UNI_NV__1_SLASH_5 } /* numericvalue=2.00e-01 */, - { 0, 8556, 995, 6, 2, -UNI_XPOSIXLOWER } /* lower=no */, - { 0, 3868, 598, 16, 2, UNI_XPOSIXCNTRL } /* generalcategory=cc */, - { 1, 9647, 9013, 3, 4, UNI_NV__15_SLASH_2 } /* nv=15/2 */, - { 4, 6005, 2591, 4, 17, UNI_COUNTINGROD } /* incountingrodnumerals */, - { 0, 8520, 9734, 6, 3, UNI_JOINC } /* joinc=yes */, - { 1, 9145, 0, 4, 0, UNI_DSRT } /* dsrt */, - { 1, 8037, 0, 7, 0, UNI_CJKEXTE } /* cjkexte */, - { 0, 8079, 0, 7, 0, UNI_GRAN } /* grantha */, - { 16, 8233, 2409, 7, 4, UNI_SC__MONG } /* script=mong */, - { 0, 3671, 9269, 17, 4, UNI_MYMR } /* scriptextensions=mymr */, - { 10, 9113, 1701, 4, 2, UNI_CCC__BR } /* ccc=br */, - { 0, 9647, 7652, 3, 8, UNI_NV__7_SLASH_12 } /* nv=5.83e-01 */, - { 0, 3671, 6602, 17, 11, UNI_NAND } /* scriptextensions=nandinagari */, - { 9, 8170, 0, 9, 0, UNI_NFKDQC__N } /* nfkdqc=no */, - { 5, 5565, 2561, 13, 3, UNI_JG__YEH } /* joininggroup=yeh */, - { 1, 9940, 7128, 6, 4, UNI_POSIXWORD } /* isperlword */, - { 0, 8412, 3, 6, 1, -UNI_BIDIC } /* bidic=f */, - { 0, 9620, 4732, 3, 15, UNI_TITLE } /* gc=titlecaseletter */, - { 1, 7018, 9674, 10, 3, UNI_IN__2 } /* presentin=v20 */, - { 2, 9593, 9635, 3, 3, UNI_BC__LRI } /* bc=lri */, - { 0, 8219, 9734, 7, 3, UNI_PATSYN } /* patsyn=yes */, - { 1, 184, 316, 2, 33, UNI_SUPMATHOPERATORS } /* issupplementalmathematicaloperators */, - { 0, 9647, 8802, 3, 2, UNI_NV__31 } /* nv=31 */, - { 1, 8424, 8093, 6, 7, UNI_INHANUNOO } /* block=hanunoo */, - { 29, 9093, 8526, 4, 6, UNI_INKAITHI } /* blk=kaithi */, - { 0, 9629, 0, 3, 0, UNI_lb_values_index } /* lb= */, - { 3, 5760, 7723, 13, 2, UNI_NV__18 } /* numericvalue=18 */, - { 5, 9647, 5409, 3, 2, UNI_NV__10 } /* nv=10 */, - { 2, 7025, 9692, 3, 3, UNI_IN__4_DOT_1 } /* in=v41 */, - { 40, 184, 1289, 2, 25, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* issymbolsandpictographsexta */, - { 2, 3671, 7788, 17, 8, UNI_BALI } /* scriptextensions=balinese */, - { 0, 8424, 467, 6, 11, UNI_INPUNCTUATION } /* block=punctuation */, - { 4, 8177, 0, 7, 0, UNI_NB } /* noblock */, - { 2, 8586, 8904, 6, 5, UNI_NFCQC__M } /* nfcqc=maybe */, - { 2, 2204, 9306, 3, 3, UNI_ORYA } /* isorya */, - { 0, 9193, 9, 4, 2, UNI_HST__NA } /* hst=na */, - { 24, 8233, 6246, 7, 4, UNI_HUNG } /* script=hung */, - { 26, 8604, 9433, 6, 4, UNI_QMARK } /* qmark=true */, - { 0, 4778, 1, 3, 33, UNI_UCAS } /* isunifiedcanadianaboriginalsyllabics */, - { 4, 3671, 9333, 17, 4, UNI_COPT } /* scriptextensions=qaac */, - { 0, 9781, 9814, 6, 21, UNI__PERL_IS_IN_MULTI_CHAR_FOLD } /* _perl_is_in_multi_char_fold */, - { 0, 1338, 0, 24, 0, UNI_ARABICPFB } /* arabicpresentationformsb */, - { 21, 3951, 415, 3, 31, UNI_INIDC } /* isideographicdescriptioncharacters */, - { 2, 4507, 0, 15, 0, UNI_LOWERCASELETTER } /* lowercaseletter */, - { 1, 7128, 5952, 10, 3, UNI_LB__ZWJ } /* wordbreak=zwj */, - { 1, 9926, 3248, 7, 5, UNI_XPOSIXBLANK } /* ishorizspace */, - { 4, 8219, 26, 7, 1, UNI_PATSYN } /* patsyn=y */, - { 1, 9933, 17, 5, 1, UNI_XPEO } /* isxpeo */, - { 3, 8233, 8514, 7, 4, UNI_HATR } /* script=hatr */, - { 1, 2708, 7187, 4, 7, UNI_ARABICPFA } /* inarabicpfa */, - { 8, 8424, 3996, 6, 16, UNI_LINEARBSYLLABARY } /* block=linearbsyllabary */, - { 5, 1362, 4701, 24, 2, UNI_CCC__0 } /* canonicalcombiningclass=nr */, - { 22, 9093, 2779, 4, 12, UNI_MONGOLIANSUP } /* blk=mongoliansup */, - { 0, 8233, 8939, 7, 5, UNI_SC__TALE } /* script=taile */, - { 7, 1977, 995, 22, 2, -UNI__PERL_NCHAR } /* noncharactercodepoint=no */, - { 5, 7420, 0, 7, 0, UNI_IDS } /* idstart */, - { 3, 8424, 2779, 6, 12, UNI_MONGOLIANSUP } /* block=mongoliansup */, - { 0, 9782, 3248, 4, 5, UNI_POSIXSPACE } /* perlspace */, - { 0, 8955, 9734, 4, 3, UNI_IDC } /* idc=yes */, - { 0, 3671, 6554, 18, 3, UNI_SAMR } /* scriptextensions=samr */, - { 5, 3671, 8296, 17, 7, UNI_TAVT } /* scriptextensions=taiviet */, - { 0, 6828, 407, 10, 2, UNI_BC__ON } /* bidiclass=on */, - { 5, 9940, 0, 4, 0, UNI_PE } /* ispe */, - { 43, 8424, 7248, 6, 9, UNI_INKHUDAWADI } /* block=khudawadi */, - { 3, 493, 0, 3, 0, UNI_HAN } /* han */, - { 5, 184, 2333, 2, 13, UNI_GLAGOLITICSUP } /* isglagoliticsup */, - { 15, 1497, 107, 10, 5, UNI_S } /* category=symbol */, - { 0, 8233, 9101, 7, 4, UNI_SC__BUHD } /* script=buhd */, - { 0, 4705, 5768, 3, 3, UNI_TALU } /* istalu */, - { 1, 8520, 36, 6, 1, UNI_JOINC } /* joinc=t */, - { 0, 3671, 9169, 17, 4, UNI_GUJR } /* scriptextensions=gujr */, - { 0, 3728, 0, 11, 0, UNI_SGNW } /* signwriting */, - { 5, 8233, 9421, 7, 4, UNI_SC__TGLG } /* script=tglg */, - { 0, 8886, 493, 3, 3, UNI_SC__HAN } /* sc=han */, - { 0, 7932, 26, 8, 1, UNI_RADICAL } /* radical=y */, - { 20, 5760, 8382, 13, 6, UNI_NV__600000 } /* numericvalue=600000 */, - { 12, 3002, 7836, 18, 3, UNI_DT__FRA } /* decompositiontype=fra */, - { 3, 8424, 921, 6, 28, UNI_VSSUP } /* block=variationselectorssupplement */, - { 24, 4778, 1813, 3, 4, UNI_XPOSIXUPPER } /* isupper */, - { 8, 8424, 414, 6, 32, UNI_INIDC } /* block=ideographicdescriptioncharacters */, - { 10, 3868, 24, 16, 1, UNI_L } /* generalcategory=l */, - { 48, 3948, 4763, 3, 7, UNI_VEDICEXT } /* invedicext */, - { 4, 8424, 1622, 6, 23, UNI_LATINEXTADDITIONAL } /* block=latinextendedadditional */, - { 0, 184, 6003, 2, 5, UNI_JOINC } /* isjoinc */, - { 0, 184, 1188, 2, 8, UNI_KANA } /* iskatakana */, - { 115, 3868, 698, 16, 6, UNI_N } /* generalcategory=number */, - { 20, 8424, 3884, 6, 11, UNI_GEORGIANEXT } /* block=georgianext */, - { 33, 9904, 4828, 5, 6, UNI_POSIXXDIGIT } /* posixxdigit */, - { 6, 8424, 540, 7, 29, UNI_CJKEXTB } /* block=cjkunifiedideographsextensionb */, - { 0, 8886, 9089, 3, 4, UNI_BHKS } /* sc=bhks */, - { 8, 9113, 8750, 5, 4, UNI_CCC__21 } /* ccc=ccc21 */, - { 11, 5760, 7495, 13, 1, UNI_NV__7 } /* numericvalue=7 */, - { 11, 9093, 78, 4, 35, UNI_ARABICMATH } /* blk=arabicmathematicalalphabeticsymbols */, - { 0, 8424, 7347, 6, 9, UNI_INOLDTURKIC } /* block=oldturkic */, - { 9, 3671, 6243, 17, 12, UNI_HUNG } /* scriptextensions=oldhungarian */, - { 32, 3128, 36, 18, 1, UNI_IDSB } /* idsbinaryoperator=t */, - { 134, 9049, 8997, 4, 4, UNI_AGE__11 } /* age=11.0 */, - { 0, 8424, 7048, 6, 10, UNI_INSAURASHTRA } /* block=saurashtra */, - { 3, 9620, 1767, 3, 2, UNI_NL } /* gc=nl */, - { 1, 3164, 0, 9, 0, UNI_LATINEXTA } /* latinexta */, - { 0, 8879, 3350, 5, 12, UNI_INPC__LEFTANDRIGHT } /* inpc=leftandright */, - { 1, 9365, 8079, 4, 7, UNI_GRAN } /* scx=grantha */, - { 5, 9093, 467, 4, 11, UNI_INPUNCTUATION } /* blk=punctuation */, - { 1, 184, 3308, 2, 18, UNI_SMALLKANAEXT } /* issmallkanaextension */, - { 1, 42, 0, 16, 0, UNI_CJKCOMPAT } /* cjkcompatibility */, - { 1, 7018, 9692, 10, 3, UNI_IN__4_DOT_1 } /* presentin=v41 */, - { 1, 8424, 5967, 6, 6, UNI_INHEBREW } /* block=hebrew */, - { 4, 8424, 690, 7, 15, UNI_CUNEIFORMNUMBERS } /* block=cuneiformnumbers */, - { 3, 8424, 6316, 6, 3, UNI_INIDC } /* block=idc */, - { 0, 1790, 0, 9, 0, UNI_TITLE } /* titlecase */, - { 0, 3671, 7812, 17, 4, UNI_DUPL } /* scriptextensions=dupl */, - { 16, 1933, 26, 22, 1, UNI_LOE } /* logicalorderexception=y */, - { 0, 9365, 8430, 4, 6, UNI_CARI } /* scx=carian */, - { 0, 9946, 8255, 3, 6, UNI_SIDD } /* issiddham */, - { 0, 6316, 995, 11, 2, -UNI_IDC } /* idcontinue=no */, - { 0, 8616, 3, 6, 1, -UNI_STERM } /* sterm=f */, - { 0, 9365, 4657, 4, 15, UNI_NARB } /* scx=oldnortharabian */, - { 0, 8233, 8114, 7, 7, UNI_SC__KALI } /* script=kayahli */, - { 1, 8886, 3836, 3, 7, UNI_SC__CPRT } /* sc=cypriot */, - { 0, 8884, 4327, 5, 15, UNI_INSC__CONSONANTKILLER } /* insc=consonantkiller */, - { 1, 8424, 4204, 6, 6, UNI_INSYRIAC } /* block=syriac */, - { 5, 8886, 9101, 3, 4, UNI_SC__BUHD } /* sc=buhd */, - { 0, 1911, 7320, 22, 9, UNI_INSC__NONJOINER } /* indicsyllabiccategory=nonjoiner */, - { 12, 184, 9916, 2, 5, UNI_XPOSIXBLANK } /* isblank */, - { 0, 7341, 0, 4, 0, UNI_PERM } /* perm */, - { 1, 8424, 7804, 6, 8, UNI_INBUGINESE } /* block=buginese */, - { 3, 9647, 7470, 3, 2, UNI_NV__50 } /* nv=50 */, - { 3, 9662, 0, 3, 0, UNI_sd_values_index } /* sd= */, - { 4, 1911, 4188, 22, 16, UNI_INSC__SYLLABLEMODIFIER } /* indicsyllabiccategory=syllablemodifier */, - { 2, 9093, 4417, 4, 15, UNI_DIACRITICALSEXT } /* blk=diacriticalsext */, - { 3, 3948, 4763, 3, 14, UNI_VEDICEXT } /* invedicextensions */, - { 3, 1362, 8760, 25, 4, UNI_CCC__23 } /* canonicalcombiningclass=ccc23 */, - { 6, 184, 3020, 2, 10, UNI_DEVA } /* isdevanagari */, - { 0, 6918, 125, 10, 2, UNI_LB__CR } /* linebreak=cr */, - { 96, 184, 3290, 2, 4, UNI_RUMI } /* isrumi */, - { 0, 5269, 9433, 14, 4, UNI_PATSYN } /* patternsyntax=true */, - { 0, 4705, 8290, 3, 6, UNI_LANA } /* istaitham */, - { 0, 8685, 3, 4, 1, -UNI_XPOSIXXDIGIT } /* hex=f */, - { 33, 184, 6602, 2, 11, UNI_NAND } /* isnandinagari */, - { 29, 5311, 0, 14, 0, UNI_PHLP } /* psalterpahlavi */, - { 1, 8886, 3110, 3, 4, UNI_SC__GEOR } /* sc=geor */, - { 1, 9181, 0, 4, 0, UNI_HLUW } /* hluw */, - { 0, 1159, 39, 3, 2, UNI_XPOSIXDIGIT } /* nt=de */, - { 2, 9909, 7128, 7, 4, UNI_POSIXWORD } /* isposixword */, - { 1, 9593, 2413, 3, 20, UNI_BC__PDF } /* bc=popdirectionalformat */, - { 4, 184, 84, 2, 4, UNI_MATH } /* ismath */, - { 0, 6005, 510, 3, 29, UNI_CJKEXTA } /* incjkunifiedideographsextensiona */, - { 4, 5760, 8358, 13, 4, UNI_NV__3000 } /* numericvalue=3000 */, - { 0, 184, 9353, 2, 4, UNI_RUNR } /* isrunr */, - { 104, 8233, 2930, 7, 8, UNI_CHER } /* script=cherokee */, - { 0, 8424, 808, 6, 29, UNI_MISCARROWS } /* block=miscellaneoussymbolsandarrows */, - { 0, 3671, 8550, 17, 4, UNI_LEPC } /* scriptextensions=lepc */, - { 8, 5760, 9021, 13, 4, UNI_NV__3_SLASH_16 } /* numericvalue=3/16 */, - { 0, 9093, 446, 4, 18, UNI_IDEOGRAPHICSYMBOLS } /* blk=ideographicsymbols */, - { 2, 4946, 0, 4, 0, UNI_CHAM } /* cham */, - { 24, 9313, 3, 4, 1, -UNI_PCM } /* pcm=f */, - { 0, 9365, 2085, 4, 8, UNI_CYRL } /* scx=cyrillic */, - { 12, 3603, 0, 17, 0, UNI_LETTERLIKESYMBOLS } /* letterlikesymbols */, - { 12, 5339, 1768, 14, 5, UNI_SB__LO } /* sentencebreak=lower */, - { 9, 8886, 8514, 3, 4, UNI_HATR } /* sc=hatr */, - { 19, 8640, 26, 6, 1, UNI_XPOSIXUPPER } /* upper=y */, - { 1, 8886, 9221, 3, 4, UNI_SC__LATN } /* sc=latn */, - { 1, 9357, 0, 4, 0, UNI_SAMR } /* samr */, - { 1, 8233, 9333, 7, 4, UNI_SC__COPT } /* script=qaac */, - { 0, 9093, 5967, 4, 6, UNI_INHEBREW } /* blk=hebrew */, - { 2, 3243, 0, 11, 0, UNI_wspace_values_index } /* whitespace= */, - { 5, 184, 1933, 2, 21, UNI_LOE } /* islogicalorderexception */, - { 2, 8233, 9325, 7, 4, UNI_MIAO } /* script=plrd */, - { 1, 9647, 7495, 3, 1, UNI_NV__7 } /* nv=7 */, - { 9, 3671, 6558, 17, 11, UNI_MEDF } /* scriptextensions=medefaidrin */, - { 0, 9113, 8451, 4, 3, UNI_CCC__118 } /* ccc=118 */, - { 10, 9093, 8282, 4, 7, UNI_INTAGALOG } /* blk=tagalog */, - { 7, 8044, 0, 7, 0, UNI_CJKEXTF } /* cjkextf */, - { 0, 3251, 9734, 3, 3, UNI_CE } /* ce=yes */, - { 1, 8874, 26, 5, 1, UNI_IDST } /* idst=y */, - { 3, 8424, 4492, 6, 15, UNI_INIMPERIALARAMAIC } /* block=imperialaramaic */, - { 0, 9626, 0, 4, 0, UNI_JT__L } /* jt=l */, - { 130, 9113, 9539, 4, 3, UNI_CCC__DB } /* ccc=233 */, - { 1, 2984, 0, 4, 0, UNI_COPT } /* copt */, - { 1, 8944, 0, 5, 0, UNI_TAKR } /* takri */, - { 8, 8424, 8934, 6, 5, UNI_INRUNIC } /* block=runic */, - { 1, 3964, 0, 9, 0, UNI_LATIN1 } /* latin1sup */, - { 0, 9647, 7614, 3, 2, UNI_NV__17 } /* nv=17 */, - { 1, 9093, 6051, 4, 12, UNI_MAHJONG } /* blk=mahjongtiles */, - { 70, 5760, 8675, 13, 4, UNI_NV__1_SLASH_12 } /* numericvalue=1/12 */, - { 0, 3671, 2169, 17, 11, UNI_MTEI } /* scriptextensions=meeteimayek */, - { 1, 6939, 0, 2, 0, UNI_VS } /* vs */, - { 0, 3398, 3, 18, 1, -UNI_VS } /* variationselector=f */, - { 1, 9049, 7631, 4, 1, UNI_AGE__9 } /* age=9 */, - { 0, 6005, 5896, 3, 11, UNI_CYRILLICEXTC } /* incyrillicextc */, - { 5, 5760, 8394, 13, 4, UNI_NV__8000 } /* numericvalue=8000 */, - { 1, 8424, 43, 7, 15, UNI_CJKCOMPAT } /* block=cjkcompatibility */, - { 0, 7098, 0, 10, 0, UNI_CN } /* unassigned */, - { 8, 184, 2779, 2, 19, UNI_MONGOLIANSUP } /* ismongoliansupplement */, - { 3, 6159, 0, 12, 0, UNI_GONM } /* masaramgondi */, - { 0, 9647, 7612, 3, 8, UNI_NV__5_SLASH_12 } /* nv=4.17e-01 */, - { 48, 9365, 8892, 4, 4, UNI_PHLI } /* scx=phli */, - { 0, 9093, 8093, 4, 7, UNI_INHANUNOO } /* blk=hanunoo */, - { 0, 8424, 250, 6, 33, UNI_MISCMATHSYMBOLSA } /* block=miscellaneousmathematicalsymbolsa */, - { 0, 6005, 1824, 3, 21, UNI_CJKCOMPATIDEOGRAPHSSUP } /* incjkcompatideographssup */, - { 0, 8886, 4220, 3, 6, UNI_TANG } /* sc=tangut */, - { 4, 8598, 0, 5, 0, UNI__PERL_PATWS } /* patws */, - { 0, 9365, 3980, 4, 7, UNI_LINB } /* scx=linearb */, - { 9, 184, 2086, 3, 17, UNI_CYRILLICSUP } /* iscyrillicsupplement */, - { 1, 2708, 7196, 4, 7, UNI_ARABICPFB } /* inarabicpfb */, - { 1, 9093, 6839, 5, 9, UNI_BOXDRAWING } /* blk=boxdrawing */, - { 0, 6723, 0, 4, 0, UNI_SYLO } /* sylo */, - { 6, 184, 4108, 2, 7, UNI_MYMR } /* ismyanmar */, - { 1, 9121, 9433, 4, 4, UNI_CWL } /* cwl=true */, - { 4, 2708, 6800, 4, 8, UNI_ARABICEXTA } /* inarabicexta */, - { 0, 8233, 2741, 7, 19, UNI_MERO } /* script=meroitichieroglyphs */, - { 1, 9605, 435, 4, 2, UNI_DT__ENC } /* dt=enc */, - { 0, 8914, 0, 5, 0, UNI_NSHU } /* nushu */, - { 48, 184, 1867, 2, 22, UNI_DIACRITICALSFORSYMBOLS } /* isdiacriticalsforsymbols */, - { 0, 1482, 6383, 3, 10, UNI_DOMINO } /* indominotiles */, - { 0, 5760, 7614, 13, 2, UNI_NV__17 } /* numericvalue=17 */, - { 0, 7356, 0, 9, 0, UNI_PALM } /* palmyrene */, - { 1, 9647, 8388, 3, 4, UNI_NV__7000 } /* nv=7000 */, - { 0, 1362, 7459, 24, 2, UNI_CCC__21 } /* canonicalcombiningclass=21 */, - { 1, 8879, 2473, 5, 20, UNI_INPC__TOPANDBOTTOMANDRIGHT } /* inpc=topandbottomandright */, - { 0, 8879, 5461, 5, 13, UNI_INPC__BOTTOMANDLEFT } /* inpc=bottomandleft */, - { 1, 9093, 3552, 4, 11, UNI_ETHIOPICEXT } /* blk=ethiopicext */, - { 8, 8219, 36, 7, 1, UNI_PATSYN } /* patsyn=t */, - { 3, 9629, 23, 3, 2, UNI_LB__AL } /* lb=al */, - { 0, 184, 8502, 2, 4, UNI_GOTH } /* isgoth */, - { 0, 8233, 8526, 7, 6, UNI_SC__KTHI } /* script=kaithi */, - { 0, 8586, 17, 7, 1, UNI_COMPEX } /* nfcqc=no */, - { 2, 3951, 3147, 3, 17, UNI_PI } /* isinitialpunctuation */, - { 10, 184, 2931, 3, 10, UNI_CHEROKEESUP } /* ischerokeesup */, - { 2, 4642, 26, 15, 1, UNI_DT__NONE } /* nfkdquickcheck=y */, - { 6, 8550, 0, 6, 0, UNI_LEPC } /* lepcha */, - { 1, 2148, 2837, 3, 18, UNI_SUNDANESESUP } /* insundanesesupplement */, - { 4, 8424, 1188, 6, 26, UNI_KATAKANAEXT } /* block=katakanaphoneticextensions */, - { 0, 4462, 3, 15, 1, -UNI_GREXT } /* graphemeextend=f */, - { 8, 3671, 4108, 17, 7, UNI_MYMR } /* scriptextensions=myanmar */, - { 2, 184, 6602, 2, 4, UNI_NAND } /* isnand */, - { 1, 2106, 125, 21, 2, UNI_LB__CR } /* graphemeclusterbreak=cr */, - { 0, 1159, 4829, 3, 5, UNI_NT__DI } /* nt=digit */, - { 0, 8233, 0, 14, 0, UNI_SC__SHRD } /* script=sharada */, - { 0, 8160, 721, 4, 19, UNI_ENCLOSEDALPHANUM } /* inenclosedalphanumerics */, - { 1, 9093, 2127, 4, 14, UNI_INHANIFIROHINGYA } /* blk=hanifirohingya */, - { 15, 5565, 4060, 13, 16, UNI_JG__MANICHAEANTWENTY } /* joininggroup=manichaeantwenty */, - { 16, 9365, 2741, 4, 19, UNI_MERO } /* scx=meroitichieroglyphs */, - { 8, 2703, 0, 18, 0, UNI_IDST } /* idstrinaryoperator */, - { 7, 8592, 1, 6, 1, UNI_DT__CAN } /* nfdqc=n */, - { 4, 3248, 0, 5, 0, UNI_XPOSIXSPACE } /* space */, - { 7, 112, 0, 2, 0, UNI_SC } /* sc */, - { 17, 9049, 9701, 4, 3, UNI_AGE__5_DOT_2 } /* age=v52 */, - { 1, 1158, 2022, 3, 21, UNI_TRANSPORTANDMAP } /* intransportandmapsymbols */, - { 0, 8233, 8430, 7, 4, UNI_CARI } /* script=cari */, - { 0, 9623, 6778, 3, 10, UNI_JG__AFRICANFEH } /* jg=africanfeh */, - { 24, 8424, 8929, 6, 5, UNI_INOSAGE } /* block=osage */, - { 25, 3868, 1029, 16, 2, UNI_SO } /* generalcategory=so */, - { 0, 4821, 1, 14, 1, -UNI_POSIXXDIGIT } /* asciihexdigit=n */, - { 0, 8424, 2836, 6, 19, UNI_SUNDANESESUP } /* block=sundanesesupplement */, - { 17, 6005, 3519, 3, 16, UNI_CYRILLICEXTB } /* incyrillicextendedb */, - { 0, 8424, 5367, 6, 14, UNI_SUPPUNCTUATION } /* block=suppunctuation */, - { 1, 8424, 8024, 7, 6, UNI_CJKEXTC } /* block=cjkextc */, - { 0, 8617, 9434, 6, 3, UNI_TERM } /* term=true */, - { 4, 3868, 697, 16, 2, UNI_MN } /* generalcategory=mn */, - { 0, 8871, 1129, 3, 2, UNI_SB__ST } /* sb=st */, - { 0, 5760, 7462, 13, 1, UNI_NV__4 } /* numericvalue=4 */, - { 0, 7257, 0, 9, 0, UNI_LATINEXTB } /* latinextb */, - { 0, 1362, 9536, 24, 3, UNI_CCC__AR } /* canonicalcombiningclass=232 */, - { 0, 8879, 8227, 3, 6, UNI_INPHAGSPA } /* inphagspa */, - { 2, 7025, 9587, 3, 3, UNI_IN__9 } /* in=9.0 */, - { 1, 9365, 3110, 4, 8, UNI_GEOR } /* scx=georgian */, - { 1, 9365, 3020, 4, 10, UNI_DEVA } /* scx=devanagari */, - { 0, 9365, 7804, 4, 8, UNI_BUGI } /* scx=buginese */, - { 17, 8233, 6724, 8, 3, UNI_SC__SYLO } /* script=sylo */, - { 0, 9365, 7248, 4, 9, UNI_SIND } /* scx=khudawadi */, - { 0, 184, 4297, 2, 7, UNI_BRAI } /* isbraille */, - { 14, 5760, 9033, 13, 3, UNI_NV__3_SLASH_8 } /* numericvalue=3/8 */, - { 24, 184, 2065, 3, 20, UNI_CJKRADICALSSUP } /* iscjkradicalssupplement */, - { 1, 1497, 5255, 9, 14, UNI_MN } /* category=nonspacingmark */, - { 9, 9049, 7436, 4, 3, UNI_IN__1_DOT_1 } /* age=1.1 */, - { 1, 7128, 5967, 10, 12, UNI_LB__HL } /* wordbreak=hebrewletter */, - { 2, 9647, 8669, 3, 4, UNI_NV__1_SLASH_32 } /* nv=1/32 */, - { 0, 9197, 0, 4, 0, UNI_KALI } /* kali */, - { 0, 2106, 5346, 21, 2, UNI_WB__EB } /* graphemeclusterbreak=eb */, - { 1, 5513, 26, 13, 1, UNI_GRBASE } /* graphemebase=y */, - { 0, 4705, 8228, 3, 3, UNI_TAGS } /* istags */, - { 0, 8424, 9281, 6, 4, UNI_INNEWA } /* block=newa */, - { 0, 6567, 812, 6, 25, UNI_MISCARROWS } /* inmiscellaneoussymbolsandarrows */, - { 0, 8879, 9, 5, 2, UNI_INPC__NA } /* inpc=na */, - { 0, 8886, 9045, 3, 4, UNI_SC__ADLM } /* sc=adlm */, - { 0, 9201, 0, 4, 0, UNI_KHMR } /* khmr */, - { 0, 3671, 9325, 17, 4, UNI_MIAO } /* scriptextensions=plrd */, - { 2, 8418, 1, 6, 1, -UNI_BIDIM } /* bidim=n */, - { 89, 8580, 9433, 6, 4, UNI__PERL_NCHAR } /* nchar=true */, - { 0, 9909, 6917, 3, 3, UNI_PHLI } /* isphli */, - { 0, 8879, 838, 3, 17, UNI_PHONETICEXT } /* inphoneticextensions */, - { 3, 1482, 4419, 4, 13, UNI_DIACRITICALSEXT } /* indiacriticalsext */, - { 8, 184, 4080, 2, 10, UNI_SM } /* ismathsymbol */, - { 0, 3671, 8289, 17, 7, UNI_LANA } /* scriptextensions=taitham */, - { 0, 8160, 1005, 4, 25, UNI_ENCLOSEDCJK } /* inenclosedcjklettersandmonths */, - { 0, 9113, 9542, 4, 3, UNI_CCC__DA } /* ccc=234 */, - { 0, 8424, 8939, 6, 5, UNI_INTAILE } /* block=taile */, - { 3, 9647, 9557, 3, 3, UNI_NV__3_SLASH_5 } /* nv=3/5 */, - { 0, 9093, 3467, 4, 17, UNI_INCAUCASIANALBANIAN } /* blk=caucasianalbanian */, - { 7, 7128, 73, 10, 2, UNI_WB__EB } /* wordbreak=em */, - { 2, 8886, 9453, 3, 4, UNI_VAI } /* sc=vaii */, - { 134, 9901, 96, 8, 5, UNI_XPOSIXALPHA } /* isxposixalpha */, - { 0, 8884, 6219, 5, 12, UNI_INSC__NUMBERJOINER } /* insc=numberjoiner */, - { 18, 8886, 7860, 3, 4, UNI_SC__HIRA } /* sc=hira */, - { 0, 3981, 1892, 5, 19, UNI_EARLYDYNASTICCUNEIFORM } /* inearlydynasticcuneiform */, - { 0, 8886, 8652, 3, 6, UNI_WCHO } /* sc=wancho */, - { 0, 9153, 1057, 4, 7, UNI_GCB__PP } /* gcb=prepend */, - { 1, 184, 6808, 2, 10, UNI_ASCII } /* isbasiclatin */, - { 0, 7025, 7495, 3, 1, UNI_IN__7 } /* in=7 */, - { 0, 9659, 1, 3, 1, -UNI_RI } /* ri=n */, - { 1, 8884, 2293, 5, 20, UNI_INSC__CONSONANTPLACEHOLDER } /* insc=consonantplaceholder */, - { 0, 3671, 2532, 17, 4, UNI_BRAH } /* scriptextensions=brah */, - { 0, 9365, 4582, 4, 15, UNI_MERC } /* scx=meroiticcursive */, - { 1, 9608, 7176, 3, 9, UNI_EA__A } /* ea=ambiguous */, - { 1, 6679, 9433, 11, 4, UNI_SD } /* softdotted=true */, - { 14, 1084, 0, 26, 0, UNI_cwkcf_values_index } /* changeswhennfkccasefolded= */, - { 8, 9629, 878, 3, 2, UNI_LB__PR } /* lb=pr */, - { 6, 1924, 7, 10, 1, UNI_CASEDLETTER } /* category=lc */, - { 13, 8886, 9349, 3, 4, UNI_SC__ROHG } /* sc=rohg */, - { 1, 1599, 0, 23, 0, UNI_COMPATJAMO } /* hangulcompatibilityjamo */, - { 4, 9093, 148, 4, 35, UNI_DIACRITICALSSUP } /* blk=combiningdiacriticalmarkssupplement */, - { 2, 9093, 7118, 4, 10, UNI_INWARANGCITI } /* blk=warangciti */, - { 1, 4705, 4733, 3, 14, UNI_TITLE } /* istitlecaseletter */, - { 0, 8640, 3, 6, 1, -UNI_XPOSIXUPPER } /* upper=f */, - { 14, 1362, 7683, 24, 2, UNI_CCC__26 } /* canonicalcombiningclass=26 */, - { 16, 9093, 2760, 4, 19, UNI_MODIFIERTONELETTERS } /* blk=modifiertoneletters */, - { 1, 1977, 26, 22, 1, UNI__PERL_NCHAR } /* noncharactercodepoint=y */, - { 1, 8233, 2127, 7, 4, UNI_SC__HAN } /* script=hani */, - { 0, 3671, 9209, 17, 4, UNI_KTHI } /* scriptextensions=kthi */, - { 1, 184, 5526, 2, 13, UNI_GREEKEXT } /* isgreekextended */, - { 1, 4267, 0, 5, 0, UNI_BAMU } /* bamum */, - { 7, 3688, 8864, 17, 5, -UNI_STERM } /* sentenceterminal=false */, - { 1, 9093, 659, 4, 30, UNI_CJKEXTF } /* blk=cjkunifiedideographsextensionf */, - { 0, 9093, 4076, 4, 16, UNI_MISCMATHSYMBOLSA } /* blk=miscmathsymbolsa */, - { 0, 1362, 6481, 24, 11, UNI_CCC__8 } /* canonicalcombiningclass=kanavoicing */, - { 0, 8233, 1622, 7, 5, UNI_SC__LATN } /* script=latin */, - { 2, 9647, 7462, 3, 1, UNI_NV__4 } /* nv=4 */, - { 7, 3671, 7365, 17, 9, UNI_PAUC } /* scriptextensions=paucinhau */, - { 0, 9153, 3254, 4, 17, UNI_RI } /* gcb=regionalindicator */, - { 1, 6828, 3074, 10, 18, UNI_BC__FSI } /* bidiclass=firststrongisolate */, - { 3, 3671, 9489, 17, 4, UNI_ZYYY } /* scriptextensions=zyyy */, - { 0, 8886, 9297, 3, 4, UNI_OLCK } /* sc=olck */, - { 20, 4705, 1257, 4, 2, UNI_TELU } /* istelu */, - { 2, 9113, 6404, 4, 11, UNI_CCC__DB } /* ccc=doublebelow */, - { 0, 1159, 495, 3, 2, UNI_NT__NU } /* nt=nu */, - { 0, 9629, 9753, 3, 2, UNI_LB__B2 } /* lb=b2 */, - { 0, 8886, 9489, 3, 4, UNI_SC__ZYYY } /* sc=zyyy */, - { 0, 9125, 26, 4, 1, UNI_CWT } /* cwt=y */, - { 1, 8871, 34, 3, 6, UNI_SB__EX } /* sb=extend */, - { 1, 9605, 1223, 3, 7, UNI_DT__INIT } /* dt=initial */, - { 0, 8424, 3722, 6, 17, UNI_SUTTONSIGNWRITING } /* block=suttonsignwriting */, - { 5, 9365, 9085, 4, 4, UNI_BATK } /* scx=batk */, - { 0, 8879, 6734, 5, 11, UNI_INPC__TOPANDRIGHT } /* inpc=topandright */, - { 0, 21, 8532, 2, 6, UNI_KANBUN } /* inkanbun */, - { 0, 9365, 7956, 4, 4, UNI_TAGB } /* scx=tagb */, - { 4, 3671, 8248, 18, 6, UNI_SHAW } /* scriptextensions=shavian */, - { 17, 6816, 7797, 3, 7, UNI_INBASSAVAH } /* inbassavah */, - { 2, 9405, 0, 4, 0, UNI_TALU } /* talu */, - { 0, 8424, 779, 6, 29, UNI_ENCLOSEDIDEOGRAPHICSUP } /* block=enclosedideographicsupplement */, - { 2, 6767, 0, 11, 0, UNI_YISYLLABLES } /* yisyllables */, - { 0, 7018, 7631, 10, 1, UNI_IN__9 } /* presentin=9 */, - { 0, 7128, 1188, 10, 2, UNI_WB__KA } /* wordbreak=ka */, - { 0, 8508, 36, 6, 1, UNI_GREXT } /* grext=t */, - { 0, 9593, 9638, 3, 3, UNI_BC__LRO } /* bc=lro */, - { 0, 184, 8538, 2, 6, UNI_KHOJ } /* iskhojki */, - { 0, 8424, 8226, 6, 7, UNI_INPHAGSPA } /* block=phagspa */, - { 0, 8128, 0, 4, 0, UNI_MAKA } /* maka */, - { 7, 8879, 6280, 3, 11, UNI_PLAYINGCARDS } /* inplayingcards */, - { 0, 8424, 3620, 6, 10, UNI_INMANICHAEAN } /* block=manichaean */, - { 0, 1497, 2006, 9, 14, UNI_LM } /* category=modifierletter */, - { 1, 3671, 7338, 17, 9, UNI_PERM } /* scriptextensions=oldpermic */, - { 0, 9629, 6848, 3, 10, UNI_LB__BA } /* lb=breakafter */, - { 1, 9365, 7796, 4, 8, UNI_BASS } /* scx=bassavah */, - { 1, 5760, 7507, 13, 2, UNI_NV__12 } /* numericvalue=12 */, - { 0, 184, 382, 2, 32, UNI_EGYPTIANHIEROGLYPHFORMATCONTROLS } /* isegyptianhieroglyphformatcontrols */, - { 0, 3248, 3, 6, 1, -UNI_XPOSIXSPACE } /* space=f */, - { 28, 9731, 7410, 3, 9, UNI_WB__WSEGSPACE } /* wb=wsegspace */, - { 2, 9093, 9261, 4, 3, UNI_INMRO } /* blk=mro */, - { 1, 9049, 7660, 4, 3, UNI_AGE__6 } /* age=6.0 */, - { 1, 9904, 1768, 5, 5, UNI_POSIXLOWER } /* posixlower */, - { 1, 9141, 9433, 4, 4, UNI_DIA } /* dia=true */, - { 2, 8886, 9473, 3, 4, UNI_SC__YI } /* sc=yiii */, - { 0, 8233, 8924, 7, 5, UNI_SC__ORYA } /* script=oriya */, - { 26, 5085, 5619, 4, 7, UNI_INMALAYALAM } /* inmalayalam */, - { 5, 8233, 5311, 7, 14, UNI_SC__PHLP } /* script=psalterpahlavi */, - { 24, 5565, 5115, 13, 14, UNI_JG__MANICHAEANHETH } /* joininggroup=manichaeanheth */, - { 6, 9365, 9209, 4, 4, UNI_KTHI } /* scx=kthi */, - { 51, 2493, 3391, 20, 7, UNI_VO__U } /* verticalorientation=upright */, - { 2, 21, 5003, 2, 14, UNI_LATINEXTB } /* inlatinextendedb */, - { 5, 9093, 7860, 4, 8, UNI_INHIRAGANA } /* blk=hiragana */, - { 2, 9901, 9470, 3, 3, UNI_XSUX } /* isxsux */, - { 18, 8233, 2837, 8, 3, UNI_SUND } /* script=sund */, - { 18, 8886, 7852, 3, 8, UNI_SC__GURU } /* sc=gurmukhi */, - { 3, 3671, 2333, 17, 10, UNI_GLAG } /* scriptextensions=glagolitic */, - { 3, 4462, 26, 15, 1, UNI_GREXT } /* graphemeextend=y */, - { 3, 9623, 5129, 3, 14, UNI_JG__MANICHAEANKAPH } /* jg=manichaeankaph */, - { 14, 5085, 8138, 5, 4, UNI_INMANDAIC } /* inmandaic */, - { 1, 8424, 3326, 6, 11, UNI_TAIXUANJING } /* block=taixuanjing */, - { 6, 9623, 8658, 3, 6, UNI_JG__YUDHHE } /* jg=yudhhe */, - { 1, 8226, 0, 7, 0, UNI_PHAG } /* phagspa */, - { 0, 8424, 8538, 6, 6, UNI_INKHOJKI } /* block=khojki */, - { 1, 9365, 8128, 4, 4, UNI_MAKA } /* scx=maka */, - { 0, 9647, 8989, 3, 4, UNI_NV__1_SLASH_80 } /* nv=1/80 */, - { 0, 8424, 8859, 6, 5, UNI_INDOGRA } /* block=dogra */, - { 2, 3868, 8499, 16, 2, UNI_CF } /* generalcategory=cf */, - { 0, 8424, 5604, 6, 13, UNI_LOWSURROGATES } /* block=lowsurrogates */, - { 1, 7018, 9449, 10, 4, UNI_IN__12_DOT_1 } /* presentin=v121 */, - { 3, 3671, 4792, 17, 15, UNI_ZANB } /* scriptextensions=zanabazarsquare */, - { 0, 8424, 8254, 6, 7, UNI_INSIDDHAM } /* block=siddham */, - { 33, 9093, 6868, 4, 10, UNI_COMPATJAMO } /* blk=compatjamo */, - { 9, 1506, 0, 24, 0, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* supsymbolsandpictographs */, - { 16, 3739, 0, 17, 0, UNI_uideo_values_index } /* unifiedideograph= */, - { 1, 5835, 26, 12, 1, UNI_BIDIC } /* bidicontrol=y */, - { 2, 8424, 283, 6, 33, UNI_MISCMATHSYMBOLSB } /* block=miscellaneousmathematicalsymbolsb */, - { 1, 1362, 8437, 25, 5, UNI_CCC__103 } /* canonicalcombiningclass=ccc103 */, - { 0, 9903, 96, 6, 5, UNI_XPOSIXALPHA } /* xposixalpha */, - { 0, 3243, 995, 11, 2, -UNI_XPOSIXSPACE } /* whitespace=no */, - { 1, 9093, 569, 4, 30, UNI_CJKEXTC } /* blk=cjkunifiedideographsextensionc */, - { 0, 3671, 7980, 17, 4, UNI_UGAR } /* scriptextensions=ugar */, - { 256, 9093, 567, 4, 2, UNI_NB } /* blk=nb */, - { 24, 9093, 749, 4, 30, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* blk=symbolsandpictographsextendeda */, - { 1, 9365, 9493, 4, 4, UNI_ZZZZ } /* scx=zzzz */, - { 0, 2253, 0, 20, 0, UNI_HLUW } /* anatolianhieroglyphs */, - { 0, 184, 3164, 2, 18, UNI_LATINEXTADDITIONAL } /* islatinextadditional */, - { 1, 21, 5423, 3, 12, UNI_AEGEANNUMBERS } /* inaegeannumbers */, - { 0, 8424, 4108, 6, 7, UNI_INMYANMAR } /* block=myanmar */, - { 0, 6858, 0, 10, 0, UNI_CJKSTROKES } /* cjkstrokes */, - { 2, 8955, 3, 4, 1, -UNI_IDC } /* idc=f */, - { 1, 7025, 9551, 3, 3, UNI_IN__3_DOT_2 } /* in=3.2 */, - { 1, 9647, 7747, 3, 2, UNI_NV__28 } /* nv=28 */, - { 0, 1362, 6207, 24, 12, UNI_CCC__0 } /* canonicalcombiningclass=notreordered */, - { 3, 8233, 3772, 7, 8, UNI_SC__BOPO } /* script=bopomofo */, - { 0, 9365, 9201, 4, 4, UNI_KHMR } /* scx=khmr */, - { 1, 9113, 8780, 5, 4, UNI_CCC__27 } /* ccc=ccc27 */, - { 3, 7964, 0, 8, 0, UNI_TFNG } /* tifinagh */, - { 0, 3128, 0, 18, 0, UNI_idsb_values_index } /* idsbinaryoperator= */, - { 0, 9620, 6635, 3, 11, UNI_SO } /* gc=othersymbol */, - { 1, 4618, 2335, 4, 11, UNI_GLAGOLITICSUP } /* inglagoliticsup */, - { 0, 9317, 0, 4, 0, UNI_PHLP } /* phlp */, - { 0, 5979, 9433, 12, 4, UNI_IDEO } /* ideographic=true */, - { 43, 9153, 9611, 4, 3, UNI_WB__EB } /* gcb=ebg */, - { 2, 184, 7900, 2, 8, UNI_KANAEXTA } /* iskanaexta */, - { 0, 3002, 2493, 18, 4, UNI_DT__VERT } /* decompositiontype=vert */, - { 2, 184, 9277, 2, 4, UNI_NBAT } /* isnbat */, - { 2, 1801, 0, 22, 0, UNI_cwu_values_index } /* changeswhenuppercased= */, - { 0, 1933, 9734, 22, 3, UNI_LOE } /* logicalorderexception=yes */, - { 15, 6382, 0, 6, 0, UNI_DOMINO } /* domino */, - { 0, 5760, 7756, 13, 8, UNI_NV__7_SLASH_8 } /* numericvalue=8.75e-01 */, - { 2, 9946, 6554, 3, 3, UNI_SAMR } /* issamr */, - { 0, 9593, 37, 3, 2, UNI_BC__EN } /* bc=en */, - { 1, 8233, 8093, 7, 7, UNI_SC__HANO } /* script=hanunoo */, - { 0, 6949, 724, 4, 3, UNI_CASED } /* iscased */, - { 4, 9629, 21, 3, 2, UNI_LB__IN } /* lb=in */, - { 11, 8424, 183, 6, 20, UNI_MISCSYMBOLS } /* block=miscellaneoussymbols */, - { 3, 9093, 719, 4, 21, UNI_ENCLOSEDALPHANUM } /* blk=enclosedalphanumerics */, - { 4, 9647, 7492, 3, 8, UNI_NV__1_SLASH_6 } /* nv=1.67e-01 */, - { 3, 9093, 3722, 4, 17, UNI_SUTTONSIGNWRITING } /* blk=suttonsignwriting */, - { 80, 9069, 0, 4, 0, UNI_ARMN } /* armn */, - { 0, 9093, 5895, 4, 12, UNI_CYRILLICEXTC } /* blk=cyrillicextc */, - { 0, 1362, 8790, 25, 4, UNI_CCC__29 } /* canonicalcombiningclass=ccc29 */, - { 1, 1977, 0, 21, 0, UNI__PERL_NCHAR } /* noncharactercodepoint */, - { 0, 5565, 5241, 13, 14, UNI_JG__NOJOININGGROUP } /* joininggroup=nojoininggroup */, - { 4, 184, 749, 2, 30, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* issymbolsandpictographsextendeda */, - { 0, 1362, 8720, 25, 4, UNI_CCC__15 } /* canonicalcombiningclass=ccc15 */, - { 0, 5513, 9433, 13, 4, UNI_GRBASE } /* graphemebase=true */, - { 113, 184, 9261, 2, 3, UNI_MRO } /* ismro */, - { 1, 4252, 0, 15, 0, UNI_ARABICEXTA } /* arabicextendeda */, - { 1, 4826, 8864, 9, 5, -UNI_XPOSIXXDIGIT } /* hexdigit=false */, - { 0, 9093, 7221, 4, 9, UNI_EMOTICONS } /* blk=emoticons */, - { 4, 5565, 5, 13, 1, UNI_JG__E } /* joininggroup=e */, - { 2, 1497, 17, 10, 1, UNI_SO } /* category=so */, - { 0, 9593, 3608, 3, 3, UNI_BC__RLI } /* bc=rli */, - { 3, 3671, 8121, 17, 7, UNI_LINA } /* scriptextensions=lineara */, - { 0, 2684, 9, 19, 2, UNI_HST__NA } /* hangulsyllabletype=na */, - { 0, 8424, 4717, 6, 15, UNI_TAMILSUP } /* block=tamilsupplement */, - { 8, 1362, 3969, 24, 1, UNI_CCC__1 } /* canonicalcombiningclass=1 */, - { 9, 8886, 2532, 3, 4, UNI_BRAH } /* sc=brah */, - { 1, 32, 0, 2, 0, UNI__PERL_SURROGATE } /* cs */, - { 0, 8424, 1645, 6, 23, UNI_SHORTHANDFORMATCONTROLS } /* block=shorthandformatcontrols */, - { 8, 8160, 781, 4, 27, UNI_ENCLOSEDIDEOGRAPHICSUP } /* inenclosedideographicsupplement */, - { 2, 8886, 9393, 3, 4, UNI_SC__SYRC } /* sc=syrc */, - { 10, 1924, 24, 10, 1, UNI_LOWERCASELETTER } /* category=ll */, - { 0, 9647, 3969, 3, 1, UNI_NV__1 } /* nv=1 */, - { 0, 9093, 3326, 4, 18, UNI_TAIXUANJING } /* blk=taixuanjingsymbols */, - { 0, 8424, 1867, 6, 12, UNI_DIACRITICALS } /* block=diacriticals */, - { 8, 184, 8149, 2, 7, UNI_MULT } /* ismultani */, - { 0, 9620, 5199, 3, 14, UNI_SK } /* gc=modifiersymbol */, - { 24, 2703, 9433, 19, 4, UNI_IDST } /* idstrinaryoperator=true */, - { 1, 8886, 4792, 3, 15, UNI_ZANB } /* sc=zanabazarsquare */, - { 0, 2106, 5258, 21, 11, UNI_GCB__SM } /* graphemeclusterbreak=spacingmark */, - { 4, 5760, 8394, 13, 6, UNI_NV__800000 } /* numericvalue=800000 */, - { 14, 1497, 697, 9, 2, UNI_MN } /* category=mn */, - { 0, 6918, 3, 11, 1, UNI_LB__LF } /* linebreak=lf */, - { 8, 7128, 400, 10, 6, UNI_WB__FO } /* wordbreak=format */, - { 0, 8886, 8142, 3, 7, UNI_MARC } /* sc=marchen */, - { 0, 8424, 1387, 7, 9, UNI_CJKSYMBOLS } /* block=cjksymbols */, - { 16, 9093, 4092, 4, 16, UNI_MISCMATHSYMBOLSB } /* blk=miscmathsymbolsb */, - { 0, 7108, 36, 10, 1, UNI_XPOSIXUPPER } /* uppercase=t */, - { 0, 6567, 187, 6, 16, UNI_MISCSYMBOLS } /* inmiscellaneoussymbols */, - { 0, 5565, 5708, 13, 13, UNI_JG__MANICHAEANWAW } /* joininggroup=manichaeanwaw */, - { 3, 6918, 495, 10, 7, UNI_LB__NU } /* linebreak=numeric */, - { 4, 6808, 0, 10, 0, UNI_ASCII } /* basiclatin */, - { 3, 6338, 9433, 11, 4, UNI_XPOSIXALPHA } /* alphabetic=true */, - { 0, 184, 7812, 2, 4, UNI_DUPL } /* isdupl */, - { 24, 9647, 7676, 3, 8, UNI_NV__1_SLASH_16 } /* nv=6.25e-02 */, - { 0, 9137, 8864, 4, 5, -UNI_DEP } /* dep=false */, - { 1, 8424, 1539, 6, 14, UNI_MUSIC } /* block=musicalsymbols */, - { 40, 5526, 0, 8, 0, UNI_GREEKEXT } /* greekext */, - { 0, 8424, 8485, 7, 5, UNI_INCHAKMA } /* block=chakma */, - { 49, 8640, 0, 6, 0, UNI_upper_values_index } /* upper= */, - { 2, 2021, 0, 22, 0, UNI_TRANSPORTANDMAP } /* transportandmapsymbols */, - { 0, 3002, 1223, 18, 4, UNI_DT__INIT } /* decompositiontype=init */, - { 5, 184, 4762, 2, 15, UNI_VEDICEXT } /* isvedicextensions */, - { 2, 9647, 7764, 3, 8, UNI_NV__11_SLASH_12 } /* nv=9.17e-01 */, - { 13, 8886, 9357, 3, 4, UNI_SAMR } /* sc=samr */, - { 0, 8233, 7365, 7, 9, UNI_PAUC } /* script=paucinhau */, - { 0, 3671, 7, 17, 18, UNI_CANS } /* scriptextensions=canadianaboriginal */, - { 0, 9093, 7805, 5, 7, UNI_INBUGINESE } /* blk=buginese */, - { 1, 4627, 0, 16, 0, UNI_NFKCQC__N } /* nfkcquickcheck=n */, - { 9, 9647, 9751, 3, 2, UNI_NV__49 } /* nv=49 */, - { 1, 9237, 995, 4, 2, -UNI_LOE } /* loe=no */, - { 1, 4705, 9422, 3, 3, UNI_TGLG } /* istglg */, - { 1, 9365, 7341, 4, 4, UNI_PERM } /* scx=perm */, - { 12, 6928, 995, 10, 2, -UNI_XPOSIXLOWER } /* lowercase=no */, - { 1, 7018, 9713, 10, 3, UNI_IN__6_DOT_3 } /* presentin=v63 */, - { 2, 8233, 9261, 7, 4, UNI_MRO } /* script=mroo */, - { 0, 9647, 7763, 3, 2, UNI_NV__19 } /* nv=19 */, - { 1, 9629, 495, 3, 7, UNI_LB__NU } /* lb=numeric */, - { 0, 184, 4989, 2, 14, UNI_KANGXI } /* iskangxiradicals */, - { 1, 9093, 878, 4, 14, UNI_PUA } /* blk=privateusearea */, - { 5, 6918, 73, 10, 2, UNI_LB__EM } /* linebreak=em */, - { 1, 8412, 8864, 6, 5, -UNI_BIDIC } /* bidic=false */, - { 25, 8233, 8550, 7, 6, UNI_LEPC } /* script=lepcha */, - { 16, 3671, 9465, 17, 4, UNI_XPEO } /* scriptextensions=xpeo */, - { 2, 8332, 97, 3, 4, UNI_XPOSIXALPHA } /* isalpha */, - { 55, 3671, 9321, 17, 4, UNI_PHNX } /* scriptextensions=phnx */, - { 0, 9093, 2006, 4, 4, UNI_INMODI } /* blk=modi */, - { 0, 5760, 7435, 13, 2, UNI_NV__11 } /* numericvalue=11 */, - { 0, 9093, 2333, 4, 13, UNI_GLAGOLITICSUP } /* blk=glagoliticsup */, - { 0, 5422, 0, 13, 0, UNI_AEGEANNUMBERS } /* aegeannumbers */, - { 0, 8332, 697, 4, 2, UNI_ARMN } /* isarmn */, - { 0, 9108, 0, 2, 0, UNI_MC } /* mc */, - { 1, 2741, 0, 19, 0, UNI_MERO } /* meroitichieroglyphs */, - { 2, 9593, 0, 4, 0, UNI_BC__B } /* bc=b */, - { 0, 8233, 2484, 7, 4, UNI_SC__MAND } /* script=mand */, - { 3, 8886, 7980, 3, 8, UNI_UGAR } /* sc=ugaritic */, - { 1, 8424, 5734, 6, 13, UNI_MISCTECHNICAL } /* block=misctechnical */, - { 0, 184, 7916, 2, 8, UNI_MAHJ } /* ismahajani */, - { 2, 9365, 9145, 4, 4, UNI_DSRT } /* scx=dsrt */, - { 0, 21, 1622, 2, 14, UNI_LATINEXTA } /* inlatinextendeda */, - { 4, 5967, 0, 6, 0, UNI_HEBR } /* hebrew */, - { 1, 9093, 3416, 4, 10, UNI_ALCHEMICAL } /* blk=alchemical */, - { 1, 3671, 9157, 17, 4, UNI_GONG } /* scriptextensions=gong */, - { 2, 7788, 0, 8, 0, UNI_BALI } /* balinese */, - { 1, 9629, 8100, 3, 6, UNI_LB__HY } /* lb=hyphen */, - { 16, 9353, 0, 4, 0, UNI_RUNR } /* runr */, - { 4, 3671, 9390, 18, 3, UNI_SOGO } /* scriptextensions=sogo */, - { 0, 2085, 0, 21, 0, UNI_CYRILLICSUP } /* cyrillicsupplementary */, - { 1, 9237, 1, 4, 1, -UNI_LOE } /* loe=n */, - { 6, 8424, 1530, 6, 14, UNI_BYZANTINEMUSIC } /* block=byzantinemusic */, - { 0, 4580, 2780, 3, 18, UNI_MONGOLIANSUP } /* inmongoliansupplement */, - { 20, 4220, 0, 6, 0, UNI_TANG } /* tangut */, - { 0, 4580, 989, 3, 4, UNI_MUSIC } /* inmusic */, - { 0, 3671, 2148, 17, 21, UNI_PRTI } /* scriptextensions=inscriptionalparthian */, - { 9, 9623, 5666, 3, 3, UNI_JG__NUN } /* jg=nun */, - { 0, 8424, 7956, 6, 8, UNI_INTAGBANWA } /* block=tagbanwa */, - { 0, 9620, 6624, 3, 11, UNI_NO } /* gc=othernumber */, - { 0, 8424, 7916, 6, 8, UNI_INMAHAJANI } /* block=mahajani */, - { 0, 1136, 9734, 26, 3, UNI_DI } /* defaultignorablecodepoint=yes */, - { 0, 3884, 0, 16, 0, UNI_GEORGIANEXT } /* georgianextended */, - { 0, 8598, 3, 6, 1, -UNI__PERL_PATWS } /* patws=f */, - { 1, 9093, 3884, 4, 16, UNI_GEORGIANEXT } /* blk=georgianextended */, - { 0, 9093, 4268, 5, 4, UNI_INBAMUM } /* blk=bamum */, - { 0, 7338, 0, 9, 0, UNI_PERM } /* oldpermic */, - { 13, 8508, 9734, 6, 3, UNI_GREXT } /* grext=yes */, - { 97, 1497, 38, 9, 2, UNI_XPOSIXDIGIT } /* category=nd */, - { 9, 9647, 7692, 3, 8, UNI_NV__13_SLASH_2 } /* nv=6.50e+00 */, - { 21, 3671, 2532, 17, 6, UNI_BRAH } /* scriptextensions=brahmi */, - { 12, 6371, 9433, 11, 4, UNI_DEP } /* deprecated=true */, - { 0, 4821, 36, 14, 1, UNI_POSIXXDIGIT } /* asciihexdigit=t */, - { 1, 2874, 0, 19, 0, UNI_SUPARROWSB } /* supplementalarrowsb */, - { 8, 9365, 7347, 4, 9, UNI_ORKH } /* scx=oldturkic */, - { 0, 689, 0, 16, 0, UNI_CUNEIFORMNUMBERS } /* cuneiformnumbers */, - { 1, 6828, 4156, 10, 16, UNI_BC__S } /* bidiclass=segmentseparator */, - { 0, 1036, 0, 2, 0, UNI_CASEDLETTER } /* lc */, - { 1, 9113, 8785, 5, 4, UNI_CCC__28 } /* ccc=ccc28 */, - { 0, 3671, 78, 17, 6, UNI_ARAB } /* scriptextensions=arabic */, - { 0, 9647, 5409, 3, 4, UNI_NV__1000 } /* nv=1000 */, - { 1, 5760, 7732, 13, 8, UNI_NV__5_SLASH_6 } /* numericvalue=8.33e-01 */, - { 1, 2646, 0, 10, 0, UNI_JAMO } /* hanguljamo */, - { 20, 8233, 7248, 7, 9, UNI_SC__SIND } /* script=khudawadi */, - { 1, 1757, 3, 22, 1, -UNI_CWL } /* changeswhenlowercased=f */, - { 5, 3671, 9386, 18, 3, UNI_SHRD } /* scriptextensions=shrd */, - { 0, 9731, 73, 3, 2, UNI_WB__EB } /* wb=em */, - { 0, 184, 8128, 2, 7, UNI_MAKA } /* ismakasar */, - { 0, 9647, 7446, 3, 2, UNI_NV__25 } /* nv=25 */, - { 0, 1536, 2609, 3, 18, UNI_INEGYPTIANHIEROGLYPHS } /* inegyptianhieroglyphs */, - { 0, 9093, 7194, 4, 9, UNI_ARABICPFB } /* blk=arabicpfb */, - { 0, 8884, 2313, 5, 20, UNI_INSC__CONSONANTWITHSTACKER } /* insc=consonantwithstacker */, - { 2, 8233, 8226, 7, 7, UNI_SC__PHAG } /* script=phagspa */, - { 14, 9623, 6111, 3, 12, UNI_JG__MALAYALAMNYA } /* jg=malayalamnya */, - { 25, 9365, 9325, 4, 4, UNI_MIAO } /* scx=plrd */, - { 0, 4432, 0, 15, 0, UNI_DIACRITICALSSUP } /* diacriticalssup */, - { 1, 21, 7266, 2, 9, UNI_LATINEXTC } /* inlatinextc */, - { 131, 184, 995, 2, 2, UNI_NO } /* isno */, - { 0, 9647, 8973, 3, 4, UNI_NV__1_SLASH_10 } /* nv=1/10 */, - { 0, 4627, 0, 15, 0, UNI_nfkcqc_values_index } /* nfkcquickcheck= */, - { 0, 6816, 7204, 3, 8, UNI_INBHAIKSUKI } /* inbhaiksuki */, - { 0, 8233, 2930, 7, 4, UNI_CHER } /* script=cher */, - { 0, 3868, 1257, 16, 2, UNI_UPPERCASELETTER } /* generalcategory=lu */, - { 21, 117, 5553, 3, 5, UNI_IPAEXT } /* inipaext */, - { 4, 184, 9767, 2, 2, UNI_CASEDLETTER } /* isl& */, - { 1, 9626, 6470, 3, 11, UNI_JT__C } /* jt=joincausing */, - { 3, 6868, 0, 10, 0, UNI_COMPATJAMO } /* compatjamo */, - { 3, 1362, 8820, 25, 4, UNI_CCC__35 } /* canonicalcombiningclass=ccc35 */, - { 5, 9157, 0, 4, 0, UNI_GONG } /* gong */, - { 0, 7230, 9433, 9, 4, UNI_EXT } /* extender=true */, - { 0, 8959, 1, 5, 1, -UNI_XIDS } /* xids=n */, - { 0, 8884, 1434, 5, 24, UNI_INSC__CONSONANTSUCCEEDINGREPHA } /* insc=consonantsucceedingrepha */, - { 3, 1773, 0, 6, 0, UNI_cased_values_index } /* cased= */, - { 0, 8424, 2646, 6, 10, UNI_JAMO } /* block=hanguljamo */, - { 1, 9365, 4717, 4, 5, UNI_TAML } /* scx=tamil */, - { 8, 1362, 8725, 25, 4, UNI_CCC__16 } /* canonicalcombiningclass=ccc16 */, - { 2, 9620, 8839, 3, 5, UNI_XPOSIXCNTRL } /* gc=cntrl */, - { 0, 8617, 3, 5, 1, -UNI_TERM } /* term=f */, - { 26, 9365, 8303, 4, 7, UNI_TIBT } /* scx=tibetan */, - { 0, 8959, 9734, 5, 3, UNI_XIDS } /* xids=yes */, - { 1, 4447, 3, 15, 1, UNI_EA__F } /* eastasianwidth=f */, - { 0, 8424, 4717, 6, 5, UNI_INTAMIL } /* block=tamil */, - { 0, 5760, 9739, 13, 2, UNI_NV__39 } /* numericvalue=39 */, - { 0, 9365, 9089, 4, 4, UNI_BHKS } /* scx=bhks */, - { 21, 6003, 1, 12, 1, -UNI_JOINC } /* joincontrol=n */, - { 1, 5255, 0, 14, 0, UNI_MN } /* nonspacingmark */, - { 1, 8233, 9157, 7, 4, UNI_SC__GONG } /* script=gong */, - { 2, 2148, 2837, 3, 11, UNI_SUNDANESESUP } /* insundanesesup */, - { 9, 7018, 7463, 10, 1, UNI_IN__3 } /* presentin=3 */, - { 1, 3671, 1573, 17, 4, UNI_PHAG } /* scriptextensions=phag */, - { 11, 184, 2044, 3, 20, UNI_CJKCOMPATFORMS } /* iscjkcompatibilityforms */, - { 2, 3398, 995, 18, 2, -UNI_VS } /* variationselector=no */, - { 2, 9647, 7532, 3, 8, UNI_NV__1_SLASH_40 } /* nv=2.50e-02 */, - { 4, 3671, 3980, 17, 7, UNI_LINB } /* scriptextensions=linearb */, - { 40, 9153, 24, 4, 1, UNI_GCB__L } /* gcb=l */, - { 0, 8886, 6723, 3, 11, UNI_SC__SYLO } /* sc=sylotinagri */, - { 7, 9113, 9771, 4, 2, UNI_CCC__9 } /* ccc=vr */, - { 1, 9113, 1700, 4, 2, UNI_CCC__DB } /* ccc=db */, - { 0, 3254, 0, 18, 0, UNI_ri_values_index } /* regionalindicator= */, - { 16, 47, 0, 1, 0, UNI_M } /* m */, - { 16, 8884, 3948, 5, 16, UNI_INSC__INVISIBLESTACKER } /* insc=invisiblestacker */, - { 0, 9731, 1767, 3, 2, UNI_WB__NL } /* wb=nl */, - { 0, 9365, 2409, 4, 4, UNI_MONG } /* scx=mong */, - { 0, 5565, 4562, 13, 3, UNI_JG__SAD } /* joininggroup=sad */, - { 9, 184, 5955, 2, 12, UNI_GONG } /* isgunjalagondi */, - { 0, 5871, 0, 12, 0, UNI_CYRILLICEXTA } /* cyrillicexta */, - { 1, 1362, 7747, 24, 2, UNI_CCC__28 } /* canonicalcombiningclass=28 */, - { 33, 8303, 0, 7, 0, UNI_TIBT } /* tibetan */, - { 8, 3671, 9057, 17, 4, UNI_AHOM } /* scriptextensions=ahom */, - { 6, 184, 719, 2, 16, UNI_ENCLOSEDALPHANUM } /* isenclosedalphanum */, - { 1, 8424, 8944, 6, 5, UNI_INTAKRI } /* block=takri */, - { 3, 9909, 8839, 7, 5, UNI_POSIXCNTRL } /* isposixcntrl */, - { 1, 9365, 3110, 4, 4, UNI_GEOR } /* scx=geor */, - { 2, 18, 0, 2, 0, UNI_RI } /* ri */, - { 1, 8163, 8904, 7, 5, UNI_NFCQC__M } /* nfkcqc=maybe */, - { 8, 3002, 3308, 18, 5, UNI_DT__SML } /* decompositiontype=small */, - { 24, 7230, 26, 9, 1, UNI_EXT } /* extender=y */, - { 0, 8556, 8864, 6, 5, -UNI_XPOSIXLOWER } /* lower=false */, - { 0, 8233, 8303, 7, 7, UNI_TIBT } /* script=tibetan */, - { 5, 4705, 1791, 3, 4, UNI_TITLE } /* istitle */, - { 13, 8886, 0, 3, 0, UNI_sc_values_index } /* sc= */, - { 0, 6015, 6514, 12, 11, UNI_JT__L } /* joiningtype=leftjoining */, - { 3, 8051, 1, 7, 1, -UNI_COMPEX } /* compex=n */, - { 0, 9623, 5181, 3, 4, UNI_JG__TETH } /* jg=teth */, - { 1, 9659, 9734, 3, 3, UNI_RI } /* ri=yes */, - { 9, 4705, 2022, 3, 14, UNI_TRANSPORTANDMAP } /* istransportandmap */, - { 1, 3671, 7772, 17, 8, UNI_ARMN } /* scriptextensions=armenian */, - { 2, 4627, 47, 15, 1, UNI_NFCQC__M } /* nfkcquickcheck=m */, - { 2, 1924, 5592, 10, 12, UNI_ZL } /* category=lineseparator */, - { 6, 1362, 2920, 24, 10, UNI_CCC__AR } /* canonicalcombiningclass=aboveright */, - { 8, 6828, 3243, 10, 10, UNI_BC__WS } /* bidiclass=whitespace */, - { 1, 6828, 6255, 10, 12, UNI_BC__ON } /* bidiclass=otherneutral */, - { 33, 4778, 8318, 3, 6, UNI_UCASEXT } /* isucasext */, - { 2, 9623, 2561, 3, 9, UNI_JG__YEHBARREE } /* jg=yehbarree */, - { 0, 9365, 4267, 4, 5, UNI_BAMU } /* scx=bamum */, - { 26, 8424, 7338, 6, 9, UNI_INOLDPERMIC } /* block=oldpermic */, - { 0, 1911, 7028, 22, 10, UNI_INSC__PUREKILLER } /* indicsyllabiccategory=purekiller */, - { 0, 184, 3110, 2, 8, UNI_GEOR } /* isgeorgian */, - { 18, 3868, 9767, 16, 2, UNI_CASEDLETTER } /* generalcategory=l& */, - { 10, 2211, 0, 7, 0, UNI_SINH } /* sinhala */, - { 0, 3868, 5353, 16, 14, UNI_ZS } /* generalcategory=spaceseparator */, - { 2, 9093, 2836, 4, 9, UNI_INSUNDANESE } /* blk=sundanese */, - { 0, 8233, 8065, 7, 7, UNI_ELBA } /* script=elbasan */, - { 3, 8886, 8072, 3, 4, UNI_ELYM } /* sc=elym */, - { 0, 9623, 9381, 3, 4, UNI_JG__SHIN } /* jg=shin */, - { 1, 9049, 0, 4, 0, UNI_age_values_index } /* age= */, - { 3, 8869, 36, 5, 1, UNI_IDSB } /* idsb=t */, - { 2, 8879, 3344, 5, 18, UNI_INPC__TOPANDLEFTANDRIGHT } /* inpc=topandleftandright */, - { 6, 3951, 59, 3, 3, UNI_IDEO } /* isideo */, - { 0, 184, 8845, 3, 3, UNI_CWCF } /* iscwcf */, - { 0, 3671, 9409, 17, 4, UNI_TAML } /* scriptextensions=taml */, - { 0, 9093, 3450, 4, 17, UNI_UCAS } /* blk=canadiansyllabics */, - { 1, 8233, 8142, 7, 4, UNI_MARC } /* script=marc */, - { 1, 5565, 5087, 13, 14, UNI_JG__MANICHAEANBETH } /* joininggroup=manichaeanbeth */, - { 0, 6371, 8864, 11, 5, -UNI_DEP } /* deprecated=false */, - { 17, 9593, 9632, 3, 3, UNI_BC__LRE } /* bc=lre */, - { 26, 1757, 0, 21, 0, UNI_CWL } /* changeswhenlowercased */, - { 0, 1773, 1, 6, 1, -UNI_CASED } /* cased=n */, - { 48, 8424, 3290, 6, 18, UNI_RUMI } /* block=ruminumeralsymbols */, - { 0, 3868, 45, 16, 2, UNI_CO } /* generalcategory=co */, - { 3, 7804, 0, 4, 0, UNI_BUGI } /* bugi */, - { 0, 9731, 138, 3, 2, UNI_WB__FO } /* wb=fo */, - { 0, 9647, 9560, 3, 3, UNI_NV__4_SLASH_5 } /* nv=4/5 */, - { 3, 4204, 0, 9, 0, UNI_SYRIACSUP } /* syriacsup */, - { 139, 8886, 5311, 3, 14, UNI_SC__PHLP } /* sc=psalterpahlavi */, - { 36, 9365, 9409, 4, 4, UNI_TAML } /* scx=taml */, - { 3, 9049, 9449, 4, 4, UNI_AGE__12_DOT_1 } /* age=v121 */, - { 9, 8332, 80, 4, 8, UNI_ARABICMATH } /* isarabicmath */, - { 1, 8955, 0, 4, 0, UNI_idc_values_index } /* idc= */, - { 1, 6267, 0, 8, 0, UNI_PHAISTOS } /* phaistos */, - { 0, 1773, 8864, 6, 5, -UNI_CASED } /* cased=false */, - { 0, 8886, 6558, 3, 11, UNI_MEDF } /* sc=medefaidrin */, - { 1, 8496, 9734, 6, 3, UNI_CWKCF } /* cwkcf=yes */, - { 24, 7128, 4645, 10, 2, UNI_WB__DQ } /* wordbreak=dq */, - { 0, 8424, 7058, 6, 10, UNI_SMALLFORMS } /* block=smallforms */, - { 12, 1482, 2473, 24, 3, UNI_INPC__TOP } /* indicpositionalcategory=top */, - { 0, 9647, 5409, 3, 9, UNI_NV__100000000 } /* nv=100000000 */, - { 2, 6885, 3933, 3, 15, UNI_HIGHPUSURROGATES } /* ishighpusurrogates */, - { 3, 3671, 9493, 17, 4, UNI_ZZZZ } /* scriptextensions=zzzz */, - { 3, 8556, 1, 6, 1, -UNI_XPOSIXLOWER } /* lower=n */, - { 0, 8100, 995, 7, 2, -UNI_HYPHEN } /* hyphen=no */, - { 0, 2204, 6625, 3, 10, UNI_NO } /* isothernumber */, - { 0, 2204, 7340, 4, 7, UNI_PERM } /* isoldpermic */, - { 6, 184, 6039, 2, 12, UNI_NL } /* isletternumber */, - { 31, 5339, 8694, 14, 5, UNI_SB__AT } /* sentencebreak=aterm */, - { 0, 6828, 2433, 10, 20, UNI_BC__RLE } /* bidiclass=righttoleftembedding */, - { 0, 3243, 9433, 11, 4, UNI_XPOSIXSPACE } /* whitespace=true */, - { 16, 6918, 1767, 10, 2, UNI_LB__NL } /* linebreak=nl */, - { 10, 117, 3588, 4, 15, UNI_INDICSIYAQNUMBERS } /* inindicsiyaqnumbers */, - { 1, 1362, 8909, 24, 5, UNI_CCC__7 } /* canonicalcombiningclass=nukta */, - { 21, 8424, 1824, 7, 18, UNI_CJKCOMPATIDEOGRAPHS } /* block=cjkcompatideographs */, - { 0, 9049, 9548, 4, 3, UNI_AGE__3 } /* age=3.0 */, - { 2, 8496, 9433, 6, 4, UNI_CWKCF } /* cwkcf=true */, - { 0, 9093, 7956, 4, 8, UNI_INTAGBANWA } /* blk=tagbanwa */, - { 28, 1812, 0, 5, 0, UNI_XPOSIXUPPER } /* upper */, - { 1, 2204, 4674, 4, 13, UNI_SARB } /* isoldsoutharabian */, - { 16, 8233, 8610, 7, 6, UNI_RJNG } /* script=rejang */, - { 0, 8424, 6859, 7, 9, UNI_CJKSTROKES } /* block=cjkstrokes */, - { 35, 4580, 0, 17, 0, UNI_INMEROITICCURSIVE } /* inmeroiticcursive */, - { 5, 9593, 102, 3, 2, UNI_BC__ET } /* bc=et */, - { 0, 7420, 3, 8, 1, -UNI_IDS } /* idstart=f */, - { 1, 8884, 4702, 5, 15, UNI_INSC__REGISTERSHIFTER } /* insc=registershifter */, - { 0, 9647, 9572, 3, 3, UNI_NV__5_SLASH_8 } /* nv=5/8 */, - { 65, 8886, 8484, 3, 6, UNI_SC__CAKM } /* sc=chakma */, - { 0, 7018, 9704, 10, 3, UNI_IN__6 } /* presentin=v60 */, - { 7, 8424, 2086, 7, 17, UNI_CYRILLICSUP } /* block=cyrillicsupplement */, - { 1, 6371, 0, 11, 0, UNI_dep_values_index } /* deprecated= */, - { 1, 9365, 9301, 4, 4, UNI_ORKH } /* scx=orkh */, - { 5, 1530, 0, 23, 0, UNI_BYZANTINEMUSIC } /* byzantinemusicalsymbols */, - { 0, 9946, 9394, 3, 3, UNI_SYRC } /* issyrc */, - { 0, 9647, 8388, 3, 3, UNI_NV__700 } /* nv=700 */, - { 5, 184, 4267, 2, 15, UNI_BAMUMSUP } /* isbamumsupplement */, - { 4, 9113, 8740, 5, 4, UNI_CCC__19 } /* ccc=ccc19 */, - { 3, 3736, 7846, 4, 6, UNI_INGUJARATI } /* ingujarati */, - { 0, 9901, 5492, 8, 5, UNI_XPOSIXALNUM } /* isxposixalnum */, - { 0, 9647, 7539, 3, 2, UNI_NV__22 } /* nv=22 */, - { 0, 184, 2484, 2, 4, UNI_MAND } /* ismand */, - { 0, 3002, 8490, 18, 6, UNI_DT__ENC } /* decompositiontype=circle */, - { 0, 5565, 6120, 13, 3, UNI_JG__NYA } /* joininggroup=nya */, - { 2, 9365, 8709, 4, 5, UNI_BUHD } /* scx=buhid */, - { 1, 9113, 8815, 5, 4, UNI_CCC__34 } /* ccc=ccc34 */, - { 2, 8424, 2211, 6, 21, UNI_SINHALAARCHAICNUMBERS } /* block=sinhalaarchaicnumbers */, - { 1, 8886, 4582, 3, 15, UNI_MERC } /* sc=meroiticcursive */, - { 4, 184, 921, 2, 28, UNI_VSSUP } /* isvariationselectorssupplement */, - { 26, 1362, 8805, 25, 4, UNI_CCC__32 } /* canonicalcombiningclass=ccc32 */, - { 4, 184, 6690, 2, 11, UNI_SORA } /* issorasompeng */, - { 18, 8520, 8864, 6, 5, -UNI_JOINC } /* joinc=false */, - { 0, 7018, 8993, 10, 4, UNI_IN__10 } /* presentin=10.0 */, - { 1, 8886, 7365, 3, 9, UNI_PAUC } /* sc=paucinhau */, - { 40, 6768, 6768, 3, 10, UNI_YISYLLABLES } /* isyisyllables */, - { 0, 6315, 1, 12, 1, -UNI_XIDC } /* xidcontinue=n */, - { 37, 1158, 3327, 3, 17, UNI_TAIXUANJING } /* intaixuanjingsymbols */, - { 34, 184, 8568, 2, 6, UNI_LYDI } /* islydian */, - { 1, 9629, 58, 3, 2, UNI_LB__ID } /* lb=id */, - { 13, 57, 0, 2, 0, UNI_YI } /* yi */, - { 1, 8849, 26, 5, 1, UNI_CWCM } /* cwcm=y */, - { 3, 9647, 7580, 3, 8, UNI_NV__7_SLASH_2 } /* nv=3.50e+00 */, - { 1, 184, 5860, 3, 11, UNI_CHESSSYMBOLS } /* ischesssymbols */, - { 0, 8424, 2957, 6, 9, UNI_HALFMARKS } /* block=halfmarks */, - { 1, 1362, 8467, 25, 4, UNI_CCC__13 } /* canonicalcombiningclass=ccc13 */, - { 5, 8884, 4919, 5, 14, UNI_INSC__GEMINATIONMARK } /* insc=geminationmark */, - { 178, 1450, 3662, 4, 5, UNI_INGRANTHA } /* ingrantha */, - { 1, 8233, 7852, 7, 8, UNI_SC__GURU } /* script=gurmukhi */, - { 0, 8163, 9734, 7, 3, UNI_NFKCQC__Y } /* nfkcqc=yes */, - { 3, 8233, 3729, 8, 10, UNI_SGNW } /* script=signwriting */, - { 2, 8886, 8502, 3, 6, UNI_GOTH } /* sc=gothic */, - { 0, 1239, 0, 25, 0, UNI_compex_values_index } /* fullcompositionexclusion= */, - { 0, 184, 1141, 2, 2, UNI_TITLE } /* islt */, - { 17, 3951, 3129, 3, 3, UNI_IDSB } /* isidsb */, - { 16, 8635, 1, 5, 1, -UNI_IDEO } /* ideo=n */, - { 0, 4447, 8, 15, 1, UNI_EA__A } /* eastasianwidth=a */, - { 1, 9230, 5450, 4, 11, UNI_BLOCKELEMENTS } /* inblockelements */, - { 0, 8338, 0, 7, 0, UNI_wspace_values_index } /* wspace= */, - { 21, 1911, 4140, 22, 5, UNI_INSC__OTHER } /* indicsyllabiccategory=other */, - { 1, 1362, 8830, 25, 4, UNI_CCC__84 } /* canonicalcombiningclass=ccc84 */, - { 82, 8886, 8944, 3, 4, UNI_SC__TAKR } /* sc=takr */, - { 8, 9659, 9433, 3, 4, UNI_RI } /* ri=true */, - { 0, 8886, 4204, 3, 6, UNI_SC__SYRC } /* sc=syriac */, - { 4, 1539, 0, 14, 0, UNI_MUSIC } /* musicalsymbols */, - { 1, 8844, 995, 5, 2, -UNI_CWCF } /* cwcf=no */, - { 0, 978, 0, 2, 0, UNI_CI } /* ci */, - { 2, 6918, 23, 10, 2, UNI_LB__AL } /* linebreak=al */, - { 0, 8949, 0, 5, 0, UNI_VSSUP } /* vssup */, - { 0, 3671, 3620, 17, 10, UNI_MANI } /* scriptextensions=manichaean */, - { 4, 9113, 726, 4, 2, UNI_CCC__DA } /* ccc=da */, - { 0, 921, 0, 17, 0, UNI_VS } /* variationselector */, - { 2, 9365, 6027, 4, 5, UNI_KHMR } /* scx=khmer */, - { 1, 9647, 5409, 3, 13, UNI_NV__1000000000000 } /* nv=1000000000000 */, - { 1, 8233, 9257, 7, 4, UNI_SC__MLYM } /* script=mlym */, - { 0, 9113, 9515, 4, 3, UNI_CCC__214 } /* ccc=214 */, - { 9, 184, 7796, 2, 8, UNI_BASS } /* isbassavah */, - { 0, 8233, 7049, 8, 3, UNI_SAUR } /* script=saur */, - { 3, 0, 0, 34, 0, UNI_UCAS } /* unifiedcanadianaboriginalsyllabics */, - { 0, 9620, 1187, 3, 2, UNI_SK } /* gc=sk */, - { 1, 7018, 7612, 10, 3, UNI_IN__4_DOT_1 } /* presentin=4.1 */, - { 0, 184, 4829, 2, 5, UNI_XPOSIXDIGIT } /* isdigit */, - { 32, 8233, 4220, 7, 6, UNI_TANG } /* script=tangut */, - { 13, 9093, 42, 4, 36, UNI_CJKCOMPATIDEOGRAPHSSUP } /* blk=cjkcompatibilityideographssupplement */, - { 1, 184, 6051, 2, 12, UNI_MAHJONG } /* ismahjongtiles */, - { 77, 8424, 5552, 6, 13, UNI_IPAEXT } /* block=ipaextensions */, - { 0, 6928, 26, 10, 1, UNI_XPOSIXLOWER } /* lowercase=y */, - { 0, 7108, 26, 10, 1, UNI_XPOSIXUPPER } /* uppercase=y */, - { 32, 1779, 26, 22, 1, UNI_CWT } /* changeswhentitlecased=y */, - { 0, 184, 837, 2, 18, UNI_PHONETICEXT } /* isphoneticextensions */, - { 2, 5565, 7828, 13, 8, UNI_JG__FARSIYEH } /* joininggroup=farsiyeh */, - { 32, 184, 8135, 2, 7, UNI_MAND } /* ismandaic */, - { 98, 5760, 8985, 13, 4, UNI_NV__1_SLASH_64 } /* numericvalue=1/64 */, - { 83, 8424, 9425, 6, 4, UNI_INTHAI } /* block=thai */, - { 1, 8424, 9650, 6, 3, UNI_OCR } /* block=ocr */, - { 0, 9049, 9683, 4, 3, UNI_AGE__3_DOT_1 } /* age=v31 */, - { 6, 1482, 1869, 4, 10, UNI_DIACRITICALS } /* indiacriticals */, - { 16, 9365, 7356, 4, 4, UNI_PALM } /* scx=palm */, - { 142, 9141, 3, 4, 1, -UNI_DIA } /* dia=f */, - { 0, 3868, 4747, 16, 15, UNI_UPPERCASELETTER } /* generalcategory=uppercaseletter */, - { 4, 1911, 6225, 22, 6, UNI_LB__ZWJ } /* indicsyllabiccategory=joiner */, - { 0, 184, 3020, 2, 13, UNI_DEVANAGARIEXT } /* isdevanagariext */, - { 19, 8430, 0, 6, 0, UNI_CARI } /* carian */, - { 0, 9365, 8002, 4, 7, UNI_BENG } /* scx=bengali */, - { 9, 9093, 2232, 4, 21, UNI_YIJING } /* blk=yijinghexagramsymbols */, - { 92, 9647, 9033, 3, 3, UNI_NV__3_SLASH_8 } /* nv=3/8 */, - { 0, 9647, 8382, 3, 5, UNI_NV__60000 } /* nv=60000 */, - { 0, 6885, 8, 3, 2, UNI_HAN } /* ishan */, - { 0, 8879, 0, 5, 0, UNI_inpc_values_index } /* inpc= */, - { 0, 5565, 4044, 13, 16, UNI_JG__MANICHAEANSAMEKH } /* joininggroup=manichaeansamekh */, - { 4, 8580, 3, 6, 1, -UNI__PERL_NCHAR } /* nchar=f */, - { 8, 8424, 4417, 6, 15, UNI_DIACRITICALSEXT } /* block=diacriticalsext */, - { 0, 2106, 9611, 21, 3, UNI_WB__EB } /* graphemeclusterbreak=ebg */, - { 6, 7128, 7284, 10, 9, UNI_WB__ML } /* wordbreak=midletter */, - { 2, 184, 3243, 2, 10, UNI_XPOSIXSPACE } /* iswhitespace */, - { 1, 8086, 36, 7, 1, UNI_GRBASE } /* grbase=t */, - { 1, 3671, 9485, 17, 4, UNI_QAAI } /* scriptextensions=zinh */, - { 0, 1362, 2373, 24, 4, UNI_CCC__L } /* canonicalcombiningclass=left */, - { 0, 8424, 1411, 7, 23, UNI_DIACRITICALSFORSYMBOLS } /* block=combiningmarksforsymbols */, - { 0, 6472, 3716, 4, 4, UNI_INCARIAN } /* incarian */, - { 4, 184, 719, 2, 21, UNI_ENCLOSEDALPHANUM } /* isenclosedalphanumerics */, - { 3, 2204, 6245, 4, 10, UNI_HUNG } /* isoldhungarian */, - { 0, 8869, 26, 5, 1, UNI_IDSB } /* idsb=y */, - { 1, 6885, 2958, 3, 8, UNI_HALFMARKS } /* ishalfmarks */, - { 36, 6918, 96, 10, 10, UNI_LB__AL } /* linebreak=alphabetic */, - { 64, 7852, 0, 8, 0, UNI_GURU } /* gurmukhi */, - { 0, 6816, 4268, 3, 4, UNI_INBAMUM } /* inbamum */, - { 29, 8839, 0, 5, 0, UNI_XPOSIXCNTRL } /* cntrl */, - { 0, 8424, 5552, 6, 6, UNI_IPAEXT } /* block=ipaext */, - { 0, 9629, 7909, 4, 7, UNI_LB__LF } /* lb=linefeed */, - { 0, 9093, 7204, 5, 8, UNI_INBHAIKSUKI } /* blk=bhaiksuki */, - { 0, 184, 4267, 2, 5, UNI_BAMU } /* isbamum */, - { 2, 2684, 6503, 19, 11, UNI_GCB__L } /* hangulsyllabletype=leadingjamo */, - { 0, 9620, 4402, 3, 15, UNI_PD } /* gc=dashpunctuation */, - { 11, 74, 0, 2, 0, UNI_ME } /* me */, - { 3, 9623, 5101, 3, 14, UNI_JG__MANICHAEANFIVE } /* jg=manichaeanfive */, - { 1, 8886, 9289, 3, 4, UNI_NSHU } /* sc=nshu */, - { 1, 2204, 8930, 3, 4, UNI_OSGE } /* isosage */, - { 16, 3868, 6039, 16, 12, UNI_NL } /* generalcategory=letternumber */, - { 20, 3671, 9349, 17, 4, UNI_ROHG } /* scriptextensions=rohg */, - { 2, 184, 114, 3, 34, UNI_DIACRITICALSFORSYMBOLS } /* iscombiningdiacriticalmarksforsymbols */, - { 1, 184, 9257, 2, 4, UNI_MLYM } /* ismlym */, - { 0, 9623, 5617, 3, 13, UNI_JG__MALAYALAMLLLA } /* jg=malayalamllla */, - { 3, 9620, 1472, 3, 9, UNI__PERL_SURROGATE } /* gc=surrogate */, - { 64, 1497, 1, 9, 1, UNI_N } /* category=n */, - { 0, 8424, 4267, 6, 8, UNI_BAMUMSUP } /* block=bamumsup */, - { 28, 2148, 2212, 3, 6, UNI_INSINHALA } /* insinhala */, - { 2, 2333, 0, 4, 0, UNI_GLAG } /* glag */, - { 3, 5339, 5, 15, 1, UNI_SB__SE } /* sentencebreak=se */, - { 1, 8959, 995, 5, 2, -UNI_XIDS } /* xids=no */, - { 0, 8960, 0, 4, 0, UNI_ids_values_index } /* ids= */, - { 1, 9093, 2169, 4, 21, UNI_MEETEIMAYEKEXT } /* blk=meeteimayekextensions */, - { 1, 122, 0, 9, 0, UNI_DIA } /* diacritic */, - { 0, 8520, 0, 6, 0, UNI_joinc_values_index } /* joinc= */, - { 1, 1362, 2912, 24, 13, UNI_CCC__214 } /* canonicalcombiningclass=attachedabove */, - { 4, 2148, 3309, 3, 11, UNI_SMALLKANAEXT } /* insmallkanaext */, - { 2, 1362, 7611, 24, 2, UNI_CCC__14 } /* canonicalcombiningclass=14 */, - { 3, 9365, 9390, 5, 3, UNI_SOGO } /* scx=sogo */, - { 0, 7860, 0, 8, 0, UNI_HIRA } /* hiragana */, - { 86, 8884, 4236, 5, 16, UNI_INSC__VOWELINDEPENDENT } /* insc=vowelindependent */, - { 0, 8233, 6051, 7, 4, UNI_SC__MAHJ } /* script=mahj */, - { 16, 8233, 3038, 7, 4, UNI_ETHI } /* script=ethi */, - { 1, 5835, 1, 12, 1, -UNI_BIDIC } /* bidicontrol=n */, - { 2, 6828, 3056, 10, 18, UNI_BC__ET } /* bidiclass=europeanterminator */, - { 20, 9093, 8303, 4, 7, UNI_INTIBETAN } /* blk=tibetan */, - { 1, 8233, 8250, 10, 4, UNI_SHAW } /* script=shavian */, - { 1, 6003, 36, 12, 1, UNI_JOINC } /* joincontrol=t */, - { 1, 9093, 4762, 4, 15, UNI_VEDICEXT } /* blk=vedicextensions */, - { 0, 4241, 3022, 4, 11, UNI_DEVANAGARIEXT } /* indevanagariext */, - { 0, 6005, 1387, 3, 23, UNI_CJKSYMBOLS } /* incjksymbolsandpunctuation */, - { 1, 8884, 4891, 5, 14, UNI_INSC__CONSONANTFINAL } /* insc=consonantfinal */, - { 12, 9093, 3518, 4, 17, UNI_CYRILLICEXTB } /* blk=cyrillicextendedb */, - { 2, 4447, 7176, 15, 9, UNI_EA__A } /* eastasianwidth=ambiguous */, - { 0, 3671, 8622, 17, 4, UNI_TELU } /* scriptextensions=telu */, - { 48, 9049, 7435, 4, 2, UNI_AGE__11 } /* age=11 */, - { 0, 6492, 0, 11, 0, UNI_KATAKANAEXT } /* katakanaext */, - { 5, 1536, 8073, 3, 6, UNI_INELYMAIC } /* inelymaic */, - { 0, 8205, 0, 4, 0, UNI_OSMA } /* osma */, - { 2, 9365, 7860, 4, 4, UNI_HIRA } /* scx=hira */, - { 0, 1362, 7540, 24, 3, UNI_WB__EB } /* canonicalcombiningclass=200 */, - { 14, 184, 8128, 2, 4, UNI_MAKA } /* ismaka */, - { 2, 8886, 6183, 3, 12, UNI_MEND } /* sc=mendekikakui */, - { 3, 9093, 7916, 4, 8, UNI_INMAHAJANI } /* blk=mahajani */, - { 8, 8233, 2532, 7, 4, UNI_BRAH } /* script=brah */, - { 0, 1497, 400, 9, 6, UNI_CF } /* category=format */, - { 0, 9093, 7347, 4, 9, UNI_INOLDTURKIC } /* blk=oldturkic */, - { 7, 9629, 6448, 3, 11, UNI_LB__IN } /* lb=inseparable */, - { 2, 3868, 4387, 16, 14, UNI_SC } /* generalcategory=currencysymbol */, - { 0, 9620, 698, 3, 6, UNI_N } /* gc=number */, - { 3, 8424, 2127, 6, 14, UNI_INHANIFIROHINGYA } /* block=hanifirohingya */, - { 20, 9113, 8810, 5, 4, UNI_CCC__33 } /* ccc=ccc33 */, - { 0, 5760, 8669, 13, 4, UNI_NV__1_SLASH_32 } /* numericvalue=1/32 */, - { 14, 5835, 0, 12, 0, UNI_bidic_values_index } /* bidicontrol= */, - { 1, 9137, 1, 4, 1, -UNI_DEP } /* dep=n */, - { 3, 21, 1622, 2, 9, UNI_LATINEXTE } /* inlatinexte */, - { 28, 9113, 8473, 5, 5, UNI_CCC__132 } /* ccc=ccc132 */, - { 0, 3002, 567, 18, 2, UNI_DT__NB } /* decompositiontype=nb */, - { 0, 1362, 8475, 24, 3, UNI_CCC__132 } /* canonicalcombiningclass=132 */, - { 0, 8580, 17, 7, 1, -UNI__PERL_NCHAR } /* nchar=no */, - { 5, 9593, 2722, 3, 19, UNI_BC__LRO } /* bc=lefttorightoverride */, - { 0, 2760, 0, 19, 0, UNI_MODIFIERTONELETTERS } /* modifiertoneletters */, - { 1, 8424, 6798, 6, 10, UNI_ARABICEXTA } /* block=arabicexta */, - { 0, 8233, 7239, 7, 9, UNI_SC__QAAI } /* script=inherited */, - { 3, 9365, 78, 4, 6, UNI_ARAB } /* scx=arabic */, - { 0, 8233, 9394, 8, 3, UNI_SC__SYRC } /* script=syrc */, - { 0, 8886, 8261, 3, 4, UNI_SOYO } /* sc=soyo */, - { 76, 9093, 1506, 4, 24, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* blk=supsymbolsandpictographs */, - { 0, 8959, 36, 5, 1, UNI_XIDS } /* xids=t */, - { 16, 1801, 995, 22, 2, -UNI_CWU } /* changeswhenuppercased=no */, - { 3, 4705, 2456, 5, 16, UNI_TERM } /* isterminalpunctuation */, - { 0, 9093, 2957, 4, 9, UNI_HALFMARKS } /* blk=halfmarks */, - { 1, 1911, 698, 22, 6, UNI_INSC__NUMBER } /* indicsyllabiccategory=number */, - { 5, 9205, 0, 4, 0, UNI_KNDA } /* knda */, - { 1, 3671, 8709, 17, 5, UNI_BUHD } /* scriptextensions=buhid */, - { 0, 9901, 6316, 3, 10, UNI_XIDC } /* isxidcontinue */, - { 4, 8233, 8262, 8, 3, UNI_SOYO } /* script=soyo */, - { 156, 9623, 3620, 3, 17, UNI_JG__MANICHAEANDHAMEDH } /* jg=manichaeandhamedh */, - { 2, 4580, 4109, 3, 6, UNI_INMYANMAR } /* inmyanmar */, - { 1, 4849, 3, 14, 1, -UNI_CI } /* caseignorable=f */, - { 1, 8886, 4946, 3, 4, UNI_CHAM } /* sc=cham */, - { 2, 7018, 7159, 10, 1, UNI_IN__5 } /* presentin=5 */, - { 31, 184, 1999, 2, 22, UNI_MODIFIERLETTERS } /* isspacingmodifierletters */, - { 0, 5565, 4552, 13, 15, UNI_JG__MANICHAEANSADHE } /* joininggroup=manichaeansadhe */, - { 5, 9365, 8142, 4, 7, UNI_MARC } /* scx=marchen */, - { 9, 8332, 2238, 3, 3, UNI_POSIXXDIGIT } /* isahex */, - { 258, 9946, 3984, 3, 3, UNI_SARB } /* issarb */, - { 4, 7365, 0, 4, 0, UNI_PAUC } /* pauc */, - { 1, 9093, 2006, 4, 15, UNI_MODIFIERLETTERS } /* blk=modifierletters */, - { 0, 1362, 7502, 24, 1, UNI_CCC__8 } /* canonicalcombiningclass=8 */, - { 0, 2106, 4140, 21, 5, UNI_GCB__XX } /* graphemeclusterbreak=other */, - { 0, 8635, 0, 5, 0, UNI_ideo_values_index } /* ideo= */, - { 2, 184, 1714, 3, 20, UNI_CWCF } /* ischangeswhencasefolded */, - { 26, 3820, 0, 16, 0, UNI_PE } /* closepunctuation */, - { 4, 184, 7892, 2, 8, UNI_JAVA } /* isjavanese */, - { 0, 3671, 2127, 17, 4, UNI_HAN } /* scriptextensions=hani */, - { 0, 6231, 5678, 12, 4, UNI_NV__NAN } /* numerictype=none */, - { 7, 9093, 2333, 4, 20, UNI_GLAGOLITICSUP } /* blk=glagoliticsupplement */, - { 1, 9113, 9077, 4, 4, UNI_WB__EB } /* ccc=atbl */, - { 1, 8424, 4175, 6, 13, UNI_MATHOPERATORS } /* block=mathoperators */, - { 33, 1911, 4327, 22, 15, UNI_INSC__CONSONANTKILLER } /* indicsyllabiccategory=consonantkiller */, - { 0, 6918, 6349, 10, 11, UNI_LB__BB } /* linebreak=breakbefore */, - { 1, 9093, 4582, 4, 15, UNI_INMEROITICCURSIVE } /* blk=meroiticcursive */, - { 10, 1801, 8864, 22, 5, -UNI_CWU } /* changeswhenuppercased=false */, - { 1, 2627, 0, 19, 0, UNI_ENCLOSEDALPHANUMSUP } /* enclosedalphanumsup */, - { 1, 8886, 2253, 3, 20, UNI_HLUW } /* sc=anatolianhieroglyphs */, - { 3, 2457, 952, 5, 24, UNI_ALPHABETICPF } /* inalphabeticpresentationforms */, - { 9, 8894, 0, 4, 0, UNI_LIMB } /* limb */, - { 6, 4580, 1540, 3, 13, UNI_MUSIC } /* inmusicalsymbols */, - { 7, 3671, 9173, 17, 4, UNI_GURU } /* scriptextensions=guru */, - { 1, 8879, 5312, 3, 13, UNI_INPSALTERPAHLAVI } /* inpsalterpahlavi */, - { 3, 9647, 7502, 3, 1, UNI_NV__8 } /* nv=8 */, - { 1, 9623, 6785, 3, 2, UNI_JG__FE } /* jg=fe */, - { 1, 9647, 8364, 3, 2, UNI_NV__40 } /* nv=40 */, - { 1, 184, 6003, 2, 11, UNI_JOINC } /* isjoincontrol */, - { 0, 9647, 7604, 3, 8, UNI_NV__2_SLASH_5 } /* nv=4.00e-01 */, - { 1, 8412, 36, 6, 1, UNI_BIDIC } /* bidic=t */, - { 1, 9049, 9686, 4, 3, UNI_AGE__3_DOT_2 } /* age=v32 */, - { 0, 9365, 9489, 4, 4, UNI_ZYYY } /* scx=zyyy */, - { 2, 5760, 7540, 13, 8, UNI_NV__20000000 } /* numericvalue=20000000 */, - { 0, 3868, 5258, 16, 11, UNI_MC } /* generalcategory=spacingmark */, - { 0, 5269, 8864, 14, 5, -UNI_PATSYN } /* patternsyntax=false */, - { 1, 3620, 0, 10, 0, UNI_MANI } /* manichaean */, - { 2, 8886, 8310, 3, 7, UNI_SC__TIRH } /* sc=tirhuta */, - { 0, 2708, 833, 4, 4, UNI_ARROWS } /* inarrows */, - { 0, 1482, 2379, 24, 5, UNI_INPC__RIGHT } /* indicpositionalcategory=right */, - { 0, 5193, 0, 3, 0, UNI_ANY } /* any */, - { 3, 9909, 879, 3, 9, UNI_CO } /* isprivateuse */, - { 3, 1924, 1015, 10, 5, UNI_L } /* category=letter */, - { 0, 9113, 7723, 4, 2, UNI_CCC__18 } /* ccc=18 */, - { 0, 184, 1622, 2, 9, UNI_LATINEXTE } /* islatinexte */, - { 21, 9365, 8538, 4, 6, UNI_KHOJ } /* scx=khojki */, - { 0, 8424, 2169, 6, 14, UNI_MEETEIMAYEKEXT } /* block=meeteimayekext */, - { 1, 184, 9777, 2, 2, UNI_ZP } /* iszp */, - { 3, 3293, 8318, 3, 6, UNI_UCASEXT } /* inucasext */, - { 4, 2204, 6614, 3, 10, UNI_LO } /* isotherletter */, - { 3, 9093, 1386, 4, 10, UNI_CJKSYMBOLS } /* blk=cjksymbols */, - { 0, 8886, 6723, 3, 4, UNI_SC__SYLO } /* sc=sylo */, - { 2, 5760, 7684, 13, 8, UNI_NV__1_SLASH_160 } /* numericvalue=6.25e-03 */, - { 0, 9093, 6027, 4, 12, UNI_KHMERSYMBOLS } /* blk=khmersymbols */, - { 1, 5760, 8664, 13, 5, UNI_NV__1_SLASH_160 } /* numericvalue=1/160 */, - { 5, 9620, 467, 3, 11, UNI_P } /* gc=punctuation */, - { 4, 9647, 1219, 3, 3, UNI_NV__NAN } /* nv=nan */, - { 12, 5955, 0, 12, 0, UNI_GONG } /* gunjalagondi */, - { 3, 6888, 995, 10, 2, -UNI_DIA } /* diacritic=no */, - { 0, 184, 6027, 2, 12, UNI_KHMERSYMBOLS } /* iskhmersymbols */, - { 47, 9629, 5943, 3, 4, UNI_LB__GL } /* lb=glue */, - { 0, 8051, 9734, 7, 3, UNI_COMPEX } /* compex=yes */, - { 1, 8604, 8864, 6, 5, -UNI_QMARK } /* qmark=false */, - { 3, 184, 122, 2, 9, UNI_DIA } /* isdiacritic */, - { 2, 7148, 0, 10, 0, UNI_YIRADICALS } /* yiradicals */, - { 5, 1158, 2221, 3, 3, UNI_INTHAI } /* inthai */, - { 4, 6918, 5991, 10, 12, UNI_LB__IS } /* linebreak=infixnumeric */, - { 80, 9093, 478, 4, 31, UNI_MATHALPHANUM } /* blk=mathematicalalphanumericsymbols */, - { 4, 6918, 6448, 10, 11, UNI_LB__IN } /* linebreak=inseparable */, - { 0, 3248, 9433, 6, 4, UNI_XPOSIXSPACE } /* space=true */, - { 0, 8424, 3038, 6, 18, UNI_ETHIOPICSUP } /* block=ethiopicsupplement */, - { 0, 9365, 8289, 4, 7, UNI_LANA } /* scx=taitham */, - { 1, 6918, 5059, 10, 14, UNI_LB__BK } /* linebreak=mandatorybreak */, - { 7, 9623, 5087, 3, 14, UNI_JG__MANICHAEANBETH } /* jg=manichaeanbeth */, - { 0, 2106, 6525, 21, 3, UNI_LB__H3 } /* graphemeclusterbreak=lvt */, - { 11, 9093, 4432, 4, 15, UNI_DIACRITICALSSUP } /* blk=diacriticalssup */, - { 129, 1497, 7, 9, 1, UNI_C } /* category=c */, - { 0, 2453, 0, 4, 0, UNI_TERM } /* term */, - { 0, 8556, 9734, 6, 3, UNI_XPOSIXLOWER } /* lower=yes */, - { 5, 9365, 8622, 4, 6, UNI_TELU } /* scx=telugu */, - { 0, 27, 0, 2, 0, UNI_LOWERCASELETTER } /* ll */, - { 0, 8871, 72, 3, 2, UNI_SB__LE } /* sb=le */, - { 0, 21, 3980, 2, 16, UNI_LINEARBIDEOGRAMS } /* inlinearbideograms */, - { 144, 8233, 8538, 7, 4, UNI_SC__KHOJ } /* script=khoj */, - { 37, 9365, 7302, 4, 9, UNI_NBAT } /* scx=nabataean */, - { 5, 8233, 6558, 7, 11, UNI_MEDF } /* script=medefaidrin */, - { 72, 4175, 0, 13, 0, UNI_MATHOPERATORS } /* mathoperators */, - { 6, 8874, 9734, 5, 3, UNI_IDST } /* idst=yes */, - { 0, 6918, 25, 10, 2, UNI_LB__SY } /* linebreak=sy */, - { 0, 8484, 0, 6, 0, UNI_CAKM } /* chakma */, - { 0, 8233, 9469, 7, 4, UNI_XSUX } /* script=xsux */, - { 1, 8412, 9433, 6, 4, UNI_BIDIC } /* bidic=true */, - { 4, 8886, 2836, 3, 9, UNI_SUND } /* sc=sundanese */, - { 243, 8886, 9293, 3, 4, UNI_OGAM } /* sc=ogam */, - { 0, 2085, 0, 11, 0, UNI_CYRILLICSUP } /* cyrillicsup */, - { 26, 8886, 3772, 3, 8, UNI_SC__BOPO } /* sc=bopomofo */, - { 1, 1801, 26, 22, 1, UNI_CWU } /* changeswhenuppercased=y */, - { 5, 1362, 7558, 24, 2, UNI_CCC__13 } /* canonicalcombiningclass=13 */, - { 0, 3671, 1622, 17, 5, UNI_LATN } /* scriptextensions=latin */, - { 1, 21, 3964, 2, 9, UNI_LATIN1 } /* inlatin1sup */, - { 4, 3736, 5958, 5, 9, UNI_INGUNJALAGONDI } /* ingunjalagondi */, - { 0, 2204, 125, 3, 2, UNI_OCR } /* isocr */, - { 104, 1757, 26, 22, 1, UNI_CWL } /* changeswhenlowercased=y */, - { 1, 184, 8072, 2, 7, UNI_ELYM } /* iselymaic */, - { 17, 1999, 0, 22, 0, UNI_MODIFIERLETTERS } /* spacingmodifierletters */, - { 0, 9093, 689, 4, 30, UNI_CUNEIFORMNUMBERS } /* blk=cuneiformnumbersandpunctuation */, - { 2, 4821, 995, 14, 2, -UNI_POSIXXDIGIT } /* asciihexdigit=no */, - { 0, 9093, 2627, 4, 19, UNI_ENCLOSEDALPHANUMSUP } /* blk=enclosedalphanumsup */, - { 2, 3110, 0, 8, 0, UNI_GEOR } /* georgian */, - { 0, 2684, 6525, 19, 11, UNI_LB__H3 } /* hangulsyllabletype=lvtsyllable */, - { 0, 6768, 2233, 3, 20, UNI_YIJING } /* isyijinghexagramsymbols */, - { 0, 8424, 4477, 6, 15, UNI_INHANGUL } /* block=hangulsyllables */, - { 1, 9647, 9014, 3, 3, UNI_NV__5_SLASH_2 } /* nv=5/2 */, - { 0, 9093, 3501, 4, 17, UNI_CYRILLICEXTA } /* blk=cyrillicextendeda */, - { 0, 8871, 8616, 3, 5, UNI_SB__ST } /* sb=sterm */, - { 2, 8562, 0, 4, 0, UNI_LYCI } /* lyci */, - { 1, 2148, 2894, 3, 18, UNI_SUPARROWSC } /* insupplementalarrowsc */, - { 1, 6918, 9757, 10, 2, UNI_LB__H2 } /* linebreak=h2 */, - { 2, 9049, 7507, 4, 2, UNI_AGE__12 } /* age=12 */, - { 6, 9605, 7836, 3, 8, UNI_DT__FRA } /* dt=fraction */, - { 1, 3002, 9461, 18, 4, UNI_EA__F } /* decompositiontype=wide */, - { 0, 9365, 1573, 4, 4, UNI_PHAG } /* scx=phag */, - { 23, 8100, 1, 7, 1, -UNI_HYPHEN } /* hyphen=n */, - { 0, 8886, 8622, 3, 4, UNI_SC__TELU } /* sc=telu */, - { 0, 1162, 0, 26, 0, UNI_HALFANDFULLFORMS } /* halfwidthandfullwidthforms */, - { 1, 184, 8086, 2, 6, UNI_GRBASE } /* isgrbase */, - { 0, 8634, 9433, 6, 4, UNI_UIDEO } /* uideo=true */, - { 1, 8424, 4975, 6, 7, UNI_KANASUP } /* block=kanasup */, - { 16, 1757, 0, 22, 0, UNI_cwl_values_index } /* changeswhenlowercased= */, - { 2, 184, 38, 2, 2, UNI_XPOSIXDIGIT } /* isnd */, - { 3, 2148, 8255, 3, 6, UNI_INSIDDHAM } /* insiddham */, - { 281, 3038, 0, 11, 0, UNI_ETHIOPICSUP } /* ethiopicsup */, - { 1, 9093, 4762, 4, 8, UNI_VEDICEXT } /* blk=vedicext */, - { 1, 9209, 0, 4, 0, UNI_KTHI } /* kthi */, - { 1, 5760, 1219, 13, 3, UNI_NV__NAN } /* numericvalue=nan */, - { 1, 9093, 7995, 4, 7, UNI_INAVESTAN } /* blk=avestan */, - { 0, 6027, 0, 5, 0, UNI_KHMR } /* khmer */, - { 8, 5760, 8364, 13, 4, UNI_NV__4000 } /* numericvalue=4000 */, - { 2, 3900, 0, 16, 0, UNI_HALFANDFULLFORMS } /* halfandfullforms */, - { 0, 2148, 2000, 3, 21, UNI_MODIFIERLETTERS } /* inspacingmodifierletters */, - { 2, 9389, 0, 4, 0, UNI_SOGO } /* sogo */, - { 2, 5760, 9741, 13, 2, UNI_NV__44 } /* numericvalue=44 */, - { 39, 1801, 36, 22, 1, UNI_CWU } /* changeswhenuppercased=t */, - { 0, 8959, 26, 5, 1, UNI_XIDS } /* xids=y */, - { 32, 2106, 73, 21, 2, UNI_WB__EB } /* graphemeclusterbreak=em */, - { 22, 3736, 7854, 4, 6, UNI_INGURMUKHI } /* ingurmukhi */, - { 0, 4361, 1578, 4, 16, UNI_GEOMETRICSHAPESEXT } /* ingeometricshapesext */, - { 3, 5760, 8400, 13, 6, UNI_NV__900000 } /* numericvalue=900000 */, - { 0, 3951, 1278, 3, 2, UNI_IDS } /* isids */, - { 17, 9365, 8919, 4, 5, UNI_OGAM } /* scx=ogham */, - { 0, 9782, 7128, 4, 4, UNI_POSIXWORD } /* perlword */, - { 4, 8886, 2164, 4, 3, UNI_SC__KTHI } /* sc=kthi */, - { 0, 9293, 0, 4, 0, UNI_OGAM } /* ogam */, - { 8, 9904, 3248, 5, 5, UNI_POSIXSPACE } /* posixspace */, - { 64, 9731, 4645, 3, 2, UNI_WB__DQ } /* wb=dq */, - { 0, 7128, 5346, 10, 2, UNI_WB__EB } /* wordbreak=eb */, - { 132, 5760, 8371, 13, 2, UNI_NV__32 } /* numericvalue=32 */, - { 0, 78, 0, 6, 0, UNI_ARAB } /* arabic */, - { 3, 9093, 1458, 4, 24, UNI_HIGHPUSURROGATES } /* blk=highprivateusesurrogates */, - { 139, 8886, 1085, 3, 4, UNI_SC__HANG } /* sc=hang */, - { 0, 9365, 8859, 4, 5, UNI_DOGR } /* scx=dogra */, - { 0, 9647, 8354, 3, 4, UNI_NV__6000 } /* nv=6000 */, - { 1, 3671, 8538, 17, 6, UNI_KHOJ } /* scriptextensions=khojki */, - { 61, 8424, 1622, 6, 9, UNI_LATINEXTE } /* block=latinexte */, - { 0, 9647, 7644, 3, 8, UNI_NV__11_SLASH_2 } /* nv=5.50e+00 */, - { 0, 3951, 415, 3, 10, UNI_IDEO } /* isideographic */, - { 128, 8886, 7812, 3, 8, UNI_SC__DUPL } /* sc=duployan */, - { 0, 3243, 26, 11, 1, UNI_XPOSIXSPACE } /* whitespace=y */, - { 1, 9901, 1768, 8, 5, UNI_XPOSIXLOWER } /* isxposixlower */, - { 0, 9093, 837, 4, 11, UNI_PHONETICEXT } /* blk=phoneticext */, - { 1, 9093, 3210, 4, 8, UNI_DINGBATS } /* blk=dingbats */, - { 0, 9623, 6334, 3, 4, UNI_JG__NOON } /* jg=noon */, - { 0, 9647, 9497, 3, 3, UNI_NV__1_SLASH_5 } /* nv=1/5 */, - { 6, 6005, 1031, 4, 4, UNI_INCOPTIC } /* incoptic */, - { 9, 3868, 4080, 16, 10, UNI_SM } /* generalcategory=mathsymbol */, - { 6, 6005, 2065, 3, 20, UNI_CJKRADICALSSUP } /* incjkradicalssupplement */, - { 22, 9593, 4312, 3, 15, UNI_BC__CS } /* bc=commonseparator */, - { 4, 9313, 36, 4, 1, UNI_PCM } /* pcm=t */, - { 0, 8424, 8128, 6, 7, UNI_INMAKASAR } /* block=makasar */, - { 2, 6602, 0, 11, 0, UNI_NAND } /* nandinagari */, - { 144, 1497, 8839, 9, 5, UNI_XPOSIXCNTRL } /* category=cntrl */, - { 27, 6243, 0, 12, 0, UNI_HUNG } /* oldhungarian */, - { 0, 184, 7248, 2, 9, UNI_SIND } /* iskhudawadi */, - { 131, 184, 3038, 2, 11, UNI_ETHIOPICSUP } /* isethiopicsup */, - { 0, 9629, 7924, 3, 8, UNI_LB__NL } /* lb=nextline */, - { 0, 2708, 29, 4, 4, UNI_INARABIC } /* inarabic */, - { 0, 1362, 8, 24, 1, UNI_CCC__A } /* canonicalcombiningclass=a */, - { 0, 9093, 4821, 4, 5, UNI_ASCII } /* blk=ascii */, - { 6, 2142, 8915, 3, 4, UNI_INNUSHU } /* innushu */, - { 1, 5760, 7564, 13, 8, UNI_NV__1_SLASH_320 } /* numericvalue=3.13e-03 */, - { 0, 9365, 6724, 5, 10, UNI_SYLO } /* scx=sylotinagri */, - { 160, 2148, 7079, 3, 9, UNI_SUPARROWSB } /* insuparrowsb */, - { 7, 184, 7048, 2, 10, UNI_SAUR } /* issaurashtra */, - { 3, 8496, 8864, 6, 5, -UNI_CWKCF } /* cwkcf=false */, - { 0, 8859, 0, 4, 0, UNI_DOGR } /* dogr */, - { 1, 9093, 3705, 4, 17, UNI_SMALLFORMS } /* blk=smallformvariants */, - { 3, 1713, 8864, 22, 5, -UNI_CWCF } /* changeswhencasefolded=false */, - { 0, 2930, 0, 4, 0, UNI_CHER } /* cher */, - { 2, 5760, 8354, 13, 3, UNI_NV__600 } /* numericvalue=600 */, - { 0, 7356, 0, 4, 0, UNI_PALM } /* palm */, - { 3, 1362, 9527, 24, 3, UNI_CCC__R } /* canonicalcombiningclass=226 */, - { 1, 1691, 4687, 22, 4, UNI_BPT__O } /* bidipairedbrackettype=open */, - { 16, 3038, 0, 8, 0, UNI_ETHI } /* ethiopic */, - { 5, 7018, 9563, 10, 3, UNI_IN__5_DOT_1 } /* presentin=5.1 */, - { 13, 8424, 7852, 6, 8, UNI_INGURMUKHI } /* block=gurmukhi */, - { 0, 9365, 1599, 4, 6, UNI_HANG } /* scx=hangul */, - { 1, 8233, 1135, 9, 2, UNI_SC__SHRD } /* script=shrd */, - { 1, 9647, 9743, 3, 2, UNI_NV__45 } /* nv=45 */, - { 292, 1924, 6040, 10, 11, UNI_NL } /* category=letternumber */, - { 0, 7018, 9686, 10, 3, UNI_IN__3_DOT_2 } /* presentin=v32 */, - { 1, 6949, 6362, 4, 9, UNI_CASEDLETTER } /* iscasedletter */, - { 3, 1497, 4402, 9, 15, UNI_PD } /* category=dashpunctuation */, - { 0, 9629, 9773, 3, 2, UNI_LB__XX } /* lb=xx */, - { 2, 8233, 9133, 7, 4, UNI_SC__CYRL } /* script=cyrl */, - { 0, 184, 1530, 2, 23, UNI_BYZANTINEMUSIC } /* isbyzantinemusicalsymbols */, - { 0, 6015, 6470, 12, 11, UNI_JT__C } /* joiningtype=joincausing */, - { 0, 4598, 1132, 4, 2, UNI_CPRT } /* iscprt */, - { 21, 6928, 9433, 10, 4, UNI_XPOSIXLOWER } /* lowercase=true */, - { 0, 2212, 2648, 4, 8, UNI_JAMO } /* inhanguljamo */, - { 2, 6005, 510, 3, 19, UNI_CJK } /* incjkunifiedideographs */, - { 5, 4627, 17, 16, 1, UNI_NFKCQC__N } /* nfkcquickcheck=no */, - { 2, 9113, 7539, 4, 2, UNI_CCC__22 } /* ccc=22 */, - { 48, 8086, 1, 7, 1, -UNI_GRBASE } /* grbase=n */, - { 0, 3671, 9309, 17, 4, UNI_OSGE } /* scriptextensions=osge */, - { 15, 7018, 7507, 10, 4, UNI_IN__12 } /* presentin=12.0 */, - { 1, 184, 24, 2, 1, UNI_L } /* isl */, - { 16, 21, 2232, 2, 21, UNI_YIJING } /* inyijinghexagramsymbols */, - { 0, 8424, 4807, 6, 14, UNI_ANCIENTSYMBOLS } /* block=ancientsymbols */, - { 0, 1084, 0, 25, 0, UNI_CWKCF } /* changeswhennfkccasefolded */, - { 8, 1911, 8704, 22, 5, UNI_INSC__BINDU } /* indicsyllabiccategory=bindu */, - { 11, 8604, 3, 6, 1, -UNI_QMARK } /* qmark=f */, - { 0, 9731, 1188, 3, 2, UNI_WB__KA } /* wb=ka */, - { 2, 9365, 8652, 4, 6, UNI_WCHO } /* scx=wancho */, - { 4, 6828, 2817, 10, 19, UNI_BC__RLO } /* bidiclass=righttoleftoverride */, - { 18, 8899, 0, 5, 0, UNI_math_values_index } /* math= */, - { 0, 8219, 3, 7, 1, -UNI_PATSYN } /* patsyn=f */, - { 0, 9946, 8248, 3, 6, UNI_SHAW } /* isshavian */, - { 0, 1768, 0, 9, 0, UNI_XPOSIXLOWER } /* lowercase */, - { 4, 8406, 1, 6, 1, -UNI_XPOSIXALPHA } /* alpha=n */, - { 1, 6635, 0, 11, 0, UNI_SO } /* othersymbol */, - { 0, 9093, 7008, 4, 10, UNI_INPHOENICIAN } /* blk=phoenician */, - { 3, 719, 0, 30, 0, UNI_ENCLOSEDALPHANUMSUP } /* enclosedalphanumericsupplement */, - { 2, 3671, 8699, 17, 5, UNI_BATK } /* scriptextensions=batak */, - { 1, 8886, 9309, 3, 4, UNI_OSGE } /* sc=osge */, - { 191, 2703, 36, 19, 1, UNI_IDST } /* idstrinaryoperator=t */, - { 24, 6928, 9734, 10, 3, UNI_XPOSIXLOWER } /* lowercase=yes */, - { 276, 339, 0, 2, 0, UNI_LO } /* lo */, - { 0, 8894, 0, 5, 0, UNI_LIMB } /* limbu */, - { 1, 3671, 2930, 17, 8, UNI_CHER } /* scriptextensions=cherokee */, - { 2, 3092, 0, 18, 0, UNI_INPUNCTUATION } /* generalpunctuation */, - { 0, 184, 8142, 2, 7, UNI_MARC } /* ismarchen */, - { 4, 3671, 6602, 17, 4, UNI_NAND } /* scriptextensions=nand */, - { 30, 9946, 3730, 3, 3, UNI_SGNW } /* issgnw */, - { 1, 3236, 3, 18, 1, -UNI__PERL_PATWS } /* patternwhitespace=f */, - { 4, 1239, 0, 24, 0, UNI_COMPEX } /* fullcompositionexclusion */, - { 0, 6918, 5952, 10, 3, UNI_LB__ZWJ } /* linebreak=zwj */, - { 6, 9237, 0, 3, 0, UNI_LOE } /* loe */, - { 2, 9647, 9021, 3, 4, UNI_NV__3_SLASH_16 } /* nv=3/16 */, - { 57, 5835, 9734, 12, 3, UNI_BIDIC } /* bidicontrol=yes */, - { 0, 8338, 995, 7, 2, -UNI_XPOSIXSPACE } /* wspace=no */, - { 5, 9093, 5045, 4, 14, UNI_LATINEXTE } /* blk=latinextendede */, - { 4, 9113, 3433, 4, 17, UNI_WB__EB } /* ccc=attachedbelowleft */, - { 0, 8886, 9409, 3, 4, UNI_SC__TAML } /* sc=taml */, - { 16, 9731, 72, 3, 2, UNI_WB__LE } /* wb=le */, - { 0, 9113, 8837, 4, 2, UNI_CCC__91 } /* ccc=91 */, - { 73, 184, 8652, 2, 6, UNI_WCHO } /* iswancho */, - { 0, 8424, 1458, 6, 24, UNI_HIGHPUSURROGATES } /* block=highprivateusesurrogates */, - { 0, 184, 9197, 2, 4, UNI_KALI } /* iskali */, - { 0, 9647, 7620, 3, 8, UNI_NV__9_SLASH_2 } /* nv=4.50e+00 */, - { 0, 8960, 995, 4, 2, -UNI_IDS } /* ids=no */, - { 1, 9623, 6547, 3, 11, UNI_JG__MALAYALAMRA } /* jg=malayalamra */, - { 64, 9647, 7588, 3, 8, UNI_NV__3_SLASH_8 } /* nv=3.75e-01 */, - { 5, 9365, 9213, 4, 4, UNI_LANA } /* scx=lana */, - { 0, 5213, 17, 15, 1, UNI_COMPEX } /* nfcquickcheck=no */, - { 0, 184, 4076, 2, 16, UNI_MISCMATHSYMBOLSA } /* ismiscmathsymbolsa */, - { 2, 184, 43, 3, 15, UNI_CJKCOMPAT } /* iscjkcompatibility */, - { 33, 9623, 8658, 3, 4, UNI_JG__YUDH } /* jg=yudh */, - { 0, 6315, 995, 12, 2, -UNI_XIDC } /* xidcontinue=no */, - { 1, 8233, 9489, 7, 4, UNI_SC__ZYYY } /* script=zyyy */, - { 1, 8233, 8628, 7, 4, UNI_SC__THAA } /* script=thaa */, - { 0, 5565, 8689, 13, 5, UNI_JG__ALAPH } /* joininggroup=alaph */, - { 1, 9493, 0, 4, 0, UNI_ZZZZ } /* zzzz */, - { 1, 8233, 9217, 7, 3, UNI_LAO } /* script=lao */, - { 0, 9365, 6558, 4, 11, UNI_MEDF } /* scx=medefaidrin */, - { 3, 9489, 0, 4, 0, UNI_ZYYY } /* zyyy */, - { 0, 1362, 9771, 24, 2, UNI_CCC__9 } /* canonicalcombiningclass=vr */, - { 4, 5979, 9734, 12, 3, UNI_IDEO } /* ideographic=yes */, - { 0, 2148, 1507, 3, 23, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* insupsymbolsandpictographs */, - { 1, 6828, 0, 10, 0, UNI_bc_values_index } /* bidiclass= */, - { 324, 8233, 8709, 7, 5, UNI_SC__BUHD } /* script=buhid */, - { 4, 6015, 18, 12, 1, UNI_JT__R } /* joiningtype=r */, - { 0, 3688, 26, 17, 1, UNI_STERM } /* sentenceterminal=y */, - { 6, 5760, 8988, 13, 2, UNI_NV__41 } /* numericvalue=41 */, - { 1, 5565, 6657, 13, 11, UNI_JG__ROHINGYAYEH } /* joininggroup=rohingyayeh */, - { 2, 3868, 132, 16, 2, UNI_LM } /* generalcategory=lm */, - { 3, 8424, 8135, 6, 7, UNI_INMANDAIC } /* block=mandaic */, - { 1, 9662, 8864, 3, 5, -UNI_SD } /* sd=false */, - { 1, 8424, 1003, 6, 11, UNI_ENCLOSEDCJK } /* block=enclosedcjk */, - { 63, 9629, 9626, 3, 2, UNI_GCB__T } /* lb=jt */, - { 0, 9093, 6858, 4, 10, UNI_CJKSTROKES } /* blk=cjkstrokes */, - { 66, 9593, 3182, 3, 18, UNI_BC__LRI } /* bc=lefttorightisolate */, - { 50, 3671, 8191, 17, 7, UNI_OLCK } /* scriptextensions=olchiki */, - { 2, 1911, 5474, 22, 13, UNI_INSC__CONSONANTDEAD } /* indicsyllabiccategory=consonantdead */, - { 5, 8170, 0, 8, 0, UNI_NFKDQC__N } /* nfkdqc=n */, - { 0, 9365, 9317, 4, 4, UNI_PHLP } /* scx=phlp */, - { 42, 4462, 9734, 15, 3, UNI_GREXT } /* graphemeextend=yes */, - { 0, 9093, 6558, 4, 11, UNI_INMEDEFAIDRIN } /* blk=medefaidrin */, - { 0, 9365, 4220, 4, 6, UNI_TANG } /* scx=tangut */, - { 1, 8886, 1189, 4, 7, UNI_SC__KANA } /* sc=katakana */, - { 0, 9409, 0, 4, 0, UNI_TAML } /* taml */, - { 0, 7025, 9695, 3, 3, UNI_IN__5 } /* in=v50 */, - { 4, 184, 132, 2, 2, UNI_LM } /* islm */, - { 0, 5213, 0, 15, 0, UNI_COMPEX } /* nfcquickcheck=n */, - { 1, 9623, 6063, 3, 12, UNI_JG__MALAYALAMBHA } /* jg=malayalambha */, - { 3, 8332, 1340, 4, 22, UNI_ARABICPFB } /* isarabicpresentationformsb */, - { 0, 8886, 7203, 3, 9, UNI_BHKS } /* sc=bhaiksuki */, - { 2, 9620, 5353, 3, 14, UNI_ZS } /* gc=spaceseparator */, - { 8, 7018, 9719, 10, 3, UNI_IN__8 } /* presentin=v80 */, - { 0, 9365, 493, 4, 3, UNI_HAN } /* scx=han */, - { 9, 9113, 7167, 4, 9, UNI_CCC__AL } /* ccc=aboveleft */, - { 0, 1243, 995, 21, 2, -UNI_CE } /* compositionexclusion=no */, - { 2, 8879, 879, 3, 9, UNI_PUA } /* inprivateuse */, - { 9, 1482, 1869, 4, 20, UNI_DIACRITICALSFORSYMBOLS } /* indiacriticalsforsymbols */, - { 0, 1497, 6624, 9, 11, UNI_NO } /* category=othernumber */, - { 3, 9365, 8226, 4, 7, UNI_PHAG } /* scx=phagspa */, - { 6, 5760, 8822, 13, 2, UNI_NV__35 } /* numericvalue=35 */, - { 0, 9647, 8364, 3, 5, UNI_NV__40000 } /* nv=40000 */, - { 2, 3671, 3020, 17, 10, UNI_DEVA } /* scriptextensions=devanagari */, - { 0, 8424, 1387, 7, 23, UNI_CJKSYMBOLS } /* block=cjksymbolsandpunctuation */, - { 10, 9365, 3984, 5, 3, UNI_SARB } /* scx=sarb */, - { 1, 8886, 7995, 3, 7, UNI_AVST } /* sc=avestan */, - { 34, 8538, 0, 6, 0, UNI_KHOJ } /* khojki */, - { 5, 3243, 36, 11, 1, UNI_XPOSIXSPACE } /* whitespace=t */, - { 1, 5552, 0, 6, 0, UNI_IPAEXT } /* ipaext */, - { 0, 3251, 36, 3, 1, UNI_CE } /* ce=t */, - { 1, 184, 2211, 2, 21, UNI_SINHALAARCHAICNUMBERS } /* issinhalaarchaicnumbers */, - { 0, 8233, 7844, 7, 8, UNI_SC__GUJR } /* script=gujarati */, - { 72, 184, 11, 2, 2, UNI_DI } /* isdi */, - { 0, 9129, 8864, 4, 5, -UNI_CWU } /* cwu=false */, - { 135, 9129, 26, 4, 1, UNI_CWU } /* cwu=y */, - { 1, 9647, 8970, 3, 3, UNI_NV__1_SLASH_2 } /* nv=1/2 */, - { 0, 1362, 8646, 24, 6, UNI_CCC__9 } /* canonicalcombiningclass=virama */, - { 0, 9337, 0, 4, 0, UNI_QAAI } /* qaai */, - { 9, 8233, 8679, 7, 5, UNI_SC__ADLM } /* script=adlam */, - { 1, 9093, 7311, 4, 9, UNI_INNEWTAILUE } /* blk=newtailue */, - { 195, 184, 2409, 2, 4, UNI_MONG } /* ismong */, - { 2, 184, 9481, 2, 4, UNI_ZANB } /* iszanb */, - { 2, 9623, 6075, 3, 12, UNI_JG__MALAYALAMLLA } /* jg=malayalamlla */, - { 2, 5760, 8400, 13, 5, UNI_NV__90000 } /* numericvalue=90000 */, - { 0, 4387, 0, 14, 0, UNI_SC } /* currencysymbol */, - { 1, 4580, 2780, 3, 11, UNI_MONGOLIANSUP } /* inmongoliansup */, - { 0, 9901, 7128, 8, 4, UNI_XPOSIXWORD } /* isxposixword */, - { 0, 1362, 8802, 24, 2, UNI_CCC__31 } /* canonicalcombiningclass=31 */, - { 0, 4627, 26, 15, 1, UNI_NFKCQC__Y } /* nfkcquickcheck=y */, - { 1, 8233, 3980, 7, 7, UNI_SC__LINB } /* script=linearb */, - { 1, 9620, 0, 3, 0, UNI_gc_values_index } /* gc= */, - { 55, 1779, 1, 22, 1, -UNI_CWT } /* changeswhentitlecased=n */, - { 1, 3002, 1223, 18, 7, UNI_DT__INIT } /* decompositiontype=initial */, - { 1, 9345, 0, 4, 0, UNI_RJNG } /* rjng */, - { 3, 7128, 5943, 10, 12, UNI_WB__EB } /* wordbreak=glueafterzwj */, - { 2, 1536, 3553, 3, 10, UNI_ETHIOPICEXT } /* inethiopicext */, - { 1, 184, 1576, 2, 18, UNI_GEOMETRICSHAPESEXT } /* isgeometricshapesext */, - { 8, 9647, 9018, 3, 3, UNI_NV__7_SLASH_2 } /* nv=7/2 */, - { 0, 1497, 4732, 9, 15, UNI_TITLE } /* category=titlecaseletter */, - { 0, 8424, 3964, 6, 9, UNI_LATIN1 } /* block=latin1sup */, - { 2, 1362, 3433, 24, 13, UNI_CCC__202 } /* canonicalcombiningclass=attachedbelow */, - { 0, 1845, 0, 22, 0, UNI_INDICNUMBERFORMS } /* commonindicnumberforms */, - { 0, 8886, 8115, 4, 6, UNI_SC__KALI } /* sc=kayahli */, - { 1, 1158, 4718, 3, 14, UNI_TAMILSUP } /* intamilsupplement */, - { 1, 8233, 8149, 7, 7, UNI_SC__MULT } /* script=multani */, - { 1, 5760, 5409, 13, 8, UNI_NV__10000000 } /* numericvalue=10000000 */, - { 0, 184, 7266, 2, 9, UNI_LATINEXTC } /* islatinextc */, - { 242, 9365, 3836, 4, 7, UNI_CPRT } /* scx=cypriot */, - { 0, 9647, 9745, 3, 2, UNI_NV__46 } /* nv=46 */, - { 1, 184, 1758, 3, 20, UNI_CWL } /* ischangeswhenlowercased */, - { 0, 5565, 726, 13, 3, UNI_JG__DAL } /* joininggroup=dal */, - { 0, 8874, 0, 5, 0, UNI_idst_values_index } /* idst= */, - { 5, 2148, 7049, 3, 9, UNI_INSAURASHTRA } /* insaurashtra */, - { 0, 9647, 9017, 3, 4, UNI_NV__17_SLASH_2 } /* nv=17/2 */, - { 1, 5760, 7532, 13, 8, UNI_NV__1_SLASH_40 } /* numericvalue=2.50e-02 */, - { 67, 9620, 339, 3, 2, UNI_LO } /* gc=lo */, - { 4, 9113, 7446, 4, 2, UNI_CCC__25 } /* ccc=25 */, - { 0, 9093, 2021, 4, 22, UNI_TRANSPORTANDMAP } /* blk=transportandmapsymbols */, - { 0, 184, 3552, 2, 17, UNI_ETHIOPICEXTA } /* isethiopicextendeda */, - { 4, 6918, 3820, 10, 16, UNI_LB__CL } /* linebreak=closepunctuation */, - { 3, 6371, 36, 11, 1, UNI_DEP } /* deprecated=t */, - { 0, 8886, 6646, 3, 11, UNI_HMNG } /* sc=pahawhhmong */, - { 14, 9093, 5590, 5, 7, UNI_INBALINESE } /* blk=balinese */, - { 3, 3671, 8568, 17, 4, UNI_LYDI } /* scriptextensions=lydi */, - { 0, 3671, 8652, 17, 6, UNI_WCHO } /* scriptextensions=wancho */, - { 0, 8617, 995, 5, 2, -UNI_TERM } /* term=no */, - { 8, 8424, 567, 6, 2, UNI_NB } /* block=nb */, - { 0, 6828, 4905, 10, 14, UNI_BC__EN } /* bidiclass=europeannumber */, - { 0, 8886, 7338, 3, 9, UNI_SC__PERM } /* sc=oldpermic */, - { 1, 9453, 0, 4, 0, UNI_VAI } /* vaii */, - { 3, 184, 7804, 2, 4, UNI_BUGI } /* isbugi */, - { 0, 5552, 0, 13, 0, UNI_IPAEXT } /* ipaextensions */, - { 3, 9093, 4975, 4, 14, UNI_KANASUP } /* blk=kanasupplement */, - { 6, 5565, 5617, 13, 13, UNI_JG__MALAYALAMLLLA } /* joininggroup=malayalamllla */, - { 0, 3671, 9421, 17, 4, UNI_TGLG } /* scriptextensions=tglg */, - { 0, 8233, 8502, 7, 6, UNI_GOTH } /* script=gothic */, - { 0, 9093, 1999, 4, 22, UNI_MODIFIERLETTERS } /* blk=spacingmodifierletters */, - { 7, 9946, 6, 3, 1, UNI_SD } /* issd */, - { 0, 2779, 0, 19, 0, UNI_MONGOLIANSUP } /* mongoliansupplement */, - { 2, 7812, 0, 4, 0, UNI_DUPL } /* dupl */, - { 0, 184, 2779, 2, 9, UNI_MONG } /* ismongolian */, - { 0, 4705, 8624, 4, 4, UNI_TELU } /* istelugu */, - { 7, 9659, 0, 3, 0, UNI_ri_values_index } /* ri= */, - { 515, 8886, 2930, 3, 4, UNI_CHER } /* sc=cher */, - { 6, 117, 6, 3, 2, UNI_INIDC } /* inidc */, - { 0, 9113, 7558, 4, 2, UNI_CCC__13 } /* ccc=13 */, - { 2, 184, 8142, 2, 4, UNI_MARC } /* ismarc */, - { 0, 8065, 0, 7, 0, UNI_ELBA } /* elbasan */, - { 0, 8406, 995, 6, 2, -UNI_XPOSIXALPHA } /* alpha=no */, - { 0, 9093, 1576, 4, 15, UNI_GEOMETRICSHAPES } /* blk=geometricshapes */, - { 49, 1933, 1, 22, 1, -UNI_LOE } /* logicalorderexception=n */, - { 0, 8424, 6243, 6, 12, UNI_INOLDHUNGARIAN } /* block=oldhungarian */, - { 8, 184, 8177, 2, 7, UNI_NB } /* isnoblock */, - { 5, 184, 630, 3, 29, UNI_CJKEXTE } /* iscjkunifiedideographsextensione */, - { 1, 8424, 3416, 6, 17, UNI_ALCHEMICAL } /* block=alchemicalsymbols */, - { 34, 9725, 3362, 3, 18, UNI_VO__TR } /* vo=transformedrotated */, - { 0, 2085, 0, 18, 0, UNI_CYRILLICSUP } /* cyrillicsupplement */, - { 0, 9093, 3110, 4, 18, UNI_GEORGIANSUP } /* blk=georgiansupplement */, - { 73, 8424, 1030, 7, 5, UNI_INCOPTIC } /* block=coptic */, - { 1, 9113, 9521, 4, 3, UNI_CCC__BR } /* ccc=222 */, - { 0, 8886, 7118, 3, 10, UNI_WARA } /* sc=warangciti */, - { 1, 3868, 3218, 16, 18, UNI_ZP } /* generalcategory=paragraphseparator */, - { 0, 6828, 5603, 10, 3, UNI_BC__RLO } /* bidiclass=rlo */, - { 1, 3868, 5591, 16, 13, UNI_ZL } /* generalcategory=lineseparator */, - { 84, 1362, 8212, 24, 7, UNI_CCC__1 } /* canonicalcombiningclass=overlay */, - { 0, 7128, 4801, 10, 2, UNI_WB__SQ } /* wordbreak=sq */, - { 0, 184, 1622, 2, 23, UNI_LATINEXTADDITIONAL } /* islatinextendedadditional */, - { 0, 6003, 0, 5, 0, UNI_JOINC } /* joinc */, - { 9, 4297, 0, 7, 0, UNI_BRAI } /* braille */, - { 0, 2142, 7304, 4, 7, UNI_INNABATAEAN } /* innabataean */, - { 2, 8424, 3772, 6, 11, UNI_BOPOMOFOEXT } /* block=bopomofoext */, - { 145, 8886, 6690, 3, 4, UNI_SORA } /* sc=sora */, - { 54, 8424, 7900, 6, 8, UNI_KANAEXTA } /* block=kanaexta */, - { 5, 1188, 0, 26, 0, UNI_KATAKANAEXT } /* katakanaphoneticextensions */, - { 5, 2106, 9773, 21, 2, UNI_GCB__XX } /* graphemeclusterbreak=xx */, - { 28, 6005, 1387, 3, 9, UNI_CJKSYMBOLS } /* incjksymbols */, - { 2, 341, 0, 2, 0, UNI_PE } /* pe */, - { 1, 9629, 5952, 3, 3, UNI_LB__ZWJ } /* lb=zwj */, - { 0, 9049, 7159, 4, 3, UNI_AGE__5 } /* age=5.0 */, - { 1, 4705, 8945, 3, 4, UNI_TAKR } /* istakri */, - { 11, 9093, 8023, 4, 7, UNI_CJKEXTC } /* blk=cjkextc */, - { 5, 5979, 36, 12, 1, UNI_IDEO } /* ideographic=t */, - { 34, 9629, 4687, 3, 15, UNI_LB__OP } /* lb=openpunctuation */, - { 1, 9620, 4387, 3, 14, UNI_SC } /* gc=currencysymbol */, - { 0, 9629, 340, 3, 2, UNI_LB__OP } /* lb=op */, - { 0, 8562, 0, 6, 0, UNI_LYCI } /* lycian */, - { 4, 184, 837, 2, 11, UNI_PHONETICEXT } /* isphoneticext */, - { 6, 6885, 3901, 3, 15, UNI_HALFANDFULLFORMS } /* ishalfandfullforms */, - { 98, 5565, 5682, 13, 13, UNI_JG__MANICHAEANTAW } /* joininggroup=manichaeantaw */, - { 0, 8886, 7365, 3, 4, UNI_PAUC } /* sc=pauc */, - { 4, 9365, 6602, 4, 4, UNI_NAND } /* scx=nand */, - { 2, 5760, 9517, 13, 2, UNI_NV__42 } /* numericvalue=42 */, - { 71, 9620, 341, 3, 2, UNI_PE } /* gc=pe */, - { 0, 9946, 6992, 3, 6, UNI_SOGD } /* issogdian */, - { 1, 6888, 36, 10, 1, UNI_DIA } /* diacritic=t */, - { 1, 3671, 7812, 17, 8, UNI_DUPL } /* scriptextensions=duployan */, - { 27, 9365, 0, 4, 0, UNI_scx_values_index } /* scx= */, - { 12, 184, 8562, 2, 6, UNI_LYCI } /* islycian */, - { 39, 9193, 5394, 4, 2, UNI_LB__H2 } /* hst=lv */, - { 0, 9602, 8864, 3, 5, -UNI_DI } /* di=false */, - { 2, 4597, 0, 15, 0, UNI_MISCPICTOGRAPHS } /* miscpictographs */, - { 0, 8233, 9417, 7, 4, UNI_TFNG } /* script=tfng */, - { 16, 184, 8894, 2, 5, UNI_LIMB } /* islimbu */, - { 1, 8580, 8864, 6, 5, -UNI__PERL_NCHAR } /* nchar=false */, - { 0, 4267, 0, 4, 0, UNI_BAMU } /* bamu */, - { 2, 5760, 7716, 13, 8, UNI_NV__3_SLASH_4 } /* numericvalue=7.50e-01 */, - { 2, 6591, 0, 11, 0, UNI_MYANMAREXTB } /* myanmarextb */, - { 1, 3248, 26, 6, 1, UNI_XPOSIXSPACE } /* space=y */, - { 0, 6005, 2986, 4, 16, UNI_COPTICEPACTNUMBERS } /* incopticepactnumbers */, - { 0, 3128, 9734, 18, 3, UNI_IDSB } /* idsbinaryoperator=yes */, - { 0, 184, 2627, 2, 19, UNI_ENCLOSEDALPHANUMSUP } /* isenclosedalphanumsup */, - { 2, 7796, 0, 8, 0, UNI_BASS } /* bassavah */, - { 0, 8233, 3020, 7, 10, UNI_SC__DEVA } /* script=devanagari */, - { 12, 8424, 4204, 6, 16, UNI_SYRIACSUP } /* block=syriacsupplement */, - { 0, 6918, 6968, 10, 10, UNI_LB__NS } /* linebreak=nonstarter */, - { 0, 5760, 8376, 13, 6, UNI_NV__500000 } /* numericvalue=500000 */, - { 24, 1362, 3441, 24, 5, UNI_CCC__B } /* canonicalcombiningclass=below */, - { 32, 6918, 42, 10, 2, UNI_LB__CJ } /* linebreak=cj */, - { 0, 6015, 36, 12, 1, UNI_JT__T } /* joiningtype=t */, - { 0, 7128, 34, 10, 2, UNI_WB__EX } /* wordbreak=ex */, - { 256, 3948, 25, 3, 1, UNI_INVS } /* invs */, - { 2, 184, 3837, 3, 15, UNI_CYPRIOTSYLLABARY } /* iscypriotsyllabary */, - { 1, 7018, 7724, 10, 3, UNI_IN__8 } /* presentin=8.0 */, - { 0, 5565, 4562, 13, 5, UNI_JG__SADHE } /* joininggroup=sadhe */, - { 128, 2708, 3758, 4, 14, UNI_ARABICSUP } /* inarabicsupplement */, - { 1, 8233, 4297, 7, 7, UNI_BRAI } /* script=braille */, - { 0, 9093, 2232, 4, 6, UNI_YIJING } /* blk=yijing */, - { 0, 184, 1, 3, 1, UNI_CN } /* iscn */, - { 160, 6828, 37, 10, 2, UNI_BC__EN } /* bidiclass=en */, - { 129, 9093, 2085, 4, 8, UNI_INCYRILLIC } /* blk=cyrillic */, - { 0, 9093, 2948, 4, 18, UNI_HALFMARKS } /* blk=combininghalfmarks */, - { 4, 9365, 9425, 4, 4, UNI_THAI } /* scx=thai */, - { 3, 9781, 9892, 6, 9, UNI__PERL_QUOTEMETA } /* _perl_quotemeta */, - { 132, 3501, 0, 17, 0, UNI_CYRILLICEXTA } /* cyrillicextendeda */, - { 2, 9608, 3, 3, 1, UNI_EA__F } /* ea=f */, - { 129, 21, 8114, 2, 7, UNI_KALI } /* inkayahli */, - { 0, 6567, 4951, 4, 2, UNI_INMIAO } /* inmiao */, - { 5, 9457, 0, 4, 0, UNI_WCHO } /* wcho */, - { 0, 9593, 2373, 3, 11, UNI_BC__L } /* bc=lefttoright */, - { 0, 5565, 9596, 13, 3, UNI_JG__BEH } /* joininggroup=beh */, - { 4, 1188, 0, 8, 0, UNI_KANA } /* katakana */, - { 38, 8886, 8929, 3, 5, UNI_OSGE } /* sc=osage */, - { 1, 9093, 8114, 4, 7, UNI_KALI } /* blk=kayahli */, - { 0, 6918, 533, 10, 2, UNI_LB__NS } /* linebreak=ns */, - { 0, 8424, 2353, 6, 20, UNI_ININSCRIPTIONALPAHLAVI } /* block=inscriptionalpahlavi */, - { 0, 9093, 8934, 4, 5, UNI_INRUNIC } /* blk=runic */, - { 0, 1362, 8817, 24, 2, UNI_CCC__34 } /* canonicalcombiningclass=34 */, - { 113, 8233, 9069, 7, 4, UNI_SC__ARMN } /* script=armn */, - { 202, 4092, 0, 16, 0, UNI_MISCMATHSYMBOLSB } /* miscmathsymbolsb */, - { 0, 8406, 9734, 6, 3, UNI_XPOSIXALPHA } /* alpha=yes */, - { 1, 1362, 8467, 25, 5, UNI_CCC__130 } /* canonicalcombiningclass=ccc130 */, - { 9, 3671, 2930, 17, 4, UNI_CHER } /* scriptextensions=cher */, - { 0, 9623, 8689, 3, 5, UNI_JG__ALAPH } /* jg=alaph */, - { 0, 4462, 8864, 15, 5, -UNI_GREXT } /* graphemeextend=false */, - { 0, 1362, 9530, 24, 3, UNI_CCC__AL } /* canonicalcombiningclass=228 */, - { 301, 9093, 8568, 4, 6, UNI_INLYDIAN } /* blk=lydian */, - { 1, 9623, 5718, 3, 3, UNI_JG__WAW } /* jg=waw */, + { 2, 8780, 9860, 6, 3, UNI_INVAI } /* block=vai */, + { 1, 9508, 5765, 4, 13, UNI_CCC__IS } /* ccc=iotasubscript */, + { 0, 9768, 7694, 5, 8, UNI_SAMR } /* scx=samaritan */, + { 0, 9277, 2684, 3, 19, UNI_EGYP } /* sc=egyptianhieroglyphs */, + { 2, 5324, 6399, 4, 10, UNI_MATHALPHANUM } /* inmathalphanum */, + { 0, 2784, 29, 4, 4, UNI_INARABIC } /* inarabic */, + { 0, 2608, 0, 4, 0, UNI_BRAH } /* brah */, + { 0, 4658, 10135, 15, 3, UNI_GREXT } /* graphemeextend=yes */, + { 5, 9488, 5843, 4, 9, UNI_INMALAYALAM } /* blk=malayalam */, + { 6, 1417, 7178, 24, 10, UNI_CCC__6 } /* canonicalcombiningclass=hanreading */, + { 0, 4643, 9836, 15, 4, UNI_ECOMP } /* emojicomponent=true */, + { 2, 10033, 4842, 3, 2, UNI_LB__QU } /* lb=qu */, + { 0, 9768, 7630, 4, 9, UNI_TALU } /* scx=newtailue */, + { 0, 9508, 8825, 4, 3, UNI_CCC__130 } /* ccc=130 */, + { 0, 9488, 895, 4, 28, UNI_SUPPUAA } /* blk=supplementaryprivateuseareaa */, + { 5, 3836, 9876, 17, 4, UNI_XSUX } /* scriptextensions=xsux */, + { 1, 184, 9095, 2, 5, UNI_BUHD } /* isbuhid */, + { 0, 9277, 859, 4, 3, UNI_SC__KNDA } /* sc=knda */, + { 0, 5324, 6279, 4, 5, UNI_MAHJONG } /* inmahjong */, + { 0, 4553, 0, 15, 0, UNI_CONTROLPICTURES } /* controlpictures */, + { 0, 5986, 9904, 13, 3, UNI_NV__1_SLASH_5 } /* numericvalue=1/5 */, + { 2, 3424, 8674, 3, 6, UNI_UCASEXT } /* inucasext */, + { 5, 8589, 9624, 7, 3, UNI_LAO } /* script=lao */, + { 17, 8589, 8421, 7, 7, UNI_ELYM } /* script=elymaic */, + { 1, 184, 3633, 3, 16, UNI_CYRILLICEXTA } /* iscyrillicextendeda */, + { 7, 8589, 9616, 7, 4, UNI_SC__KTHI } /* script=kthi */, + { 0, 9488, 6818, 4, 11, UNI_MYANMAREXTA } /* blk=myanmarexta */, + { 10, 1834, 9255, 22, 5, -UNI_CWT } /* changeswhentitlecased=false */, + { 1, 1828, 9836, 6, 4, UNI_CASED } /* cased=true */, + { 0, 9444, 7827, 4, 3, UNI_AGE__2 } /* age=2.0 */, + { 0, 9277, 493, 3, 3, UNI_SC__HAN } /* sc=han */, + { 194, 184, 2245, 2, 14, UNI_MEETEIMAYEKEXT } /* ismeeteimayekext */, + { 0, 1552, 48, 9, 1, UNI_P } /* category=p */, + { 1, 9768, 3115, 4, 4, UNI_DEVA } /* scx=deva */, + { 0, 10333, 44, 3, 1, UNI_SK } /* issk */, + { 0, 7218, 8236, 11, 7, UNI_LB__LF } /* linebreak=linefeed */, + { 1, 9277, 7693, 3, 9, UNI_SAMR } /* sc=samaritan */, + { 18, 5986, 7755, 13, 8, UNI_NV__1_SLASH_9 } /* numericvalue=1.11e-01 */, + { 7, 184, 4049, 2, 11, UNI_GEORGIANEXT } /* isgeorgianext */, + { 2, 8960, 9295, 6, 5, UNI_NFCQC__M } /* nfcqc=maybe */, + { 4, 9014, 9836, 6, 4, UNI_UIDEO } /* uideo=true */, + { 16, 10048, 7890, 3, 2, UNI_NV__33 } /* nv=33 */, + { 0, 8589, 5171, 7, 4, UNI_CHAM } /* script=cham */, + { 3, 5791, 4763, 13, 15, UNI_JG__MANICHAEANSADHE } /* joininggroup=manichaeansadhe */, + { 0, 10048, 8714, 3, 6, UNI_NV__300000 } /* nv=300000 */, + { 1, 9277, 9732, 3, 4, UNI_PRTI } /* sc=prti */, + { 1, 8780, 5075, 7, 13, UNI_CJKCOMPATFORMS } /* block=cjkcompatforms */, + { 20, 184, 690, 3, 29, UNI_CJKEXTG } /* iscjkunifiedideographsextensiong */, + { 1, 184, 5522, 2, 14, UNI_PHONETICEXTSUP } /* isphoneticextsup */, + { 34, 7248, 0, 10, 0, UNI_MISCARROWS } /* miscarrows */, + { 3, 1966, 8687, 22, 7, UNI_INSC__VISARGA } /* indicsyllabiccategory=visarga */, + { 17, 9508, 8835, 5, 5, UNI_WB__EB } /* ccc=ccc133 */, + { 9, 9283, 0, 4, 0, UNI_PHLI } /* phli */, + { 0, 9624, 0, 4, 0, UNI_LAO } /* laoo */, + { 6, 10333, 7359, 3, 3, UNI_SAUR } /* issaur */, + { 0, 6469, 495, 12, 7, UNI_NT__NU } /* numerictype=numeric */, + { 1, 184, 727, 2, 2, UNI_MN } /* ismn */, + { 51, 10033, 58, 3, 2, UNI_LB__ID } /* lb=id */, + { 1, 9488, 9624, 4, 3, UNI_INLAO } /* blk=lao */, + { 1, 1988, 3, 22, 1, -UNI_LOE } /* logicalorderexception=f */, + { 0, 1513, 0, 24, 0, UNI_HIGHPUSURROGATES } /* highprivateusesurrogates */, + { 8, 1552, 1025, 9, 2, UNI_NO } /* category=no */, + { 1, 9768, 8428, 4, 7, UNI_GRAN } /* scx=grantha */, + { 1, 10048, 8075, 3, 8, UNI_NV__7_SLASH_8 } /* nv=8.75e-01 */, + { 0, 8780, 7621, 6, 9, UNI_INNABATAEAN } /* block=nabataean */, + { 0, 184, 1274, 3, 19, UNI_CE } /* iscompositionexclusion */, + { 0, 5791, 1511, 13, 3, UNI_JG__HAH } /* joininggroup=hah */, + { 0, 9277, 9808, 3, 4, UNI_TALU } /* sc=talu */, + { 2, 4033, 1059, 16, 2, UNI_SO } /* generalcategory=so */, + { 17, 6554, 9836, 11, 4, UNI_IDC } /* idcontinue=true */, + { 3, 3836, 4883, 17, 15, UNI_SARB } /* scriptextensions=oldsoutharabian */, + { 8, 184, 2122, 2, 7, UNI_RADICAL } /* isradical */, + { 1, 7325, 7826, 3, 2, UNI_IN__12 } /* in=12 */, + { 17, 7158, 10135, 10, 3, UNI_DIA } /* diacritic=yes */, + { 1, 8589, 7168, 7, 10, UNI_DIAK } /* script=divesakuru */, + { 0, 9330, 0, 5, 0, UNI_TALE } /* taile */, + { 1, 1417, 8066, 24, 2, UNI_CCC__28 } /* canonicalcombiningclass=28 */, + { 0, 10296, 7438, 7, 4, UNI_POSIXWORD } /* isposixword */, + { 2, 184, 1033, 2, 11, UNI_ENCLOSEDCJK } /* isenclosedcjk */, + { 34, 7368, 0, 10, 0, UNI_SMALLFORMS } /* smallforms */, + { 4, 184, 9900, 2, 4, UNI_ZZZZ } /* iszzzz */, + { 3, 10027, 4748, 3, 15, UNI_JG__MANICHAEANGIMEL } /* jg=manichaeangimel */, + { 9, 3836, 6409, 17, 4, UNI_MEND } /* scriptextensions=mend */, + { 0, 10012, 8, 3, 1, UNI_EA__A } /* ea=a */, + { 0, 1834, 1025, 22, 2, -UNI_CWT } /* changeswhentitlecased=no */, + { 2, 7155, 4674, 3, 14, UNI_INHANGUL } /* ishangulsyllables */, + { 128, 10033, 3985, 3, 16, UNI_LB__CL } /* lb=closepunctuation */, + { 7, 10132, 495, 3, 7, UNI_WB__NU } /* wb=numeric */, + { 0, 1, 0, 1, 0, UNI_N } /* n */, + { 131, 5986, 8710, 13, 3, UNI_NV__600 } /* numericvalue=600 */, + { 0, 9768, 6193, 4, 6, UNI_HEBR } /* scx=hebrew */, + { 1, 1115, 0, 4, 0, UNI_HANG } /* hang */, + { 0, 1417, 9121, 25, 4, UNI_CCC__18 } /* canonicalcombiningclass=ccc18 */, + { 0, 7325, 7931, 3, 3, UNI_IN__4_DOT_1 } /* in=4.1 */, + { 0, 9277, 8610, 3, 4, UNI_SIDD } /* sc=sidd */, + { 0, 184, 3115, 2, 18, UNI_DEVANAGARIEXT } /* isdevanagariextended */, + { 2, 9277, 2240, 4, 3, UNI_SC__KTHI } /* sc=kthi */, + { 0, 5986, 7891, 13, 8, UNI_NV__1_SLASH_3 } /* numericvalue=3.33e-01 */, + { 0, 7218, 8251, 10, 8, UNI_LB__NL } /* linebreak=nextline */, + { 3, 9768, 9896, 4, 4, UNI_ZYYY } /* scx=zyyy */, + { 0, 7218, 6217, 10, 12, UNI_LB__IS } /* linebreak=infixnumeric */, + { 4, 9277, 9756, 3, 4, UNI_RUNR } /* sc=runr */, + { 8, 9488, 9008, 4, 6, UNI_INTHAANA } /* blk=thaana */, + { 0, 6409, 0, 12, 0, UNI_MEND } /* mendekikakui */, + { 0, 4305, 0, 5, 0, UNI_C } /* other */, + { 0, 7325, 8043, 3, 3, UNI_IN__8 } /* in=8.0 */, + { 1, 9277, 9480, 3, 4, UNI_BATK } /* sc=batk */, + { 0, 8589, 9608, 7, 4, UNI_KITS } /* script=kits */, + { 3, 3785, 0, 4, 0, UNI_MANI } /* mani */, + { 0, 9660, 0, 4, 0, UNI_MLYM } /* mlym */, + { 9, 6061, 36, 12, 1, UNI_BIDIC } /* bidicontrol=t */, + { 1, 9652, 0, 4, 0, UNI_MERC } /* merc */, + { 0, 10024, 4568, 3, 14, UNI_SC } /* gc=currencysymbol */, + { 168, 1856, 1025, 22, 2, -UNI_CWU } /* changeswhenuppercased=no */, + { 0, 9488, 2203, 4, 14, UNI_INHANIFIROHINGYA } /* blk=hanifirohingya */, + { 2, 184, 8435, 2, 6, UNI_GRBASE } /* isgrbase */, + { 4, 8688, 5033, 3, 4, UNI_ASCII } /* isascii */, + { 9, 9768, 4478, 4, 7, UNI_BRAI } /* scx=braille */, + { 0, 9768, 8547, 4, 7, UNI_OLCK } /* scx=olchiki */, + { 4, 7648, 0, 9, 0, UNI_ITAL } /* olditalic */, + { 0, 9277, 8942, 3, 4, UNI_LYDI } /* sc=lydi */, + { 19, 1552, 4245, 9, 10, UNI_SM } /* category=mathsymbol */, + { 0, 8589, 8547, 7, 7, UNI_OLCK } /* script=olchiki */, + { 1, 10132, 6917, 3, 11, UNI_WB__SQ } /* wb=singlequote */, + { 1, 8780, 8936, 6, 6, UNI_INLYCIAN } /* block=lycian */, + { 1, 9488, 4257, 4, 16, UNI_MISCMATHSYMBOLSB } /* blk=miscmathsymbolsb */, + { 3, 4033, 4305, 16, 5, UNI_C } /* generalcategory=other */, + { 0, 8780, 9065, 6, 5, UNI_INADLAM } /* block=adlam */, + { 0, 8780, 9340, 6, 5, UNI_VSSUP } /* block=vssup */, + { 0, 10236, 10220, 14, 11, UNI__PERL_FOLDS_TO_MULTI_CHAR } /* _perl_folds_to_multi_char */, + { 1, 3836, 4385, 17, 4, UNI_TANG } /* scriptextensions=tang */, + { 2, 10048, 8002, 3, 2, UNI_NV__26 } /* nv=26 */, + { 1, 6884, 0, 11, 0, UNI_HMNG } /* pahawhhmong */, + { 10, 2288, 2076, 4, 4, UNI_INHATRAN } /* inhatran */, + { 32, 184, 5200, 2, 14, UNI_KANASUP } /* iskanasupplement */, + { 33, 3097, 45, 18, 6, UNI_DT__COM } /* decompositiontype=compat */, + { 0, 7218, 3969, 10, 16, UNI_LB__CP } /* linebreak=closeparenthesis */, + { 16, 7318, 9967, 10, 3, UNI_IN__5_DOT_1 } /* presentin=5.1 */, + { 0, 2032, 9255, 22, 5, -UNI__PERL_NCHAR } /* noncharactercodepoint=false */, + { 9, 1417, 7877, 24, 2, UNI_CCC__13 } /* canonicalcombiningclass=13 */, + { 11, 9997, 865, 3, 2, UNI_BC__WS } /* bc=ws */, + { 1, 184, 5713, 2, 13, UNI_XPOSIXDIGIT } /* isdecimalnumber */, + { 4, 3836, 3115, 17, 4, UNI_DEVA } /* scriptextensions=deva */, + { 0, 8780, 2120, 7, 13, UNI_CJKRADICALSSUP } /* block=cjkradicalssup */, + { 38, 9488, 3341, 4, 8, UNI_DINGBATS } /* blk=dingbats */, + { 0, 5158, 0, 14, 0, UNI_INGREEK } /* greekandcoptic */, + { 0, 3079, 0, 4, 0, UNI_COPT } /* copt */, + { 0, 8589, 9032, 7, 6, UNI_WCHO } /* script=wancho */, + { 0, 9277, 5171, 3, 4, UNI_CHAM } /* sc=cham */, + { 0, 9277, 9724, 3, 4, UNI_PHNX } /* sc=phnx */, + { 0, 9860, 0, 3, 0, UNI_VAI } /* vai */, + { 4, 184, 7248, 2, 10, UNI_MISCARROWS } /* ismiscarrows */, + { 68, 7738, 10135, 9, 3, UNI_XIDS } /* xidstart=yes */, + { 21, 184, 567, 2, 2, UNI_NB } /* isnb */, + { 8, 1417, 9216, 25, 4, UNI_CCC__84 } /* canonicalcombiningclass=ccc84 */, + { 0, 21, 3421, 2, 4, UNI_RUMI } /* inrumi */, + { 0, 4448, 0, 5, 0, UNI_BAMU } /* bamum */, + { 1, 8589, 9460, 7, 4, UNI_ARMI } /* script=armi */, + { 0, 7325, 7821, 3, 1, UNI_IN__8 } /* in=8 */, + { 4, 9768, 4448, 4, 4, UNI_BAMU } /* scx=bamu */, + { 16, 9488, 6012, 4, 13, UNI_VERTICALFORMS } /* blk=verticalforms */, + { 34, 8589, 9728, 7, 4, UNI_MIAO } /* script=plrd */, + { 0, 9444, 9397, 4, 3, UNI_AGE__2_DOT_1 } /* age=2.1 */, + { 0, 719, 0, 30, 0, UNI_CUNEIFORMNUMBERS } /* cuneiformnumbersandpunctuation */, + { 0, 9768, 3169, 4, 4, UNI_ETHI } /* scx=ethi */, + { 0, 8780, 2010, 6, 22, UNI_MISCTECHNICAL } /* block=miscellaneoustechnical */, + { 0, 10126, 0, 3, 0, UNI_vo_values_index } /* vo= */, + { 7, 1988, 9836, 22, 4, UNI_LOE } /* logicalorderexception=true */, + { 2, 8589, 57, 7, 2, UNI_SC__YI } /* script=yi */, + { 0, 8400, 1025, 7, 2, -UNI_COMPEX } /* compex=no */, + { 1, 3836, 8666, 17, 4, UNI_TIRH } /* scriptextensions=tirh */, + { 1, 10060, 0, 3, 0, UNI_ri_values_index } /* ri= */, + { 1, 8449, 0, 7, 0, UNI_hyphen_values_index } /* hyphen= */, + { 0, 9488, 6829, 4, 11, UNI_MYANMAREXTB } /* blk=myanmarextb */, + { 0, 5578, 8554, 14, 7, UNI_SB__LE } /* sentencebreak=oletter */, + { 50, 6231, 3633, 3, 16, UNI_CYRILLICEXTA } /* incyrillicextendeda */, + { 4, 10033, 10174, 3, 2, UNI_LB__XX } /* lb=xx */, + { 0, 184, 9236, 3, 3, UNI_CWCM } /* iscwcm */, + { 1, 3836, 8414, 17, 4, UNI_ELBA } /* scriptextensions=elba */, + { 0, 184, 6277, 2, 7, UNI_MAHJONG } /* ismahjong */, + { 0, 5791, 6906, 13, 11, UNI_JG__ROHINGYAYEH } /* joininggroup=rohingyayeh */, + { 0, 11, 0, 3, 0, UNI_DIA } /* dia */, + { 1, 9488, 3547, 4, 10, UNI_ALCHEMICAL } /* blk=alchemical */, + { 0, 10060, 1025, 3, 2, -UNI_RI } /* ri=no */, + { 23, 8954, 9255, 6, 5, -UNI__PERL_NCHAR } /* nchar=false */, + { 11, 7738, 36, 9, 1, UNI_XIDS } /* xidstart=t */, + { 16, 1628, 0, 4, 0, UNI_PHAG } /* phag */, + { 0, 9488, 8351, 4, 7, UNI_CJKEXTA } /* blk=cjkexta */, + { 5, 4916, 9825, 3, 3, UNI_TGLG } /* istglg */, + { 2, 1417, 8835, 25, 5, UNI_WB__EB } /* canonicalcombiningclass=ccc133 */, + { 1, 184, 3650, 3, 16, UNI_CYRILLICEXTB } /* iscyrillicextendedb */, + { 7, 5986, 9372, 13, 3, UNI_NV__1_SLASH_4 } /* numericvalue=1/4 */, + { 1, 10033, 6178, 3, 2, UNI_LB__ZW } /* lb=zw */, + { 79, 1591, 3684, 3, 15, UNI_ETHIOPICEXT } /* inethiopicextended */, + { 0, 8780, 4673, 6, 15, UNI_INHANGUL } /* block=hangulsyllables */, + { 0, 4116, 2780, 3, 3, UNI_IDST } /* isidst */, + { 0, 8780, 3169, 6, 18, UNI_ETHIOPICSUP } /* block=ethiopicsupplement */, + { 195, 7325, 9991, 3, 3, UNI_IN__9 } /* in=9.0 */, + { 1, 1537, 2549, 24, 20, UNI_INPC__TOPANDBOTTOMANDRIGHT } /* indicpositionalcategory=topandbottomandright */, + { 2, 8589, 8888, 7, 4, UNI_HATR } /* script=hatr */, + { 24, 9225, 0, 5, 0, UNI_XPOSIXCNTRL } /* cntrl */, + { 17, 9768, 9568, 4, 4, UNI_GREK } /* scx=grek */, + { 0, 9290, 0, 5, 0, UNI_math_values_index } /* math= */, + { 0, 7218, 73, 10, 2, UNI_EMOD } /* linebreak=em */, + { 0, 10333, 8597, 3, 6, UNI_SHRD } /* issharada */, + { 1, 10129, 1025, 3, 2, -UNI_VS } /* vs=no */, { 0, 184, 660, 3, 29, UNI_CJKEXTF } /* iscjkunifiedideographsextensionf */, - { 72, 5578, 0, 13, 0, UNI_KANAEXTA } /* kanaextendeda */, - { 129, 9113, 8445, 4, 3, UNI_CCC__107 } /* ccc=107 */, - { 8, 6231, 39, 12, 2, UNI_XPOSIXDIGIT } /* numerictype=de */, - { 0, 9365, 57, 4, 2, UNI_YI } /* scx=yi */, - { 28, 7128, 697, 10, 2, UNI_WB__MN } /* wordbreak=mn */, - { 2, 8170, 0, 7, 0, UNI_nfkdqc_values_index } /* nfkdqc= */, - { 1, 1289, 0, 25, 0, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* symbolsandpictographsexta */, - { 6, 2204, 9310, 3, 3, UNI_OSGE } /* isosge */, - { 6, 184, 1030, 3, 3, UNI_COPT } /* iscopt */, - { 5, 8424, 1338, 6, 24, UNI_ARABICPFB } /* block=arabicpresentationformsb */, - { 90, 9093, 1622, 4, 23, UNI_LATINEXTADDITIONAL } /* blk=latinextendedadditional */, - { 19, 9623, 2127, 3, 21, UNI_JG__HANIFIROHINGYAKINNAYA } /* jg=hanifirohingyakinnaya */, - { 20, 3293, 1, 3, 41, UNI_UCASEXT } /* inunifiedcanadianaboriginalsyllabicsextended */, - { 73, 6005, 5860, 3, 11, UNI_CHESSSYMBOLS } /* inchesssymbols */, - { 3, 7128, 495, 10, 2, UNI_WB__NU } /* wordbreak=nu */, - { 104, 5760, 8388, 13, 3, UNI_NV__700 } /* numericvalue=700 */, - { 46, 8874, 3, 5, 1, -UNI_IDST } /* idst=f */, - { 1, 6816, 1531, 3, 22, UNI_BYZANTINEMUSIC } /* inbyzantinemusicalsymbols */, - { 0, 8886, 8527, 4, 5, UNI_SC__KTHI } /* sc=kaithi */, - { 0, 9093, 4220, 4, 16, UNI_TANGUTCOMPONENTS } /* blk=tangutcomponents */, - { 0, 5435, 26, 13, 1, UNI_BIDIM } /* bidimirrored=y */, - { 1, 2232, 0, 6, 0, UNI_YIJING } /* yijing */, - { 3, 9620, 27, 3, 2, UNI_LOWERCASELETTER } /* gc=ll */, - { 1, 3671, 7796, 17, 8, UNI_BASS } /* scriptextensions=bassavah */, - { 3, 1911, 2293, 22, 20, UNI_INSC__CONSONANTPLACEHOLDER } /* indicsyllabiccategory=consonantplaceholder */, - { 0, 4717, 0, 15, 0, UNI_TAMILSUP } /* tamilsupplement */, - { 19, 9093, 6646, 4, 11, UNI_INPAHAWHHMONG } /* blk=pahawhhmong */, - { 51, 9113, 7747, 4, 2, UNI_CCC__28 } /* ccc=28 */, - { 0, 9113, 8437, 5, 4, UNI_CCC__10 } /* ccc=ccc10 */, - { 0, 8424, 921, 6, 18, UNI_INVS } /* block=variationselectors */, - { 5, 2409, 0, 4, 0, UNI_MONG } /* mong */, - { 1, 3254, 995, 18, 2, -UNI_RI } /* regionalindicator=no */, - { 0, 1977, 0, 22, 0, UNI_nchar_values_index } /* noncharactercodepoint= */, - { 2, 184, 1824, 3, 21, UNI_CJKCOMPATIDEOGRAPHSSUP } /* iscjkcompatideographssup */, - { 1, 8424, 6171, 6, 12, UNI_MATHALPHANUM } /* block=mathalphanum */, - { 4, 8884, 0, 5, 0, UNI_insc_values_index } /* insc= */, - { 0, 9593, 2190, 3, 21, UNI_BC__PDI } /* bc=popdirectionalisolate */, - { 14, 9647, 7700, 3, 8, UNI_NV__2_SLASH_3 } /* nv=6.67e-01 */, - { 24, 8424, 6267, 6, 8, UNI_PHAISTOS } /* block=phaistos */, - { 0, 8424, 8240, 6, 7, UNI_INSHARADA } /* block=sharada */, - { 3, 9093, 2893, 4, 19, UNI_SUPARROWSC } /* blk=supplementalarrowsc */, - { 12, 184, 8058, 2, 7, UNI_DSRT } /* isdeseret */, - { 4, 9383, 1647, 4, 21, UNI_SHORTHANDFORMATCONTROLS } /* inshorthandformatcontrols */, - { 19, 6918, 9753, 10, 2, UNI_LB__B2 } /* linebreak=b2 */, - { 4, 8886, 8939, 3, 5, UNI_SC__TALE } /* sc=taile */, - { 0, 3671, 9101, 17, 4, UNI_BUHD } /* scriptextensions=buhd */, - { 7, 9365, 7118, 4, 10, UNI_WARA } /* scx=warangciti */, - { 139, 8886, 6246, 3, 4, UNI_HUNG } /* sc=hung */, - { 0, 8886, 9229, 3, 4, UNI_SC__LINB } /* sc=linb */, - { 8, 9731, 34, 3, 2, UNI_WB__EX } /* wb=ex */, - { 0, 9959, 8326, 4, 5, UNI_ZZZZ } /* isunknown */, - { 49, 1257, 0, 2, 0, UNI_UPPERCASELETTER } /* lu */, - { 1, 8886, 9213, 3, 4, UNI_LANA } /* sc=lana */, - { 2, 4580, 393, 3, 2, UNI_INMRO } /* inmro */, - { 5, 1158, 8290, 3, 6, UNI_INTAITHAM } /* intaitham */, - { 322, 8086, 995, 7, 2, -UNI_GRBASE } /* grbase=no */, - { 9, 3620, 0, 4, 0, UNI_MANI } /* mani */, - { 23, 7332, 0, 4, 0, UNI_ITAL } /* ital */, - { 0, 8233, 8282, 7, 7, UNI_SC__TGLG } /* script=tagalog */, - { 0, 9593, 3074, 3, 18, UNI_BC__FSI } /* bc=firststrongisolate */, - { 0, 184, 1192, 2, 4, UNI_KANA } /* iskana */, - { 0, 8886, 6901, 6, 7, UNI_KHAR } /* sc=kharoshthi */, - { 0, 7025, 7435, 3, 2, UNI_IN__11 } /* in=11 */, - { 4, 5085, 4177, 4, 11, UNI_MATHOPERATORS } /* inmathoperators */, - { 27, 9093, 5017, 4, 14, UNI_LATINEXTC } /* blk=latinextendedc */, - { 65, 3128, 0, 17, 0, UNI_IDSB } /* idsbinaryoperator */, - { 0, 9093, 2064, 4, 14, UNI_CJKRADICALSSUP } /* blk=cjkradicalssup */, - { 33, 9121, 8864, 4, 5, -UNI_CWL } /* cwl=false */, - { 3, 5213, 9734, 14, 3, UNI_NFCQC__Y } /* nfcquickcheck=yes */, - { 0, 1362, 7723, 24, 2, UNI_CCC__18 } /* canonicalcombiningclass=18 */, - { 0, 6005, 115, 4, 23, UNI_DIACRITICALS } /* incombiningdiacriticalmarks */, - { 0, 184, 1030, 3, 5, UNI_COPT } /* iscoptic */, - { 0, 8233, 9233, 7, 4, UNI_LISU } /* script=lisu */, - { 0, 8412, 995, 6, 2, -UNI_BIDIC } /* bidic=no */, - { 6, 3671, 8929, 17, 5, UNI_OSGE } /* scriptextensions=osage */, - { 11, 2106, 70, 21, 2, UNI_GCB__PP } /* graphemeclusterbreak=pp */, - { 66, 9909, 468, 3, 10, UNI_P } /* ispunctuation */, - { 15, 9177, 0, 4, 0, UNI_HANO } /* hano */, - { 1, 9093, 3308, 4, 18, UNI_SMALLKANAEXT } /* blk=smallkanaextension */, - { 11, 6194, 6979, 3, 9, UNI_INOLDPERSIAN } /* inoldpersian */, - { 7, 9608, 9461, 3, 4, UNI_EA__W } /* ea=wide */, - { 2, 8233, 9081, 7, 4, UNI_AVST } /* script=avst */, - { 2, 6005, 2950, 4, 16, UNI_HALFMARKS } /* incombininghalfmarks */, - { 144, 21, 8562, 2, 6, UNI_INLYCIAN } /* inlycian */, - { 3, 3671, 9301, 17, 4, UNI_ORKH } /* scriptextensions=orkh */, - { 0, 5760, 8376, 13, 3, UNI_NV__500 } /* numericvalue=500 */, - { 0, 5085, 330, 4, 19, UNI_MATHOPERATORS } /* inmathematicaloperators */, - { 1, 9647, 7756, 3, 8, UNI_NV__7_SLASH_8 } /* nv=8.75e-01 */, - { 9, 9093, 689, 4, 9, UNI_INCUNEIFORM } /* blk=cuneiform */, - { 2, 8332, 9082, 3, 3, UNI_AVST } /* isavst */, - { 1, 9313, 995, 4, 2, -UNI_PCM } /* pcm=no */, - { 0, 9623, 87, 3, 2, UNI_JG__HE } /* jg=he */, - { 21, 6828, 4284, 12, 13, UNI_BC__BN } /* bidiclass=boundaryneutral */, - { 3, 1779, 0, 21, 0, UNI_CWT } /* changeswhentitlecased */, - { 0, 3671, 9473, 17, 4, UNI_YI } /* scriptextensions=yiii */, - { 33, 6948, 0, 10, 0, UNI_MISCARROWS } /* miscarrows */, - { 268, 21, 7248, 2, 9, UNI_INKHUDAWADI } /* inkhudawadi */, - { 38, 5565, 9656, 13, 3, UNI_JG__REH } /* joininggroup=reh */, - { 24, 8233, 8944, 7, 5, UNI_SC__TAKR } /* script=takri */, - { 66, 8886, 6243, 3, 12, UNI_HUNG } /* sc=oldhungarian */, - { 0, 0, 0, 42, 0, UNI_UCASEXT } /* unifiedcanadianaboriginalsyllabicsextended */, - { 0, 9153, 881, 4, 1, UNI_GCB__V } /* gcb=v */, - { 0, 8233, 4946, 7, 4, UNI_CHAM } /* script=cham */, - { 0, 9093, 1162, 4, 26, UNI_HALFANDFULLFORMS } /* blk=halfwidthandfullwidthforms */, - { 1, 8424, 8303, 6, 7, UNI_INTIBETAN } /* block=tibetan */, - { 66, 8685, 995, 4, 2, -UNI_XPOSIXXDIGIT } /* hex=no */, - { 65, 9629, 9759, 3, 2, UNI_LB__H3 } /* lb=h3 */, - { 13, 7916, 0, 8, 0, UNI_MAHJ } /* mahajani */, - { 184, 9731, 18, 3, 2, UNI_RI } /* wb=ri */, - { 2, 184, 3603, 2, 17, UNI_LETTERLIKESYMBOLS } /* isletterlikesymbols */, - { 0, 4778, 58, 3, 4, UNI_UIDEO } /* isuideo */, - { 289, 8640, 995, 6, 2, -UNI_XPOSIXUPPER } /* upper=no */, - { 0, 9933, 3248, 7, 5, UNI_XPOSIXSPACE } /* isxperlspace */, - { 0, 4627, 8904, 15, 5, UNI_NFCQC__M } /* nfkcquickcheck=maybe */, - { 0, 9093, 831, 4, 6, UNI_ARROWS } /* blk=arrows */, - { 1, 9113, 2733, 4, 2, UNI_CCC__1 } /* ccc=ov */, - { 1, 7058, 0, 10, 0, UNI_SMALLFORMS } /* smallforms */, - { 1, 184, 1036, 2, 2, UNI_CASEDLETTER } /* islc */, - { 1, 2204, 3201, 3, 17, UNI_ORNAMENTALDINGBATS } /* isornamentaldingbats */, - { 14, 4387, 0, 15, 0, UNI_CURRENCYSYMBOLS } /* currencysymbols */, - { 0, 9623, 6120, 3, 3, UNI_JG__NYA } /* jg=nya */, - { 0, 6231, 0, 12, 0, UNI_nt_values_index } /* numerictype= */, - { 12, 8604, 0, 5, 0, UNI_QMARK } /* qmark */, - { 38, 184, 2274, 3, 19, UNI_PC } /* isconnectorpunctuation */, - { 1, 9647, 8981, 3, 4, UNI_NV__1_SLASH_40 } /* nv=1/40 */, - { 2, 9349, 0, 4, 0, UNI_ROHG } /* rohg */, - { 3, 9903, 62, 6, 5, UNI_XPOSIXGRAPH } /* xposixgraph */, - { 42, 8886, 6690, 3, 11, UNI_SORA } /* sc=sorasompeng */, - { 0, 6828, 0, 11, 0, UNI_BC__B } /* bidiclass=b */, - { 59, 9093, 9217, 4, 3, UNI_INLAO } /* blk=lao */, - { 0, 8424, 2590, 7, 18, UNI_COUNTINGROD } /* block=countingrodnumerals */, - { 5, 8233, 8894, 7, 4, UNI_SC__LIMB } /* script=limb */, - { 4, 184, 5283, 2, 14, UNI_PHONETICEXTSUP } /* isphoneticextsup */, - { 0, 9365, 8699, 4, 5, UNI_BATK } /* scx=batak */, - { 0, 3671, 4267, 17, 5, UNI_BAMU } /* scriptextensions=bamum */, - { 1, 3248, 0, 6, 0, UNI_wspace_values_index } /* space= */, - { 2, 9093, 719, 4, 16, UNI_ENCLOSEDALPHANUM } /* blk=enclosedalphanum */, - { 0, 8424, 8550, 6, 6, UNI_INLEPCHA } /* block=lepcha */, - { 1, 9623, 5936, 3, 7, UNI_JG__SEMKATH } /* jg=semkath */, - { 1, 5339, 1059, 15, 2, UNI_SB__SE } /* sentencebreak=sep */, - { 0, 8854, 9433, 5, 4, UNI_DASH } /* dash=true */, - { 26, 2148, 0, 21, 0, UNI_PRTI } /* inscriptionalparthian */, - { 2, 8886, 8859, 3, 5, UNI_SC__DOGR } /* sc=dogra */, - { 0, 5565, 6099, 13, 12, UNI_JG__MALAYALAMNNA } /* joininggroup=malayalamnna */, - { 1, 3671, 2085, 17, 8, UNI_CYRL } /* scriptextensions=cyrillic */, - { 0, 7025, 9449, 3, 4, UNI_IN__12_DOT_1 } /* in=v121 */, - { 1, 3671, 8944, 17, 4, UNI_TAKR } /* scriptextensions=takr */, - { 0, 9365, 6183, 4, 12, UNI_MEND } /* scx=mendekikakui */, - { 79, 8332, 2393, 3, 2, UNI_ANY } /* isany */, - { 5, 8520, 3, 6, 1, -UNI_JOINC } /* joinc=f */, - { 0, 9093, 7068, 4, 10, UNI_SUPARROWSA } /* blk=suparrowsa */, - { 18, 3671, 9233, 17, 4, UNI_LISU } /* scriptextensions=lisu */, - { 0, 184, 7844, 2, 8, UNI_GUJR } /* isgujarati */, - { 3, 184, 7852, 2, 8, UNI_GURU } /* isgurmukhi */, - { 64, 1497, 1855, 9, 2, UNI_CN } /* category=cn */, - { 2, 3671, 2779, 17, 9, UNI_MONG } /* scriptextensions=mongolian */, - { 24, 4672, 0, 15, 0, UNI_SARB } /* oldsoutharabian */, - { 1, 9153, 5258, 4, 11, UNI_GCB__SM } /* gcb=spacingmark */, - { 0, 8955, 8864, 4, 5, -UNI_IDC } /* idc=false */, - { 6, 9365, 6898, 4, 4, UNI_KHAR } /* scx=khar */, - { 0, 3671, 7860, 17, 4, UNI_HIRA } /* scriptextensions=hira */, - { 12, 9365, 7365, 4, 9, UNI_PAUC } /* scx=paucinhau */, - { 1, 8424, 3210, 6, 8, UNI_DINGBATS } /* block=dingbats */, - { 16, 8424, 218, 7, 32, UNI_DIACRITICALSEXT } /* block=combiningdiacriticalmarksextended */, - { 128, 6194, 125, 3, 2, UNI_OCR } /* inocr */, - { 24, 3002, 5678, 18, 4, UNI_DT__NONE } /* decompositiontype=none */, - { 1, 1497, 1844, 9, 2, UNI_PC } /* category=pc */, - { 0, 184, 9089, 2, 4, UNI_BHKS } /* isbhks */, - { 7, 5325, 9734, 14, 3, UNI_QMARK } /* quotationmark=yes */, - { 0, 9093, 5552, 4, 6, UNI_IPAEXT } /* blk=ipaext */, - { 0, 9620, 4829, 3, 5, UNI_XPOSIXDIGIT } /* gc=digit */, - { 0, 1497, 3218, 9, 18, UNI_ZP } /* category=paragraphseparator */, - { 40, 184, 9775, 2, 2, UNI_ZL } /* iszl */, - { 0, 8424, 3980, 6, 16, UNI_LINEARBIDEOGRAMS } /* block=linearbideograms */, - { 0, 9623, 7948, 3, 8, UNI_JG__SWASHKAF } /* jg=swashkaf */, - { 1, 4627, 9734, 15, 3, UNI_NFKCQC__Y } /* nfkcquickcheck=yes */, - { 0, 8233, 2333, 7, 4, UNI_SC__GLAG } /* script=glag */, - { 1, 8406, 8864, 6, 5, -UNI_XPOSIXALPHA } /* alpha=false */, - { 39, 3038, 0, 18, 0, UNI_ETHIOPICSUP } /* ethiopicsupplement */, - { 2, 4582, 0, 15, 0, UNI_MERC } /* meroiticcursive */, - { 6, 184, 6869, 3, 9, UNI_COMPATJAMO } /* iscompatjamo */, - { 0, 8871, 33, 3, 2, UNI_SB__SE } /* sb=se */, - { 5, 9113, 7611, 4, 2, UNI_CCC__14 } /* ccc=14 */, - { 0, 5339, 34, 14, 2, UNI_SB__EX } /* sentencebreak=ex */, - { 1, 3671, 5311, 17, 14, UNI_PHLP } /* scriptextensions=psalterpahlavi */, - { 1, 1497, 878, 9, 10, UNI_CO } /* category=privateuse */, - { 0, 7025, 7724, 3, 3, UNI_IN__8 } /* in=8.0 */, - { 0, 6828, 835, 10, 2, UNI_BC__WS } /* bidiclass=ws */, - { 24, 184, 5907, 2, 12, UNI_ETHIOPICEXTA } /* isethiopicexta */, - { 3, 7128, 9773, 10, 2, UNI_WB__XX } /* wordbreak=xx */, - { 1, 9365, 9353, 4, 4, UNI_RUNR } /* scx=runr */, - { 0, 8424, 837, 6, 11, UNI_PHONETICEXT } /* block=phoneticext */, - { 0, 9113, 8467, 5, 4, UNI_CCC__13 } /* ccc=ccc13 */, - { 0, 3398, 9734, 18, 3, UNI_VS } /* variationselector=yes */, - { 0, 3416, 0, 17, 0, UNI_ALCHEMICAL } /* alchemicalsymbols */, - { 27, 8233, 1845, 7, 6, UNI_SC__ZYYY } /* script=common */, - { 1, 8616, 0, 7, 0, UNI_STERM } /* sterm=t */, - { 0, 21, 3418, 4, 8, UNI_ALCHEMICAL } /* inalchemical */, - { 36, 8886, 8121, 3, 7, UNI_SC__LINA } /* sc=lineara */, - { 16, 7018, 9695, 10, 3, UNI_IN__5 } /* presentin=v50 */, - { 0, 8424, 0, 6, 42, UNI_UCASEXT } /* block=unifiedcanadianaboriginalsyllabicsextended */, - { 0, 8233, 8859, 7, 4, UNI_SC__DOGR } /* script=dogr */, - { 24, 5513, 8864, 13, 5, -UNI_GRBASE } /* graphemebase=false */, - { 43, 8424, 7788, 6, 8, UNI_INBALINESE } /* block=balinese */, - { 1, 8886, 7812, 3, 4, UNI_SC__DUPL } /* sc=dupl */, - { 1, 9093, 414, 4, 32, UNI_INIDC } /* blk=ideographicdescriptioncharacters */, - { 7, 8886, 9361, 3, 4, UNI_SARB } /* sc=sarb */, - { 0, 4705, 7957, 3, 3, UNI_TAGB } /* istagb */, - { 0, 9049, 7495, 4, 1, UNI_AGE__7 } /* age=7 */, - { 4, 8233, 9345, 7, 4, UNI_RJNG } /* script=rjng */, - { 11, 6580, 0, 11, 0, UNI_MYANMAREXTA } /* myanmarexta */, - { 3, 1497, 2192, 9, 2, UNI_PD } /* category=pd */, - { 3, 9365, 9117, 4, 4, UNI_CPRT } /* scx=cprt */, - { 5, 1790, 0, 5, 0, UNI_TITLE } /* title */, - { 0, 5835, 0, 5, 0, UNI_BIDIC } /* bidic */, - { 2, 7018, 9548, 10, 3, UNI_IN__3 } /* presentin=3.0 */, - { 0, 3868, 6635, 16, 11, UNI_SO } /* generalcategory=othersymbol */, - { 0, 9629, 4631, 3, 2, UNI_LB__QU } /* lb=qu */, - { 32, 8430, 0, 4, 0, UNI_CARI } /* cari */, - { 13, 8338, 8864, 7, 5, -UNI_XPOSIXSPACE } /* wspace=false */, - { 2, 7018, 7507, 10, 2, UNI_IN__12 } /* presentin=12 */, - { 1, 184, 8709, 2, 5, UNI_BUHD } /* isbuhid */, - { 13, 9731, 7293, 3, 9, UNI_WB__MB } /* wb=midnumlet */, - { 28, 1136, 8864, 26, 5, -UNI_DI } /* defaultignorablecodepoint=false */, - { 14, 8219, 8864, 7, 5, -UNI_PATSYN } /* patsyn=false */, - { 68, 1867, 0, 22, 0, UNI_DIACRITICALSFORSYMBOLS } /* diacriticalsforsymbols */, - { 0, 9365, 8072, 4, 7, UNI_ELYM } /* scx=elymaic */, - { 1, 5017, 0, 14, 0, UNI_LATINEXTC } /* latinextendedc */, - { 0, 9237, 26, 4, 1, UNI_LOE } /* loe=y */, - { 0, 8886, 9217, 3, 3, UNI_LAO } /* sc=lao */, - { 0, 9365, 2212, 5, 6, UNI_SINH } /* scx=sinhala */, - { 3, 7025, 7507, 3, 2, UNI_IN__12 } /* in=12 */, - { 0, 8586, 26, 6, 1, UNI_NFCQC__Y } /* nfcqc=y */, - { 11, 9093, 8261, 4, 7, UNI_INSOYOMBO } /* blk=soyombo */, - { 0, 8424, 2148, 6, 21, UNI_ININSCRIPTIONALPARTHIAN } /* block=inscriptionalparthian */, - { 1, 184, 1411, 3, 23, UNI_DIACRITICALSFORSYMBOLS } /* iscombiningmarksforsymbols */, - { 1, 9313, 9734, 4, 3, UNI_PCM } /* pcm=yes */, - { 1, 8233, 9269, 7, 4, UNI_SC__MYMR } /* script=mymr */, - { 0, 1158, 4718, 3, 4, UNI_INTAMIL } /* intamil */, - { 0, 8233, 9173, 7, 4, UNI_SC__GURU } /* script=guru */, - { 1, 3868, 1410, 16, 13, UNI_M } /* generalcategory=combiningmark */, - { 0, 184, 8508, 2, 5, UNI_GREXT } /* isgrext */, - { 84, 1713, 0, 22, 0, UNI_cwcf_values_index } /* changeswhencasefolded= */, - { 281, 2453, 3, 20, 1, -UNI_TERM } /* terminalpunctuation=f */, - { 0, 1450, 2178, 5, 5, UNI_GREEKEXT } /* ingreekext */, - { 0, 8424, 2646, 6, 19, UNI_JAMOEXTA } /* block=hanguljamoextendeda */, - { 0, 7420, 36, 8, 1, UNI_IDS } /* idstart=t */, - { 1, 4642, 995, 15, 2, UNI_NFKDQC__N } /* nfkdquickcheck=no */, - { 72, 9093, 8037, 4, 7, UNI_CJKEXTE } /* blk=cjkexte */, - { 1, 8051, 26, 7, 1, UNI_COMPEX } /* compex=y */, - { 5, 7419, 0, 4, 0, UNI_XIDS } /* xids */, - { 0, 1844, 0, 2, 0, UNI_PC } /* pc */, - { 4, 1362, 9515, 24, 3, UNI_CCC__214 } /* canonicalcombiningclass=214 */, - { 0, 21, 8652, 2, 6, UNI_INWANCHO } /* inwancho */, - { 46, 8886, 9405, 3, 4, UNI_TALU } /* sc=talu */, - { 0, 8635, 995, 5, 2, -UNI_IDEO } /* ideo=no */, - { 14, 21, 3603, 2, 17, UNI_LETTERLIKESYMBOLS } /* inletterlikesymbols */, - { 84, 9093, 837, 4, 28, UNI_PHONETICEXTSUP } /* blk=phoneticextensionssupplement */, - { 0, 5339, 721, 14, 2, UNI_SB__CL } /* sentencebreak=cl */, - { 9, 5565, 2561, 13, 9, UNI_JG__YEHBARREE } /* joininggroup=yehbarree */, - { 51, 8580, 0, 6, 0, UNI_nchar_values_index } /* nchar= */, - { 0, 8424, 8275, 6, 7, UNI_SUPPUAB } /* block=suppuab */, - { 2, 6005, 4864, 3, 13, UNI_CJKCOMPATFORMS } /* incjkcompatforms */, - { 1, 9620, 1156, 3, 2, UNI_PO } /* gc=po */, - { 6, 3002, 4801, 18, 6, UNI_DT__SQR } /* decompositiontype=square */, - { 194, 262, 0, 2, 0, UNI_SM } /* sm */, - { 1, 3671, 2837, 18, 8, UNI_SUND } /* scriptextensions=sundanese */, - { 0, 184, 4792, 2, 15, UNI_ZANB } /* iszanabazarsquare */, - { 1, 9365, 9265, 4, 4, UNI_MTEI } /* scx=mtei */, - { 44, 3398, 36, 18, 1, UNI_VS } /* variationselector=t */, - { 37, 8233, 7964, 7, 8, UNI_TFNG } /* script=tifinagh */, - { 13, 3772, 0, 11, 0, UNI_BOPOMOFOEXT } /* bopomofoext */, - { 3, 467, 0, 11, 0, UNI_P } /* punctuation */, - { 31, 9647, 8364, 3, 4, UNI_NV__4000 } /* nv=4000 */, - { 71, 184, 435, 2, 5, UNI__PERL_NCHAR } /* isnchar */, - { 16, 184, 8840, 3, 4, UNI_XPOSIXCNTRL } /* iscntrl */, - { 0, 3671, 8924, 17, 5, UNI_ORYA } /* scriptextensions=oriya */, - { 10, 6690, 0, 11, 0, UNI_SORA } /* sorasompeng */, - { 8, 8886, 9493, 3, 4, UNI_ZZZZ } /* sc=zzzz */, - { 24, 7018, 9578, 10, 3, UNI_IN__6_DOT_3 } /* presentin=6.3 */, - { 139, 6918, 8100, 10, 6, UNI_LB__HY } /* linebreak=hyphen */, - { 0, 8424, 2798, 6, 19, UNI_OTTOMANSIYAQNUMBERS } /* block=ottomansiyaqnumbers */, - { 3, 9647, 8352, 3, 6, UNI_NV__216000 } /* nv=216000 */, - { 1, 2106, 3254, 21, 17, UNI_RI } /* graphemeclusterbreak=regionalindicator */, - { 0, 9365, 6243, 4, 12, UNI_HUNG } /* scx=oldhungarian */, - { 3, 9647, 8394, 3, 3, UNI_NV__800 } /* nv=800 */, - { 27, 9093, 5311, 4, 14, UNI_INPSALTERPAHLAVI } /* blk=psalterpahlavi */, - { 3, 9946, 107, 3, 5, UNI_S } /* issymbol */, - { 66, 9093, 2984, 4, 6, UNI_INCOPTIC } /* blk=coptic */, - { 0, 9093, 5617, 4, 9, UNI_INMALAYALAM } /* blk=malayalam */, - { 0, 8854, 0, 5, 0, UNI_dash_values_index } /* dash= */, - { 0, 9093, 3552, 4, 16, UNI_ETHIOPICEXT } /* blk=ethiopicextended */, - { 4, 184, 2065, 3, 13, UNI_CJKRADICALSSUP } /* iscjkradicalssup */, - { 1, 9049, 7507, 4, 4, UNI_AGE__12 } /* age=12.0 */, - { 0, 9253, 0, 4, 0, UNI_MIAO } /* miao */, - { 40, 8886, 8568, 3, 6, UNI_LYDI } /* sc=lydian */, - { 0, 8233, 9305, 7, 4, UNI_SC__ORYA } /* script=orya */, - { 0, 3671, 8538, 17, 4, UNI_KHOJ } /* scriptextensions=khoj */, - { 0, 4447, 9461, 15, 4, UNI_EA__W } /* eastasianwidth=wide */, - { 27, 3671, 9065, 17, 4, UNI_ARMI } /* scriptextensions=armi */, - { 0, 9093, 3756, 4, 9, UNI_ARABICSUP } /* blk=arabicsup */, - { 0, 8424, 2893, 6, 19, UNI_SUPARROWSC } /* block=supplementalarrowsc */, - { 0, 184, 1411, 3, 12, UNI_M } /* iscombiningmark */, - { 1, 6015, 6291, 12, 12, UNI_JT__R } /* joiningtype=rightjoining */, - { 0, 9393, 0, 4, 0, UNI_SYRC } /* syrc */, - { 0, 8332, 7774, 4, 6, UNI_ARMN } /* isarmenian */, - { 0, 5565, 8658, 13, 6, UNI_JG__YUDHHE } /* joininggroup=yudhhe */, - { 1, 9093, 7980, 4, 8, UNI_INUGARITIC } /* blk=ugaritic */, - { 1, 9647, 9503, 3, 3, UNI_NV__1_SLASH_9 } /* nv=1/9 */, - { 5, 9049, 9713, 4, 3, UNI_AGE__6_DOT_3 } /* age=v63 */, - { 0, 6918, 495, 10, 2, UNI_LB__NU } /* linebreak=nu */, - { 1, 6885, 2647, 3, 18, UNI_JAMOEXTA } /* ishanguljamoextendeda */, - { 0, 9365, 3038, 4, 4, UNI_ETHI } /* scx=ethi */, - { 3, 1532, 0, 1, 0, UNI_Z } /* z */, - { 29, 9365, 9069, 4, 4, UNI_ARMN } /* scx=armn */, - { 0, 21, 6767, 2, 11, UNI_YISYLLABLES } /* inyisyllables */, - { 0, 9953, 67, 3, 4, UNI_VSSUP } /* isvssup */, - { 101, 9365, 2484, 4, 4, UNI_MAND } /* scx=mand */, - { 0, 9093, 8003, 5, 6, UNI_INBENGALI } /* blk=bengali */, - { 1, 8886, 2741, 3, 19, UNI_MERO } /* sc=meroitichieroglyphs */, - { 36, 8233, 9261, 7, 3, UNI_MRO } /* script=mro */, - { 135, 9093, 2253, 4, 20, UNI_INANATOLIANHIEROGLYPHS } /* blk=anatolianhieroglyphs */, - { 0, 9647, 8394, 3, 5, UNI_NV__80000 } /* nv=80000 */, - { 1, 7239, 0, 9, 0, UNI_QAAI } /* inherited */, - { 8, 9093, 7302, 4, 9, UNI_INNABATAEAN } /* blk=nabataean */, - { 3, 2021, 0, 15, 0, UNI_TRANSPORTANDMAP } /* transportandmap */, - { 144, 184, 6382, 2, 11, UNI_DOMINO } /* isdominotiles */, - { 0, 629, 0, 30, 0, UNI_CJKEXTE } /* cjkunifiedideographsextensione */, - { 1, 184, 4597, 2, 15, UNI_MISCPICTOGRAPHS } /* ismiscpictographs */, - { 0, 9647, 7748, 3, 8, UNI_NV__17_SLASH_2 } /* nv=8.50e+00 */, - { 0, 6828, 102, 10, 2, UNI_BC__ET } /* bidiclass=et */, - { 3, 9365, 8610, 4, 6, UNI_RJNG } /* scx=rejang */, - { 4, 5565, 3916, 13, 16, UNI_JG__HANIFIROHINGYAPA } /* joininggroup=hanifirohingyapa */, - { 0, 184, 7788, 2, 4, UNI_BALI } /* isbali */, - { 2, 6338, 1, 11, 1, -UNI_XPOSIXALPHA } /* alphabetic=n */, - { 1, 184, 2985, 3, 17, UNI_COPTICEPACTNUMBERS } /* iscopticepactnumbers */, - { 2, 9049, 9581, 4, 3, UNI_AGE__7 } /* age=7.0 */, - { 0, 8233, 2212, 8, 3, UNI_SC__SINH } /* script=sinh */, - { 1, 7884, 0, 8, 0, UNI_JAMOEXTB } /* jamoextb */, - { 0, 8233, 7049, 8, 9, UNI_SAUR } /* script=saurashtra */, - { 0, 1497, 4687, 9, 15, UNI_PS } /* category=openpunctuation */, - { 0, 184, 2532, 2, 4, UNI_BRAH } /* isbrah */, - { 4, 5835, 8864, 12, 5, -UNI_BIDIC } /* bidicontrol=false */, - { 4, 8424, 7302, 6, 9, UNI_INNABATAEAN } /* block=nabataean */, - { 0, 9093, 921, 4, 18, UNI_INVS } /* blk=variationselectors */, - { 4, 9093, 9057, 4, 4, UNI_INAHOM } /* blk=ahom */, - { 230, 3671, 3772, 17, 4, UNI_BOPO } /* scriptextensions=bopo */, - { 0, 3671, 0, 17, 0, UNI_scx_values_index } /* scriptextensions= */, - { 2, 8424, 4975, 6, 14, UNI_KANASUP } /* block=kanasupplement */, - { 1, 21, 5604, 2, 13, UNI_LOWSURROGATES } /* inlowsurrogates */, - { 0, 9599, 3, 3, 1, -UNI_CI } /* ci=f */, - { 9, 9093, 1003, 4, 11, UNI_ENCLOSEDCJK } /* blk=enclosedcjk */, - { 3, 3254, 8864, 18, 5, -UNI_RI } /* regionalindicator=false */, - { 134, 9093, 8894, 4, 5, UNI_INLIMBU } /* blk=limbu */, - { 0, 8886, 8191, 3, 7, UNI_OLCK } /* sc=olchiki */, - { 6, 9623, 6087, 3, 12, UNI_JG__MALAYALAMNGA } /* jg=malayalamnga */, - { 5, 9093, 6939, 4, 2, UNI_INVS } /* blk=vs */, - { 2, 9113, 8725, 5, 4, UNI_CCC__16 } /* ccc=ccc16 */, - { 3, 9093, 6027, 4, 5, UNI_INKHMER } /* blk=khmer */, - { 2, 3671, 7118, 17, 10, UNI_WARA } /* scriptextensions=warangciti */, - { 15, 8160, 781, 4, 20, UNI_ENCLOSEDIDEOGRAPHICSUP } /* inenclosedideographicsup */, - { 0, 3671, 8324, 17, 7, UNI_ZZZZ } /* scriptextensions=unknown */, - { 3, 9365, 6898, 4, 10, UNI_KHAR } /* scx=kharoshthi */, - { 321, 9909, 0, 3, 0, UNI_P } /* isp */, - { 1, 4705, 9414, 3, 3, UNI_TAVT } /* istavt */, - { 40, 9093, 8944, 4, 5, UNI_INTAKRI } /* blk=takri */, - { 2, 6885, 1363, 3, 3, UNI_HANO } /* ishano */, - { 0, 2212, 2021, 4, 4, UNI_INHATRAN } /* inhatran */, - { 12, 7995, 0, 7, 0, UNI_AVST } /* avestan */, - { 48, 9909, 5492, 7, 5, UNI_POSIXALNUM } /* isposixalnum */, - { 0, 6949, 3469, 4, 15, UNI_AGHB } /* iscaucasianalbanian */, - { 38, 9647, 9025, 3, 4, UNI_NV__3_SLASH_20 } /* nv=3/20 */, - { 0, 184, 4175, 2, 13, UNI_MATHOPERATORS } /* ismathoperators */, - { 29, 5760, 7459, 13, 2, UNI_NV__21 } /* numericvalue=21 */, - { 3, 1497, 206, 9, 2, UNI_PI } /* category=pi */, - { 0, 9946, 17, 3, 1, UNI_SO } /* isso */, - { 0, 184, 5786, 2, 13, UNI_VERTICALFORMS } /* isverticalforms */, - { 2, 8960, 9433, 4, 4, UNI_IDS } /* ids=true */, - { 4, 9093, 7148, 4, 10, UNI_YIRADICALS } /* blk=yiradicals */, - { 0, 9049, 7446, 4, 1, UNI_AGE__2 } /* age=2 */, - { 4, 4447, 0, 15, 0, UNI_ea_values_index } /* eastasianwidth= */, - { 2, 8051, 9433, 7, 4, UNI_COMPEX } /* compex=true */, - { 0, 509, 0, 20, 0, UNI_CJK } /* cjkunifiedideographs */, - { 2, 8424, 865, 6, 28, UNI_SUPPUAA } /* block=supplementaryprivateuseareaa */, - { 0, 7018, 7435, 10, 2, UNI_IN__11 } /* presentin=11 */, - { 3, 8886, 9261, 3, 4, UNI_MRO } /* sc=mroo */, - { 17, 9093, 42, 4, 26, UNI_CJKCOMPATIDEOGRAPHS } /* blk=cjkcompatibilityideographs */, - { 0, 8884, 2768, 5, 10, UNI_INSC__TONELETTER } /* insc=toneletter */, - { 12, 9767, 0, 2, 0, UNI_CASEDLETTER } /* l& */, - { 0, 5565, 8964, 13, 5, UNI_JG__ZHAIN } /* joininggroup=zhain */, - { 1, 9959, 1152, 5, 4, UNI_ANY } /* isunicode */, - { 0, 9093, 7844, 4, 8, UNI_INGUJARATI } /* blk=gujarati */, - { 0, 184, 3502, 3, 16, UNI_CYRILLICEXTA } /* iscyrillicextendeda */, - { 273, 6194, 8192, 3, 6, UNI_OLCK } /* inolchiki */, - { 7, 184, 8107, 2, 7, UNI_KNDA } /* iskannada */, - { 36, 9093, 1867, 4, 12, UNI_DIACRITICALS } /* blk=diacriticals */, - { 2, 9125, 8864, 4, 5, -UNI_CWT } /* cwt=false */, - { 129, 1933, 995, 22, 2, -UNI_LOE } /* logicalorderexception=no */, - { 2, 9093, 4268, 5, 7, UNI_BAMUMSUP } /* blk=bamumsup */, - { 4, 9365, 7812, 4, 4, UNI_DUPL } /* scx=dupl */, - { 24, 9113, 8463, 4, 3, UNI_CCC__129 } /* ccc=129 */, - { 1, 8640, 36, 6, 1, UNI_XPOSIXUPPER } /* upper=t */, - { 1, 8424, 4220, 6, 16, UNI_TANGUTCOMPONENTS } /* block=tangutcomponents */, - { 88, 8424, 7148, 6, 10, UNI_YIRADICALS } /* block=yiradicals */, - { 1, 3671, 2484, 17, 4, UNI_MAND } /* scriptextensions=mand */, - { 0, 8233, 7892, 7, 4, UNI_SC__JAVA } /* script=java */, - { 16, 9620, 32, 3, 2, UNI__PERL_SURROGATE } /* gc=cs */, - { 2, 8424, 779, 6, 22, UNI_ENCLOSEDIDEOGRAPHICSUP } /* block=enclosedideographicsup */, - { 5, 8424, 2665, 6, 19, UNI_JAMOEXTB } /* block=hanguljamoextendedb */, - { 0, 9225, 0, 4, 0, UNI_LINA } /* lina */, - { 1, 4705, 8297, 3, 6, UNI_TAVT } /* istaiviet */, - { 0, 4705, 7965, 3, 7, UNI_TFNG } /* istifinagh */, - { 0, 1386, 0, 10, 0, UNI_CJKSYMBOLS } /* cjksymbols */, - { 0, 8424, 6948, 6, 10, UNI_MISCARROWS } /* block=miscarrows */, - { 0, 8510, 0, 4, 0, UNI_ext_values_index } /* ext= */, - { 0, 6918, 2368, 10, 2, UNI_LB__HL } /* linebreak=hl */, - { 0, 9093, 4108, 4, 16, UNI_MYANMAREXTA } /* blk=myanmarextendeda */, - { 32, 9365, 1146, 5, 3, UNI_SORA } /* scx=sora */, - { 1, 7128, 495, 10, 7, UNI_WB__NU } /* wordbreak=numeric */, - { 0, 9093, 7797, 5, 7, UNI_INBASSAVAH } /* blk=bassavah */, - { 1, 8424, 446, 6, 18, UNI_IDEOGRAPHICSYMBOLS } /* block=ideographicsymbols */, - { 12, 9623, 6785, 3, 3, UNI_JG__FEH } /* jg=feh */, - { 35, 3671, 78, 17, 4, UNI_ARAB } /* scriptextensions=arab */, - { 7, 8886, 2608, 3, 19, UNI_EGYP } /* sc=egyptianhieroglyphs */, - { 0, 9365, 9413, 4, 4, UNI_TAVT } /* scx=tavt */, - { 1, 6798, 0, 10, 0, UNI_ARABICEXTA } /* arabicexta */, - { 41, 9623, 9641, 3, 3, UNI_JG__MIM } /* jg=mim */, - { 32, 8424, 8268, 6, 7, UNI_SUPPUAA } /* block=suppuaa */, - { 0, 4402, 0, 15, 0, UNI_PD } /* dashpunctuation */, - { 0, 9629, 96, 3, 10, UNI_LB__AL } /* lb=alphabetic */, - { 0, 9365, 9429, 4, 4, UNI_TIBT } /* scx=tibt */, - { 3, 9647, 8376, 3, 4, UNI_NV__5000 } /* nv=5000 */, - { 1, 8568, 0, 6, 0, UNI_LYDI } /* lydian */, - { 2, 9647, 9739, 3, 2, UNI_NV__39 } /* nv=39 */, - { 0, 8899, 9433, 5, 4, UNI_MATH } /* math=true */, - { 6, 3868, 4140, 16, 16, UNI_PO } /* generalcategory=otherpunctuation */, - { 298, 184, 9217, 2, 3, UNI_LAO } /* islao */, - { 0, 8160, 1005, 4, 9, UNI_ENCLOSEDCJK } /* inenclosedcjk */, - { 0, 9365, 4267, 4, 4, UNI_BAMU } /* scx=bamu */, - { 2, 9731, 9611, 3, 3, UNI_WB__EB } /* wb=ebg */, - { 0, 7018, 7660, 10, 3, UNI_IN__6 } /* presentin=6.0 */, - { 3, 8510, 8864, 4, 5, -UNI_EXT } /* ext=false */, - { 14, 8233, 9481, 7, 4, UNI_ZANB } /* script=zanb */, - { 0, 8886, 7804, 3, 4, UNI_SC__BUGI } /* sc=bugi */, - { 0, 5085, 6161, 4, 10, UNI_INMASARAMGONDI } /* inmasaramgondi */, - { 0, 8616, 995, 6, 2, -UNI_STERM } /* sterm=no */, - { 1, 5085, 480, 4, 29, UNI_MATHALPHANUM } /* inmathematicalalphanumericsymbols */, - { 1, 1911, 8331, 22, 7, UNI_INSC__VISARGA } /* indicsyllabiccategory=visarga */, - { 0, 6888, 9433, 10, 4, UNI_DIA } /* diacritic=true */, - { 0, 5339, 125, 14, 2, UNI_LB__CR } /* sentencebreak=cr */, - { 4, 8886, 3020, 3, 4, UNI_SC__DEVA } /* sc=deva */, - { 1, 8233, 6992, 8, 3, UNI_SC__SOGD } /* script=sogd */, - { 0, 184, 149, 3, 34, UNI_DIACRITICALSSUP } /* iscombiningdiacriticalmarkssupplement */, - { 0, 8205, 0, 7, 0, UNI_OSMA } /* osmanya */, - { 7, 8424, 2065, 7, 13, UNI_CJKRADICALSSUP } /* block=cjkradicalssup */, - { 30, 2513, 0, 19, 0, UNI_ANCIENTGREEKNUMBERS } /* ancientgreeknumbers */, - { 49, 9608, 9, 3, 2, UNI_EA__NA } /* ea=na */, - { 12, 9626, 6515, 4, 10, UNI_JT__L } /* jt=leftjoining */, - { 2, 7048, 0, 4, 0, UNI_SAUR } /* saur */, - { 274, 6005, 43, 3, 15, UNI_CJKCOMPAT } /* incjkcompatibility */, - { 0, 8886, 2202, 4, 3, UNI_SC__KALI } /* sc=kali */, - { 0, 9623, 5381, 3, 14, UNI_JG__HAMZAONHEHGOAL } /* jg=tehmarbutagoal */, - { 0, 9623, 9245, 3, 4, UNI_JG__MEEM } /* jg=meem */, - { 0, 9593, 2817, 3, 19, UNI_BC__RLO } /* bc=righttoleftoverride */, - { 1, 6816, 6839, 3, 9, UNI_BOXDRAWING } /* inboxdrawing */, - { 0, 9093, 7365, 4, 9, UNI_INPAUCINHAU } /* blk=paucinhau */, - { 5, 3002, 45, 18, 3, UNI_DT__COM } /* decompositiontype=com */, - { 0, 184, 9281, 2, 4, UNI_NEWA } /* isnewa */, - { 9, 2684, 5747, 19, 13, UNI_HST__NA } /* hangulsyllabletype=notapplicable */, - { 2, 9093, 2741, 4, 19, UNI_MERO } /* blk=meroitichieroglyphs */, - { 10, 184, 43, 3, 35, UNI_CJKCOMPATIDEOGRAPHSSUP } /* iscjkcompatibilityideographssupplement */, - { 0, 8233, 9213, 7, 4, UNI_LANA } /* script=lana */, - { 4, 8424, 1530, 6, 23, UNI_BYZANTINEMUSIC } /* block=byzantinemusicalsymbols */, - { 1, 8332, 27, 3, 2, UNI_ALL } /* isall */, - { 1, 1536, 3553, 3, 15, UNI_ETHIOPICEXT } /* inethiopicextended */, - { 12, 5967, 0, 4, 0, UNI_HEBR } /* hebr */, - { 8, 8424, 7884, 6, 8, UNI_JAMOEXTB } /* block=jamoextb */, - { 1, 9365, 3620, 4, 4, UNI_MANI } /* scx=mani */, - { 0, 5339, 0, 14, 0, UNI_sb_values_index } /* sentencebreak= */, - { 3, 8424, 5896, 7, 11, UNI_CYRILLICEXTC } /* block=cyrillicextc */, - { 84, 6885, 2666, 3, 18, UNI_JAMOEXTB } /* ishanguljamoextendedb */, - { 0, 1084, 36, 26, 1, UNI_CWKCF } /* changeswhennfkccasefolded=t */, - { 0, 5565, 6334, 13, 4, UNI_JG__NOON } /* joininggroup=noon */, - { 0, 9365, 382, 4, 4, UNI_EGYP } /* scx=egyp */, - { 0, 1362, 18, 24, 1, UNI_CCC__R } /* canonicalcombiningclass=r */, - { 7, 9153, 18, 4, 2, UNI_RI } /* gcb=ri */, - { 1, 8424, 2608, 6, 19, UNI_INEGYPTIANHIEROGLYPHS } /* block=egyptianhieroglyphs */, - { 1, 8684, 0, 5, 0, UNI_ahex_values_index } /* ahex= */, - { 0, 3293, 7981, 3, 7, UNI_INUGARITIC } /* inugaritic */, - { 0, 9261, 0, 4, 0, UNI_MRO } /* mroo */, - { 0, 184, 3227, 2, 9, UNI_Z } /* isseparator */, - { 0, 659, 0, 30, 0, UNI_CJKEXTF } /* cjkunifiedideographsextensionf */, - { 0, 9365, 2127, 4, 4, UNI_HAN } /* scx=hani */, - { 2, 8424, 6027, 6, 12, UNI_KHMERSYMBOLS } /* block=khmersymbols */, - { 5, 5760, 8981, 13, 3, UNI_NV__1_SLASH_4 } /* numericvalue=1/4 */, - { 0, 9153, 5394, 4, 2, UNI_LB__H2 } /* gcb=lv */, - { 0, 8233, 2253, 7, 20, UNI_HLUW } /* script=anatolianhieroglyphs */, - { 0, 9049, 9677, 4, 3, UNI_AGE__2_DOT_1 } /* age=v21 */, - { 1, 6316, 8864, 11, 5, -UNI_IDC } /* idcontinue=false */, - { 0, 3868, 1844, 16, 2, UNI_PC } /* generalcategory=pc */, - { 0, 6918, 4835, 10, 14, UNI_LB__CR } /* linebreak=carriagereturn */, - { 1, 9113, 8802, 4, 2, UNI_CCC__31 } /* ccc=31 */, - { 4, 8871, 8198, 3, 7, UNI_SB__LE } /* sb=oletter */, - { 0, 9620, 7098, 3, 10, UNI_CN } /* gc=unassigned */, - { 0, 9153, 262, 4, 2, UNI_GCB__SM } /* gcb=sm */, - { 1, 9121, 0, 3, 0, UNI_CWL } /* cwl */, - { 0, 9629, 4835, 3, 14, UNI_LB__CR } /* lb=carriagereturn */, - { 0, 9365, 9337, 4, 4, UNI_QAAI } /* scx=qaai */, - { 0, 117, 415, 3, 31, UNI_INIDC } /* inideographicdescriptioncharacters */, - { 89, 184, 5435, 2, 5, UNI_BIDIM } /* isbidim */, - { 1, 8886, 9265, 3, 4, UNI_MTEI } /* sc=mtei */, - { 0, 9647, 9509, 3, 3, UNI_NV__2_SLASH_5 } /* nv=2/5 */, - { 0, 9093, 4657, 4, 15, UNI_NARB } /* blk=oldnortharabian */, - { 0, 4826, 26, 9, 1, UNI_XPOSIXXDIGIT } /* hexdigit=y */, - { 0, 5760, 5409, 13, 7, UNI_NV__1000000 } /* numericvalue=1000000 */, - { 12, 3128, 995, 18, 2, -UNI_IDSB } /* idsbinaryoperator=no */, - { 0, 1003, 0, 27, 0, UNI_ENCLOSEDCJK } /* enclosedcjklettersandmonths */, - { 0, 184, 5872, 3, 11, UNI_CYRILLICEXTA } /* iscyrillicexta */, - { 0, 9093, 4387, 4, 15, UNI_CURRENCYSYMBOLS } /* blk=currencysymbols */, - { 2, 5565, 6788, 13, 10, UNI_JG__AFRICANQAF } /* joininggroup=africanqaf */, - { 7, 184, 2532, 2, 6, UNI_BRAH } /* isbrahmi */, - { 25, 831, 0, 6, 0, UNI_ARROWS } /* arrows */, - { 0, 9904, 1812, 5, 5, UNI_POSIXUPPER } /* posixupper */, - { 0, 8406, 9433, 6, 4, UNI_XPOSIXALPHA } /* alpha=true */, - { 2, 4849, 36, 14, 1, UNI_CI } /* caseignorable=t */, - { 0, 3128, 8864, 18, 5, -UNI_IDSB } /* idsbinaryoperator=false */, - { 32, 9946, 0, 3, 0, UNI_S } /* iss */, - { 0, 4618, 2335, 4, 18, UNI_GLAGOLITICSUP } /* inglagoliticsupplement */, - { 96, 8233, 7860, 7, 4, UNI_SC__HIRA } /* script=hira */, - { 2, 9620, 25, 3, 1, UNI_S } /* gc=s */, - { 3, 7025, 7660, 3, 3, UNI_IN__6 } /* in=6.0 */, - { 3, 3964, 0, 6, 0, UNI_LATIN1 } /* latin1 */, - { 1, 8424, 4864, 7, 13, UNI_CJKCOMPATFORMS } /* block=cjkcompatforms */, - { 0, 3671, 9205, 17, 4, UNI_KNDA } /* scriptextensions=knda */, - { 0, 8886, 8149, 3, 4, UNI_SC__MULT } /* sc=mult */, - { 97, 8424, 8191, 6, 7, UNI_OLCK } /* block=olchiki */, - { 3, 9093, 4961, 4, 14, UNI_HIGHSURROGATES } /* blk=highsurrogates */, - { 0, 5760, 7683, 13, 2, UNI_NV__26 } /* numericvalue=26 */, - { 2, 5565, 9381, 13, 4, UNI_JG__SHIN } /* joininggroup=shin */, - { 1, 5565, 7392, 13, 9, UNI_JG__SYRIACWAW } /* joininggroup=syriacwaw */, - { 1, 6885, 1600, 3, 5, UNI_HANG } /* ishangul */, - { 56, 1713, 995, 22, 2, -UNI_CWCF } /* changeswhencasefolded=no */, - { 4, 9093, 7374, 4, 9, UNI_INSAMARITAN } /* blk=samaritan */, - { 1, 8424, 3308, 6, 18, UNI_SMALLKANAEXT } /* block=smallkanaextension */, - { 0, 184, 8568, 2, 4, UNI_LYDI } /* islydi */, - { 0, 1362, 1701, 24, 2, UNI_CCC__BR } /* canonicalcombiningclass=br */, - { 20, 8685, 1, 4, 1, -UNI_XPOSIXXDIGIT } /* hex=n */, - { 0, 6949, 9, 4, 16, UNI_CANS } /* iscanadianaboriginal */, - { 0, 7788, 0, 4, 0, UNI_BALI } /* bali */, - { 244, 8233, 4657, 7, 15, UNI_NARB } /* script=oldnortharabian */, - { 10, 184, 1387, 3, 9, UNI_CJKSYMBOLS } /* iscjksymbols */, - { 0, 8886, 8128, 3, 7, UNI_MAKA } /* sc=makasar */, - { 1, 7025, 7502, 3, 1, UNI_IN__8 } /* in=8 */, - { 0, 5045, 0, 14, 0, UNI_LATINEXTE } /* latinextendede */, - { 0, 3236, 26, 18, 1, UNI__PERL_PATWS } /* patternwhitespace=y */, - { 34, 8233, 0, 7, 0, UNI_sc_values_index } /* script= */, - { 6, 9904, 7128, 5, 4, UNI_POSIXWORD } /* posixword */, - { 0, 184, 2931, 3, 3, UNI_CHER } /* ischer */, - { 326, 184, 510, 3, 19, UNI_CJK } /* iscjkunifiedideographs */, - { 0, 9946, 8241, 3, 6, UNI_SHRD } /* issharada */, - { 2, 3002, 3852, 18, 3, UNI_DT__FIN } /* decompositiontype=fin */, - { 26, 9629, 5297, 3, 14, UNI_LB__PO } /* lb=postfixnumeric */, - { 0, 8424, 5786, 6, 13, UNI_VERTICALFORMS } /* block=verticalforms */, - { 2, 8424, 9233, 6, 4, UNI_LISU } /* block=lisu */, - { 1, 3002, 6195, 18, 12, UNI_DT__NONCANON } /* decompositiontype=noncanonical */, - { 0, 9623, 5, 3, 1, UNI_JG__E } /* jg=e */, - { 0, 3180, 0, 3, 0, UNI_ALL } /* all */, - { 56, 9313, 1, 4, 1, -UNI_PCM } /* pcm=n */, - { 0, 8424, 6898, 6, 10, UNI_INKHAROSHTHI } /* block=kharoshthi */, - { 0, 7108, 9433, 10, 4, UNI_XPOSIXUPPER } /* uppercase=true */, - { 4, 3671, 9285, 17, 4, UNI_NKO } /* scriptextensions=nkoo */, - { 0, 8100, 8864, 7, 5, -UNI_HYPHEN } /* hyphen=false */, - { 2, 8886, 2148, 3, 21, UNI_PRTI } /* sc=inscriptionalparthian */, - { 261, 8844, 3, 5, 1, -UNI_CWCF } /* cwcf=f */, - { 4, 8424, 6838, 6, 10, UNI_BOXDRAWING } /* block=boxdrawing */, - { 0, 8886, 8610, 3, 6, UNI_RJNG } /* sc=rejang */, - { 0, 206, 0, 2, 0, UNI_PI } /* pi */, - { 0, 184, 183, 2, 34, UNI_MISCPICTOGRAPHS } /* ismiscellaneoussymbolsandpictographs */, - { 36, 9093, 7275, 4, 9, UNI_LATINEXTD } /* blk=latinextd */, - { 0, 9185, 0, 4, 0, UNI_HMNG } /* hmng */, - { 1, 7128, 7988, 10, 7, UNI_WB__LE } /* wordbreak=aletter */, - { 33, 3398, 1, 18, 1, -UNI_VS } /* variationselector=n */, - { 0, 9237, 0, 4, 0, UNI_loe_values_index } /* loe= */, - { 0, 8424, 3631, 7, 3, UNI_INCHAM } /* block=cham */, - { 0, 7420, 9734, 8, 3, UNI_IDS } /* idstart=yes */, - { 39, 6928, 36, 10, 1, UNI_XPOSIXLOWER } /* lowercase=t */, - { 0, 8886, 18, 6, 1, UNI_KHAR } /* sc=khar */, - { 0, 1482, 3212, 4, 6, UNI_DINGBATS } /* indingbats */, - { 0, 6015, 7, 12, 1, UNI_JT__C } /* joiningtype=c */, - { 12, 3868, 6613, 16, 11, UNI_LO } /* generalcategory=otherletter */, - { 0, 9626, 36, 3, 1, UNI_JT__T } /* jt=t */, - { 0, 2212, 4479, 4, 13, UNI_INHANGUL } /* inhangulsyllables */, - { 12, 5085, 6053, 4, 10, UNI_MAHJONG } /* inmahjongtiles */, - { 0, 3818, 0, 18, 0, UNI_PE } /* isclosepunctuation */, - { 0, 9647, 7428, 3, 8, UNI_NV__1_SLASH_10 } /* nv=1.00e-01 */, - { 0, 8871, 8694, 3, 5, UNI_SB__AT } /* sb=aterm */, - { 33, 9647, 8817, 3, 2, UNI_NV__34 } /* nv=34 */, - { 0, 9593, 5255, 3, 14, UNI_BC__NSM } /* bc=nonspacingmark */, - { 0, 9623, 8889, 3, 5, UNI_JG__KHAPH } /* jg=khaph */, - { 0, 8871, 49, 3, 2, UNI_SB__AT } /* sb=at */, - { 10, 9623, 2551, 3, 19, UNI_JG__BURUSHASKIYEHBARREE } /* jg=burushaskiyehbarree */, - { 0, 8424, 8622, 6, 6, UNI_INTELUGU } /* block=telugu */, - { 0, 1497, 5354, 10, 13, UNI_ZS } /* category=spaceseparator */, - { 0, 6690, 0, 4, 0, UNI_SORA } /* sora */, - { 0, 1362, 8463, 24, 3, UNI_CCC__129 } /* canonicalcombiningclass=129 */, - { 1, 8233, 9429, 7, 4, UNI_TIBT } /* script=tibt */, - { 0, 8424, 2949, 7, 17, UNI_HALFMARKS } /* block=combininghalfmarks */, - { 0, 9093, 8484, 4, 6, UNI_INCHAKMA } /* blk=chakma */, - { 0, 9647, 7540, 3, 8, UNI_NV__20000000 } /* nv=20000000 */, - { 32, 5760, 9569, 13, 3, UNI_NV__5_SLASH_6 } /* numericvalue=5/6 */, - { 0, 184, 5269, 2, 13, UNI_PATSYN } /* ispatternsyntax */, - { 1, 5760, 8364, 13, 6, UNI_NV__400000 } /* numericvalue=400000 */, - { 16, 1158, 8629, 3, 5, UNI_INTHAANA } /* inthaana */, - { 0, 9113, 7691, 4, 2, UNI_CCC__36 } /* ccc=36 */, - { 0, 1057, 36, 27, 1, UNI_PCM } /* prependedconcatenationmark=t */, - { 3, 113, 0, 35, 0, UNI_DIACRITICALSFORSYMBOLS } /* combiningdiacriticalmarksforsymbols */, - { 1, 5760, 7596, 13, 8, UNI_NV__3_SLASH_80 } /* numericvalue=3.75e-02 */, - { 0, 9728, 0, 3, 0, UNI_vs_values_index } /* vs= */, - { 0, 5760, 8352, 13, 6, UNI_NV__216000 } /* numericvalue=216000 */, - { 77, 21, 8121, 2, 7, UNI_INLINEARA } /* inlineara */, - { 1, 7018, 9716, 10, 3, UNI_IN__7 } /* presentin=v70 */, - { 5, 6828, 3272, 10, 18, UNI_BC__RLI } /* bidiclass=righttoleftisolate */, - { 0, 4821, 8864, 14, 5, -UNI_POSIXXDIGIT } /* asciihexdigit=false */, - { 1, 2204, 8920, 3, 4, UNI_OGAM } /* isogham */, - { 17, 9113, 9765, 4, 2, UNI_CCC__8 } /* ccc=kv */, - { 6, 1911, 2966, 22, 18, UNI_INSC__CONSONANTSUBJOINED } /* indicsyllabiccategory=consonantsubjoined */, - { 0, 184, 5487, 2, 13, UNI_XPOSIXDIGIT } /* isdecimalnumber */, - { 0, 6005, 6859, 3, 9, UNI_CJKSTROKES } /* incjkstrokes */, - { 32, 4462, 1, 15, 1, -UNI_GREXT } /* graphemeextend=n */, - { 23, 8233, 6183, 7, 4, UNI_MEND } /* script=mend */, - { 210, 8424, 5045, 6, 14, UNI_LATINEXTE } /* block=latinextendede */, - { 1, 9113, 7502, 4, 1, UNI_CCC__8 } /* ccc=8 */, - { 144, 779, 0, 29, 0, UNI_ENCLOSEDIDEOGRAPHICSUP } /* enclosedideographicsupplement */, - { 1, 8424, 3552, 6, 17, UNI_ETHIOPICEXTA } /* block=ethiopicextendeda */, - { 144, 1482, 4777, 24, 15, UNI_LOE } /* indicpositionalcategory=visualorderleft */, - { 12, 1497, 1532, 9, 1, UNI_Z } /* category=z */, - { 28, 9647, 5409, 3, 5, UNI_NV__10000 } /* nv=10000 */, - { 5, 6816, 4268, 3, 14, UNI_BAMUMSUP } /* inbamumsupplement */, - { 4, 7, 0, 18, 0, UNI_CANS } /* canadianaboriginal */, - { 0, 9365, 6648, 5, 3, UNI_SHAW } /* scx=shaw */, - { 0, 5565, 5692, 13, 3, UNI_JG__TAW } /* joininggroup=taw */, - { 0, 6918, 8324, 10, 7, UNI_LB__XX } /* linebreak=unknown */, - { 68, 9365, 9261, 4, 3, UNI_MRO } /* scx=mro */, - { 15, 48, 0, 1, 0, UNI_P } /* p */, - { 48, 8849, 9433, 5, 4, UNI_CWCM } /* cwcm=true */, - { 0, 9901, 62, 8, 5, UNI_XPOSIXGRAPH } /* isxposixgraph */, - { 1, 5565, 4537, 13, 15, UNI_JG__MANICHAEANGIMEL } /* joininggroup=manichaeangimel */, - { 366, 3868, 106, 16, 6, UNI_S } /* generalcategory=symbol */, - { 0, 9113, 9512, 4, 3, UNI_CCC__202 } /* ccc=202 */, - { 68, 3948, 5787, 3, 12, UNI_VERTICALFORMS } /* inverticalforms */, - { 0, 8598, 36, 6, 1, UNI__PERL_PATWS } /* patws=t */, - { 0, 5760, 9503, 13, 3, UNI_NV__1_SLASH_9 } /* numericvalue=1/9 */, - { 1, 9903, 1812, 6, 5, UNI_XPOSIXUPPER } /* xposixupper */, - { 0, 9113, 9073, 4, 4, UNI_CCC__216 } /* ccc=atar */, - { 257, 1187, 0, 2, 0, UNI_SK } /* sk */, - { 0, 9647, 7564, 3, 8, UNI_NV__1_SLASH_320 } /* nv=3.13e-03 */, - { 2, 6918, 1410, 10, 13, UNI_LB__CM } /* linebreak=combiningmark */, - { 2, 9623, 4044, 3, 16, UNI_JG__MANICHAEANSAMEKH } /* jg=manichaeansamekh */, - { 6, 2273, 0, 20, 0, UNI_PC } /* connectorpunctuation */, - { 6, 1159, 5487, 3, 7, UNI_XPOSIXDIGIT } /* nt=decimal */, - { 8, 9425, 0, 4, 0, UNI_THAI } /* thai */, - { 0, 5565, 4567, 13, 15, UNI_JG__MANICHAEANZAYIN } /* joininggroup=manichaeanzayin */, - { 13, 9093, 976, 4, 17, UNI_ANCIENTGREEKMUSIC } /* blk=ancientgreekmusic */, - { 0, 4821, 3, 14, 1, -UNI_POSIXXDIGIT } /* asciihexdigit=f */, - { 3, 5565, 4028, 13, 16, UNI_JG__MANICHAEANLAMEDH } /* joininggroup=manichaeanlamedh */, - { 2, 5435, 995, 13, 2, -UNI_BIDIM } /* bidimirrored=no */, - { 0, 3146, 0, 18, 0, UNI_PI } /* initialpunctuation */, - { 402, 3868, 2192, 16, 2, UNI_PD } /* generalcategory=pd */, - { 1, 9623, 6135, 3, 12, UNI_JG__MALAYALAMTTA } /* jg=malayalamtta */, - { 74, 117, 447, 3, 31, UNI_IDEOGRAPHICSYMBOLS } /* inideographicsymbolsandpunctuation */, - { 65, 9647, 7540, 3, 4, UNI_NV__2000 } /* nv=2000 */, - { 85, 6991, 0, 7, 0, UNI_SOGD } /* sogdian */, - { 18, 1497, 6613, 9, 11, UNI_LO } /* category=otherletter */, - { 2, 3671, 1146, 18, 3, UNI_SORA } /* scriptextensions=sora */, - { 0, 3671, 382, 17, 4, UNI_EGYP } /* scriptextensions=egyp */, - { 3, 8884, 8704, 5, 5, UNI_INSC__BINDU } /* insc=bindu */, - { 35, 9647, 7732, 3, 8, UNI_NV__5_SLASH_6 } /* nv=8.33e-01 */, - { 0, 2212, 2667, 4, 17, UNI_JAMOEXTB } /* inhanguljamoextendedb */, - { 8, 184, 9249, 2, 4, UNI_MERC } /* ismerc */, - { 0, 5760, 7580, 13, 8, UNI_NV__7_SLASH_2 } /* numericvalue=3.50e+00 */, - { 0, 9093, 7940, 4, 8, UNI_SPECIALS } /* blk=specials */, - { 152, 7025, 9005, 3, 4, UNI_IN__12_DOT_1 } /* in=12.1 */, - { 311, 9365, 8894, 4, 5, UNI_LIMB } /* scx=limbu */, - { 145, 1362, 78, 24, 2, UNI_CCC__AR } /* canonicalcombiningclass=ar */, - { 2, 9093, 2021, 4, 15, UNI_TRANSPORTANDMAP } /* blk=transportandmap */, - { 0, 7419, 3, 9, 1, -UNI_XIDS } /* xidstart=f */, - { 6, 3671, 983, 17, 5, UNI_GREK } /* scriptextensions=greek */, - { 46, 3671, 7239, 17, 9, UNI_QAAI } /* scriptextensions=inherited */, - { 0, 7025, 9704, 3, 3, UNI_IN__6 } /* in=v60 */, - { 0, 4580, 2171, 4, 9, UNI_INMEETEIMAYEK } /* inmeeteimayek */, - { 25, 9623, 5157, 3, 14, UNI_JG__MANICHAEANRESH } /* jg=manichaeanresh */, - { 4, 3671, 2984, 17, 4, UNI_COPT } /* scriptextensions=copt */, - { 0, 4580, 4125, 3, 15, UNI_MYANMAREXTB } /* inmyanmarextendedb */, - { 10, 9946, 1482, 3, 3, UNI_SIND } /* issind */, - { 0, 5565, 6756, 13, 11, UNI_JG__YEHWITHTAIL } /* joininggroup=yehwithtail */, - { 8, 1911, 4342, 22, 15, UNI_INSC__CONSONANTMEDIAL } /* indicsyllabiccategory=consonantmedial */, - { 0, 3868, 6624, 16, 11, UNI_NO } /* generalcategory=othernumber */, - { 0, 184, 3552, 2, 11, UNI_ETHIOPICEXT } /* isethiopicext */, - { 0, 184, 9285, 2, 3, UNI_NKO } /* isnko */, - { 39, 6360, 0, 11, 0, UNI_CASEDLETTER } /* casedletter */, - { 0, 9629, 184, 3, 2, UNI_LB__IS } /* lb=is */, - { 0, 1911, 4919, 22, 14, UNI_INSC__GEMINATIONMARK } /* indicsyllabiccategory=geminationmark */, - { 0, 6988, 0, 10, 0, UNI_SOGO } /* oldsogdian */, - { 1, 184, 5017, 2, 14, UNI_LATINEXTC } /* islatinextendedc */, - { 2, 1362, 8775, 25, 4, UNI_CCC__26 } /* canonicalcombiningclass=ccc26 */, - { 5, 1482, 2479, 24, 14, UNI_INPC__BOTTOMANDRIGHT } /* indicpositionalcategory=bottomandright */, - { 2, 1497, 1156, 9, 2, UNI_PO } /* category=po */, - { 0, 9093, 1264, 4, 25, UNI_SUPERANDSUB } /* blk=superscriptsandsubscripts */, - { 24, 117, 5553, 3, 12, UNI_IPAEXT } /* inipaextensions */, - { 2, 184, 893, 2, 28, UNI_SUPPUAB } /* issupplementaryprivateuseareab */, - { 37, 1497, 9108, 9, 2, UNI_MC } /* category=mc */, - { 0, 7932, 0, 8, 0, UNI_radical_values_index } /* radical= */, - { 0, 382, 0, 4, 0, UNI_EGYP } /* egyp */, - { 0, 4361, 3112, 4, 6, UNI_INGEORGIAN } /* ingeorgian */, - { 0, 5085, 7918, 4, 6, UNI_INMAHAJANI } /* inmahajani */, - { 0, 1924, 9770, 10, 1, UNI_CASEDLETTER } /* category=l_ */, - { 145, 2684, 36, 19, 1, UNI_GCB__T } /* hangulsyllabletype=t */, - { 0, 9193, 6938, 4, 10, UNI_LB__H2 } /* hst=lvsyllable */, - { 1, 3236, 36, 18, 1, UNI__PERL_PATWS } /* patternwhitespace=t */, - { 25, 7248, 0, 9, 0, UNI_SIND } /* khudawadi */, - { 0, 9049, 9, 4, 2, UNI_AGE__NA } /* age=na */, - { 20, 8886, 8303, 3, 7, UNI_TIBT } /* sc=tibetan */, - { 9, 6816, 7805, 3, 7, UNI_INBUGINESE } /* inbuginese */, - { 192, 6005, 600, 3, 29, UNI_CJKEXTD } /* incjkunifiedideographsextensiond */, - { 0, 9605, 45, 3, 6, UNI_DT__COM } /* dt=compat */, - { 4, 3671, 7796, 17, 4, UNI_BASS } /* scriptextensions=bass */, - { 1, 8233, 8310, 7, 7, UNI_SC__TIRH } /* script=tirhuta */, - { 0, 184, 9101, 2, 4, UNI_BUHD } /* isbuhd */, - { 32, 8424, 1599, 6, 6, UNI_INHANGUL } /* block=hangul */, - { 320, 2204, 6980, 4, 8, UNI_XPEO } /* isoldpersian */, - { 0, 2148, 317, 3, 32, UNI_SUPMATHOPERATORS } /* insupplementalmathematicaloperators */, - { 0, 2142, 7312, 3, 8, UNI_INNEWTAILUE } /* innewtailue */, - { 1, 8424, 1264, 6, 25, UNI_SUPERANDSUB } /* block=superscriptsandsubscripts */, - { 0, 9093, 2665, 4, 19, UNI_JAMOEXTB } /* blk=hanguljamoextendedb */, - { 0, 8424, 8526, 6, 6, UNI_INKAITHI } /* block=kaithi */, - { 1, 9213, 0, 4, 0, UNI_LANA } /* lana */, - { 5, 8332, 6800, 4, 8, UNI_ARABICEXTA } /* isarabicexta */, - { 0, 5565, 4012, 13, 16, UNI_JG__MANICHAEANDALETH } /* joininggroup=manichaeandaleth */, - { 158, 3671, 9281, 17, 4, UNI_NEWA } /* scriptextensions=newa */, - { 0, 837, 0, 11, 0, UNI_PHONETICEXT } /* phoneticext */, - { 0, 4372, 0, 15, 0, UNI_CONTROLPICTURES } /* controlpictures */, - { 4, 8233, 4792, 7, 15, UNI_ZANB } /* script=zanabazarsquare */, - { 1, 8424, 3705, 6, 17, UNI_SMALLFORMS } /* block=smallformvariants */, - { 0, 1801, 3, 22, 1, -UNI_CWU } /* changeswhenuppercased=f */, - { 1, 8023, 0, 7, 0, UNI_CJKEXTC } /* cjkextc */, - { 384, 8424, 7221, 6, 9, UNI_EMOTICONS } /* block=emoticons */, - { 4, 9093, 3164, 4, 9, UNI_LATINEXTA } /* blk=latinexta */, - { 58, 4580, 2007, 3, 3, UNI_INMODI } /* inmodi */, - { 0, 8100, 26, 7, 1, UNI_HYPHEN } /* hyphen=y */, - { 0, 8424, 8261, 6, 7, UNI_INSOYOMBO } /* block=soyombo */, - { 14, 3251, 3, 3, 1, -UNI_CE } /* ce=f */, - { 1, 9113, 8475, 4, 3, UNI_CCC__132 } /* ccc=132 */, - { 92, 9301, 0, 4, 0, UNI_ORKH } /* orkh */, - { 27, 9093, 2393, 4, 20, UNI_INNYIAKENGPUACHUEHMONG } /* blk=nyiakengpuachuehmong */, - { 0, 9365, 9045, 4, 4, UNI_ADLM } /* scx=adlm */, - { 2, 21, 8610, 2, 6, UNI_INREJANG } /* inrejang */, - { 2, 8233, 9249, 7, 4, UNI_MERC } /* script=merc */, - { 0, 9629, 6459, 3, 11, UNI_LB__IN } /* lb=inseperable */, - { 2, 9365, 8191, 4, 7, UNI_OLCK } /* scx=olchiki */, - { 0, 9647, 7507, 3, 2, UNI_NV__12 } /* nv=12 */, - { 4, 8628, 0, 6, 0, UNI_THAA } /* thaana */, - { 40, 1362, 8735, 25, 4, UNI_CCC__18 } /* canonicalcombiningclass=ccc18 */, - { 0, 8412, 0, 6, 0, UNI_bidic_values_index } /* bidic= */, - { 58, 9647, 9580, 3, 2, UNI_NV__37 } /* nv=37 */, - { 20, 184, 2893, 2, 19, UNI_SUPARROWSC } /* issupplementalarrowsc */, - { 0, 9593, 3272, 3, 18, UNI_BC__RLI } /* bc=righttoleftisolate */, - { 1, 1691, 5678, 22, 4, UNI_BPT__N } /* bidipairedbrackettype=none */, - { 5, 1362, 8750, 25, 4, UNI_CCC__21 } /* canonicalcombiningclass=ccc21 */, - { 0, 1773, 995, 6, 2, -UNI_CASED } /* cased=no */, - { 3, 7128, 34, 10, 6, UNI_WB__EXTEND } /* wordbreak=extend */, - { 0, 8424, 7194, 6, 9, UNI_ARABICPFB } /* block=arabicpfb */, - { 30, 3002, 3852, 18, 5, UNI_DT__FIN } /* decompositiontype=final */, - { 0, 6918, 34, 10, 2, UNI_LB__EX } /* linebreak=ex */, - { 0, 6828, 5255, 10, 14, UNI_BC__NSM } /* bidiclass=nonspacingmark */, - { 3, 21, 2254, 3, 19, UNI_INANATOLIANHIEROGLYPHS } /* inanatolianhieroglyphs */, - { 11, 8332, 4822, 3, 4, UNI_ASCII } /* isascii */, - { 38, 1362, 9073, 24, 4, UNI_CCC__216 } /* canonicalcombiningclass=atar */, - { 0, 184, 9769, 2, 2, UNI_CASEDLETTER } /* isl_ */, - { 0, 8424, 6051, 6, 7, UNI_MAHJONG } /* block=mahjong */, - { 0, 6005, 2086, 3, 20, UNI_CYRILLICSUP } /* incyrillicsupplementary */, - { 0, 8886, 9337, 3, 4, UNI_SC__QAAI } /* sc=qaai */, - { 4, 9731, 495, 3, 7, UNI_WB__NU } /* wb=numeric */, - { 65, 4705, 4718, 3, 4, UNI_TAML } /* istamil */, - { 17, 6949, 987, 4, 2, UNI_CAKM } /* iscakm */, - { 2, 3671, 9329, 17, 4, UNI_PRTI } /* scriptextensions=prti */, - { 1, 3248, 1, 6, 1, -UNI_XPOSIXSPACE } /* space=n */, - { 0, 6316, 9433, 11, 4, UNI_IDC } /* idcontinue=true */, - { 1, 4080, 0, 10, 0, UNI_SM } /* mathsymbol */, - { 32, 6005, 2931, 3, 17, UNI_CHEROKEESUP } /* incherokeesupplement */, - { 2, 9629, 5953, 3, 2, UNI_LB__WJ } /* lb=wj */, - { 1, 719, 0, 21, 0, UNI_ENCLOSEDALPHANUM } /* enclosedalphanumerics */, - { 0, 2232, 0, 21, 0, UNI_YIJING } /* yijinghexagramsymbols */, - { 45, 9731, 1188, 3, 8, UNI_WB__KA } /* wb=katakana */, - { 0, 8424, 446, 6, 32, UNI_IDEOGRAPHICSYMBOLS } /* block=ideographicsymbolsandpunctuation */, - { 0, 9309, 0, 4, 0, UNI_OSGE } /* osge */, - { 1, 3450, 0, 17, 0, UNI_UCAS } /* canadiansyllabics */, - { 0, 9620, 9108, 3, 2, UNI_MC } /* gc=mc */, - { 1, 9085, 0, 4, 0, UNI_BATK } /* batk */, - { 64, 8424, 5003, 6, 14, UNI_LATINEXTB } /* block=latinextendedb */, - { 225, 3671, 7248, 17, 9, UNI_SIND } /* scriptextensions=khudawadi */, - { 18, 8604, 26, 6, 1, UNI_QMARK } /* qmark=y */, - { 16, 7230, 0, 9, 0, UNI_ext_values_index } /* extender= */, - { 4, 8960, 8864, 4, 5, -UNI_IDS } /* ids=false */, - { 2, 8424, 3110, 6, 11, UNI_GEORGIANSUP } /* block=georgiansup */, - { 1, 2703, 0, 4, 0, UNI_IDST } /* idst */, - { 0, 8424, 4762, 6, 15, UNI_VEDICEXT } /* block=vedicextensions */, - { 209, 5760, 7436, 13, 8, UNI_NV__1_SLASH_9 } /* numericvalue=1.11e-01 */, - { 0, 1911, 1434, 22, 24, UNI_INSC__CONSONANTSUCCEEDINGREPHA } /* indicsyllabiccategory=consonantsucceedingrepha */, - { 5, 5526, 0, 13, 0, UNI_GREEKEXT } /* greekextended */, - { 0, 6194, 8925, 3, 4, UNI_INORIYA } /* inoriya */, - { 0, 3671, 8310, 17, 4, UNI_TIRH } /* scriptextensions=tirh */, - { 21, 184, 9493, 2, 4, UNI_ZZZZ } /* iszzzz */, - { 12, 9620, 3820, 3, 16, UNI_PE } /* gc=closepunctuation */, - { 68, 3236, 8864, 18, 5, -UNI__PERL_PATWS } /* patternwhitespace=false */, - { 0, 3671, 6183, 17, 4, UNI_MEND } /* scriptextensions=mend */, - { 257, 1866, 0, 2, 0, UNI_SD } /* sd */, - { 0, 9365, 9177, 4, 4, UNI_HANO } /* scx=hano */, - { 0, 9093, 4717, 4, 8, UNI_TAMILSUP } /* blk=tamilsup */, - { 0, 5760, 7500, 13, 8, UNI_NV__3_SLASH_16 } /* numericvalue=1.88e-01 */, - { 1, 1362, 3433, 24, 17, UNI_WB__EB } /* canonicalcombiningclass=attachedbelowleft */, - { 0, 2532, 0, 4, 0, UNI_BRAH } /* brah */, - { 11, 21, 3164, 2, 18, UNI_LATINEXTADDITIONAL } /* inlatinextadditional */, - { 1, 7018, 9006, 10, 3, UNI_IN__2_DOT_1 } /* presentin=2.1 */, - { 0, 8886, 2127, 3, 14, UNI_SC__ROHG } /* sc=hanifirohingya */, - { 5, 3002, 2709, 18, 3, UNI_DT__NAR } /* decompositiontype=nar */, - { 0, 9731, 5625, 3, 2, UNI_WB__ML } /* wb=ml */, - { 0, 9093, 2064, 4, 21, UNI_CJKRADICALSSUP } /* blk=cjkradicalssupplement */, - { 0, 5760, 7604, 13, 8, UNI_NV__2_SLASH_5 } /* numericvalue=4.00e-01 */, - { 1, 1497, 995, 9, 2, UNI_NO } /* category=no */, - { 1, 8424, 5448, 6, 13, UNI_BLOCKELEMENTS } /* block=blockelements */, - { 1, 8424, 149, 7, 34, UNI_DIACRITICALSSUP } /* block=combiningdiacriticalmarkssupplement */, - { 24, 8424, 8031, 7, 6, UNI_CJKEXTD } /* block=cjkextd */, - { 44, 5760, 3969, 13, 1, UNI_NV__1 } /* numericvalue=1 */, - { 24, 3868, 1, 16, 1, UNI_N } /* generalcategory=n */, - { 0, 21, 7996, 3, 6, UNI_INAVESTAN } /* inavestan */, - { 3, 8424, 43, 7, 2, UNI_CJK } /* block=cjk */, - { 419, 8424, 8709, 6, 5, UNI_INBUHID } /* block=buhid */, - { 12, 9629, 5847, 3, 12, UNI_LB__SY } /* lb=breaksymbols */, - { 0, 8424, 3756, 6, 16, UNI_ARABICSUP } /* block=arabicsupplement */, - { 74, 5565, 5143, 13, 14, UNI_JG__MANICHAEANQOPH } /* joininggroup=manichaeanqoph */, - { 0, 8424, 3536, 7, 16, UNI_CYRILLICEXTC } /* block=cyrillicextendedc */, - { 3, 8634, 0, 6, 0, UNI_uideo_values_index } /* uideo= */, - { 0, 3688, 0, 16, 0, UNI_STERM } /* sentenceterminal */, - { 3, 1482, 61, 3, 4, UNI_INDOGRA } /* indogra */, - { 0, 9453, 0, 3, 0, UNI_VAI } /* vai */, - { 0, 5565, 8544, 13, 6, UNI_JG__LAMADH } /* joininggroup=lamadh */, - { 22, 3739, 995, 17, 2, -UNI_UIDEO } /* unifiedideograph=no */, - { 0, 5760, 9509, 13, 3, UNI_NV__2_SLASH_5 } /* numericvalue=2/5 */, - { 0, 21, 3418, 4, 15, UNI_ALCHEMICAL } /* inalchemicalsymbols */, - { 266, 5760, 7708, 13, 8, UNI_NV__15_SLASH_2 } /* numericvalue=7.50e+00 */, - { 36, 5513, 3, 13, 1, -UNI_GRBASE } /* graphemebase=f */, - { 0, 4580, 6560, 4, 9, UNI_INMEDEFAIDRIN } /* inmedefaidrin */, - { 4, 8424, 4388, 7, 14, UNI_CURRENCYSYMBOLS } /* block=currencysymbols */, - { 8, 184, 4933, 2, 14, UNI_INGREEK } /* isgreekandcoptic */, - { 0, 8844, 9734, 5, 3, UNI_CWCF } /* cwcf=yes */, - { 8, 4361, 3886, 4, 9, UNI_GEORGIANEXT } /* ingeorgianext */, - { 10, 184, 6171, 2, 12, UNI_MATHALPHANUM } /* ismathalphanum */, - { 2, 8424, 9397, 6, 4, UNI_TAGS } /* block=tags */, - { 5, 9923, 8312, 4, 5, UNI_INTIRHUTA } /* intirhuta */, - { 26, 5565, 6785, 13, 3, UNI_JG__FEH } /* joininggroup=feh */, - { 1, 6918, 958, 10, 2, UNI_LB__CP } /* linebreak=cp */, - { 29, 184, 2006, 2, 4, UNI_MODI } /* ismodi */, - { 8, 995, 0, 2, 0, UNI_NO } /* no */, - { 1, 5325, 3, 14, 1, -UNI_QMARK } /* quotationmark=f */, - { 0, 25, 0, 1, 0, UNI_S } /* s */, - { 3, 9093, 1889, 4, 22, UNI_EARLYDYNASTICCUNEIFORM } /* blk=earlydynasticcuneiform */, - { 1, 21, 6898, 2, 10, UNI_INKHAROSHTHI } /* inkharoshthi */, - { 0, 184, 6838, 2, 10, UNI_BOXDRAWING } /* isboxdrawing */, - { 3, 9113, 8437, 5, 5, UNI_CCC__103 } /* ccc=ccc103 */, - { 170, 9113, 18, 4, 1, UNI_CCC__R } /* ccc=r */, - { 1, 5269, 26, 14, 1, UNI_PATSYN } /* patternsyntax=y */, - { 0, 6816, 8710, 3, 4, UNI_INBUHID } /* inbuhid */, - { 0, 9101, 0, 4, 0, UNI_BUHD } /* buhd */, - { 0, 9093, 8079, 4, 7, UNI_INGRANTHA } /* blk=grantha */, - { 25, 3671, 7804, 17, 8, UNI_BUGI } /* scriptextensions=buginese */, - { 9, 7025, 9563, 3, 3, UNI_IN__5_DOT_1 } /* in=5.1 */, - { 9, 6888, 8864, 10, 5, -UNI_DIA } /* diacritic=false */, - { 15, 8424, 3772, 6, 8, UNI_INBOPOMOFO } /* block=bopomofo */, - { 52, 9725, 0, 3, 1, UNI_VO__U } /* vo=u */, - { 3, 7128, 7820, 10, 8, UNI_WB__EB } /* wordbreak=ebasegaz */, - { 3, 8233, 9273, 7, 4, UNI_NARB } /* script=narb */, - { 2, 9289, 0, 4, 0, UNI_NSHU } /* nshu */, - { 0, 7025, 7446, 3, 1, UNI_IN__2 } /* in=2 */, - { 192, 8424, 4204, 6, 9, UNI_SYRIACSUP } /* block=syriacsup */, - { 0, 2493, 409, 20, 2, UNI_VO__TR } /* verticalorientation=tr */, - { 0, 3671, 4657, 17, 15, UNI_NARB } /* scriptextensions=oldnortharabian */, - { 0, 9911, 0, 10, 0, UNI_POSIXBLANK } /* posixblank */, - { 43, 8886, 9233, 3, 4, UNI_LISU } /* sc=lisu */, - { 2, 8886, 5617, 3, 9, UNI_SC__MLYM } /* sc=malayalam */, - { 0, 7128, 138, 10, 2, UNI_WB__FO } /* wordbreak=fo */, - { 5, 6027, 0, 12, 0, UNI_KHMERSYMBOLS } /* khmersymbols */, - { 0, 8233, 9085, 7, 4, UNI_BATK } /* script=batk */, - { 38, 2148, 4205, 3, 15, UNI_SYRIACSUP } /* insyriacsupplement */, - { 3, 9593, 2433, 3, 20, UNI_BC__RLE } /* bc=righttoleftembedding */, - { 0, 446, 0, 32, 0, UNI_IDEOGRAPHICSYMBOLS } /* ideographicsymbolsandpunctuation */, - { 2, 184, 407, 3, 6, UNI_XPOSIXCNTRL } /* iscontrol */, - { 257, 7128, 125, 10, 2, UNI_LB__CR } /* wordbreak=cr */, - { 0, 3467, 0, 17, 0, UNI_AGHB } /* caucasianalbanian */, - { 1, 184, 1136, 2, 25, UNI_DI } /* isdefaultignorablecodepoint */, - { 31, 8586, 47, 6, 1, UNI_NFCQC__M } /* nfcqc=m */, - { 0, 2212, 2648, 4, 17, UNI_JAMOEXTA } /* inhanguljamoextendeda */, - { 19, 184, 9265, 2, 4, UNI_MTEI } /* ismtei */, - { 3, 8332, 4254, 4, 13, UNI_ARABICEXTA } /* isarabicextendeda */, - { 16, 8884, 4188, 5, 16, UNI_INSC__SYLLABLEMODIFIER } /* insc=syllablemodifier */, - { 8, 8424, 3164, 6, 18, UNI_LATINEXTADDITIONAL } /* block=latinextadditional */, - { 7, 2106, 1164, 21, 2, UNI_LB__LF } /* graphemeclusterbreak=lf */, - { 6, 9093, 6690, 4, 11, UNI_INSORASOMPENG } /* blk=sorasompeng */, - { 3, 8128, 0, 7, 0, UNI_MAKA } /* makasar */, - { 4, 8233, 9405, 7, 4, UNI_TALU } /* script=talu */, - { 165, 8871, 721, 3, 2, UNI_SB__CL } /* sb=cl */, - { 0, 1362, 7555, 24, 2, UNI_CCC__23 } /* canonicalcombiningclass=23 */, - { 76, 7932, 9734, 8, 3, UNI_RADICAL } /* radical=yes */, - { 1, 9731, 5967, 3, 12, UNI_LB__HL } /* wb=hebrewletter */, - { 10, 8030, 0, 7, 0, UNI_CJKEXTD } /* cjkextd */, - { 188, 9626, 18, 3, 1, UNI_JT__R } /* jt=r */, - { 0, 3671, 9229, 17, 4, UNI_LINB } /* scriptextensions=linb */, - { 0, 8886, 4657, 3, 15, UNI_NARB } /* sc=oldnortharabian */, - { 8, 8233, 7, 7, 18, UNI_CANS } /* script=canadianaboriginal */, - { 1, 9093, 1599, 4, 6, UNI_INHANGUL } /* blk=hangul */, - { 0, 1362, 9518, 24, 3, UNI_CCC__BL } /* canonicalcombiningclass=218 */, - { 1, 8886, 8065, 3, 7, UNI_ELBA } /* sc=elbasan */, - { 0, 8598, 8864, 6, 5, -UNI__PERL_PATWS } /* patws=false */, - { 74, 9901, 9921, 8, 5, UNI_XPOSIXPRINT } /* isxposixprint */, - { 0, 9647, 8371, 3, 2, UNI_NV__32 } /* nv=32 */, - { 39, 8598, 995, 6, 2, -UNI__PERL_PATWS } /* patws=no */, - { 107, 6005, 5872, 3, 11, UNI_CYRILLICEXTA } /* incyrillicexta */, - { 6, 3671, 9217, 17, 3, UNI_LAO } /* scriptextensions=lao */, - { 0, 9647, 7435, 3, 2, UNI_NV__11 } /* nv=11 */, - { 0, 5565, 6785, 13, 2, UNI_JG__FE } /* joininggroup=fe */, - { 0, 5760, 7763, 13, 2, UNI_NV__19 } /* numericvalue=19 */, - { 0, 3671, 9401, 17, 4, UNI_TALE } /* scriptextensions=tale */, - { 0, 184, 5311, 2, 14, UNI_PHLP } /* ispsalterpahlavi */, - { 0, 8919, 0, 5, 0, UNI_OGAM } /* ogham */, - { 0, 9629, 8100, 3, 2, UNI_LB__HY } /* lb=hy */, - { 0, 9647, 8669, 3, 5, UNI_NV__1_SLASH_320 } /* nv=1/320 */, - { 8, 5565, 5695, 13, 13, UNI_JG__MANICHAEANTEN } /* joininggroup=manichaeanten */, - { 0, 3671, 8939, 17, 5, UNI_TALE } /* scriptextensions=taile */, - { 0, 1911, 1214, 22, 25, UNI_INSC__CONSONANTINITIALPOSTFIXED } /* indicsyllabiccategory=consonantinitialpostfixed */, - { 6, 3671, 2741, 17, 19, UNI_MERO } /* scriptextensions=meroitichieroglyphs */, - { 3, 8424, 3552, 6, 11, UNI_ETHIOPICEXT } /* block=ethiopicext */, - { 0, 6978, 0, 10, 0, UNI_XPEO } /* oldpersian */, - { 0, 8886, 8628, 3, 6, UNI_SC__THAA } /* sc=thaana */, - { 1, 184, 7118, 2, 10, UNI_WARA } /* iswarangciti */, - { 262, 1314, 0, 24, 0, UNI_ARABICPFA } /* arabicpresentationformsa */, - { 0, 5213, 26, 14, 1, UNI_NFCQC__Y } /* nfcquickcheck=y */, - { 0, 3671, 8128, 17, 4, UNI_MAKA } /* scriptextensions=maka */, - { 0, 6828, 25, 10, 1, UNI_BC__S } /* bidiclass=s */, - { 0, 8526, 0, 6, 0, UNI_KTHI } /* kaithi */, - { 162, 8886, 7347, 3, 9, UNI_ORKH } /* sc=oldturkic */, - { 0, 8580, 9734, 6, 3, UNI__PERL_NCHAR } /* nchar=yes */, - { 65, 8886, 497, 5, 3, UNI_KHMR } /* sc=khmer */, - { 0, 9365, 9465, 4, 4, UNI_XPEO } /* scx=xpeo */, - { 3, 3416, 0, 10, 0, UNI_ALCHEMICAL } /* alchemical */, - { 1, 8233, 9209, 7, 4, UNI_SC__KTHI } /* script=kthi */, - { 0, 8886, 9373, 3, 4, UNI_SGNW } /* sc=sgnw */, - { 0, 9909, 3, 3, 1, UNI_PF } /* ispf */, - { 0, 8424, 8610, 6, 6, UNI_INREJANG } /* block=rejang */, - { 4, 3868, 262, 16, 2, UNI_SM } /* generalcategory=sm */, - { 358, 2708, 4254, 4, 13, UNI_ARABICEXTA } /* inarabicextendeda */, - { 0, 5513, 995, 13, 2, -UNI_GRBASE } /* graphemebase=no */, - { 144, 8879, 6268, 3, 11, UNI_PHAISTOS } /* inphaistosdisc */, - { 1, 9365, 3467, 4, 17, UNI_AGHB } /* scx=caucasianalbanian */, - { 8, 9365, 9241, 4, 4, UNI_MEDF } /* scx=medf */, - { 1, 8424, 8317, 6, 7, UNI_UCASEXT } /* block=ucasext */, - { 1, 9620, 697, 3, 2, UNI_MN } /* gc=mn */, - { 0, 9097, 17, 4, 1, UNI_BPT__O } /* bpt=o */, - { 4, 184, 4507, 2, 15, UNI_LOWERCASELETTER } /* islowercaseletter */, - { 0, 8424, 7185, 6, 9, UNI_ARABICPFA } /* block=arabicpfa */, - { 104, 8955, 995, 4, 2, -UNI_IDC } /* idc=no */, - { 177, 6679, 1, 11, 1, -UNI_SD } /* softdotted=n */, - { 2, 2493, 3373, 20, 7, UNI_VO__R } /* verticalorientation=rotated */, - { 11, 9093, 8268, 4, 7, UNI_SUPPUAA } /* blk=suppuaa */, - { 112, 1889, 0, 22, 0, UNI_EARLYDYNASTICCUNEIFORM } /* earlydynasticcuneiform */, - { 44, 4447, 4290, 15, 7, UNI_EA__N } /* eastasianwidth=neutral */, - { 10, 9629, 4877, 3, 14, UNI_LB__SA } /* lb=complexcontext */, - { 2, 9864, 9839, 14, 7, UNI__PERL_NON_FINAL_FOLDS } /* _perl_non_final_folds */, - { 2, 8886, 8944, 3, 5, UNI_SC__TAKR } /* sc=takri */, - { 2, 1911, 4702, 22, 15, UNI_INSC__REGISTERSHIFTER } /* indicsyllabiccategory=registershifter */, - { 1, 21, 3290, 2, 4, UNI_RUMI } /* inrumi */, - { 22, 8424, 3932, 6, 16, UNI_HIGHPUSURROGATES } /* block=highpusurrogates */, - { 3, 9593, 9644, 3, 3, UNI_BC__NSM } /* bc=nsm */, - { 1, 1362, 9533, 24, 3, UNI_CCC__A } /* canonicalcombiningclass=230 */, - { 0, 5760, 7540, 13, 6, UNI_NV__200000 } /* numericvalue=200000 */, - { 19, 5760, 7487, 13, 1, UNI_NV__6 } /* numericvalue=6 */, - { 1, 4705, 8311, 3, 6, UNI_TIRH } /* istirhuta */, - { 0, 8424, 8010, 7, 6, UNI_CJKEXTA } /* block=cjkexta */, - { 0, 7311, 0, 9, 0, UNI_TALU } /* newtailue */, - { 177, 1497, 1767, 9, 2, UNI_NL } /* category=nl */, - { 2, 3671, 7980, 17, 8, UNI_UGAR } /* scriptextensions=ugaritic */, - { 0, 4705, 4718, 3, 7, UNI_TAMILSUP } /* istamilsup */, - { 0, 8424, 2931, 7, 10, UNI_CHEROKEESUP } /* block=cherokeesup */, - { 42, 8496, 995, 6, 2, -UNI_CWKCF } /* cwkcf=no */, - { 35, 6949, 2, 5, 1, UNI_CARI } /* iscari */, - { 1, 9093, 1289, 4, 25, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* blk=symbolsandpictographsexta */, - { 42, 9593, 3218, 3, 18, UNI_BC__B } /* bc=paragraphseparator */, - { 0, 184, 8859, 2, 4, UNI_DOGR } /* isdogr */, - { 0, 8871, 1812, 3, 5, UNI_SB__UP } /* sb=upper */, - { 0, 9113, 8745, 5, 4, UNI_CCC__20 } /* ccc=ccc20 */, - { 167, 8424, 4582, 6, 15, UNI_INMEROITICCURSIVE } /* block=meroiticcursive */, - { 2, 3671, 7049, 18, 3, UNI_SAUR } /* scriptextensions=saur */, - { 8, 9647, 8400, 3, 4, UNI_NV__9000 } /* nv=9000 */, - { 0, 7018, 9689, 10, 3, UNI_IN__4 } /* presentin=v40 */, - { 2, 1362, 8439, 24, 3, UNI_CCC__103 } /* canonicalcombiningclass=103 */, - { 39, 9605, 1223, 3, 4, UNI_DT__INIT } /* dt=init */, - { 0, 1757, 1, 22, 1, -UNI_CWL } /* changeswhenlowercased=n */, - { 0, 5487, 0, 13, 0, UNI_XPOSIXDIGIT } /* decimalnumber */, - { 57, 9901, 8839, 8, 5, UNI_XPOSIXCNTRL } /* isxposixcntrl */, - { 0, 4705, 8945, 3, 3, UNI_TAKR } /* istakr */, - { 1, 8332, 7996, 3, 6, UNI_AVST } /* isavestan */, - { 128, 9620, 995, 3, 2, UNI_NO } /* gc=no */, - { 0, 8886, 7916, 3, 8, UNI_SC__MAHJ } /* sc=mahajani */, - { 252, 6003, 3, 12, 1, -UNI_JOINC } /* joincontrol=f */, - { 194, 184, 114, 3, 24, UNI_DIACRITICALS } /* iscombiningdiacriticalmarks */, - { 0, 7419, 995, 9, 2, -UNI_XIDS } /* xidstart=no */, - { 19, 8424, 2836, 6, 12, UNI_SUNDANESESUP } /* block=sundanesesup */, - { 1, 9277, 0, 4, 0, UNI_NBAT } /* nbat */, - { 1, 9605, 1264, 3, 5, UNI_DT__SUP } /* dt=super */, - { 2, 9647, 8364, 3, 3, UNI_NV__400 } /* nv=400 */, - { 6, 9113, 5138, 4, 2, UNI_CCC__7 } /* ccc=nk */, - { 2, 9593, 5603, 3, 3, UNI_BC__RLO } /* bc=rlo */, - { 0, 4829, 0, 5, 0, UNI_XPOSIXDIGIT } /* digit */, - { 0, 6194, 7348, 3, 8, UNI_INOLDTURKIC } /* inoldturkic */, - { 126, 1482, 6734, 24, 11, UNI_INPC__TOPANDRIGHT } /* indicpositionalcategory=topandright */, - { 29, 5339, 1812, 14, 5, UNI_SB__UP } /* sentencebreak=upper */, - { 0, 9113, 184, 4, 2, UNI_CCC__IS } /* ccc=is */, - { 22, 9647, 7468, 3, 8, UNI_NV__3_SLASH_2 } /* nv=1.50e+00 */, - { 71, 6315, 26, 12, 1, UNI_XIDC } /* xidcontinue=y */, - { 1, 8424, 8949, 6, 5, UNI_VSSUP } /* block=vssup */, - { 321, 9257, 0, 4, 0, UNI_MLYM } /* mlym */, - { 0, 3671, 8622, 17, 6, UNI_TELU } /* scriptextensions=telugu */, - { 0, 3671, 8142, 17, 7, UNI_MARC } /* scriptextensions=marchen */, - { 0, 9620, 1532, 3, 1, UNI_Z } /* gc=z */, - { 19, 8886, 9285, 3, 4, UNI_NKO } /* sc=nkoo */, - { 265, 7940, 0, 8, 0, UNI_SPECIALS } /* specials */, - { 8, 7025, 9566, 3, 3, UNI_IN__5_DOT_2 } /* in=5.2 */, - { 167, 2708, 1340, 4, 22, UNI_ARABICPFB } /* inarabicpresentationformsb */, - { 2, 2204, 262, 3, 3, UNI_OSMA } /* isosma */, - { 312, 184, 5045, 2, 14, UNI_LATINEXTE } /* islatinextendede */, - { 5, 3671, 2409, 17, 4, UNI_MONG } /* scriptextensions=mong */, - { 0, 184, 11, 2, 3, UNI_DIA } /* isdia */, - { 0, 9093, 2353, 4, 20, UNI_ININSCRIPTIONALPAHLAVI } /* blk=inscriptionalpahlavi */, - { 1, 6646, 0, 11, 0, UNI_HMNG } /* pahawhhmong */, - { 41, 7078, 0, 10, 0, UNI_SUPARROWSB } /* suparrowsb */, - { 0, 6371, 0, 10, 0, UNI_DEP } /* deprecated */, - { 3, 8233, 8562, 7, 6, UNI_LYCI } /* script=lycian */, - { 136, 8233, 3730, 8, 3, UNI_SGNW } /* script=sgnw */, - { 3, 8959, 3, 5, 1, -UNI_XIDS } /* xids=f */, - { 0, 7128, 7293, 10, 6, UNI_WB__MN } /* wordbreak=midnum */, - { 1, 8424, 1618, 6, 4, UNI_JAMO } /* block=jamo */, - { 2, 8604, 0, 6, 0, UNI_qmark_values_index } /* qmark= */, - { 198, 8508, 8864, 6, 5, -UNI_GREXT } /* grext=false */, - { 16, 4849, 0, 14, 0, UNI_ci_values_index } /* caseignorable= */, - { 2, 2984, 0, 18, 0, UNI_COPTICEPACTNUMBERS } /* copticepactnumbers */, - { 1, 6005, 540, 3, 29, UNI_CJKEXTB } /* incjkunifiedideographsextensionb */, - { 0, 1735, 36, 22, 1, UNI_CWCM } /* changeswhencasemapped=t */, - { 128, 1243, 0, 20, 0, UNI_CE } /* compositionexclusion */, - { 0, 5565, 5381, 13, 10, UNI_JG__TEHMARBUTA } /* joininggroup=tehmarbuta */, - { 5, 6003, 8864, 12, 5, -UNI_JOINC } /* joincontrol=false */, - { 146, 9365, 7203, 4, 9, UNI_BHKS } /* scx=bhaiksuki */, - { 771, 9731, 34, 3, 6, UNI_WB__EXTEND } /* wb=extend */, - { 7, 2106, 36, 21, 1, UNI_GCB__T } /* graphemeclusterbreak=t */, - { 72, 5227, 0, 14, 0, UNI_nfdqc_values_index } /* nfdquickcheck= */, - { 7, 184, 5835, 2, 11, UNI_BIDIC } /* isbidicontrol */, - { 0, 184, 1618, 2, 4, UNI_JAMO } /* isjamo */, - { 81, 8233, 9177, 7, 4, UNI_SC__HANO } /* script=hano */, - { 2, 8854, 8864, 5, 5, -UNI_DASH } /* dash=false */, - { 0, 1497, 74, 9, 2, UNI_ME } /* category=me */, - { 203, 1362, 7540, 24, 2, UNI_CCC__20 } /* canonicalcombiningclass=20 */, - { 324, 5283, 0, 14, 0, UNI_PHONETICEXTSUP } /* phoneticextsup */, - { 2, 8233, 7772, 7, 8, UNI_SC__ARMN } /* script=armenian */, - { 265, 9620, 4747, 3, 15, UNI_UPPERCASELETTER } /* gc=uppercaseletter */, - { 324, 2204, 6097, 3, 3, UNI_OGAM } /* isogam */, - { 0, 9647, 7487, 3, 1, UNI_NV__6 } /* nv=6 */, - { 120, 808, 0, 29, 0, UNI_MISCARROWS } /* miscellaneoussymbolsandarrows */, - { 30, 7025, 9683, 3, 3, UNI_IN__3_DOT_1 } /* in=v31 */, - { 204, 5565, 6111, 13, 12, UNI_JG__MALAYALAMNYA } /* joininggroup=malayalamnya */, - { 0, 8886, 8540, 5, 4, UNI_SC__KHOJ } /* sc=khojki */, - { 0, 8424, 719, 6, 21, UNI_ENCLOSEDALPHANUM } /* block=enclosedalphanumerics */, - { 0, 4687, 0, 15, 0, UNI_PS } /* openpunctuation */, - { 2, 8699, 0, 5, 0, UNI_BATK } /* batak */, - { 1, 9093, 9281, 4, 4, UNI_INNEWA } /* blk=newa */, - { 0, 1779, 9433, 22, 4, UNI_CWT } /* changeswhentitlecased=true */, - { 0, 3671, 8065, 17, 7, UNI_ELBA } /* scriptextensions=elbasan */, - { 0, 8886, 9257, 3, 4, UNI_SC__MLYM } /* sc=mlym */, - { 0, 9647, 7611, 3, 2, UNI_NV__14 } /* nv=14 */, - { 0, 9093, 5604, 4, 13, UNI_LOWSURROGATES } /* blk=lowsurrogates */, - { 8, 2453, 8864, 20, 5, -UNI_TERM } /* terminalpunctuation=false */, - { 3, 184, 1736, 3, 20, UNI_CWCM } /* ischangeswhencasemapped */, - { 276, 9909, 3468, 3, 3, UNI_PAUC } /* ispauc */, - { 578, 9629, 9761, 3, 2, UNI_GCB__L } /* lb=jl */, - { 46, 9221, 0, 4, 0, UNI_LATN } /* latn */, - { 1, 184, 9457, 2, 4, UNI_WCHO } /* iswcho */, - { 0, 5269, 36, 14, 1, UNI_PATSYN } /* patternsyntax=t */, - { 0, 4705, 1791, 3, 8, UNI_TITLE } /* istitlecase */, - { 5, 8598, 1, 6, 1, -UNI__PERL_PATWS } /* patws=n */, - { 2, 6005, 5884, 3, 11, UNI_CYRILLICEXTB } /* incyrillicextb */, - { 153, 9113, 9536, 4, 3, UNI_CCC__AR } /* ccc=232 */, - { 9, 184, 2760, 2, 19, UNI_MODIFIERTONELETTERS } /* ismodifiertoneletters */, - { 179, 8884, 1214, 5, 9, UNI_INSC__CONSONANT } /* insc=consonant */, - { 259, 6949, 12, 5, 3, UNI_CARI } /* iscarian */, - { 0, 1362, 8457, 24, 3, UNI_CCC__122 } /* canonicalcombiningclass=122 */, - { 265, 9647, 5409, 3, 7, UNI_NV__1000000 } /* nv=1000000 */, - { 546, 6316, 1, 11, 1, -UNI_IDC } /* idcontinue=n */, - { 0, 8424, 8514, 6, 6, UNI_INHATRAN } /* block=hatran */, - { 0, 8233, 9241, 7, 4, UNI_MEDF } /* script=medf */, - { 0, 6918, 5346, 10, 2, UNI_LB__EB } /* linebreak=eb */, - { 0, 1933, 0, 21, 0, UNI_LOE } /* logicalorderexception */, - { 3, 8886, 8562, 3, 6, UNI_LYCI } /* sc=lycian */, - { 0, 8424, 3586, 6, 17, UNI_INDICSIYAQNUMBERS } /* block=indicsiyaqnumbers */, - { 81, 8510, 9433, 4, 4, UNI_EXT } /* ext=true */, - { 194, 8886, 6602, 3, 4, UNI_SC__NAND } /* sc=nand */, - { 0, 9365, 8079, 4, 4, UNI_GRAN } /* scx=gran */, - { 392, 5760, 7476, 13, 8, UNI_NV__3_SLASH_20 } /* numericvalue=1.50e-01 */, - { 0, 9365, 6554, 5, 3, UNI_SAMR } /* scx=samr */, - { 5, 3868, 5500, 16, 13, UNI_ME } /* generalcategory=enclosingmark */, - { 129, 1773, 3, 6, 1, -UNI_CASED } /* cased=f */, - { 3, 9153, 34, 4, 2, UNI_GCB__EX } /* gcb=ex */, - { 74, 8886, 2169, 3, 11, UNI_MTEI } /* sc=meeteimayek */, - { 2, 9109, 0, 4, 0, UNI_CANS } /* cans */, - { 323, 3671, 6992, 18, 3, UNI_SOGD } /* scriptextensions=sogd */, - { 0, 21, 5031, 2, 14, UNI_LATINEXTD } /* inlatinextendedd */, - { 298, 1933, 8864, 22, 5, -UNI_LOE } /* logicalorderexception=false */, - { 218, 9049, 7668, 4, 3, UNI_AGE__6_DOT_2 } /* age=6.2 */, - { 1, 9329, 0, 4, 0, UNI_PRTI } /* prti */, - { 86, 9903, 3248, 6, 5, UNI_XPOSIXSPACE } /* xposixspace */, - { 1, 8233, 8894, 7, 5, UNI_SC__LIMB } /* script=limbu */, - { 140, 9365, 8568, 4, 4, UNI_LYDI } /* scx=lydi */, - { 0, 9113, 6393, 4, 11, UNI_CCC__DA } /* ccc=doubleabove */, - { 14, 3868, 9779, 16, 2, UNI_ZS } /* generalcategory=zs */, - { 2, 2493, 0, 20, 1, UNI_VO__U } /* verticalorientation=u */, - { 0, 9901, 2703, 3, 3, UNI_XIDS } /* isxids */, - { 0, 3671, 2253, 17, 20, UNI_HLUW } /* scriptextensions=anatolianhieroglyphs */, - { 0, 8233, 8914, 7, 5, UNI_NSHU } /* script=nushu */, - { 0, 3671, 9425, 17, 4, UNI_THAI } /* scriptextensions=thai */, - { 769, 184, 4864, 3, 13, UNI_CJKCOMPATFORMS } /* iscjkcompatforms */, - { 0, 8616, 9434, 7, 3, UNI_STERM } /* sterm=true */, - { 3, 8959, 9433, 5, 4, UNI_XIDS } /* xids=true */, - { 0, 8233, 9457, 7, 4, UNI_WCHO } /* script=wcho */, - { 0, 5760, 7611, 13, 2, UNI_NV__14 } /* numericvalue=14 */, - { 0, 9629, 958, 3, 2, UNI_LB__CP } /* lb=cp */, - { 369, 9049, 9698, 4, 3, UNI_AGE__5_DOT_1 } /* age=v51 */, - { 0, 3002, 6195, 18, 8, UNI_DT__NONCANON } /* decompositiontype=noncanon */, - { 290, 9365, 8324, 4, 7, UNI_ZZZZ } /* scx=unknown */, - { 0, 21, 7900, 2, 8, UNI_KANAEXTA } /* inkanaexta */, - { 164, 1977, 8864, 22, 5, -UNI__PERL_NCHAR } /* noncharactercodepoint=false */, - { 20, 9365, 6992, 5, 3, UNI_SOGD } /* scx=sogd */, - { 6, 9623, 4522, 3, 15, UNI_JG__MANICHAEANALEPH } /* jg=manichaeanaleph */, - { 0, 8508, 0, 5, 0, UNI_GREXT } /* grext */, - { 1, 9835, 9819, 14, 11, UNI__PERL_FOLDS_TO_MULTI_CHAR } /* _perl_folds_to_multi_char */, - { 1, 8424, 4989, 6, 14, UNI_KANGXI } /* block=kangxiradicals */, - { 1, 3671, 9265, 17, 4, UNI_MTEI } /* scriptextensions=mtei */, - { 91, 865, 0, 28, 0, UNI_SUPPUAA } /* supplementaryprivateuseareaa */, - { 1, 21, 1618, 2, 4, UNI_JAMO } /* injamo */, - { 5, 1911, 8909, 22, 5, UNI_INSC__NUKTA } /* indicsyllabiccategory=nukta */, - { 35, 5565, 5630, 13, 13, UNI_JG__MALAYALAMNNNA } /* joininggroup=malayalamnnna */, - { 0, 6338, 26, 11, 1, UNI_XPOSIXALPHA } /* alphabetic=y */, - { 35, 8886, 9057, 3, 4, UNI_AHOM } /* sc=ahom */, - { 128, 7420, 1, 8, 1, -UNI_IDS } /* idstart=n */, - { 0, 6338, 9734, 11, 3, UNI_XPOSIXALPHA } /* alphabetic=yes */, - { 60, 184, 349, 2, 33, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* issupplementalsymbolsandpictographs */, - { 135, 6005, 3502, 3, 16, UNI_CYRILLICEXTA } /* incyrillicextendeda */, - { 0, 8424, 3603, 6, 17, UNI_LETTERLIKESYMBOLS } /* block=letterlikesymbols */, - { 32, 9113, 8770, 5, 4, UNI_CCC__25 } /* ccc=ccc25 */, - { 0, 6828, 2722, 10, 19, UNI_BC__LRO } /* bidiclass=lefttorightoverride */, - { 0, 8424, 1999, 6, 22, UNI_MODIFIERLETTERS } /* block=spacingmodifierletters */, - { 0, 8424, 8017, 7, 6, UNI_CJKEXTB } /* block=cjkextb */, - { 0, 9093, 4175, 4, 13, UNI_MATHOPERATORS } /* blk=mathoperators */, - { 0, 6015, 6426, 12, 11, UNI_JT__D } /* joiningtype=dualjoining */, - { 0, 9365, 8562, 4, 6, UNI_LYCI } /* scx=lycian */, - { 0, 8634, 0, 5, 0, UNI_UIDEO } /* uideo */, - { 0, 6816, 4268, 3, 7, UNI_BAMUMSUP } /* inbamumsup */, - { 1, 1362, 9539, 24, 3, UNI_CCC__DB } /* canonicalcombiningclass=233 */, - { 0, 1239, 9734, 25, 3, UNI_COMPEX } /* fullcompositionexclusion=yes */, - { 0, 184, 4172, 2, 16, UNI_SUPMATHOPERATORS } /* issupmathoperators */, - { 146, 5339, 2453, 15, 4, UNI_SB__ST } /* sentencebreak=sterm */, - { 0, 8617, 9734, 5, 3, UNI_TERM } /* term=yes */, - { 5, 2148, 6713, 3, 10, UNI_SUPERANDSUB } /* insuperandsub */, - { 0, 6267, 0, 12, 0, UNI_PHAISTOS } /* phaistosdisc */, - { 0, 9605, 7868, 3, 8, UNI_DT__ISO } /* dt=isolated */, - { 0, 2204, 7349, 4, 7, UNI_ORKH } /* isoldturkic */, - { 423, 9113, 8449, 5, 5, UNI_CCC__118 } /* ccc=ccc118 */, - { 0, 3671, 8002, 17, 4, UNI_BENG } /* scriptextensions=beng */, - { 0, 9593, 2192, 3, 3, UNI_BC__PDI } /* bc=pdi */, - { 0, 8233, 7788, 7, 4, UNI_BALI } /* script=bali */, - { 0, 1713, 1, 22, 1, -UNI_CWCF } /* changeswhencasefolded=n */, - { 30, 9365, 8679, 4, 5, UNI_ADLM } /* scx=adlam */, - { 0, 6005, 43, 3, 35, UNI_CJKCOMPATIDEOGRAPHSSUP } /* incjkcompatibilityideographssupplement */, - { 196, 3002, 1264, 18, 5, UNI_DT__SUP } /* decompositiontype=super */, - { 0, 4705, 8629, 3, 5, UNI_THAA } /* isthaana */, - { 110, 184, 8532, 2, 6, UNI_KANBUN } /* iskanbun */, - { 0, 6315, 3, 12, 1, -UNI_XIDC } /* xidcontinue=f */, - { 7, 3002, 7836, 18, 8, UNI_DT__FRA } /* decompositiontype=fraction */, - { 128, 184, 34, 2, 3, UNI_EXT } /* isext */, - { 0, 3671, 2608, 17, 19, UNI_EGYP } /* scriptextensions=egyptianhieroglyphs */, - { 3, 3868, 4829, 16, 5, UNI_XPOSIXDIGIT } /* generalcategory=digit */, - { 16, 837, 0, 28, 0, UNI_PHONETICEXTSUP } /* phoneticextensionssupplement */, - { 1, 2204, 1704, 4, 2, UNI_OLCK } /* isolck */, - { 162, 3002, 0, 18, 0, UNI_dt_values_index } /* decompositiontype= */, - { 0, 8424, 5860, 7, 11, UNI_CHESSSYMBOLS } /* block=chesssymbols */, - { 60, 9647, 9554, 3, 3, UNI_NV__3_SLASH_4 } /* nv=3/4 */, - { 3, 5760, 9506, 13, 3, UNI_NV__2_SLASH_3 } /* numericvalue=2/3 */, - { 1, 9249, 0, 4, 0, UNI_MERC } /* merc */, - { 0, 2708, 1316, 4, 22, UNI_ARABICPFA } /* inarabicpresentationformsa */, - { 23, 3218, 0, 18, 0, UNI_ZP } /* paragraphseparator */, - { 0, 9365, 9309, 4, 4, UNI_OSGE } /* scx=osge */, - { 35, 9365, 3038, 4, 8, UNI_ETHI } /* scx=ethiopic */, - { 0, 8849, 0, 5, 0, UNI_cwcm_values_index } /* cwcm= */, - { 8, 9049, 7604, 4, 3, UNI_AGE__4 } /* age=4.0 */, - { 13, 3671, 8072, 17, 4, UNI_ELYM } /* scriptextensions=elym */, - { 6, 184, 5526, 2, 8, UNI_GREEKEXT } /* isgreekext */, - { 0, 7068, 0, 10, 0, UNI_SUPARROWSA } /* suparrowsa */, - { 5, 3868, 1767, 16, 2, UNI_NL } /* generalcategory=nl */, - { 0, 9629, 3820, 3, 16, UNI_LB__CL } /* lb=closepunctuation */, - { 16, 8424, 6279, 6, 12, UNI_PLAYINGCARDS } /* block=playingcards */, - { 0, 7018, 9722, 10, 3, UNI_IN__9 } /* presentin=v90 */, - { 0, 7018, 7502, 10, 1, UNI_IN__8 } /* presentin=8 */, - { 14, 184, 3236, 2, 17, UNI__PERL_PATWS } /* ispatternwhitespace */, - { 77, 8886, 9305, 3, 4, UNI_SC__ORYA } /* sc=orya */, - { 0, 8854, 9734, 5, 3, UNI_DASH } /* dash=yes */, - { 0, 1497, 47, 10, 1, UNI_SM } /* category=sm */, - { 0, 9662, 9433, 3, 4, UNI_SD } /* sd=true */, - { 147, 6015, 6958, 12, 10, UNI_JT__U } /* joiningtype=nonjoining */, - { 0, 9620, 5591, 3, 13, UNI_ZL } /* gc=lineseparator */, - { 0, 5565, 6097, 13, 5, UNI_JG__GAMAL } /* joininggroup=gamal */, - { 1, 9365, 8894, 4, 4, UNI_LIMB } /* scx=limb */, - { 8, 8424, 5422, 6, 13, UNI_AEGEANNUMBERS } /* block=aegeannumbers */, - { 0, 1362, 7446, 24, 2, UNI_CCC__25 } /* canonicalcombiningclass=25 */, - { 2, 2453, 0, 21, 0, UNI_TERM } /* terminalpunctuation=t */, - { 3, 7025, 7462, 3, 1, UNI_IN__4 } /* in=4 */, - { 5, 9647, 7463, 3, 1, UNI_NV__3 } /* nv=3 */, - { 3, 5339, 36, 15, 1, UNI_SB__ST } /* sentencebreak=st */, - { 0, 1158, 7957, 3, 7, UNI_INTAGBANWA } /* intagbanwa */, - { 2, 8424, 2333, 6, 10, UNI_INGLAGOLITIC } /* block=glagolitic */, - { 259, 9365, 9217, 4, 4, UNI_LAO } /* scx=laoo */, - { 2, 9113, 78, 4, 2, UNI_CCC__AR } /* ccc=ar */, - { 13, 96, 0, 10, 0, UNI_XPOSIXALPHA } /* alphabetic */, - { 0, 7025, 9686, 3, 3, UNI_IN__3_DOT_2 } /* in=v32 */, - { 168, 8233, 8538, 7, 6, UNI_SC__KHOJ } /* script=khojki */, - { 2, 8886, 7796, 3, 4, UNI_BASS } /* sc=bass */, - { 0, 9623, 4954, 3, 7, UNI_JG__HEHGOAL } /* jg=hehgoal */, - { 132, 6828, 3182, 10, 18, UNI_BC__LRI } /* bidiclass=lefttorightisolate */, - { 4, 9946, 1146, 3, 3, UNI_SORA } /* issora */, - { 0, 9620, 112, 3, 2, UNI_SC } /* gc=sc */, - { 576, 8424, 3038, 6, 8, UNI_INETHIOPIC } /* block=ethiopic */, - { 2, 8424, 478, 6, 31, UNI_MATHALPHANUM } /* block=mathematicalalphanumericsymbols */, - { 0, 9261, 0, 3, 0, UNI_MRO } /* mro */, - { 0, 9365, 8550, 4, 6, UNI_LEPC } /* scx=lepcha */, - { 74, 8684, 0, 4, 0, UNI_POSIXXDIGIT } /* ahex */, - { 151, 184, 8045, 3, 6, UNI_CJKEXTF } /* iscjkextf */, - { 21, 8233, 8622, 7, 6, UNI_SC__TELU } /* script=telugu */, - { 1, 3671, 8128, 17, 7, UNI_MAKA } /* scriptextensions=makasar */, - { 39, 9093, 629, 4, 30, UNI_CJKEXTE } /* blk=cjkunifiedideographsextensione */, - { 212, 6231, 495, 12, 7, UNI_NT__NU } /* numerictype=numeric */, - { 0, 2646, 0, 19, 0, UNI_JAMOEXTA } /* hanguljamoextendeda */, - { 43, 184, 3110, 2, 11, UNI_GEORGIANSUP } /* isgeorgiansup */, - { 2, 184, 3964, 2, 16, UNI_LATIN1 } /* islatin1supplement */, - { 1, 5760, 7470, 13, 2, UNI_NV__50 } /* numericvalue=50 */, - { 304, 8163, 0, 7, 0, UNI_nfkcqc_values_index } /* nfkcqc= */, - { 147, 9365, 7311, 4, 9, UNI_TALU } /* scx=newtailue */, - { 0, 7419, 0, 8, 0, UNI_XIDS } /* xidstart */, - { 3, 2212, 1601, 4, 4, UNI_INHANGUL } /* inhangul */, - { 0, 184, 9157, 2, 4, UNI_GONG } /* isgong */, - { 1, 8854, 995, 5, 2, -UNI_DASH } /* dash=no */, - { 0, 5760, 8354, 13, 4, UNI_NV__6000 } /* numericvalue=6000 */, - { 1, 9093, 5526, 4, 13, UNI_GREEKEXT } /* blk=greekextended */, - { 0, 184, 6267, 2, 12, UNI_PHAISTOS } /* isphaistosdisc */, - { 25, 8886, 7048, 3, 10, UNI_SAUR } /* sc=saurashtra */, - { 4, 4705, 8629, 3, 3, UNI_THAA } /* isthaa */, - { 0, 8233, 8255, 8, 6, UNI_SIDD } /* script=siddham */, - { 36, 9620, 6613, 3, 11, UNI_LO } /* gc=otherletter */, - { 0, 8170, 26, 7, 1, UNI_DT__NONE } /* nfkdqc=y */, - { 139, 6918, 5847, 10, 12, UNI_LB__SY } /* linebreak=breaksymbols */, - { 0, 9647, 8985, 3, 4, UNI_NV__1_SLASH_64 } /* nv=1/64 */, - { 0, 8254, 0, 4, 0, UNI_SIDD } /* sidd */, - { 528, 184, 2086, 3, 10, UNI_CYRILLICSUP } /* iscyrillicsup */, - { 28, 5760, 8382, 13, 5, UNI_NV__60000 } /* numericvalue=60000 */, - { 12, 184, 250, 2, 33, UNI_MISCMATHSYMBOLSA } /* ismiscellaneousmathematicalsymbolsa */, - { 0, 8884, 7028, 5, 10, UNI_INSC__PUREKILLER } /* insc=purekiller */, - { 73, 5760, 7558, 13, 2, UNI_NV__13 } /* numericvalue=13 */, - { 3, 6338, 995, 11, 2, -UNI_XPOSIXALPHA } /* alphabetic=no */, - { 0, 9365, 4492, 4, 15, UNI_ARMI } /* scx=imperialaramaic */, - { 512, 3671, 8859, 17, 4, UNI_DOGR } /* scriptextensions=dogr */, - { 89, 9647, 8358, 3, 5, UNI_NV__30000 } /* nv=30000 */, - { 64, 8254, 0, 7, 0, UNI_SIDD } /* siddham */, - { 1, 9093, 4298, 5, 6, UNI_BRAI } /* blk=braille */, - { 134, 8424, 4989, 6, 6, UNI_KANGXI } /* block=kangxi */, - { 0, 113, 0, 25, 0, UNI_DIACRITICALS } /* combiningdiacriticalmarks */, - { 404, 9049, 9575, 4, 3, UNI_AGE__6_DOT_1 } /* age=6.1 */, - { 9, 184, 4462, 2, 14, UNI_GREXT } /* isgraphemeextend */, - { 256, 9365, 9401, 4, 4, UNI_TALE } /* scx=tale */, - { 4, 21, 5017, 2, 14, UNI_LATINEXTC } /* inlatinextendedc */, - { 8, 7128, 7411, 11, 8, UNI_WB__WSEGSPACE } /* wordbreak=wsegspace */, - { 513, 5213, 0, 14, 0, UNI_nfcqc_values_index } /* nfcquickcheck= */, - { 0, 184, 5325, 2, 13, UNI_QMARK } /* isquotationmark */, - { 0, 184, 7311, 2, 9, UNI_TALU } /* isnewtailue */, - { 0, 5907, 0, 12, 0, UNI_ETHIOPICEXTA } /* ethiopicexta */, - { 138, 2493, 18, 20, 1, UNI_VO__R } /* verticalorientation=r */, - { 514, 3868, 9777, 16, 2, UNI_ZP } /* generalcategory=zp */, - { 714, 8944, 0, 4, 0, UNI_TAKR } /* takr */, - { 0, 3671, 9293, 17, 4, UNI_OGAM } /* scriptextensions=ogam */, - { 0, 1362, 9545, 24, 3, UNI_CCC__IS } /* canonicalcombiningclass=240 */, - { 0, 9647, 7660, 3, 8, UNI_NV__3_SLASH_5 } /* nv=6.00e-01 */, - { 129, 8886, 2484, 3, 4, UNI_SC__MAND } /* sc=mand */, - { 249, 9659, 8864, 3, 5, -UNI_RI } /* ri=false */, - { 787, 1497, 32, 9, 2, UNI__PERL_SURROGATE } /* category=cs */, - { 0, 8233, 9205, 7, 4, UNI_SC__KNDA } /* script=knda */, - { 1, 8424, 3290, 6, 4, UNI_RUMI } /* block=rumi */, - { 99, 7419, 0, 9, 0, UNI_xids_values_index } /* xidstart= */, - { 12, 9237, 9734, 4, 3, UNI_LOE } /* loe=yes */, - { 327, 8598, 9734, 6, 3, UNI__PERL_PATWS } /* patws=yes */, - { 648, 1977, 9433, 22, 4, UNI__PERL_NCHAR } /* noncharactercodepoint=true */, - { 0, 9093, 8317, 4, 7, UNI_UCASEXT } /* blk=ucasext */, - { 0, 5339, 34, 14, 6, UNI_SB__EX } /* sentencebreak=extend */, - { 318, 8520, 9433, 6, 4, UNI_JOINC } /* joinc=true */, - { 0, 5835, 3, 12, 1, -UNI_BIDIC } /* bidicontrol=f */, - { 2, 9093, 539, 4, 30, UNI_CJKEXTB } /* blk=cjkunifiedideographsextensionb */, - { 0, 9593, 0, 3, 0, UNI_bc_values_index } /* bc= */, - { 96, 184, 9241, 2, 4, UNI_MEDF } /* ismedf */, - { 24, 5353, 0, 14, 0, UNI_ZS } /* spaceseparator */, - { 4, 9909, 8227, 3, 6, UNI_PHAG } /* isphagspa */, - { 0, 8332, 4808, 3, 13, UNI_ANCIENTSYMBOLS } /* isancientsymbols */, - { 24, 3002, 45, 18, 6, UNI_DT__COM } /* decompositiontype=compat */, - { 3, 2708, 80, 4, 8, UNI_ARABICMATH } /* inarabicmath */, - { 7, 9623, 8544, 3, 6, UNI_JG__LAMADH } /* jg=lamadh */, - { 69, 8879, 7357, 3, 8, UNI_PALM } /* inpalmyrene */, - { 0, 2148, 866, 3, 27, UNI_SUPPUAA } /* insupplementaryprivateuseareaa */, - { 1, 6005, 2086, 3, 7, UNI_INCYRILLIC } /* incyrillic */, - { 0, 9113, 8775, 5, 4, UNI_CCC__26 } /* ccc=ccc26 */, - { 91, 9647, 9033, 3, 4, UNI_NV__3_SLASH_80 } /* nv=3/80 */, - { 1, 6569, 0, 11, 0, UNI_MISCSYMBOLS } /* miscsymbols */, - { 3, 184, 2333, 2, 4, UNI_GLAG } /* isglag */, - { 21, 8960, 9734, 4, 3, UNI_IDS } /* ids=yes */, - { 0, 7025, 7548, 3, 3, UNI_IN__3_DOT_1 } /* in=3.1 */, - { 1, 8233, 1599, 7, 6, UNI_SC__HANG } /* script=hangul */, - { 13, 1911, 2768, 22, 10, UNI_INSC__TONELETTER } /* indicsyllabiccategory=toneletter */, - { 284, 9647, 7460, 3, 8, UNI_NV__1_SLASH_7 } /* nv=1.43e-01 */, - { 111, 6679, 8864, 11, 5, -UNI_SD } /* softdotted=false */, - { 222, 9647, 8782, 3, 2, UNI_NV__27 } /* nv=27 */, - { 149, 184, 1264, 2, 25, UNI_SUPERANDSUB } /* issuperscriptsandsubscripts */, - { 279, 8424, 8919, 6, 5, UNI_INOGHAM } /* block=ogham */, - { 0, 4849, 995, 14, 2, -UNI_CI } /* caseignorable=no */, - { 260, 184, 4388, 3, 14, UNI_CURRENCYSYMBOLS } /* iscurrencysymbols */, - { 10, 9728, 995, 3, 2, -UNI_VS } /* vs=no */, - { 0, 3868, 9769, 16, 2, UNI_CASEDLETTER } /* generalcategory=l_ */, - { 1, 5760, 7428, 13, 8, UNI_NV__1_SLASH_10 } /* numericvalue=1.00e-01 */, - { 0, 2779, 0, 9, 0, UNI_MONG } /* mongolian */, - { 1, 184, 8038, 3, 6, UNI_CJKEXTE } /* iscjkexte */, - { 2, 2148, 6691, 3, 10, UNI_INSORASOMPENG } /* insorasompeng */, - { 641, 9365, 8934, 4, 5, UNI_RUNR } /* scx=runic */, - { 0, 5760, 8376, 13, 5, UNI_NV__50000 } /* numericvalue=50000 */, - { 64, 8233, 9309, 7, 4, UNI_OSGE } /* script=osge */, - { 0, 9365, 2333, 4, 10, UNI_GLAG } /* scx=glagolitic */, - { 0, 9626, 6958, 3, 10, UNI_JT__U } /* jt=nonjoining */, - { 130, 9623, 6908, 3, 10, UNI_JG__KNOTTEDHEH } /* jg=knottedheh */, - { 809, 3671, 9261, 17, 4, UNI_MRO } /* scriptextensions=mroo */, - { 0, 8424, 6027, 6, 5, UNI_INKHMER } /* block=khmer */, - { 1, 3671, 4220, 17, 4, UNI_TANG } /* scriptextensions=tang */, - { 780, 3671, 8282, 17, 7, UNI_TGLG } /* scriptextensions=tagalog */, - { 0, 184, 4373, 3, 14, UNI_CONTROLPICTURES } /* iscontrolpictures */, - { 0, 9904, 5492, 5, 5, UNI_POSIXALNUM } /* posixalnum */, - { 0, 9093, 9453, 4, 3, UNI_INVAI } /* blk=vai */, - { 1571, 1362, 8715, 25, 4, UNI_CCC__14 } /* canonicalcombiningclass=ccc14 */, - { 0, 8886, 983, 3, 5, UNI_SC__GREK } /* sc=greek */, - { 0, 9647, 8675, 3, 4, UNI_NV__1_SLASH_12 } /* nv=1/12 */, - { 2, 349, 0, 33, 0, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* supplementalsymbolsandpictographs */, - { 4, 2142, 2394, 3, 19, UNI_INNYIAKENGPUACHUEHMONG } /* innyiakengpuachuehmong */, - { 34, 9647, 9590, 3, 3, UNI_NV__9_SLASH_2 } /* nv=9/2 */, - { 1320, 7128, 5919, 10, 12, UNI_WB__EX } /* wordbreak=extendnumlet */, - { 2, 8233, 8550, 7, 4, UNI_LEPC } /* script=lepc */, - { 210, 8886, 6991, 3, 7, UNI_SC__SOGD } /* sc=sogdian */, - { 6, 9365, 8058, 4, 7, UNI_DSRT } /* scx=deseret */, + { 21, 9488, 6133, 4, 12, UNI_ETHIOPICEXTA } /* blk=ethiopicexta */, + { 0, 9768, 9038, 4, 4, UNI_YEZI } /* scx=yezi */, + { 0, 5791, 341, 13, 2, UNI_JG__PE } /* joininggroup=pe */, + { 3, 9346, 3, 4, 1, -UNI_IDC } /* idc=f */, + { 1, 9508, 8829, 5, 5, UNI_CCC__132 } /* ccc=ccc132 */, + { 8, 2032, 1, 22, 1, -UNI__PERL_NCHAR } /* noncharactercodepoint=n */, + { 0, 8780, 4129, 6, 9, UNI_LATIN1 } /* block=latin1sup */, + { 0, 184, 11, 2, 2, UNI_DI } /* isdi */, + { 5, 9230, 1025, 5, 2, -UNI_CWCF } /* cwcf=no */, + { 1, 10063, 10135, 3, 3, UNI_SD } /* sd=yes */, + { 3, 5986, 8059, 13, 8, UNI_NV__1_SLASH_12 } /* numericvalue=8.33e-02 */, + { 17, 10009, 68, 3, 3, UNI_DT__SUP } /* dt=sup */, + { 12, 9528, 10135, 4, 3, UNI_CWU } /* cwu=yes */, + { 0, 7318, 10093, 10, 3, UNI_IN__4_DOT_1 } /* presentin=v41 */, + { 11, 184, 5228, 2, 14, UNI_LATINEXTB } /* islatinextendedb */, + { 32, 62, 0, 5, 0, UNI_XPOSIXGRAPH } /* graph */, + { 49, 3836, 8299, 17, 8, UNI_TFNG } /* scriptextensions=tifinagh */, + { 11, 9277, 9688, 3, 4, UNI_NKO } /* sc=nkoo */, + { 0, 184, 4273, 2, 16, UNI_MYANMAREXTA } /* ismyanmarextendeda */, + { 1, 10060, 26, 3, 1, UNI_RI } /* ri=y */, + { 19, 10310, 8661, 4, 5, UNI_INTIBETAN } /* intibetan */, + { 8, 9768, 2608, 4, 4, UNI_BRAH } /* scx=brah */, + { 0, 2288, 2743, 4, 17, UNI_JAMOEXTB } /* inhanguljamoextendedb */, + { 0, 8509, 1035, 4, 9, UNI_ENCLOSEDCJK } /* inenclosedcjk */, + { 0, 1273, 1025, 21, 2, -UNI_CE } /* compositionexclusion=no */, + { 0, 8894, 9836, 6, 4, UNI_JOINC } /* joinc=true */, + { 1, 9488, 7567, 4, 9, UNI_INKHUDAWADI } /* blk=khudawadi */, + { 6, 9556, 5585, 4, 2, UNI_WB__EB } /* gcb=eb */, + { 1, 3836, 2469, 17, 20, UNI_HMNP } /* scriptextensions=nyiakengpuachuehmong */, + { 0, 9768, 9892, 4, 4, UNI_QAAI } /* scx=zinh */, + { 1, 9444, 9844, 4, 4, UNI_AGE__11 } /* age=v110 */, + { 5, 9768, 4793, 4, 15, UNI_MERC } /* scx=meroiticcursive */, + { 16, 9275, 7328, 5, 10, UNI_INSC__PUREKILLER } /* insc=purekiller */, + { 2, 9488, 3547, 4, 17, UNI_ALCHEMICAL } /* blk=alchemicalsymbols */, + { 0, 9071, 1025, 4, 2, -UNI_XPOSIXXDIGIT } /* hex=no */, + { 1, 9277, 9696, 3, 4, UNI_OGAM } /* sc=ogam */, + { 2, 9768, 2684, 4, 19, UNI_EGYP } /* scx=egyptianhieroglyphs */, + { 3, 9536, 10135, 4, 3, UNI_DEP } /* dep=yes */, + { 7, 6554, 0, 11, 0, UNI_idc_values_index } /* idcontinue= */, + { 1, 7438, 5585, 10, 2, UNI_WB__EB } /* wordbreak=eb */, + { 3, 9768, 9820, 4, 4, UNI_TFNG } /* scx=tfng */, + { 0, 4033, 406, 16, 7, UNI_XPOSIXCNTRL } /* generalcategory=control */, + { 0, 8984, 3, 6, 1, -UNI_QMARK } /* qmark=f */, + { 0, 9768, 9335, 4, 5, UNI_TAKR } /* scx=takri */, + { 16, 8147, 0, 7, 0, UNI_EXTPICT } /* extpict */, + { 44, 4688, 1166, 15, 16, UNI_IDENTIFIERTYPE__DEFAULTIGNORABLE } /* identifiertype=defaultignorable */, + { 0, 8780, 9624, 6, 3, UNI_INLAO } /* block=lao */, + { 24, 10027, 5944, 3, 3, UNI_JG__WAW } /* jg=waw */, + { 1, 3836, 8840, 17, 6, UNI_CAKM } /* scriptextensions=chakma */, + { 2, 8519, 0, 8, 0, UNI_NFKDQC__N } /* nfkdqc=n */, + { 2, 2182, 8139, 21, 8, UNI_WB__EB } /* graphemeclusterbreak=ebasegaz */, + { 5, 10024, 74, 3, 2, UNI_ME } /* gc=me */, + { 1, 9520, 1, 4, 1, -UNI_CWL } /* cwl=n */, + { 21, 10048, 8738, 3, 5, UNI_NV__60000 } /* nv=60000 */, + { 3, 10063, 36, 3, 1, UNI_SD } /* sd=t */, + { 0, 184, 1013, 2, 5, UNI_GREK } /* isgreek */, + { 2, 9240, 10135, 5, 3, UNI_DASH } /* dash=yes */, + { 14, 9768, 9832, 4, 4, UNI_TIBT } /* scx=tibt */, + { 0, 8780, 979, 6, 27, UNI_ALPHABETICPF } /* block=alphabeticpresentationforms */, + { 2, 8780, 3295, 6, 18, UNI_LATINEXTADDITIONAL } /* block=latinextadditional */, + { 0, 184, 779, 2, 30, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* issymbolsandpictographsextendeda */, + { 0, 9488, 6961, 4, 11, UNI_SUPERANDSUB } /* blk=superandsub */, + { 1, 9350, 3, 5, 1, -UNI_XIDS } /* xids=f */, + { 2, 8589, 8243, 7, 8, UNI_SC__MAHJ } /* script=mahajani */, + { 0, 2409, 0, 4, 0, UNI_GLAG } /* glag */, + { 0, 5986, 8051, 13, 8, UNI_NV__5_SLASH_6 } /* numericvalue=8.33e-01 */, + { 0, 1552, 10176, 9, 2, UNI_ZL } /* category=zl */, + { 4, 3133, 26, 18, 1, UNI_EBASE } /* emojimodifierbase=y */, + { 1, 7325, 10105, 3, 3, UNI_IN__6 } /* in=v60 */, + { 0, 10048, 8720, 3, 4, UNI_NV__4000 } /* nv=4000 */, + { 1, 1417, 9126, 25, 4, UNI_CCC__19 } /* canonicalcombiningclass=ccc19 */, + { 43, 3836, 9305, 17, 5, UNI_NSHU } /* scriptextensions=nushu */, + { 0, 10027, 6325, 3, 12, UNI_JG__MALAYALAMNNA } /* jg=malayalamnna */, + { 1, 9508, 8010, 4, 2, UNI_CCC__36 } /* ccc=36 */, + { 0, 8780, 2722, 6, 10, UNI_JAMO } /* block=hanguljamo */, + { 1, 6808, 0, 4, 0, UNI__PERL_SURROGATE } /* iscs */, + { 0, 42, 0, 16, 0, UNI_CJKCOMPAT } /* cjkcompatibility */, + { 14, 8589, 6796, 7, 11, UNI_MEDF } /* script=medefaidrin */, + { 1, 5508, 0, 14, 0, UNI_patsyn_values_index } /* patternsyntax= */, + { 0, 10288, 1867, 8, 5, UNI_XPOSIXUPPER } /* isxposixupper */, + { 3, 8589, 7567, 7, 9, UNI_SC__SIND } /* script=khudawadi */, + { 0, 7325, 10075, 3, 3, UNI_IN__2 } /* in=v20 */, + { 24, 9604, 0, 4, 0, UNI_KHMR } /* khmr */, + { 1, 8780, 0, 6, 42, UNI_UCASEXT } /* block=unifiedcanadianaboriginalsyllabicsextended */, + { 1, 1537, 61, 3, 4, UNI_INDOGRA } /* indogra */, + { 38, 10027, 6565, 3, 11, UNI_JG__AFRICANNOON } /* jg=africannoon */, + { 1, 184, 9285, 2, 4, UNI_LIMB } /* islimb */, + { 3, 5466, 0, 16, 0, UNI_DT__CAN } /* nfdquickcheck=no */, + { 0, 7438, 6145, 10, 12, UNI_WB__EX } /* wordbreak=extendnumlet */, + { 7, 1790, 10135, 22, 3, UNI_CWCM } /* changeswhencasemapped=yes */, + { 1, 8421, 0, 4, 0, UNI_ELYM } /* elym */, + { 0, 9488, 4001, 4, 16, UNI_CYPRIOTSYLLABARY } /* blk=cypriotsyllabary */, + { 1, 3836, 8179, 17, 8, UNI_GURU } /* scriptextensions=gurmukhi */, + { 3, 10006, 9255, 3, 5, -UNI_DI } /* di=false */, + { 4, 9277, 8187, 3, 8, UNI_SC__HIRA } /* sc=hiragana */, + { 1, 10009, 45, 3, 3, UNI_DT__COM } /* dt=com */, + { 1, 6598, 0, 11, 0, UNI_CASEDLETTER } /* casedletter */, + { 1, 9351, 0, 4, 0, UNI_ids_values_index } /* ids= */, + { 0, 2950, 0, 19, 0, UNI_SUPARROWSB } /* supplementalarrowsb */, + { 0, 2784, 8093, 4, 6, UNI_INARMENIAN } /* inarmenian */, + { 16, 9768, 8115, 4, 8, UNI_BASS } /* scx=bassavah */, + { 8, 8610, 0, 4, 0, UNI_SIDD } /* sidd */, + { 2, 5032, 1025, 14, 2, -UNI_POSIXXDIGIT } /* asciihexdigit=no */, + { 1, 8780, 660, 7, 29, UNI_CJKEXTF } /* block=cjkunifiedideographsextensionf */, + { 35, 8589, 8171, 7, 8, UNI_SC__GUJR } /* script=gujarati */, + { 5, 184, 8912, 2, 6, UNI_KHOJ } /* iskhojki */, + { 0, 3836, 9708, 17, 4, UNI_ORYA } /* scriptextensions=orya */, + { 7, 7325, 7950, 3, 1, UNI_IN__9 } /* in=9 */, + { 0, 5986, 8714, 13, 2, UNI_NV__30 } /* numericvalue=30 */, + { 1, 9488, 5018, 4, 14, UNI_ANCIENTSYMBOLS } /* blk=ancientsymbols */, + { 0, 2224, 6940, 3, 10, UNI_INSORASOMPENG } /* insorasompeng */, + { 5, 3367, 9836, 18, 4, UNI__PERL_PATWS } /* patternwhitespace=true */, + { 4, 9488, 6025, 4, 12, UNI_ALPHABETICPF } /* blk=alphabeticpf */, + { 0, 1417, 5648, 24, 2, UNI_CCC__10 } /* canonicalcombiningclass=10 */, + { 3, 10024, 47, 3, 1, UNI_M } /* gc=m */, + { 0, 3836, 8107, 17, 8, UNI_BALI } /* scriptextensions=balinese */, + { 0, 2224, 2055, 3, 21, UNI_MODIFIERLETTERS } /* inspacingmodifierletters */, + { 8, 3836, 7513, 17, 9, UNI_BHKS } /* scriptextensions=bhaiksuki */, + { 38, 3836, 8484, 17, 7, UNI_MAND } /* scriptextensions=mandaic */, + { 3, 5791, 2637, 13, 9, UNI_JG__YEHBARREE } /* joininggroup=yehbarree */, + { 0, 4643, 3, 15, 1, -UNI_ECOMP } /* emojicomponent=f */, + { 3, 1417, 8823, 25, 5, UNI_CCC__130 } /* canonicalcombiningclass=ccc130 */, + { 4, 7325, 10078, 3, 3, UNI_IN__2_DOT_1 } /* in=v21 */, + { 25, 3836, 9612, 17, 4, UNI_KNDA } /* scriptextensions=knda */, + { 1, 10048, 9404, 3, 4, UNI_NV__13_SLASH_2 } /* nv=13/2 */, + { 2, 21, 8338, 3, 6, UNI_INAVESTAN } /* inavestan */, + { 2, 184, 3026, 3, 3, UNI_CHER } /* ischer */, + { 1, 3836, 9720, 17, 4, UNI_PHLP } /* scriptextensions=phlp */, + { 0, 7318, 7814, 10, 1, UNI_IN__7 } /* presentin=7 */, + { 0, 9488, 5214, 4, 14, UNI_KANGXI } /* blk=kangxiradicals */, + { 2, 3836, 8131, 17, 4, UNI_DUPL } /* scriptextensions=dupl */, + { 16, 8780, 2141, 7, 20, UNI_CYRILLICSUP } /* block=cyrillicsupplementary */, + { 1, 4928, 0, 15, 0, UNI_TAMILSUP } /* tamilsupplement */, + { 1, 184, 8401, 3, 5, UNI_COMPEX } /* iscompex */, + { 50, 1537, 3475, 24, 10, UNI_INPC__TOPANDLEFT } /* indicpositionalcategory=topandleft */, + { 1, 7325, 9955, 3, 3, UNI_IN__3_DOT_2 } /* in=3.2 */, + { 37, 9277, 5550, 3, 14, UNI_SC__PHLP } /* sc=psalterpahlavi */, + { 51, 10288, 7739, 3, 7, UNI_XIDS } /* isxidstart */, + { 4, 7318, 9970, 10, 3, UNI_IN__5_DOT_2 } /* presentin=5.2 */, + { 0, 3547, 0, 10, 0, UNI_ALCHEMICAL } /* alchemical */, + { 32, 9997, 3205, 3, 18, UNI_BC__FSI } /* bc=firststrongisolate */, + { 0, 5986, 8732, 13, 5, UNI_NV__50000 } /* numericvalue=50000 */, + { 32, 9536, 0, 4, 0, UNI_dep_values_index } /* dep= */, + { 1, 8780, 78, 6, 10, UNI_ARABICMATH } /* block=arabicmath */, + { 3, 184, 407, 3, 6, UNI_XPOSIXCNTRL } /* iscontrol */, + { 0, 184, 1677, 2, 14, UNI_LATINEXTA } /* islatinextendeda */, + { 2, 3836, 9584, 17, 4, UNI_HLUW } /* scriptextensions=hluw */, + { 2, 9488, 0, 4, 0, UNI_blk_values_index } /* blk= */, + { 0, 8589, 78, 7, 4, UNI_SC__ARAB } /* script=arab */, + { 1, 184, 3667, 3, 16, UNI_CYRILLICEXTC } /* iscyrillicextendedc */, + { 0, 8774, 26, 6, 1, UNI_BIDIM } /* bidim=y */, + { 179, 184, 5726, 2, 13, UNI_ME } /* isenclosingmark */, + { 5, 9270, 2549, 5, 3, UNI_INPC__TOP } /* inpc=top */, + { 5, 9488, 9340, 4, 5, UNI_VSSUP } /* blk=vssup */, + { 44, 8589, 8414, 7, 7, UNI_ELBA } /* script=elbasan */, + { 4, 1189, 495, 3, 7, UNI_NT__NU } /* nt=numeric */, + { 1, 4033, 1044, 16, 6, UNI_L } /* generalcategory=letter */, + { 0, 4033, 5494, 16, 14, UNI_MN } /* generalcategory=nonspacingmark */, + { 11, 10340, 1751, 3, 2, UNI_VAI } /* isvai */, + { 20, 184, 9572, 2, 4, UNI_GUJR } /* isgujr */, + { 8, 3836, 8291, 17, 4, UNI_TAGB } /* scriptextensions=tagb */, + { 0, 8589, 9688, 7, 3, UNI_NKO } /* script=nko */, + { 60, 2855, 0, 9, 0, UNI_MONG } /* mongolian */, + { 2, 184, 2608, 2, 6, UNI_BRAH } /* isbrahmi */, + { 0, 184, 1218, 2, 8, UNI_KANA } /* iskatakana */, + { 0, 9536, 1, 4, 1, -UNI_DEP } /* dep=n */, + { 3, 8780, 1513, 6, 24, UNI_HIGHPUSURROGATES } /* block=highprivateusesurrogates */, + { 0, 7318, 10090, 10, 3, UNI_IN__4 } /* presentin=v40 */, + { 0, 4628, 8, 15, 1, UNI_EA__A } /* eastasianwidth=a */, + { 1, 78, 0, 10, 0, UNI_ARABICMATH } /* arabicmath */, + { 12, 9277, 6939, 3, 4, UNI_SORA } /* sc=sora */, + { 1, 4791, 1019, 3, 4, UNI_MUSIC } /* inmusic */, + { 0, 7218, 2444, 10, 2, UNI_LB__HL } /* linebreak=hl */, + { 33, 4673, 0, 15, 0, UNI_INHANGUL } /* hangulsyllables */, + { 1, 184, 8428, 2, 7, UNI_GRAN } /* isgrantha */, + { 4, 3382, 9255, 3, 5, -UNI_CE } /* ce=false */, + { 2, 4033, 1563, 16, 2, UNI_PS } /* generalcategory=ps */, + { 0, 1746, 752, 23, 4, UNI_BPT__C } /* bidipairedbrackettype=close */, + { 0, 184, 8882, 2, 5, UNI_GREXT } /* isgrext */, + { 3, 6231, 3026, 3, 7, UNI_INCHEROKEE } /* incherokee */, + { 0, 184, 7098, 2, 10, UNI_BOXDRAWING } /* isboxdrawing */, + { 0, 7540, 3, 9, 1, -UNI_EXT } /* extender=f */, + { 0, 1591, 6134, 3, 11, UNI_ETHIOPICEXTA } /* inethiopicexta */, + { 0, 10340, 67, 3, 4, UNI_VSSUP } /* isvssup */, + { 2, 9520, 9836, 4, 4, UNI_CWL } /* cwl=true */, + { 57, 8780, 6796, 6, 11, UNI_INMEDEFAIDRIN } /* block=medefaidrin */, + { 6, 9488, 3421, 4, 18, UNI_RUMI } /* blk=ruminumeralsymbols */, + { 12, 9265, 3, 5, 1, -UNI_IDST } /* idst=f */, + { 4, 9508, 9208, 4, 2, UNI_CCC__35 } /* ccc=35 */, + { 1, 6805, 187, 6, 30, UNI_MISCPICTOGRAPHS } /* inmiscellaneoussymbolsandpictographs */, + { 5, 5466, 0, 14, 0, UNI_nfdqc_values_index } /* nfdquickcheck= */, + { 1, 9488, 6939, 4, 11, UNI_INSORASOMPENG } /* blk=sorasompeng */, + { 0, 9230, 36, 5, 1, UNI_CWCF } /* cwcf=t */, + { 1, 9444, 7821, 4, 1, UNI_AGE__8 } /* age=8 */, + { 0, 6554, 9255, 11, 5, -UNI_IDC } /* idcontinue=false */, + { 0, 9277, 7291, 3, 7, UNI_SC__SOGD } /* sc=sogdian */, + { 13, 8589, 9285, 7, 4, UNI_SC__LIMB } /* script=limb */, + { 3, 3836, 9496, 17, 4, UNI_BUHD } /* scriptextensions=buhd */, + { 0, 2931, 0, 19, 0, UNI_SUPARROWSA } /* supplementalarrowsa */, + { 64, 184, 2684, 2, 19, UNI_EGYP } /* isegyptianhieroglyphs */, + { 2, 8509, 811, 4, 27, UNI_ENCLOSEDIDEOGRAPHICSUP } /* inenclosedideographicsupplement */, + { 0, 9277, 6793, 5, 2, UNI_KHMR } /* sc=khmr */, + { 0, 8780, 1319, 6, 25, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* block=symbolsandpictographsexta */, + { 69, 5986, 8820, 13, 2, UNI_NV__29 } /* numericvalue=29 */, + { 0, 184, 5947, 2, 13, UNI_MAYANNUMERALS } /* ismayannumerals */, + { 9, 6805, 2023, 6, 9, UNI_MISCTECHNICAL } /* inmisctechnical */, + { 1, 9277, 8603, 3, 7, UNI_SHAW } /* sc=shavian */, + { 0, 1828, 10135, 6, 3, UNI_CASED } /* cased=yes */, + { 0, 9768, 4478, 4, 4, UNI_BRAI } /* scx=brai */, + { 5, 9768, 8666, 4, 7, UNI_TIRH } /* scx=tirhuta */, + { 0, 9275, 7639, 5, 9, UNI_INSC__NONJOINER } /* insc=nonjoiner */, + { 1, 1114, 36, 26, 1, UNI_CWKCF } /* changeswhennfkccasefolded=t */, + { 0, 3836, 9564, 17, 4, UNI_GONM } /* scriptextensions=gonm */, + { 0, 8589, 9612, 7, 4, UNI_SC__KNDA } /* script=knda */, + { 0, 4958, 0, 15, 0, UNI_UPPERCASELETTER } /* uppercaseletter */, + { 1, 10333, 4149, 3, 3, UNI_SARB } /* issarb */, + { 7, 1828, 1, 6, 1, -UNI_CASED } /* cased=n */, + { 0, 9277, 9002, 3, 4, UNI_SC__TELU } /* sc=telu */, + { 0, 9444, 9384, 4, 4, UNI_AGE__10 } /* age=10.0 */, + { 0, 8780, 3921, 6, 16, UNI_ARABICSUP } /* block=arabicsupplement */, + { 0, 8589, 9532, 7, 4, UNI_SC__CYRL } /* script=cyrl */, + { 1, 5986, 9436, 13, 4, UNI_NV__7_SLASH_12 } /* numericvalue=7/12 */, + { 1, 1561, 0, 24, 0, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* supsymbolsandpictographs */, + { 0, 4916, 4402, 3, 15, UNI_TANGUTSUP } /* istangutsupplement */, + { 48, 7325, 9840, 3, 4, UNI_IN__10 } /* in=v100 */, + { 1, 7325, 10108, 3, 3, UNI_IN__6_DOT_1 } /* in=v61 */, + { 2, 7318, 7755, 10, 3, UNI_IN__1_DOT_1 } /* presentin=1.1 */, + { 7, 9070, 0, 4, 0, UNI_POSIXXDIGIT } /* ahex */, + { 1, 3836, 7188, 17, 4, UNI_KHAR } /* scriptextensions=khar */, + { 0, 719, 0, 9, 0, UNI_XSUX } /* cuneiform */, + { 96, 8780, 4448, 6, 8, UNI_BAMUMSUP } /* block=bamumsup */, + { 0, 9488, 1441, 4, 10, UNI_CJKSYMBOLS } /* blk=cjksymbols */, + { 21, 10132, 6653, 3, 11, UNI_WB__DQ } /* wb=doublequote */, + { 1, 8780, 6972, 6, 11, UNI_INSYLOTINAGRI } /* block=sylotinagri */, + { 0, 3836, 2817, 17, 19, UNI_MERO } /* scriptextensions=meroitichieroglyphs */, + { 0, 184, 3683, 2, 16, UNI_ETHIOPICEXT } /* isethiopicextended */, + { 0, 9014, 1, 6, 1, -UNI_UIDEO } /* uideo=n */, + { 1, 8400, 1, 7, 1, -UNI_COMPEX } /* compex=n */, + { 0, 9277, 8888, 3, 6, UNI_HATR } /* sc=hatran */, + { 0, 1166, 9836, 26, 4, UNI_DI } /* defaultignorablecodepoint=true */, + { 0, 10291, 1867, 5, 5, UNI_POSIXUPPER } /* posixupper */, + { 0, 6231, 3650, 3, 16, UNI_CYRILLICEXTB } /* incyrillicextendedb */, + { 1, 8589, 493, 7, 3, UNI_SC__HAN } /* script=han */, + { 0, 8780, 2099, 7, 20, UNI_CJKCOMPATFORMS } /* block=cjkcompatibilityforms */, + { 2, 5986, 7979, 13, 8, UNI_NV__3_SLASH_5 } /* numericvalue=6.00e-01 */, + { 2, 10048, 7922, 3, 2, UNI_NV__24 } /* nv=24 */, + { 3, 2469, 0, 20, 0, UNI_HMNP } /* nyiakengpuachuehmong */, + { 25, 4829, 2411, 4, 11, UNI_GLAGOLITICSUP } /* inglagoliticsup */, + { 3, 21, 4145, 2, 16, UNI_LINEARBIDEOGRAMS } /* inlinearbideograms */, + { 0, 809, 0, 29, 0, UNI_ENCLOSEDIDEOGRAPHICSUP } /* enclosedideographicsupplement */, + { 0, 1856, 1, 22, 1, -UNI_CWU } /* changeswhenuppercased=n */, + { 0, 184, 2141, 3, 20, UNI_CYRILLICSUP } /* iscyrillicsupplementary */, + { 0, 5986, 9188, 13, 2, UNI_NV__31 } /* numericvalue=31 */, + { 2, 8780, 43, 7, 35, UNI_CJKCOMPATIDEOGRAPHSSUP } /* block=cjkcompatibilityideographssupplement */, + { 1, 10033, 23, 3, 2, UNI_LB__AL } /* lb=al */, + { 0, 10027, 87, 3, 2, UNI_JG__HE } /* jg=he */, + { 4, 10132, 108, 3, 2, UNI_WB__MB } /* wb=mb */, + { 2, 4033, 1465, 16, 13, UNI_M } /* generalcategory=combiningmark */, + { 1, 9325, 0, 5, 0, UNI_RUNR } /* runic */, + { 1, 1552, 727, 9, 2, UNI_MN } /* category=mn */, + { 0, 7088, 10054, 10, 3, UNI_BC__PDF } /* bidiclass=pdf */, + { 1, 9656, 0, 4, 0, UNI_MIAO } /* miao */, + { 0, 2969, 0, 19, 0, UNI_SUPARROWSC } /* supplementalarrowsc */, + { 1, 9508, 8708, 4, 3, UNI_CCC__216 } /* ccc=216 */, + { 0, 9768, 9616, 4, 4, UNI_KTHI } /* scx=kthi */, + { 0, 6609, 36, 11, 1, UNI_DEP } /* deprecated=t */, + { 0, 8780, 510, 7, 29, UNI_CJKEXTA } /* block=cjkunifiedideographsextensiona */, + { 6, 10027, 6572, 3, 4, UNI_JG__NOON } /* jg=noon */, + { 1, 2182, 1194, 21, 2, UNI_LB__LF } /* graphemeclusterbreak=lf */, + { 0, 8589, 4478, 7, 4, UNI_BRAI } /* script=brai */, + { 1, 9768, 9576, 4, 4, UNI_GURU } /* scx=guru */, + { 0, 8780, 1006, 6, 27, UNI_ANCIENTGREEKMUSIC } /* block=ancientgreekmusicalnotation */, + { 0, 8858, 9836, 6, 4, UNI_ECOMP } /* ecomp=true */, + { 16, 8780, 3241, 6, 8, UNI_INGEORGIAN } /* block=georgian */, + { 0, 5739, 0, 12, 0, UNI_GRBASE } /* graphemebase */, + { 40, 4928, 0, 5, 0, UNI_TAML } /* tamil */, + { 0, 10024, 24, 3, 1, UNI_L } /* gc=l */, + { 0, 9768, 9793, 5, 3, UNI_SOGO } /* scx=sogo */, + { 25, 1768, 3, 22, 1, -UNI_CWCF } /* changeswhencasefolded=f */, + { 29, 1417, 7754, 24, 2, UNI_CCC__11 } /* canonicalcombiningclass=11 */, + { 0, 8589, 7651, 7, 4, UNI_ITAL } /* script=ital */, + { 0, 9488, 8393, 4, 7, UNI_CJKEXTG } /* blk=cjkextg */, + { 1, 9508, 18, 4, 1, UNI_CCC__R } /* ccc=r */, + { 34, 8688, 7411, 3, 7, UNI_ASSIGNED } /* isassigned */, + { 0, 21, 3295, 2, 18, UNI_LATINEXTADDITIONAL } /* inlatinextadditional */, + { 1, 9997, 4464, 4, 14, UNI_BC__BN } /* bc=boundaryneutral */, + { 0, 2760, 9, 19, 2, UNI_HST__NA } /* hangulsyllabletype=na */, + { 1, 7318, 7806, 10, 1, UNI_IN__6 } /* presentin=6 */, + { 43, 10033, 6587, 3, 11, UNI_LB__BB } /* lb=breakbefore */, + { 1, 9716, 0, 4, 0, UNI_pcm_values_index } /* pcm= */, + { 0, 9277, 1628, 3, 4, UNI_SC__PHAG } /* sc=phag */, + { 3, 2529, 9255, 20, 5, -UNI_TERM } /* terminalpunctuation=false */, + { 0, 9488, 5032, 4, 5, UNI_ASCII } /* blk=ascii */, + { 0, 9488, 8484, 4, 7, UNI_INMANDAIC } /* blk=mandaic */, + { 8, 8852, 1, 6, 1, -UNI_CWKCF } /* cwkcf=n */, + { 4, 7325, 7867, 3, 3, UNI_IN__3_DOT_1 } /* in=3.1 */, + { 0, 9275, 1608, 5, 23, UNI_INSC__CONSONANTPRECEDINGREPHA } /* insc=consonantprecedingrepha */, + { 0, 1273, 9255, 21, 5, -UNI_CE } /* compositionexclusion=false */, + { 1, 8996, 1, 6, 1, -UNI_STERM } /* sterm=n */, + { 1, 9792, 0, 4, 0, UNI_SOGO } /* sogo */, + { 0, 184, 6409, 2, 12, UNI_MEND } /* ismendekikakui */, + { 3, 9508, 9168, 4, 2, UNI_CCC__27 } /* ccc=27 */, + { 5, 4853, 26, 15, 1, UNI_DT__NONE } /* nfkdquickcheck=y */, + { 6, 9277, 8344, 3, 7, UNI_SC__BENG } /* sc=bengali */, + { 2, 9277, 2469, 3, 20, UNI_HMNP } /* sc=nyiakengpuachuehmong */, + { 1, 1417, 9928, 24, 3, UNI_CCC__BR } /* canonicalcombiningclass=222 */, + { 0, 3836, 3937, 17, 4, UNI_BOPO } /* scriptextensions=bopo */, + { 4, 3836, 7118, 17, 10, UNI_CHRS } /* scriptextensions=chorasmian */, + { 6, 8589, 9756, 7, 4, UNI_RUNR } /* script=runr */, + { 0, 9277, 5003, 3, 15, UNI_ZANB } /* sc=zanabazarsquare */, + { 0, 2182, 6178, 21, 3, UNI_LB__ZWJ } /* graphemeclusterbreak=zwj */, + { 2, 9508, 5377, 4, 2, UNI_CCC__7 } /* ccc=nk */, + { 0, 2779, 1, 19, 1, -UNI_IDST } /* idstrinaryoperator=n */, + { 2, 9488, 2010, 4, 22, UNI_MISCTECHNICAL } /* blk=miscellaneoustechnical */, + { 19, 1966, 0, 22, 0, UNI_insc_values_index } /* indicsyllabiccategory= */, + { 0, 9277, 7288, 3, 10, UNI_SOGO } /* sc=oldsogdian */, + { 2, 9488, 9688, 4, 3, UNI_INNKO } /* blk=nko */, + { 16, 8589, 8123, 7, 4, UNI_SC__BUGI } /* script=bugi */, + { 1, 5986, 8756, 13, 3, UNI_NV__900 } /* numericvalue=900 */, + { 0, 9235, 3, 5, 1, -UNI_CWCM } /* cwcm=f */, + { 6, 8589, 9704, 7, 4, UNI_ORKH } /* script=orkh */, + { 4, 8780, 4808, 6, 15, UNI_MISCPICTOGRAPHS } /* block=miscpictographs */, + { 2, 9520, 1025, 4, 2, -UNI_CWL } /* cwl=no */, + { 0, 9277, 9720, 3, 4, UNI_SC__PHLP } /* sc=phlp */, + { 64, 7738, 0, 8, 0, UNI_XIDS } /* xidstart */, + { 42, 9768, 5284, 4, 4, UNI_LISU } /* scx=lisu */, + { 0, 8561, 0, 4, 0, UNI_OSMA } /* osma */, + { 145, 6241, 6664, 12, 11, UNI_JT__D } /* joiningtype=dualjoining */, + { 4, 8882, 26, 6, 1, UNI_GREXT } /* grext=y */, + { 3, 1552, 1822, 9, 2, UNI_NL } /* category=nl */, + { 5, 3529, 10135, 18, 3, UNI_VS } /* variationselector=yes */, + { 0, 7675, 0, 4, 0, UNI_PALM } /* palm */, + { 0, 10009, 8195, 3, 8, UNI_DT__ISO } /* dt=isolated */, + { 16, 7504, 0, 9, 0, UNI_ARABICPFB } /* arabicpfb */, + { 0, 9760, 0, 4, 0, UNI_SAMR } /* samr */, + { 1, 9508, 7821, 4, 1, UNI_CCC__8 } /* ccc=8 */, + { 2, 184, 9503, 2, 2, UNI_MC } /* ismc */, + { 2, 3836, 8924, 17, 4, UNI_LEPC } /* scriptextensions=lepc */, + { 0, 9556, 70, 4, 2, UNI_GCB__PP } /* gcb=pp */, + { 3, 184, 8428, 2, 4, UNI_GRAN } /* isgran */, + { 49, 6576, 9836, 11, 4, UNI_XPOSIXALPHA } /* alphabetic=true */, + { 0, 10048, 9368, 3, 4, UNI_NV__1_SLASH_20 } /* nv=1/20 */, + { 15, 9488, 78, 4, 10, UNI_ARABICMATH } /* blk=arabicmath */, + { 0, 8864, 36, 6, 1, UNI_EMOJI } /* emoji=t */, + { 1, 9350, 9255, 5, 5, -UNI_XIDS } /* xids=false */, + { 1, 7438, 6178, 10, 3, UNI_LB__ZWJ } /* wordbreak=zwj */, + { 40, 4928, 0, 8, 0, UNI_TAMILSUP } /* tamilsup */, + { 0, 9270, 6518, 3, 11, UNI_PLAYINGCARDS } /* inplayingcards */, + { 31, 9275, 4823, 5, 15, UNI_INSC__MODIFYINGLETTER } /* insc=modifyingletter */, + { 0, 3836, 9085, 17, 5, UNI_BATK } /* scriptextensions=batak */, + { 0, 8688, 3548, 3, 16, UNI_ALCHEMICAL } /* isalchemicalsymbols */, + { 0, 9508, 9203, 4, 2, UNI_CCC__34 } /* ccc=34 */, + { 7, 2589, 0, 19, 0, UNI_ANCIENTGREEKNUMBERS } /* ancientgreeknumbers */, + { 2, 10006, 36, 3, 1, UNI_DI } /* di=t */, + { 0, 8997, 9255, 5, 5, -UNI_TERM } /* term=false */, + { 0, 10030, 6, 3, 1, UNI_JT__D } /* jt=d */, + { 1, 9768, 2203, 4, 14, UNI_ROHG } /* scx=hanifirohingya */, + { 1, 184, 24, 2, 1, UNI_L } /* isl */, + { 1, 2760, 7238, 19, 10, UNI_LB__H2 } /* hangulsyllabletype=lvsyllable */, + { 4, 8589, 8498, 7, 4, UNI_SC__MULT } /* script=mult */, + { 0, 1114, 10135, 26, 3, UNI_CWKCF } /* changeswhennfkccasefolded=yes */, + { 0, 3985, 0, 16, 0, UNI_PE } /* closepunctuation */, + { 10, 9768, 8491, 4, 4, UNI_MARC } /* scx=marc */, + { 1, 9768, 4273, 4, 7, UNI_MYMR } /* scx=myanmar */, + { 4, 5466, 10135, 14, 3, UNI_NFDQC__Y } /* nfdquickcheck=yes */, + { 1, 5986, 8066, 13, 2, UNI_NV__28 } /* numericvalue=28 */, + { 1, 7228, 3, 10, 1, -UNI_XPOSIXLOWER } /* lowercase=f */, + { 139, 8780, 2912, 6, 9, UNI_INSUNDANESE } /* block=sundanese */, + { 0, 5746, 9836, 6, 4, UNI_EBASE } /* ebase=true */, + { 1, 5791, 9044, 13, 4, UNI_JG__YUDH } /* joininggroup=yudh */, + { 0, 8780, 1654, 6, 23, UNI_COMPATJAMO } /* block=hangulcompatibilityjamo */, + { 22, 10132, 138, 3, 2, UNI_WB__FO } /* wb=fo */, + { 0, 10027, 10057, 3, 3, UNI_JG__REH } /* jg=reh */, + { 0, 5986, 9424, 13, 4, UNI_NV__3_SLASH_64 } /* numericvalue=3/64 */, + { 0, 8589, 7359, 8, 9, UNI_SAUR } /* script=saurashtra */, + { 4, 1417, 3564, 24, 17, UNI_WB__EB } /* canonicalcombiningclass=attachedbelowleft */, + { 0, 10033, 6178, 3, 3, UNI_LB__ZWJ } /* lb=zwj */, + { 3, 8762, 1, 6, 1, -UNI_XPOSIXALPHA } /* alpha=n */, + { 8, 7088, 8, 10, 2, UNI_BC__AN } /* bidiclass=an */, + { 1, 184, 18, 2, 2, UNI_RI } /* isri */, + { 17, 10027, 5382, 3, 14, UNI_JG__MANICHAEANQOPH } /* jg=manichaeanqoph */, + { 1, 9768, 7660, 4, 4, UNI_PERM } /* scx=perm */, + { 0, 3836, 9464, 17, 4, UNI_ARMN } /* scriptextensions=armn */, + { 0, 512, 0, 16, 0, UNI_UIDEO } /* unifiedideograph */, + { 0, 9488, 2245, 4, 21, UNI_MEETEIMAYEKEXT } /* blk=meeteimayekextensions */, + { 3, 7738, 9255, 9, 5, -UNI_XIDS } /* xidstart=false */, + { 33, 8694, 10135, 7, 3, UNI_XPOSIXSPACE } /* wspace=yes */, + { 17, 9444, 7950, 4, 1, UNI_AGE__9 } /* age=9 */, + { 74, 2817, 0, 19, 0, UNI_MERO } /* meroitichieroglyphs */, + { 0, 8589, 9620, 7, 4, UNI_LANA } /* script=lana */, + { 0, 9768, 5003, 4, 15, UNI_ZANB } /* scx=zanabazarsquare */, + { 1, 5746, 1, 6, 1, -UNI_EBASE } /* ebase=n */, + { 0, 8780, 9032, 6, 6, UNI_INWANCHO } /* block=wancho */, + { 8, 5284, 0, 4, 0, UNI_LISU } /* lisu */, + { 20, 1900, 0, 22, 0, UNI_INDICNUMBERFORMS } /* commonindicnumberforms */, + { 0, 6576, 10135, 11, 3, UNI_XPOSIXALPHA } /* alphabetic=yes */, + { 0, 1006, 0, 17, 0, UNI_ANCIENTGREEKMUSIC } /* ancientgreekmusic */, + { 0, 5986, 8714, 13, 3, UNI_NV__300 } /* numericvalue=300 */, + { 0, 3043, 0, 18, 0, UNI_HALFMARKS } /* combininghalfmarks */, + { 0, 9277, 9335, 3, 4, UNI_SC__TAKR } /* sc=takr */, + { 8, 7738, 0, 9, 0, UNI_xids_values_index } /* xidstart= */, + { 0, 184, 9756, 2, 4, UNI_RUNR } /* isrunr */, + { 1, 184, 7188, 2, 4, UNI_KHAR } /* iskhar */, + { 3, 8884, 1, 4, 1, -UNI_EXT } /* ext=n */, + { 4, 9351, 10135, 4, 3, UNI_IDS } /* ids=yes */, + { 1, 184, 3169, 2, 4, UNI_ETHI } /* isethi */, + { 10, 2224, 1345, 3, 24, UNI_SYMBOLSFORLEGACYCOMPUTING } /* insymbolsforlegacycomputing */, + { 2, 8780, 3026, 7, 17, UNI_CHEROKEESUP } /* block=cherokeesupplement */, + { 4, 9444, 9844, 4, 3, UNI_IN__1_DOT_1 } /* age=v11 */, + { 0, 9768, 382, 4, 4, UNI_EGYP } /* scx=egyp */, + { 89, 3277, 0, 18, 0, UNI_PI } /* initialpunctuation */, + { 4, 9488, 9664, 4, 3, UNI_INMRO } /* blk=mro */, + { 0, 9277, 8561, 3, 4, UNI_OSMA } /* sc=osma */, + { 0, 3098, 0, 5, 0, UNI_ECOMP } /* ecomp */, + { 0, 10012, 1204, 3, 9, UNI_EA__F } /* ea=fullwidth */, + { 16, 1537, 9, 24, 2, UNI_INPC__NA } /* indicpositionalcategory=na */, + { 0, 10048, 7874, 3, 2, UNI_NV__23 } /* nv=23 */, + { 0, 5791, 5354, 13, 14, UNI_JG__MANICHAEANHETH } /* joininggroup=manichaeanheth */, + { 1, 1114, 1025, 26, 2, -UNI_CWKCF } /* changeswhennfkccasefolded=no */, + { 2, 3853, 9255, 17, 5, -UNI_STERM } /* sentenceterminal=false */, + { 0, 7088, 2268, 10, 3, UNI_BC__PDI } /* bidiclass=pdi */, + { 2, 184, 9616, 2, 4, UNI_KTHI } /* iskthi */, + { 4, 10027, 5, 3, 1, UNI_JG__E } /* jg=e */, + { 0, 1344, 0, 25, 0, UNI_SYMBOLSFORLEGACYCOMPUTING } /* symbolsforlegacycomputing */, + { 0, 2703, 0, 19, 0, UNI_ENCLOSEDALPHANUMSUP } /* enclosedalphanumsup */, + { 1, 7318, 9852, 10, 4, UNI_IN__12_DOT_1 } /* presentin=v121 */, + { 1, 8589, 2608, 7, 4, UNI_BRAH } /* script=brah */, + { 58, 9488, 6109, 4, 12, UNI_CYRILLICEXTB } /* blk=cyrillicextb */, + { 35, 6231, 720, 3, 29, UNI_CUNEIFORMNUMBERS } /* incuneiformnumbersandpunctuation */, + { 98, 9277, 9828, 3, 4, UNI_THAI } /* sc=thai */, + { 37, 2288, 3055, 5, 6, UNI_HALFMARKS } /* inhalfmarks */, + { 7, 5986, 8727, 13, 2, UNI_NV__32 } /* numericvalue=32 */, + { 0, 8852, 0, 5, 0, UNI_CWKCF } /* cwkcf */, + { 2, 9488, 6807, 4, 11, UNI_MISCSYMBOLS } /* blk=miscsymbols */, + { 1, 8589, 9872, 7, 4, UNI_XPEO } /* script=xpeo */, + { 3, 1979, 5818, 10, 12, UNI_ZL } /* category=lineseparator */, + { 3, 1417, 3572, 24, 5, UNI_CCC__B } /* canonicalcombiningclass=below */, + { 17, 1369, 0, 24, 0, UNI_ARABICPFA } /* arabicpresentationformsa */, + { 82, 9262, 751, 3, 5, UNI_SB__CL } /* sb=close */, + { 13, 2529, 0, 21, 0, UNI_TERM } /* terminalpunctuation=t */, + { 3, 9488, 4241, 4, 16, UNI_MISCMATHSYMBOLSA } /* blk=miscmathsymbolsa */, + { 0, 9488, 8386, 4, 7, UNI_CJKEXTF } /* blk=cjkextf */, + { 12, 8780, 1033, 6, 11, UNI_ENCLOSEDCJK } /* block=enclosedcjk */, + { 1, 9277, 8428, 3, 7, UNI_SC__GRAN } /* sc=grantha */, + { 0, 749, 0, 16, 0, UNI_ENCLOSEDALPHANUM } /* enclosedalphanum */, + { 0, 9488, 1369, 4, 24, UNI_ARABICPFA } /* blk=arabicpresentationformsa */, + { 2, 3331, 0, 18, 0, UNI_ORNAMENTALDINGBATS } /* ornamentaldingbats */, + { 1, 9524, 1, 4, 1, -UNI_CWT } /* cwt=n */, + { 0, 7076, 4449, 3, 14, UNI_BAMUMSUP } /* inbamumsupplement */, + { 2, 7318, 7469, 10, 1, UNI_IN__5 } /* presentin=5 */, + { 0, 9230, 0, 4, 0, UNI_CWCF } /* cwcf */, + { 1, 9277, 9688, 3, 3, UNI_NKO } /* sc=nko */, + { 0, 8631, 0, 7, 0, UNI_SUPPUAB } /* suppuab */, + { 142, 9540, 9255, 4, 5, -UNI_DIA } /* dia=false */, + { 2, 4033, 4568, 16, 14, UNI_SC } /* generalcategory=currencysymbol */, + { 30, 8870, 26, 6, 1, UNI_EPRES } /* epres=y */, + { 1, 9768, 6886, 5, 3, UNI_SHAW } /* scx=shaw */, + { 1, 5032, 26, 14, 1, UNI_POSIXXDIGIT } /* asciihexdigit=y */, + { 6, 5986, 9910, 13, 3, UNI_NV__1_SLASH_9 } /* numericvalue=1/9 */, + { 0, 3836, 9688, 17, 4, UNI_NKO } /* scriptextensions=nkoo */, + { 0, 9277, 9780, 3, 4, UNI_SHAW } /* sc=shaw */, + { 6, 10048, 7950, 3, 1, UNI_NV__9 } /* nv=9 */, + { 0, 7325, 9401, 3, 3, UNI_IN__3 } /* in=3.0 */, + { 24, 5739, 26, 13, 1, UNI_GRBASE } /* graphemebase=y */, + { 3, 184, 2836, 2, 19, UNI_MODIFIERTONELETTERS } /* ismodifiertoneletters */, + { 2, 1834, 0, 22, 0, UNI_cwt_values_index } /* changeswhentitlecased= */, + { 0, 184, 951, 2, 28, UNI_VSSUP } /* isvariationselectorssupplement */, + { 0, 9768, 9448, 4, 4, UNI_AGHB } /* scx=aghb */, + { 1, 9768, 9789, 5, 3, UNI_SHRD } /* scx=shrd */, + { 0, 9508, 8805, 5, 5, UNI_CCC__118 } /* ccc=ccc118 */, + { 6, 6085, 0, 12, 0, UNI_CHESSSYMBOLS } /* chesssymbols */, + { 3, 10048, 8710, 3, 2, UNI_NV__60 } /* nv=60 */, + { 0, 3097, 10069, 18, 3, UNI_DT__SQR } /* decompositiontype=sqr */, + { 1, 6553, 1, 12, 1, -UNI_XIDC } /* xidcontinue=n */, + { 0, 8147, 36, 8, 1, UNI_EXTPICT } /* extpict=t */, + { 1, 8780, 809, 6, 22, UNI_ENCLOSEDIDEOGRAPHICSUP } /* block=enclosedideographicsup */, + { 5, 117, 4704, 3, 14, UNI_INIMPERIALARAMAIC } /* inimperialaramaic */, + { 24, 9277, 3937, 3, 8, UNI_SC__BOPO } /* sc=bopomofo */, + { 0, 8996, 0, 5, 0, UNI_STERM } /* sterm */, + { 5, 184, 6620, 2, 6, UNI_DOMINO } /* isdomino */, + { 0, 3836, 4478, 17, 7, UNI_BRAI } /* scriptextensions=braille */, + { 3, 8147, 0, 8, 0, UNI_extpict_values_index } /* extpict= */, + { 1, 4422, 3117, 4, 8, UNI_INDEVANAGARI } /* indevanagari */, + { 0, 5578, 751, 14, 2, UNI_SB__CL } /* sentencebreak=cl */, + { 0, 10048, 7765, 3, 2, UNI_NV__25 } /* nv=25 */, + { 7, 8954, 0, 6, 0, UNI_nchar_values_index } /* nchar= */, + { 26, 9488, 7118, 4, 10, UNI_INCHORASMIAN } /* blk=chorasmian */, + { 5, 184, 1466, 3, 12, UNI_M } /* iscombiningmark */, + { 0, 10296, 10309, 3, 4, UNI_XPOSIXPRINT } /* isprint */, + { 1, 10048, 0, 3, 0, UNI_nv_values_index } /* nv= */, + { 8, 7218, 7268, 10, 10, UNI_LB__NS } /* linebreak=nonstarter */, + { 2, 5791, 4177, 13, 16, UNI_JG__MANICHAEANDALETH } /* joininggroup=manichaeandaleth */, + { 5, 8589, 8606, 10, 4, UNI_SHAW } /* script=shavian */, + { 1, 9688, 0, 4, 0, UNI_NKO } /* nkoo */, + { 0, 8780, 2589, 6, 19, UNI_ANCIENTGREEKNUMBERS } /* block=ancientgreeknumbers */, + { 0, 8589, 9696, 7, 4, UNI_OGAM } /* script=ogam */, + { 33, 10027, 6774, 3, 11, UNI_JG__MALAYALAMJA } /* jg=malayalamja */, + { 0, 3853, 10135, 17, 3, UNI_STERM } /* sentenceterminal=yes */, + { 17, 2288, 2724, 4, 17, UNI_JAMOEXTA } /* inhanguljamoextendeda */, + { 0, 7155, 9585, 3, 3, UNI_HLUW } /* ishluw */, + { 0, 10048, 9376, 3, 4, UNI_NV__1_SLASH_64 } /* nv=1/64 */, + { 0, 184, 3133, 2, 5, UNI_EMOJI } /* isemoji */, + { 42, 2140, 0, 18, 0, UNI_CYRILLICSUP } /* cyrillicsupplement */, + { 4, 184, 4793, 2, 15, UNI_MERC } /* ismeroiticcursive */, + { 11, 7540, 9836, 9, 4, UNI_EXT } /* extender=true */, + { 0, 78, 0, 6, 0, UNI_ARAB } /* arabic */, + { 0, 9520, 9255, 4, 5, -UNI_CWL } /* cwl=false */, + { 1, 184, 2032, 2, 21, UNI__PERL_NCHAR } /* isnoncharactercodepoint */, + { 5, 8351, 0, 7, 0, UNI_CJKEXTA } /* cjkexta */, + { 5, 7438, 4856, 10, 2, UNI_WB__DQ } /* wordbreak=dq */, + { 0, 8589, 8299, 7, 8, UNI_TFNG } /* script=tifinagh */, + { 13, 4628, 1192, 15, 9, UNI_EA__H } /* eastasianwidth=halfwidth */, + { 2, 9508, 9934, 4, 3, UNI_CCC__R } /* ccc=226 */, + { 0, 8589, 8990, 7, 6, UNI_RJNG } /* script=rejang */, + { 29, 10048, 7803, 3, 8, UNI_NV__1_SLASH_64 } /* nv=1.56e-02 */, + { 0, 8780, 951, 6, 28, UNI_VSSUP } /* block=variationselectorssupplement */, + { 0, 6484, 0, 4, 0, UNI_HUNG } /* hung */, + { 2, 3097, 6421, 18, 12, UNI_DT__NONCANON } /* decompositiontype=noncanonical */, + { 0, 3836, 7428, 17, 4, UNI_WARA } /* scriptextensions=wara */, + { 6, 10060, 36, 3, 1, UNI_RI } /* ri=t */, + { 2, 1188, 8292, 3, 7, UNI_INTAGBANWA } /* intagbanwa */, + { 3, 184, 47, 2, 1, UNI_M } /* ism */, + { 12, 6710, 3881, 4, 4, UNI_INCARIAN } /* incarian */, + { 0, 8780, 4273, 6, 7, UNI_INMYANMAR } /* block=myanmar */, + { 3, 9275, 3061, 5, 18, UNI_INSC__CONSONANTSUBJOINED } /* insc=consonantsubjoined */, + { 0, 9508, 9221, 5, 4, UNI_CCC__91 } /* ccc=ccc91 */, + { 13, 8589, 4385, 7, 4, UNI_TANG } /* script=tang */, + { 0, 7088, 2893, 10, 19, UNI_BC__RLO } /* bidiclass=righttoleftoverride */, + { 0, 8589, 7558, 7, 9, UNI_SC__QAAI } /* script=inherited */, + { 1, 7088, 10018, 10, 3, UNI_BC__FSI } /* bidiclass=fsi */, + { 3, 8780, 6505, 6, 12, UNI_PHAISTOS } /* block=phaistosdisc */, + { 0, 10024, 10168, 3, 2, UNI_CASEDLETTER } /* gc=l& */, + { 2, 10033, 5564, 3, 9, UNI_LB__QU } /* lb=quotation */, + { 3, 9488, 1033, 4, 27, UNI_ENCLOSEDCJK } /* blk=enclosedcjklettersandmonths */, + { 6, 2224, 780, 3, 29, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* insymbolsandpictographsextendeda */, + { 1, 184, 3870, 2, 17, UNI_SMALLFORMS } /* issmallformvariants */, + { 0, 9808, 0, 4, 0, UNI_TALU } /* talu */, + { 5, 6805, 4261, 6, 12, UNI_MISCMATHSYMBOLSB } /* inmiscmathsymbolsb */, + { 8, 3836, 9008, 17, 6, UNI_THAA } /* scriptextensions=thaana */, + { 6, 9277, 78, 3, 4, UNI_SC__ARAB } /* sc=arab */, + { 1, 2218, 9685, 3, 3, UNI_INNEWA } /* innewa */, + { 1, 3367, 0, 18, 0, UNI_patws_values_index } /* patternwhitespace= */, + { 1, 6061, 10135, 12, 3, UNI_BIDIC } /* bidicontrol=yes */, + { 0, 8780, 9305, 6, 5, UNI_INNUSHU } /* block=nushu */, + { 1, 9488, 8596, 4, 7, UNI_SC__SHRD } /* blk=sharada */, + { 0, 9768, 8344, 4, 4, UNI_BENG } /* scx=beng */, + { 6, 3853, 3, 17, 1, -UNI_STERM } /* sentenceterminal=f */, + { 1, 779, 0, 30, 0, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* symbolsandpictographsextendeda */, + { 1, 9260, 1025, 5, 2, -UNI_IDSB } /* idsb=no */, + { 1, 9768, 7621, 4, 9, UNI_NBAT } /* scx=nabataean */, + { 3, 8780, 2076, 6, 22, UNI_TRANSPORTANDMAP } /* block=transportandmapsymbols */, + { 0, 6469, 0, 12, 0, UNI_nt_values_index } /* numerictype= */, + { 0, 7218, 7522, 10, 9, UNI_LB__B2 } /* linebreak=breakboth */, + { 0, 9277, 9245, 3, 5, UNI_SC__DOGR } /* sc=dogra */, + { 0, 9488, 908, 4, 10, UNI_PUA } /* blk=privateuse */, + { 7, 10027, 6906, 3, 11, UNI_JG__ROHINGYAYEH } /* jg=rohingyayeh */, + { 3, 2288, 1656, 4, 21, UNI_COMPATJAMO } /* inhangulcompatibilityjamo */, + { 2, 3097, 1294, 18, 5, UNI_DT__SUP } /* decompositiontype=super */, + { 2, 9488, 4598, 4, 15, UNI_DIACRITICALSEXT } /* blk=diacriticalsext */, + { 0, 9508, 7950, 4, 1, UNI_CCC__9 } /* ccc=9 */, + { 5, 4065, 0, 16, 0, UNI_HALFANDFULLFORMS } /* halfandfullforms */, + { 2, 7088, 3700, 10, 17, UNI_BC__ES } /* bidiclass=europeanseparator */, + { 48, 8589, 2855, 7, 9, UNI_SC__MONG } /* script=mongolian */, + { 0, 7218, 395, 10, 2, UNI_LB__GL } /* linebreak=gl */, + { 1, 9008, 0, 4, 0, UNI_THAA } /* thaa */, + { 3, 9488, 6121, 4, 12, UNI_CYRILLICEXTC } /* blk=cyrillicextc */, + { 4, 184, 1944, 2, 22, UNI_EARLYDYNASTICCUNEIFORM } /* isearlydynasticcuneiform */, + { 8, 10024, 6035, 3, 2, UNI_PF } /* gc=pf */, + { 0, 10048, 8750, 3, 4, UNI_NV__8000 } /* nv=8000 */, + { 2, 4116, 6, 3, 2, UNI_IDC } /* isidc */, + { 7, 10048, 7858, 3, 2, UNI_NV__22 } /* nv=22 */, + { 1, 9488, 2609, 5, 5, UNI_INBRAHMI } /* blk=brahmi */, + { 0, 8115, 0, 4, 0, UNI_BASS } /* bass */, + { 2, 9768, 8477, 4, 7, UNI_MAKA } /* scx=makasar */, + { 0, 8780, 570, 7, 29, UNI_CJKEXTC } /* block=cjkunifiedideographsextensionc */, + { 0, 10033, 5585, 3, 2, UNI_EBASE } /* lb=eb */, + { 14, 2119, 0, 14, 0, UNI_CJKRADICALSSUP } /* cjkradicalssup */, + { 0, 493, 0, 3, 0, UNI_HAN } /* han */, + { 1, 3836, 2817, 17, 4, UNI_MERO } /* scriptextensions=mero */, + { 1, 10288, 6554, 3, 10, UNI_XIDC } /* isxidcontinue */, + { 65, 184, 6807, 2, 11, UNI_MISCSYMBOLS } /* ismiscsymbols */, + { 65, 9508, 9922, 4, 3, UNI_CCC__214 } /* ccc=214 */, + { 100, 8275, 0, 8, 0, UNI_SPECIALS } /* specials */, + { 0, 5986, 7890, 13, 2, UNI_NV__33 } /* numericvalue=33 */, + { 0, 2288, 1514, 3, 23, UNI_HIGHPUSURROGATES } /* inhighprivateusesurrogates */, + { 24, 2760, 5633, 19, 2, UNI_LB__H2 } /* hangulsyllabletype=lv */, + { 17, 184, 908, 2, 14, UNI_PUA } /* isprivateusearea */, + { 0, 9768, 8659, 4, 7, UNI_TIBT } /* scx=tibetan */, + { 4, 10129, 10135, 3, 3, UNI_VS } /* vs=yes */, + { 1, 7540, 9255, 9, 5, -UNI_EXT } /* extender=false */, + { 1, 9350, 1025, 5, 2, -UNI_XIDS } /* xids=no */, + { 1, 9768, 8645, 4, 7, UNI_LANA } /* scx=taitham */, + { 0, 8589, 2817, 7, 19, UNI_MERO } /* script=meroitichieroglyphs */, + { 11, 9504, 0, 4, 0, UNI_CANS } /* cans */, + { 0, 9277, 9580, 3, 4, UNI_SC__HANO } /* sc=hano */, + { 15, 10024, 1, 3, 1, UNI_N } /* gc=n */, + { 21, 3836, 9740, 17, 4, UNI_QAAI } /* scriptextensions=qaai */, + { 22, 10033, 5088, 3, 14, UNI_LB__SA } /* lb=complexcontext */, + { 0, 1417, 9223, 24, 2, UNI_CCC__91 } /* canonicalcombiningclass=91 */, + { 0, 9596, 6541, 4, 12, UNI_GCB__T } /* hst=trailingjamo */, + { 0, 8688, 3923, 4, 14, UNI_ARABICSUP } /* isarabicsupplement */, + { 4, 184, 3893, 2, 11, UNI_SGNW } /* issignwriting */, + { 0, 7118, 0, 10, 0, UNI_CHRS } /* chorasmian */, + { 4, 0, 0, 42, 0, UNI_UCASEXT } /* unifiedcanadianaboriginalsyllabicsextended */, + { 3, 10333, 6973, 3, 3, UNI_SYLO } /* issylo */, + { 5, 7088, 2509, 10, 11, UNI_BC__R } /* bidiclass=righttoleft */, + { 5, 9275, 4417, 5, 5, UNI_INSC__VOWEL } /* insc=vowel */, + { 0, 10024, 5494, 3, 14, UNI_MN } /* gc=nonspacingmark */, + { 32, 1552, 9225, 9, 5, UNI_XPOSIXCNTRL } /* category=cntrl */, + { 16, 9262, 9080, 3, 5, UNI_SB__AT } /* sb=aterm */, + { 0, 10033, 908, 3, 2, UNI_LB__PR } /* lb=pr */, + { 0, 7318, 7781, 10, 1, UNI_IN__4 } /* presentin=4 */, + { 0, 4883, 0, 15, 0, UNI_SARB } /* oldsoutharabian */, + { 0, 5791, 4773, 13, 3, UNI_JG__SAD } /* joininggroup=sad */, + { 1, 183, 0, 20, 0, UNI_MISCSYMBOLS } /* miscellaneoussymbols */, + { 1, 6231, 3081, 4, 16, UNI_COPTICEPACTNUMBERS } /* incopticepactnumbers */, + { 1, 5116, 1, 14, 1, -UNI_EMOD } /* emojimodifier=n */, + { 0, 3836, 9636, 17, 4, UNI_LINB } /* scriptextensions=linb */, + { 32, 8780, 349, 6, 33, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* block=supplementalsymbolsandpictographs */, + { 0, 5018, 0, 14, 0, UNI_ANCIENTSYMBOLS } /* ancientsymbols */, + { 4, 10048, 7821, 3, 1, UNI_NV__8 } /* nv=8 */, + { 3, 5986, 9380, 13, 3, UNI_NV__1_SLASH_8 } /* numericvalue=1/8 */, + { 3, 9488, 8379, 4, 7, UNI_CJKEXTE } /* blk=cjkexte */, + { 24, 4916, 3458, 3, 10, UNI_TAIXUANJING } /* istaixuanjing */, + { 1, 8864, 9255, 6, 5, -UNI_EMOJI } /* emoji=false */, + { 1, 3836, 2560, 17, 4, UNI_MAND } /* scriptextensions=mand */, + { 1, 8912, 0, 4, 0, UNI_KHOJ } /* khoj */, + { 0, 8780, 8243, 6, 8, UNI_INMAHAJANI } /* block=mahajani */, + { 1, 9277, 3241, 3, 8, UNI_SC__GEOR } /* sc=georgian */, + { 1, 8187, 0, 4, 0, UNI_HIRA } /* hira */, + { 23, 184, 2054, 2, 22, UNI_MODIFIERLETTERS } /* isspacingmodifierletters */, + { 0, 1417, 7858, 24, 3, UNI_CCC__B } /* canonicalcombiningclass=220 */, + { 0, 9290, 9836, 5, 4, UNI_MATH } /* math=true */, + { 1, 5986, 9432, 13, 4, UNI_NV__5_SLASH_12 } /* numericvalue=5/12 */, + { 1, 9768, 9808, 4, 4, UNI_TALU } /* scx=talu */, + { 15, 3529, 9255, 18, 5, -UNI_VS } /* variationselector=false */, + { 0, 1537, 7170, 4, 8, UNI_INDIVESAKURU } /* indivesakuru */, + { 1, 3529, 9836, 18, 4, UNI_VS } /* variationselector=true */, + { 8, 1834, 1, 22, 1, -UNI_CWT } /* changeswhentitlecased=n */, + { 0, 3097, 2569, 18, 4, UNI_DT__VERT } /* decompositiontype=vert */, + { 2, 4916, 2297, 3, 3, UNI_THAI } /* isthai */, + { 51, 9556, 34, 4, 6, UNI_GCB__EX } /* gcb=extend */, + { 1, 184, 2350, 3, 19, UNI_PC } /* isconnectorpunctuation */, + { 8, 7158, 0, 10, 0, UNI_dia_values_index } /* diacritic= */, + { 2, 4033, 728, 16, 6, UNI_N } /* generalcategory=number */, + { 0, 10048, 8756, 3, 3, UNI_NV__900 } /* nv=900 */, + { 2, 9488, 113, 4, 25, UNI_DIACRITICALS } /* blk=combiningdiacriticalmarks */, + { 1, 96, 0, 10, 0, UNI_XPOSIXALPHA } /* alphabetic */, + { 0, 9488, 1677, 4, 9, UNI_LATINEXTE } /* blk=latinexte */, + { 0, 184, 809, 2, 29, UNI_ENCLOSEDIDEOGRAPHICSUP } /* isenclosedideographicsupplement */, + { 3, 8589, 8876, 7, 4, UNI_GOTH } /* script=goth */, + { 0, 10048, 7778, 3, 2, UNI_NV__21 } /* nv=21 */, + { 1, 2529, 1025, 20, 2, -UNI_TERM } /* terminalpunctuation=no */, + { 1, 184, 5746, 2, 5, UNI_EBASE } /* isebase */, + { 0, 8589, 1115, 7, 4, UNI_SC__HANG } /* script=hang */, + { 54, 184, 3295, 2, 18, UNI_LATINEXTADDITIONAL } /* islatinextadditional */, + { 31, 9488, 3683, 4, 16, UNI_ETHIOPICEXT } /* blk=ethiopicextended */, + { 3, 7438, 5746, 10, 5, UNI_WB__EB } /* wordbreak=ebase */, + { 5, 8589, 8091, 7, 8, UNI_ARMN } /* script=armenian */, + { 22, 7076, 1586, 3, 22, UNI_BYZANTINEMUSIC } /* inbyzantinemusicalsymbols */, + { 0, 7155, 8450, 3, 5, UNI_HYPHEN } /* ishyphen */, + { 0, 5791, 5, 13, 1, UNI_JG__E } /* joininggroup=e */, + { 1, 9277, 9656, 3, 4, UNI_MIAO } /* sc=miao */, + { 3, 10132, 8139, 3, 8, UNI_WB__EB } /* wb=ebasegaz */, + { 2, 1417, 0, 24, 0, UNI_ccc_values_index } /* canonicalcombiningclass= */, + { 1, 2529, 10135, 20, 3, UNI_TERM } /* terminalpunctuation=yes */, + { 4, 9816, 0, 4, 0, UNI_TAVT } /* tavt */, + { 5, 8768, 36, 6, 1, UNI_BIDIC } /* bidic=t */, + { 0, 9768, 8107, 4, 4, UNI_BALI } /* scx=bali */, + { 0, 8449, 36, 7, 1, UNI_HYPHEN } /* hyphen=t */, + { 1, 9444, 10102, 4, 3, UNI_AGE__5_DOT_2 } /* age=v52 */, + { 14, 5986, 8732, 13, 6, UNI_NV__500000 } /* numericvalue=500000 */, + { 0, 4916, 8584, 3, 3, UNI_TAGS } /* istags */, + { 8, 9788, 0, 4, 0, UNI_SHRD } /* shrd */, + { 2, 9488, 4973, 4, 8, UNI_VEDICEXT } /* blk=vedicext */, + { 1, 9488, 2855, 4, 12, UNI_MONGOLIANSUP } /* blk=mongoliansup */, + { 0, 9020, 36, 6, 1, UNI_XPOSIXUPPER } /* upper=t */, + { 24, 1417, 9221, 25, 4, UNI_CCC__91 } /* canonicalcombiningclass=ccc91 */, + { 1, 9488, 2429, 4, 20, UNI_ININSCRIPTIONALPAHLAVI } /* blk=inscriptionalpahlavi */, + { 1, 6277, 0, 12, 0, UNI_MAHJONG } /* mahjongtiles */, + { 0, 184, 8484, 2, 7, UNI_MAND } /* ismandaic */, + { 3, 8780, 2666, 7, 18, UNI_COUNTINGROD } /* block=countingrodnumerals */, + { 1, 184, 9864, 2, 4, UNI_WCHO } /* iswcho */, + { 33, 5060, 1, 14, 1, -UNI_CI } /* caseignorable=n */, + { 0, 184, 1, 2, 1, UNI_N } /* isn */, + { 7, 8780, 4478, 6, 7, UNI_BRAI } /* block=braille */, + { 8, 5578, 1867, 14, 5, UNI_SB__UP } /* sentencebreak=upper */, + { 6, 9768, 7651, 4, 4, UNI_ITAL } /* scx=ital */, + { 4, 10048, 8738, 3, 6, UNI_NV__600000 } /* nv=600000 */, + { 13, 3079, 0, 6, 0, UNI_COPT } /* coptic */, + { 8, 8589, 2224, 7, 21, UNI_PRTI } /* script=inscriptionalparthian */, + { 1, 3836, 9600, 17, 4, UNI_KALI } /* scriptextensions=kali */, + { 47, 1417, 16, 24, 1, UNI_CCC__B } /* canonicalcombiningclass=b */, + { 1, 8589, 2913, 8, 8, UNI_SUND } /* script=sundanese */, + { 33, 10048, 8019, 3, 8, UNI_NV__2_SLASH_3 } /* nv=6.67e-01 */, + { 32, 3424, 1, 3, 41, UNI_UCASEXT } /* inunifiedcanadianaboriginalsyllabicsextended */, + { 16, 9768, 8442, 4, 7, UNI_HANO } /* scx=hanunoo */, + { 26, 9070, 1025, 5, 2, -UNI_POSIXXDIGIT } /* ahex=no */, + { 0, 184, 8936, 2, 6, UNI_LYCI } /* islycian */, + { 1, 6253, 0, 12, 0, UNI_KHMERSYMBOLS } /* khmersymbols */, + { 0, 9768, 5843, 4, 9, UNI_MLYM } /* scx=malayalam */, + { 0, 10024, 341, 3, 2, UNI_PE } /* gc=pe */, + { 7, 9488, 3331, 4, 18, UNI_ORNAMENTALDINGBATS } /* blk=ornamentaldingbats */, + { 4, 9508, 3015, 4, 5, UNI_CCC__A } /* ccc=above */, + { 1, 9488, 3457, 4, 18, UNI_TAIXUANJING } /* blk=taixuanjingsymbols */, + { 0, 5791, 7199, 14, 9, UNI_JG__KNOTTEDHEH } /* joininggroup=knottedheh */, + { 5, 1417, 8795, 24, 3, UNI_CCC__103 } /* canonicalcombiningclass=103 */, + { 1, 5791, 10057, 13, 3, UNI_JG__REH } /* joininggroup=reh */, + { 3, 9488, 5688, 5, 12, UNI_BLOCKELEMENTS } /* blk=blockelements */, + { 0, 1878, 0, 22, 0, UNI_CJKCOMPATIDEOGRAPHSSUP } /* cjkcompatideographssup */, + { 1, 7318, 9840, 10, 4, UNI_IN__10 } /* presentin=v100 */, + { 0, 8780, 7291, 6, 7, UNI_INSOGDIAN } /* block=sogdian */, + { 24, 9277, 8990, 3, 6, UNI_RJNG } /* sc=rejang */, + { 0, 10027, 9648, 3, 4, UNI_JG__MEEM } /* jg=meem */, + { 5, 9724, 0, 4, 0, UNI_PHNX } /* phnx */, + { 2, 184, 2855, 2, 12, UNI_MONGOLIANSUP } /* ismongoliansup */, + { 1, 9768, 3241, 4, 8, UNI_GEOR } /* scx=georgian */, + { 4, 10033, 10160, 3, 2, UNI_LB__H3 } /* lb=h3 */, + { 2, 9492, 751, 4, 5, UNI_BPT__C } /* bpt=close */, + { 8, 8407, 0, 7, 0, UNI_DSRT } /* deseret */, + { 56, 10048, 8750, 3, 6, UNI_NV__800000 } /* nv=800000 */, + { 1, 2409, 0, 13, 0, UNI_GLAGOLITICSUP } /* glagoliticsup */, + { 16, 9768, 9592, 4, 4, UNI_HMNP } /* scx=hmnp */, + { 9, 8589, 9584, 7, 4, UNI_HLUW } /* script=hluw */, + { 1, 2280, 4885, 4, 13, UNI_SARB } /* isoldsoutharabian */, + { 1, 3836, 9664, 17, 4, UNI_MRO } /* scriptextensions=mroo */, + { 176, 6420, 9321, 3, 4, UNI_INOSAGE } /* inosage */, + { 1, 8780, 8906, 6, 6, UNI_KANBUN } /* block=kanbun */, + { 81, 1944, 0, 22, 0, UNI_EARLYDYNASTICCUNEIFORM } /* earlydynasticcuneiform */, + { 2, 9277, 382, 3, 4, UNI_EGYP } /* sc=egyp */, + { 0, 1087, 3, 27, 1, -UNI_PCM } /* prependedconcatenationmark=f */, + { 0, 8589, 7288, 7, 10, UNI_SOGO } /* script=oldsogdian */, + { 10, 9488, 5270, 4, 14, UNI_LATINEXTE } /* blk=latinextendede */, + { 112, 3836, 9900, 17, 4, UNI_ZZZZ } /* scriptextensions=zzzz */, + { 0, 8688, 2590, 3, 18, UNI_ANCIENTGREEKNUMBERS } /* isancientgreeknumbers */, + { 65, 9997, 10042, 3, 3, UNI_BC__LRO } /* bc=lro */, + { 0, 10033, 1465, 3, 13, UNI_LB__CM } /* lb=combiningmark */, + { 28, 8780, 43, 7, 8, UNI_CJKCOMPAT } /* block=cjkcompat */, + { 32, 7630, 0, 9, 0, UNI_TALU } /* newtailue */, + { 3, 9768, 493, 4, 3, UNI_HAN } /* scx=han */, + { 4, 10340, 9861, 3, 3, UNI_VAI } /* isvaii */, + { 4, 10027, 7045, 3, 3, UNI_JG__FEH } /* jg=feh */, + { 1, 6710, 3583, 4, 15, UNI_UCAS } /* incanadiansyllabics */, + { 2, 4791, 6798, 4, 9, UNI_INMEDEFAIDRIN } /* inmedefaidrin */, + { 4, 9768, 8456, 4, 7, UNI_KNDA } /* scx=kannada */, + { 56, 1527, 0, 9, 0, UNI__PERL_SURROGATE } /* surrogate */, + { 1, 8780, 2855, 6, 12, UNI_MONGOLIANSUP } /* block=mongoliansup */, + { 0, 6807, 0, 11, 0, UNI_MISCSYMBOLS } /* miscsymbols */, + { 1, 9290, 3, 5, 1, -UNI_MATH } /* math=f */, + { 0, 8780, 1677, 6, 23, UNI_LATINEXTADDITIONAL } /* block=latinextendedadditional */, + { 7, 9071, 10135, 4, 3, UNI_XPOSIXXDIGIT } /* hex=yes */, + { 0, 5986, 9203, 13, 2, UNI_NV__34 } /* numericvalue=34 */, + { 2, 8780, 540, 7, 29, UNI_CJKEXTB } /* block=cjkunifiedideographsextensionb */, + { 0, 9038, 0, 4, 0, UNI_YEZI } /* yezi */, + { 33, 5284, 0, 14, 0, UNI_LISUSUP } /* lisusupplement */, + { 9, 4033, 4958, 16, 15, UNI_UPPERCASELETTER } /* generalcategory=uppercaseletter */, + { 0, 3836, 9808, 17, 4, UNI_TALU } /* scriptextensions=talu */, + { 8, 3836, 9860, 17, 3, UNI_VAI } /* scriptextensions=vai */, + { 5, 9768, 9008, 4, 6, UNI_THAA } /* scx=thaana */, + { 0, 8589, 7278, 7, 10, UNI_XPEO } /* script=oldpersian */, + { 0, 3836, 3169, 17, 8, UNI_ETHI } /* scriptextensions=ethiopic */, + { 9, 1828, 9255, 6, 5, -UNI_CASED } /* cased=false */, + { 0, 10030, 6994, 3, 11, UNI_JT__T } /* jt=transparent */, + { 0, 9768, 8421, 4, 4, UNI_ELYM } /* scx=elym */, + { 2, 9488, 2061, 4, 15, UNI_MODIFIERLETTERS } /* blk=modifierletters */, + { 1, 8589, 9464, 7, 4, UNI_ARMN } /* script=armn */, + { 7, 9488, 8372, 4, 7, UNI_CJKEXTD } /* blk=cjkextd */, + { 100, 8589, 8912, 7, 6, UNI_SC__KHOJ } /* script=khojki */, + { 0, 9488, 4449, 5, 4, UNI_INBAMUM } /* blk=bamum */, + { 57, 8780, 8659, 6, 7, UNI_INTIBETAN } /* block=tibetan */, + { 2, 9235, 9255, 5, 5, -UNI_CWCM } /* cwcm=false */, + { 0, 3904, 3, 17, 1, -UNI_UIDEO } /* unifiedideograph=f */, + { 0, 7188, 0, 4, 0, UNI_KHAR } /* khar */, + { 2, 8780, 2477, 6, 3, UNI_PUA } /* block=pua */, + { 32, 8780, 7248, 6, 10, UNI_MISCARROWS } /* block=miscarrows */, + { 138, 9270, 5523, 3, 13, UNI_PHONETICEXTSUP } /* inphoneticextsup */, + { 0, 4916, 4929, 3, 14, UNI_TAMILSUP } /* istamilsupplement */, + { 1, 3836, 9632, 17, 4, UNI_LINA } /* scriptextensions=lina */, + { 0, 8780, 0, 6, 0, UNI_blk_values_index } /* block= */, + { 68, 8589, 9002, 7, 4, UNI_SC__TELU } /* script=telu */, + { 22, 5578, 339, 14, 2, UNI_SB__LO } /* sentencebreak=lo */, + { 0, 2349, 0, 20, 0, UNI_PC } /* connectorpunctuation */, + { 1, 184, 5674, 2, 5, UNI_BIDIM } /* isbidim */, + { 24, 10024, 908, 3, 10, UNI_CO } /* gc=privateuse */, + { 64, 21, 2308, 2, 21, UNI_YIJING } /* inyijinghexagramsymbols */, + { 0, 3836, 7648, 17, 9, UNI_ITAL } /* scriptextensions=olditalic */, + { 0, 9508, 3007, 4, 18, UNI_CCC__216 } /* ccc=attachedaboveright */, + { 2, 9503, 0, 2, 0, UNI_MC } /* mc */, + { 8, 9277, 5843, 3, 9, UNI_SC__MLYM } /* sc=malayalam */, + { 0, 9716, 1, 4, 1, -UNI_PCM } /* pcm=n */, + { 29, 9997, 2266, 3, 21, UNI_BC__PDI } /* bc=popdirectionalisolate */, + { 0, 10296, 10308, 7, 5, UNI_POSIXPRINT } /* isposixprint */, + { 32, 10027, 4193, 3, 16, UNI_JG__MANICHAEANLAMEDH } /* jg=manichaeanlamedh */, + { 138, 10333, 6886, 3, 3, UNI_SHAW } /* isshaw */, + { 0, 9488, 5074, 4, 14, UNI_CJKCOMPATFORMS } /* blk=cjkcompatforms */, + { 31, 3683, 0, 11, 0, UNI_ETHIOPICEXT } /* ethiopicext */, + { 17, 9768, 9740, 4, 4, UNI_QAAI } /* scx=qaai */, + { 3, 7218, 495, 10, 7, UNI_LB__NU } /* linebreak=numeric */, + { 6, 9540, 0, 4, 0, UNI_dia_values_index } /* dia= */, + { 0, 9070, 0, 5, 0, UNI_ahex_values_index } /* ahex= */, + { 0, 8780, 3633, 7, 16, UNI_CYRILLICEXTA } /* block=cyrillicextendeda */, + { 2, 4385, 0, 16, 0, UNI_TANGUTCOMPONENTS } /* tangutcomponents */, + { 50, 8780, 6098, 7, 11, UNI_CYRILLICEXTA } /* block=cyrillicexta */, + { 0, 9275, 4113, 5, 16, UNI_INSC__INVISIBLESTACKER } /* insc=invisiblestacker */, + { 0, 9488, 1344, 4, 25, UNI_SYMBOLSFORLEGACYCOMPUTING } /* blk=symbolsforlegacycomputing */, + { 1, 4542, 1633, 4, 13, UNI_GEOMETRICSHAPES } /* ingeometricshapes */, + { 4, 9488, 6397, 4, 12, UNI_MATHALPHANUM } /* blk=mathalphanum */, + { 4, 9345, 0, 5, 0, UNI_xidc_values_index } /* xidc= */, + { 1, 3836, 9588, 17, 4, UNI_HMNG } /* scriptextensions=hmng */, + { 0, 7228, 9836, 10, 4, UNI_XPOSIXLOWER } /* lowercase=true */, + { 166, 10024, 400, 3, 6, UNI_CF } /* gc=format */, + { 2, 9488, 5158, 4, 14, UNI_INGREEK } /* blk=greekandcoptic */, + { 1, 838, 0, 29, 0, UNI_MISCARROWS } /* miscellaneoussymbolsandarrows */, + { 4, 8882, 3, 6, 1, -UNI_GREXT } /* grext=f */, + { 16, 2288, 4675, 4, 13, UNI_INHANGUL } /* inhangulsyllables */, + { 0, 9270, 2549, 5, 20, UNI_INPC__TOPANDBOTTOMANDRIGHT } /* inpc=topandbottomandright */, + { 0, 3921, 0, 16, 0, UNI_ARABICSUP } /* arabicsupplement */, + { 8, 21, 2308, 2, 6, UNI_YIJING } /* inyijing */, + { 0, 7495, 0, 9, 0, UNI_ARABICPFA } /* arabicpfa */, + { 0, 184, 4340, 2, 13, UNI_MATHOPERATORS } /* ismathoperators */, + { 0, 9488, 5778, 4, 6, UNI_IPAEXT } /* blk=ipaext */, + { 0, 10027, 5620, 3, 10, UNI_JG__TEHMARBUTA } /* jg=tehmarbuta */, + { 0, 2182, 73, 21, 2, UNI_WB__EB } /* graphemeclusterbreak=em */, + { 0, 1979, 10169, 10, 1, UNI_CASEDLETTER } /* category=l& */, + { 0, 9528, 1, 4, 1, -UNI_CWU } /* cwu=n */, + { 0, 2760, 7720, 19, 9, UNI_GCB__V } /* hangulsyllabletype=voweljamo */, + { 5, 184, 10168, 2, 2, UNI_CASEDLETTER } /* isl& */, + { 182, 8365, 0, 7, 0, UNI_CJKEXTC } /* cjkextc */, + { 4, 9768, 2224, 4, 21, UNI_PRTI } /* scx=inscriptionalparthian */, + { 2, 9320, 0, 5, 0, UNI_OSGE } /* osage */, + { 144, 9020, 1025, 6, 2, -UNI_XPOSIXUPPER } /* upper=no */, + { 0, 9488, 1900, 4, 22, UNI_INDICNUMBERFORMS } /* blk=commonindicnumberforms */, + { 1, 5986, 8075, 13, 8, UNI_NV__7_SLASH_8 } /* numericvalue=8.75e-01 */, + { 0, 5116, 1025, 14, 2, -UNI_EMOD } /* emojimodifier=no */, + { 141, 9444, 10099, 4, 3, UNI_AGE__5_DOT_1 } /* age=v51 */, + { 0, 8688, 5719, 3, 4, UNI_XPOSIXALNUM } /* isalnum */, + { 12, 10333, 0, 7, 0, UNI_XPOSIXSPACE } /* isspace */, + { 2, 1631, 0, 23, 0, UNI_GEOMETRICSHAPESEXT } /* geometricshapesextended */, + { 1, 2288, 8188, 3, 7, UNI_INHIRAGANA } /* inhiragana */, + { 3, 9230, 10135, 5, 3, UNI_CWCF } /* cwcf=yes */, + { 9, 9508, 9931, 4, 3, UNI_CCC__L } /* ccc=224 */, + { 8, 9768, 9245, 4, 4, UNI_DOGR } /* scx=dogr */, + { 1, 6420, 7649, 3, 8, UNI_INOLDITALIC } /* inolditalic */, + { 0, 9768, 6973, 5, 3, UNI_SYLO } /* scx=sylo */, + { 37, 5578, 69, 14, 2, UNI_SB__UP } /* sentencebreak=up */, + { 2, 2280, 7290, 4, 8, UNI_SOGO } /* isoldsogdian */, + { 0, 5116, 9836, 14, 4, UNI_EMOD } /* emojimodifier=true */, + { 0, 9277, 6409, 3, 4, UNI_MEND } /* sc=mend */, + { 113, 10333, 2913, 3, 8, UNI_SUND } /* issundanese */, + { 2, 3836, 7675, 17, 4, UNI_PALM } /* scriptextensions=palm */, + { 34, 8589, 9548, 7, 4, UNI_DSRT } /* script=dsrt */, + { 10, 9768, 7118, 4, 10, UNI_CHRS } /* scx=chorasmian */, + { 0, 9997, 3374, 3, 10, UNI_BC__WS } /* bc=whitespace */, + { 1, 8852, 1025, 6, 2, -UNI_CWKCF } /* cwkcf=no */, + { 7, 2477, 0, 3, 0, UNI_PUA } /* pua */, + { 1, 184, 809, 2, 22, UNI_ENCLOSEDIDEOGRAPHICSUP } /* isenclosedideographicsup */, + { 0, 1417, 8, 24, 1, UNI_CCC__A } /* canonicalcombiningclass=a */, + { 46, 5466, 26, 14, 1, UNI_NFDQC__Y } /* nfdquickcheck=y */, + { 0, 2182, 24, 21, 1, UNI_GCB__L } /* graphemeclusterbreak=l */, + { 5, 9275, 1244, 5, 9, UNI_INSC__CONSONANT } /* insc=consonant */, + { 1, 10048, 8732, 3, 5, UNI_NV__50000 } /* nv=50000 */, + { 0, 10024, 10176, 3, 2, UNI_ZL } /* gc=zl */, + { 5, 9488, 4883, 4, 15, UNI_SARB } /* blk=oldsoutharabian */, + { 43, 184, 5270, 2, 14, UNI_LATINEXTE } /* islatinextendede */, + { 0, 10063, 26, 3, 1, UNI_SD } /* sd=y */, + { 0, 5791, 5918, 13, 3, UNI_JG__TAW } /* joininggroup=taw */, + { 10, 3385, 3, 18, 1, -UNI_RI } /* regionalindicator=f */, + { 2, 9488, 7594, 4, 9, UNI_LATINEXTD } /* blk=latinextd */, + { 0, 3836, 1900, 17, 6, UNI_ZYYY } /* scriptextensions=common */, + { 0, 10033, 10158, 3, 2, UNI_LB__H2 } /* lb=h2 */, + { 144, 9768, 7359, 5, 3, UNI_SAUR } /* scx=saur */, + { 1, 10048, 7859, 3, 6, UNI_NV__200000 } /* nv=200000 */, + { 0, 5986, 7923, 13, 8, UNI_NV__2_SLASH_5 } /* numericvalue=4.00e-01 */, + { 32, 184, 2141, 3, 10, UNI_CYRILLICSUP } /* iscyrillicsup */, + { 0, 4916, 3458, 3, 17, UNI_TAIXUANJING } /* istaixuanjingsymbols */, + { 4, 8780, 2141, 7, 17, UNI_CYRILLICSUP } /* block=cyrillicsupplement */, + { 7, 8780, 4448, 6, 5, UNI_INBAMUM } /* block=bamum */, + { 1, 8091, 0, 8, 0, UNI_ARMN } /* armenian */, + { 32, 184, 0, 3, 0, UNI_C } /* isc */, + { 0, 184, 8115, 2, 4, UNI_BASS } /* isbass */, + { 3, 184, 4583, 2, 4, UNI_DASH } /* isdash */, + { 1, 9488, 4401, 4, 16, UNI_TANGUTSUP } /* blk=tangutsupplement */, + { 1, 8780, 4257, 6, 16, UNI_MISCMATHSYMBOLSB } /* block=miscmathsymbolsb */, + { 2, 9015, 1, 5, 1, -UNI_IDEO } /* ideo=n */, + { 0, 184, 1677, 2, 5, UNI_LATN } /* islatin */, + { 12, 10288, 3379, 8, 5, UNI_XPOSIXSPACE } /* isxposixspace */, + { 89, 9488, 3439, 4, 18, UNI_SMALLKANAEXT } /* blk=smallkanaextension */, + { 1, 2569, 0, 20, 0, UNI_vo_values_index } /* verticalorientation= */, + { 0, 10024, 2268, 3, 2, UNI_PD } /* gc=pd */, + { 30, 9488, 5256, 4, 14, UNI_LATINEXTD } /* blk=latinextendedd */, + { 0, 8780, 567, 6, 2, UNI_NB } /* block=nb */, + { 4, 10048, 7859, 3, 2, UNI_NV__20 } /* nv=20 */, + { 0, 9444, 10123, 4, 3, UNI_AGE__9 } /* age=v90 */, + { 0, 1417, 8811, 25, 5, UNI_CCC__122 } /* canonicalcombiningclass=ccc122 */, + { 0, 9488, 7291, 4, 7, UNI_INSOGDIAN } /* blk=sogdian */, + { 36, 10003, 1, 3, 1, -UNI_CI } /* ci=n */, + { 1, 9277, 2817, 3, 4, UNI_MERO } /* sc=mero */, + { 0, 10030, 6529, 3, 12, UNI_JT__R } /* jt=rightjoining */, + { 2, 3836, 9325, 17, 5, UNI_RUNR } /* scriptextensions=runic */, + { 0, 7058, 0, 10, 0, UNI_ARABICEXTA } /* arabicexta */, + { 0, 3836, 8786, 17, 6, UNI_CARI } /* scriptextensions=carian */, + { 8, 4658, 1, 15, 1, -UNI_GREXT } /* graphemeextend=n */, + { 6, 9768, 1900, 4, 6, UNI_ZYYY } /* scx=common */, + { 25, 9488, 2817, 4, 19, UNI_MERO } /* blk=meroitichieroglyphs */, + { 0, 21, 5214, 2, 6, UNI_KANGXI } /* inkangxi */, + { 65, 9488, 8990, 4, 6, UNI_INREJANG } /* blk=rejang */, + { 0, 7318, 9955, 10, 3, UNI_IN__3_DOT_2 } /* presentin=3.2 */, + { 0, 7325, 9388, 3, 4, UNI_IN__11 } /* in=11.0 */, + { 1, 5791, 4193, 13, 16, UNI_JG__MANICHAEANLAMEDH } /* joininggroup=manichaeanlamedh */, + { 3, 10027, 3785, 3, 17, UNI_JG__MANICHAEANDHAMEDH } /* jg=manichaeandhamedh */, + { 2, 2855, 0, 19, 0, UNI_MONGOLIANSUP } /* mongoliansupplement */, + { 0, 749, 0, 30, 0, UNI_ENCLOSEDALPHANUMSUP } /* enclosedalphanumericsupplement */, + { 0, 8780, 6012, 6, 13, UNI_VERTICALFORMS } /* block=verticalforms */, + { 1, 7325, 7765, 3, 1, UNI_IN__2 } /* in=2 */, + { 2, 9488, 6097, 4, 12, UNI_CYRILLICEXTA } /* blk=cyrillicexta */, + { 2, 8589, 0, 7, 0, UNI_sc_values_index } /* script= */, + { 3, 446, 0, 18, 0, UNI_IDEOGRAPHICSYMBOLS } /* ideographicsymbols */, + { 0, 5986, 9208, 13, 2, UNI_NV__35 } /* numericvalue=35 */, + { 0, 9277, 2203, 3, 4, UNI_SC__HAN } /* sc=hani */, + { 10, 9277, 2409, 3, 10, UNI_SC__GLAG } /* sc=glagolitic */, + { 2, 8984, 9836, 6, 4, UNI_QMARK } /* qmark=true */, + { 3, 5452, 9295, 14, 5, UNI_NFCQC__M } /* nfcquickcheck=maybe */, + { 0, 9508, 9218, 4, 2, UNI_CCC__84 } /* ccc=84 */, + { 1, 5791, 5312, 13, 14, UNI_JG__MANICHAEANAYIN } /* joininggroup=manichaeanayin */, + { 3, 184, 3683, 2, 17, UNI_ETHIOPICEXTA } /* isethiopicextendeda */, + { 2, 10027, 7055, 3, 3, UNI_JG__QAF } /* jg=qaf */, + { 0, 2076, 0, 22, 0, UNI_TRANSPORTANDMAP } /* transportandmapsymbols */, + { 2, 21, 8900, 2, 6, UNI_INKAITHI } /* inkaithi */, + { 0, 8882, 0, 5, 0, UNI_GREXT } /* grext */, + { 24, 9488, 1393, 4, 24, UNI_ARABICPFB } /* blk=arabicpresentationformsb */, + { 64, 1552, 4583, 9, 15, UNI_PD } /* category=dashpunctuation */, + { 0, 7438, 7730, 11, 8, UNI_WB__WSEGSPACE } /* wordbreak=wsegspace */, + { 0, 9768, 9864, 4, 4, UNI_WCHO } /* scx=wcho */, + { 1, 10024, 10178, 3, 2, UNI_ZP } /* gc=zp */, + { 0, 10027, 6361, 3, 12, UNI_JG__MALAYALAMTTA } /* jg=malayalamtta */, + { 40, 5986, 9408, 13, 4, UNI_NV__15_SLASH_2 } /* numericvalue=15/2 */, + { 5, 5791, 5410, 13, 14, UNI_JG__MANICHAEANTETH } /* joininggroup=manichaeanteth */, + { 13, 7088, 6493, 10, 12, UNI_BC__ON } /* bidiclass=otherneutral */, + { 32, 8780, 1060, 7, 5, UNI_INCOPTIC } /* block=coptic */, + { 32, 9488, 5186, 4, 14, UNI_HIGHSURROGATES } /* blk=highsurrogates */, + { 8, 9768, 7648, 4, 9, UNI_ITAL } /* scx=olditalic */, + { 37, 3529, 0, 18, 0, UNI_vs_values_index } /* variationselector= */, + { 3, 8624, 0, 7, 0, UNI_SUPPUAA } /* suppuaa */, + { 0, 1188, 2077, 3, 14, UNI_TRANSPORTANDMAP } /* intransportandmap */, + { 97, 9488, 4449, 5, 7, UNI_BAMUMSUP } /* blk=bamumsup */, + { 1, 184, 8344, 2, 4, UNI_BENG } /* isbeng */, + { 1, 1417, 9934, 24, 3, UNI_CCC__R } /* canonicalcombiningclass=226 */, + { 6, 9768, 9816, 4, 4, UNI_TAVT } /* scx=tavt */, + { 82, 7738, 1, 9, 1, -UNI_XIDS } /* xidstart=n */, + { 2, 8123, 0, 4, 0, UNI_BUGI } /* bugi */, + { 166, 4257, 0, 16, 0, UNI_MISCMATHSYMBOLSB } /* miscmathsymbolsb */, + { 56, 5986, 9416, 13, 4, UNI_NV__3_SLASH_16 } /* numericvalue=3/16 */, + { 0, 9768, 8924, 4, 6, UNI_LEPC } /* scx=lepcha */, + { 33, 8966, 0, 6, 0, UNI_nfdqc_values_index } /* nfdqc= */, + { 0, 1087, 9255, 27, 5, -UNI_PCM } /* prependedconcatenationmark=false */, + { 0, 8780, 3169, 6, 8, UNI_INETHIOPIC } /* block=ethiopic */, + { 0, 184, 5256, 2, 14, UNI_LATINEXTD } /* islatinextendedd */, + { 0, 8589, 8115, 7, 4, UNI_BASS } /* script=bass */, + { 0, 7155, 1655, 3, 22, UNI_COMPATJAMO } /* ishangulcompatibilityjamo */, + { 0, 8780, 3650, 7, 16, UNI_CYRILLICEXTB } /* block=cyrillicextendedb */, + { 53, 9997, 5494, 3, 14, UNI_BC__NSM } /* bc=nonspacingmark */, + { 0, 5791, 5396, 13, 14, UNI_JG__MANICHAEANRESH } /* joininggroup=manichaeanresh */, + { 2, 9556, 18, 4, 2, UNI_RI } /* gcb=ri */, + { 2, 8780, 6110, 7, 11, UNI_CYRILLICEXTB } /* block=cyrillicextb */, + { 3, 9488, 3079, 4, 6, UNI_INCOPTIC } /* blk=coptic */, + { 8, 7155, 6485, 3, 3, UNI_HUNG } /* ishung */, + { 0, 5791, 5882, 13, 13, UNI_JG__MANICHAEANNUN } /* joininggroup=manichaeannun */, + { 1, 5791, 7038, 13, 10, UNI_JG__AFRICANFEH } /* joininggroup=africanfeh */, + { 2, 4628, 1, 15, 1, UNI_EA__N } /* eastasianwidth=n */, + { 1, 9768, 3169, 4, 8, UNI_ETHI } /* scx=ethiopic */, + { 1, 8780, 7504, 6, 9, UNI_ARABICPFB } /* block=arabicpfb */, + { 0, 10033, 10162, 3, 2, UNI_GCB__L } /* lb=jl */, + { 0, 9277, 9764, 3, 4, UNI_SARB } /* sc=sarb */, + { 3, 21, 5284, 2, 4, UNI_INLISU } /* inlisu */, + { 0, 8780, 9452, 6, 4, UNI_INAHOM } /* block=ahom */, + { 0, 3097, 8163, 18, 3, UNI_DT__FRA } /* decompositiontype=fra */, + { 1, 9260, 10135, 5, 3, UNI_IDSB } /* idsb=yes */, + { 3, 9262, 112, 3, 2, UNI_SB__SC } /* sb=sc */, + { 6, 9768, 3937, 4, 4, UNI_BOPO } /* scx=bopo */, + { 3, 3382, 0, 3, 0, UNI_ce_values_index } /* ce= */, + { 0, 5986, 5648, 13, 3, UNI_NV__100 } /* numericvalue=100 */, + { 1, 7438, 138, 10, 2, UNI_WB__FO } /* wordbreak=fo */, + { 214, 8882, 9255, 6, 5, -UNI_GREXT } /* grext=false */, + { 1, 9351, 3, 4, 1, -UNI_IDS } /* ids=f */, + { 0, 1273, 1, 21, 1, -UNI_CE } /* compositionexclusion=n */, + { 1, 9277, 9788, 3, 4, UNI_SC__SHRD } /* sc=shrd */, + { 1, 9488, 4161, 4, 16, UNI_LINEARBSYLLABARY } /* blk=linearbsyllabary */, + { 0, 21, 8456, 2, 7, UNI_INKANNADA } /* inkannada */, + { 0, 8589, 6181, 7, 12, UNI_SC__GONG } /* script=gunjalagondi */, + { 16, 8358, 0, 7, 0, UNI_CJKEXTB } /* cjkextb */, + { 1, 9262, 125, 3, 2, UNI_LB__CR } /* sb=cr */, + { 1, 10027, 5882, 3, 13, UNI_JG__MANICHAEANNUN } /* jg=manichaeannun */, + { 2, 8589, 9564, 7, 4, UNI_SC__GONM } /* script=gonm */, + { 0, 9768, 9095, 4, 5, UNI_BUHD } /* scx=buhid */, + { 0, 9444, 10096, 4, 3, UNI_AGE__5 } /* age=v50 */, + { 2, 1188, 4929, 3, 7, UNI_TAMILSUP } /* intamilsup */, + { 8, 7218, 202, 10, 2, UNI_LB__SA } /* linebreak=sa */, + { 33, 9277, 7358, 3, 10, UNI_SAUR } /* sc=saurashtra */, + { 0, 7218, 988, 10, 2, UNI_LB__CP } /* linebreak=cp */, + { 1, 7088, 2489, 10, 20, UNI_BC__PDF } /* bidiclass=popdirectionalformat */, + { 5, 10027, 5179, 3, 7, UNI_JG__HEHGOAL } /* jg=hehgoal */, + { 8, 10024, 2349, 3, 20, UNI_PC } /* gc=connectorpunctuation */, + { 9, 1966, 3061, 22, 18, UNI_INSC__CONSONANTSUBJOINED } /* indicsyllabiccategory=consonantsubjoined */, + { 48, 7325, 9396, 3, 4, UNI_IN__12_DOT_1 } /* in=12.1 */, + { 0, 7438, 34, 10, 2, UNI_WB__EX } /* wordbreak=ex */, + { 24, 10012, 3, 3, 1, UNI_EA__F } /* ea=f */, + { 1, 4033, 5040, 16, 5, UNI_XPOSIXDIGIT } /* generalcategory=digit */, + { 2, 10333, 8632, 3, 6, UNI_SUPPUAB } /* issuppuab */, + { 105, 9768, 9684, 4, 4, UNI_NEWA } /* scx=newa */, + { 32, 1166, 1025, 26, 2, -UNI_DI } /* defaultignorablecodepoint=no */, + { 3, 9488, 7128, 4, 10, UNI_CJKSTROKES } /* blk=cjkstrokes */, + { 0, 5791, 4773, 13, 5, UNI_JG__SADHE } /* joininggroup=sadhe */, + { 14, 4033, 467, 16, 11, UNI_P } /* generalcategory=punctuation */, + { 0, 8780, 8291, 6, 8, UNI_INTAGBANWA } /* block=tagbanwa */, + { 1, 6553, 0, 4, 0, UNI_XIDC } /* xidc */, + { 10, 8435, 26, 7, 1, UNI_GRBASE } /* grbase=y */, + { 16, 9488, 809, 4, 22, UNI_ENCLOSEDIDEOGRAPHICSUP } /* blk=enclosedideographicsup */, + { 36, 6805, 4245, 6, 12, UNI_MISCMATHSYMBOLSA } /* inmiscmathsymbolsa */, + { 137, 184, 5752, 2, 8, UNI_GREEKEXT } /* isgreekext */, + { 3, 7088, 2266, 10, 21, UNI_BC__PDI } /* bidiclass=popdirectionalisolate */, + { 67, 9270, 2455, 5, 5, UNI_INPC__RIGHT } /* inpc=right */, + { 0, 1417, 7078, 24, 10, UNI_CCC__BR } /* canonicalcombiningclass=belowright */, + { 4, 4916, 4929, 3, 4, UNI_TAML } /* istamil */, + { 65, 7088, 2509, 10, 20, UNI_BC__RLE } /* bidiclass=righttoleftembedding */, + { 0, 9768, 8421, 4, 7, UNI_ELYM } /* scx=elymaic */, + { 9, 8694, 9836, 7, 4, UNI_XPOSIXSPACE } /* wspace=true */, + { 0, 3836, 7359, 18, 9, UNI_SAUR } /* scriptextensions=saurashtra */, + { 4, 7076, 8124, 3, 7, UNI_INBUGINESE } /* inbuginese */, + { 0, 1966, 5102, 22, 14, UNI_INSC__CONSONANTFINAL } /* indicsyllabiccategory=consonantfinal */, + { 4, 9768, 8131, 4, 4, UNI_DUPL } /* scx=dupl */, + { 0, 8780, 1006, 6, 17, UNI_ANCIENTGREEKMUSIC } /* block=ancientgreekmusic */, + { 1, 9488, 8291, 4, 8, UNI_INTAGBANWA } /* blk=tagbanwa */, + { 3, 184, 4129, 2, 16, UNI_LATIN1 } /* islatin1supplement */, + { 0, 9265, 9836, 5, 4, UNI_IDST } /* idst=true */, + { 42, 9488, 5171, 4, 4, UNI_INCHAM } /* blk=cham */, + { 3, 9488, 2287, 4, 21, UNI_SINHALAARCHAICNUMBERS } /* blk=sinhalaarchaicnumbers */, + { 1, 9488, 7585, 4, 9, UNI_LATINEXTC } /* blk=latinextc */, + { 0, 9488, 328, 4, 21, UNI_MATHOPERATORS } /* blk=mathematicaloperators */, + { 0, 4628, 9868, 15, 4, UNI_EA__W } /* eastasianwidth=wide */, + { 57, 10333, 2288, 3, 6, UNI_SINH } /* issinhala */, + { 0, 4033, 3358, 16, 9, UNI_Z } /* generalcategory=separator */, + { 12, 5791, 6323, 13, 5, UNI_JG__GAMAL } /* joininggroup=gamal */, + { 0, 9488, 5003, 4, 15, UNI_INZANABAZARSQUARE } /* blk=zanabazarsquare */, + { 2, 9345, 3, 5, 1, -UNI_XIDC } /* xidc=f */, + { 16, 3836, 9880, 17, 4, UNI_YI } /* scriptextensions=yiii */, + { 260, 3836, 8666, 17, 7, UNI_TIRH } /* scriptextensions=tirhuta */, + { 0, 5791, 8155, 13, 8, UNI_JG__FARSIYEH } /* joininggroup=farsiyeh */, + { 0, 8780, 4241, 6, 16, UNI_MISCMATHSYMBOLSA } /* block=miscmathsymbolsa */, + { 3, 10009, 5904, 3, 4, UNI_DT__NONE } /* dt=none */, + { 275, 184, 8352, 3, 6, UNI_CJKEXTA } /* iscjkexta */, + { 0, 9277, 6884, 3, 11, UNI_HMNG } /* sc=pahawhhmong */, + { 19, 10033, 5046, 3, 14, UNI_LB__CR } /* lb=carriagereturn */, + { 2, 2224, 1562, 3, 23, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* insupsymbolsandpictographs */, + { 5, 9488, 42, 4, 26, UNI_CJKCOMPATIDEOGRAPHS } /* blk=cjkcompatibilityideographs */, + { 93, 7088, 23, 10, 2, UNI_BC__AL } /* bidiclass=al */, + { 9, 8780, 5270, 6, 14, UNI_LATINEXTE } /* block=latinextendede */, + { 1, 9488, 7168, 4, 10, UNI_INDIVESAKURU } /* blk=divesakuru */, + { 2, 184, 4017, 2, 16, UNI_PF } /* isfinalpunctuation */, + { 2, 5986, 8067, 13, 8, UNI_NV__17_SLASH_2 } /* numericvalue=8.50e+00 */, + { 0, 8780, 8484, 6, 7, UNI_INMANDAIC } /* block=mandaic */, + { 6, 8780, 3421, 6, 4, UNI_RUMI } /* block=rumi */, + { 0, 10027, 5326, 3, 14, UNI_JG__MANICHAEANBETH } /* jg=manichaeanbeth */, + { 0, 3836, 78, 17, 4, UNI_ARAB } /* scriptextensions=arab */, + { 5, 3836, 8645, 17, 7, UNI_LANA } /* scriptextensions=taitham */, + { 1, 9277, 8477, 3, 4, UNI_MAKA } /* sc=maka */, + { 1, 1537, 7298, 24, 10, UNI_INPC__OVERSTRUCK } /* indicpositionalcategory=overstruck */, + { 1, 9488, 9800, 4, 4, UNI_TAGS } /* blk=tags */, + { 0, 5606, 0, 14, 0, UNI_SUPPUNCTUATION } /* suppunctuation */, + { 0, 6554, 0, 3, 0, UNI_IDC } /* idc */, + { 86, 3836, 5284, 17, 4, UNI_LISU } /* scriptextensions=lisu */, + { 1, 9488, 3887, 4, 17, UNI_SUTTONSIGNWRITING } /* blk=suttonsignwriting */, + { 0, 8435, 10135, 7, 3, UNI_GRBASE } /* grbase=yes */, + { 0, 184, 4002, 3, 6, UNI_CPRT } /* iscypriot */, + { 0, 10033, 9557, 3, 2, UNI_LB__CB } /* lb=cb */, + { 0, 8780, 2141, 7, 10, UNI_CYRILLICSUP } /* block=cyrillicsup */, + { 1, 3836, 78, 17, 6, UNI_ARAB } /* scriptextensions=arabic */, + { 13, 184, 9608, 2, 4, UNI_KITS } /* iskits */, + { 137, 184, 7540, 2, 8, UNI_EXT } /* isextender */, + { 1, 7325, 7782, 3, 1, UNI_IN__3 } /* in=3 */, + { 36, 2308, 0, 21, 0, UNI_YIJING } /* yijinghexagramsymbols */, + { 0, 5986, 8010, 13, 2, UNI_NV__36 } /* numericvalue=36 */, + { 1, 5578, 1089, 15, 2, UNI_SB__SE } /* sentencebreak=sep */, + { 3, 9668, 0, 4, 0, UNI_MTEI } /* mtei */, + { 2, 3379, 9836, 6, 4, UNI_XPOSIXSPACE } /* space=true */, + { 0, 6061, 9255, 12, 5, -UNI_BIDIC } /* bidicontrol=false */, + { 0, 6609, 0, 10, 0, UNI_DEP } /* deprecated */, + { 2, 10048, 7947, 3, 8, UNI_NV__3_SLASH_64 } /* nv=4.69e-02 */, + { 3, 4643, 9255, 15, 5, -UNI_ECOMP } /* emojicomponent=false */, + { 64, 8780, 8631, 6, 7, UNI_SUPPUAB } /* block=suppuab */, + { 3, 184, 8498, 2, 4, UNI_MULT } /* ismult */, + { 1, 9644, 0, 4, 0, UNI_MEDF } /* medf */, + { 0, 10048, 9416, 3, 4, UNI_NV__3_SLASH_16 } /* nv=3/16 */, + { 1, 9265, 1025, 5, 2, -UNI_IDST } /* idst=no */, + { 0, 1006, 0, 27, 0, UNI_ANCIENTGREEKMUSIC } /* ancientgreekmusicalnotation */, + { 1, 8589, 9672, 7, 4, UNI_SC__MYMR } /* script=mymr */, + { 1, 21, 3751, 2, 17, UNI_INKHITANSMALLSCRIPT } /* inkhitansmallscript */, + { 0, 4116, 415, 3, 31, UNI_INIDC } /* isideographicdescriptioncharacters */, + { 3, 10024, 10180, 3, 2, UNI_ZS } /* gc=zs */, + { 1, 10033, 340, 3, 2, UNI_LB__OP } /* lb=op */, + { 5, 9488, 749, 4, 30, UNI_ENCLOSEDALPHANUMSUP } /* blk=enclosedalphanumericsupplement */, + { 14, 184, 1184, 2, 3, UNI_DEP } /* isdep */, + { 2, 6231, 2667, 4, 17, UNI_COUNTINGROD } /* incountingrodnumerals */, + { 0, 8780, 8526, 6, 7, UNI_NB } /* block=noblock */, + { 79, 7438, 7612, 10, 6, UNI_WB__MN } /* wordbreak=midnum */, + { 136, 5986, 7955, 13, 8, UNI_NV__1_SLASH_20 } /* numericvalue=5.00e-02 */, + { 5, 184, 2161, 2, 20, UNI_EXTPICT } /* isextendedpictographic */, + { 3, 2280, 1759, 4, 2, UNI_OLCK } /* isolck */, + { 0, 184, 1115, 3, 24, UNI_CWKCF } /* ischangeswhennfkccasefolded */, + { 2, 9071, 9255, 4, 5, -UNI_XPOSIXXDIGIT } /* hex=false */, + { 0, 184, 1044, 2, 6, UNI_L } /* isletter */, + { 0, 9768, 3785, 4, 10, UNI_MANI } /* scx=manichaean */, + { 4, 3836, 6484, 17, 4, UNI_HUNG } /* scriptextensions=hung */, + { 0, 9488, 979, 4, 27, UNI_ALPHABETICPF } /* blk=alphabeticpresentationforms */, + { 4, 5791, 9884, 13, 4, UNI_JG__ZAIN } /* joininggroup=zain */, + { 31, 8780, 7239, 6, 2, UNI_INVS } /* block=vs */, + { 72, 9997, 4493, 3, 15, UNI_BC__CS } /* bc=commonseparator */, + { 2, 1768, 9836, 22, 4, UNI_CWCF } /* changeswhencasefolded=true */, + { 0, 7318, 0, 10, 0, UNI_in_values_index } /* presentin= */, + { 13, 10024, 4017, 3, 16, UNI_PF } /* gc=finalpunctuation */, + { 2, 10048, 9360, 3, 4, UNI_NV___MINUS_1_SLASH_2 } /* nv=-1/2 */, + { 0, 4241, 0, 16, 0, UNI_MISCMATHSYMBOLSA } /* miscmathsymbolsa */, + { 0, 10048, 8726, 3, 6, UNI_NV__432000 } /* nv=432000 */, + { 0, 3836, 9688, 17, 3, UNI_NKO } /* scriptextensions=nko */, + { 1, 8780, 6122, 7, 11, UNI_CYRILLICEXTC } /* block=cyrillicextc */, + { 4, 8780, 2061, 6, 15, UNI_MODIFIERLETTERS } /* block=modifierletters */, + { 0, 8780, 8123, 6, 8, UNI_INBUGINESE } /* block=buginese */, + { 3, 8780, 3667, 7, 16, UNI_CYRILLICEXTC } /* block=cyrillicextendedc */, + { 137, 414, 0, 32, 0, UNI_INIDC } /* ideographicdescriptioncharacters */, + { 290, 9488, 7288, 4, 10, UNI_INOLDSOGDIAN } /* blk=oldsogdian */, + { 0, 9786, 8598, 4, 5, UNI_SC__SHRD } /* insharada */, + { 0, 9768, 8463, 4, 7, UNI_KALI } /* scx=kayahli */, + { 0, 1188, 4402, 3, 8, UNI_TANGUTSUP } /* intangutsup */, + { 0, 184, 867, 2, 11, UNI_PHONETICEXT } /* isphoneticext */, + { 4, 10296, 7207, 3, 3, UNI_PHLI } /* isphli */, + { 11, 9508, 9928, 4, 3, UNI_CCC__BR } /* ccc=222 */, + { 8, 3367, 0, 17, 0, UNI__PERL_PATWS } /* patternwhitespace */, + { 1, 5986, 7859, 13, 8, UNI_NV__20000000 } /* numericvalue=20000000 */, + { 0, 728, 0, 6, 0, UNI_N } /* number */, + { 1, 10048, 7779, 3, 8, UNI_NV__1_SLASH_7 } /* nv=1.43e-01 */, + { 1, 1166, 1, 26, 1, -UNI_DI } /* defaultignorablecodepoint=n */, + { 9, 9752, 0, 4, 0, UNI_ROHG } /* rohg */, + { 0, 1966, 3615, 22, 17, UNI_INSC__CONSONANTPREFIXED } /* indicsyllabiccategory=consonantprefixed */, + { 6, 8780, 7388, 6, 10, UNI_SUPARROWSB } /* block=suparrowsb */, + { 2, 1966, 2369, 22, 20, UNI_INSC__CONSONANTPLACEHOLDER } /* indicsyllabiccategory=consonantplaceholder */, + { 0, 5986, 7859, 13, 4, UNI_NV__2000 } /* numericvalue=2000 */, + { 4, 4129, 0, 6, 0, UNI_LATIN1 } /* latin1 */, + { 4, 10033, 3, 4, 1, UNI_LB__LF } /* lb=lf */, + { 5, 9275, 3953, 5, 16, UNI_INSC__CANTILLATIONMARK } /* insc=cantillationmark */, + { 36, 4033, 206, 16, 2, UNI_PI } /* generalcategory=pi */, + { 7, 9572, 0, 4, 0, UNI_GUJR } /* gujr */, + { 1, 6961, 0, 11, 0, UNI_SUPERANDSUB } /* superandsub */, + { 5, 9488, 509, 4, 20, UNI_CJK } /* blk=cjkunifiedideographs */, + { 0, 1294, 0, 25, 0, UNI_SUPERANDSUB } /* superscriptsandsubscripts */, + { 76, 9277, 8659, 3, 7, UNI_TIBT } /* sc=tibetan */, + { 1, 7249, 6600, 4, 9, UNI_CASEDLETTER } /* iscasedletter */, + { 0, 4033, 3985, 16, 16, UNI_PE } /* generalcategory=closepunctuation */, + { 0, 9270, 3475, 5, 10, UNI_INPC__TOPANDLEFT } /* inpc=topandleft */, + { 1, 3836, 8115, 17, 4, UNI_BASS } /* scriptextensions=bass */, + { 2, 8780, 7027, 6, 11, UNI_YISYLLABLES } /* block=yisyllables */, + { 1, 9351, 9836, 4, 4, UNI_IDS } /* ids=true */, + { 0, 8379, 0, 7, 0, UNI_CJKEXTE } /* cjkexte */, + { 0, 8780, 4129, 6, 16, UNI_LATIN1 } /* block=latin1supplement */, + { 43, 9277, 9876, 3, 4, UNI_XSUX } /* sc=xsux */, + { 0, 10030, 7, 3, 1, UNI_JT__C } /* jt=c */, + { 0, 5986, 7874, 13, 2, UNI_NV__23 } /* numericvalue=23 */, + { 0, 9488, 6620, 4, 6, UNI_DOMINO } /* blk=domino */, + { 8, 9508, 8568, 4, 7, UNI_CCC__1 } /* ccc=overlay */, + { 3, 184, 7388, 2, 10, UNI_SUPARROWSB } /* issuparrowsb */, + { 0, 3836, 8597, 18, 6, UNI_SHRD } /* scriptextensions=sharada */, + { 39, 9488, 3751, 4, 17, UNI_INKHITANSMALLSCRIPT } /* blk=khitansmallscript */, + { 0, 9488, 7576, 4, 9, UNI_LATINEXTB } /* blk=latinextb */, + { 31, 8589, 7694, 8, 8, UNI_SAMR } /* script=samaritan */, + { 82, 9997, 2449, 3, 20, UNI_BC__LRE } /* bc=lefttorightembedding */, + { 1, 9768, 1677, 4, 5, UNI_LATN } /* scx=latin */, + { 32, 1537, 4615, 4, 13, UNI_DIACRITICALSSUP } /* indiacriticalssup */, + { 0, 4116, 2225, 3, 20, UNI_PRTI } /* isinscriptionalparthian */, + { 2, 5037, 0, 9, 0, UNI_hex_values_index } /* hexdigit= */, + { 0, 1966, 9300, 22, 5, UNI_INSC__NUKTA } /* indicsyllabiccategory=nukta */, + { 1, 6710, 3601, 5, 14, UNI_INCAUCASIANALBANIAN } /* incaucasianalbanian */, + { 26, 7155, 5585, 3, 3, UNI_HEBR } /* ishebr */, + { 0, 7325, 9967, 3, 3, UNI_IN__5_DOT_1 } /* in=5.1 */, + { 65, 1746, 0, 23, 0, UNI_BPT__C } /* bidipairedbrackettype=c */, + { 0, 10003, 1025, 3, 2, -UNI_CI } /* ci=no */, + { 74, 4033, 598, 16, 2, UNI_XPOSIXCNTRL } /* generalcategory=cc */, + { 0, 184, 9085, 2, 5, UNI_BATK } /* isbatak */, + { 1, 9488, 4613, 4, 15, UNI_DIACRITICALSSUP } /* blk=diacriticalssup */, + { 0, 9488, 2140, 4, 8, UNI_INCYRILLIC } /* blk=cyrillic */, + { 1, 3379, 9255, 6, 5, -UNI_XPOSIXSPACE } /* space=false */, + { 1, 3836, 6481, 17, 12, UNI_HUNG } /* scriptextensions=oldhungarian */, + { 2, 8780, 1192, 6, 26, UNI_HALFANDFULLFORMS } /* block=halfwidthandfullwidthforms */, + { 0, 1189, 5040, 3, 5, UNI_NT__DI } /* nt=digit */, + { 55, 3836, 3079, 17, 6, UNI_COPT } /* scriptextensions=coptic */, + { 16, 184, 5438, 2, 14, UNI_SK } /* ismodifiersymbol */, + { 0, 10183, 3379, 4, 5, UNI_POSIXSPACE } /* perlspace */, + { 2, 5986, 9413, 13, 3, UNI_NV__7_SLASH_2 } /* numericvalue=7/2 */, + { 3, 3133, 10135, 18, 3, UNI_EBASE } /* emojimodifierbase=yes */, + { 2, 10027, 7038, 3, 10, UNI_JG__AFRICANFEH } /* jg=africanfeh */, + { 1, 8858, 1, 6, 1, -UNI_ECOMP } /* ecomp=n */, + { 0, 9488, 1673, 4, 4, UNI_JAMO } /* blk=jamo */, + { 0, 5578, 125, 14, 2, UNI_LB__CR } /* sentencebreak=cr */, + { 3, 3382, 9836, 3, 4, UNI_CE } /* ce=true */, + { 0, 3836, 9668, 17, 4, UNI_MTEI } /* scriptextensions=mtei */, + { 2, 8978, 0, 6, 0, UNI_patws_values_index } /* patws= */, + { 0, 9768, 7675, 4, 4, UNI_PALM } /* scx=palm */, + { 3, 3836, 6193, 17, 4, UNI_HEBR } /* scriptextensions=hebr */, + { 1, 3904, 9836, 17, 4, UNI_UIDEO } /* unifiedideograph=true */, + { 13, 1552, 1563, 9, 2, UNI_PS } /* category=ps */, + { 0, 184, 349, 2, 33, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* issupplementalsymbolsandpictographs */, + { 68, 1087, 1025, 27, 2, -UNI_PCM } /* prependedconcatenationmark=no */, + { 73, 9277, 8131, 3, 4, UNI_SC__DUPL } /* sc=dupl */, + { 0, 9488, 2140, 4, 11, UNI_CYRILLICSUP } /* blk=cyrillicsup */, + { 8, 10340, 4975, 4, 6, UNI_VEDICEXT } /* isvedicext */, + { 64, 9488, 8876, 4, 6, UNI_INGOTHIC } /* blk=gothic */, + { 1, 8589, 7188, 7, 10, UNI_KHAR } /* script=kharoshthi */, + { 2, 1417, 8708, 24, 3, UNI_CCC__216 } /* canonicalcombiningclass=216 */, + { 11, 1591, 8415, 3, 6, UNI_INELBASAN } /* inelbasan */, + { 142, 8780, 5256, 6, 14, UNI_LATINEXTD } /* block=latinextendedd */, + { 138, 9768, 1115, 4, 4, UNI_HANG } /* scx=hang */, + { 33, 4688, 7550, 16, 8, UNI_IDENTIFIERTYPE__INCLUSION } /* identifiertype=inclusion */, + { 48, 8589, 9684, 7, 4, UNI_NEWA } /* script=newa */, + { 58, 9768, 9476, 4, 4, UNI_AVST } /* scx=avst */, + { 158, 5508, 26, 14, 1, UNI_PATSYN } /* patternsyntax=y */, + { 0, 5986, 9964, 13, 3, UNI_NV__4_SLASH_5 } /* numericvalue=4/5 */, + { 0, 9900, 0, 4, 0, UNI_ZZZZ } /* zzzz */, + { 24, 10048, 7907, 3, 8, UNI_NV__3_SLASH_8 } /* nv=3.75e-01 */, + { 3, 9488, 4273, 4, 16, UNI_MYANMAREXTA } /* blk=myanmarextendeda */, + { 0, 9768, 9624, 4, 4, UNI_LAO } /* scx=laoo */, + { 1, 5739, 10135, 13, 3, UNI_GRBASE } /* graphemebase=yes */, + { 0, 10048, 5648, 3, 3, UNI_NV__100 } /* nv=100 */, + { 5, 8852, 36, 6, 1, UNI_CWKCF } /* cwkcf=t */, + { 9, 184, 8107, 2, 8, UNI_BALI } /* isbalinese */, + { 2, 10048, 9964, 3, 3, UNI_NV__4_SLASH_5 } /* nv=4/5 */, + { 1, 9508, 9925, 4, 3, UNI_CCC__BL } /* ccc=218 */, + { 0, 9768, 4703, 4, 15, UNI_ARMI } /* scx=imperialaramaic */, + { 0, 9488, 5200, 4, 14, UNI_KANASUP } /* blk=kanasupplement */, + { 20, 5986, 9984, 13, 2, UNI_NV__37 } /* numericvalue=37 */, + { 1, 21, 8227, 2, 8, UNI_KANAEXTA } /* inkanaexta */, + { 2, 8131, 0, 4, 0, UNI_DUPL } /* dupl */, + { 3, 9768, 9688, 4, 4, UNI_NKO } /* scx=nkoo */, + { 0, 3836, 9892, 17, 4, UNI_QAAI } /* scriptextensions=zinh */, + { 6, 7218, 7448, 10, 10, UNI_LB__WJ } /* linebreak=wordjoiner */, + { 2, 9488, 2245, 4, 11, UNI_INMEETEIMAYEK } /* blk=meeteimayek */, + { 5, 9768, 8840, 4, 6, UNI_CAKM } /* scx=chakma */, + { 37, 9488, 478, 4, 31, UNI_MATHALPHANUM } /* blk=mathematicalalphanumericsymbols */, + { 1, 5791, 5340, 13, 14, UNI_JG__MANICHAEANFIVE } /* joininggroup=manichaeanfive */, + { 1, 10048, 9405, 3, 3, UNI_NV__3_SLASH_2 } /* nv=3/2 */, + { 1, 184, 7129, 3, 9, UNI_CJKSTROKES } /* iscjkstrokes */, + { 0, 3836, 2429, 17, 20, UNI_PHLI } /* scriptextensions=inscriptionalpahlavi */, + { 1, 9488, 2409, 4, 10, UNI_INGLAGOLITIC } /* blk=glagolitic */, + { 1, 9556, 6170, 5, 11, UNI_WB__EB } /* gcb=glueafterzwj */, + { 0, 9997, 37, 3, 2, UNI_BC__EN } /* bc=en */, + { 33, 9768, 2469, 4, 20, UNI_HMNP } /* scx=nyiakengpuachuehmong */, + { 0, 184, 5817, 2, 13, UNI_ZL } /* islineseparator */, + { 13, 3904, 26, 17, 1, UNI_UIDEO } /* unifiedideograph=y */, + { 0, 9768, 2485, 4, 4, UNI_MONG } /* scx=mong */, + { 0, 5116, 0, 14, 0, UNI_emod_values_index } /* emojimodifier= */, + { 0, 10288, 1823, 8, 5, UNI_XPOSIXLOWER } /* isxposixlower */, + { 7, 9768, 7278, 4, 10, UNI_XPEO } /* scx=oldpersian */, + { 0, 9262, 495, 3, 2, UNI_SB__NU } /* sb=nu */, + { 2, 9508, 7477, 4, 9, UNI_CCC__AL } /* ccc=aboveleft */, + { 1, 8449, 9836, 7, 4, UNI_HYPHEN } /* hyphen=true */, + { 2, 3836, 9568, 17, 4, UNI_GREK } /* scriptextensions=grek */, + { 84, 10048, 8720, 3, 6, UNI_NV__400000 } /* nv=400000 */, + { 1, 1552, 7408, 9, 10, UNI_CN } /* category=unassigned */, + { 0, 7418, 0, 10, 0, UNI_upper_values_index } /* uppercase= */, + { 1, 4033, 10176, 16, 2, UNI_ZL } /* generalcategory=zl */, + { 2, 4793, 0, 15, 0, UNI_MERC } /* meroiticcursive */, + { 0, 8589, 6484, 7, 4, UNI_HUNG } /* script=hung */, + { 0, 184, 8942, 2, 6, UNI_LYDI } /* islydian */, + { 0, 3367, 3, 18, 1, -UNI__PERL_PATWS } /* patternwhitespace=f */, + { 48, 5791, 9744, 13, 4, UNI_JG__QAPH } /* joininggroup=qaph */, + { 90, 4916, 8660, 3, 6, UNI_TIBT } /* istibetan */, + { 1, 3097, 8163, 18, 8, UNI_DT__FRA } /* decompositiontype=fraction */, + { 2, 2784, 3923, 4, 7, UNI_ARABICSUP } /* inarabicsup */, + { 3, 184, 3796, 3, 3, UNI_CHAM } /* ischam */, + { 0, 4116, 1907, 3, 15, UNI_INDICNUMBERFORMS } /* isindicnumberforms */, + { 1, 3836, 2203, 17, 14, UNI_ROHG } /* scriptextensions=hanifirohingya */, + { 1, 1966, 4353, 22, 16, UNI_INSC__SYLLABLEMODIFIER } /* indicsyllabiccategory=syllablemodifier */, + { 1, 1417, 9931, 24, 3, UNI_CCC__L } /* canonicalcombiningclass=224 */, + { 1, 9488, 7099, 5, 9, UNI_BOXDRAWING } /* blk=boxdrawing */, + { 0, 8589, 8428, 7, 7, UNI_SC__GRAN } /* script=grantha */, + { 1, 9768, 8912, 4, 6, UNI_KHOJ } /* scx=khojki */, + { 5, 9488, 9065, 4, 5, UNI_INADLAM } /* blk=adlam */, + { 0, 184, 5960, 2, 13, UNI_MISCTECHNICAL } /* ismisctechnical */, + { 66, 7325, 7408, 3, 10, UNI_AGE__NA } /* in=unassigned */, + { 0, 9556, 911, 4, 1, UNI_GCB__V } /* gcb=v */, + { 0, 9275, 4305, 5, 5, UNI_INSC__OTHER } /* insc=other */, + { 1, 9600, 0, 4, 0, UNI_KALI } /* kali */, + { 0, 8852, 9255, 6, 5, -UNI_CWKCF } /* cwkcf=false */, + { 10, 10296, 9225, 7, 5, UNI_POSIXCNTRL } /* isposixcntrl */, + { 1, 7318, 9401, 10, 3, UNI_IN__3 } /* presentin=3.0 */, + { 28, 8267, 10135, 8, 3, UNI_RADICAL } /* radical=yes */, + { 0, 9768, 7513, 4, 9, UNI_BHKS } /* scx=bhaiksuki */, + { 0, 5039, 0, 6, 0, UNI_XPOSIXXDIGIT } /* xdigit */, + { 0, 9488, 5284, 4, 4, UNI_INLISU } /* blk=lisu */, + { 1, 5986, 8708, 13, 6, UNI_NV__216000 } /* numericvalue=216000 */, + { 3, 8780, 4928, 6, 8, UNI_TAMILSUP } /* block=tamilsup */, + { 16, 8780, 9335, 6, 5, UNI_INTAKRI } /* block=takri */, + { 0, 9346, 1, 4, 1, -UNI_IDC } /* idc=n */, + { 0, 2032, 3, 22, 1, -UNI__PERL_NCHAR } /* noncharactercodepoint=f */, + { 1, 6928, 0, 10, 0, UNI_SD } /* softdotted */, + { 0, 3893, 0, 11, 0, UNI_SGNW } /* signwriting */, + { 3, 8780, 4065, 6, 16, UNI_HALFANDFULLFORMS } /* block=halfandfullforms */, + { 0, 9440, 0, 4, 0, UNI_ADLM } /* adlm */, + { 1, 9262, 33, 3, 2, UNI_SB__SE } /* sb=se */, + { 0, 4628, 66, 15, 1, UNI_EA__H } /* eastasianwidth=h */, + { 66, 1988, 26, 22, 1, UNI_LOE } /* logicalorderexception=y */, + { 0, 8780, 7398, 6, 10, UNI_SUPARROWSC } /* block=suparrowsc */, + { 20, 7028, 2309, 3, 20, UNI_YIJING } /* isyijinghexagramsymbols */, + { 3, 184, 7398, 2, 10, UNI_SUPARROWSC } /* issuparrowsc */, + { 0, 9768, 8618, 5, 3, UNI_SOYO } /* scx=soyo */, + { 9, 8780, 908, 6, 10, UNI_PUA } /* block=privateuse */, + { 0, 1790, 1, 22, 1, -UNI_CWCM } /* changeswhencasemapped=n */, + { 34, 8589, 9600, 7, 4, UNI_SC__KALI } /* script=kali */, + { 16, 8372, 0, 7, 0, UNI_CJKEXTD } /* cjkextd */, + { 0, 1188, 4402, 3, 15, UNI_TANGUTSUP } /* intangutsupplement */, + { 69, 9275, 5144, 5, 14, UNI_INSC__GEMINATIONMARK } /* insc=geminationmark */, + { 6, 8780, 3169, 6, 11, UNI_ETHIOPICSUP } /* block=ethiopicsup */, + { 7, 9488, 414, 4, 32, UNI_INIDC } /* blk=ideographicdescriptioncharacters */, + { 1, 8589, 9320, 7, 5, UNI_OSGE } /* script=osage */, + { 0, 9768, 8561, 4, 7, UNI_OSMA } /* scx=osmanya */, + { 33, 8780, 5522, 6, 14, UNI_PHONETICEXTSUP } /* block=phoneticextsup */, + { 4, 10006, 1, 3, 1, -UNI_DI } /* di=n */, + { 72, 184, 2061, 2, 15, UNI_MODIFIERLETTERS } /* ismodifierletters */, + { 0, 9508, 1756, 4, 2, UNI_CCC__BR } /* ccc=br */, + { 0, 5986, 7858, 13, 2, UNI_NV__22 } /* numericvalue=22 */, + { 1, 9540, 10135, 4, 3, UNI_DIA } /* dia=yes */, + { 35, 6205, 26, 12, 1, UNI_IDEO } /* ideographic=y */, + { 4, 4146, 1947, 5, 19, UNI_EARLYDYNASTICCUNEIFORM } /* inearlydynasticcuneiform */, + { 1, 6231, 600, 3, 29, UNI_CJKEXTD } /* incjkunifiedideographsextensiond */, + { 1, 5674, 36, 13, 1, UNI_BIDIM } /* bidimirrored=t */, + { 5, 3836, 8115, 17, 8, UNI_BASS } /* scriptextensions=bassavah */, + { 0, 9508, 8082, 4, 2, UNI_CCC__19 } /* ccc=19 */, + { 3, 7325, 7469, 3, 3, UNI_IN__5 } /* in=5.0 */, + { 2, 7438, 8505, 10, 7, UNI_WB__NL } /* wordbreak=newline */, + { 1, 7218, 125, 10, 2, UNI_LB__CR } /* linebreak=cr */, + { 7, 9444, 7755, 4, 3, UNI_IN__1_DOT_1 } /* age=1.1 */, + { 78, 9488, 2836, 4, 19, UNI_MODIFIERTONELETTERS } /* blk=modifiertoneletters */, + { 1, 9488, 4289, 4, 16, UNI_MYANMAREXTB } /* blk=myanmarextendedb */, + { 2, 10296, 5040, 7, 5, UNI_POSIXDIGIT } /* isposixdigit */, + { 1, 5791, 9281, 14, 4, UNI_JG__KHAPH } /* joininggroup=khaph */, + { 0, 7325, 9856, 3, 4, UNI_IN__13 } /* in=v130 */, + { 2, 3853, 1025, 17, 2, -UNI_STERM } /* sentenceterminal=no */, + { 0, 10024, 4958, 3, 15, UNI_UPPERCASELETTER } /* gc=uppercaseletter */, + { 0, 184, 8131, 2, 8, UNI_DUPL } /* isduployan */, + { 2, 21, 3768, 2, 17, UNI_LETTERLIKESYMBOLS } /* inletterlikesymbols */, + { 7, 7325, 10084, 3, 3, UNI_IN__3_DOT_1 } /* in=v31 */, + { 0, 7155, 5219, 3, 3, UNI_HIRA } /* ishira */, + { 2, 9508, 184, 4, 2, UNI_CCC__IS } /* ccc=is */, + { 197, 1417, 8801, 24, 3, UNI_CCC__107 } /* canonicalcombiningclass=107 */, + { 68, 9768, 7288, 4, 10, UNI_SOGO } /* scx=oldsogdian */, + { 3, 184, 74, 2, 2, UNI_ME } /* isme */, + { 1, 9997, 10018, 3, 3, UNI_BC__FSI } /* bc=fsi */, + { 40, 9350, 1, 5, 1, -UNI_XIDS } /* xids=n */, + { 10, 7325, 7826, 3, 4, UNI_IN__12 } /* in=12.0 */, + { 1, 9488, 3295, 4, 9, UNI_LATINEXTA } /* blk=latinexta */, + { 124, 5986, 8720, 13, 4, UNI_NV__4000 } /* numericvalue=4000 */, + { 0, 5791, 6301, 13, 12, UNI_JG__MALAYALAMLLA } /* joininggroup=malayalamlla */, + { 4, 1631, 0, 15, 0, UNI_GEOMETRICSHAPES } /* geometricshapes */, + { 34, 1087, 0, 26, 0, UNI_PCM } /* prependedconcatenationmark */, + { 1, 1746, 5904, 22, 4, UNI_BPT__N } /* bidipairedbrackettype=none */, + { 1, 2161, 9255, 21, 5, -UNI_EXTPICT } /* extendedpictographic=false */, + { 18, 8589, 8107, 7, 4, UNI_BALI } /* script=bali */, + { 0, 8673, 0, 7, 0, UNI_UCASEXT } /* ucasext */, + { 35, 1417, 1179, 24, 2, UNI_CCC__BL } /* canonicalcombiningclass=bl */, + { 0, 8780, 5242, 6, 14, UNI_LATINEXTC } /* block=latinextendedc */, + { 1, 184, 8366, 3, 6, UNI_CJKEXTC } /* iscjkextc */, + { 0, 9305, 0, 5, 0, UNI_NSHU } /* nushu */, + { 6, 9488, 2061, 4, 4, UNI_INMODI } /* blk=modi */, + { 0, 2061, 0, 15, 0, UNI_MODIFIERLETTERS } /* modifierletters */, + { 149, 8780, 8107, 6, 8, UNI_INBALINESE } /* block=balinese */, + { 3, 4628, 8948, 15, 6, UNI_EA__NA } /* eastasianwidth=narrow */, + { 0, 7318, 7867, 10, 3, UNI_IN__3_DOT_1 } /* presentin=3.1 */, + { 128, 10024, 206, 3, 2, UNI_PI } /* gc=pi */, + { 40, 7155, 2507, 3, 3, UNI_HATR } /* ishatr */, + { 0, 10310, 8668, 4, 5, UNI_INTIRHUTA } /* intirhuta */, + { 10, 9488, 1677, 4, 14, UNI_LATINEXTA } /* blk=latinextendeda */, + { 8, 4568, 0, 15, 0, UNI_CURRENCYSYMBOLS } /* currencysymbols */, + { 16, 9768, 8123, 4, 8, UNI_BUGI } /* scx=buginese */, + { 0, 8780, 8407, 6, 7, UNI_DSRT } /* block=deseret */, + { 100, 21, 4161, 2, 16, UNI_LINEARBSYLLABARY } /* inlinearbsyllabary */, + { 23, 184, 4337, 2, 16, UNI_SUPMATHOPERATORS } /* issupmathoperators */, + { 2, 8780, 183, 6, 34, UNI_MISCPICTOGRAPHS } /* block=miscellaneoussymbolsandpictographs */, + { 0, 9556, 4360, 4, 9, UNI_WB__EB } /* gcb=emodifier */, + { 0, 8589, 9808, 7, 4, UNI_TALU } /* script=talu */, + { 3, 9488, 1218, 4, 26, UNI_KATAKANAEXT } /* blk=katakanaphoneticextensions */, + { 0, 9596, 6763, 4, 3, UNI_LB__H3 } /* hst=lvt */, + { 0, 9596, 0, 4, 0, UNI_hst_values_index } /* hst= */, + { 0, 8171, 0, 8, 0, UNI_GUJR } /* gujarati */, + { 34, 9277, 8617, 3, 4, UNI_SOYO } /* sc=soyo */, + { 1, 3259, 36, 18, 1, UNI_IDSB } /* idsbinaryoperator=t */, + { 2, 8575, 9255, 7, 5, -UNI_PATSYN } /* patsyn=false */, + { 0, 10048, 7915, 3, 8, UNI_NV__3_SLASH_80 } /* nv=3.75e-02 */, + { 104, 5778, 0, 6, 0, UNI_IPAEXT } /* ipaext */, + { 0, 3367, 1025, 18, 2, -UNI__PERL_PATWS } /* patternwhitespace=no */, + { 201, 9488, 4273, 4, 7, UNI_INMYANMAR } /* blk=myanmar */, + { 1, 349, 0, 33, 0, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* supplementalsymbolsandpictographs */, + { 251, 10126, 409, 3, 2, UNI_VO__TR } /* vo=tr */, + { 2, 2161, 36, 21, 1, UNI_EXTPICT } /* extendedpictographic=t */, + { 1, 9508, 9146, 5, 4, UNI_CCC__23 } /* ccc=ccc23 */, + { 0, 6420, 125, 3, 2, UNI_OCR } /* inocr */, + { 16, 8589, 0, 14, 0, UNI_SC__SHRD } /* script=sharada */, + { 2, 8694, 26, 7, 1, UNI_XPOSIXSPACE } /* wspace=y */, + { 195, 1417, 8042, 24, 2, UNI_CCC__18 } /* canonicalcombiningclass=18 */, + { 1, 7318, 10123, 10, 3, UNI_IN__9 } /* presentin=v90 */, + { 0, 8954, 36, 6, 1, UNI__PERL_NCHAR } /* nchar=t */, + { 5, 4628, 7486, 15, 9, UNI_EA__A } /* eastasianwidth=ambiguous */, + { 4, 184, 3241, 2, 11, UNI_GEORGIANSUP } /* isgeorgiansup */, + { 0, 2224, 3440, 3, 11, UNI_SMALLKANAEXT } /* insmallkanaext */, + { 1, 7318, 9400, 10, 4, UNI_IN__13 } /* presentin=13.0 */, + { 0, 8589, 2203, 7, 14, UNI_SC__ROHG } /* script=hanifirohingya */, + { 0, 1552, 1910, 9, 2, UNI_CN } /* category=cn */, + { 2, 184, 4554, 3, 14, UNI_CONTROLPICTURES } /* iscontrolpictures */, + { 3, 10027, 6289, 3, 12, UNI_JG__MALAYALAMBHA } /* jg=malayalambha */, + { 2, 4116, 7740, 3, 6, UNI_IDS } /* isidstart */, + { 6, 9768, 2288, 5, 6, UNI_SINH } /* scx=sinhala */, + { 16, 6241, 18, 12, 1, UNI_JT__R } /* joiningtype=r */, + { 6, 7318, 7827, 10, 3, UNI_IN__2 } /* presentin=2.0 */, + { 0, 10132, 4305, 3, 5, UNI_WB__XX } /* wb=other */, + { 4, 10048, 9961, 3, 3, UNI_NV__3_SLASH_5 } /* nv=3/5 */, + { 13, 9556, 5008, 5, 2, UNI_WB__EB } /* gcb=gaz */, + { 0, 9768, 3079, 4, 6, UNI_COPT } /* scx=coptic */, + { 0, 9768, 9612, 4, 4, UNI_KNDA } /* scx=knda */, + { 0, 9235, 9836, 5, 4, UNI_CWCM } /* cwcm=true */, + { 0, 8780, 5003, 6, 15, UNI_INZANABAZARSQUARE } /* block=zanabazarsquare */, + { 8, 5674, 0, 5, 0, UNI_BIDIM } /* bidim */, + { 7, 2161, 0, 21, 0, UNI_extpict_values_index } /* extendedpictographic= */, + { 1, 9768, 9624, 4, 3, UNI_LAO } /* scx=lao */, + { 0, 8780, 2409, 6, 10, UNI_INGLAGOLITIC } /* block=glagolitic */, + { 0, 3836, 8936, 17, 4, UNI_LYCI } /* scriptextensions=lyci */, + { 5, 4791, 4274, 3, 6, UNI_INMYANMAR } /* inmyanmar */, + { 83, 8589, 8680, 7, 7, UNI_ZZZZ } /* script=unknown */, + { 1, 9277, 2278, 4, 3, UNI_SC__KALI } /* sc=kali */, + { 3, 9488, 8477, 4, 7, UNI_INMAKASAR } /* blk=makasar */, + { 32, 4568, 0, 14, 0, UNI_SC } /* currencysymbol */, + { 0, 184, 7693, 2, 9, UNI_SAMR } /* issamaritan */, + { 2, 5986, 5648, 13, 9, UNI_NV__100000000 } /* numericvalue=100000000 */, + { 0, 184, 3026, 3, 10, UNI_CHEROKEESUP } /* ischerokeesup */, + { 3, 5718, 0, 5, 0, UNI_XPOSIXALNUM } /* alnum */, + { 32, 8780, 414, 6, 32, UNI_INIDC } /* block=ideographicdescriptioncharacters */, + { 0, 9488, 6085, 4, 12, UNI_CHESSSYMBOLS } /* blk=chesssymbols */, + { 193, 8780, 2409, 6, 13, UNI_GLAGOLITICSUP } /* block=glagoliticsup */, + { 2, 8589, 6840, 7, 11, UNI_SC__NAND } /* script=nandinagari */, + { 4, 9277, 8498, 3, 7, UNI_SC__MULT } /* sc=multani */, + { 1, 7155, 2723, 3, 18, UNI_JAMOEXTA } /* ishanguljamoextendeda */, + { 11, 184, 250, 2, 33, UNI_MISCMATHSYMBOLSA } /* ismiscellaneousmathematicalsymbolsa */, + { 0, 9488, 7675, 4, 9, UNI_PALM } /* blk=palmyrene */, + { 9, 9262, 7702, 3, 9, UNI_SB__SC } /* sb=scontinue */, + { 1, 10132, 6178, 3, 3, UNI_LB__ZWJ } /* wb=zwj */, + { 4, 8589, 4370, 8, 5, UNI_SC__SYRC } /* script=syriac */, + { 33, 9768, 8611, 5, 3, UNI_SIDD } /* scx=sidd */, + { 11, 5986, 7939, 13, 8, UNI_NV__9_SLASH_2 } /* numericvalue=4.50e+00 */, + { 0, 7158, 36, 10, 1, UNI_DIA } /* diacritic=t */, + { 1, 1552, 1, 9, 1, UNI_N } /* category=n */, + { 83, 3836, 8618, 18, 6, UNI_SOYO } /* scriptextensions=soyombo */, + { 3, 184, 5200, 2, 7, UNI_KANASUP } /* iskanasup */, + { 5, 9277, 9283, 3, 4, UNI_PHLI } /* sc=phli */, + { 96, 9275, 0, 5, 0, UNI_insc_values_index } /* insc= */, + { 0, 8428, 0, 4, 0, UNI_GRAN } /* gran */, + { 0, 9346, 9836, 4, 4, UNI_IDC } /* idc=true */, + { 2, 3836, 9624, 17, 3, UNI_LAO } /* scriptextensions=lao */, + { 0, 21, 1218, 2, 26, UNI_KATAKANAEXT } /* inkatakanaphoneticextensions */, + { 17, 2161, 1025, 21, 2, -UNI_EXTPICT } /* extendedpictographic=no */, + { 0, 8780, 1218, 6, 26, UNI_KATAKANAEXT } /* block=katakanaphoneticextensions */, + { 12, 9768, 2913, 5, 3, UNI_SUND } /* scx=sund */, + { 0, 184, 1269, 2, 24, UNI_COMPEX } /* isfullcompositionexclusion */, + { 1, 10048, 7827, 3, 8, UNI_NV__1_SLASH_5 } /* nv=2.00e-01 */, + { 3, 9488, 6277, 4, 12, UNI_MAHJONG } /* blk=mahjongtiles */, + { 352, 9262, 495, 3, 7, UNI_SB__NU } /* sb=numeric */, + { 1, 10296, 9725, 3, 3, UNI_PHNX } /* isphnx */, + { 2, 8780, 7495, 6, 9, UNI_ARABICPFA } /* block=arabicpfa */, + { 0, 6805, 0, 13, 0, UNI_MISCSYMBOLS } /* inmiscsymbols */, + { 0, 9716, 0, 3, 0, UNI_PCM } /* pcm */, + { 258, 9277, 3598, 3, 17, UNI_AGHB } /* sc=caucasianalbanian */, + { 4, 8768, 26, 6, 1, UNI_BIDIC } /* bidic=y */, + { 2, 8780, 9095, 6, 5, UNI_INBUHID } /* block=buhid */, + { 1, 8393, 0, 7, 0, UNI_CJKEXTG } /* cjkextg */, + { 3, 117, 415, 3, 31, UNI_INIDC } /* inideographicdescriptioncharacters */, + { 0, 1417, 6631, 24, 11, UNI_CCC__DA } /* canonicalcombiningclass=doubleabove */, + { 80, 9265, 1, 5, 1, -UNI_IDST } /* idst=n */, + { 63, 9488, 3115, 4, 10, UNI_INDEVANAGARI } /* blk=devanagari */, + { 0, 2224, 4370, 3, 5, UNI_INSYRIAC } /* insyriac */, + { 0, 6205, 3, 12, 1, -UNI_IDEO } /* ideographic=f */, + { 37, 184, 9660, 2, 4, UNI_MLYM } /* ismlym */, + { 1, 5791, 4748, 13, 15, UNI_JG__MANICHAEANGIMEL } /* joininggroup=manichaeangimel */, + { 1, 184, 5592, 2, 14, UNI_ZS } /* isspaceseparator */, + { 9, 6554, 3, 11, 1, -UNI_IDC } /* idcontinue=f */, + { 3, 5986, 7778, 13, 2, UNI_NV__21 } /* numericvalue=21 */, + { 2, 9508, 7858, 4, 3, UNI_CCC__B } /* ccc=220 */, + { 0, 1900, 0, 6, 0, UNI_ZYYY } /* common */, + { 25, 3836, 9452, 17, 4, UNI_AHOM } /* scriptextensions=ahom */, + { 0, 9508, 9136, 5, 4, UNI_CCC__21 } /* ccc=ccc21 */, + { 0, 2529, 0, 20, 0, UNI_term_values_index } /* terminalpunctuation= */, + { 1, 8768, 9836, 6, 4, UNI_BIDIC } /* bidic=true */, + { 0, 8780, 3785, 6, 10, UNI_INMANICHAEAN } /* block=manichaean */, + { 8, 10333, 8625, 3, 6, UNI_SUPPUAA } /* issuppuaa */, + { 256, 10024, 112, 3, 2, UNI_SC } /* gc=sc */, + { 4, 9508, 8042, 4, 2, UNI_CCC__18 } /* ccc=18 */, + { 177, 10048, 8067, 3, 8, UNI_NV__17_SLASH_2 } /* nv=8.50e+00 */, + { 96, 9768, 8638, 4, 7, UNI_TGLG } /* scx=tagalog */, + { 0, 4791, 2856, 3, 8, UNI_INMONGOLIAN } /* inmongolian */, + { 0, 8688, 9477, 3, 3, UNI_AVST } /* isavst */, + { 11, 9488, 8498, 4, 7, UNI_INMULTANI } /* blk=multani */, + { 42, 6231, 630, 3, 29, UNI_CJKEXTE } /* incjkunifiedideographsextensione */, + { 2, 6231, 1061, 4, 4, UNI_INCOPTIC } /* incoptic */, + { 1, 7325, 10081, 3, 3, UNI_IN__3 } /* in=v30 */, + { 5, 1552, 908, 9, 10, UNI_CO } /* category=privateuse */, + { 0, 1591, 8422, 3, 6, UNI_INELYMAIC } /* inelymaic */, + { 64, 9275, 9300, 5, 5, UNI_INSC__NUKTA } /* insc=nukta */, + { 5, 3836, 9460, 17, 4, UNI_ARMI } /* scriptextensions=armi */, + { 0, 8688, 9449, 3, 3, UNI_AGHB } /* isaghb */, + { 0, 3097, 3501, 18, 3, UNI_DT__MED } /* decompositiontype=med */, + { 0, 184, 8123, 2, 4, UNI_BUGI } /* isbugi */, + { 8, 9014, 10135, 6, 3, UNI_UIDEO } /* uideo=yes */, + { 5, 9536, 3, 4, 1, -UNI_DEP } /* dep=f */, + { 2, 8589, 9888, 7, 4, UNI_ZANB } /* script=zanb */, + { 9, 10048, 8732, 3, 3, UNI_NV__500 } /* nv=500 */, + { 1, 184, 8870, 2, 5, UNI_EPRES } /* isepres */, + { 0, 9277, 8477, 3, 7, UNI_MAKA } /* sc=makasar */, + { 10, 3382, 1025, 3, 2, -UNI_CE } /* ce=no */, + { 10, 5324, 480, 4, 29, UNI_MATHALPHANUM } /* inmathematicalalphanumericsymbols */, + { 1, 10033, 5999, 3, 13, UNI_LB__PR } /* lb=prefixnumeric */, + { 1, 2779, 0, 18, 0, UNI_IDST } /* idstrinaryoperator */, + { 0, 4033, 5726, 16, 13, UNI_ME } /* generalcategory=enclosingmark */, + { 0, 10027, 5364, 3, 4, UNI_JG__HETH } /* jg=heth */, + { 0, 1979, 6266, 10, 11, UNI_NL } /* category=letternumber */, + { 3, 9488, 2665, 4, 19, UNI_COUNTINGROD } /* blk=countingrodnumerals */, + { 208, 8780, 7188, 6, 10, UNI_INKHAROSHTHI } /* block=kharoshthi */, + { 84, 184, 8359, 3, 6, UNI_CJKEXTB } /* iscjkextb */, + { 0, 9768, 2203, 4, 4, UNI_HAN } /* scx=hani */, + { 0, 2182, 1087, 21, 7, UNI_GCB__PP } /* graphemeclusterbreak=prepend */, + { 288, 2409, 0, 20, 0, UNI_GLAGOLITICSUP } /* glagoliticsupplement */, + { 256, 9488, 2912, 4, 12, UNI_SUNDANESESUP } /* blk=sundanesesup */, + { 0, 8780, 4703, 6, 15, UNI_INIMPERIALARAMAIC } /* block=imperialaramaic */, + { 6, 9014, 3, 6, 1, -UNI_UIDEO } /* uideo=f */, + { 0, 7218, 1186, 10, 2, UNI_LB__PO } /* linebreak=po */, + { 0, 7438, 6169, 10, 12, UNI_WB__EB } /* wordbreak=glueafterzwj */, + { 0, 184, 6181, 2, 12, UNI_GONG } /* isgunjalagondi */, + { 1, 10033, 34, 3, 2, UNI_LB__EX } /* lb=ex */, + { 2, 2280, 6874, 3, 10, UNI_SO } /* isothersymbol */, + { 1, 9277, 3115, 3, 4, UNI_SC__DEVA } /* sc=deva */, + { 0, 9488, 6505, 4, 12, UNI_PHAISTOS } /* blk=phaistosdisc */, + { 176, 8780, 5228, 6, 14, UNI_LATINEXTB } /* block=latinextendedb */, + { 25, 2533, 6028, 5, 9, UNI_ALPHABETICPF } /* inalphabeticpf */, + { 5, 9997, 2509, 3, 11, UNI_BC__R } /* bc=righttoleft */, + { 0, 8780, 7288, 6, 10, UNI_INOLDSOGDIAN } /* block=oldsogdian */, + { 186, 9277, 8131, 3, 8, UNI_SC__DUPL } /* sc=duployan */, + { 45, 1673, 0, 4, 0, UNI_JAMO } /* jamo */, + { 66, 6061, 0, 12, 0, UNI_bidic_values_index } /* bidicontrol= */, + { 0, 8589, 9038, 7, 6, UNI_SC__YEZI } /* script=yezidi */, + { 0, 1856, 3, 22, 1, -UNI_CWU } /* changeswhenuppercased=f */, + { 256, 10183, 7438, 4, 4, UNI_POSIXWORD } /* perlword */, + { 1, 9070, 3, 5, 1, -UNI_POSIXXDIGIT } /* ahex=f */, + { 0, 9277, 8596, 3, 7, UNI_SC__SHRD } /* sc=sharada */, + { 3, 5986, 0, 13, 0, UNI_nv_values_index } /* numericvalue= */, + { 3, 184, 8243, 2, 8, UNI_MAHJ } /* ismahajani */, + { 0, 9240, 26, 5, 1, UNI_DASH } /* dash=y */, + { 4, 3025, 0, 11, 0, UNI_CHEROKEESUP } /* cherokeesup */, + { 2, 6420, 4884, 3, 14, UNI_SARB } /* inoldsoutharabian */, + { 1, 9262, 72, 3, 2, UNI_SB__LE } /* sb=le */, + { 0, 9520, 0, 4, 0, UNI_cwl_values_index } /* cwl= */, + { 2, 7325, 7806, 3, 1, UNI_IN__6 } /* in=6 */, + { 2, 1417, 9922, 24, 3, UNI_CCC__214 } /* canonicalcombiningclass=214 */, + { 0, 3836, 9283, 17, 4, UNI_PHLI } /* scriptextensions=phli */, + { 0, 4916, 47, 5, 1, UNI_TERM } /* isterm */, + { 104, 7318, 9388, 10, 4, UNI_IN__11 } /* presentin=11.0 */, + { 0, 1417, 8082, 24, 2, UNI_CCC__19 } /* canonicalcombiningclass=19 */, + { 0, 2182, 911, 21, 1, UNI_GCB__V } /* graphemeclusterbreak=v */, + { 1, 262, 0, 2, 0, UNI_SM } /* sm */, + { 98, 1552, 5494, 9, 14, UNI_MN } /* category=nonspacingmark */, + { 1, 184, 1222, 2, 4, UNI_KANA } /* iskana */, + { 1, 5986, 7469, 13, 8, UNI_NV__1_SLASH_2 } /* numericvalue=5.00e-01 */, + { 57, 8780, 8624, 6, 7, UNI_SUPPUAA } /* block=suppuaa */, + { 3, 21, 5019, 3, 13, UNI_ANCIENTSYMBOLS } /* inancientsymbols */, + { 0, 3836, 4928, 17, 5, UNI_TAML } /* scriptextensions=tamil */, + { 0, 1552, 45, 9, 2, UNI_CO } /* category=co */, + { 3, 9444, 9388, 4, 4, UNI_AGE__11 } /* age=11.0 */, + { 1, 4161, 0, 16, 0, UNI_LINEARBSYLLABARY } /* linearbsyllabary */, + { 0, 9768, 2245, 4, 11, UNI_MTEI } /* scx=meeteimayek */, + { 3, 10024, 4305, 3, 5, UNI_C } /* gc=other */, + { 1, 1768, 1, 22, 1, -UNI_CWCF } /* changeswhencasefolded=n */, + { 2, 5752, 0, 8, 0, UNI_GREEKEXT } /* greekext */, + { 34, 9768, 8477, 4, 4, UNI_MAKA } /* scx=maka */, + { 2, 10048, 9958, 3, 3, UNI_NV__3_SLASH_4 } /* nv=3/4 */, + { 20, 184, 749, 2, 16, UNI_ENCLOSEDALPHANUM } /* isenclosedalphanum */, + { 0, 9488, 9320, 4, 5, UNI_INOSAGE } /* blk=osage */, + { 0, 8227, 0, 8, 0, UNI_KANAEXTA } /* kanaexta */, + { 22, 4448, 0, 8, 0, UNI_BAMUMSUP } /* bamumsup */, + { 65, 3836, 8888, 17, 6, UNI_HATR } /* scriptextensions=hatran */, + { 0, 3904, 9255, 17, 5, -UNI_UIDEO } /* unifiedideograph=false */, + { 3, 9444, 9840, 4, 4, UNI_AGE__10 } /* age=v100 */, + { 36, 3836, 9548, 17, 4, UNI_DSRT } /* scriptextensions=dsrt */, + { 128, 10048, 7795, 3, 8, UNI_NV__3_SLASH_20 } /* nv=1.50e-01 */, + { 11, 3529, 1025, 18, 2, -UNI_VS } /* variationselector=no */, + { 0, 3768, 0, 17, 0, UNI_LETTERLIKESYMBOLS } /* letterlikesymbols */, + { 40, 8400, 3, 7, 1, -UNI_COMPEX } /* compex=f */, + { 0, 184, 3751, 2, 17, UNI_KITS } /* iskhitansmallscript */, + { 0, 9488, 1654, 4, 23, UNI_COMPATJAMO } /* blk=hangulcompatibilityjamo */, + { 1, 10027, 3819, 3, 17, UNI_JG__MANICHAEANTHAMEDH } /* jg=manichaeanthamedh */, + { 0, 414, 0, 11, 0, UNI_IDEO } /* ideographic */, + { 16, 184, 4448, 2, 5, UNI_BAMU } /* isbamum */, + { 259, 10048, 7859, 3, 5, UNI_NV__20000 } /* nv=20000 */, + { 1, 1966, 7639, 22, 9, UNI_INSC__NONJOINER } /* indicsyllabiccategory=nonjoiner */, + { 0, 9488, 1218, 4, 8, UNI_INKATAKANA } /* blk=katakana */, + { 288, 1591, 3170, 3, 10, UNI_ETHIOPICSUP } /* inethiopicsup */, + { 9, 8780, 4049, 6, 11, UNI_GEORGIANEXT } /* block=georgianext */, + { 4, 9768, 8470, 4, 7, UNI_LINA } /* scx=lineara */, + { 1, 3097, 2569, 18, 8, UNI_DT__VERT } /* decompositiontype=vertical */, + { 2, 3133, 9255, 18, 5, -UNI_EBASE } /* emojimodifierbase=false */, + { 4, 7325, 10117, 3, 3, UNI_IN__7 } /* in=v70 */, + { 6, 4033, 1, 16, 1, UNI_N } /* generalcategory=n */, + { 296, 9556, 36, 4, 1, UNI_GCB__T } /* gcb=t */, + { 0, 1552, 47, 9, 1, UNI_M } /* category=m */, + { 1, 5791, 9772, 13, 4, UNI_JG__SEEN } /* joininggroup=seen */, + { 1, 9270, 3475, 5, 18, UNI_INPC__TOPANDLEFTANDRIGHT } /* inpc=topandleftandright */, + { 33, 9532, 0, 4, 0, UNI_CYRL } /* cyrl */, + { 2, 1087, 10135, 27, 3, UNI_PCM } /* prependedconcatenationmark=yes */, + { 1, 7318, 9384, 10, 4, UNI_IN__10 } /* presentin=10.0 */, + { 0, 5986, 7950, 13, 1, UNI_NV__9 } /* numericvalue=9 */, + { 1, 4116, 2780, 3, 17, UNI_IDST } /* isidstrinaryoperator */, + { 49, 9768, 8888, 4, 4, UNI_HATR } /* scx=hatr */, + { 0, 4116, 59, 3, 3, UNI_IDEO } /* isideo */, + { 0, 9488, 951, 4, 18, UNI_INVS } /* blk=variationselectors */, + { 289, 3385, 0, 17, 0, UNI_RI } /* regionalindicator */, + { 1, 8780, 7378, 6, 10, UNI_SUPARROWSA } /* block=suparrowsa */, + { 8, 7088, 25, 10, 1, UNI_BC__S } /* bidiclass=s */, + { 1, 1552, 38, 9, 2, UNI_XPOSIXDIGIT } /* category=nd */, + { 65, 4448, 0, 4, 0, UNI_BAMU } /* bamu */, + { 0, 7438, 495, 10, 2, UNI_WB__NU } /* wordbreak=nu */, + { 1, 5324, 5845, 4, 7, UNI_INMALAYALAM } /* inmalayalam */, + { 18, 9488, 1922, 4, 22, UNI_DIACRITICALSFORSYMBOLS } /* blk=diacriticalsforsymbols */, + { 3, 3785, 0, 10, 0, UNI_MANI } /* manichaean */, + { 98, 6231, 150, 4, 33, UNI_DIACRITICALSSUP } /* incombiningdiacriticalmarkssupplement */, + { 10, 1273, 9836, 21, 4, UNI_CE } /* compositionexclusion=true */, + { 1, 6481, 0, 12, 0, UNI_HUNG } /* oldhungarian */, + { 0, 8386, 0, 7, 0, UNI_CJKEXTF } /* cjkextf */, + { 4, 3385, 1025, 18, 2, -UNI_RI } /* regionalindicator=no */, + { 16, 2224, 2288, 3, 6, UNI_INSINHALA } /* insinhala */, + { 0, 8589, 6409, 7, 12, UNI_MEND } /* script=mendekikakui */, + { 1, 4989, 1868, 3, 8, UNI_XPOSIXUPPER } /* isuppercase */, + { 0, 5791, 2223, 13, 3, UNI_JG__AIN } /* joininggroup=ain */, + { 197, 8780, 328, 6, 21, UNI_MATHOPERATORS } /* block=mathematicaloperators */, + { 0, 6420, 8548, 3, 6, UNI_OLCK } /* inolchiki */, + { 0, 9488, 8345, 5, 6, UNI_INBENGALI } /* blk=bengali */, + { 0, 9488, 4553, 4, 15, UNI_CONTROLPICTURES } /* blk=controlpictures */, + { 130, 184, 7378, 2, 10, UNI_SUPARROWSA } /* issuparrowsa */, + { 4, 10048, 8750, 3, 5, UNI_NV__80000 } /* nv=80000 */, + { 17, 9488, 7666, 4, 9, UNI_INOLDTURKIC } /* blk=oldturkic */, + { 5, 3836, 8582, 17, 7, UNI_PHAG } /* scriptextensions=phagspa */, + { 2, 1552, 133, 9, 4, UNI_M } /* category=mark */, + { 1, 5986, 7859, 13, 2, UNI_NV__20 } /* numericvalue=20 */, + { 32, 9776, 0, 4, 0, UNI_SGNW } /* sgnw */, + { 1, 8780, 4337, 6, 16, UNI_SUPMATHOPERATORS } /* block=supmathoperators */, + { 0, 6231, 660, 3, 29, UNI_CJKEXTF } /* incjkunifiedideographsextensionf */, + { 0, 9508, 9131, 5, 4, UNI_CCC__20 } /* ccc=ccc20 */, + { 0, 7428, 0, 10, 0, UNI_WARA } /* warangciti */, + { 0, 7438, 6653, 10, 11, UNI_WB__DQ } /* wordbreak=doublequote */, + { 1, 250, 0, 33, 0, UNI_MISCMATHSYMBOLSA } /* miscellaneousmathematicalsymbolsa */, + { 0, 3367, 10135, 18, 3, UNI__PERL_PATWS } /* patternwhitespace=yes */, + { 21, 9277, 2329, 3, 20, UNI_HLUW } /* sc=anatolianhieroglyphs */, + { 3, 1033, 0, 27, 0, UNI_ENCLOSEDCJK } /* enclosedcjklettersandmonths */, + { 3, 9768, 9584, 4, 4, UNI_HLUW } /* scx=hluw */, + { 35, 6231, 8359, 3, 6, UNI_CJKEXTB } /* incjkextb */, + { 0, 7325, 9970, 3, 3, UNI_IN__5_DOT_2 } /* in=5.2 */, + { 1, 8512, 26, 7, 1, UNI_NFKCQC__Y } /* nfkcqc=y */, + { 0, 8589, 9325, 7, 5, UNI_RUNR } /* script=runic */, + { 0, 3836, 9095, 17, 5, UNI_BUHD } /* scriptextensions=buhid */, + { 0, 9488, 2912, 4, 19, UNI_SUNDANESESUP } /* blk=sundanesesupplement */, + { 1, 184, 8984, 2, 5, UNI_QMARK } /* isqmark */, + { 1, 10170, 0, 2, 0, UNI_CASEDLETTER } /* l_ */, + { 0, 4033, 8855, 16, 2, UNI_CF } /* generalcategory=cf */, + { 1, 10290, 9225, 6, 5, UNI_XPOSIXCNTRL } /* xposixcntrl */, + { 18, 9488, 1013, 4, 5, UNI_INGREEK } /* blk=greek */, + { 64, 9488, 3025, 4, 11, UNI_CHEROKEESUP } /* blk=cherokeesup */, + { 0, 2560, 0, 4, 0, UNI_MAND } /* mand */, + { 3, 9270, 7298, 5, 10, UNI_INPC__OVERSTRUCK } /* inpc=overstruck */, + { 0, 9277, 9860, 3, 4, UNI_VAI } /* sc=vaii */, + { 97, 3836, 9480, 17, 4, UNI_BATK } /* scriptextensions=batk */, + { 12, 9488, 9452, 4, 4, UNI_INAHOM } /* blk=ahom */, + { 0, 9277, 3169, 3, 4, UNI_ETHI } /* sc=ethi */, + { 47, 184, 10180, 2, 2, UNI_ZS } /* iszs */, + { 0, 5171, 0, 4, 0, UNI_CHAM } /* cham */, + { 4, 5674, 1025, 13, 2, -UNI_BIDIM } /* bidimirrored=no */, + { 19, 2684, 0, 19, 0, UNI_EGYP } /* egyptianhieroglyphs */, + { 0, 10009, 3439, 3, 5, UNI_DT__SML } /* dt=small */, + { 1, 8780, 9285, 6, 5, UNI_INLIMBU } /* block=limbu */, + { 0, 9596, 7238, 4, 10, UNI_LB__H2 } /* hst=lvsyllable */, + { 5, 7318, 9397, 10, 3, UNI_IN__2_DOT_1 } /* presentin=2.1 */, + { 36, 6229, 10135, 12, 3, UNI_JOINC } /* joincontrol=yes */, + { 130, 9768, 3894, 5, 10, UNI_SGNW } /* scx=signwriting */, + { 6, 3717, 0, 17, 0, UNI_identifierstatus_values_index } /* identifierstatus= */, + { 112, 8589, 6253, 7, 5, UNI_KHMR } /* script=khmer */, + { 2, 8780, 2329, 6, 20, UNI_INANATOLIANHIEROGLYPHS } /* block=anatolianhieroglyphs */, + { 0, 1273, 0, 21, 0, UNI_ce_values_index } /* compositionexclusion= */, + { 1, 10024, 1186, 3, 2, UNI_PO } /* gc=po */, + { 4, 9488, 8659, 4, 7, UNI_INTIBETAN } /* blk=tibetan */, + { 394, 5674, 9255, 13, 5, -UNI_BIDIM } /* bidimirrored=false */, + { 22, 9488, 5242, 4, 14, UNI_LATINEXTC } /* blk=latinextendedc */, + { 1, 8780, 1677, 6, 14, UNI_LATINEXTA } /* block=latinextendeda */, + { 0, 184, 8380, 3, 6, UNI_CJKEXTE } /* iscjkexte */, + { 0, 9488, 2855, 4, 19, UNI_MONGOLIANSUP } /* blk=mongoliansupplement */, + { 0, 3052, 0, 9, 0, UNI_HALFMARKS } /* halfmarks */, + { 0, 8780, 1944, 6, 22, UNI_EARLYDYNASTICCUNEIFORM } /* block=earlydynasticcuneiform */, + { 0, 8780, 9008, 6, 6, UNI_INTHAANA } /* block=thaana */, + { 6, 8884, 3, 4, 1, -UNI_EXT } /* ext=f */, + { 2, 184, 1988, 2, 21, UNI_LOE } /* islogicalorderexception */, + { 0, 5986, 8738, 13, 5, UNI_NV__60000 } /* numericvalue=60000 */, + { 0, 21, 3549, 4, 15, UNI_ALCHEMICAL } /* inalchemicalsymbols */, + { 2, 5986, 7867, 13, 8, UNI_NV__1_SLASH_32 } /* numericvalue=3.12e-02 */, + { 0, 5986, 7971, 13, 8, UNI_NV__7_SLASH_12 } /* numericvalue=5.83e-01 */, + { 0, 5508, 36, 14, 1, UNI_PATSYN } /* patternsyntax=t */, + { 0, 5739, 9836, 13, 4, UNI_GRBASE } /* graphemebase=true */, + { 0, 2182, 18, 21, 2, UNI_RI } /* graphemeclusterbreak=ri */, + { 4, 4033, 6862, 16, 11, UNI_NO } /* generalcategory=othernumber */, + { 0, 8780, 5778, 6, 13, UNI_IPAEXT } /* block=ipaextensions */, + { 0, 9768, 9712, 4, 4, UNI_OSGE } /* scx=osge */, + { 0, 9262, 1194, 3, 2, UNI_LB__LF } /* sb=lf */, + { 182, 2218, 9306, 3, 4, UNI_INNUSHU } /* innushu */, + { 0, 117, 2431, 4, 18, UNI_ININSCRIPTIONALPAHLAVI } /* ininscriptionalpahlavi */, + { 0, 3836, 1628, 17, 4, UNI_PHAG } /* scriptextensions=phag */, + { 2, 5284, 0, 7, 0, UNI_LISUSUP } /* lisusup */, + { 0, 7325, 7814, 3, 1, UNI_IN__7 } /* in=7 */, + { 1, 9997, 10036, 3, 3, UNI_BC__LRE } /* bc=lre */, + { 10, 6231, 2141, 3, 17, UNI_CYRILLICSUP } /* incyrillicsupplement */, + { 0, 8780, 9800, 6, 4, UNI_TAGS } /* block=tags */, + { 56, 10048, 8714, 3, 4, UNI_NV__3000 } /* nv=3000 */, + { 0, 8780, 3439, 6, 12, UNI_SMALLKANAEXT } /* block=smallkanaext */, + { 0, 1591, 3684, 3, 10, UNI_ETHIOPICEXT } /* inethiopicext */, + { 0, 7318, 10081, 10, 3, UNI_IN__3 } /* presentin=v30 */, + { 3, 10009, 7, 3, 3, UNI_DT__CAN } /* dt=can */, + { 0, 5791, 5424, 13, 14, UNI_JG__MANICHAEANYODH } /* joininggroup=manichaeanyodh */, + { 3, 1188, 2297, 3, 3, UNI_INTHAI } /* inthai */, + { 0, 8589, 6940, 8, 10, UNI_SORA } /* script=sorasompeng */, + { 0, 9277, 7191, 6, 7, UNI_KHAR } /* sc=kharoshthi */, + { 20, 184, 9513, 3, 3, UNI_CHRS } /* ischrs */, + { 0, 8780, 5687, 6, 13, UNI_BLOCKELEMENTS } /* block=blockelements */, + { 5, 1552, 6851, 9, 11, UNI_LO } /* category=otherletter */, + { 0, 9488, 3241, 4, 18, UNI_GEORGIANSUP } /* blk=georgiansupplement */, + { 11, 3836, 9684, 17, 4, UNI_NEWA } /* scriptextensions=newa */, + { 0, 9524, 3, 4, 1, -UNI_CWT } /* cwt=f */, + { 2, 9488, 8924, 4, 6, UNI_INLEPCHA } /* blk=lepcha */, + { 32, 1441, 0, 10, 0, UNI_CJKSYMBOLS } /* cjksymbols */, + { 0, 6420, 7289, 3, 9, UNI_INOLDSOGDIAN } /* inoldsogdian */, + { 1, 7438, 495, 10, 7, UNI_WB__NU } /* wordbreak=numeric */, + { 0, 8589, 5550, 7, 14, UNI_SC__PHLP } /* script=psalterpahlavi */, + { 3, 10048, 7755, 3, 8, UNI_NV__1_SLASH_9 } /* nv=1.11e-01 */, + { 0, 8589, 9828, 7, 4, UNI_THAI } /* script=thai */, + { 2, 10033, 6217, 3, 12, UNI_LB__IS } /* lb=infixnumeric */, + { 0, 8852, 26, 6, 1, UNI_CWKCF } /* cwkcf=y */, + { 3, 184, 2409, 2, 4, UNI_GLAG } /* isglag */, + { 2, 6061, 0, 5, 0, UNI_BIDIC } /* bidic */, + { 85, 5578, 72, 14, 2, UNI_SB__LE } /* sentencebreak=le */, + { 162, 1966, 1489, 22, 24, UNI_INSC__CONSONANTSUCCEEDINGREPHA } /* indicsyllabiccategory=consonantsucceedingrepha */, + { 0, 3836, 9664, 17, 3, UNI_MRO } /* scriptextensions=mro */, + { 0, 5986, 5648, 13, 8, UNI_NV__10000000 } /* numericvalue=10000000 */, + { 0, 184, 5075, 3, 13, UNI_CJKCOMPATFORMS } /* iscjkcompatforms */, + { 0, 10033, 7108, 3, 10, UNI_LB__BA } /* lb=breakafter */, + { 0, 2182, 4360, 21, 9, UNI_WB__EB } /* graphemeclusterbreak=emodifier */, + { 21, 6231, 1442, 3, 23, UNI_CJKSYMBOLS } /* incjksymbolsandpunctuation */, + { 35, 6873, 0, 11, 0, UNI_SO } /* othersymbol */, + { 0, 8589, 9860, 7, 3, UNI_VAI } /* script=vai */, + { 0, 8688, 6026, 3, 11, UNI_ALPHABETICPF } /* isalphabeticpf */, + { 0, 9277, 8457, 4, 6, UNI_SC__KNDA } /* sc=kannada */, + { 38, 6805, 5176, 4, 2, UNI_INMIAO } /* inmiao */, + { 8, 9768, 8888, 4, 6, UNI_HATR } /* scx=hatran */, + { 0, 184, 749, 2, 21, UNI_ENCLOSEDALPHANUM } /* isenclosedalphanumerics */, + { 0, 8589, 9315, 7, 5, UNI_SC__ORYA } /* script=oriya */, + { 133, 7438, 5012, 10, 2, UNI_WB__SQ } /* wordbreak=sq */, + { 0, 9275, 9026, 5, 6, UNI_INSC__VIRAMA } /* insc=virama */, + { 2, 4973, 0, 8, 0, UNI_VEDICEXT } /* vedicext */, + { 52, 74, 0, 2, 0, UNI_ME } /* me */, + { 26, 1979, 0, 10, 0, UNI_L } /* category=l */, + { 0, 5986, 9060, 13, 5, UNI_NV__11_SLASH_12 } /* numericvalue=11/12 */, + { 1, 8589, 8219, 7, 4, UNI_SC__JAVA } /* script=java */, + { 0, 4033, 47, 16, 1, UNI_M } /* generalcategory=m */, + { 6, 10048, 7787, 3, 8, UNI_NV__3_SLASH_2 } /* nv=1.50e+00 */, + { 1, 1966, 4113, 22, 16, UNI_INSC__INVISIBLESTACKER } /* indicsyllabiccategory=invisiblestacker */, + { 1, 4033, 4943, 16, 15, UNI_TITLE } /* generalcategory=titlecaseletter */, + { 0, 8589, 6840, 7, 4, UNI_SC__NAND } /* script=nand */, + { 1, 10060, 10135, 3, 3, UNI_RI } /* ri=yes */, + { 256, 9488, 78, 4, 35, UNI_ARABICMATH } /* blk=arabicmathematicalalphabeticsymbols */, + { 0, 9716, 10135, 4, 3, UNI_PCM } /* pcm=yes */, + { 6, 9768, 9285, 4, 5, UNI_LIMB } /* scx=limbu */, + { 1, 9768, 8484, 4, 7, UNI_MAND } /* scx=mandaic */, + { 5, 3836, 1013, 17, 5, UNI_GREK } /* scriptextensions=greek */, + { 6, 7325, 10087, 3, 3, UNI_IN__3_DOT_2 } /* in=v32 */, + { 0, 5324, 4342, 4, 11, UNI_MATHOPERATORS } /* inmathoperators */, + { 1, 4001, 0, 16, 0, UNI_CYPRIOTSYLLABARY } /* cypriotsyllabary */, + { 0, 8299, 0, 8, 0, UNI_TFNG } /* tifinagh */, + { 196, 2288, 1656, 4, 4, UNI_INHANGUL } /* inhangul */, + { 2, 5986, 7821, 13, 1, UNI_NV__8 } /* numericvalue=8 */, + { 64, 184, 7428, 2, 10, UNI_WARA } /* iswarangciti */, + { 1, 3836, 6409, 17, 12, UNI_MEND } /* scriptextensions=mendekikakui */, + { 3, 5986, 8744, 13, 5, UNI_NV__70000 } /* numericvalue=70000 */, + { 1, 9488, 4129, 4, 9, UNI_LATIN1 } /* blk=latin1sup */, + { 0, 7088, 18, 10, 1, UNI_BC__R } /* bidiclass=r */, + { 0, 6231, 8366, 3, 6, UNI_CJKEXTC } /* incjkextc */, + { 2, 183, 0, 34, 0, UNI_MISCPICTOGRAPHS } /* miscellaneoussymbolsandpictographs */, + { 0, 2280, 6863, 3, 10, UNI_NO } /* isothernumber */, + { 0, 9528, 36, 4, 1, UNI_CWU } /* cwu=t */, + { 265, 8589, 8900, 7, 6, UNI_SC__KTHI } /* script=kaithi */, + { 46, 6231, 43, 3, 15, UNI_CJKCOMPAT } /* incjkcompatibility */, + { 0, 9277, 8484, 3, 7, UNI_SC__MAND } /* sc=mandaic */, + { 4, 184, 9624, 2, 4, UNI_LAO } /* islaoo */, + { 3, 3836, 9692, 17, 4, UNI_NSHU } /* scriptextensions=nshu */, + { 1, 3151, 36, 18, 1, UNI_EPRES } /* emojipresentation=t */, + { 58, 3836, 7292, 18, 3, UNI_SOGD } /* scriptextensions=sogd */, + { 81, 9488, 8561, 4, 7, UNI_INOSMANYA } /* blk=osmanya */, + { 3, 21, 8990, 2, 6, UNI_INREJANG } /* inrejang */, + { 32, 7088, 10039, 10, 3, UNI_BC__LRI } /* bidiclass=lri */, + { 4, 10024, 1563, 3, 2, UNI_PS } /* gc=ps */, + { 1, 3836, 8680, 17, 7, UNI_ZZZZ } /* scriptextensions=unknown */, + { 1, 9768, 9672, 4, 4, UNI_MYMR } /* scx=mymr */, + { 0, 9071, 26, 4, 1, UNI_XPOSIXXDIGIT } /* hex=y */, + { 0, 5986, 9168, 13, 2, UNI_NV__27 } /* numericvalue=27 */, + { 0, 10033, 495, 3, 2, UNI_LB__NU } /* lb=nu */, + { 31, 8780, 2722, 6, 19, UNI_JAMOEXTA } /* block=hanguljamoextendeda */, + { 1, 184, 8414, 2, 4, UNI_ELBA } /* iselba */, + { 99, 2784, 80, 4, 33, UNI_ARABICMATH } /* inarabicmathematicalalphabeticsymbols */, + { 0, 6277, 0, 4, 0, UNI_MAHJ } /* mahj */, + { 35, 117, 3736, 4, 15, UNI_INDICSIYAQNUMBERS } /* inindicsiyaqnumbers */, + { 1, 8589, 9330, 7, 5, UNI_SC__TALE } /* script=taile */, + { 0, 9277, 9085, 3, 5, UNI_BATK } /* sc=batak */, + { 0, 9488, 4928, 4, 5, UNI_INTAMIL } /* blk=tamil */, + { 49, 3341, 0, 8, 0, UNI_DINGBATS } /* dingbats */, + { 0, 9488, 2665, 4, 11, UNI_COUNTINGROD } /* blk=countingrod */, + { 35, 4033, 0, 16, 0, UNI_gc_values_index } /* generalcategory= */, + { 4, 1114, 1, 26, 1, -UNI_CWKCF } /* changeswhennfkccasefolded=n */, + { 7, 6231, 690, 3, 29, UNI_CJKEXTG } /* incjkunifiedideographsextensiong */, + { 3, 7438, 18, 10, 2, UNI_RI } /* wordbreak=ri */, + { 0, 184, 10178, 2, 2, UNI_ZP } /* iszp */, + { 3, 5986, 9916, 13, 3, UNI_NV__2_SLASH_5 } /* numericvalue=2/5 */, + { 2, 8780, 8900, 6, 6, UNI_INKAITHI } /* block=kaithi */, + { 0, 2817, 0, 4, 0, UNI_MERO } /* mero */, + { 0, 10024, 4583, 3, 15, UNI_PD } /* gc=dashpunctuation */, + { 0, 7675, 0, 9, 0, UNI_PALM } /* palmyrene */, + { 16, 184, 2141, 3, 17, UNI_CYRILLICSUP } /* iscyrillicsupplement */, + { 3, 8780, 5830, 6, 13, UNI_LOWSURROGATES } /* block=lowsurrogates */, + { 0, 4033, 9225, 16, 5, UNI_XPOSIXCNTRL } /* generalcategory=cntrl */, + { 8, 21, 8936, 2, 6, UNI_INLYCIAN } /* inlycian */, + { 16, 5791, 9075, 13, 5, UNI_JG__ALAPH } /* joininggroup=alaph */, + { 3, 4989, 4959, 3, 14, UNI_UPPERCASELETTER } /* isuppercaseletter */, + { 120, 184, 3937, 2, 8, UNI_BOPO } /* isbopomofo */, + { 0, 10132, 8323, 3, 7, UNI_WB__LE } /* wb=aletter */, + { 4, 8589, 9245, 7, 5, UNI_SC__DOGR } /* script=dogra */, + { 67, 3853, 1, 17, 1, -UNI_STERM } /* sentenceterminal=n */, + { 0, 10182, 1159, 33, 5, UNI__PERL_PROBLEMATIC_LOCALE_FOLDEDS_START } /* _perl_problematic_locale_foldeds_start */, + { 3, 9768, 9002, 4, 6, UNI_TELU } /* scx=telugu */, + { 0, 5040, 0, 5, 0, UNI_XPOSIXDIGIT } /* digit */, + { 2, 5564, 1025, 14, 2, -UNI_QMARK } /* quotationmark=no */, + { 0, 7, 0, 1, 0, UNI_C } /* c */, + { 1, 9640, 1, 4, 1, -UNI_LOE } /* loe=n */, + { 0, 8780, 3921, 6, 9, UNI_ARABICSUP } /* block=arabicsup */, + { 0, 9828, 0, 4, 0, UNI_THAI } /* thai */, + { 0, 9488, 3241, 4, 8, UNI_INGEORGIAN } /* blk=georgian */, + { 0, 3836, 9440, 17, 4, UNI_ADLM } /* scriptextensions=adlm */, + { 163, 6609, 10135, 11, 3, UNI_DEP } /* deprecated=yes */, + { 4, 10296, 62, 7, 5, UNI_POSIXGRAPH } /* isposixgraph */, + { 0, 184, 8373, 3, 6, UNI_CJKEXTD } /* iscjkextd */, + { 103, 9488, 5228, 4, 14, UNI_LATINEXTB } /* blk=latinextendedb */, + { 1, 4791, 0, 17, 0, UNI_INMEROITICCURSIVE } /* inmeroiticcursive */, + { 4, 1812, 9255, 22, 5, -UNI_CWL } /* changeswhenlowercased=false */, + { 0, 9768, 8498, 4, 7, UNI_MULT } /* scx=multani */, + { 1, 9277, 4369, 3, 6, UNI_SC__SYRC } /* sc=syriac */, + { 1, 9270, 7676, 3, 8, UNI_PALM } /* inpalmyrene */, + { 0, 9277, 9325, 3, 5, UNI_RUNR } /* sc=runic */, + { 474, 1552, 467, 9, 5, UNI_P } /* category=punct */, + { 0, 4116, 6555, 3, 9, UNI_IDC } /* isidcontinue */, + { 0, 9716, 3, 4, 1, -UNI_PCM } /* pcm=f */, + { 0, 6620, 0, 6, 0, UNI_DOMINO } /* domino */, + { 0, 3836, 4868, 17, 15, UNI_NARB } /* scriptextensions=oldnortharabian */, + { 2, 184, 4973, 2, 15, UNI_VEDICEXT } /* isvedicextensions */, + { 11, 1828, 36, 6, 1, UNI_CASED } /* cased=t */, + { 20, 9488, 8315, 4, 8, UNI_INUGARITIC } /* blk=ugaritic */, + { 0, 7218, 184, 10, 2, UNI_LB__IS } /* linebreak=is */, + { 0, 7739, 1025, 8, 2, -UNI_IDS } /* idstart=no */, + { 4, 9488, 9038, 4, 6, UNI_INYEZIDI } /* blk=yezidi */, + { 0, 8589, 9285, 7, 5, UNI_SC__LIMB } /* script=limbu */, + { 2, 7325, 7987, 3, 3, UNI_IN__6_DOT_2 } /* in=6.2 */, + { 3, 7155, 2723, 3, 9, UNI_JAMO } /* ishanguljamo */, + { 0, 7318, 10084, 10, 3, UNI_IN__3_DOT_1 } /* presentin=v31 */, + { 1, 3097, 9868, 18, 4, UNI_EA__F } /* decompositiontype=wide */, + { 106, 9277, 6939, 3, 11, UNI_SORA } /* sc=sorasompeng */, + { 0, 9488, 8211, 4, 8, UNI_JAMOEXTB } /* blk=jamoextb */, + { 12, 9556, 0, 4, 0, UNI_gcb_values_index } /* gcb= */, + { 41, 2182, 36, 21, 1, UNI_GCB__T } /* graphemeclusterbreak=t */, + { 0, 7325, 7781, 3, 1, UNI_IN__4 } /* in=4 */, + { 3, 8762, 10135, 6, 3, UNI_XPOSIXALPHA } /* alpha=yes */, + { 0, 1552, 6873, 9, 11, UNI_SO } /* category=othersymbol */, + { 5, 1059, 0, 2, 0, UNI_SO } /* so */, + { 0, 9556, 1194, 4, 2, UNI_LB__LF } /* gcb=lf */, + { 0, 3836, 8786, 17, 4, UNI_CARI } /* scriptextensions=cari */, + { 0, 10333, 8611, 3, 6, UNI_SIDD } /* issiddham */, + { 7, 5986, 9994, 13, 3, UNI_NV__9_SLASH_2 } /* numericvalue=9/2 */, + { 48, 5578, 138, 14, 2, UNI_SB__FO } /* sentencebreak=fo */, + { 6, 9277, 8638, 3, 7, UNI_SC__TGLG } /* sc=tagalog */, + { 69, 4643, 26, 15, 1, UNI_ECOMP } /* emojicomponent=y */, + { 128, 5200, 0, 14, 0, UNI_KANASUP } /* kanasupplement */, + { 1, 5986, 8042, 13, 2, UNI_NV__18 } /* numericvalue=18 */, + { 0, 8906, 0, 6, 0, UNI_KANBUN } /* kanbun */, + { 2, 4916, 9336, 3, 3, UNI_TAKR } /* istakr */, + { 1, 184, 2120, 3, 13, UNI_CJKRADICALSSUP } /* iscjkradicalssup */, + { 18, 3097, 1253, 18, 4, UNI_DT__INIT } /* decompositiontype=init */, + { 3, 9640, 0, 4, 0, UNI_loe_values_index } /* loe= */, + { 25, 3097, 5904, 18, 4, UNI_DT__NONE } /* decompositiontype=none */, + { 9, 7318, 10120, 10, 3, UNI_IN__8 } /* presentin=v80 */, + { 0, 6097, 0, 12, 0, UNI_CYRILLICEXTA } /* cyrillicexta */, + { 88, 9488, 2119, 4, 21, UNI_CJKRADICALSSUP } /* blk=cjkradicalssupplement */, + { 6, 184, 7621, 2, 9, UNI_NBAT } /* isnabataean */, + { 1, 8780, 7368, 6, 10, UNI_SMALLFORMS } /* block=smallforms */, + { 1, 8884, 9836, 4, 4, UNI_EXT } /* ext=true */, + { 3, 8610, 0, 7, 0, UNI_SIDD } /* siddham */, + { 344, 5116, 3, 14, 1, -UNI_EMOD } /* emojimodifier=f */, + { 0, 9508, 9940, 4, 3, UNI_CCC__A } /* ccc=230 */, + { 1, 908, 0, 10, 0, UNI_CO } /* privateuse */, + { 1, 184, 10303, 2, 5, UNI_XPOSIXBLANK } /* isblank */, + { 0, 3836, 9672, 17, 4, UNI_MYMR } /* scriptextensions=mymr */, + { 0, 9768, 9512, 4, 4, UNI_CHRS } /* scx=chrs */, + { 38, 6231, 5075, 3, 13, UNI_CJKCOMPATFORMS } /* incjkcompatforms */, + { 5, 5564, 0, 13, 0, UNI_QMARK } /* quotationmark */, { 0, 184, 283, 2, 33, UNI_MISCMATHSYMBOLSB } /* ismiscellaneousmathematicalsymbolsb */, - { 0, 8884, 4612, 5, 15, UNI_INSC__MODIFYINGLETTER } /* insc=modifyingletter */, - { 0, 3671, 9201, 17, 4, UNI_KHMR } /* scriptextensions=khmr */, - { 520, 3951, 325, 3, 3, UNI_ITAL } /* isital */, - { 9, 9623, 2561, 3, 3, UNI_JG__YEH } /* jg=yeh */, - { 416, 3868, 7098, 16, 10, UNI_CN } /* generalcategory=unassigned */, - { 0, 9377, 0, 4, 0, UNI_SHAW } /* shaw */, - { 11, 5760, 7692, 13, 8, UNI_NV__13_SLASH_2 } /* numericvalue=6.50e+00 */, - { 0, 6816, 4298, 3, 6, UNI_BRAI } /* inbraille */, - { 41, 3243, 3, 11, 1, -UNI_XPOSIXSPACE } /* whitespace=f */, - { 56, 9093, 2085, 4, 18, UNI_CYRILLICSUP } /* blk=cyrillicsupplement */, - { 1400, 1362, 5410, 24, 1, UNI_CCC__0 } /* canonicalcombiningclass=0 */, - { 17, 6918, 1696, 10, 2, UNI_LB__AI } /* linebreak=ai */, - { 1, 8233, 8568, 7, 4, UNI_LYDI } /* script=lydi */, - { 771, 3671, 9273, 17, 4, UNI_NARB } /* scriptextensions=narb */, - { 0, 4417, 0, 15, 0, UNI_DIACRITICALSEXT } /* diacriticalsext */, - { 44, 9608, 835, 3, 1, UNI_EA__W } /* ea=w */, - { 0, 8514, 0, 6, 0, UNI_HATR } /* hatran */, - { 0, 3671, 9081, 17, 4, UNI_AVST } /* scriptextensions=avst */, - { 22, 2453, 26, 20, 1, UNI_TERM } /* terminalpunctuation=y */, - { 0, 5565, 9369, 13, 4, UNI_JG__SEEN } /* joininggroup=seen */, - { 0, 8233, 6988, 7, 10, UNI_SOGO } /* script=oldsogdian */, - { 2, 6918, 5967, 10, 12, UNI_LB__HL } /* linebreak=hebrewletter */, - { 50, 8886, 4297, 3, 4, UNI_BRAI } /* sc=brai */, - { 2, 5760, 8400, 13, 3, UNI_NV__900 } /* numericvalue=900 */, - { 3, 9623, 5630, 3, 13, UNI_JG__MALAYALAMNNNA } /* jg=malayalamnnna */, - { 1, 9909, 83, 3, 2, UNI_PCM } /* ispcm */, - { 0, 1136, 26, 26, 1, UNI_DI } /* defaultignorablecodepoint=y */, - { 1, 1924, 0, 11, 0, UNI_LO } /* category=lo */, - { 3, 8233, 9297, 7, 4, UNI_OLCK } /* script=olck */, - { 3, 7892, 0, 8, 0, UNI_JAVA } /* javanese */, - { 73, 6828, 32, 10, 2, UNI_BC__CS } /* bidiclass=cs */, - { 0, 8886, 2741, 3, 4, UNI_MERO } /* sc=mero */, - { 782, 9647, 7684, 3, 8, UNI_NV__1_SLASH_160 } /* nv=6.25e-03 */, - { 0, 9365, 8205, 4, 7, UNI_OSMA } /* scx=osmanya */, - { 0, 9647, 5410, 3, 1, UNI_NV__0 } /* nv=0 */, - { 19, 8508, 995, 6, 2, -UNI_GREXT } /* grext=no */, - { 1, 3671, 6978, 17, 10, UNI_XPEO } /* scriptextensions=oldpersian */, - { 545, 1158, 4221, 3, 15, UNI_TANGUTCOMPONENTS } /* intangutcomponents */, - { 74, 3020, 0, 10, 0, UNI_DEVA } /* devanagari */, - { 515, 9113, 1189, 4, 3, UNI_CCC__214 } /* ccc=ata */, - { 0, 8854, 1, 5, 1, -UNI_DASH } /* dash=n */, - { 404, 1158, 8945, 3, 4, UNI_INTAKRI } /* intakri */, - { 513, 9153, 125, 4, 2, UNI_LB__CR } /* gcb=cr */, - { 4, 8886, 9081, 3, 4, UNI_AVST } /* sc=avst */, - { 304, 8233, 2741, 7, 4, UNI_MERO } /* script=mero */, - { 0, 9605, 7836, 3, 3, UNI_DT__FRA } /* dt=fra */, - { 0, 184, 1668, 2, 23, UNI_SUPPUNCTUATION } /* issupplementalpunctuation */, - { 0, 1497, 5199, 9, 14, UNI_SK } /* category=modifiersymbol */, - { 40, 9647, 9749, 3, 2, UNI_NV__48 } /* nv=48 */, - { 440, 5325, 995, 14, 2, -UNI_QMARK } /* quotationmark=no */, - { 1, 3671, 4492, 17, 15, UNI_ARMI } /* scriptextensions=imperialaramaic */, - { 0, 8424, 6382, 6, 11, UNI_DOMINO } /* block=dominotiles */, - { 0, 184, 8079, 2, 4, UNI_GRAN } /* isgran */, - { 0, 8960, 1, 4, 1, -UNI_IDS } /* ids=n */, - { 1550, 8233, 9353, 7, 4, UNI_RUNR } /* script=runr */, - { 2, 5760, 8464, 13, 2, UNI_NV__29 } /* numericvalue=29 */, - { 50, 9662, 1, 3, 1, -UNI_SD } /* sd=n */, - { 1, 7018, 9710, 10, 3, UNI_IN__6_DOT_2 } /* presentin=v62 */, - { 0, 9909, 131, 3, 3, UNI_PALM } /* ispalm */, - { 0, 3671, 9189, 17, 4, UNI_HMNP } /* scriptextensions=hmnp */, - { 0, 184, 9229, 2, 4, UNI_LINB } /* islinb */, - { 1, 8233, 8149, 7, 4, UNI_SC__MULT } /* script=mult */, - { 1230, 184, 8914, 2, 5, UNI_NSHU } /* isnushu */, - { 0, 184, 2067, 2, 7, UNI_RADICAL } /* isradical */, - { 386, 3671, 8514, 17, 6, UNI_HATR } /* scriptextensions=hatran */, - { 0, 8233, 4717, 7, 5, UNI_SC__TAML } /* script=tamil */, - { 162, 9065, 0, 4, 0, UNI_ARMI } /* armi */, - { 33, 8884, 4342, 5, 15, UNI_INSC__CONSONANTMEDIAL } /* insc=consonantmedial */, - { 0, 8406, 26, 6, 1, UNI_XPOSIXALPHA } /* alpha=y */, - { 1, 6371, 3, 11, 1, -UNI_DEP } /* deprecated=f */, - { 0, 1362, 1149, 24, 2, UNI_CCC__BL } /* canonicalcombiningclass=bl */, - { 0, 5786, 0, 13, 0, UNI_VERTICALFORMS } /* verticalforms */, - { 0, 9121, 995, 4, 2, -UNI_CWL } /* cwl=no */, - { 1, 5565, 6878, 13, 10, UNI_JG__DALATHRISH } /* joininggroup=dalathrish */, - { 0, 8233, 9301, 7, 4, UNI_ORKH } /* script=orkh */, - { 0, 9620, 5500, 3, 13, UNI_ME } /* gc=enclosingmark */, - { 5, 4975, 0, 7, 0, UNI_KANASUP } /* kanasup */, - { 0, 9093, 2085, 4, 21, UNI_CYRILLICSUP } /* blk=cyrillicsupplementary */, - { 275, 3227, 0, 9, 0, UNI_Z } /* separator */, - { 0, 9137, 9433, 4, 4, UNI_DEP } /* dep=true */, - { 1297, 9365, 1188, 4, 8, UNI_KANA } /* scx=katakana */, - { 12, 9593, 2373, 3, 20, UNI_BC__LRE } /* bc=lefttorightembedding */, - { 1314, 9904, 96, 5, 5, UNI_POSIXALPHA } /* posixalpha */, - { 3, 8886, 8247, 3, 7, UNI_SHAW } /* sc=shavian */, - { 138, 9365, 8929, 4, 5, UNI_OSGE } /* scx=osage */, - { 8, 8424, 4762, 6, 8, UNI_VEDICEXT } /* block=vedicext */, - { 0, 5565, 5097, 13, 4, UNI_JG__BETH } /* joininggroup=beth */, - { 156, 9909, 467, 7, 5, UNI_POSIXPUNCT } /* isposixpunct */, - { 1, 5859, 0, 12, 0, UNI_CHESSSYMBOLS } /* chesssymbols */, - { 0, 4778, 7981, 3, 7, UNI_UGAR } /* isugaritic */, - { 177, 184, 7876, 2, 8, UNI_JAMOEXTA } /* isjamoexta */, - { 0, 8233, 8944, 7, 4, UNI_SC__TAKR } /* script=takr */, - { 3, 8233, 382, 7, 4, UNI_EGYP } /* script=egyp */, - { 0, 8496, 0, 6, 0, UNI_cwkcf_values_index } /* cwkcf= */, - { 3, 184, 7058, 2, 10, UNI_SMALLFORMS } /* issmallforms */, - { 3, 8510, 9734, 4, 3, UNI_EXT } /* ext=yes */, - { 0, 4792, 0, 15, 0, UNI_ZANB } /* zanabazarsquare */, - { 2, 7419, 9734, 9, 3, UNI_XIDS } /* xidstart=yes */, - { 0, 6885, 2431, 3, 3, UNI_HATR } /* ishatr */, - { 0, 2006, 0, 4, 0, UNI_MODI } /* modi */, - { 29, 9647, 7444, 3, 8, UNI_NV__1_SLASH_8 } /* nv=1.25e-01 */, - { 1, 6183, 0, 4, 0, UNI_MEND } /* mend */, - { 0, 3671, 9453, 17, 3, UNI_VAI } /* scriptextensions=vai */, - { 694, 1084, 3, 26, 1, -UNI_CWKCF } /* changeswhennfkccasefolded=f */, - { 0, 9049, 9551, 4, 3, UNI_AGE__3_DOT_2 } /* age=3.2 */, - { 0, 8884, 8331, 5, 7, UNI_INSC__VISARGA } /* insc=visarga */, - { 0, 3308, 0, 12, 0, UNI_SMALLKANAEXT } /* smallkanaext */, - { 0, 7018, 7098, 10, 10, UNI_AGE__NA } /* presentin=unassigned */, - { 2, 9125, 9734, 4, 3, UNI_CWT } /* cwt=yes */, - { 0, 3671, 8550, 17, 6, UNI_LEPC } /* scriptextensions=lepcha */, - { 1, 3868, 133, 16, 4, UNI_M } /* generalcategory=mark */, - { 0, 3868, 467, 16, 11, UNI_P } /* generalcategory=punctuation */, - { 3, 9946, 2212, 3, 6, UNI_SINH } /* issinhala */, - { 1356, 2893, 0, 19, 0, UNI_SUPARROWSC } /* supplementalarrowsc */, - { 849, 8079, 0, 4, 0, UNI_GRAN } /* gran */, - { 2, 9365, 9253, 4, 4, UNI_MIAO } /* scx=miao */, - { 1, 2148, 894, 3, 27, UNI_SUPPUAB } /* insupplementaryprivateuseareab */, - { 0, 8592, 995, 6, 2, UNI_DT__CAN } /* nfdqc=no */, - { 17, 5760, 7628, 13, 8, UNI_NV__3_SLASH_64 } /* numericvalue=4.69e-02 */, - { 518, 8100, 9433, 7, 4, UNI_HYPHEN } /* hyphen=true */, - { 3, 9593, 6255, 3, 12, UNI_BC__ON } /* bc=otherneutral */, - { 2, 8233, 6183, 7, 12, UNI_MEND } /* script=mendekikakui */, - { 41, 9093, 8121, 4, 7, UNI_INLINEARA } /* blk=lineara */, - { 162, 9137, 995, 4, 2, -UNI_DEP } /* dep=no */, - { 0, 9647, 7603, 3, 2, UNI_NV__24 } /* nv=24 */, - { 1287, 8100, 3, 7, 1, -UNI_HYPHEN } /* hyphen=f */, - { 1, 8338, 1, 7, 1, -UNI_XPOSIXSPACE } /* wspace=n */, - { 1, 184, 3020, 2, 18, UNI_DEVANAGARIEXT } /* isdevanagariextended */, - { 0, 9623, 9477, 3, 4, UNI_JG__ZAIN } /* jg=zain */, - { 0, 184, 2006, 2, 14, UNI_LM } /* ismodifierletter */, - { 13, 9113, 8825, 5, 4, UNI_CCC__36 } /* ccc=ccc36 */, - { 284, 9365, 5311, 4, 14, UNI_PHLP } /* scx=psalterpahlavi */, - { 83, 9093, 4946, 4, 4, UNI_INCHAM } /* blk=cham */, - { 0, 8332, 5493, 3, 4, UNI_XPOSIXALNUM } /* isalnum */, - { 0, 3688, 1, 17, 1, -UNI_STERM } /* sentenceterminal=n */, - { 2, 184, 1767, 2, 2, UNI_NL } /* isnl */, - { 36, 9365, 2169, 4, 11, UNI_MTEI } /* scx=meeteimayek */, - { 4, 7018, 9587, 10, 3, UNI_IN__9 } /* presentin=9.0 */, - { 3, 6888, 3, 10, 1, -UNI_DIA } /* diacritic=f */, - { 266, 21, 1188, 2, 26, UNI_KATAKANAEXT } /* inkatakanaphoneticextensions */, - { 7, 9365, 3729, 5, 10, UNI_SGNW } /* scx=signwriting */, - { 303, 9365, 3730, 5, 3, UNI_SGNW } /* scx=sgnw */, - { 9, 1362, 8815, 25, 4, UNI_CCC__34 } /* canonicalcombiningclass=ccc34 */, - { 818, 184, 3308, 2, 12, UNI_SMALLKANAEXT } /* issmallkanaext */, - { 2, 184, 697, 2, 2, UNI_MN } /* ismn */, - { 3, 184, 8934, 2, 5, UNI_RUNR } /* isrunic */, - { 4, 184, 4267, 2, 8, UNI_BAMUMSUP } /* isbamumsup */, - { 14, 9093, 3964, 4, 16, UNI_LATIN1 } /* blk=latin1supplement */, - { 0, 1057, 8864, 27, 5, -UNI_PCM } /* prependedconcatenationmark=false */, - { 1, 8886, 7956, 3, 8, UNI_SC__TAGB } /* sc=tagbanwa */, - { 0, 3868, 1141, 16, 2, UNI_TITLE } /* generalcategory=lt */, - { 859, 8886, 8058, 3, 7, UNI_DSRT } /* sc=deseret */, - { 3, 1362, 8449, 25, 4, UNI_CCC__11 } /* canonicalcombiningclass=ccc11 */, - { 0, 4220, 0, 4, 0, UNI_TANG } /* tang */, - { 0, 5565, 5931, 13, 12, UNI_JG__FINALSEMKATH } /* joininggroup=finalsemkath */, - { 821, 5565, 87, 13, 2, UNI_JG__HE } /* joininggroup=he */, - { 1090, 184, 9485, 2, 4, UNI_QAAI } /* iszinh */, - { 7, 8424, 6723, 6, 11, UNI_INSYLOTINAGRI } /* block=sylotinagri */, - { 1066, 183, 0, 20, 0, UNI_MISCSYMBOLS } /* miscellaneoussymbols */, - { 0, 1, 0, 1, 0, UNI_N } /* n */, - { 8, 8884, 6225, 5, 6, UNI_LB__ZWJ } /* insc=joiner */, - { 1544, 8424, 949, 6, 27, UNI_ALPHABETICPF } /* block=alphabeticpresentationforms */, - { 25, 184, 1856, 2, 11, UNI_NUMBERFORMS } /* isnumberforms */, - { 1, 9623, 4562, 3, 3, UNI_JG__SAD } /* jg=sad */, - { 10, 5883, 0, 12, 0, UNI_CYRILLICEXTB } /* cyrillicextb */, - { 4, 1497, 7, 10, 1, UNI_SC } /* category=sc */, - { 0, 9623, 6657, 3, 11, UNI_JG__ROHINGYAYEH } /* jg=rohingyayeh */, - { 3, 7018, 7446, 10, 1, UNI_IN__2 } /* presentin=2 */, - { 74, 3688, 9734, 17, 3, UNI_STERM } /* sentenceterminal=yes */, - { 16, 9093, 1386, 4, 24, UNI_CJKSYMBOLS } /* blk=cjksymbolsandpunctuation */, - { 161, 9165, 0, 4, 0, UNI_GREK } /* grek */, - { 20, 6005, 6870, 4, 8, UNI_COMPATJAMO } /* incompatjamo */, - { 0, 45, 0, 2, 0, UNI_CO } /* co */, - { 50, 8233, 8065, 7, 4, UNI_ELBA } /* script=elba */, - { 0, 9620, 1844, 3, 2, UNI_PC } /* gc=pc */, - { 1, 9365, 8072, 4, 4, UNI_ELYM } /* scx=elym */, - { 1, 9608, 66, 3, 1, UNI_EA__H } /* ea=h */, - { 32, 9365, 9345, 4, 4, UNI_RJNG } /* scx=rjng */, - { 0, 2212, 4962, 3, 13, UNI_HIGHSURROGATES } /* inhighsurrogates */, - { 0, 6382, 0, 11, 0, UNI_DOMINO } /* dominotiles */, - { 8, 4241, 8060, 4, 5, UNI_DSRT } /* indeseret */, - { 137, 9620, 262, 3, 2, UNI_SM } /* gc=sm */, - { 0, 9593, 3569, 3, 17, UNI_BC__ES } /* bc=europeanseparator */, - { 0, 9113, 8352, 4, 3, UNI_CCC__216 } /* ccc=216 */, - { 3, 8424, 831, 6, 6, UNI_ARROWS } /* block=arrows */, - { 0, 184, 3038, 2, 18, UNI_ETHIOPICSUP } /* isethiopicsupplement */, - { 0, 9946, 8255, 3, 3, UNI_SIDD } /* issidd */, - { 9, 8879, 2373, 5, 4, UNI_INPC__LEFT } /* inpc=left */, - { 0, 8844, 36, 5, 1, UNI_CWCF } /* cwcf=t */, - { 0, 7025, 7508, 3, 3, UNI_IN__2 } /* in=2.0 */, - { 0, 1735, 9433, 22, 4, UNI_CWCM } /* changeswhencasemapped=true */, - { 1, 184, 6027, 2, 5, UNI_KHMR } /* iskhmer */, - { 0, 7128, 3254, 10, 17, UNI_RI } /* wordbreak=regionalindicator */, - { 0, 1136, 36, 26, 1, UNI_DI } /* defaultignorablecodepoint=t */, - { 0, 8640, 8864, 6, 5, -UNI_XPOSIXUPPER } /* upper=false */, - { 28, 9113, 2912, 4, 18, UNI_CCC__216 } /* ccc=attachedaboveright */, - { 20, 9365, 9329, 4, 4, UNI_PRTI } /* scx=prti */, - { 1, 1482, 2473, 24, 12, UNI_INPC__TOPANDBOTTOM } /* indicpositionalcategory=topandbottom */, - { 0, 3671, 9469, 17, 4, UNI_XSUX } /* scriptextensions=xsux */, - { 1, 3671, 3038, 17, 8, UNI_ETHI } /* scriptextensions=ethiopic */, - { 3, 8424, 8652, 6, 6, UNI_INWANCHO } /* block=wancho */, - { 0, 6928, 3, 10, 1, -UNI_XPOSIXLOWER } /* lowercase=f */, - { 0, 9093, 1955, 4, 22, UNI_MISCTECHNICAL } /* blk=miscellaneoustechnical */, - { 546, 2212, 1601, 4, 21, UNI_COMPATJAMO } /* inhangulcompatibilityjamo */, - { 30, 4580, 6581, 3, 10, UNI_MYANMAREXTA } /* inmyanmarexta */, - { 0, 9903, 4828, 6, 6, UNI_XPOSIXXDIGIT } /* xposixxdigit */, - { 1, 1735, 0, 21, 0, UNI_CWCM } /* changeswhencasemapped */, - { 0, 8849, 995, 5, 2, -UNI_CWCM } /* cwcm=no */, - { 1843, 1773, 9433, 6, 4, UNI_CASED } /* cased=true */, - { 0, 8424, 4092, 6, 16, UNI_MISCMATHSYMBOLSB } /* block=miscmathsymbolsb */, - { 606, 5799, 0, 12, 0, UNI_ALPHABETICPF } /* alphabeticpf */, - { 890, 3868, 25, 16, 1, UNI_S } /* generalcategory=s */, - { 641, 8510, 3, 4, 1, -UNI_EXT } /* ext=f */, - { 3, 8332, 7101, 3, 7, UNI_ASSIGNED } /* isassigned */, - { 50, 7025, 9716, 3, 3, UNI_IN__7 } /* in=v70 */, - { 0, 5565, 5125, 13, 4, UNI_JG__HETH } /* joininggroup=heth */, - { 640, 8233, 6159, 7, 12, UNI_SC__GONM } /* script=masaramgondi */, - { 72, 9629, 4195, 3, 9, UNI_LB__EM } /* lb=emodifier */, - { 2, 184, 9161, 2, 4, UNI_GONM } /* isgonm */, - { 0, 9093, 3773, 5, 7, UNI_INBOPOMOFO } /* blk=bopomofo */, - { 0, 5435, 9734, 13, 3, UNI_BIDIM } /* bidimirrored=yes */, - { 12, 184, 1188, 2, 26, UNI_KATAKANAEXT } /* iskatakanaphoneticextensions */, - { 1057, 4580, 2171, 4, 19, UNI_MEETEIMAYEKEXT } /* inmeeteimayekextensions */, - { 0, 9093, 4989, 4, 14, UNI_KANGXI } /* blk=kangxiradicals */, - { 0, 3671, 6183, 17, 12, UNI_MEND } /* scriptextensions=mendekikakui */, - { 13, 6371, 26, 11, 1, UNI_DEP } /* deprecated=y */, - { 0, 3671, 9181, 17, 4, UNI_HLUW } /* scriptextensions=hluw */, - { 0, 9365, 6183, 4, 4, UNI_MEND } /* scx=mend */, - { 20, 9093, 983, 4, 5, UNI_INGREEK } /* blk=greek */, - { 0, 5565, 2127, 13, 21, UNI_JG__HANIFIROHINGYAKINNAYA } /* joininggroup=hanifirohingyakinnaya */, - { 0, 8233, 9197, 7, 4, UNI_SC__KALI } /* script=kali */, - { 0, 1003, 0, 11, 0, UNI_ENCLOSEDCJK } /* enclosedcjk */, - { 1, 8886, 8324, 3, 7, UNI_ZZZZ } /* sc=unknown */, - { 4, 184, 5617, 2, 9, UNI_MLYM } /* ismalayalam */, - { 0, 5565, 9341, 13, 4, UNI_JG__QAPH } /* joininggroup=qaph */, - { 0, 9365, 8065, 4, 7, UNI_ELBA } /* scx=elbasan */, - { 164, 3671, 3730, 18, 3, UNI_SGNW } /* scriptextensions=sgnw */, - { 1, 1867, 0, 12, 0, UNI_DIACRITICALS } /* diacriticals */, - { 1, 9365, 689, 4, 9, UNI_XSUX } /* scx=cuneiform */, - { 0, 8874, 995, 5, 2, -UNI_IDST } /* idst=no */, - { 3628, 9365, 7964, 4, 8, UNI_TFNG } /* scx=tifinagh */, - { 1, 1576, 0, 18, 0, UNI_GEOMETRICSHAPESEXT } /* geometricshapesext */, - { 0, 8219, 1, 7, 1, -UNI_PATSYN } /* patsyn=n */, - { 1301, 8406, 3, 6, 1, -UNI_XPOSIXALPHA } /* alpha=f */, - { 12, 21, 1622, 2, 23, UNI_LATINEXTADDITIONAL } /* inlatinextendedadditional */, - { 0, 8886, 8679, 3, 5, UNI_SC__ADLM } /* sc=adlam */, - { 0, 7932, 36, 8, 1, UNI_RADICAL } /* radical=t */, - { 0, 6316, 0, 3, 0, UNI_IDC } /* idc */, - { 278, 8604, 1, 6, 1, -UNI_QMARK } /* qmark=n */, - { 2, 9049, 9445, 4, 4, UNI_AGE__12 } /* age=v120 */, - { 0, 8332, 977, 3, 16, UNI_ANCIENTGREEKMUSIC } /* isancientgreekmusic */, - { 440, 8424, 6978, 6, 10, UNI_INOLDPERSIAN } /* block=oldpersian */, - { 520, 9781, 1472, 6, 9, UNI__PERL_SURROGATE } /* _perl_surrogate */, - { 739, 6918, 4631, 10, 2, UNI_LB__QU } /* linebreak=qu */, - { 0, 8233, 7804, 7, 8, UNI_SC__BUGI } /* script=buginese */, - { 2, 6371, 9734, 11, 3, UNI_DEP } /* deprecated=yes */, - { 2049, 9909, 96, 7, 5, UNI_POSIXALPHA } /* isposixalpha */, - { 2, 9365, 8502, 4, 6, UNI_GOTH } /* scx=gothic */, - { 0, 1057, 0, 26, 0, UNI_PCM } /* prependedconcatenationmark */, - { 1, 9731, 6415, 3, 11, UNI_WB__DQ } /* wb=doublequote */, - { 1, 3671, 1845, 17, 6, UNI_ZYYY } /* scriptextensions=common */, - { 0, 6828, 9638, 10, 3, UNI_BC__LRO } /* bidiclass=lro */, - { 3, 5085, 8144, 4, 5, UNI_INMARCHEN } /* inmarchen */, - { 161, 184, 1824, 3, 18, UNI_CJKCOMPATIDEOGRAPHS } /* iscjkcompatideographs */, - { 523, 2142, 1857, 3, 10, UNI_NUMBERFORMS } /* innumberforms */, - { 0, 3671, 9453, 17, 4, UNI_VAI } /* scriptextensions=vaii */, - { 0, 8233, 2353, 7, 20, UNI_PHLI } /* script=inscriptionalpahlavi */, - { 3, 1497, 4140, 9, 16, UNI_PO } /* category=otherpunctuation */, - { 768, 9647, 7452, 3, 8, UNI_NV__1_SLASH_80 } /* nv=1.25e-02 */, - { 2090, 1362, 7659, 24, 2, UNI_CCC__16 } /* canonicalcombiningclass=16 */, - { 644, 8879, 2379, 5, 5, UNI_INPC__RIGHT } /* inpc=right */, - { 130, 9093, 3884, 4, 11, UNI_GEORGIANEXT } /* blk=georgianext */, - { 14, 8424, 2779, 6, 19, UNI_MONGOLIANSUP } /* block=mongoliansupplement */, - { 0, 9365, 7008, 4, 10, UNI_PHNX } /* scx=phoenician */, - { 269, 8886, 9377, 3, 4, UNI_SHAW } /* sc=shaw */, - { 2117, 8886, 8240, 3, 7, UNI_SC__SHRD } /* sc=sharada */, - { 0, 184, 7128, 2, 4, UNI_XPOSIXWORD } /* isword */, - { 0, 8121, 0, 7, 0, UNI_LINA } /* lineara */, - { 0, 184, 6898, 2, 4, UNI_KHAR } /* iskhar */, - { 0, 5227, 26, 14, 1, UNI_NFDQC__Y } /* nfdquickcheck=y */, - { 0, 8424, 0, 6, 0, UNI_blk_values_index } /* block= */, - { 98, 8233, 6992, 8, 6, UNI_SC__SOGD } /* script=sogdian */, - { 776, 7108, 9734, 10, 3, UNI_XPOSIXUPPER } /* uppercase=yes */, - { 0, 5339, 9773, 14, 2, UNI_SB__XX } /* sentencebreak=xx */, - { 3, 8884, 7780, 5, 8, UNI_INSC__AVAGRAHA } /* insc=avagraha */, - { 2952, 4705, 4221, 3, 5, UNI_TANG } /* istangut */, - { 0, 3671, 7365, 17, 4, UNI_PAUC } /* scriptextensions=pauc */, - { 0, 9093, 7338, 4, 9, UNI_INOLDPERMIC } /* blk=oldpermic */, - { 0, 9093, 2533, 5, 5, UNI_INBRAHMI } /* blk=brahmi */, - { 0, 6918, 3254, 10, 17, UNI_RI } /* linebreak=regionalindicator */, - { 0, 5760, 7652, 13, 8, UNI_NV__7_SLASH_12 } /* numericvalue=5.83e-01 */, - { 4, 8233, 9057, 7, 4, UNI_AHOM } /* script=ahom */, - { 150, 9647, 7459, 3, 2, UNI_NV__21 } /* nv=21 */, - { 0, 184, 9165, 2, 4, UNI_GREK } /* isgrek */, - { 3, 5760, 9751, 13, 2, UNI_NV__49 } /* numericvalue=49 */, - { 2025, 8247, 0, 7, 0, UNI_SHAW } /* shavian */, - { 0, 9113, 8467, 5, 5, UNI_CCC__130 } /* ccc=ccc130 */, - { 310, 2085, 0, 8, 0, UNI_CYRL } /* cyrillic */, - { 4, 5565, 6778, 13, 10, UNI_JG__AFRICANFEH } /* joininggroup=africanfeh */, - { 0, 4705, 7957, 3, 7, UNI_TAGB } /* istagbanwa */, - { 0, 184, 1014, 2, 6, UNI_L } /* isletter */, - { 0, 1057, 3, 27, 1, -UNI_PCM } /* prependedconcatenationmark=f */, - { 0, 9731, 5943, 3, 12, UNI_WB__EB } /* wb=glueafterzwj */, - { 208, 1823, 0, 22, 0, UNI_CJKCOMPATIDEOGRAPHSSUP } /* cjkcompatideographssup */, - { 4219, 1362, 8800, 25, 4, UNI_CCC__31 } /* canonicalcombiningclass=ccc31 */, - { 0, 184, 9108, 2, 2, UNI_MC } /* ismc */, - { 0, 1057, 0, 27, 0, UNI_pcm_values_index } /* prependedconcatenationmark= */, - { 0, 5760, 9041, 13, 4, UNI_NV__7_SLASH_12 } /* numericvalue=7/12 */, - { 118, 9113, 8820, 5, 4, UNI_CCC__35 } /* ccc=ccc35 */, - { 208, 6991, 0, 4, 0, UNI_SOGD } /* sogd */, - { 0, 8233, 7956, 7, 4, UNI_SC__TAGB } /* script=tagb */, - { 6, 8233, 8622, 7, 4, UNI_SC__TELU } /* script=telu */, - { 1603, 4828, 0, 6, 0, UNI_XPOSIXXDIGIT } /* xdigit */, - { 1, 184, 3290, 2, 18, UNI_RUMI } /* isruminumeralsymbols */, - { 0, 8424, 8247, 6, 7, UNI_SHAW } /* block=shavian */, - { 0, 3128, 26, 18, 1, UNI_IDSB } /* idsbinaryoperator=y */, - { 4, 184, 1257, 2, 2, UNI_UPPERCASELETTER } /* islu */, - { 1, 3671, 4717, 17, 5, UNI_TAML } /* scriptextensions=tamil */, - { 0, 5760, 7548, 13, 8, UNI_NV__1_SLASH_32 } /* numericvalue=3.12e-02 */, - { 4, 8684, 9734, 5, 3, UNI_POSIXXDIGIT } /* ahex=yes */, - { 2, 8233, 1192, 7, 4, UNI_SC__KANA } /* script=kana */, - { 8, 2212, 2129, 4, 12, UNI_INHANIFIROHINGYA } /* inhanifirohingya */, - { 3440, 6194, 8920, 3, 4, UNI_INOGHAM } /* inogham */, - { 169, 8886, 8093, 3, 7, UNI_SC__HANO } /* sc=hanunoo */, - { 11, 8424, 1030, 6, 27, UNI_OCR } /* block=opticalcharacterrecognition */, - { 1, 8424, 6808, 6, 10, UNI_ASCII } /* block=basiclatin */, - { 4, 6918, 7924, 10, 8, UNI_LB__NL } /* linebreak=nextline */, - { 4359, 9365, 8502, 4, 4, UNI_GOTH } /* scx=goth */, - { 8, 8879, 6647, 3, 10, UNI_INPAHAWHHMONG } /* inpahawhhmong */, - { 137, 9946, 4205, 3, 8, UNI_SYRIACSUP } /* issyriacsup */, - { 0, 9725, 409, 3, 2, UNI_VO__TR } /* vo=tr */, - { 0, 7018, 7495, 10, 1, UNI_IN__7 } /* presentin=7 */, - { 3, 184, 1244, 3, 19, UNI_CE } /* iscompositionexclusion */, - { 1155, 9620, 598, 3, 2, UNI_XPOSIXCNTRL } /* gc=cc */, - { 30, 1362, 8455, 25, 4, UNI_CCC__12 } /* canonicalcombiningclass=ccc12 */, - { 2329, 6918, 9755, 10, 2, UNI_LB__BK } /* linebreak=bk */, - { 265, 184, 1622, 2, 5, UNI_LATN } /* islatin */, - { 0, 3002, 7, 18, 3, UNI_DT__CAN } /* decompositiontype=can */, - { 14, 1158, 8940, 3, 4, UNI_INTAILE } /* intaile */, - { 1047, 8424, 6690, 6, 11, UNI_INSORASOMPENG } /* block=sorasompeng */, - { 10, 1735, 9734, 22, 3, UNI_CWCM } /* changeswhencasemapped=yes */, - { 4353, 9365, 2837, 5, 8, UNI_SUND } /* scx=sundanese */, - { 0, 2333, 0, 10, 0, UNI_GLAG } /* glagolitic */, - { 0, 9946, 6648, 3, 3, UNI_SHAW } /* isshaw */, - { 68, 2204, 6990, 4, 8, UNI_SOGO } /* isoldsogdian */, - { 2, 3671, 8628, 17, 6, UNI_THAA } /* scriptextensions=thaana */, - { 18, 9313, 26, 4, 1, UNI_PCM } /* pcm=y */, - { 0, 1057, 9734, 27, 3, UNI_PCM } /* prependedconcatenationmark=yes */, - { 4, 6005, 43, 3, 25, UNI_CJKCOMPATIDEOGRAPHS } /* incjkcompatibilityideographs */, - { 0, 7128, 9611, 10, 3, UNI_WB__EB } /* wordbreak=ebg */, - { 29, 9620, 467, 3, 5, UNI_P } /* gc=punct */, - { 0, 8424, 4657, 6, 15, UNI_NARB } /* block=oldnortharabian */, - { 67, 184, 0, 4, 0, UNI_CE } /* isce */, - { 3, 1386, 0, 24, 0, UNI_CJKSYMBOLS } /* cjksymbolsandpunctuation */, - { 0, 8233, 8929, 7, 5, UNI_OSGE } /* script=osage */, - { 0, 8886, 6051, 3, 4, UNI_SC__MAHJ } /* sc=mahj */, - { 0, 6918, 6459, 10, 11, UNI_LB__IN } /* linebreak=inseperable */, - { 4104, 8424, 4597, 6, 15, UNI_MISCPICTOGRAPHS } /* block=miscpictographs */, - { 0, 7018, 7604, 10, 3, UNI_IN__4 } /* presentin=4.0 */, - { 0, 9365, 9386, 5, 3, UNI_SHRD } /* scx=shrd */, - { 5, 2212, 1459, 3, 23, UNI_HIGHPUSURROGATES } /* inhighprivateusesurrogates */, - { 2166, 8424, 1851, 6, 16, UNI_INDICNUMBERFORMS } /* block=indicnumberforms */, - { 3073, 6005, 2065, 3, 13, UNI_CJKRADICALSSUP } /* incjkradicalssup */, - { 2, 9153, 406, 4, 7, UNI_GCB__CN } /* gcb=control */, - { 3, 9049, 9680, 4, 3, UNI_AGE__3 } /* age=v30 */, - { 0, 8072, 0, 7, 0, UNI_ELYM } /* elymaic */, - { 0, 1497, 9775, 9, 2, UNI_ZL } /* category=zl */, - { 3, 8886, 5967, 3, 6, UNI_HEBR } /* sc=hebrew */, - { 1, 9626, 7, 3, 1, UNI_JT__C } /* jt=c */, - { 53, 2043, 0, 21, 0, UNI_CJKCOMPATFORMS } /* cjkcompatibilityforms */, - { 5324, 2836, 0, 19, 0, UNI_SUNDANESESUP } /* sundanesesupplement */, - { 2272, 9626, 6426, 3, 11, UNI_JT__D } /* jt=dualjoining */, - { 0, 3868, 48, 16, 1, UNI_P } /* generalcategory=p */, - { 1115, 9623, 6878, 3, 10, UNI_JG__DALATHRISH } /* jg=dalathrish */, - { 0, 9365, 6978, 4, 10, UNI_XPEO } /* scx=oldpersian */, - { 4, 8886, 9069, 3, 4, UNI_SC__ARMN } /* sc=armn */, - { 4272, 184, 8002, 2, 4, UNI_BENG } /* isbeng */, - { 288, 7804, 0, 8, 0, UNI_BUGI } /* buginese */, - { 0, 9620, 2006, 3, 14, UNI_LM } /* gc=modifierletter */, - { 0, 9731, 5520, 3, 5, UNI_WB__EB } /* wb=ebase */, - { 1, 8424, 8289, 6, 7, UNI_INTAITHAM } /* block=taitham */, - { 0, 3671, 5967, 17, 4, UNI_HEBR } /* scriptextensions=hebr */, - { 4105, 8338, 0, 6, 0, UNI_XPOSIXSPACE } /* wspace */, - { 0, 1856, 0, 11, 0, UNI_NUMBERFORMS } /* numberforms */, - { 1162, 9113, 2912, 4, 13, UNI_CCC__214 } /* ccc=attachedabove */, - { 6164, 1362, 5539, 24, 13, UNI_CCC__IS } /* canonicalcombiningclass=iotasubscript */, - { 214, 8869, 8864, 5, 5, -UNI_IDSB } /* idsb=false */, - { 5, 8886, 2409, 3, 4, UNI_SC__MONG } /* sc=mong */, - { 7, 9093, 4372, 4, 15, UNI_CONTROLPICTURES } /* blk=controlpictures */, - { 0, 9365, 8282, 4, 7, UNI_TGLG } /* scx=tagalog */, - { 11, 5760, 7668, 13, 8, UNI_NV__5_SLASH_8 } /* numericvalue=6.25e-01 */, - { 25, 8233, 5967, 7, 4, UNI_HEBR } /* script=hebr */, - { 4, 7018, 8997, 10, 4, UNI_IN__11 } /* presentin=11.0 */, - { 0, 8424, 6183, 6, 12, UNI_INMENDEKIKAKUI } /* block=mendekikakui */, - { 1, 5513, 9734, 13, 3, UNI_GRBASE } /* graphemebase=yes */, - { 0, 3671, 8430, 17, 4, UNI_CARI } /* scriptextensions=cari */, - { 9, 8886, 7250, 5, 7, UNI_SC__SIND } /* sc=khudawadi */, - { 7, 1057, 9433, 27, 4, UNI_PCM } /* prependedconcatenationmark=true */, - { 0, 9093, 316, 4, 33, UNI_SUPMATHOPERATORS } /* blk=supplementalmathematicaloperators */, - { 0, 5760, 8388, 13, 2, UNI_NV__70 } /* numericvalue=70 */, - { 2048, 1450, 4936, 5, 11, UNI_INGREEK } /* ingreekandcoptic */, - { 1571, 8332, 183, 4, 2, UNI_ARMI } /* isarmi */, - { 1, 9093, 8550, 4, 6, UNI_INLEPCHA } /* blk=lepcha */, - { 0, 184, 690, 3, 29, UNI_CUNEIFORMNUMBERS } /* iscuneiformnumbersandpunctuation */, - { 0, 9093, 2930, 4, 11, UNI_CHEROKEESUP } /* blk=cherokeesup */, - { 21, 1482, 2473, 24, 20, UNI_INPC__TOPANDBOTTOMANDRIGHT } /* indicpositionalcategory=topandbottomandright */, - { 65, 9623, 2147, 3, 3, UNI_JG__AIN } /* jg=ain */, - { 1589, 8886, 4267, 3, 4, UNI_BAMU } /* sc=bamu */, - { 0, 1482, 3350, 24, 12, UNI_INPC__LEFTANDRIGHT } /* indicpositionalcategory=leftandright */, - { 150, 6315, 0, 11, 0, UNI_XIDC } /* xidcontinue */, - { 1, 62, 0, 5, 0, UNI_XPOSIXGRAPH } /* graph */, - { 4565, 5325, 0, 13, 0, UNI_QMARK } /* quotationmark */, - { 17, 8886, 7796, 3, 8, UNI_BASS } /* sc=bassavah */, - { 8, 8598, 0, 6, 0, UNI_patws_values_index } /* patws= */, - { 265, 8679, 0, 5, 0, UNI_ADLM } /* adlam */, - { 6, 1497, 47, 9, 1, UNI_M } /* category=m */, - { 0, 3236, 9433, 18, 4, UNI__PERL_PATWS } /* patternwhitespace=true */, - { 16, 7025, 8993, 3, 4, UNI_IN__10 } /* in=10.0 */, - { 0, 9365, 8568, 4, 6, UNI_LYDI } /* scx=lydian */, - { 0, 8424, 2086, 7, 10, UNI_CYRILLICSUP } /* block=cyrillicsup */, - { 0, 184, 8149, 2, 4, UNI_MULT } /* ismult */, - { 4, 3128, 0, 4, 0, UNI_IDSB } /* idsb */, - { 1, 3671, 6992, 18, 6, UNI_SOGD } /* scriptextensions=sogdian */, - { 36, 6898, 0, 4, 0, UNI_KHAR } /* khar */, - { 0, 9605, 4351, 3, 6, UNI_DT__MED } /* dt=medial */, - { 0, 8424, 2836, 6, 9, UNI_INSUNDANESE } /* block=sundanese */, - { 6039, 9647, 7500, 3, 8, UNI_NV__3_SLASH_16 } /* nv=1.88e-01 */, - { 3205, 4705, 4023, 3, 3, UNI_TALE } /* istale */, - { 1706, 7025, 7604, 3, 3, UNI_IN__4 } /* in=4.0 */, - { 12, 184, 9253, 2, 4, UNI_MIAO } /* ismiao */, - { 0, 3110, 0, 4, 0, UNI_GEOR } /* geor */, - { 0, 9365, 9293, 4, 4, UNI_OGAM } /* scx=ogam */, - { 3, 9849, 6318, 15, 8, UNI__PERL_CHARNAME_CONTINUE } /* _perl_charname_continue */, - { 268, 1362, 8722, 24, 2, UNI_CCC__15 } /* canonicalcombiningclass=15 */, - { 0, 8424, 1668, 6, 23, UNI_SUPPUNCTUATION } /* block=supplementalpunctuation */, - { 10, 949, 0, 27, 0, UNI_ALPHABETICPF } /* alphabeticpresentationforms */, - { 0, 9113, 6207, 4, 12, UNI_CCC__0 } /* ccc=notreordered */, - { 1056, 8592, 26, 6, 1, UNI_NFDQC__Y } /* nfdqc=y */, - { 10, 8886, 3020, 3, 10, UNI_SC__DEVA } /* sc=devanagari */, - { 0, 3980, 0, 7, 0, UNI_LINB } /* linearb */, - { 1, 9629, 1410, 3, 13, UNI_LB__CM } /* lb=combiningmark */, - { 1, 184, 9145, 2, 4, UNI_DSRT } /* isdsrt */, - { 0, 9093, 3535, 4, 17, UNI_CYRILLICEXTC } /* blk=cyrillicextendedc */, - { 0, 4705, 1086, 3, 3, UNI_TANG } /* istang */, - { 119, 5760, 0, 13, 0, UNI_nv_values_index } /* numericvalue= */, - { 0, 3671, 8502, 17, 6, UNI_GOTH } /* scriptextensions=gothic */, - { 3459, 9093, 8205, 4, 7, UNI_INOSMANYA } /* blk=osmanya */, - { 180, 9662, 995, 3, 2, -UNI_SD } /* sd=no */, - { 2, 9049, 5409, 4, 2, UNI_AGE__10 } /* age=10 */, - { 0, 9049, 9441, 4, 3, UNI_IN__1_DOT_1 } /* age=v11 */, - { 1, 1450, 5529, 5, 10, UNI_GREEKEXT } /* ingreekextended */, - { 0, 4580, 2780, 3, 8, UNI_INMONGOLIAN } /* inmongolian */, - { 34, 9093, 1189, 5, 4, UNI_INBATAK } /* blk=batak */, - { 1168, 9365, 9261, 4, 4, UNI_MRO } /* scx=mroo */, - { 0, 9093, 8914, 4, 5, UNI_INNUSHU } /* blk=nushu */, - { 2562, 2684, 6303, 19, 12, UNI_GCB__T } /* hangulsyllabletype=trailingjamo */, - { 0, 6723, 0, 11, 0, UNI_SYLO } /* sylotinagri */, - { 7075, 9093, 6948, 4, 10, UNI_MISCARROWS } /* blk=miscarrows */, - { 0, 9365, 1192, 4, 4, UNI_KANA } /* scx=kana */, - { 5, 3951, 7240, 3, 8, UNI_QAAI } /* isinherited */, - { 0, 2608, 0, 19, 0, UNI_EGYP } /* egyptianhieroglyphs */, - { 258, 3308, 0, 18, 0, UNI_SMALLKANAEXT } /* smallkanaextension */, - { 1, 8424, 2232, 6, 6, UNI_YIJING } /* block=yijing */, - { 6181, 5565, 0, 13, 0, UNI_jg_values_index } /* joininggroup= */, - { 528, 9093, 6183, 4, 12, UNI_INMENDEKIKAKUI } /* blk=mendekikakui */, - { 1291, 3688, 36, 17, 1, UNI_STERM } /* sentenceterminal=t */, - { 1, 8233, 7916, 7, 8, UNI_SC__MAHJ } /* script=mahajani */, - { 5844, 9241, 0, 4, 0, UNI_MEDF } /* medf */, - { 5, 9647, 8969, 3, 4, UNI_NV___MINUS_1_SLASH_2 } /* nv=-1/2 */, - { 2697, 3251, 995, 3, 2, -UNI_CE } /* ce=no */, - { 0, 9113, 8795, 5, 4, UNI_CCC__30 } /* ccc=ccc30 */, - { 3, 8233, 5967, 7, 6, UNI_HEBR } /* script=hebrew */, - { 0, 9093, 1314, 4, 24, UNI_ARABICPFA } /* blk=arabicpresentationformsa */, - { 5, 3671, 9297, 17, 4, UNI_OLCK } /* scriptextensions=olck */, - { 0, 5513, 36, 13, 1, UNI_GRBASE } /* graphemebase=t */, - { 0, 6816, 3773, 3, 10, UNI_BOPOMOFOEXT } /* inbopomofoext */, - { 2379, 6828, 4312, 10, 15, UNI_BC__CS } /* bidiclass=commonseparator */, - { 3202, 9605, 9668, 3, 3, UNI_DT__SQR } /* dt=sqr */, - { 1, 3671, 7341, 17, 4, UNI_PERM } /* scriptextensions=perm */, - { 0, 8884, 7320, 5, 9, UNI_INSC__NONJOINER } /* insc=nonjoiner */, - { 28, 184, 3038, 2, 4, UNI_ETHI } /* isethi */, - { 0, 6679, 995, 11, 2, -UNI_SD } /* softdotted=no */, - { 2089, 9623, 6795, 3, 3, UNI_JG__QAF } /* jg=qaf */, - { 2, 2106, 4195, 21, 9, UNI_WB__EB } /* graphemeclusterbreak=emodifier */, - { 2306, 6918, 9154, 10, 2, UNI_LB__CB } /* linebreak=cb */, - { 1683, 6005, 43, 3, 2, UNI_CJK } /* incjk */, - { 15, 184, 3, 3, 1, UNI_CF } /* iscf */, - { 5203, 8233, 7356, 7, 9, UNI_PALM } /* script=palmyrene */, - { 0, 6005, 8017, 3, 6, UNI_CJKEXTB } /* incjkextb */, - { 2089, 2453, 9434, 21, 3, UNI_TERM } /* terminalpunctuation=true */, - { 0, 5565, 5656, 13, 13, UNI_JG__MANICHAEANNUN } /* joininggroup=manichaeannun */, - { 0, 9620, 1855, 3, 2, UNI_CN } /* gc=cn */, - { 712, 7018, 7462, 10, 1, UNI_IN__4 } /* presentin=4 */, - { 1045, 8233, 2148, 7, 21, UNI_PRTI } /* script=inscriptionalparthian */, - { 3209, 1362, 9077, 24, 4, UNI_WB__EB } /* canonicalcombiningclass=atbl */, - { 0, 2741, 0, 4, 0, UNI_MERO } /* mero */, - { 4, 9608, 1, 3, 1, UNI_EA__N } /* ea=n */, - { 198, 21, 4989, 2, 14, UNI_KANGXI } /* inkangxiradicals */, - { 1, 8233, 9117, 7, 4, UNI_SC__CPRT } /* script=cprt */, - { 0, 8424, 7266, 6, 9, UNI_LATINEXTC } /* block=latinextc */, - { 3, 7203, 0, 9, 0, UNI_BHKS } /* bhaiksuki */, - { 1, 8332, 2514, 3, 18, UNI_ANCIENTGREEKNUMBERS } /* isancientgreeknumbers */, - { 2, 8424, 2086, 7, 20, UNI_CYRILLICSUP } /* block=cyrillicsupplementary */, - { 705, 3251, 26, 3, 1, UNI_CE } /* ce=y */, - { 30, 8935, 1153, 4, 3, UNI_ANY } /* unicode */, - { 0, 5760, 8989, 13, 4, UNI_NV__1_SLASH_80 } /* numericvalue=1/80 */, - { 2053, 184, 478, 2, 31, UNI_MATHALPHANUM } /* ismathematicalalphanumericsymbols */, - { 1046, 186, 0, 2, 0, UNI_CE } /* ce */, - { 3082, 8616, 9734, 6, 3, UNI_STERM } /* sterm=yes */, - { 3, 2393, 0, 20, 0, UNI_HMNP } /* nyiakengpuachuehmong */, - { 20, 7128, 18, 10, 2, UNI_RI } /* wordbreak=ri */, - { 12, 9647, 9500, 3, 3, UNI_NV__1_SLASH_7 } /* nv=1/7 */, - { 3076, 9647, 8382, 3, 6, UNI_NV__600000 } /* nv=600000 */, - { 2200, 9113, 9518, 4, 3, UNI_CCC__BL } /* ccc=218 */, - { 129, 9903, 8839, 6, 5, UNI_XPOSIXCNTRL } /* xposixcntrl */, - { 7824, 9904, 4829, 5, 5, UNI_POSIXDIGIT } /* posixdigit */, - { 8, 1030, 0, 27, 0, UNI_OCR } /* opticalcharacterrecognition */, - { 0, 6898, 0, 10, 0, UNI_KHAR } /* kharoshthi */, - { 3078, 2169, 0, 21, 0, UNI_MEETEIMAYEKEXT } /* meeteimayekextensions */, - { 0, 8886, 689, 3, 9, UNI_XSUX } /* sc=cuneiform */, - { 0, 1911, 2570, 22, 19, UNI_INSC__CONSONANTHEADLETTER } /* indicsyllabiccategory=consonantheadletter */, - { 2474, 21, 3964, 2, 16, UNI_LATIN1 } /* inlatin1supplement */, - { 2, 9909, 7357, 3, 8, UNI_PALM } /* ispalmyrene */, - { 2, 184, 3110, 2, 18, UNI_GEORGIANSUP } /* isgeorgiansupplement */, - { 2069, 9593, 3243, 3, 10, UNI_BC__WS } /* bc=whitespace */, - { 0, 119, 8503, 3, 5, UNI_INGOTHIC } /* ingothic */, - { 586, 9365, 8142, 4, 4, UNI_MARC } /* scx=marc */, - { 0, 1482, 6383, 3, 5, UNI_DOMINO } /* indomino */, - { 5270, 1497, 467, 9, 5, UNI_P } /* category=punct */, - { 520, 2493, 0, 20, 0, UNI_vo_values_index } /* verticalorientation= */, - { 1, 8879, 468, 3, 10, UNI_INPUNCTUATION } /* inpunctuation */, - { 0, 8884, 8646, 5, 6, UNI_INSC__VIRAMA } /* insc=virama */, - { 0, 8884, 4140, 5, 5, UNI_INSC__OTHER } /* insc=other */, - { 0, 3951, 5553, 3, 12, UNI_IPAEXT } /* isipaextensions */, - { 0, 7018, 9680, 10, 3, UNI_IN__3 } /* presentin=v30 */, - { 0, 9125, 36, 4, 1, UNI_CWT } /* cwt=t */, - { 0, 8685, 8864, 4, 5, -UNI_XPOSIXXDIGIT } /* hex=false */, - { 18, 1362, 7539, 24, 3, UNI_CCC__B } /* canonicalcombiningclass=220 */, - { 7433, 9599, 36, 3, 1, UNI_CI } /* ci=t */, - { 0, 9629, 3, 4, 1, UNI_LB__LF } /* lb=lf */, - { 1046, 184, 7275, 2, 9, UNI_LATINEXTD } /* islatinextd */, - { 0, 8424, 0, 6, 34, UNI_UCAS } /* block=unifiedcanadianaboriginalsyllabics */, - { 2390, 9647, 7462, 3, 2, UNI_NV__43 } /* nv=43 */, - { 0, 184, 1889, 2, 22, UNI_EARLYDYNASTICCUNEIFORM } /* isearlydynasticcuneiform */, - { 14, 4826, 1, 9, 1, -UNI_XPOSIXXDIGIT } /* hexdigit=n */, - { 51, 3671, 9185, 17, 4, UNI_HMNG } /* scriptextensions=hmng */, - { 3883, 9928, 3248, 5, 5, UNI_XPOSIXBLANK } /* horizspace */, - { 870, 4580, 6592, 3, 10, UNI_MYANMAREXTB } /* inmyanmarextb */ + { 5, 1417, 9937, 24, 3, UNI_CCC__AL } /* canonicalcombiningclass=228 */, + { 1, 1188, 9009, 3, 5, UNI_INTHAANA } /* inthaana */, + { 0, 4033, 24, 16, 1, UNI_L } /* generalcategory=l */, + { 8, 9277, 2817, 3, 19, UNI_MERO } /* sc=meroitichieroglyphs */, + { 4, 3836, 9628, 17, 4, UNI_LATN } /* scriptextensions=latn */, + { 1, 1834, 3, 22, 1, -UNI_CWT } /* changeswhentitlecased=f */, + { 2, 8774, 36, 6, 1, UNI_BIDIM } /* bidim=t */, + { 0, 5791, 5856, 13, 13, UNI_JG__MALAYALAMNNNA } /* joininggroup=malayalamnnna */, + { 11, 5791, 6289, 13, 12, UNI_JG__MALAYALAMBHA } /* joininggroup=malayalambha */, + { 99, 7218, 4538, 10, 15, UNI_LB__CB } /* linebreak=contingentbreak */, + { 84, 2218, 6842, 4, 9, UNI_INNANDINAGARI } /* innandinagari */, + { 5, 4916, 9009, 3, 3, UNI_THAA } /* isthaa */, + { 1, 1552, 7, 9, 1, UNI_C } /* category=c */, + { 150, 2218, 1912, 3, 10, UNI_NUMBERFORMS } /* innumberforms */, + { 5, 9277, 9285, 3, 5, UNI_SC__LIMB } /* sc=limbu */, + { 135, 9768, 9797, 5, 3, UNI_SYRC } /* scx=syrc */, + { 10, 184, 4273, 2, 7, UNI_MYMR } /* ismyanmar */, + { 3, 8780, 4598, 6, 15, UNI_DIACRITICALSEXT } /* block=diacriticalsext */, + { 0, 9488, 3025, 4, 18, UNI_CHEROKEESUP } /* blk=cherokeesupplement */, + { 1, 1790, 0, 21, 0, UNI_CWCM } /* changeswhencasemapped */, + { 1, 7155, 2742, 3, 18, UNI_JAMOEXTB } /* ishanguljamoextendedb */, + { 23, 8780, 4478, 6, 15, UNI_BRAI } /* block=braillepatterns */, + { 0, 10333, 10183, 7, 4, UNI_XPOSIXSPACE } /* isspaceperl */, + { 6, 10027, 5179, 3, 3, UNI_JG__HEH } /* jg=heh */, + { 0, 8589, 9580, 7, 4, UNI_SC__HANO } /* script=hano */, + { 26, 10182, 7739, 6, 7, UNI__PERL_IDSTART } /* _perl_idstart */, + { 0, 9350, 36, 5, 1, UNI_XIDS } /* xids=t */, + { 306, 2224, 3888, 3, 16, UNI_SUTTONSIGNWRITING } /* insuttonsignwriting */, + { 88, 7325, 9982, 3, 3, UNI_IN__6_DOT_3 } /* in=6.3 */, + { 258, 10006, 9836, 3, 4, UNI_DI } /* di=true */, + { 0, 8954, 17, 7, 1, -UNI__PERL_NCHAR } /* nchar=no */, + { 0, 184, 1723, 2, 23, UNI_SUPPUNCTUATION } /* issupplementalpunctuation */, + { 0, 10024, 1527, 3, 9, UNI__PERL_SURROGATE } /* gc=surrogate */, + { 0, 3836, 9724, 17, 4, UNI_PHNX } /* scriptextensions=phnx */, + { 232, 6840, 0, 4, 0, UNI_NAND } /* nand */, + { 1, 10027, 5892, 3, 3, UNI_JG__NUN } /* jg=nun */, + { 32, 10327, 3379, 6, 5, UNI_POSIXSPACE } /* isperlspace */, + { 0, 7168, 0, 10, 0, UNI_DIAK } /* divesakuru */, + { 1, 2836, 0, 19, 0, UNI_MODIFIERTONELETTERS } /* modifiertoneletters */, + { 1, 8858, 10135, 6, 3, UNI_ECOMP } /* ecomp=yes */, + { 0, 9768, 9500, 4, 4, UNI_CAKM } /* scx=cakm */, + { 1, 7218, 9713, 10, 2, UNI_LB__SG } /* linebreak=sg */, + { 0, 9768, 7558, 4, 9, UNI_QAAI } /* scx=inherited */, + { 33, 9250, 10135, 5, 3, UNI_EMOD } /* emod=yes */, + { 0, 1273, 36, 21, 1, UNI_CE } /* compositionexclusion=t */, + { 0, 1417, 5377, 24, 2, UNI_CCC__7 } /* canonicalcombiningclass=nk */, + { 0, 1979, 0, 10, 1, UNI_UPPERCASELETTER } /* category=lu */, + { 1, 9488, 6181, 4, 12, UNI_INGUNJALAGONDI } /* blk=gunjalagondi */, + { 0, 9277, 9305, 3, 5, UNI_NSHU } /* sc=nushu */, + { 2, 7128, 0, 10, 0, UNI_CJKSTROKES } /* cjkstrokes */, + { 1, 9488, 7358, 4, 10, UNI_INSAURASHTRA } /* blk=saurashtra */, + { 2, 184, 9624, 2, 3, UNI_LAO } /* islao */, + { 0, 5986, 8002, 13, 2, UNI_NV__26 } /* numericvalue=26 */, + { 0, 7218, 10162, 10, 2, UNI_GCB__L } /* linebreak=jl */, + { 32, 9508, 9141, 5, 4, UNI_CCC__22 } /* ccc=ccc22 */, + { 3, 3836, 8900, 17, 6, UNI_KTHI } /* scriptextensions=kaithi */, + { 1, 4360, 0, 4, 0, UNI_EMOD } /* emod */, + { 97, 10132, 1822, 3, 2, UNI_WB__NL } /* wb=nl */, + { 1, 3836, 9500, 17, 4, UNI_CAKM } /* scriptextensions=cakm */, + { 1, 9768, 2429, 4, 20, UNI_PHLI } /* scx=inscriptionalpahlavi */, + { 0, 9488, 9335, 4, 5, UNI_INTAKRI } /* blk=takri */, + { 0, 5438, 0, 14, 0, UNI_SK } /* modifiersymbol */, + { 0, 8512, 10135, 7, 3, UNI_NFKCQC__Y } /* nfkcqc=yes */, + { 64, 9768, 9876, 4, 4, UNI_XSUX } /* scx=xsux */, + { 0, 5037, 10135, 9, 3, UNI_XPOSIXXDIGIT } /* hexdigit=yes */, + { 11, 2161, 10135, 21, 3, UNI_EXTPICT } /* extendedpictographic=yes */, + { 1, 6928, 9255, 11, 5, -UNI_SD } /* softdotted=false */, + { 0, 1189, 5904, 3, 4, UNI_NV__NAN } /* nt=none */, + { 32, 1856, 10135, 22, 3, UNI_CWU } /* changeswhenuppercased=yes */, + { 4, 9488, 0, 4, 42, UNI_UCASEXT } /* blk=unifiedcanadianaboriginalsyllabicsextended */, + { 6, 8315, 0, 4, 0, UNI_UGAR } /* ugar */, + { 81, 5986, 8732, 13, 3, UNI_NV__500 } /* numericvalue=500 */, + { 12, 6928, 0, 11, 0, UNI_sd_values_index } /* softdotted= */, + { 0, 9277, 7675, 3, 9, UNI_PALM } /* sc=palmyrene */, + { 1, 9768, 4370, 5, 5, UNI_SYRC } /* scx=syriac */, + { 2, 7438, 1218, 10, 2, UNI_WB__KA } /* wordbreak=ka */, + { 4, 9768, 9676, 4, 4, UNI_NARB } /* scx=narb */, + { 0, 2760, 0, 19, 0, UNI_hst_values_index } /* hangulsyllabletype= */, + { 9, 2760, 6541, 19, 12, UNI_GCB__T } /* hangulsyllabletype=trailingjamo */, + { 3, 3836, 6886, 18, 3, UNI_SHAW } /* scriptextensions=shaw */, + { 332, 6061, 26, 12, 1, UNI_BIDIC } /* bidicontrol=y */, + { 0, 3836, 7, 17, 18, UNI_CANS } /* scriptextensions=canadianaboriginal */, + { 30, 7228, 1025, 10, 2, -UNI_XPOSIXLOWER } /* lowercase=no */, + { 8, 9444, 9400, 4, 4, UNI_AGE__13 } /* age=13.0 */, + { 4, 2032, 9836, 22, 4, UNI__PERL_NCHAR } /* noncharactercodepoint=true */, + { 0, 6840, 0, 11, 0, UNI_NAND } /* nandinagari */, + { 1, 10333, 6792, 3, 3, UNI_SAMR } /* issamr */, + { 0, 9488, 2119, 4, 14, UNI_CJKRADICALSSUP } /* blk=cjkradicalssup */, + { 0, 5550, 0, 14, 0, UNI_PHLP } /* psalterpahlavi */, + { 0, 9768, 9496, 4, 4, UNI_BUHD } /* scx=buhd */, + { 0, 2280, 7650, 4, 7, UNI_ITAL } /* isolditalic */, + { 4, 10048, 7789, 3, 2, UNI_NV__50 } /* nv=50 */, + { 532, 9277, 9532, 3, 4, UNI_SC__CYRL } /* sc=cyrl */, + { 117, 5791, 10000, 13, 3, UNI_JG__BEH } /* joininggroup=beh */, + { 0, 8589, 8942, 7, 4, UNI_LYDI } /* script=lydi */, + { 4, 8589, 8666, 7, 4, UNI_SC__TIRH } /* script=tirh */, + { 512, 9277, 3169, 3, 8, UNI_ETHI } /* sc=ethiopic */, + { 0, 9768, 9860, 4, 3, UNI_VAI } /* scx=vai */, + { 544, 4688, 7208, 15, 10, UNI_IDENTIFIERTYPE__LIMITEDUSE } /* identifiertype=limiteduse */, + { 0, 9488, 1723, 4, 23, UNI_SUPPUNCTUATION } /* blk=supplementalpunctuation */, + { 0, 7218, 5046, 10, 14, UNI_LB__CR } /* linebreak=carriagereturn */, + { 0, 184, 8394, 3, 6, UNI_CJKEXTG } /* iscjkextg */, + { 2, 4916, 4188, 3, 3, UNI_TALE } /* istale */, + { 0, 6609, 9255, 11, 5, -UNI_DEP } /* deprecated=false */, + { 26, 8780, 3115, 6, 18, UNI_DEVANAGARIEXT } /* block=devanagariextended */, + { 1, 9488, 2589, 4, 19, UNI_ANCIENTGREEKNUMBERS } /* blk=ancientgreeknumbers */, + { 0, 5324, 8245, 4, 6, UNI_INMAHAJANI } /* inmahajani */, + { 0, 8858, 3, 6, 1, -UNI_ECOMP } /* ecomp=f */, + { 0, 9768, 6796, 4, 11, UNI_MEDF } /* scx=medefaidrin */, + { 0, 5986, 8082, 13, 2, UNI_NV__19 } /* numericvalue=19 */, + { 0, 7318, 7408, 10, 10, UNI_AGE__NA } /* presentin=unassigned */, + { 32, 6231, 8841, 3, 5, UNI_INCHAKMA } /* inchakma */, + { 0, 1087, 0, 27, 0, UNI_pcm_values_index } /* prependedconcatenationmark= */, + { 1, 8780, 9828, 6, 4, UNI_INTHAI } /* block=thai */, + { 0, 2287, 0, 21, 0, UNI_SINHALAARCHAICNUMBERS } /* sinhalaarchaicnumbers */, + { 0, 9290, 1, 5, 1, -UNI_MATH } /* math=n */, + { 40, 9768, 2061, 4, 4, UNI_MODI } /* scx=modi */, + { 0, 1060, 0, 27, 0, UNI_OCR } /* opticalcharacterrecognition */, + { 0, 3097, 1309, 18, 3, UNI_DT__SUB } /* decompositiontype=sub */, + { 82, 10027, 7148, 3, 10, UNI_JG__DALATHRISH } /* jg=dalathrish */, + { 0, 7318, 10087, 10, 3, UNI_IN__3_DOT_2 } /* presentin=v32 */, + { 65, 10033, 751, 3, 2, UNI_LB__CL } /* lb=cl */, + { 0, 9240, 3, 5, 1, -UNI_DASH } /* dash=f */, + { 0, 3836, 9544, 17, 4, UNI_DIAK } /* scriptextensions=diak */, + { 0, 9275, 1244, 5, 25, UNI_INSC__CONSONANTINITIALPOSTFIXED } /* insc=consonantinitialpostfixed */, + { 1, 4116, 447, 3, 31, UNI_IDEOGRAPHICSYMBOLS } /* isideographicsymbolsandpunctuation */, + { 0, 9488, 7648, 4, 9, UNI_INOLDITALIC } /* blk=olditalic */, + { 1, 7325, 7469, 3, 1, UNI_IN__5 } /* in=5 */, + { 11, 4628, 1204, 15, 9, UNI_EA__F } /* eastasianwidth=fullwidth */, + { 9, 3133, 9836, 18, 4, UNI_EBASE } /* emojimodifierbase=true */, + { 73, 9277, 6972, 3, 4, UNI_SC__SYLO } /* sc=sylo */, + { 4, 6061, 9836, 12, 4, UNI_BIDIC } /* bidicontrol=true */, + { 0, 184, 5284, 2, 4, UNI_LISU } /* islisu */, + { 1, 3836, 8421, 17, 7, UNI_ELYM } /* scriptextensions=elymaic */, + { 0, 9230, 0, 5, 0, UNI_cwcf_values_index } /* cwcf= */, + { 0, 184, 1561, 2, 24, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* issupsymbolsandpictographs */, + { 0, 4658, 3, 15, 1, -UNI_GREXT } /* graphemeextend=f */, + { 1, 9488, 217, 4, 33, UNI_DIACRITICALSEXT } /* blk=combiningdiacriticalmarksextended */, + { 1, 5578, 6556, 15, 8, UNI_SB__SC } /* sentencebreak=scontinue */, + { 3, 9250, 9836, 5, 4, UNI_EMOD } /* emod=true */, + { 98, 9260, 36, 5, 1, UNI_IDSB } /* idsb=t */, + { 173, 1966, 6457, 22, 12, UNI_INSC__NUMBERJOINER } /* indicsyllabiccategory=numberjoiner */, + { 104, 4688, 0, 15, 0, UNI_identifiertype_values_index } /* identifiertype= */, + { 260, 8589, 9576, 7, 4, UNI_SC__GURU } /* script=guru */, + { 16, 3836, 9696, 17, 4, UNI_OGAM } /* scriptextensions=ogam */, + { 1, 8400, 9255, 7, 5, -UNI_COMPEX } /* compex=false */, + { 36, 10296, 3379, 7, 5, UNI_POSIXSPACE } /* isposixspace */, + { 0, 9508, 9946, 4, 3, UNI_CCC__DB } /* ccc=233 */, + { 0, 6109, 0, 12, 0, UNI_CYRILLICEXTB } /* cyrillicextb */, + { 0, 184, 8900, 2, 6, UNI_KTHI } /* iskaithi */, + { 0, 951, 0, 28, 0, UNI_VSSUP } /* variationselectorssupplement */, + { 276, 9596, 5973, 4, 13, UNI_HST__NA } /* hst=notapplicable */, + { 61, 1723, 0, 23, 0, UNI_SUPPUNCTUATION } /* supplementalpunctuation */, + { 3, 3097, 4017, 18, 5, UNI_DT__FIN } /* decompositiontype=final */, + { 0, 9345, 9836, 5, 4, UNI_XIDC } /* xidc=true */, + { 461, 8589, 9793, 8, 3, UNI_SOGO } /* script=sogo */, + { 0, 8780, 5032, 6, 5, UNI_ASCII } /* block=ascii */, + { 0, 8589, 9624, 7, 4, UNI_LAO } /* script=laoo */, + { 5, 2288, 2205, 4, 12, UNI_INHANIFIROHINGYA } /* inhanifirohingya */, + { 3, 42, 0, 26, 0, UNI_CJKCOMPATIDEOGRAPHS } /* cjkcompatibilityideographs */, + { 1, 8780, 5284, 6, 14, UNI_LISUSUP } /* block=lisusupplement */, + { 0, 8291, 0, 4, 0, UNI_TAGB } /* tagb */, + { 0, 4989, 7409, 3, 9, UNI_CN } /* isunassigned */, + { 10, 8870, 36, 6, 1, UNI_EPRES } /* epres=t */, + { 1, 9488, 5960, 4, 13, UNI_MISCTECHNICAL } /* blk=misctechnical */, + { 6, 8589, 8645, 7, 7, UNI_LANA } /* script=taitham */, + { 5, 9488, 1006, 4, 27, UNI_ANCIENTGREEKMUSIC } /* blk=ancientgreekmusicalnotation */, + { 0, 4113, 4974, 3, 7, UNI_VEDICEXT } /* invedicext */, + { 2, 122, 0, 9, 0, UNI_DIA } /* diacritic */, + { 0, 1812, 1, 22, 1, -UNI_CWL } /* changeswhenlowercased=n */, + { 71, 9488, 3870, 4, 17, UNI_SMALLFORMS } /* blk=smallformvariants */, + { 0, 2224, 1724, 3, 22, UNI_SUPPUNCTUATION } /* insupplementalpunctuation */, + { 32, 184, 84, 2, 4, UNI_MATH } /* ismath */, + { 0, 6231, 1879, 3, 21, UNI_CJKCOMPATIDEOGRAPHSSUP } /* incjkcompatideographssup */, + { 0, 8780, 7648, 6, 9, UNI_INOLDITALIC } /* block=olditalic */, + { 0, 9768, 8179, 4, 8, UNI_GURU } /* scx=gurmukhi */, + { 3, 184, 1171, 2, 2, UNI_TITLE } /* islt */, + { 0, 3836, 6840, 17, 11, UNI_NAND } /* scriptextensions=nandinagari */, + { 0, 1966, 2844, 22, 10, UNI_INSC__TONELETTER } /* indicsyllabiccategory=toneletter */, + { 1, 3547, 0, 17, 0, UNI_ALCHEMICAL } /* alchemicalsymbols */, + { 0, 8421, 0, 7, 0, UNI_ELYM } /* elymaic */, + { 3, 10048, 10152, 3, 2, UNI_NV__49 } /* nv=49 */, + { 0, 9488, 9315, 4, 5, UNI_INORIYA } /* blk=oriya */, + { 35, 9277, 8315, 3, 4, UNI_UGAR } /* sc=ugar */, + { 0, 9508, 9156, 5, 4, UNI_CCC__25 } /* ccc=ccc25 */, + { 36, 3836, 5171, 17, 4, UNI_CHAM } /* scriptextensions=cham */, + { 6, 4033, 1186, 16, 2, UNI_PO } /* generalcategory=po */, + { 2, 8882, 1, 6, 1, -UNI_GREXT } /* grext=n */, + { 17, 9277, 9816, 3, 4, UNI_TAVT } /* sc=tavt */, + { 0, 1563, 0, 2, 0, UNI_PS } /* ps */, + { 66, 9488, 8906, 4, 6, UNI_KANBUN } /* blk=kanbun */, + { 0, 9444, 8043, 4, 3, UNI_AGE__8 } /* age=8.0 */, + { 0, 9290, 1025, 5, 2, -UNI_MATH } /* math=no */, + { 11, 1979, 36, 10, 1, UNI_TITLE } /* category=lt */, + { 3, 10048, 9976, 3, 3, UNI_NV__5_SLASH_8 } /* nv=5/8 */, + { 0, 8997, 0, 6, 0, UNI_TERM } /* term=t */, + { 0, 184, 6730, 2, 11, UNI_KATAKANAEXT } /* iskatakanaext */, + { 262, 8780, 3600, 6, 4, UNI_UCAS } /* block=ucas */, + { 8, 7155, 9593, 3, 3, UNI_HMNP } /* ishmnp */, + { 5, 7155, 1193, 3, 25, UNI_HALFANDFULLFORMS } /* ishalfwidthandfullwidthforms */, + { 316, 9768, 8597, 5, 6, UNI_SHRD } /* scx=sharada */, + { 0, 1988, 36, 22, 1, UNI_LOE } /* logicalorderexception=t */, + { 0, 3374, 1, 11, 1, -UNI_XPOSIXSPACE } /* whitespace=n */, + { 0, 9444, 10075, 4, 3, UNI_AGE__2 } /* age=v20 */, + { 8, 9444, 9955, 4, 3, UNI_AGE__3_DOT_2 } /* age=3.2 */, + { 0, 2288, 8444, 4, 5, UNI_INHANUNOO } /* inhanunoo */, + { 0, 6231, 510, 3, 29, UNI_CJKEXTA } /* incjkunifiedideographsextensiona */, + { 2, 184, 6098, 3, 11, UNI_CYRILLICEXTA } /* iscyrillicexta */, + { 0, 10060, 1, 3, 1, -UNI_RI } /* ri=n */, + { 0, 6231, 8352, 3, 6, UNI_CJKEXTA } /* incjkexta */, + { 0, 1988, 9255, 22, 5, -UNI_LOE } /* logicalorderexception=false */, + { 2, 5791, 7045, 13, 3, UNI_JG__FEH } /* joininggroup=feh */, + { 64, 4116, 325, 3, 3, UNI_ITAL } /* isital */, + { 0, 7088, 10042, 10, 3, UNI_BC__LRO } /* bidiclass=lro */, + { 47, 7155, 8, 3, 2, UNI_HAN } /* ishan */, + { 0, 5986, 7765, 13, 2, UNI_NV__25 } /* numericvalue=25 */, + { 3, 9488, 4340, 4, 13, UNI_MATHOPERATORS } /* blk=mathoperators */, + { 0, 10033, 8680, 3, 7, UNI_LB__XX } /* lb=unknown */, + { 2, 10024, 1059, 3, 2, UNI_SO } /* gc=so */, + { 8, 7088, 407, 10, 2, UNI_BC__ON } /* bidiclass=on */, + { 3, 4245, 0, 10, 0, UNI_SM } /* mathsymbol */, + { 32, 8780, 4928, 6, 5, UNI_INTAMIL } /* block=tamil */, + { 0, 9488, 5550, 4, 14, UNI_INPSALTERPAHLAVI } /* blk=psalterpahlavi */, + { 3, 8870, 1025, 6, 2, -UNI_EPRES } /* epres=no */, + { 4, 9876, 0, 4, 0, UNI_XSUX } /* xsux */, + { 3, 8966, 0, 7, 0, UNI_DT__CAN } /* nfdqc=n */, + { 4, 9265, 9255, 5, 5, -UNI_IDST } /* idst=false */, + { 11, 7218, 5088, 10, 14, UNI_LB__SA } /* linebreak=complexcontext */, + { 1, 3836, 3598, 17, 17, UNI_AGHB } /* scriptextensions=caucasianalbanian */, + { 0, 8780, 4049, 6, 16, UNI_GEORGIANEXT } /* block=georgianextended */, + { 10, 3385, 1, 18, 1, -UNI_RI } /* regionalindicator=n */, + { 0, 8589, 9095, 7, 5, UNI_SC__BUHD } /* script=buhid */, + { 1, 10024, 10170, 3, 2, UNI_CASEDLETTER } /* gc=l_ */, + { 1, 5791, 6774, 13, 11, UNI_JG__MALAYALAMJA } /* joininggroup=malayalamja */, + { 4, 117, 5779, 3, 12, UNI_IPAEXT } /* inipaextensions */, + { 56, 5986, 8756, 13, 6, UNI_NV__900000 } /* numericvalue=900000 */, + { 2, 8589, 3169, 7, 8, UNI_ETHI } /* script=ethiopic */, + { 0, 10033, 2444, 3, 2, UNI_LB__HL } /* lb=hl */, + { 6, 1114, 9255, 26, 5, -UNI_CWKCF } /* changeswhennfkccasefolded=false */, + { 0, 10027, 9044, 3, 4, UNI_JG__YUDH } /* jg=yudh */, + { 2, 4385, 0, 6, 0, UNI_TANG } /* tangut */, + { 2, 8780, 2245, 6, 14, UNI_MEETEIMAYEKEXT } /* block=meeteimayekext */, + { 32, 3836, 9330, 17, 5, UNI_TALE } /* scriptextensions=taile */, + { 0, 3836, 8107, 17, 4, UNI_BALI } /* scriptextensions=bali */, + { 32, 5986, 5648, 13, 7, UNI_NV__1000000 } /* numericvalue=1000000 */, + { 24, 8780, 4369, 6, 6, UNI_INSYRIAC } /* block=syriac */, + { 206, 4838, 17, 16, 1, UNI_NFKCQC__N } /* nfkcquickcheck=no */, + { 2, 6061, 3, 12, 1, -UNI_BIDIC } /* bidicontrol=f */, + { 0, 9277, 8344, 3, 4, UNI_SC__BENG } /* sc=beng */, + { 0, 9277, 9544, 3, 4, UNI_DIAK } /* sc=diak */, + { 426, 4369, 0, 16, 0, UNI_SYRIACSUP } /* syriacsupplement */, + { 1, 6231, 1902, 4, 20, UNI_INDICNUMBERFORMS } /* incommonindicnumberforms */, + { 1, 10027, 9075, 3, 5, UNI_JG__ALAPH } /* jg=alaph */, + { 2, 4478, 0, 7, 0, UNI_BRAI } /* braille */, + { 1, 8589, 1654, 7, 6, UNI_SC__HANG } /* script=hangul */, + { 68, 9508, 8817, 5, 5, UNI_CCC__129 } /* ccc=ccc129 */, + { 0, 9015, 3, 5, 1, -UNI_IDEO } /* ideo=f */, + { 8, 1417, 9472, 24, 3, UNI_CCC__202 } /* canonicalcombiningclass=atb */, + { 24, 184, 4613, 2, 15, UNI_DIACRITICALSSUP } /* isdiacriticalssup */, + { 0, 9488, 4337, 4, 16, UNI_SUPMATHOPERATORS } /* blk=supmathoperators */, + { 7, 1594, 0, 14, 0, UNI_MUSIC } /* musicalsymbols */, + { 97, 4791, 2247, 4, 12, UNI_MEETEIMAYEKEXT } /* inmeeteimayekext */, + { 3, 184, 1344, 2, 25, UNI_SYMBOLSFORLEGACYCOMPUTING } /* issymbolsforlegacycomputing */, + { 51, 9488, 446, 4, 18, UNI_IDEOGRAPHICSYMBOLS } /* blk=ideographicsymbols */, + { 10, 9488, 5284, 4, 14, UNI_LISUSUP } /* blk=lisusupplement */, + { 0, 9620, 0, 4, 0, UNI_LANA } /* lana */, + { 0, 9488, 1631, 4, 23, UNI_GEOMETRICSHAPESEXT } /* blk=geometricshapesextended */, + { 0, 6231, 1442, 3, 9, UNI_CJKSYMBOLS } /* incjksymbols */, + { 0, 10132, 727, 3, 2, UNI_WB__MN } /* wb=mn */, + { 68, 1166, 10135, 26, 3, UNI_DI } /* defaultignorablecodepoint=yes */, + { 0, 1188, 8639, 3, 6, UNI_INTAGALOG } /* intagalog */, + { 320, 9488, 6796, 4, 11, UNI_INMEDEFAIDRIN } /* blk=medefaidrin */, + { 402, 3836, 8491, 17, 4, UNI_MARC } /* scriptextensions=marc */, + { 4, 9488, 5752, 4, 8, UNI_GREEKEXT } /* blk=greekext */, + { 1, 7088, 4465, 12, 13, UNI_BC__BN } /* bidiclass=boundaryneutral */, + { 91, 8688, 863, 4, 4, UNI_ARROWS } /* isarrows */, + { 0, 184, 867, 2, 18, UNI_PHONETICEXT } /* isphoneticextensions */, + { 0, 8107, 0, 4, 0, UNI_BALI } /* bali */, + { 1, 10333, 4370, 3, 8, UNI_SYRIACSUP } /* issyriacsup */, + { 0, 8337, 0, 7, 0, UNI_AVST } /* avestan */, + { 8, 184, 43, 3, 2, UNI_CJK } /* iscjk */, + { 0, 9488, 8470, 4, 7, UNI_INLINEARA } /* blk=lineara */, + { 0, 9768, 4145, 4, 7, UNI_LINB } /* scx=linearb */, + { 496, 7325, 7979, 3, 3, UNI_IN__6 } /* in=6.0 */, + { 0, 2218, 7623, 4, 7, UNI_INNABATAEAN } /* innabataean */, + { 22, 9748, 0, 4, 0, UNI_RJNG } /* rjng */, + { 0, 3836, 9736, 17, 4, UNI_COPT } /* scriptextensions=qaac */, + { 97, 2784, 4435, 4, 13, UNI_ARABICEXTA } /* inarabicextendeda */, + { 38, 9444, 9967, 4, 3, UNI_AGE__5_DOT_1 } /* age=5.1 */, + { 121, 3836, 8876, 17, 4, UNI_GOTH } /* scriptextensions=goth */, + { 5, 10033, 83, 3, 2, UNI_LB__CM } /* lb=cm */, + { 4, 9997, 102, 3, 2, UNI_BC__ET } /* bc=et */, + { 0, 5452, 10135, 14, 3, UNI_NFCQC__Y } /* nfcquickcheck=yes */, + { 12, 9488, 3025, 4, 8, UNI_INCHEROKEE } /* blk=cherokee */, + { 72, 9524, 10135, 4, 3, UNI_CWT } /* cwt=yes */, + { 22, 9277, 2485, 3, 4, UNI_SC__MONG } /* sc=mong */, + { 136, 8267, 1, 8, 1, -UNI_RADICAL } /* radical=n */, + { 68, 8219, 0, 8, 0, UNI_JAVA } /* javanese */, + { 1, 21, 9066, 3, 4, UNI_INADLAM } /* inadlam */, + { 385, 1966, 1608, 22, 23, UNI_INSC__CONSONANTPRECEDINGREPHA } /* indicsyllabiccategory=consonantprecedingrepha */, + { 0, 6576, 3, 11, 1, -UNI_XPOSIXALPHA } /* alphabetic=f */, + { 8, 5986, 7978, 13, 2, UNI_NV__16 } /* numericvalue=16 */, + { 41, 1552, 598, 9, 2, UNI_XPOSIXCNTRL } /* category=cc */, + { 8, 6241, 0, 12, 1, UNI_JT__U } /* joiningtype=u */, + { 2, 10024, 6598, 3, 11, UNI_CASEDLETTER } /* gc=casedletter */, + { 0, 9250, 1, 5, 1, -UNI_EMOD } /* emod=n */, + { 1, 6121, 0, 12, 0, UNI_CYRILLICEXTC } /* cyrillicextc */, + { 0, 6554, 0, 10, 0, UNI_IDC } /* idcontinue */, + { 0, 2760, 6741, 19, 11, UNI_GCB__L } /* hangulsyllabletype=leadingjamo */, + { 2, 5986, 9988, 13, 3, UNI_NV__7_SLASH_8 } /* numericvalue=7/8 */, + { 38, 5578, 1194, 14, 2, UNI_LB__LF } /* sentencebreak=lf */, + { 7, 10132, 3385, 3, 17, UNI_RI } /* wb=regionalindicator */, + { 2, 8589, 8428, 7, 4, UNI_SC__GRAN } /* script=gran */, + { 1, 4838, 9295, 15, 5, UNI_NFCQC__M } /* nfkcquickcheck=maybe */, + { 0, 9768, 9310, 4, 5, UNI_OGAM } /* scx=ogham */, + { 1, 3424, 1, 3, 33, UNI_UCAS } /* inunifiedcanadianaboriginalsyllabics */, + { 12, 21, 5804, 2, 13, UNI_KANAEXTA } /* inkanaextendeda */, + { 1, 1044, 0, 6, 0, UNI_L } /* letter */, + { 106, 9508, 9943, 4, 3, UNI_CCC__AR } /* ccc=232 */, + { 0, 7738, 3, 9, 1, -UNI_XIDS } /* xidstart=f */, + { 0, 184, 8491, 2, 7, UNI_MARC } /* ismarchen */, + { 32, 8589, 3751, 7, 17, UNI_KITS } /* script=khitansmallscript */, + { 0, 2280, 4899, 3, 14, UNI_PS } /* isopenpunctuation */, + { 1, 8780, 3241, 6, 11, UNI_GEORGIANSUP } /* block=georgiansup */, + { 1, 5791, 2203, 13, 21, UNI_JG__HANIFIROHINGYAKINNAYA } /* joininggroup=hanifirohingyakinnaya */, + { 92, 1966, 5144, 22, 14, UNI_INSC__GEMINATIONMARK } /* indicsyllabiccategory=geminationmark */, + { 0, 9768, 9085, 4, 5, UNI_BATK } /* scx=batak */, + { 1, 9768, 9652, 4, 4, UNI_MERC } /* scx=merc */, + { 0, 96, 0, 5, 0, UNI_XPOSIXALPHA } /* alpha */, + { 12, 8589, 9632, 7, 4, UNI_SC__LINA } /* script=lina */, + { 4, 8498, 0, 7, 0, UNI_MULT } /* multani */, + { 17, 1966, 9026, 22, 6, UNI_INSC__VIRAMA } /* indicsyllabiccategory=virama */, + { 0, 7438, 2444, 10, 2, UNI_LB__HL } /* wordbreak=hl */, + { 258, 7318, 9844, 10, 4, UNI_IN__11 } /* presentin=v110 */, + { 0, 9768, 9440, 4, 4, UNI_ADLM } /* scx=adlm */, + { 0, 8589, 7118, 7, 10, UNI_CHRS } /* script=chorasmian */, + { 36, 5508, 9836, 14, 4, UNI_PATSYN } /* patternsyntax=true */, + { 2, 3836, 9656, 17, 4, UNI_MIAO } /* scriptextensions=miao */, + { 25, 3097, 8195, 18, 8, UNI_DT__ISO } /* decompositiontype=isolated */, + { 45, 5791, 5336, 13, 4, UNI_JG__BETH } /* joininggroup=beth */, + { 3, 10048, 10150, 3, 2, UNI_NV__48 } /* nv=48 */, + { 4, 4853, 1025, 15, 2, UNI_NFKDQC__N } /* nfkdquickcheck=no */, + { 1, 10048, 8756, 3, 6, UNI_NV__900000 } /* nv=900000 */, + { 7, 9346, 36, 4, 1, UNI_IDC } /* idc=t */, + { 1, 10024, 5438, 3, 14, UNI_SK } /* gc=modifiersymbol */, + { 0, 9444, 7923, 4, 3, UNI_AGE__4 } /* age=4.0 */, + { 1, 9488, 4369, 4, 6, UNI_INSYRIAC } /* blk=syriac */, + { 69, 4916, 9004, 4, 4, UNI_TELU } /* istelugu */, + { 8, 184, 1287, 2, 2, UNI_UPPERCASELETTER } /* islu */, + { 0, 8589, 2203, 7, 4, UNI_SC__HAN } /* script=hani */, + { 1, 6928, 36, 11, 1, UNI_SD } /* softdotted=t */, + { 14, 9508, 9472, 4, 3, UNI_CCC__202 } /* ccc=atb */, + { 3, 3836, 9816, 17, 4, UNI_TAVT } /* scriptextensions=tavt */, + { 0, 9277, 9620, 3, 4, UNI_LANA } /* sc=lana */, + { 0, 7739, 1, 8, 1, -UNI_IDS } /* idstart=n */, + { 5, 7218, 8449, 10, 2, UNI_LB__HY } /* linebreak=hy */, + { 49, 8780, 3331, 6, 18, UNI_ORNAMENTALDINGBATS } /* block=ornamentaldingbats */, + { 0, 8780, 8091, 6, 8, UNI_INARMENIAN } /* block=armenian */, + { 41, 9488, 4049, 4, 11, UNI_GEORGIANEXT } /* blk=georgianext */, + { 0, 9351, 1, 4, 1, -UNI_IDS } /* ids=n */, + { 49, 9444, 10078, 4, 3, UNI_AGE__2_DOT_1 } /* age=v21 */, + { 134, 10009, 1309, 3, 3, UNI_DT__SUB } /* dt=sub */, + { 296, 9277, 9464, 3, 4, UNI_ARMN } /* sc=armn */, + { 6, 8780, 7168, 6, 10, UNI_INDIVESAKURU } /* block=divesakuru */, + { 0, 8694, 3, 7, 1, -UNI_XPOSIXSPACE } /* wspace=f */, + { 100, 10132, 7729, 3, 9, UNI_WB__WSEGSPACE } /* wb=wsegspace */, + { 1, 5791, 5480, 13, 14, UNI_JG__NOJOININGGROUP } /* joininggroup=nojoininggroup */, + { 257, 3259, 9836, 18, 4, UNI_IDSB } /* idsbinaryoperator=true */, + { 590, 5986, 9961, 13, 3, UNI_NV__3_SLASH_5 } /* numericvalue=3/5 */, + { 2, 7218, 5536, 10, 14, UNI_LB__PO } /* linebreak=postfixnumeric */, + { 39, 7428, 0, 4, 0, UNI_WARA } /* wara */, + { 0, 6231, 8387, 3, 6, UNI_CJKEXTF } /* incjkextf */, + { 0, 184, 8123, 2, 8, UNI_BUGI } /* isbuginese */, + { 0, 8509, 811, 4, 20, UNI_ENCLOSEDIDEOGRAPHICSUP } /* inenclosedideographicsup */, + { 1, 5986, 7922, 13, 2, UNI_NV__24 } /* numericvalue=24 */, + { 0, 9277, 7630, 3, 9, UNI_TALU } /* sc=newtailue */, + { 32, 8780, 2741, 6, 19, UNI_JAMOEXTB } /* block=hanguljamoextendedb */, + { 2, 10346, 1182, 5, 4, UNI_ANY } /* isunicode */, + { 128, 5060, 36, 14, 1, UNI_CI } /* caseignorable=t */, + { 0, 9508, 9151, 5, 4, UNI_CCC__24 } /* ccc=ccc24 */, + { 0, 9071, 36, 4, 1, UNI_XPOSIXXDIGIT } /* hex=t */, + { 0, 6231, 540, 3, 29, UNI_CJKEXTB } /* incjkunifiedideographsextensionb */, + { 107, 10296, 0, 3, 0, UNI_P } /* isp */, + { 0, 8115, 0, 8, 0, UNI_BASS } /* bassavah */, + { 16, 7540, 0, 9, 0, UNI_ext_values_index } /* extender= */, + { 128, 184, 9484, 2, 4, UNI_BHKS } /* isbhks */, + { 21, 8864, 26, 6, 1, UNI_EMOJI } /* emoji=y */, + { 0, 5986, 5648, 13, 11, UNI_NV__10000000000 } /* numericvalue=10000000000 */, + { 0, 4340, 0, 13, 0, UNI_MATHOPERATORS } /* mathoperators */, + { 0, 9768, 7359, 5, 9, UNI_SAUR } /* scx=saurashtra */, + { 6, 10132, 7612, 3, 9, UNI_WB__MB } /* wb=midnumlet */, + { 66, 1066, 0, 2, 0, UNI_CASEDLETTER } /* lc */, + { 0, 10027, 7112, 3, 3, UNI_JG__KAF } /* jg=kaf */, + { 0, 8876, 0, 4, 0, UNI_GOTH } /* goth */, + { 6, 6231, 2141, 3, 7, UNI_INCYRILLIC } /* incyrillic */, + { 0, 8589, 1165, 9, 2, UNI_SC__SHRD } /* script=shrd */, + { 40, 1552, 10180, 9, 2, UNI_ZS } /* category=zs */, + { 0, 4033, 5713, 16, 13, UNI_XPOSIXDIGIT } /* generalcategory=decimalnumber */, + { 577, 9015, 9255, 5, 5, -UNI_IDEO } /* ideo=false */, + { 0, 8780, 9688, 6, 3, UNI_INNKO } /* block=nko */, + { 132, 9277, 8414, 3, 7, UNI_ELBA } /* sc=elbasan */, + { 0, 10048, 8720, 3, 3, UNI_NV__400 } /* nv=400 */, + { 2, 1828, 26, 6, 1, UNI_CASED } /* cased=y */, + { 0, 184, 8912, 2, 4, UNI_KHOJ } /* iskhoj */, + { 32, 9768, 6181, 4, 12, UNI_GONG } /* scx=gunjalagondi */, + { 21, 184, 6517, 2, 12, UNI_PLAYINGCARDS } /* isplayingcards */, + { 0, 3097, 2280, 18, 3, UNI_DT__ISO } /* decompositiontype=iso */, + { 0, 4033, 6598, 16, 11, UNI_CASEDLETTER } /* generalcategory=casedletter */, + { 10, 8780, 4868, 6, 15, UNI_NARB } /* block=oldnortharabian */, + { 0, 184, 3133, 2, 13, UNI_EMOD } /* isemojimodifier */, + { 68, 10048, 8720, 3, 5, UNI_NV__40000 } /* nv=40000 */, + { 4, 10048, 7819, 3, 8, UNI_NV__3_SLASH_16 } /* nv=1.88e-01 */, + { 2, 9488, 6620, 4, 11, UNI_DOMINO } /* blk=dominotiles */, + { 428, 9345, 1, 5, 1, -UNI_XIDC } /* xidc=n */, + { 0, 3836, 2855, 17, 9, UNI_MONG } /* scriptextensions=mongolian */, + { 5, 10333, 8277, 4, 6, UNI_SPECIALS } /* isspecials */, + { 32, 10048, 7867, 3, 8, UNI_NV__1_SLASH_32 } /* nv=3.12e-02 */, + { 0, 7088, 32, 10, 2, UNI_BC__CS } /* bidiclass=cs */, + { 1, 9488, 7458, 4, 10, UNI_YIRADICALS } /* blk=yiradicals */, + { 0, 4838, 0, 15, 0, UNI_nfkcqc_values_index } /* nfkcquickcheck= */, + { 1, 8589, 8115, 7, 8, UNI_BASS } /* script=bassavah */, + { 71, 7438, 4305, 10, 5, UNI_WB__XX } /* wordbreak=other */, + { 1, 9277, 8498, 3, 4, UNI_SC__MULT } /* sc=mult */, + { 3, 5817, 0, 13, 0, UNI_ZL } /* lineseparator */, + { 5, 9277, 9832, 3, 4, UNI_TIBT } /* sc=tibt */, + { 1, 10033, 10156, 3, 2, UNI_LB__BK } /* lb=bk */, + { 0, 10030, 6664, 3, 11, UNI_JT__D } /* jt=dualjoining */, + { 17, 184, 8344, 2, 7, UNI_BENG } /* isbengali */, + { 108, 6231, 115, 4, 33, UNI_DIACRITICALSFORSYMBOLS } /* incombiningdiacriticalmarksforsymbols */, + { 0, 9277, 8666, 3, 4, UNI_SC__TIRH } /* sc=tirh */, + { 39, 184, 6110, 3, 11, UNI_CYRILLICEXTB } /* iscyrillicextb */, + { 1, 6972, 0, 4, 0, UNI_SYLO } /* sylo */, + { 60, 84, 0, 4, 0, UNI_MATH } /* math */, + { 3, 1552, 3985, 9, 16, UNI_PE } /* category=closepunctuation */, + { 0, 9768, 9032, 4, 6, UNI_WCHO } /* scx=wancho */, + { 5, 7325, 9979, 3, 3, UNI_IN__6_DOT_1 } /* in=6.1 */, + { 0, 1269, 9836, 25, 4, UNI_COMPEX } /* fullcompositionexclusion=true */, + { 0, 6231, 4002, 3, 15, UNI_CYPRIOTSYLLABARY } /* incypriotsyllabary */, + { 16, 7438, 34, 10, 6, UNI_WB__EXTEND } /* wordbreak=extend */, + { 0, 9275, 2389, 5, 20, UNI_INSC__CONSONANTWITHSTACKER } /* insc=consonantwithstacker */, + { 20, 9277, 9664, 3, 4, UNI_MRO } /* sc=mroo */, + { 0, 1417, 6445, 24, 12, UNI_CCC__0 } /* canonicalcombiningclass=notreordered */, + { 100, 9277, 9564, 3, 4, UNI_SC__GONM } /* sc=gonm */, + { 0, 9444, 7867, 4, 3, UNI_AGE__3_DOT_1 } /* age=3.1 */, + { 0, 4145, 0, 16, 0, UNI_LINEARBIDEOGRAMS } /* linearbideograms */, + { 1, 7076, 3938, 3, 15, UNI_BOPOMOFOEXT } /* inbopomofoextended */, + { 1, 8780, 7428, 6, 10, UNI_INWARANGCITI } /* block=warangciti */, + { 1, 5564, 0, 14, 0, UNI_qmark_values_index } /* quotationmark= */, + { 27, 9444, 7469, 4, 3, UNI_AGE__5 } /* age=5.0 */, + { 0, 9488, 8203, 4, 8, UNI_JAMOEXTA } /* blk=jamoexta */, + { 16, 8780, 1654, 6, 6, UNI_INHANGUL } /* block=hangul */, + { 1, 8884, 10135, 4, 3, UNI_EXT } /* ext=yes */, + { 0, 9002, 0, 4, 0, UNI_TELU } /* telu */, + { 1, 10003, 10135, 3, 3, UNI_CI } /* ci=yes */, + { 3, 9768, 4149, 5, 3, UNI_SARB } /* scx=sarb */, + { 1, 5986, 7963, 13, 8, UNI_NV__11_SLASH_2 } /* numericvalue=5.50e+00 */, + { 549, 6231, 7140, 4, 8, UNI_COMPATJAMO } /* incompatjamo */, + { 0, 8780, 3241, 6, 18, UNI_GEORGIANSUP } /* block=georgiansupplement */, + { 3, 4643, 36, 15, 1, UNI_ECOMP } /* emojicomponent=t */, + { 0, 1269, 9255, 25, 5, -UNI_COMPEX } /* fullcompositionexclusion=false */, + { 4, 1552, 467, 9, 11, UNI_P } /* category=punctuation */, + { 3, 6241, 36, 12, 1, UNI_JT__T } /* joiningtype=t */, + { 3, 21, 8463, 2, 7, UNI_KALI } /* inkayahli */, + { 334, 9508, 2449, 4, 4, UNI_CCC__L } /* ccc=left */, + { 41, 10033, 8251, 3, 8, UNI_LB__NL } /* lb=nextline */, + { 6, 9335, 0, 5, 0, UNI_TAKR } /* takri */, + { 2, 9488, 861, 4, 6, UNI_ARROWS } /* blk=arrows */, + { 0, 9350, 9836, 5, 4, UNI_XIDS } /* xids=true */, + { 7, 5986, 7933, 13, 2, UNI_NV__17 } /* numericvalue=17 */, + { 0, 184, 8107, 2, 4, UNI_BALI } /* isbali */, + { 0, 8780, 8617, 6, 7, UNI_INSOYOMBO } /* block=soyombo */, + { 0, 10048, 7955, 3, 8, UNI_NV__1_SLASH_20 } /* nv=5.00e-02 */, + { 4, 3836, 8187, 17, 8, UNI_HIRA } /* scriptextensions=hiragana */, + { 512, 3836, 8611, 18, 3, UNI_SIDD } /* scriptextensions=sidd */, + { 0, 9488, 8912, 4, 6, UNI_INKHOJKI } /* blk=khojki */, + { 3, 9444, 0, 4, 0, UNI_age_values_index } /* age= */, + { 67, 7666, 0, 9, 0, UNI_ORKH } /* oldturkic */, + { 1, 10333, 4370, 3, 5, UNI_SYRC } /* issyriac */, + { 399, 184, 8694, 2, 6, UNI_XPOSIXSPACE } /* iswspace */, + { 64, 184, 1594, 2, 14, UNI_MUSIC } /* ismusicalsymbols */, + { 16, 9488, 6505, 4, 8, UNI_PHAISTOS } /* blk=phaistos */, + { 4, 9277, 7513, 3, 9, UNI_BHKS } /* sc=bhaiksuki */, + { 164, 3836, 8337, 17, 7, UNI_AVST } /* scriptextensions=avestan */, + { 5, 8589, 7513, 7, 9, UNI_BHKS } /* script=bhaiksuki */, + { 18, 9508, 23, 4, 2, UNI_CCC__AL } /* ccc=al */, + { 0, 8780, 6409, 6, 12, UNI_INMENDEKIKAKUI } /* block=mendekikakui */, + { 104, 9768, 9752, 4, 4, UNI_ROHG } /* scx=rohg */, + { 234, 2010, 0, 22, 0, UNI_MISCTECHNICAL } /* miscellaneoustechnical */, + { 0, 3836, 2203, 17, 4, UNI_HAN } /* scriptextensions=hani */, + { 6, 10333, 107, 3, 5, UNI_S } /* issymbol */, + { 0, 6851, 0, 11, 0, UNI_LO } /* otherletter */, + { 1, 5791, 4203, 13, 3, UNI_JG__LAM } /* joininggroup=lam */, + { 0, 7438, 4360, 10, 9, UNI_WB__EB } /* wordbreak=emodifier */, + { 263, 10027, 2203, 3, 21, UNI_JG__HANIFIROHINGYAKINNAYA } /* jg=hanifirohingyakinnaya */, + { 0, 7218, 3985, 10, 16, UNI_LB__CL } /* linebreak=closepunctuation */, + { 0, 9277, 9872, 3, 4, UNI_XPEO } /* sc=xpeo */, + { 128, 10320, 3379, 7, 5, UNI_XPOSIXSPACE } /* isxperlspace */, + { 280, 9488, 1878, 4, 19, UNI_CJKCOMPATIDEOGRAPHS } /* blk=cjkcompatideographs */, + { 0, 8780, 2287, 6, 7, UNI_INSINHALA } /* block=sinhala */, + { 2, 10033, 8701, 3, 7, UNI_LB__ZW } /* lb=zwspace */, + { 7, 9488, 1594, 4, 14, UNI_MUSIC } /* blk=musicalsymbols */, + { 64, 10288, 96, 8, 5, UNI_XPOSIXALPHA } /* isxposixalpha */, + { 0, 184, 3169, 2, 18, UNI_ETHIOPICSUP } /* isethiopicsupplement */, + { 0, 8688, 7060, 4, 8, UNI_ARABICEXTA } /* isarabicexta */, + { 38, 10033, 6675, 3, 11, UNI_LB__EX } /* lb=exclamation */, + { 12, 6231, 8394, 3, 6, UNI_CJKEXTG } /* incjkextg */, + { 1, 9277, 9896, 3, 4, UNI_SC__ZYYY } /* sc=zyyy */, + { 0, 5986, 9372, 13, 4, UNI_NV__1_SLASH_40 } /* numericvalue=1/40 */, + { 2, 21, 9453, 3, 3, UNI_INAHOM } /* inahom */, + { 512, 9277, 9752, 3, 4, UNI_SC__ROHG } /* sc=rohg */, + { 11, 9444, 7931, 4, 3, UNI_AGE__4_DOT_1 } /* age=4.1 */, + { 0, 4838, 10135, 15, 3, UNI_NFKCQC__Y } /* nfkcquickcheck=yes */, + { 0, 8780, 3683, 6, 16, UNI_ETHIOPICEXT } /* block=ethiopicextended */, + { 7, 9508, 1219, 4, 3, UNI_CCC__214 } /* ccc=ata */, + { 0, 9277, 9460, 3, 4, UNI_ARMI } /* sc=armi */, + { 512, 184, 2666, 3, 18, UNI_COUNTINGROD } /* iscountingrodnumerals */, + { 3, 9277, 1900, 3, 6, UNI_SC__ZYYY } /* sc=common */, + { 0, 5986, 8043, 13, 8, UNI_NV__4_SLASH_5 } /* numericvalue=8.00e-01 */, + { 1, 7218, 6073, 10, 12, UNI_LB__SY } /* linebreak=breaksymbols */, + { 0, 3836, 2140, 17, 8, UNI_CYRL } /* scriptextensions=cyrillic */, + { 2, 867, 0, 28, 0, UNI_PHONETICEXTSUP } /* phoneticextensionssupplement */, + { 2, 8780, 1033, 6, 27, UNI_ENCLOSEDCJK } /* block=enclosedcjklettersandmonths */, + { 0, 8449, 26, 7, 1, UNI_HYPHEN } /* hyphen=y */, + { 4, 1166, 3, 26, 1, -UNI_DI } /* defaultignorablecodepoint=f */, + { 0, 1273, 26, 21, 1, UNI_CE } /* compositionexclusion=y */, + { 132, 10048, 7875, 3, 8, UNI_NV__1_SLASH_32 } /* nv=3.13e-02 */, + { 17, 8589, 9708, 7, 4, UNI_SC__ORYA } /* script=orya */, + { 0, 9997, 2268, 3, 3, UNI_BC__PDI } /* bc=pdi */, + { 44, 9265, 36, 5, 1, UNI_IDST } /* idst=t */, + { 35, 1552, 4958, 9, 15, UNI_UPPERCASELETTER } /* category=uppercaseletter */, + { 6, 9556, 73, 4, 2, UNI_WB__EB } /* gcb=em */, + { 0, 10048, 8011, 3, 8, UNI_NV__13_SLASH_2 } /* nv=6.50e+00 */, + { 1, 9250, 1025, 5, 2, -UNI_EMOD } /* emod=no */, + { 0, 5986, 7763, 13, 8, UNI_NV__1_SLASH_8 } /* numericvalue=1.25e-01 */, + { 0, 9020, 26, 6, 1, UNI_XPOSIXUPPER } /* upper=y */, + { 0, 9277, 6277, 3, 4, UNI_SC__MAHJ } /* sc=mahj */, + { 0, 5037, 3, 9, 1, -UNI_XPOSIXXDIGIT } /* hexdigit=f */, + { 135, 9277, 1677, 3, 5, UNI_SC__LATN } /* sc=latin */, + { 36, 10024, 1044, 3, 6, UNI_L } /* gc=letter */, + { 15, 4033, 1066, 16, 2, UNI_CASEDLETTER } /* generalcategory=lc */, + { 0, 10048, 8744, 3, 3, UNI_NV__700 } /* nv=700 */, + { 0, 9508, 9166, 5, 4, UNI_CCC__27 } /* ccc=ccc27 */, + { 3, 184, 6122, 3, 11, UNI_CYRILLICEXTC } /* iscyrillicextc */, + { 64, 9262, 34, 3, 2, UNI_SB__EX } /* sb=ex */, + { 0, 184, 9892, 2, 4, UNI_QAAI } /* iszinh */, + { 1, 10024, 262, 3, 2, UNI_SM } /* gc=sm */, + { 393, 9768, 7567, 4, 9, UNI_SIND } /* scx=khudawadi */, + { 0, 10129, 1, 3, 1, -UNI_VS } /* vs=n */, + { 2, 4369, 0, 9, 0, UNI_SYRIACSUP } /* syriacsup */, + { 177, 21, 2590, 3, 18, UNI_ANCIENTGREEKNUMBERS } /* inancientgreeknumbers */, + { 2, 3836, 4385, 17, 6, UNI_TANG } /* scriptextensions=tangut */, + { 5, 10048, 8714, 3, 5, UNI_NV__30000 } /* nv=30000 */, + { 2, 5986, 7747, 13, 8, UNI_NV__1_SLASH_10 } /* numericvalue=1.00e-01 */, + { 1, 184, 9672, 2, 4, UNI_MYMR } /* ismymr */, + { 1, 3836, 9065, 17, 5, UNI_ADLM } /* scriptextensions=adlam */, + { 17, 8997, 9837, 6, 3, UNI_TERM } /* term=true */, + { 0, 9556, 3385, 4, 17, UNI_RI } /* gcb=regionalindicator */, + { 1, 7318, 9985, 10, 3, UNI_IN__7 } /* presentin=7.0 */, + { 0, 10132, 6145, 3, 12, UNI_WB__EX } /* wb=extendnumlet */, + { 0, 10333, 7292, 3, 6, UNI_SOGD } /* issogdian */, + { 1, 7513, 0, 9, 0, UNI_BHKS } /* bhaiksuki */, + { 0, 1114, 0, 25, 0, UNI_CWKCF } /* changeswhennfkccasefolded */, + { 1, 3836, 7292, 18, 6, UNI_SOGD } /* scriptextensions=sogdian */, + { 6, 1966, 2608, 22, 19, UNI_INSC__BRAHMIJOININGNUMBER } /* indicsyllabiccategory=brahmijoiningnumber */, + { 3, 10033, 866, 3, 2, UNI_LB__SP } /* lb=sp */, + { 22, 9488, 5200, 4, 7, UNI_KANASUP } /* blk=kanasup */, + { 0, 184, 6253, 2, 5, UNI_KHMR } /* iskhmer */, + { 4, 9664, 0, 3, 0, UNI_MRO } /* mro */, + { 1, 1911, 0, 11, 0, UNI_NUMBERFORMS } /* numberforms */, + { 3, 9768, 9600, 4, 4, UNI_KALI } /* scx=kali */, + { 1, 10033, 4898, 3, 15, UNI_LB__OP } /* lb=openpunctuation */, + { 1, 4033, 4245, 16, 10, UNI_SM } /* generalcategory=mathsymbol */, + { 0, 8589, 7621, 7, 9, UNI_NBAT } /* script=nabataean */, + { 5, 9488, 3938, 5, 7, UNI_INBOPOMOFO } /* blk=bopomofo */, + { 0, 9488, 3115, 4, 18, UNI_DEVANAGARIEXT } /* blk=devanagariextended */, + { 5, 117, 6, 3, 2, UNI_INIDC } /* inidc */, + { 5, 9277, 3135, 5, 2, UNI_SC__KHOJ } /* sc=khoj */, + { 598, 1319, 0, 25, 0, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* symbolsandpictographsexta */, + { 0, 9768, 9580, 4, 4, UNI_HANO } /* scx=hano */, + { 79, 8780, 1594, 6, 14, UNI_MUSIC } /* block=musicalsymbols */, + { 0, 5791, 6157, 13, 12, UNI_JG__FINALSEMKATH } /* joininggroup=finalsemkath */, + { 64, 4033, 4898, 16, 15, UNI_PS } /* generalcategory=openpunctuation */, + { 1, 4989, 8674, 3, 6, UNI_UCASEXT } /* isucasext */, + { 0, 184, 3785, 2, 10, UNI_MANI } /* ismanichaean */, + { 0, 184, 1813, 3, 20, UNI_CWL } /* ischangeswhenlowercased */, + { 0, 9740, 0, 4, 0, UNI_QAAI } /* qaai */, + { 0, 5986, 8083, 13, 8, UNI_NV__11_SLASH_12 } /* numericvalue=9.17e-01 */, + { 0, 9488, 1631, 4, 18, UNI_GEOMETRICSHAPESEXT } /* blk=geometricshapesext */, + { 0, 184, 8463, 2, 7, UNI_KALI } /* iskayahli */, + { 4, 10027, 4081, 3, 16, UNI_JG__HANIFIROHINGYAPA } /* jg=hanifirohingyapa */, + { 0, 3836, 9512, 17, 4, UNI_CHRS } /* scriptextensions=chrs */, + { 19, 7318, 7826, 10, 2, UNI_IN__12 } /* presentin=12 */, + { 64, 9556, 262, 4, 2, UNI_GCB__SM } /* gcb=sm */, + { 3, 10132, 5851, 3, 2, UNI_WB__ML } /* wb=ml */, + { 1, 9488, 1586, 5, 13, UNI_BYZANTINEMUSIC } /* blk=byzantinemusic */, + { 3, 3133, 0, 18, 0, UNI_ebase_values_index } /* emojimodifierbase= */, + { 206, 10027, 9355, 3, 5, UNI_JG__ZHAIN } /* jg=zhain */, + { 204, 9277, 3937, 3, 4, UNI_SC__BOPO } /* sc=bopo */, + { 1, 10291, 9225, 5, 5, UNI_POSIXCNTRL } /* posixcntrl */, + { 3, 34, 0, 3, 0, UNI_EXT } /* ext */, + { 25, 7088, 2449, 10, 11, UNI_BC__L } /* bidiclass=lefttoright */, + { 2, 5986, 9958, 13, 3, UNI_NV__3_SLASH_4 } /* numericvalue=3/4 */, + { 66, 4973, 0, 15, 0, UNI_VEDICEXT } /* vedicextensions */, + { 1, 9444, 9401, 4, 3, UNI_AGE__3 } /* age=3.0 */, + { 41, 9014, 0, 6, 0, UNI_uideo_values_index } /* uideo= */, + { 26, 9768, 3079, 4, 4, UNI_COPT } /* scx=copt */, + { 0, 10024, 6873, 3, 11, UNI_SO } /* gc=othersymbol */, + { 14, 9277, 6484, 3, 4, UNI_HUNG } /* sc=hung */, + { 0, 1834, 9836, 22, 4, UNI_CWT } /* changeswhentitlecased=true */, + { 0, 6277, 0, 7, 0, UNI_MAHJONG } /* mahjong */, + { 41, 9015, 1025, 5, 2, -UNI_IDEO } /* ideo=no */, + { 208, 9488, 8219, 4, 8, UNI_INJAVANESE } /* blk=javanese */, + { 1, 9488, 1033, 4, 11, UNI_ENCLOSEDCJK } /* blk=enclosedcjk */, + { 5, 9277, 6193, 3, 4, UNI_HEBR } /* sc=hebr */, + { 0, 1217, 0, 2, 0, UNI_SK } /* sk */, + { 4, 10024, 7408, 3, 10, UNI_CN } /* gc=unassigned */, + { 0, 10030, 6753, 4, 10, UNI_JT__L } /* jt=leftjoining */, + { 0, 9277, 9032, 3, 6, UNI_WCHO } /* sc=wancho */, + { 16, 9444, 5648, 4, 2, UNI_AGE__10 } /* age=10 */, + { 0, 2280, 9705, 3, 3, UNI_ORKH } /* isorkh */, + { 0, 4658, 26, 15, 1, UNI_GREXT } /* graphemeextend=y */, + { 0, 9997, 3187, 3, 18, UNI_BC__ET } /* bc=europeanterminator */, + { 329, 7155, 2204, 3, 13, UNI_ROHG } /* ishanifirohingya */, + { 0, 9508, 8799, 5, 5, UNI_CCC__107 } /* ccc=ccc107 */, + { 74, 9508, 9216, 5, 4, UNI_CCC__84 } /* ccc=ccc84 */, + { 1, 8589, 8463, 7, 7, UNI_SC__KALI } /* script=kayahli */, + { 0, 10291, 467, 5, 5, UNI_POSIXPUNCT } /* posixpunct */, + { 0, 8780, 2855, 6, 19, UNI_MONGOLIANSUP } /* block=mongoliansupplement */, + { 0, 5986, 7930, 13, 2, UNI_NV__14 } /* numericvalue=14 */, + { 1, 8589, 3894, 8, 10, UNI_SGNW } /* script=signwriting */, + { 88, 10182, 10215, 6, 21, UNI__PERL_IS_IN_MULTI_CHAR_FOLD } /* _perl_is_in_multi_char_fold */, + { 14, 8589, 3115, 7, 4, UNI_SC__DEVA } /* script=deva */, + { 5, 7318, 5648, 10, 2, UNI_IN__10 } /* presentin=10 */, + { 9, 6229, 9836, 12, 4, UNI_JOINC } /* joincontrol=true */, + { 4, 9508, 8793, 5, 5, UNI_CCC__103 } /* ccc=ccc103 */, + { 10, 9488, 1944, 4, 22, UNI_EARLYDYNASTICCUNEIFORM } /* blk=earlydynasticcuneiform */, + { 1, 9508, 9949, 4, 3, UNI_CCC__DA } /* ccc=234 */, + { 224, 3836, 9620, 17, 4, UNI_LANA } /* scriptextensions=lana */, + { 292, 9488, 4433, 4, 15, UNI_ARABICEXTA } /* blk=arabicextendeda */, + { 0, 2224, 8625, 3, 6, UNI_SUPPUAA } /* insuppuaa */, + { 1, 184, 8387, 3, 6, UNI_CJKEXTF } /* iscjkextf */, + { 1, 3424, 1129, 3, 3, UNI_UCAS } /* inucas */, + { 516, 5508, 10135, 14, 3, UNI_PATSYN } /* patternsyntax=yes */, + { 5, 8688, 27, 3, 2, UNI_ALL } /* isall */, + { 0, 184, 8876, 2, 6, UNI_GOTH } /* isgothic */, + { 0, 5739, 36, 13, 1, UNI_GRBASE } /* graphemebase=t */, + { 2, 9556, 4305, 4, 5, UNI_GCB__XX } /* gcb=other */, + { 21, 21, 1677, 2, 23, UNI_LATINEXTADDITIONAL } /* inlatinextendedadditional */, + { 0, 184, 400, 2, 6, UNI_CF } /* isformat */, + { 261, 7739, 0, 8, 0, UNI_ids_values_index } /* idstart= */, + { 0, 21, 8906, 2, 6, UNI_KANBUN } /* inkanbun */, + { 37, 21, 5214, 2, 14, UNI_KANGXI } /* inkangxiradicals */, + { 334, 9235, 26, 5, 1, UNI_CWCM } /* cwcm=y */, + { 37, 8780, 6253, 6, 12, UNI_KHMERSYMBOLS } /* block=khmersymbols */, + { 0, 10048, 7883, 3, 8, UNI_NV__1_SLASH_320 } /* nv=3.13e-03 */, + { 36, 4033, 10170, 16, 2, UNI_CASEDLETTER } /* generalcategory=l_ */, + { 0, 184, 4369, 2, 16, UNI_SYRIACSUP } /* issyriacsupplement */, + { 5, 8688, 7506, 4, 7, UNI_ARABICPFB } /* isarabicpfb */, + { 0, 7739, 0, 7, 0, UNI_IDS } /* idstart */, + { 1, 184, 6939, 2, 11, UNI_SORA } /* issorasompeng */, + { 0, 7088, 2449, 10, 20, UNI_BC__LRE } /* bidiclass=lefttorightembedding */, + { 0, 1966, 2646, 22, 19, UNI_INSC__CONSONANTHEADLETTER } /* indicsyllabiccategory=consonantheadletter */, + { 135, 7218, 1822, 10, 2, UNI_LB__NL } /* linebreak=nl */, + { 1, 9768, 2409, 4, 10, UNI_GLAG } /* scx=glagolitic */, + { 0, 8589, 4883, 7, 15, UNI_SARB } /* script=oldsoutharabian */, + { 207, 3133, 0, 5, 0, UNI_EMOJI } /* emoji */, + { 5, 9444, 7754, 4, 2, UNI_AGE__11 } /* age=11 */, + { 0, 4033, 4583, 16, 15, UNI_PD } /* generalcategory=dashpunctuation */, + { 32, 5522, 0, 14, 0, UNI_PHONETICEXTSUP } /* phoneticextsup */, + { 128, 9508, 1755, 4, 2, UNI_CCC__DB } /* ccc=db */, + { 0, 9488, 6840, 4, 11, UNI_INNANDINAGARI } /* blk=nandinagari */, + { 392, 1537, 3481, 24, 12, UNI_INPC__LEFTANDRIGHT } /* indicpositionalcategory=leftandright */, + { 0, 8997, 26, 5, 1, UNI_TERM } /* term=y */, + { 1, 9277, 9748, 3, 4, UNI_RJNG } /* sc=rjng */, + { 0, 1790, 3, 22, 1, -UNI_CWCM } /* changeswhencasemapped=f */, + { 0, 184, 6133, 2, 12, UNI_ETHIOPICEXTA } /* isethiopicexta */, + { 26, 3241, 0, 18, 0, UNI_GEORGIANSUP } /* georgiansupplement */, + { 0, 2280, 7659, 4, 7, UNI_PERM } /* isoldpermic */, + { 8, 5986, 7782, 13, 1, UNI_NV__3 } /* numericvalue=3 */, + { 9, 9488, 9330, 4, 5, UNI_INTAILE } /* blk=taile */, + { 33, 6229, 3, 12, 1, -UNI_JOINC } /* joincontrol=f */, + { 128, 184, 1879, 3, 18, UNI_CJKCOMPATIDEOGRAPHS } /* iscjkcompatideographs */, + { 3, 10030, 6708, 3, 11, UNI_JT__C } /* jt=joincausing */, + { 141, 6231, 570, 3, 29, UNI_CJKEXTC } /* incjkunifiedideographsextensionc */, + { 32, 9277, 3025, 3, 8, UNI_CHER } /* sc=cherokee */, + { 0, 3836, 8344, 17, 4, UNI_BENG } /* scriptextensions=beng */, + { 2, 3151, 9836, 18, 4, UNI_EPRES } /* emojipresentation=true */, + { 0, 9262, 751, 3, 2, UNI_SB__CL } /* sb=cl */, + { 37, 6231, 8373, 3, 6, UNI_CJKEXTD } /* incjkextd */, + { 4, 3836, 9793, 18, 3, UNI_SOGO } /* scriptextensions=sogo */, + { 1, 3836, 8456, 17, 7, UNI_KNDA } /* scriptextensions=kannada */, + { 4, 9488, 4385, 4, 6, UNI_INTANGUT } /* blk=tangut */, + { 17, 8428, 0, 7, 0, UNI_GRAN } /* grantha */, + { 48, 10006, 3, 3, 1, -UNI_DI } /* di=f */, + { 32, 1552, 1529, 11, 7, UNI__PERL_SURROGATE } /* category=surrogate */, + { 18, 10313, 3379, 7, 5, UNI_XPOSIXBLANK } /* ishorizspace */, + { 0, 8589, 3025, 7, 4, UNI_CHER } /* script=cher */, + { 193, 9270, 6983, 5, 11, UNI_INPC__TOPANDRIGHT } /* inpc=topandright */, + { 0, 2779, 10135, 19, 3, UNI_IDST } /* idstrinaryoperator=yes */, + { 0, 10027, 5424, 3, 14, UNI_JG__MANICHAEANYODH } /* jg=manichaeanyodh */, + { 1, 10296, 468, 3, 4, UNI_P } /* ispunct */, + { 0, 9508, 9161, 5, 4, UNI_CCC__26 } /* ccc=ccc26 */, + { 290, 5986, 8744, 13, 2, UNI_NV__70 } /* numericvalue=70 */, + { 1, 7218, 4898, 10, 15, UNI_LB__OP } /* linebreak=openpunctuation */, + { 0, 7088, 3205, 10, 18, UNI_BC__FSI } /* bidiclass=firststrongisolate */, + { 3, 6025, 0, 12, 0, UNI_ALPHABETICPF } /* alphabeticpf */, + { 0, 9768, 9065, 4, 5, UNI_ADLM } /* scx=adlam */, + { 257, 8519, 0, 9, 0, UNI_NFKDQC__N } /* nfkdqc=no */, + { 4, 9488, 3785, 4, 10, UNI_INMANICHAEAN } /* blk=manichaean */, + { 0, 117, 447, 3, 17, UNI_IDEOGRAPHICSYMBOLS } /* inideographicsymbols */, + { 10, 8780, 867, 6, 28, UNI_PHONETICEXTSUP } /* block=phoneticextensionssupplement */, + { 33, 8589, 9008, 7, 6, UNI_SC__THAA } /* script=thaana */, + { 1, 2314, 0, 3, 0, UNI_XPOSIXXDIGIT } /* hex */, + { 1, 9508, 7754, 4, 2, UNI_CCC__11 } /* ccc=11 */, + { 34, 5791, 5908, 13, 13, UNI_JG__MANICHAEANTAW } /* joininggroup=manichaeantaw */, + { 0, 3836, 8123, 17, 4, UNI_BUGI } /* scriptextensions=bugi */, + { 118, 10048, 7891, 3, 8, UNI_NV__1_SLASH_3 } /* nv=3.33e-01 */, + { 0, 8575, 1025, 7, 2, -UNI_PATSYN } /* patsyn=no */, + { 0, 184, 1087, 2, 26, UNI_PCM } /* isprependedconcatenationmark */, + { 0, 9015, 10135, 5, 3, UNI_IDEO } /* ideo=yes */, + { 75, 10296, 468, 3, 10, UNI_P } /* ispunctuation */, + { 108, 5986, 8756, 13, 5, UNI_NV__90000 } /* numericvalue=90000 */, + { 32, 8589, 8652, 7, 7, UNI_TAVT } /* script=taiviet */, + { 4, 2224, 1320, 3, 24, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* insymbolsandpictographsexta */, + { 90, 8435, 9255, 7, 5, -UNI_GRBASE } /* grbase=false */, + { 30, 1552, 3277, 9, 18, UNI_PI } /* category=initialpunctuation */, + { 0, 8344, 0, 4, 0, UNI_BENG } /* beng */, + { 1, 3169, 0, 8, 0, UNI_ETHI } /* ethiopic */, + { 1, 1417, 8714, 24, 2, UNI_CCC__30 } /* canonicalcombiningclass=30 */, + { 0, 9508, 16, 4, 1, UNI_CCC__B } /* ccc=b */, + { 593, 9488, 9325, 4, 5, UNI_INRUNIC } /* blk=runic */, + { 1, 7218, 5298, 10, 14, UNI_LB__BK } /* linebreak=mandatorybreak */, + { 96, 3439, 0, 12, 0, UNI_SMALLKANAEXT } /* smallkanaext */, + { 321, 3836, 9002, 17, 6, UNI_TELU } /* scriptextensions=telugu */, + { 2, 9768, 9504, 4, 4, UNI_CANS } /* scx=cans */, + { 338, 8688, 9453, 3, 3, UNI_AHOM } /* isahom */, + { 0, 7318, 7826, 10, 4, UNI_IN__12 } /* presentin=12.0 */, + { 518, 8688, 980, 3, 26, UNI_ALPHABETICPF } /* isalphabeticpresentationforms */, + { 0, 2409, 0, 10, 0, UNI_GLAG } /* glagolitic */, + { 1, 9508, 8813, 4, 3, UNI_CCC__122 } /* ccc=122 */, + { 185, 1417, 1219, 24, 3, UNI_CCC__214 } /* canonicalcombiningclass=ata */, + { 47, 9444, 9970, 4, 3, UNI_AGE__5_DOT_2 } /* age=5.2 */, + { 70, 9260, 9836, 5, 4, UNI_IDSB } /* idsb=true */, + { 416, 2224, 2913, 3, 18, UNI_SUNDANESESUP } /* insundanesesupplement */, + { 0, 10048, 5648, 3, 5, UNI_NV__10000 } /* nv=10000 */, + { 0, 10027, 5869, 3, 13, UNI_JG__MANICHAEANMEM } /* jg=manichaeanmem */, + { 72, 10132, 5585, 3, 2, UNI_WB__EB } /* wb=eb */, + { 1, 6241, 6752, 12, 11, UNI_JT__L } /* joiningtype=leftjoining */, + { 129, 7318, 7877, 10, 2, UNI_IN__13 } /* presentin=13 */, + { 0, 8575, 26, 7, 1, UNI_PATSYN } /* patsyn=y */, + { 68, 9270, 4988, 5, 15, UNI_LOE } /* inpc=visualorderleft */, + { 8, 5674, 9836, 13, 4, UNI_BIDIM } /* bidimirrored=true */, + { 1, 5746, 0, 5, 0, UNI_EBASE } /* ebase */, + { 7, 10027, 9280, 3, 5, UNI_JG__KHAPH } /* jg=khaph */, + { 0, 9277, 8924, 3, 4, UNI_LEPC } /* sc=lepc */, + { 0, 9277, 9676, 3, 4, UNI_NARB } /* sc=narb */, + { 0, 21, 5284, 2, 14, UNI_LISUSUP } /* inlisusupplement */, + { 2, 10024, 3349, 3, 18, UNI_ZP } /* gc=paragraphseparator */, + { 84, 10126, 3493, 3, 18, UNI_VO__TR } /* vo=transformedrotated */, + { 0, 9277, 9660, 3, 4, UNI_SC__MLYM } /* sc=mlym */, + { 192, 9768, 3895, 5, 3, UNI_SGNW } /* scx=sgnw */, + { 25, 6229, 0, 12, 0, UNI_joinc_values_index } /* joincontrol= */, + { 0, 184, 1769, 3, 20, UNI_CWCF } /* ischangeswhencasefolded */, + { 0, 8780, 1901, 7, 21, UNI_INDICNUMBERFORMS } /* block=commonindicnumberforms */, + { 0, 9768, 7666, 4, 9, UNI_ORKH } /* scx=oldturkic */, + { 5, 8780, 8463, 6, 7, UNI_KALI } /* block=kayahli */, + { 6, 8147, 9836, 8, 4, UNI_EXTPICT } /* extpict=true */, + { 0, 8780, 2245, 6, 11, UNI_INMEETEIMAYEK } /* block=meeteimayek */, + { 3, 9277, 9692, 3, 4, UNI_NSHU } /* sc=nshu */, + { 2, 2245, 0, 11, 0, UNI_MTEI } /* meeteimayek */, + { 512, 9508, 8807, 4, 3, UNI_CCC__118 } /* ccc=118 */, + { 135, 9270, 2988, 5, 19, UNI_INPC__TOPANDBOTTOMANDLEFT } /* inpc=topandbottomandleft */, + { 1, 2485, 0, 4, 0, UNI_MONG } /* mong */, + { 0, 9488, 3457, 4, 11, UNI_TAIXUANJING } /* blk=taixuanjing */, + { 150, 10048, 5648, 3, 8, UNI_NV__10000000 } /* nv=10000000 */, + { 2, 9488, 8888, 4, 6, UNI_INHATRAN } /* blk=hatran */, + { 0, 2280, 8562, 3, 6, UNI_OSMA } /* isosmanya */, + { 1, 9488, 9860, 4, 3, UNI_INVAI } /* blk=vai */, + { 714, 9277, 8901, 4, 5, UNI_SC__KTHI } /* sc=kaithi */, + { 69, 10296, 3599, 3, 3, UNI_PAUC } /* ispauc */, + { 184, 1552, 8855, 9, 2, UNI_CF } /* category=cf */, + { 2, 10027, 7045, 3, 2, UNI_JG__FE } /* jg=fe */, + { 198, 10048, 7859, 3, 3, UNI_NV__200 } /* nv=200 */, + { 288, 10027, 10072, 3, 3, UNI_JG__TAH } /* jg=tah */, + { 128, 3097, 1253, 18, 7, UNI_DT__INIT } /* decompositiontype=initial */, + { 1, 3836, 8912, 17, 6, UNI_KHOJ } /* scriptextensions=khojki */, + { 0, 3836, 7684, 17, 4, UNI_PAUC } /* scriptextensions=pauc */, + { 0, 5242, 0, 14, 0, UNI_LATINEXTC } /* latinextendedc */, + { 11, 2569, 0, 20, 1, UNI_VO__U } /* verticalorientation=u */, + { 585, 5986, 9108, 13, 2, UNI_NV__15 } /* numericvalue=15 */, + { 0, 3241, 0, 4, 0, UNI_GEOR } /* geor */, + { 0, 1013, 0, 5, 0, UNI_GREK } /* greek */, + { 0, 184, 5214, 2, 14, UNI_KANGXI } /* iskangxiradicals */, + { 12, 4943, 0, 15, 0, UNI_TITLE } /* titlecaseletter */, + { 11, 9596, 6763, 4, 11, UNI_LB__H3 } /* hst=lvtsyllable */, + { 0, 5324, 8487, 5, 4, UNI_INMANDAIC } /* inmandaic */, + { 0, 6576, 0, 11, 0, UNI_alpha_values_index } /* alphabetic= */, + { 0, 3836, 8428, 17, 7, UNI_GRAN } /* scriptextensions=grantha */, + { 513, 5986, 8744, 13, 3, UNI_NV__700 } /* numericvalue=700 */, + { 0, 10009, 567, 3, 2, UNI_DT__NB } /* dt=nb */, + { 4, 8589, 8219, 7, 8, UNI_SC__JAVA } /* script=javanese */, + { 9, 8780, 2054, 6, 22, UNI_MODIFIERLETTERS } /* block=spacingmodifierletters */, + { 516, 3457, 0, 18, 0, UNI_TAIXUANJING } /* taixuanjingsymbols */, + { 4, 7088, 6037, 10, 12, UNI_BC__AL } /* bidiclass=arabicletter */, + { 128, 9488, 382, 4, 32, UNI_EGYPTIANHIEROGLYPHFORMATCONTROLS } /* blk=egyptianhieroglyphformatcontrols */, + { 25, 148, 0, 35, 0, UNI_DIACRITICALSSUP } /* combiningdiacriticalmarkssupplement */, + { 0, 1552, 2061, 9, 14, UNI_LM } /* category=modifierletter */, + { 2, 9015, 9836, 5, 4, UNI_IDEO } /* ideo=true */, + { 2, 7325, 10090, 3, 3, UNI_IN__4 } /* in=v40 */, + { 1, 7158, 9255, 10, 5, -UNI_DIA } /* diacritic=false */, + { 2, 3836, 9580, 17, 4, UNI_HANO } /* scriptextensions=hano */, + { 7, 8780, 1585, 6, 23, UNI_BYZANTINEMUSIC } /* block=byzantinemusicalsymbols */, + { 0, 5791, 5172, 13, 14, UNI_JG__HAMZAONHEHGOAL } /* joininggroup=hamzaonhehgoal */, + { 13, 2280, 6483, 4, 10, UNI_HUNG } /* isoldhungarian */, + { 0, 8589, 9636, 7, 4, UNI_SC__LINB } /* script=linb */, + { 0, 8780, 78, 6, 35, UNI_ARABICMATH } /* block=arabicmathematicalalphabeticsymbols */, + { 0, 8344, 0, 7, 0, UNI_BENG } /* bengali */, + { 0, 8291, 0, 8, 0, UNI_TAGB } /* tagbanwa */, + { 3, 10132, 2444, 3, 2, UNI_LB__HL } /* wb=hl */, + { 0, 8589, 9860, 7, 4, UNI_VAI } /* script=vaii */, + { 320, 8589, 8936, 7, 6, UNI_LYCI } /* script=lycian */, + { 0, 9260, 26, 5, 1, UNI_IDSB } /* idsb=y */, + { 20, 9524, 0, 3, 0, UNI_CWT } /* cwt */, + { 512, 8978, 26, 6, 1, UNI__PERL_PATWS } /* patws=y */, + { 256, 9892, 0, 4, 0, UNI_QAAI } /* zinh */, + { 3, 10048, 8732, 3, 4, UNI_NV__5000 } /* nv=5000 */, + { 0, 9488, 7514, 5, 8, UNI_INBHAIKSUKI } /* blk=bhaiksuki */, + { 99, 9488, 2950, 4, 19, UNI_SUPARROWSB } /* blk=supplementalarrowsb */, + { 11, 8786, 0, 4, 0, UNI_CARI } /* cari */, + { 2, 2779, 9255, 19, 5, -UNI_IDST } /* idstrinaryoperator=false */, + { 2, 5986, 7765, 13, 1, UNI_NV__2 } /* numericvalue=2 */, + { 129, 184, 8498, 2, 7, UNI_MULT } /* ismultani */, + { 3, 10027, 3802, 3, 17, UNI_JG__MANICHAEANHUNDRED } /* jg=manichaeanhundred */, + { 27, 4033, 1899, 16, 2, UNI_PC } /* generalcategory=pc */, + { 2, 10024, 6862, 3, 11, UNI_NO } /* gc=othernumber */, + { 0, 184, 4257, 2, 16, UNI_MISCMATHSYMBOLSB } /* ismiscmathsymbolsb */, + { 65, 3887, 0, 17, 0, UNI_SUTTONSIGNWRITING } /* suttonsignwriting */, + { 0, 8519, 10135, 7, 3, UNI_DT__NONE } /* nfkdqc=yes */, + { 47, 7249, 2, 5, 1, UNI_CARI } /* iscari */, + { 0, 8888, 0, 6, 0, UNI_HATR } /* hatran */, + { 0, 3097, 8948, 18, 6, UNI_DT__NAR } /* decompositiontype=narrow */, + { 3, 9488, 9305, 4, 5, UNI_INNUSHU } /* blk=nushu */, + { 12, 9277, 9609, 4, 3, UNI_KITS } /* sc=kits */, + { 0, 9346, 26, 4, 1, UNI_IDC } /* idc=y */, + { 0, 6928, 26, 11, 1, UNI_SD } /* softdotted=y */, + { 1, 184, 3374, 2, 10, UNI_XPOSIXSPACE } /* iswhitespace */, + { 290, 6554, 1, 11, 1, -UNI_IDC } /* idcontinue=n */, + { 48, 7438, 1822, 10, 2, UNI_WB__NL } /* wordbreak=nl */, + { 53, 4916, 1287, 4, 2, UNI_TELU } /* istelu */, + { 97, 184, 2141, 3, 7, UNI_CYRL } /* iscyrillic */, + { 513, 9277, 4928, 3, 5, UNI_SC__TAML } /* sc=tamil */, + { 6, 3836, 8477, 17, 4, UNI_MAKA } /* scriptextensions=maka */, + { 1, 6205, 1, 12, 1, -UNI_IDEO } /* ideographic=n */, + { 153, 184, 5606, 2, 14, UNI_SUPPUNCTUATION } /* issuppunctuation */, + { 2, 7358, 0, 4, 0, UNI_SAUR } /* saur */, + { 4, 9508, 9937, 4, 3, UNI_CCC__AL } /* ccc=228 */, + { 0, 8780, 5200, 6, 14, UNI_KANASUP } /* block=kanasupplement */, + { 9, 9277, 8179, 3, 8, UNI_SC__GURU } /* sc=gurmukhi */, + { 0, 9488, 9002, 4, 6, UNI_INTELUGU } /* blk=telugu */, + { 6, 6231, 8380, 3, 6, UNI_CJKEXTE } /* incjkexte */, + { 249, 10333, 0, 3, 0, UNI_S } /* iss */, + { 1, 8589, 9740, 7, 4, UNI_SC__QAAI } /* script=qaai */, + { 1, 9508, 9176, 5, 4, UNI_CCC__29 } /* ccc=ccc29 */, + { 7, 10033, 533, 3, 2, UNI_LB__NS } /* lb=ns */, + { 24, 7540, 0, 8, 0, UNI_EXT } /* extender */, + { 1, 8780, 3115, 6, 10, UNI_INDEVANAGARI } /* block=devanagari */, + { 1, 9277, 78, 3, 6, UNI_SC__ARAB } /* sc=arabic */, + { 3, 9768, 9720, 4, 4, UNI_PHLP } /* scx=phlp */, + { 0, 8589, 9452, 7, 4, UNI_AHOM } /* script=ahom */, + { 10, 8414, 0, 4, 0, UNI_ELBA } /* elba */, + { 0, 9508, 5648, 4, 2, UNI_CCC__10 } /* ccc=10 */, + { 0, 10024, 1217, 3, 2, UNI_SK } /* gc=sk */, + { 4, 10182, 10279, 6, 9, UNI__PERL_QUOTEMETA } /* _perl_quotemeta */, + { 0, 4033, 38, 16, 2, UNI_XPOSIXDIGIT } /* generalcategory=nd */, + { 131, 3853, 0, 16, 0, UNI_STERM } /* sentenceterminal */, + { 37, 184, 5804, 2, 13, UNI_KANAEXTA } /* iskanaextendeda */, + { 357, 861, 0, 6, 0, UNI_ARROWS } /* arrows */, + { 133, 184, 8147, 2, 7, UNI_EXTPICT } /* isextpict */, + { 64, 3836, 8638, 17, 7, UNI_TGLG } /* scriptextensions=tagalog */, + { 1, 21, 2330, 3, 19, UNI_INANATOLIANHIEROGLYPHS } /* inanatolianhieroglyphs */, + { 7, 184, 7438, 2, 4, UNI_XPOSIXWORD } /* isword */, + { 2, 184, 7630, 2, 9, UNI_TALU } /* isnewtailue */, + { 35, 5986, 9913, 13, 3, UNI_NV__2_SLASH_3 } /* numericvalue=2/3 */, + { 146, 9350, 26, 5, 1, UNI_XIDS } /* xids=y */, + { 0, 8780, 2120, 7, 20, UNI_CJKRADICALSSUP } /* block=cjkradicalssupplement */, + { 33, 1922, 0, 12, 0, UNI_DIACRITICALS } /* diacriticals */, + { 0, 1552, 10178, 9, 2, UNI_ZP } /* category=zp */, + { 0, 10027, 8918, 3, 6, UNI_JG__LAMADH } /* jg=lamadh */, + { 0, 8400, 0, 7, 0, UNI_compex_values_index } /* compex= */, + { 215, 7278, 0, 10, 0, UNI_XPEO } /* oldpersian */, + { 256, 4916, 4386, 3, 5, UNI_TANG } /* istangut */, + { 516, 3853, 36, 17, 1, UNI_STERM } /* sentenceterminal=t */, + { 0, 10333, 2288, 3, 3, UNI_SINH } /* issinh */, + { 0, 9277, 3893, 3, 11, UNI_SGNW } /* sc=signwriting */, + { 171, 1269, 1, 25, 1, -UNI_COMPEX } /* fullcompositionexclusion=n */, + { 311, 9270, 2555, 5, 14, UNI_INPC__BOTTOMANDRIGHT } /* inpc=bottomandright */, + { 0, 2224, 6962, 3, 10, UNI_SUPERANDSUB } /* insuperandsub */, + { 314, 3241, 0, 11, 0, UNI_GEORGIANSUP } /* georgiansup */, + { 0, 5791, 5869, 13, 13, UNI_JG__MANICHAEANMEM } /* joininggroup=manichaeanmem */, + { 152, 5986, 8035, 13, 8, UNI_NV__3_SLASH_4 } /* numericvalue=7.50e-01 */, + { 288, 8858, 0, 6, 0, UNI_ecomp_values_index } /* ecomp= */, + { 0, 7739, 10135, 8, 3, UNI_IDS } /* idstart=yes */, + { 1, 8780, 2912, 6, 19, UNI_SUNDANESESUP } /* block=sundanesesupplement */, + { 512, 10060, 9255, 3, 5, -UNI_RI } /* ri=false */, + { 4, 8589, 8477, 7, 4, UNI_MAKA } /* script=maka */, + { 0, 9616, 0, 4, 0, UNI_KTHI } /* kthi */, + { 35, 8589, 8442, 7, 7, UNI_SC__HANO } /* script=hanunoo */, + { 603, 5791, 7148, 13, 10, UNI_JG__DALATHRISH } /* joininggroup=dalathrish */, + { 2, 7088, 1, 11, 1, UNI_BC__BN } /* bidiclass=bn */, + { 265, 2779, 0, 4, 0, UNI_IDST } /* idst */, + { 28, 10048, 8035, 3, 8, UNI_NV__3_SLASH_4 } /* nv=7.50e-01 */, + { 0, 10033, 495, 3, 7, UNI_LB__NU } /* lb=numeric */, + { 0, 4989, 58, 3, 4, UNI_UIDEO } /* isuideo */, + { 13, 8768, 9255, 6, 5, -UNI_BIDIC } /* bidic=false */, + { 292, 3836, 2409, 17, 4, UNI_GLAG } /* scriptextensions=glag */, + { 1, 9277, 9652, 3, 4, UNI_MERC } /* sc=merc */, + { 1, 9277, 8666, 3, 7, UNI_SC__TIRH } /* sc=tirhuta */, + { 64, 9277, 8291, 3, 4, UNI_SC__TAGB } /* sc=tagb */, + { 13, 4916, 8639, 3, 6, UNI_TGLG } /* istagalog */, + { 0, 9277, 8470, 3, 7, UNI_SC__LINA } /* sc=lineara */, + { 5, 184, 5830, 2, 13, UNI_LOWSURROGATES } /* islowsurrogates */, + { 714, 184, 2855, 2, 9, UNI_MONG } /* ismongolian */, + { 73, 9070, 1, 5, 1, -UNI_POSIXXDIGIT } /* ahex=n */, + { 36, 9488, 1018, 4, 5, UNI_MUSIC } /* blk=music */, + { 65, 5746, 1025, 6, 2, -UNI_EBASE } /* ebase=no */, + { 161, 10288, 7438, 8, 4, UNI_XPOSIXWORD } /* isxposixword */, + { 25, 8107, 0, 8, 0, UNI_BALI } /* balinese */, + { 2, 4613, 0, 15, 0, UNI_DIACRITICALSSUP } /* diacriticalssup */, + { 0, 9596, 7720, 4, 9, UNI_GCB__V } /* hst=voweljamo */, + { 212, 8780, 7684, 6, 9, UNI_INPAUCINHAU } /* block=paucinhau */, + { 1, 9262, 1823, 3, 5, UNI_SB__LO } /* sb=lower */, + { 0, 8498, 0, 4, 0, UNI_MULT } /* mult */, + { 0, 2245, 0, 21, 0, UNI_MEETEIMAYEKEXT } /* meeteimayekextensions */, + { 0, 9275, 2608, 5, 19, UNI_INSC__BRAHMIJOININGNUMBER } /* insc=brahmijoiningnumber */, + { 543, 9488, 3052, 4, 9, UNI_HALFMARKS } /* blk=halfmarks */, + { 0, 3097, 2785, 18, 3, UNI_DT__NAR } /* decompositiontype=nar */, + { 16, 4916, 5850, 3, 3, UNI_TAML } /* istaml */, + { 0, 3717, 7338, 17, 10, UNI_IDENTIFIERSTATUS__RESTRICTED } /* identifierstatus=restricted */, + { 3, 4129, 0, 16, 0, UNI_LATIN1 } /* latin1supplement */, + { 0, 3836, 2329, 17, 20, UNI_HLUW } /* scriptextensions=anatolianhieroglyphs */, + { 0, 10024, 4245, 3, 10, UNI_SM } /* gc=mathsymbol */, + { 389, 184, 1294, 2, 25, UNI_SUPERANDSUB } /* issuperscriptsandsubscripts */, + { 0, 5674, 10135, 13, 3, UNI_BIDIM } /* bidimirrored=yes */, + { 73, 4542, 1633, 4, 21, UNI_GEOMETRICSHAPESEXT } /* ingeometricshapesextended */, + { 1, 9768, 9860, 4, 4, UNI_VAI } /* scx=vaii */, + { 1024, 6576, 9255, 11, 5, -UNI_XPOSIXALPHA } /* alphabetic=false */, + { 0, 5228, 0, 14, 0, UNI_LATINEXTB } /* latinextendedb */, + { 0, 21, 3421, 2, 18, UNI_RUMI } /* inruminumeralsymbols */, + { 0, 5986, 7826, 13, 2, UNI_NV__12 } /* numericvalue=12 */, + { 513, 9488, 4129, 4, 16, UNI_LATIN1 } /* blk=latin1supplement */, + { 1, 10291, 7438, 5, 4, UNI_POSIXWORD } /* posixword */, + { 0, 8960, 26, 6, 1, UNI_NFCQC__Y } /* nfcqc=y */, + { 199, 9508, 9472, 4, 4, UNI_WB__EB } /* ccc=atbl */, + { 2, 9277, 8610, 3, 7, UNI_SIDD } /* sc=siddham */, + { 0, 10009, 9868, 3, 4, UNI_EA__F } /* dt=wide */, + { 0, 10048, 7469, 3, 8, UNI_NV__1_SLASH_2 } /* nv=5.00e-01 */, + { 16, 5986, 8756, 13, 2, UNI_NV__90 } /* numericvalue=90 */, + { 3, 2760, 36, 19, 1, UNI_GCB__T } /* hangulsyllabletype=t */, + { 31, 9568, 0, 4, 0, UNI_GREK } /* grek */, + { 0, 184, 8421, 2, 7, UNI_ELYM } /* iselymaic */, + { 5, 3937, 0, 8, 0, UNI_BOPO } /* bopomofo */, + { 815, 8680, 0, 7, 0, UNI_ZZZZ } /* unknown */, + { 3, 5324, 0, 12, 0, UNI_INMANICHAEAN } /* inmanichaean */, + { 2, 3836, 1222, 17, 4, UNI_KANA } /* scriptextensions=kana */, + { 0, 9285, 0, 4, 0, UNI_LIMB } /* limb */, + { 71, 184, 3115, 2, 13, UNI_DEVANAGARIEXT } /* isdevanagariext */, + { 518, 1505, 3827, 4, 5, UNI_INGRANTHA } /* ingrantha */, + { 151, 10033, 5298, 3, 14, UNI_LB__BK } /* lb=mandatorybreak */, + { 0, 8589, 9816, 7, 4, UNI_TAVT } /* script=tavt */, + { 67, 9488, 9245, 4, 5, UNI_INDOGRA } /* blk=dogra */, + { 0, 3836, 9752, 17, 4, UNI_ROHG } /* scriptextensions=rohg */, + { 32, 9270, 2549, 5, 12, UNI_INPC__TOPANDBOTTOM } /* inpc=topandbottom */, + { 0, 184, 5003, 2, 15, UNI_ZANB } /* iszanabazarsquare */, + { 6, 8203, 0, 8, 0, UNI_JAMOEXTA } /* jamoexta */, + { 1, 5037, 0, 8, 0, UNI_XPOSIXXDIGIT } /* hexdigit */, + { 48, 9335, 0, 4, 0, UNI_TAKR } /* takr */, + { 0, 1537, 1924, 4, 10, UNI_DIACRITICALS } /* indiacriticals */, + { 1, 9444, 7877, 4, 2, UNI_AGE__13 } /* age=13 */, + { 0, 727, 0, 2, 0, UNI_MN } /* mn */, + { 1, 9488, 2969, 4, 19, UNI_SUPARROWSC } /* blk=supplementalarrowsc */, + { 1, 5986, 8027, 13, 8, UNI_NV__15_SLASH_2 } /* numericvalue=7.50e+00 */, + { 34, 4838, 0, 16, 0, UNI_NFKCQC__N } /* nfkcquickcheck=n */, + { 0, 4401, 0, 9, 0, UNI_TANGUTSUP } /* tangutsup */, + { 32, 8589, 8131, 7, 8, UNI_SC__DUPL } /* script=duployan */, + { 21, 9275, 4913, 5, 15, UNI_INSC__REGISTERSHIFTER } /* insc=registershifter */, + { 52, 9528, 0, 3, 0, UNI_CWU } /* cwu */, + { 2, 184, 6061, 2, 11, UNI_BIDIC } /* isbidicontrol */, + { 0, 10033, 3969, 3, 16, UNI_LB__CP } /* lb=closeparenthesis */, + { 128, 9488, 4703, 4, 15, UNI_INIMPERIALARAMAIC } /* blk=imperialaramaic */, + { 84, 3529, 26, 18, 1, UNI_VS } /* variationselector=y */, + { 0, 8582, 0, 7, 0, UNI_PHAG } /* phagspa */, + { 545, 9277, 8491, 3, 4, UNI_MARC } /* sc=marc */, + { 0, 10048, 8083, 3, 8, UNI_NV__11_SLASH_12 } /* nv=9.17e-01 */, + { 0, 9768, 78, 4, 6, UNI_ARAB } /* scx=arabic */, + { 4, 9452, 0, 4, 0, UNI_AHOM } /* ahom */, + { 5, 184, 4241, 2, 16, UNI_MISCMATHSYMBOLSA } /* ismiscmathsymbolsa */, + { 129, 9488, 3169, 4, 11, UNI_ETHIOPICSUP } /* blk=ethiopicsup */, + { 0, 6229, 0, 5, 0, UNI_JOINC } /* joinc */, + { 0, 9277, 5284, 3, 4, UNI_LISU } /* sc=lisu */, + { 928, 8315, 0, 8, 0, UNI_UGAR } /* ugaritic */, + { 0, 1552, 400, 9, 6, UNI_CF } /* category=format */, + { 0, 10048, 9994, 3, 3, UNI_NV__9_SLASH_2 } /* nv=9/2 */, + { 279, 10048, 7811, 3, 8, UNI_NV__1_SLASH_6 } /* nv=1.67e-01 */, + { 0, 8978, 9255, 6, 5, -UNI__PERL_PATWS } /* patws=false */, + { 581, 3836, 1677, 17, 5, UNI_LATN } /* scriptextensions=latin */, + { 562, 9488, 1441, 4, 24, UNI_CJKSYMBOLS } /* blk=cjksymbolsandpunctuation */, + { 32, 1417, 8819, 24, 3, UNI_CCC__129 } /* canonicalcombiningclass=129 */, + { 1, 5452, 17, 15, 1, UNI_COMPEX } /* nfcquickcheck=no */, + { 128, 9277, 9504, 3, 4, UNI_CANS } /* sc=cans */, + { 0, 10006, 0, 3, 0, UNI_di_values_index } /* di= */, + { 2, 8780, 6277, 6, 7, UNI_MAHJONG } /* block=mahjong */, + { 145, 8780, 5186, 6, 14, UNI_HIGHSURROGATES } /* block=highsurrogates */, + { 0, 1417, 9188, 24, 2, UNI_CCC__31 } /* canonicalcombiningclass=31 */, + { 0, 1856, 9836, 22, 4, UNI_CWU } /* changeswhenuppercased=true */, + { 139, 9277, 9588, 3, 4, UNI_HMNG } /* sc=hmng */, + { 716, 9265, 26, 5, 1, UNI_IDST } /* idst=y */, + { 12, 4688, 2023, 15, 9, UNI_IDENTIFIERTYPE__TECHNICAL } /* identifiertype=technical */, + { 0, 7218, 10164, 10, 2, UNI_GCB__V } /* linebreak=jv */, + { 1, 10182, 1527, 6, 9, UNI__PERL_SURROGATE } /* _perl_surrogate */, + { 0, 2224, 350, 3, 32, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* insupplementalsymbolsandpictographs */, + { 0, 1505, 5161, 5, 11, UNI_INGREEK } /* ingreekandcoptic */, + { 65, 8589, 4868, 7, 15, UNI_NARB } /* script=oldnortharabian */, + { 0, 8589, 9656, 7, 4, UNI_MIAO } /* script=miao */, + { 301, 184, 4583, 2, 15, UNI_PD } /* isdashpunctuation */, + { 1, 9508, 9171, 5, 4, UNI_CCC__28 } /* ccc=ccc28 */, + { 1, 4113, 67, 3, 4, UNI_VSSUP } /* invssup */, + { 390, 2280, 4306, 3, 15, UNI_PO } /* isotherpunctuation */, + { 138, 10024, 1465, 3, 13, UNI_M } /* gc=combiningmark */, + { 1, 9508, 7877, 4, 2, UNI_CCC__13 } /* ccc=13 */, + { 4, 184, 4129, 2, 6, UNI_LATIN1 } /* islatin1 */, + { 147, 6241, 6529, 12, 12, UNI_JT__R } /* joiningtype=rightjoining */, + { 2, 6231, 2667, 4, 9, UNI_COUNTINGROD } /* incountingrod */, + { 2, 2280, 3332, 3, 17, UNI_ORNAMENTALDINGBATS } /* isornamentaldingbats */, + { 0, 5986, 7771, 13, 8, UNI_NV__1_SLASH_80 } /* numericvalue=1.25e-02 */, + { 0, 1417, 24, 24, 1, UNI_CCC__L } /* canonicalcombiningclass=l */, + { 2, 9020, 3, 6, 1, -UNI_XPOSIXUPPER } /* upper=f */, + { 3, 1746, 1, 22, 1, UNI_BPT__N } /* bidipairedbrackettype=n */, + { 1, 6730, 0, 11, 0, UNI_KATAKANAEXT } /* katakanaext */, + { 1, 9880, 0, 4, 0, UNI_YI } /* yiii */, + { 321, 9556, 406, 4, 7, UNI_GCB__CN } /* gcb=control */, + { 0, 9488, 3169, 4, 8, UNI_INETHIOPIC } /* blk=ethiopic */, + { 0, 9768, 8291, 4, 4, UNI_TAGB } /* scx=tagb */, + { 0, 10009, 8846, 3, 6, UNI_DT__ENC } /* dt=circle */, + { 0, 4033, 1910, 16, 2, UNI_CN } /* generalcategory=cn */, + { 0, 9508, 8811, 5, 5, UNI_CCC__122 } /* ccc=ccc122 */, + { 0, 9768, 7684, 4, 9, UNI_PAUC } /* scx=paucinhau */, + { 0, 2224, 8632, 3, 6, UNI_SUPPUAB } /* insuppuab */, + { 38, 9768, 8407, 4, 7, UNI_DSRT } /* scx=deseret */, + { 1, 8589, 3937, 7, 8, UNI_SC__BOPO } /* script=bopomofo */, + { 0, 10027, 756, 3, 3, UNI_JG__DAL } /* jg=dal */, + { 555, 435, 0, 5, 0, UNI__PERL_NCHAR } /* nchar */, + { 19, 3836, 8428, 17, 4, UNI_GRAN } /* scriptextensions=gran */, + { 0, 3097, 0, 18, 0, UNI_dt_values_index } /* decompositiontype= */, + { 3, 7076, 7099, 3, 9, UNI_BOXDRAWING } /* inboxdrawing */, + { 2, 1988, 0, 22, 0, UNI_loe_values_index } /* logicalorderexception= */, + { 641, 1966, 3953, 22, 16, UNI_INSC__CANTILLATIONMARK } /* indicsyllabiccategory=cantillationmark */, + { 0, 8870, 10135, 6, 3, UNI_EPRES } /* epres=yes */, + { 523, 1790, 1025, 22, 2, -UNI_CWCM } /* changeswhencasemapped=no */, + { 0, 9488, 2287, 4, 7, UNI_INSINHALA } /* blk=sinhala */, + { 16, 1087, 26, 27, 1, UNI_PCM } /* prependedconcatenationmark=y */, + { 0, 8780, 1561, 6, 24, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* block=supsymbolsandpictographs */, + { 0, 2665, 0, 11, 0, UNI_COUNTINGROD } /* countingrod */, + { 0, 1417, 9106, 25, 4, UNI_CCC__15 } /* canonicalcombiningclass=ccc15 */, + { 1, 8780, 8876, 6, 6, UNI_INGOTHIC } /* block=gothic */, + { 0, 21, 7458, 2, 10, UNI_YIRADICALS } /* inyiradicals */, + { 4, 3836, 9680, 17, 4, UNI_NBAT } /* scriptextensions=nbat */, + { 1, 8780, 2429, 6, 20, UNI_ININSCRIPTIONALPAHLAVI } /* block=inscriptionalpahlavi */, + { 9, 10003, 9836, 3, 4, UNI_CI } /* ci=true */, + { 768, 7076, 5816, 3, 7, UNI_INBALINESE } /* inbalinese */, + { 5, 2779, 0, 19, 0, UNI_idst_values_index } /* idstrinaryoperator= */, + { 0, 8930, 26, 6, 1, UNI_XPOSIXLOWER } /* lower=y */, + { 0, 9277, 4448, 3, 4, UNI_BAMU } /* sc=bamu */, + { 14, 7318, 7754, 10, 2, UNI_IN__11 } /* presentin=11 */, + { 0, 3115, 0, 18, 0, UNI_DEVANAGARIEXT } /* devanagariextended */, + { 0, 9095, 0, 5, 0, UNI_BUHD } /* buhid */, + { 32, 5452, 0, 15, 0, UNI_COMPEX } /* nfcquickcheck=n */, + { 0, 1746, 0, 22, 0, UNI_bpt_values_index } /* bidipairedbrackettype= */, + { 22, 3374, 9255, 11, 5, -UNI_XPOSIXSPACE } /* whitespace=false */, + { 27, 8688, 2330, 3, 19, UNI_HLUW } /* isanatolianhieroglyphs */, + { 40, 5497, 0, 11, 0, UNI_MC } /* spacingmark */, + { 2, 9768, 9608, 4, 4, UNI_KITS } /* scx=kits */, + { 43, 2784, 1395, 4, 22, UNI_ARABICPFB } /* inarabicpresentationformsb */, + { 0, 9768, 6840, 4, 4, UNI_NAND } /* scx=nand */, + { 104, 3836, 7188, 17, 10, UNI_KHAR } /* scriptextensions=kharoshthi */, + { 23, 5986, 9392, 13, 4, UNI_NV__11_SLASH_2 } /* numericvalue=11/2 */, + { 320, 10048, 9372, 3, 4, UNI_NV__1_SLASH_40 } /* nv=1/40 */, + { 0, 9768, 6277, 4, 4, UNI_MAHJ } /* scx=mahj */, + { 6, 9997, 407, 3, 2, UNI_BC__ON } /* bc=on */, + { 72, 6205, 9255, 12, 5, -UNI_IDEO } /* ideographic=false */, + { 258, 184, 6277, 2, 4, UNI_MAHJ } /* ismahj */, + { 192, 7540, 1025, 9, 2, -UNI_EXT } /* extender=no */, + { 0, 9277, 9892, 3, 4, UNI_SC__QAAI } /* sc=zinh */, + { 9, 2912, 0, 4, 0, UNI_SUND } /* sund */, + { 0, 8688, 1007, 3, 26, UNI_ANCIENTGREEKMUSIC } /* isancientgreekmusicalnotation */, + { 379, 9488, 719, 4, 30, UNI_CUNEIFORMNUMBERS } /* blk=cuneiformnumbersandpunctuation */, + { 0, 21, 8470, 2, 7, UNI_INLINEARA } /* inlineara */, + { 0, 9277, 9624, 3, 4, UNI_LAO } /* sc=laoo */, + { 1, 5791, 5364, 13, 4, UNI_JG__HETH } /* joininggroup=heth */, + { 1, 3025, 0, 4, 0, UNI_CHER } /* cher */, + { 38, 10048, 9907, 3, 3, UNI_NV__1_SLASH_7 } /* nv=1/7 */, + { 0, 2224, 7399, 3, 9, UNI_SUPARROWSC } /* insuparrowsc */, + { 6, 7325, 10093, 3, 3, UNI_IN__4_DOT_1 } /* in=v41 */, + { 1, 10024, 48, 3, 1, UNI_P } /* gc=p */, + { 0, 1921, 0, 2, 0, UNI_SD } /* sd */, + { 0, 9488, 42, 4, 9, UNI_CJKCOMPAT } /* blk=cjkcompat */, + { 0, 5791, 9784, 13, 4, UNI_JG__SHIN } /* joininggroup=shin */, + { 0, 8589, 9544, 7, 4, UNI_DIAK } /* script=diak */, + { 105, 9997, 426, 3, 2, UNI_BC__ES } /* bc=es */, + { 459, 3904, 36, 17, 1, UNI_UIDEO } /* unifiedideograph=t */, + { 40, 9345, 1025, 5, 2, -UNI_XIDC } /* xidc=no */, + { 0, 5986, 7877, 13, 2, UNI_NV__13 } /* numericvalue=13 */, + { 0, 1677, 0, 14, 0, UNI_LATINEXTA } /* latinextendeda */, + { 0, 7218, 96, 10, 10, UNI_LB__AL } /* linebreak=alphabetic */, + { 0, 10009, 2785, 3, 3, UNI_DT__NAR } /* dt=nar */, + { 572, 283, 0, 33, 0, UNI_MISCMATHSYMBOLSB } /* miscellaneousmathematicalsymbolsb */, + { 2, 9768, 4883, 4, 15, UNI_SARB } /* scx=oldsoutharabian */, + { 0, 8526, 0, 7, 0, UNI_NB } /* noblock */, + { 20, 9824, 0, 4, 0, UNI_TGLG } /* tglg */, + { 0, 9768, 8561, 4, 4, UNI_OSMA } /* scx=osma */, + { 0, 9285, 0, 5, 0, UNI_LIMB } /* limbu */, + { 6, 9277, 4145, 3, 7, UNI_SC__LINB } /* sc=linearb */, + { 330, 9275, 4508, 5, 15, UNI_INSC__CONSONANTKILLER } /* insc=consonantkiller */, + { 0, 5986, 4134, 13, 1, UNI_NV__1 } /* numericvalue=1 */, + { 20, 9640, 3, 4, 1, -UNI_LOE } /* loe=f */, + { 0, 3836, 4001, 17, 7, UNI_CPRT } /* scriptextensions=cypriot */, + { 0, 6972, 0, 11, 0, UNI_SYLO } /* sylotinagri */, + { 306, 5986, 8710, 13, 4, UNI_NV__6000 } /* numericvalue=6000 */, + { 11, 5746, 9255, 6, 5, -UNI_EBASE } /* ebase=false */, + { 962, 184, 6397, 2, 12, UNI_MATHALPHANUM } /* ismathalphanum */, + { 1, 5032, 0, 13, 0, UNI_POSIXXDIGIT } /* asciihexdigit */, + { 0, 9277, 1013, 3, 5, UNI_SC__GREK } /* sc=greek */, + { 0, 1979, 10171, 10, 1, UNI_CASEDLETTER } /* category=l_ */, + { 0, 10126, 471, 3, 2, UNI_VO__TU } /* vo=tu */, + { 0, 9508, 4912, 4, 2, UNI_CCC__0 } /* ccc=nr */, + { 0, 9832, 0, 4, 0, UNI_TIBT } /* tibt */, + { 1, 8435, 36, 7, 1, UNI_GRBASE } /* grbase=t */, + { 0, 9508, 756, 4, 2, UNI_CCC__DA } /* ccc=da */, + { 4, 8211, 0, 8, 0, UNI_JAMOEXTB } /* jamoextb */, + { 125, 1537, 4988, 24, 15, UNI_LOE } /* indicpositionalcategory=visualorderleft */, + { 0, 10048, 7843, 3, 8, UNI_NV__1_SLASH_4 } /* nv=2.50e-01 */, + { 0, 5200, 0, 7, 0, UNI_KANASUP } /* kanasup */, + { 0, 8780, 861, 6, 6, UNI_ARROWS } /* block=arrows */, + { 1, 6805, 842, 6, 25, UNI_MISCARROWS } /* inmiscellaneoussymbolsandarrows */, + { 0, 9596, 24, 4, 1, UNI_GCB__L } /* hst=l */, + { 0, 5986, 8714, 13, 5, UNI_NV__30000 } /* numericvalue=30000 */, + { 8, 9277, 4385, 3, 4, UNI_TANG } /* sc=tang */, + { 0, 8575, 10135, 7, 3, UNI_PATSYN } /* patsyn=yes */, + { 0, 1218, 0, 26, 0, UNI_KATAKANAEXT } /* katakanaphoneticextensions */, + { 3, 5986, 5649, 13, 1, UNI_NV__0 } /* numericvalue=0 */, + { 64, 10027, 5368, 3, 14, UNI_JG__MANICHAEANKAPH } /* jg=manichaeankaph */, + { 0, 10048, 9409, 3, 3, UNI_NV__5_SLASH_2 } /* nv=5/2 */, + { 776, 184, 5843, 2, 9, UNI_MLYM } /* ismalayalam */, + { 0, 4116, 2430, 3, 19, UNI_PHLI } /* isinscriptionalpahlavi */, + { 557, 9444, 7826, 4, 2, UNI_AGE__12 } /* age=12 */, + { 9, 10009, 10066, 3, 3, UNI_DT__SML } /* dt=sml */, + { 0, 9488, 4808, 4, 15, UNI_MISCPICTOGRAPHS } /* blk=miscpictographs */, + { 0, 8589, 9652, 7, 4, UNI_MERC } /* script=merc */, + { 1, 8589, 8315, 7, 4, UNI_UGAR } /* script=ugar */, + { 3, 8589, 3025, 7, 8, UNI_CHER } /* script=cherokee */, + { 0, 2529, 3, 20, 1, -UNI_TERM } /* terminalpunctuation=f */, + { 66, 9262, 8996, 3, 5, UNI_SB__ST } /* sb=sterm */, + { 0, 6012, 0, 13, 0, UNI_VERTICALFORMS } /* verticalforms */, + { 0, 8990, 0, 6, 0, UNI_RJNG } /* rejang */, + { 0, 9488, 6385, 4, 12, UNI_INMASARAMGONDI } /* blk=masaramgondi */, + { 0, 8960, 10135, 6, 3, UNI_NFCQC__Y } /* nfcqc=yes */, + { 4, 9520, 36, 4, 1, UNI_CWL } /* cwl=t */, + { 75, 1222, 0, 4, 0, UNI_KANA } /* kana */, + { 41, 4033, 341, 16, 2, UNI_PE } /* generalcategory=pe */, + { 11, 9820, 0, 4, 0, UNI_TFNG } /* tfng */, + { 0, 2288, 4068, 5, 13, UNI_HALFANDFULLFORMS } /* inhalfandfullforms */, + { 10, 5060, 1025, 14, 2, -UNI_CI } /* caseignorable=no */, + { 0, 9262, 4305, 3, 5, UNI_SB__XX } /* sb=other */, + { 90, 7155, 3053, 3, 8, UNI_HALFMARKS } /* ishalfmarks */, + { 404, 10290, 5040, 6, 5, UNI_XPOSIXDIGIT } /* xposixdigit */, + { 0, 10027, 7711, 3, 9, UNI_JG__SYRIACWAW } /* jg=syriacwaw */, + { 672, 7098, 0, 10, 0, UNI_BOXDRAWING } /* boxdrawing */, + { 1, 9768, 1013, 4, 5, UNI_GREK } /* scx=greek */, + { 0, 9444, 7987, 4, 3, UNI_AGE__6_DOT_2 } /* age=6.2 */, + { 0, 3133, 1025, 18, 2, -UNI_EBASE } /* emojimodifierbase=no */, + { 16, 1812, 9836, 22, 4, UNI_CWL } /* changeswhenlowercased=true */, + { 1, 117, 447, 3, 31, UNI_IDEOGRAPHICSYMBOLS } /* inideographicsymbolsandpunctuation */, + { 87, 1417, 8727, 24, 2, UNI_CCC__32 } /* canonicalcombiningclass=32 */, + { 546, 9768, 7675, 4, 9, UNI_PALM } /* scx=palmyrene */, + { 32, 9768, 3241, 4, 4, UNI_GEOR } /* scx=geor */, + { 0, 9764, 0, 4, 0, UNI_SARB } /* sarb */, + { 0, 10033, 73, 3, 2, UNI_EMOD } /* lb=em */, + { 4, 3836, 9335, 17, 4, UNI_TAKR } /* scriptextensions=takr */, + { 1097, 10291, 5039, 5, 6, UNI_POSIXXDIGIT } /* posixxdigit */, + { 128, 7249, 3583, 4, 15, UNI_UCAS } /* iscanadiansyllabics */, + { 268, 8589, 7308, 7, 10, UNI_PHNX } /* script=phoenician */, + { 36, 184, 2485, 2, 4, UNI_MONG } /* ismong */, + { 0, 8694, 0, 6, 0, UNI_XPOSIXSPACE } /* wspace */, + { 2, 9508, 7826, 4, 2, UNI_CCC__12 } /* ccc=12 */, + { 15, 1587, 0, 1, 0, UNI_Z } /* z */, + { 10, 10048, 9436, 3, 4, UNI_NV__7_SLASH_12 } /* nv=7/12 */, + { 2, 9488, 2308, 4, 6, UNI_YIJING } /* blk=yijing */, + { 0, 2182, 10174, 21, 2, UNI_GCB__XX } /* graphemeclusterbreak=xx */, + { 0, 1746, 17, 22, 1, UNI_BPT__O } /* bidipairedbrackettype=o */, + { 0, 3836, 493, 17, 3, UNI_HAN } /* scriptextensions=han */, + { 1, 1087, 9836, 27, 4, UNI_PCM } /* prependedconcatenationmark=true */, + { 0, 7418, 9255, 10, 5, -UNI_XPOSIXUPPER } /* uppercase=false */, + { 4, 1114, 3, 26, 1, -UNI_CWKCF } /* changeswhennfkccasefolded=f */, + { 0, 7028, 9881, 3, 3, UNI_YI } /* isyiii */, + { 4, 4033, 45, 16, 2, UNI_CO } /* generalcategory=co */, + { 0, 4916, 2077, 3, 21, UNI_TRANSPORTANDMAP } /* istransportandmapsymbols */, + { 0, 8780, 8203, 6, 8, UNI_JAMOEXTA } /* block=jamoexta */, + { 7, 7155, 1116, 3, 3, UNI_HANG } /* ishang */, + { 89, 8780, 2308, 6, 6, UNI_YIJING } /* block=yijing */, + { 21, 184, 8171, 2, 8, UNI_GUJR } /* isgujarati */, + { 1024, 9768, 8924, 4, 4, UNI_LEPC } /* scx=lepc */, + { 5, 10129, 0, 3, 0, UNI_vs_values_index } /* vs= */, + { 3, 9664, 0, 4, 0, UNI_MRO } /* mroo */, + { 0, 8780, 2245, 6, 21, UNI_MEETEIMAYEKEXT } /* block=meeteimayekextensions */, + { 0, 6576, 1025, 11, 2, -UNI_XPOSIXALPHA } /* alphabetic=no */, + { 29, 184, 382, 2, 32, UNI_EGYPTIANHIEROGLYPHFORMATCONTROLS } /* isegyptianhieroglyphformatcontrols */, + { 2, 9270, 868, 3, 17, UNI_PHONETICEXT } /* inphoneticextensions */, + { 9, 9015, 0, 5, 0, UNI_ideo_values_index } /* ideo= */, + { 0, 10033, 7448, 3, 10, UNI_LB__WJ } /* lb=wordjoiner */, + { 7, 7239, 0, 2, 0, UNI_VS } /* vs */, + { 352, 9488, 3938, 5, 15, UNI_BOPOMOFOEXT } /* blk=bopomofoextended */, + { 0, 9488, 2477, 4, 3, UNI_PUA } /* blk=pua */, + { 7, 184, 2817, 2, 4, UNI_MERO } /* ismero */, + { 0, 5960, 0, 13, 0, UNI_MISCTECHNICAL } /* misctechnical */, + { 160, 8840, 0, 6, 0, UNI_CAKM } /* chakma */, + { 521, 5726, 0, 13, 0, UNI_ME } /* enclosingmark */, + { 23, 1417, 9101, 25, 4, UNI_CCC__14 } /* canonicalcombiningclass=ccc14 */, + { 2, 8688, 727, 4, 2, UNI_ARMN } /* isarmn */, + { 2, 184, 2469, 2, 20, UNI_HMNP } /* isnyiakengpuachuehmong */, + { 757, 10290, 1867, 6, 5, UNI_XPOSIXUPPER } /* xposixupper */, + { 8, 10132, 125, 3, 2, UNI_LB__CR } /* wb=cr */, + { 161, 9768, 4001, 4, 7, UNI_CPRT } /* scx=cypriot */, + { 0, 184, 1442, 3, 9, UNI_CJKSYMBOLS } /* iscjksymbols */, + { 0, 9768, 9548, 4, 4, UNI_DSRT } /* scx=dsrt */, + { 0, 3836, 6792, 18, 3, UNI_SAMR } /* scriptextensions=samr */, + { 144, 4542, 3226, 5, 15, UNI_INPUNCTUATION } /* ingeneralpunctuation */, + { 634, 4116, 1308, 3, 2, UNI_IDS } /* isids */, + { 10, 9346, 1025, 4, 2, -UNI_IDC } /* idc=no */, + { 32, 184, 8421, 2, 4, UNI_ELYM } /* iselym */, + { 4, 9275, 8099, 5, 8, UNI_INSC__AVAGRAHA } /* insc=avagraha */, + { 132, 8575, 36, 7, 1, UNI_PATSYN } /* patsyn=t */, + { 0, 3836, 8091, 17, 8, UNI_ARMN } /* scriptextensions=armenian */, + { 0, 5791, 6565, 13, 11, UNI_JG__AFRICANNOON } /* joininggroup=africannoon */, + { 1, 2288, 2724, 4, 8, UNI_JAMO } /* inhanguljamo */, + { 0, 5452, 47, 14, 1, UNI_NFCQC__M } /* nfcquickcheck=m */, + { 1, 9684, 0, 4, 0, UNI_NEWA } /* newa */, + { 549, 9488, 867, 4, 11, UNI_PHONETICEXT } /* blk=phoneticext */, + { 513, 8762, 1025, 6, 2, -UNI_XPOSIXALPHA } /* alpha=no */, + { 455, 8780, 5804, 6, 13, UNI_KANAEXTA } /* block=kanaextendeda */, + { 1, 184, 3937, 2, 11, UNI_BOPOMOFOEXT } /* isbopomofoext */, + { 783, 5986, 9050, 13, 5, UNI_NV__1_SLASH_160 } /* numericvalue=1/160 */, + { 7, 10024, 3277, 3, 18, UNI_PI } /* gc=initialpunctuation */, + { 0, 9262, 339, 3, 2, UNI_SB__LO } /* sb=lo */, + { 0, 2161, 26, 21, 1, UNI_EXTPICT } /* extendedpictographic=y */, + { 1140, 7249, 3600, 4, 15, UNI_AGHB } /* iscaucasianalbanian */, + { 3, 9768, 9320, 4, 5, UNI_OSGE } /* scx=osage */, + { 0, 5060, 0, 13, 0, UNI_CI } /* caseignorable */, + { 147, 10048, 9376, 3, 3, UNI_NV__1_SLASH_6 } /* nv=1/6 */, + { 301, 7027, 0, 11, 0, UNI_YISYLLABLES } /* yisyllables */, + { 9, 10033, 7268, 3, 10, UNI_LB__NS } /* lb=nonstarter */, + { 192, 5508, 9255, 14, 5, -UNI_PATSYN } /* patternsyntax=false */, + { 1, 8954, 26, 6, 1, UNI__PERL_NCHAR } /* nchar=y */, + { 1, 5986, 5648, 13, 6, UNI_NV__100000 } /* numericvalue=100000 */, + { 5, 2224, 7389, 3, 9, UNI_SUPARROWSB } /* insuparrowsb */, + { 0, 10024, 25, 3, 1, UNI_S } /* gc=s */, + { 0, 5986, 7835, 13, 8, UNI_NV__5_SLASH_2 } /* numericvalue=2.50e+00 */, + { 303, 5986, 1249, 13, 3, UNI_NV__NAN } /* numericvalue=nan */, + { 1, 1768, 36, 22, 1, UNI_CWCF } /* changeswhencasefolded=t */, + { 0, 8688, 7497, 4, 7, UNI_ARABICPFA } /* isarabicpfa */, + { 264, 8780, 183, 6, 20, UNI_MISCSYMBOLS } /* block=miscellaneoussymbols */, + { 0, 9277, 6796, 3, 11, UNI_MEDF } /* sc=medefaidrin */, + { 672, 184, 1466, 3, 23, UNI_DIACRITICALSFORSYMBOLS } /* iscombiningmarksforsymbols */, + { 3, 9997, 3756, 3, 3, UNI_BC__NSM } /* bc=nsm */, + { 4, 2569, 18, 20, 1, UNI_VO__R } /* verticalorientation=r */, + { 3, 9508, 10166, 4, 2, UNI_CCC__8 } /* ccc=kv */, + { 0, 8762, 0, 6, 0, UNI_alpha_values_index } /* alpha= */, + { 13, 9768, 8498, 4, 4, UNI_MULT } /* scx=mult */, + { 2, 5986, 5648, 13, 2, UNI_NV__10 } /* numericvalue=10 */, + { 0, 8864, 9836, 6, 4, UNI_EMOJI } /* emoji=true */, + { 0, 2224, 7359, 3, 9, UNI_INSAURASHTRA } /* insaurashtra */, + { 514, 9444, 10111, 4, 3, UNI_AGE__6_DOT_2 } /* age=v62 */, + { 1, 184, 2703, 2, 19, UNI_ENCLOSEDALPHANUMSUP } /* isenclosedalphanumsup */, + { 0, 9768, 9305, 4, 5, UNI_NSHU } /* scx=nushu */, + { 152, 1746, 4898, 22, 4, UNI_BPT__O } /* bidipairedbrackettype=open */, + { 15, 184, 183, 2, 34, UNI_MISCPICTOGRAPHS } /* ismiscellaneoussymbolsandpictographs */, + { 617, 7438, 7603, 10, 9, UNI_WB__ML } /* wordbreak=midletter */, + { 0, 5986, 8019, 13, 8, UNI_NV__2_SLASH_3 } /* numericvalue=6.67e-01 */, + { 2306, 9277, 9700, 3, 4, UNI_OLCK } /* sc=olck */, + { 2184, 9488, 349, 4, 33, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* blk=supplementalsymbolsandpictographs */, + { 3, 5324, 8479, 4, 5, UNI_INMAKASAR } /* inmakasar */, + { 1, 9277, 9500, 3, 4, UNI_SC__CAKM } /* sc=cakm */, + { 2, 3836, 1176, 18, 3, UNI_SORA } /* scriptextensions=sora */, + { 0, 8589, 7292, 8, 3, UNI_SC__SOGD } /* script=sogd */, + { 0, 3836, 9038, 17, 6, UNI_YEZI } /* scriptextensions=yezidi */, + { 0, 5791, 5944, 13, 3, UNI_JG__WAW } /* joininggroup=waw */, + { 22, 6505, 0, 12, 0, UNI_PHAISTOS } /* phaistosdisc */, + { 9, 8858, 9255, 6, 5, -UNI_ECOMP } /* ecomp=false */, + { 1, 9020, 9836, 6, 4, UNI_XPOSIXUPPER } /* upper=true */, + { 355, 2760, 911, 19, 1, UNI_GCB__V } /* hangulsyllabletype=v */, + { 0, 1417, 8010, 24, 2, UNI_CCC__36 } /* canonicalcombiningclass=36 */, + { 0, 9277, 9820, 3, 4, UNI_TFNG } /* sc=tfng */, + { 1, 1537, 6983, 24, 11, UNI_INPC__TOPANDRIGHT } /* indicpositionalcategory=topandright */, + { 0, 9277, 8, 4, 3, UNI_SC__KANA } /* sc=kana */, + { 1, 184, 4718, 2, 15, UNI_LOWERCASELETTER } /* islowercaseletter */, + { 1, 2529, 0, 4, 0, UNI_TERM } /* term */, + { 90, 9768, 5171, 4, 4, UNI_CHAM } /* scx=cham */, + { 1157, 8589, 3079, 7, 4, UNI_SC__COPT } /* script=copt */, + { 1116, 9488, 2931, 4, 19, UNI_SUPARROWSA } /* blk=supplementalarrowsa */, + { 1, 8589, 4928, 7, 5, UNI_SC__TAML } /* script=tamil */, + { 2148, 4598, 0, 15, 0, UNI_DIACRITICALSEXT } /* diacriticalsext */, + { 10, 9277, 8652, 3, 7, UNI_TAVT } /* sc=taiviet */, + { 0, 9277, 6181, 3, 12, UNI_SC__GONG } /* sc=gunjalagondi */, + { 531, 9277, 4448, 3, 5, UNI_BAMU } /* sc=bamum */, + { 49, 6420, 9316, 3, 4, UNI_INORIYA } /* inoriya */, + { 1, 10048, 7859, 3, 8, UNI_NV__20000000 } /* nv=20000000 */, + { 0, 10048, 7851, 3, 8, UNI_NV__1_SLASH_40 } /* nv=2.50e-02 */, + { 6, 9768, 8786, 4, 6, UNI_CARI } /* scx=carian */, + { 1, 5986, 7814, 13, 1, UNI_NV__7 } /* numericvalue=7 */, + { 1, 4033, 3277, 16, 18, UNI_PI } /* generalcategory=initialpunctuation */, + { 0, 4916, 4386, 3, 15, UNI_TANGUTCOMPONENTS } /* istangutcomponents */, + { 253, 8652, 0, 7, 0, UNI_TAVT } /* taiviet */, + { 0, 9488, 908, 4, 14, UNI_PUA } /* blk=privateusearea */, + { 0, 10288, 10303, 8, 5, UNI_XPOSIXBLANK } /* isxposixblank */, + { 0, 10048, 7763, 3, 8, UNI_NV__1_SLASH_8 } /* nv=1.25e-01 */, + { 26, 9488, 3421, 4, 4, UNI_RUMI } /* blk=rumi */, + { 4, 9488, 4928, 4, 8, UNI_TAMILSUP } /* blk=tamilsup */, + { 1540, 7088, 3313, 10, 18, UNI_BC__LRI } /* bidiclass=lefttorightisolate */, + { 0, 3151, 10135, 18, 3, UNI_EPRES } /* emojipresentation=yes */, + { 0, 4033, 2268, 16, 2, UNI_PD } /* generalcategory=pd */, + { 2343, 4113, 4974, 3, 14, UNI_VEDICEXT } /* invedicextensions */, + { 100, 9768, 8936, 4, 4, UNI_LYCI } /* scx=lyci */, + { 0, 3836, 8291, 17, 8, UNI_TAGB } /* scriptextensions=tagbanwa */, + { 0, 467, 0, 11, 0, UNI_P } /* punctuation */, + { 17, 10048, 8710, 3, 3, UNI_NV__600 } /* nv=600 */, + { 0, 3836, 8421, 17, 4, UNI_ELYM } /* scriptextensions=elym */, + { 66, 8589, 8924, 7, 4, UNI_LEPC } /* script=lepc */, + { 2, 9230, 1, 5, 1, -UNI_CWCF } /* cwcf=n */, + { 6, 9488, 8617, 4, 7, UNI_INSOYOMBO } /* blk=soyombo */, + { 0, 2608, 0, 6, 0, UNI_BRAH } /* brahmi */, + { 357, 184, 6829, 2, 11, UNI_MYANMAREXTB } /* ismyanmarextb */, + { 2136, 9444, 9982, 4, 3, UNI_AGE__6_DOT_3 } /* age=6.3 */, + { 1655, 9768, 9688, 4, 3, UNI_NKO } /* scx=nko */, + { 1541, 1417, 7890, 24, 2, UNI_CCC__33 } /* canonicalcombiningclass=33 */, + { 1, 8774, 0, 6, 0, UNI_bidim_values_index } /* bidim= */, + { 0, 9768, 9245, 4, 5, UNI_DOGR } /* scx=dogra */, + { 12, 9508, 9108, 4, 2, UNI_CCC__15 } /* ccc=15 */, + { 0, 10027, 9784, 3, 4, UNI_JG__SHIN } /* jg=shin */, + { 280, 8589, 8659, 7, 7, UNI_TIBT } /* script=tibetan */, + { 17, 10033, 1822, 3, 2, UNI_LB__NL } /* lb=nl */, + { 1, 3904, 1025, 17, 2, -UNI_UIDEO } /* unifiedideograph=no */, + { 227, 10048, 9988, 3, 3, UNI_NV__7_SLASH_8 } /* nv=7/8 */, + { 0, 9768, 3025, 4, 4, UNI_CHER } /* scx=cher */, + { 2, 3836, 9652, 17, 4, UNI_MERC } /* scriptextensions=merc */, + { 0, 1417, 18, 24, 1, UNI_CCC__R } /* canonicalcombiningclass=r */, + { 1, 3836, 8219, 17, 8, UNI_JAVA } /* scriptextensions=javanese */, + { 0, 4989, 513, 3, 15, UNI_UIDEO } /* isunifiedideograph */, + { 3, 184, 4478, 2, 4, UNI_BRAI } /* isbrai */, + { 17, 184, 5158, 2, 14, UNI_INGREEK } /* isgreekandcoptic */, + { 304, 3836, 7428, 17, 10, UNI_WARA } /* scriptextensions=warangciti */, + { 832, 2779, 9836, 19, 4, UNI_IDST } /* idstrinaryoperator=true */, + { 192, 9768, 9285, 4, 4, UNI_LIMB } /* scx=limb */, + { 5, 3853, 0, 17, 0, UNI_sterm_values_index } /* sentenceterminal= */, + { 0, 10024, 3985, 3, 16, UNI_PE } /* gc=closepunctuation */, + { 0, 7088, 5494, 10, 14, UNI_BC__NSM } /* bidiclass=nonspacingmark */, + { 1232, 4542, 3243, 4, 16, UNI_GEORGIANSUP } /* ingeorgiansupplement */, + { 1026, 8780, 8211, 6, 8, UNI_JAMOEXTB } /* block=jamoextb */, + { 8, 9556, 1910, 4, 2, UNI_GCB__CN } /* gcb=cn */, + { 1, 3133, 3, 18, 1, -UNI_EBASE } /* emojimodifierbase=f */, + { 0, 8589, 8912, 7, 4, UNI_SC__KHOJ } /* script=khoj */, + { 0, 184, 8470, 2, 7, UNI_LINA } /* islineara */, + { 1, 7218, 10030, 10, 2, UNI_GCB__T } /* linebreak=jt */, + { 136, 10291, 3379, 5, 5, UNI_POSIXSPACE } /* posixspace */, + { 26, 4116, 4704, 3, 14, UNI_ARMI } /* isimperialaramaic */, + { 0, 5592, 0, 14, 0, UNI_ZS } /* spaceseparator */, + { 39, 10048, 7468, 3, 9, UNI_NV___MINUS_1_SLASH_2 } /* nv=-5.00e-01 */, + { 2405, 8984, 9255, 6, 5, -UNI_QMARK } /* qmark=false */, + { 1, 8589, 9880, 7, 4, UNI_SC__YI } /* script=yiii */, + { 0, 21, 6730, 2, 11, UNI_KATAKANAEXT } /* inkatakanaext */, + { 776, 184, 8477, 2, 7, UNI_MAKA } /* ismakasar */, + { 1, 2224, 2288, 3, 20, UNI_SINHALAARCHAICNUMBERS } /* insinhalaarchaicnumbers */, + { 1540, 10296, 8583, 3, 6, UNI_PHAG } /* isphagspa */, + { 19, 9508, 8793, 5, 4, UNI_CCC__10 } /* ccc=ccc10 */, + { 0, 9270, 5551, 3, 13, UNI_INPSALTERPAHLAVI } /* inpsalterpahlavi */, + { 36, 2032, 1025, 22, 2, -UNI__PERL_NCHAR } /* noncharactercodepoint=no */, + { 23, 9488, 4145, 4, 16, UNI_LINEARBIDEOGRAMS } /* blk=linearbideograms */, + { 617, 3379, 26, 6, 1, UNI_XPOSIXSPACE } /* space=y */, + { 137, 184, 2912, 2, 19, UNI_SUNDANESESUP } /* issundanesesupplement */, + { 770, 9508, 2809, 4, 2, UNI_CCC__1 } /* ccc=ov */, + { 0, 1417, 9116, 25, 4, UNI_CCC__17 } /* canonicalcombiningclass=ccc17 */, + { 271, 5986, 7907, 13, 8, UNI_NV__3_SLASH_8 } /* numericvalue=3.75e-01 */, + { 1028, 8780, 4554, 7, 14, UNI_CONTROLPICTURES } /* block=controlpictures */, + { 400, 8780, 8421, 6, 7, UNI_INELYMAIC } /* block=elymaic */, + { 0, 9270, 2449, 5, 4, UNI_INPC__LEFT } /* inpc=left */, + { 0, 8688, 9066, 3, 4, UNI_ADLM } /* isadlam */, + { 0, 8589, 9748, 7, 4, UNI_RJNG } /* script=rjng */, + { 0, 9230, 9255, 5, 5, -UNI_CWCF } /* cwcf=false */, + { 3, 5116, 9255, 14, 5, -UNI_EMOD } /* emojimodifier=false */, + { 259, 5578, 49, 14, 2, UNI_SB__AT } /* sentencebreak=at */, + { 0, 9277, 7621, 3, 9, UNI_NBAT } /* sc=nabataean */, + { 2, 184, 3098, 2, 5, UNI_ECOMP } /* isecomp */, + { 36, 3836, 9872, 17, 4, UNI_XPEO } /* scriptextensions=xpeo */, + { 1808, 10027, 2223, 3, 3, UNI_JG__AIN } /* jg=ain */, + { 0, 4116, 3735, 3, 16, UNI_INDICSIYAQNUMBERS } /* isindicsiyaqnumbers */, + { 0, 10033, 2640, 3, 2, UNI_LB__BA } /* lb=ba */, + { 0, 10346, 8682, 4, 5, UNI_ZZZZ } /* isunknown */, + { 1, 9277, 9560, 3, 4, UNI_SC__GONG } /* sc=gong */, + { 14, 5508, 1, 14, 1, -UNI_PATSYN } /* patternsyntax=n */, + { 1, 10009, 8163, 3, 8, UNI_DT__FRA } /* dt=fraction */, + { 13, 8589, 382, 7, 4, UNI_EGYP } /* script=egyp */, + { 0, 2182, 5746, 21, 5, UNI_WB__EB } /* graphemeclusterbreak=ebase */, + { 542, 184, 7368, 2, 10, UNI_SMALLFORMS } /* issmallforms */, + { 0, 9240, 1, 5, 1, -UNI_DASH } /* dash=n */, + { 0, 3836, 6840, 17, 4, UNI_NAND } /* scriptextensions=nand */, + { 0, 9277, 6840, 3, 11, UNI_SC__NAND } /* sc=nandinagari */, + { 0, 8780, 1723, 6, 23, UNI_SUPPUNCTUATION } /* block=supplementalpunctuation */, + { 0, 9492, 17, 4, 1, UNI_BPT__O } /* bpt=o */, + { 1, 3600, 0, 4, 0, UNI_UCAS } /* ucas */, + { 329, 5578, 495, 14, 2, UNI_SB__NU } /* sentencebreak=nu */, + { 0, 8780, 10051, 6, 3, UNI_OCR } /* block=ocr */, + { 1295, 10296, 6506, 3, 7, UNI_PHAISTOS } /* isphaistos */, + { 72, 3836, 9804, 17, 4, UNI_TALE } /* scriptextensions=tale */, + { 0, 10027, 5396, 3, 14, UNI_JG__MANICHAEANRESH } /* jg=manichaeanresh */, + { 4, 10048, 9904, 3, 3, UNI_NV__1_SLASH_5 } /* nv=1/5 */, + { 2184, 133, 0, 4, 0, UNI_M } /* mark */, + { 1, 184, 6609, 2, 10, UNI_DEP } /* isdeprecated */, + { 76, 4688, 6433, 15, 12, UNI_IDENTIFIERTYPE__NOTCHARACTER } /* identifiertype=notcharacter */, + { 0, 2224, 1295, 3, 24, UNI_SUPERANDSUB } /* insuperscriptsandsubscripts */, + { 0, 9277, 3115, 3, 10, UNI_SC__DEVA } /* sc=devanagari */, + { 0, 2224, 7379, 3, 9, UNI_SUPARROWSA } /* insuparrowsa */, + { 0, 10048, 8027, 3, 8, UNI_NV__15_SLASH_2 } /* nv=7.50e+00 */, + { 12, 1552, 44, 10, 1, UNI_SK } /* category=sk */, + { 0, 184, 2560, 2, 4, UNI_MAND } /* ismand */, + { 0, 9508, 8, 4, 1, UNI_CCC__A } /* ccc=a */, + { 261, 6385, 0, 12, 0, UNI_GONM } /* masaramgondi */, + { 1, 8780, 1393, 6, 24, UNI_ARABICPFB } /* block=arabicpresentationformsb */, + { 62, 1417, 8568, 24, 7, UNI_CCC__1 } /* canonicalcombiningclass=overlay */, + { 386, 5986, 7754, 13, 2, UNI_NV__11 } /* numericvalue=11 */, + { 0, 9628, 0, 4, 0, UNI_LATN } /* latn */, + { 0, 9275, 5634, 5, 14, UNI_INSC__VOWELDEPENDENT } /* insc=voweldependent */, + { 0, 9444, 10114, 4, 3, UNI_AGE__6_DOT_3 } /* age=v63 */, + { 139, 8780, 2608, 6, 6, UNI_INBRAHMI } /* block=brahmi */, + { 0, 8780, 4289, 6, 16, UNI_MYANMAREXTB } /* block=myanmarextendedb */, + { 91, 10060, 3, 3, 1, -UNI_RI } /* ri=f */, + { 74, 8589, 9824, 7, 4, UNI_SC__TGLG } /* script=tglg */, + { 15, 9277, 3753, 5, 15, UNI_KITS } /* sc=khitansmallscript */, + { 0, 9676, 0, 4, 0, UNI_NARB } /* narb */, + { 1, 2784, 7060, 4, 8, UNI_ARABICEXTA } /* inarabicexta */, + { 6, 8589, 9876, 7, 4, UNI_XSUX } /* script=xsux */, + { 0, 2280, 7280, 4, 8, UNI_XPEO } /* isoldpersian */, + { 0, 184, 5674, 2, 12, UNI_BIDIM } /* isbidimirrored */, + { 1305, 8894, 3, 6, 1, -UNI_JOINC } /* joinc=f */, + { 13, 5791, 6337, 13, 12, UNI_JG__MALAYALAMNYA } /* joininggroup=malayalamnya */, + { 798, 184, 1631, 2, 15, UNI_GEOMETRICSHAPES } /* isgeometricshapes */, + { 1, 1188, 4386, 3, 15, UNI_TANGUTCOMPONENTS } /* intangutcomponents */, + { 513, 10033, 1527, 3, 9, UNI_LB__SG } /* lb=surrogate */, + { 5, 184, 7119, 3, 9, UNI_CHRS } /* ischorasmian */, + { 224, 9712, 0, 4, 0, UNI_OSGE } /* osge */, + { 0, 8267, 9836, 8, 4, UNI_RADICAL } /* radical=true */, + { 59, 9768, 6973, 5, 10, UNI_SYLO } /* scx=sylotinagri */, + { 1, 8780, 218, 7, 32, UNI_DIACRITICALSEXT } /* block=combiningdiacriticalmarksextended */, + { 608, 5986, 9976, 13, 3, UNI_NV__5_SLASH_8 } /* numericvalue=5/8 */, + { 2, 5986, 9360, 13, 4, UNI_NV___MINUS_1_SLASH_2 } /* numericvalue=-1/2 */, + { 705, 10024, 5726, 3, 13, UNI_ME } /* gc=enclosingmark */, + { 82, 8589, 4149, 8, 3, UNI_SARB } /* script=sarb */, + { 0, 7418, 36, 10, 1, UNI_XPOSIXUPPER } /* uppercase=t */, + { 0, 5791, 8918, 13, 6, UNI_JG__LAMADH } /* joininggroup=lamadh */, + { 514, 8589, 8107, 7, 8, UNI_BALI } /* script=balinese */, + { 0, 2161, 9836, 21, 4, UNI_EXTPICT } /* extendedpictographic=true */, + { 64, 3836, 8187, 17, 4, UNI_HIRA } /* scriptextensions=hira */, + { 16, 9488, 7239, 4, 2, UNI_INVS } /* blk=vs */, + { 1616, 8589, 7428, 7, 10, UNI_WARA } /* script=warangciti */, + { 0, 10288, 62, 8, 5, UNI_XPOSIXGRAPH } /* isxposixgraph */, + { 1, 3379, 0, 6, 0, UNI_wspace_values_index } /* space= */, + { 1042, 4658, 0, 15, 0, UNI_grext_values_index } /* graphemeextend= */, + { 1, 10048, 9379, 3, 2, UNI_NV__41 } /* nv=41 */, + { 5, 2280, 262, 3, 3, UNI_OSMA } /* isosma */, + { 0, 1966, 4913, 22, 15, UNI_INSC__REGISTERSHIFTER } /* indicsyllabiccategory=registershifter */, + { 0, 1812, 3, 22, 1, -UNI_CWL } /* changeswhenlowercased=f */, + { 0, 184, 27, 2, 2, UNI_LOWERCASELETTER } /* isll */, + { 0, 8780, 1879, 7, 21, UNI_CJKCOMPATIDEOGRAPHSSUP } /* block=cjkcompatideographssup */, + { 0, 10048, 9412, 3, 4, UNI_NV__17_SLASH_2 } /* nv=17/2 */, + { 0, 9262, 866, 3, 2, UNI_SB__SP } /* sb=sp */, + { 37, 4838, 47, 15, 1, UNI_NFCQC__M } /* nfkcquickcheck=m */, + { 224, 8589, 9664, 7, 4, UNI_MRO } /* script=mroo */, + { 1, 9488, 689, 4, 30, UNI_CJKEXTG } /* blk=cjkunifiedideographsextensiong */, + { 1, 184, 9285, 2, 5, UNI_LIMB } /* islimbu */, + { 17, 5986, 7806, 13, 1, UNI_NV__6 } /* numericvalue=6 */, + { 0, 7540, 26, 9, 1, UNI_EXT } /* extender=y */, + { 607, 9277, 9320, 3, 5, UNI_OSGE } /* sc=osage */, + { 2, 9768, 8618, 5, 6, UNI_SOYO } /* scx=soyombo */, + { 0, 5746, 36, 6, 1, UNI_EBASE } /* ebase=t */, + { 0, 3836, 8990, 17, 6, UNI_RJNG } /* scriptextensions=rejang */, + { 5, 9768, 9696, 4, 4, UNI_OGAM } /* scx=ogam */, + { 4, 3374, 3, 11, 1, -UNI_XPOSIXSPACE } /* whitespace=f */, + { 12, 184, 1901, 3, 5, UNI_ZYYY } /* iscommon */, + { 546, 10296, 7685, 3, 8, UNI_PAUC } /* ispaucinhau */, + { 0, 6469, 5904, 12, 4, UNI_NV__NAN } /* numerictype=none */, + { 80, 9277, 4793, 3, 15, UNI_MERC } /* sc=meroiticcursive */, + { 128, 8780, 6554, 6, 3, UNI_INIDC } /* block=idc */, + { 2, 9444, 7979, 4, 3, UNI_AGE__6 } /* age=6.0 */, + { 0, 1269, 0, 25, 0, UNI_compex_values_index } /* fullcompositionexclusion= */, + { 1040, 9277, 8464, 4, 6, UNI_SC__KALI } /* sc=kayahli */, + { 1, 1417, 9203, 24, 2, UNI_CCC__34 } /* canonicalcombiningclass=34 */, + { 29, 3836, 6181, 17, 12, UNI_GONG } /* scriptextensions=gunjalagondi */, + { 0, 3151, 1, 18, 1, -UNI_EPRES } /* emojipresentation=n */, + { 45, 5791, 6373, 13, 12, UNI_JG__MANICHAEANPE } /* joininggroup=manichaeanpe */, + { 0, 2224, 8611, 3, 6, UNI_INSIDDHAM } /* insiddham */, + { 24, 6061, 1, 12, 1, -UNI_BIDIC } /* bidicontrol=n */, + { 4, 184, 6505, 2, 12, UNI_PHAISTOS } /* isphaistosdisc */, + { 0, 5986, 9405, 13, 3, UNI_NV__3_SLASH_2 } /* numericvalue=3/2 */, + { 0, 1552, 4568, 9, 14, UNI_SC } /* category=currencysymbol */, + { 80, 10333, 9789, 3, 3, UNI_SHRD } /* isshrd */, + { 3, 9275, 3615, 5, 17, UNI_INSC__CONSONANTPREFIXED } /* insc=consonantprefixed */, + { 0, 9508, 7930, 4, 2, UNI_CCC__14 } /* ccc=14 */, + { 0, 9277, 6409, 3, 12, UNI_MEND } /* sc=mendekikakui */, + { 33, 9277, 9576, 3, 4, UNI_SC__GURU } /* sc=guru */, + { 0, 4916, 4929, 3, 7, UNI_TAMILSUP } /* istamilsup */, + { 18, 9488, 3938, 5, 10, UNI_BOPOMOFOEXT } /* blk=bopomofoext */, + { 19, 184, 2608, 2, 4, UNI_BRAH } /* isbrah */, + { 1, 9488, 8900, 4, 6, UNI_INKAITHI } /* blk=kaithi */, + { 0, 5791, 6950, 13, 11, UNI_JG__STRAIGHTWAW } /* joininggroup=straightwaw */, + { 16, 9262, 1867, 3, 5, UNI_SB__UP } /* sb=upper */, + { 2, 4916, 8667, 3, 6, UNI_TIRH } /* istirhuta */, + { 3, 8267, 9255, 8, 5, -UNI_RADICAL } /* radical=false */, + { 2185, 9488, 4129, 4, 6, UNI_LATIN1 } /* blk=latin1 */, + { 986, 184, 2099, 3, 20, UNI_CJKCOMPATFORMS } /* iscjkcompatibilityforms */, + { 680, 3901, 8181, 4, 6, UNI_INGURMUKHI } /* ingurmukhi */, + { 1185, 1188, 8584, 3, 3, UNI_TAGS } /* intags */, + { 242, 9768, 8604, 5, 6, UNI_SHAW } /* scx=shavian */, + { 0, 184, 3576, 3, 2, UNI_CWL } /* iscwl */, + { 0, 1417, 9925, 24, 3, UNI_CCC__BL } /* canonicalcombiningclass=218 */, + { 436, 3836, 6385, 17, 12, UNI_GONM } /* scriptextensions=masaramgondi */, + { 0, 184, 9568, 2, 4, UNI_GREK } /* isgrek */, + { 6, 4542, 4051, 4, 9, UNI_GEORGIANEXT } /* ingeorgianext */, + { 0, 3836, 9032, 17, 6, UNI_WCHO } /* scriptextensions=wancho */, + { 0, 4688, 8972, 15, 6, UNI_IDENTIFIERTYPE__NOTXID } /* identifiertype=notxid */, + { 1, 9520, 10135, 4, 3, UNI_CWL } /* cwl=yes */, + { 232, 184, 1823, 2, 5, UNI_XPOSIXLOWER } /* islower */, + { 2, 184, 6265, 2, 12, UNI_NL } /* isletternumber */, + { 462, 9508, 9952, 4, 3, UNI_CCC__IS } /* ccc=240 */, + { 133, 3836, 8470, 17, 7, UNI_LINA } /* scriptextensions=lineara */, + { 164, 9716, 9255, 4, 5, -UNI_PCM } /* pcm=false */, + { 1876, 10333, 1537, 3, 3, UNI_SIND } /* issind */, + { 0, 9508, 8805, 5, 4, UNI_CCC__11 } /* ccc=ccc11 */, + { 3, 8589, 4478, 7, 7, UNI_BRAI } /* script=braille */, + { 17, 9508, 8819, 4, 3, UNI_CCC__129 } /* ccc=129 */, + { 1, 3349, 0, 18, 0, UNI_ZP } /* paragraphseparator */, + { 2098, 8780, 4385, 6, 6, UNI_INTANGUT } /* block=tangut */, + { 0, 10027, 10021, 3, 3, UNI_JG__GAF } /* jg=gaf */, + { 0, 7218, 5999, 10, 13, UNI_LB__PR } /* linebreak=prefixnumeric */, + { 49, 1417, 9111, 25, 4, UNI_CCC__16 } /* canonicalcombiningclass=ccc16 */, + { 45, 2779, 1025, 19, 2, -UNI_IDST } /* idstrinaryoperator=no */, + { 0, 5324, 5949, 4, 11, UNI_MAYANNUMERALS } /* inmayannumerals */, + { 216, 7218, 1465, 10, 13, UNI_LB__CM } /* linebreak=combiningmark */, + { 1408, 4337, 0, 16, 0, UNI_SUPMATHOPERATORS } /* supmathoperators */, + { 0, 1552, 2349, 9, 20, UNI_PC } /* category=connectorpunctuation */, + { 0, 8930, 36, 6, 1, UNI_XPOSIXLOWER } /* lower=t */, + { 0, 5578, 751, 14, 5, UNI_SB__CL } /* sentencebreak=close */, + { 0, 5791, 0, 13, 0, UNI_jg_values_index } /* joininggroup= */, + { 8, 184, 2912, 2, 12, UNI_SUNDANESESUP } /* issundanesesup */, + { 1363, 5494, 0, 14, 0, UNI_MN } /* nonspacingmark */, + { 0, 9488, 8491, 4, 7, UNI_INMARCHEN } /* blk=marchen */, + { 0, 3836, 6973, 18, 3, UNI_SYLO } /* scriptextensions=sylo */, + { 0, 7388, 0, 10, 0, UNI_SUPARROWSB } /* suparrowsb */, + { 927, 9768, 9756, 4, 4, UNI_RUNR } /* scx=runr */, + { 0, 3151, 9255, 18, 5, -UNI_EPRES } /* emojipresentation=false */, + { 0, 6420, 8562, 3, 6, UNI_INOSMANYA } /* inosmanya */, + { 5, 9488, 1006, 4, 17, UNI_ANCIENTGREEKMUSIC } /* blk=ancientgreekmusic */, + { 0, 9556, 10015, 4, 3, UNI_WB__EB } /* gcb=ebg */, + { 0, 8780, 867, 6, 18, UNI_PHONETICEXT } /* block=phoneticextensions */, + { 0, 3836, 9644, 17, 4, UNI_MEDF } /* scriptextensions=medf */, + { 0, 5986, 7931, 13, 8, UNI_NV__5_SLASH_12 } /* numericvalue=4.17e-01 */, + { 0, 9275, 728, 5, 6, UNI_INSC__NUMBER } /* insc=number */, + { 1, 5986, 8720, 13, 5, UNI_NV__40000 } /* numericvalue=40000 */, + { 769, 5791, 5934, 13, 13, UNI_JG__MANICHAEANWAW } /* joininggroup=manichaeanwaw */, + { 2308, 3836, 5003, 17, 15, UNI_ZANB } /* scriptextensions=zanabazarsquare */, + { 10, 2784, 1371, 4, 22, UNI_ARABICPFA } /* inarabicpresentationformsa */, + { 0, 9492, 1, 4, 1, UNI_BPT__N } /* bpt=n */, + { 1, 9780, 0, 4, 0, UNI_SHAW } /* shaw */, + { 40, 7076, 1586, 3, 13, UNI_BYZANTINEMUSIC } /* inbyzantinemusic */, + { 0, 9488, 9096, 5, 4, UNI_INBUHID } /* blk=buhid */, + { 1364, 8589, 2560, 7, 4, UNI_SC__MAND } /* script=mand */, + { 541, 2280, 7668, 4, 7, UNI_ORKH } /* isoldturkic */, + { 11, 10048, 9372, 3, 3, UNI_NV__1_SLASH_4 } /* nv=1/4 */, + { 0, 3836, 9608, 17, 4, UNI_KITS } /* scriptextensions=kits */, + { 1, 9277, 7651, 3, 4, UNI_ITAL } /* sc=ital */, + { 0, 8780, 8171, 6, 8, UNI_INGUJARATI } /* block=gujarati */, + { 4, 10027, 4763, 3, 15, UNI_JG__MANICHAEANSADHE } /* jg=manichaeansadhe */, + { 2560, 8780, 3421, 6, 18, UNI_RUMI } /* block=ruminumeralsymbols */, + { 691, 10027, 5918, 3, 3, UNI_JG__TAW } /* jg=taw */, + { 1, 10024, 5040, 3, 5, UNI_XPOSIXDIGIT } /* gc=digit */, + { 0, 8780, 1922, 6, 22, UNI_DIACRITICALSFORSYMBOLS } /* block=diacriticalsforsymbols */, + { 7, 9768, 9460, 4, 4, UNI_ARMI } /* scx=armi */, + { 0, 9768, 2329, 4, 20, UNI_HLUW } /* scx=anatolianhieroglyphs */, + { 786, 1552, 5726, 9, 13, UNI_ME } /* category=enclosingmark */, + { 5, 8267, 3, 8, 1, -UNI_RADICAL } /* radical=f */, + { 3779, 8780, 1369, 6, 24, UNI_ARABICPFA } /* block=arabicpresentationformsa */, + { 0, 7438, 400, 10, 6, UNI_WB__FO } /* wordbreak=format */, + { 1028, 7218, 1527, 10, 9, UNI_LB__SG } /* linebreak=surrogate */, + { 0, 9768, 9656, 4, 4, UNI_MIAO } /* scx=miao */, + { 0, 9277, 9285, 3, 4, UNI_SC__LIMB } /* sc=limb */, + { 21, 9444, 10105, 4, 3, UNI_AGE__6 } /* age=v60 */, + { 0, 4448, 0, 15, 0, UNI_BAMUMSUP } /* bamumsupplement */, + { 404, 184, 9245, 2, 5, UNI_DOGR } /* isdogra */, + { 0, 3169, 0, 11, 0, UNI_ETHIOPICSUP } /* ethiopicsup */, + { 833, 184, 4448, 2, 15, UNI_BAMUMSUP } /* isbamumsupplement */, + { 0, 9488, 2722, 4, 10, UNI_JAMO } /* blk=hanguljamo */, + { 11, 9696, 0, 4, 0, UNI_OGAM } /* ogam */, + { 1713, 8589, 9335, 7, 4, UNI_SC__TAKR } /* script=takr */, + { 5, 10060, 9836, 3, 4, UNI_RI } /* ri=true */, + { 0, 8780, 7068, 6, 10, UNI_ASCII } /* block=basiclatin */, + { 16, 9796, 0, 4, 0, UNI_SYRC } /* syrc */, + { 1097, 6576, 1, 11, 1, -UNI_XPOSIXALPHA } /* alphabetic=n */, + { 0, 4033, 10168, 16, 2, UNI_CASEDLETTER } /* generalcategory=l& */, + { 0, 7076, 3938, 3, 7, UNI_INBOPOMOFO } /* inbopomofo */, + { 0, 8780, 3796, 7, 3, UNI_INCHAM } /* block=cham */, + { 18, 184, 6884, 2, 11, UNI_HMNG } /* ispahawhhmong */, + { 1061, 8147, 1, 8, 1, -UNI_EXTPICT } /* extpict=n */, + { 1898, 10296, 472, 3, 2, UNI_PUA } /* ispua */, + { 1, 9786, 1702, 4, 21, UNI_SHORTHANDFORMATCONTROLS } /* inshorthandformatcontrols */, + { 1921, 8780, 1442, 7, 23, UNI_CJKSYMBOLS } /* block=cjksymbolsandpunctuation */, + { 5, 4808, 0, 15, 0, UNI_MISCPICTOGRAPHS } /* miscpictographs */, + { 0, 1966, 1244, 22, 25, UNI_INSC__CONSONANTINITIALPOSTFIXED } /* indicsyllabiccategory=consonantinitialpostfixed */, + { 576, 5986, 8756, 13, 4, UNI_NV__9000 } /* numericvalue=9000 */, + { 2, 8780, 8380, 7, 6, UNI_CJKEXTE } /* block=cjkexte */, + { 0, 9488, 316, 4, 33, UNI_SUPMATHOPERATORS } /* blk=supplementalmathematicaloperators */, + { 243, 9488, 659, 4, 30, UNI_CJKEXTF } /* blk=cjkunifiedideographsextensionf */, + { 0, 184, 9664, 2, 4, UNI_MRO } /* ismroo */, + { 0, 9488, 3439, 4, 12, UNI_SMALLKANAEXT } /* blk=smallkanaext */, + { 184, 184, 6253, 2, 12, UNI_KHMERSYMBOLS } /* iskhmersymbols */, + { 476, 3836, 7278, 17, 10, UNI_XPEO } /* scriptextensions=oldpersian */, + { 0, 8666, 0, 4, 0, UNI_TIRH } /* tirh */, + { 224, 184, 2409, 2, 20, UNI_GLAGOLITICSUP } /* isglagoliticsupplement */, + { 626, 8589, 5284, 7, 4, UNI_LISU } /* script=lisu */, + { 20, 2280, 1061, 3, 26, UNI_OCR } /* isopticalcharacterrecognition */, + { 568, 9277, 8299, 3, 8, UNI_TFNG } /* sc=tifinagh */, + { 0, 6205, 10135, 12, 3, UNI_IDEO } /* ideographic=yes */, + { 0, 5713, 0, 13, 0, UNI_XPOSIXDIGIT } /* decimalnumber */, + { 0, 21, 7576, 2, 9, UNI_LATINEXTB } /* inlatinextb */, + { 3194, 10048, 8720, 3, 2, UNI_NV__40 } /* nv=40 */, + { 0, 5791, 5921, 13, 13, UNI_JG__MANICHAEANTEN } /* joininggroup=manichaeanten */, + { 4, 6231, 4560, 9, 8, UNI_CONTROLPICTURES } /* incontrolpictures */, + { 1284, 8768, 10135, 6, 3, UNI_BIDIC } /* bidic=yes */, + { 3068, 2268, 0, 2, 0, UNI_PD } /* pd */, + { 0, 6553, 1025, 12, 2, -UNI_XIDC } /* xidcontinue=no */, + { 14, 184, 132, 2, 2, UNI_LM } /* islm */, + { 8, 8589, 6481, 7, 12, UNI_HUNG } /* script=oldhungarian */, + { 0, 10132, 7612, 3, 6, UNI_WB__MN } /* wb=midnum */, + { 0, 4033, 6035, 16, 2, UNI_PF } /* generalcategory=pf */, + { 4, 9520, 26, 4, 1, UNI_CWL } /* cwl=y */, + { 1, 5986, 7469, 13, 1, UNI_NV__5 } /* numericvalue=5 */, + { 0, 9488, 4449, 5, 14, UNI_BAMUMSUP } /* blk=bamumsupplement */, + { 4, 8780, 908, 6, 14, UNI_PUA } /* block=privateusearea */, + { 2707, 8694, 1, 7, 1, -UNI_XPOSIXSPACE } /* wspace=n */, + { 292, 3683, 0, 17, 0, UNI_ETHIOPICEXTA } /* ethiopicextendeda */, + { 0, 9768, 8680, 4, 7, UNI_ZZZZ } /* scx=unknown */, + { 323, 4791, 2062, 3, 14, UNI_MODIFIERLETTERS } /* inmodifierletters */, + { 20, 7028, 7028, 3, 10, UNI_YISYLLABLES } /* isyisyllables */, + { 1, 9624, 0, 3, 0, UNI_LAO } /* lao */, + { 2, 8870, 9255, 6, 5, -UNI_EPRES } /* epres=false */, + { 529, 3836, 7694, 18, 8, UNI_SAMR } /* scriptextensions=samaritan */, + { 3055, 9444, 9979, 4, 3, UNI_AGE__6_DOT_1 } /* age=6.1 */, + { 3202, 10012, 7486, 3, 9, UNI_EA__A } /* ea=ambiguous */, + { 0, 1417, 9208, 24, 2, UNI_CCC__35 } /* canonicalcombiningclass=35 */, + { 1, 184, 9688, 2, 3, UNI_NKO } /* isnko */, + { 0, 9350, 10135, 5, 3, UNI_XIDS } /* xids=yes */, + { 161, 7418, 9836, 10, 4, UNI_XPOSIXUPPER } /* uppercase=true */, + { 0, 1552, 47, 10, 1, UNI_SM } /* category=sm */, + { 0, 9277, 9568, 3, 4, UNI_SC__GREK } /* sc=grek */, + { 0, 8589, 6193, 7, 6, UNI_HEBR } /* script=hebrew */, + { 3120, 184, 5550, 2, 14, UNI_PHLP } /* ispsalterpahlavi */, + { 1046, 7155, 6321, 3, 3, UNI_HMNG } /* ishmng */, + { 0, 8984, 26, 6, 1, UNI_QMARK } /* qmark=y */, + { 73, 1218, 0, 8, 0, UNI_KANA } /* katakana */, + { 0, 8589, 8344, 7, 4, UNI_SC__BENG } /* script=beng */, + { 1289, 7, 0, 18, 0, UNI_CANS } /* canadianaboriginal */, + { 1836, 1591, 3170, 3, 17, UNI_ETHIOPICSUP } /* inethiopicsupplement */, + { 3201, 5032, 10135, 14, 3, UNI_POSIXXDIGIT } /* asciihexdigit=yes */, + { 7, 8449, 1025, 7, 2, -UNI_HYPHEN } /* hyphen=no */, + { 136, 9488, 1911, 4, 11, UNI_NUMBERFORMS } /* blk=numberforms */, + { 1674, 9508, 7933, 4, 2, UNI_CCC__17 } /* ccc=17 */, + { 0, 8512, 47, 7, 1, UNI_NFCQC__M } /* nfkcqc=m */, + { 139, 9786, 8605, 4, 5, UNI_SHAW } /* inshavian */, + { 0, 6420, 7658, 3, 8, UNI_INOLDPERMIC } /* inoldpermic */, + { 0, 1654, 0, 6, 0, UNI_HANG } /* hangul */, + { 0, 5578, 0, 16, 0, UNI_SB__SP } /* sentencebreak=sp */, + { 332, 4033, 1025, 16, 2, UNI_NO } /* generalcategory=no */, + { 2690, 1417, 9218, 24, 2, UNI_CCC__84 } /* canonicalcombiningclass=84 */, + { 0, 1189, 11, 3, 2, UNI_NT__DI } /* nt=di */, + { 12, 7218, 1140, 10, 26, UNI_LB__CJ } /* linebreak=conditionaljapanesestarter */, + { 3801, 6241, 6994, 12, 11, UNI_JT__T } /* joiningtype=transparent */, + { 0, 8688, 3548, 3, 9, UNI_ALCHEMICAL } /* isalchemical */, + { 816, 6554, 1025, 11, 2, -UNI_IDC } /* idcontinue=no */, + { 1, 10176, 0, 2, 0, UNI_ZL } /* zl */, + { 24, 9250, 0, 6, 0, -UNI_EMOD } /* emod=f */, + { 0, 1790, 9255, 22, 5, -UNI_CWCM } /* changeswhencasemapped=false */, + { 2428, 10027, 9744, 3, 4, UNI_JG__QAPH } /* jg=qaph */, + { 1, 3853, 26, 17, 1, UNI_STERM } /* sentenceterminal=y */, + { 2398, 4542, 3243, 4, 6, UNI_INGEORGIAN } /* ingeorgian */, + { 531, 184, 9676, 2, 4, UNI_NARB } /* isnarb */, + { 12, 8780, 7693, 6, 9, UNI_INSAMARITAN } /* block=samaritan */, + { 5, 1417, 8805, 25, 4, UNI_CCC__11 } /* canonicalcombiningclass=ccc11 */, + { 0, 9488, 4369, 4, 9, UNI_SYRIACSUP } /* blk=syriacsup */, + { 4367, 8780, 5752, 6, 8, UNI_GREEKEXT } /* block=greekext */, + { 0, 1537, 1924, 4, 20, UNI_DIACRITICALSFORSYMBOLS } /* indiacriticalsforsymbols */, + { 0, 3836, 8561, 17, 4, UNI_OSMA } /* scriptextensions=osma */, + { 3590, 9508, 8811, 5, 4, UNI_CCC__12 } /* ccc=ccc12 */, + { 7694, 509, 0, 30, 0, UNI_CJKEXTA } /* cjkunifiedideographsextensiona */, + { 0, 8780, 6277, 6, 12, UNI_MAHJONG } /* block=mahjongtiles */, + { 4, 5986, 5648, 13, 4, UNI_NV__1000 } /* numericvalue=1000 */, + { 0, 2280, 4870, 4, 13, UNI_NARB } /* isoldnortharabian */, + { 7122, 8780, 3751, 6, 17, UNI_INKHITANSMALLSCRIPT } /* block=khitansmallscript */, + { 5, 9277, 8219, 3, 4, UNI_SC__JAVA } /* sc=java */ }; MPH_VALt match_uniprop( const unsigned char * const key, const U16 key_len ) { @@ -7217,7 +7468,7 @@ MPH_VALt match_uniprop( const unsigned char * const key, const U16 key_len ) { U32 s; U32 n; do { - h ^= *ptr; + h ^= NATIVE_TO_LATIN1(*ptr); /* table collated in Latin1 */ h *= MPH_FNV_CONST; } while ( ++ptr < ptr_end ); n= h % MPH_BUCKETS; @@ -7238,56 +7489,58 @@ MPH_VALt match_uniprop( const unsigned char * const key, const U16 key_len ) { } /* Generated from: - * d34c77b7e7a94986cc82056919f4ffc1503b73091561e16bd8ef145ac0fd04c5 lib/Unicode/UCD.pm - * 5e91b649379ec79af7cfb6b09410a24557cba4c6d733cd0a2b8a78a1448736d2 lib/unicore/ArabicShaping.txt - * f5feb19cd084b2b1568fbc0f94f4b4b54941406e7fb36c7570f8352fd5022dbe lib/unicore/BidiBrackets.txt - * e6cbd8ffe94f2e0fbfa6695d6c06c1e72eef7d3aa93cb6329d111285198b5e62 lib/unicore/BidiMirroring.txt - * a28b205afe8625fffdb6544a5fe14cf02b91493d9900f07820fa2102a17548f7 lib/unicore/Blocks.txt - * 9c772627c6ee77eea6a17b42927b8ee28ca05dc65d6a511062104baaf3d12294 lib/unicore/CaseFolding.txt - * abc8394c5bde62453118b00c1c5842160a04d7fffb2e829ee5426b846596d081 lib/unicore/CompositionExclusions.txt - * 2fc081011d8fabaf7cf4937732dd5a6d6a57e492c43f3adfeded513387ee0ec3 lib/unicore/DAge.txt - * a6eb7a8671fb532fbd88c37fd7b20b5b2e7dbfc8b121f74c14abe2947db0da68 lib/unicore/DCoreProperties.txt - * 92dcdda84142194a1596f22180fcdf8c0e7f86897f09cc9203c7dc636c549f5f lib/unicore/DNormalizationProps.txt - * 904500178b2e752635bef27aaed3a2a3718a100bce35ff96b3890be7a8315d8f lib/unicore/EastAsianWidth.txt - * 1989b03d93023d8f5cc33eebf0d2ea80c8bd8f8c97843059ea039acb582c2078 lib/unicore/EmojiData.txt - * d7930c2a7318e66b4ba756d5e5b41fbc586c2ad43d450ae9d320a758510bae2e lib/unicore/EquivalentUnifiedIdeograph.txt - * 8606af08712a8c18fe268d418e2e5a87eddee6e190cce4c2d5a76b4fadf035e8 lib/unicore/HangulSyllableType.txt - * 49a1bf18b048454154881f6a8a605b5e2fc73e85fcc4df1cb26d52e8c2aeb9bf lib/unicore/IndicPositionalCategory.txt - * 1b6f3ef6e00e5b2e2a93d2d3c954ca1cce368599c5f11874cd0f0ce222d4637b lib/unicore/IndicSyllabicCategory.txt - * 285c5c1ae458bc3ccd6a1398a94d2d67ce6bc1d7fc0f098762836050345e9434 lib/unicore/Jamo.txt - * 961f842fc70b5afd1d82c6645e68c10d1f701382aed38ae38cb2ff27f671903c lib/unicore/LineBreak.txt - * ff61a0687d2f32c0dd1094254b8bde967883b43c2d4d50fd17531d498e41ab2c lib/unicore/NameAliases.txt - * d3eb9a288ebeaf9de1237989f490705e287b6f610b59d2459fb1b7c2d8e39c39 lib/unicore/NamedSequences.txt - * d30d3ee430cf3527449d024954f053e419fa4aa2246eb59e5cd8d621af0c4b3f lib/unicore/PropList.txt - * efce54f7c715a332c19b3d14c6a0eea30c6cde91caf6ff0d21c755be933736f4 lib/unicore/PropValueAliases.txt - * d3cc3f9f0b6a8f0b7ef1d6ef202675426c28f4a75de01fc69ed977a93a00982b lib/unicore/PropertyAliases.txt - * 3746848c181b5dbc1e614dfac9b8a5e3568e6525c693ac14e692ac55dec57e91 lib/unicore/ScriptExtensions.txt - * e6313a8edfd24f36c7a006fbcf1d1b7245b5dd009c6dde80441f0da08b822c43 lib/unicore/Scripts.txt - * 817ce2e9edca8e075a153f54b8f3b020345e37652cd2bda9b1495c366af17e7e lib/unicore/SpecialCasing.txt - * 93ab1acd8fd9d450463b50ae77eab151a7cda48f98b25b56baed8070f80fc936 lib/unicore/UnicodeData.txt - * ec5ba64af58297a46de17848eb984d2b231adb304de92e9d0d3befdbf9dc2551 lib/unicore/VerticalOrientation.txt - * 95bd55cf803b93eb0b4990cf0e1d70ede263b36412d9c6921fd6f15cef058961 lib/unicore/auxiliary/GCBTest.txt - * 39d73448fd257e6082f83ddf4c8bf6feb191e85dc8fc56b1a8512482de5e3dea lib/unicore/auxiliary/GraphemeBreakProperty.txt - * f385e70f79f5959ae66d64b00f4bda39db6cef78e5363a0cdd88db46eafc6c8f lib/unicore/auxiliary/LBTest.txt - * 7d6c909af97d0ab545a132d412f6e4e65c7eb5158514a7feb9bf00bcd05875f9 lib/unicore/auxiliary/SBTest.txt - * c47d674ef4170c46185bf56f7a4c6627f65f012295e0994f7dc4aea51f8fd8cf lib/unicore/auxiliary/SentenceBreakProperty.txt - * 3e3320bbbe775de7f1a0b9a30021eb949116a9b05cb461c90596c5ecf1743831 lib/unicore/auxiliary/WBTest.txt - * f221f89fe3bb3becc00de726d5694c4b7f464c316baff6d339b2ff3900bcb96c lib/unicore/auxiliary/WordBreakProperty.txt - * db2c41c618bab54b00e58223ad11cec550f9b9fd1a471de236e660da92fe4870 lib/unicore/extracted/DBidiClass.txt - * fecd8a1c49935d794c4c1012f4158aa536a13049a4c10d01aaf7b5f90f3b2cbc lib/unicore/extracted/DBinaryProperties.txt - * db6f38fb4aa8b9181b5e6a9f320de9d5c2c9b5687116a619b3cb90138b025e0b lib/unicore/extracted/DCombiningClass.txt - * 2524f69c175831fd84bfbaf13ea37992f41db167d728c51b1d0002c1d0b130b0 lib/unicore/extracted/DDecompositionType.txt - * 16852301d54ae59b5cfe0daa6b8e17fb688ed055d59b2a5a11eaafc650cc9d30 lib/unicore/extracted/DEastAsianWidth.txt - * 78f898b988049a5bea5039cea6ffe87a92596859ac660a6c438519b512fe2ee6 lib/unicore/extracted/DGeneralCategory.txt - * 33441692403901287c834f96bd33b671133a6f74e2732c61a497608b9e434932 lib/unicore/extracted/DJoinGroup.txt - * a792ac5ef602e3bace679cc96d7491701dcdb73d81c782253de88fdcc5e70e50 lib/unicore/extracted/DJoinType.txt - * 78e2600e24fa7d5ab62117de50b382f8b31b08401c37a0782c38dacb340b64e7 lib/unicore/extracted/DLineBreak.txt - * 1bde4ad73e271c6349fbd1972e54f38bba5cc1900c28f678e79b9e8909b31793 lib/unicore/extracted/DNumType.txt - * 6278722699123f3890e4b1cc42011e96d8960e4958a3b93484361530983d2611 lib/unicore/extracted/DNumValues.txt - * b3d90fc23817ea4e33e9a90107c0a6c7b23314efd5712905ed172624d5524693 lib/unicore/mktables - * a712c758275b460d18fa77a26ed3589689bb3f69dcc1ea99b913e32db92a5cd2 lib/unicore/version + * d60b1a3dffe16c4aaaf3f00d21993bb320d05e9828b106182214764d4c69935c lib/Unicode/UCD.pm + * ce96627d4fc91b4fd886c409caeb9b76cf7bd345e12f05c6701add7f233f6437 lib/unicore/ArabicShaping.txt + * 0e69eef3da722cc104522d8372e86d5b86bb7afcc761b0c991e39e832294946d lib/unicore/BidiBrackets.txt + * a00d9d21585106a52113fb7b1d3d0373a5835be72e76862fb559ebddd474d70e lib/unicore/BidiMirroring.txt + * 81a82b6a9fcf1a9c12f588d7a1decd73a9afdc4cac95b0eb7e576e7942d6c19f lib/unicore/Blocks.txt + * 99d231d7c91688bbe8ca8ccebcc2f46b5b222f844babe4827295bae11e2abe5f lib/unicore/CaseFolding.txt + * 38badafd818d8405324fe298c0676be0c95186368c84b5368375fd871a645144 lib/unicore/CompositionExclusions.txt + * e779a443d3aa2a3166a15becaa2b737c922480e32c0453d5956093633555078f lib/unicore/DAge.txt + * a5d45f59b39deaab3c72ce8c1a2e212a5e086dff11b1f9d5bb0e352642e82248 lib/unicore/DCoreProperties.txt + * 3ac44e11c84bdaf6b207d2c2c20eed857ae17052393fc7f71b0fe951186ba906 lib/unicore/DNormalizationProps.txt + * 4f822ec7a9ebbb3138ad29bade8b9688d25b39c7a3c0b7431f01e7229e4fcb6e lib/unicore/EastAsianWidth.txt + * fc535aa1047a70105ab9a22c2b4c3f363a2ff02fe48ebbc5eeb9873b2752ff0b lib/unicore/EquivalentUnifiedIdeograph.txt + * b9c5158ce944d2fec57e0e4ecb716bdabfc3bdde73525f1772fe03f61a30d473 lib/unicore/HangulSyllableType.txt + * 36c1b2a626ff1fb23b8b21e6ea8712698f8ce668dded1cb48b8ddf6a6a1b04e9 lib/unicore/IdStatus.txt + * 4857c4ffa3898e6128b2d46b0a02e499a663fb91464a69ef3611096f01293acc lib/unicore/IdType.txt + * 69197b019fa5f2fb0d8c6ed1ed8acb9f2e8b5b8f45a947953ffa652f3bf54983 lib/unicore/IndicPositionalCategory.txt + * 6604e2f0fde7428675364aa0006bc686b79488dcc60ae8cb29800af2be3352e8 lib/unicore/IndicSyllabicCategory.txt + * 84ead63924aaa74b988b2eaf254a8733276ed108633ce2ef77a9ee1de7818162 lib/unicore/Jamo.txt + * d5abcd8f54c8a2aa912924c485ccf7f968ad98feaa303d8e9a29ad89172f1faf lib/unicore/LineBreak.txt + * 985128e8c8b2540233331d9b27d897d2c23bd5bcf1d05da960befce6efc59542 lib/unicore/NameAliases.txt + * 27282b8aa01d4d0c44aef436cb74195ae8639ffa187aeee4e6247af76febea76 lib/unicore/NamedSequences.txt + * 485b5a3ed25dbf1f94dfa5a9b69d8b4550ffd0c33045ccc55ccfd7c80b2a40cf lib/unicore/PropList.txt + * 6b3902e9268cd843fe65cbdea992108c9528343ec0679f800b96f356bb553e5a lib/unicore/PropValueAliases.txt + * 2bd5777847e3d6add3c7e5c0d1393ddcab89e5a0ac3ff498cb0c53041f0b86e4 lib/unicore/PropertyAliases.txt + * 03a61dc89422e44cc2b73e8e893321007880ab69e2a4d281c0f1bc29c602b9d0 lib/unicore/ScriptExtensions.txt + * 9a5ed1ec9b5f0d7147e9371ad792ab39203611af7637cff2aa4a5c663b172cde lib/unicore/Scripts.txt + * 6424312f1dc39b22e0ff9c0ffb13dfad424d9b03e6a6dc6bca941f6bf5ef1ffd lib/unicore/SpecialCasing.txt + * bdbffbbfc8ad4d3a6d01b5891510458f3d36f7170422af4ea2bed3211a73e8bb lib/unicore/UnicodeData.txt + * 160f41816234addb511901d5f21febd69574578dd93de6ef8153e35693325575 lib/unicore/VerticalOrientation.txt + * 32dfb37d21db530529a6ec3dc13d96f21f8e7c7faf7ff3db8a9760cd76cec81d lib/unicore/auxiliary/GCBTest.txt + * 2bd3c5e2d62701ff81fb3ec318e179a4618cabb1493b1e0dd2b4e7e56c5437c4 lib/unicore/auxiliary/GraphemeBreakProperty.txt + * c51fbebfa82a0f36473b44bfd71d5ef6cb6a1f81fb313375dc9a1910d79bb2b6 lib/unicore/auxiliary/LBTest.txt + * 80b0107750818d8f370bd120b6fe56b6855b60581f72affe8b60409a469b4b65 lib/unicore/auxiliary/SBTest.txt + * 09e3166ebab166ac630a227f77f4e794ebd433271abd5588f5a67e7f199c71ee lib/unicore/auxiliary/SentenceBreakProperty.txt + * bf5373ce28a5df06796c93dc159dd15a997bb2950c92704b40ae8190cfc3716d lib/unicore/auxiliary/WBTest.txt + * a2b7373cf2fe3fa3b26dbb53405ca849985f771ff47f1c61743978003ff80499 lib/unicore/auxiliary/WordBreakProperty.txt + * d2686f400a638c80775d7c662556fb8fa8dd3bbe4aa548d9d31624264c6e1bb1 lib/unicore/emoji/emoji.txt + * b827ae5da8c2b08947cc9a120a7b7fd2f1676fb160b508df78075381635b127c lib/unicore/extracted/DBidiClass.txt + * 6fdc5b5ef40444a8f0c772e6b67c00498d4216fe0c0fdf76744ce338f2ad3810 lib/unicore/extracted/DBinaryProperties.txt + * e14928a5bf6ad5958a80332bd42e96e14420080a95c660e5da29384e496755d0 lib/unicore/extracted/DCombiningClass.txt + * 579a03281fbe87b78d5d9a8523de4d255edd7e4ca6eab0e4c7729de97e9b89b1 lib/unicore/extracted/DDecompositionType.txt + * ad83c59b257e9d480ffd3001d4ac240c5fed7cb1919453e1c4e8877035256bcd lib/unicore/extracted/DEastAsianWidth.txt + * 4502f0969e4e6558c4b4c6ca4c23dad70b863d61dd3d5eed1a62a6c3c99fd570 lib/unicore/extracted/DGeneralCategory.txt + * 00bb88b89e2adb646f3177f9444e2d3192386b81a5de9556104b338274b253e1 lib/unicore/extracted/DJoinGroup.txt + * ac835b6e11a60c9820d3cf2d1cb0558dd68efb8f53f404a51632e4726690a6d7 lib/unicore/extracted/DJoinType.txt + * baba9dfc133e3cb770a89aaf0973b1341fa61c2da6c176baf6428898b3b568d8 lib/unicore/extracted/DLineBreak.txt + * 6d4a8c945dd7db83ed617cbb7d937de7f4ecf016ff22970d846e996a7c9a2a5d lib/unicore/extracted/DNumType.txt + * 5b7c14380d5cceeaffcfbc18db1ed936391d2af2d51f5a41f1a17b692c77e59b lib/unicore/extracted/DNumValues.txt + * ee0dd174fd5b158d82dfea95d7d822ca0bfcd490182669353dca3ab39a8ee807 lib/unicore/mktables + * 50b85a67451145545a65cea370dab8d3444fbfe07e9c34cef560c5b7da9d3eef lib/unicore/version * 2680b9254eb236c5c090f11b149605043e8c8433661b96efc4a42fb4709342a5 regen/charset_translations.pl - * 03e51b0f07beebd5da62ab943899aa4934eee1f792fa27c1fb638c33bf4ac6ea regen/mk_PL_charclass.pl - * 61ea8132bb9ea5c637609e2d026b0b85ce17d6bec544c2f08ce411e6f65e8386 regen/mk_invlists.pl - * c56b78df81e0f96632246052d71580b212546ca02ba4075158965e11d892f21e regen/mph.pl + * 6bbad21de0848e0236b02f34f5fa0edd3cdae9ba8173cc9469a5513936b9e728 regen/mk_PL_charclass.pl + * 7a7e778e903508b1c244a77bae57ec57606ab775bb5f81719dbb122eb66d4259 regen/mk_invlists.pl + * cf1d68efb7d919d302c4005641eae8d36da6d7850816ad374b0c00b45e609f43 regen/mph.pl * ex: set ro: */ diff --git a/Master/tlpkg/tlperl/lib/CORE/unicode_constants.h b/Master/tlpkg/tlperl/lib/CORE/unicode_constants.h index d7ccd90b7e1..b85b0fcd5a6 100755 --- a/Master/tlpkg/tlperl/lib/CORE/unicode_constants.h +++ b/Master/tlpkg/tlperl/lib/CORE/unicode_constants.h @@ -24,7 +24,7 @@ /* =head1 Unicode Support -=for apidoc AmU|placeholder|BOM_UTF8 +=for apidoc AmnU|const char *|BOM_UTF8 This is a macro that evaluates to a string constant of the UTF-8 bytes that define the Unicode BYTE ORDER MARK (U+FEFF) for the platform that perl @@ -33,7 +33,7 @@ works on both ASCII and EBCDIC platforms. S> can be used to get its length in bytes. -=for apidoc AmU|placeholder|REPLACEMENT_CHARACTER_UTF8 +=for apidoc AmnU|const char *|REPLACEMENT_CHARACTER_UTF8 This is a macro that evaluates to a string constant of the UTF-8 bytes that define the Unicode REPLACEMENT CHARACTER (U+FFFD) for the platform that perl @@ -45,8 +45,8 @@ bytes. =cut */ -#define UNICODE_MAJOR_VERSION 12 -#define UNICODE_DOT_VERSION 1 +#define UNICODE_MAJOR_VERSION 13 +#define UNICODE_DOT_VERSION 0 #define UNICODE_DOT_DOT_VERSION 0 @@ -177,7 +177,7 @@ bytes. #endif /* EBCDIC 037 */ /* The number of code points not matching \pC */ -#define NON_OTHER_COUNT_FOR_USE_ONLY_BY_REGCOMP_DOT_C 137768 +#define NON_OTHER_COUNT_FOR_USE_ONLY_BY_REGCOMP_DOT_C 143698 /* The highest code point that has any type of case change */ #define HIGHEST_CASE_CHANGING_CP_FOR_USE_ONLY_BY_UTF8_DOT_C 0x1E943 diff --git a/Master/tlpkg/tlperl/lib/CORE/unixish.h b/Master/tlpkg/tlperl/lib/CORE/unixish.h index 697a242243c..5bf5b93690b 100644 --- a/Master/tlpkg/tlperl/lib/CORE/unixish.h +++ b/Master/tlpkg/tlperl/lib/CORE/unixish.h @@ -142,6 +142,7 @@ int afstat(int fd, struct stat *statb); HINTS_REFCNT_TERM; KEYWORD_PLUGIN_MUTEX_TERM; \ OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM; \ MALLOC_TERM; LOCALE_TERM; USER_PROP_MUTEX_TERM; \ + ENV_TERM; \ amigaos4_dispose_fork_array(); #endif @@ -154,7 +155,8 @@ int afstat(int fd, struct stat *statb); # define PERL_SYS_TERM_BODY() \ HINTS_REFCNT_TERM; KEYWORD_PLUGIN_MUTEX_TERM; \ OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM; \ - MALLOC_TERM; LOCALE_TERM; USER_PROP_MUTEX_TERM; + MALLOC_TERM; LOCALE_TERM; USER_PROP_MUTEX_TERM; \ + ENV_TERM; #endif diff --git a/Master/tlpkg/tlperl/lib/CORE/utf8.h b/Master/tlpkg/tlperl/lib/CORE/utf8.h index d0b8742d5a8..01bf447a614 100644 --- a/Master/tlpkg/tlperl/lib/CORE/utf8.h +++ b/Master/tlpkg/tlperl/lib/CORE/utf8.h @@ -69,9 +69,7 @@ the string is invariant. #define uvchr_to_utf8_flags_msgs(d,uv,flags,msgs) \ uvoffuni_to_utf8_flags_msgs(d,NATIVE_TO_UNI(uv),flags, msgs) #define utf8_to_uvchr_buf(s, e, lenp) \ - (__ASSERT_((U8*) (e) > (U8*) (s)) \ - utf8n_to_uvchr(s, (U8*)(e) - (U8*)(s), lenp, \ - ckWARN_d(WARN_UTF8) ? 0 : UTF8_ALLOW_ANY)) + utf8_to_uvchr_buf_helper((const U8 *) (s), (const U8 *) e, lenp) #define utf8n_to_uvchr(s, len, lenp, flags) \ utf8n_to_uvchr_error(s, len, lenp, flags, 0) #define utf8n_to_uvchr_error(s, len, lenp, flags, errors) \ @@ -79,15 +77,6 @@ the string is invariant. #define to_uni_fold(c, p, lenp) _to_uni_fold_flags(c, p, lenp, FOLD_FLAGS_FULL) -#define to_utf8_fold(s, r, lenr) \ - _to_utf8_fold_flags (s, NULL, r, lenr, FOLD_FLAGS_FULL, __FILE__, __LINE__) -#define to_utf8_lower(s, r, lenr) \ - _to_utf8_lower_flags(s, NULL, r ,lenr, 0, __FILE__, __LINE__) -#define to_utf8_upper(s, r, lenr) \ - _to_utf8_upper_flags(s, NULL, r, lenr, 0, __FILE__, __LINE__) -#define to_utf8_title(s, r, lenr) \ - _to_utf8_title_flags(s, NULL, r, lenr ,0, __FILE__, __LINE__) - #define foldEQ_utf8(s1, pe1, l1, u1, s2, pe2, l2, u2) \ foldEQ_utf8_flags(s1, pe1, l1, u1, s2, pe2, l2, u2, 0) #define FOLDEQ_UTF8_NOMIX_ASCII (1 << 0) @@ -110,11 +99,19 @@ the string is invariant. #else /* ! EBCDIC */ START_EXTERN_C -/* How wide can a single UTF-8 encoded character become in bytes. */ -/* NOTE: Strictly speaking Perl's UTF-8 should not be called UTF-8 since UTF-8 - * is an encoding of Unicode, and Unicode's upper limit, 0x10FFFF, can be - * expressed with 4 bytes. However, Perl thinks of UTF-8 as a way to encode - * non-negative integers in a binary format, even those above Unicode */ +/* + +=for apidoc AmnU|STRLEN|UTF8_MAXBYTES + +The maximum width of a single UTF-8 encoded character, in bytes. + +NOTE: Strictly speaking Perl's UTF-8 should not be called UTF-8 since UTF-8 +is an encoding of Unicode, and Unicode's upper limit, 0x10FFFF, can be +expressed with 4 bytes. However, Perl thinks of UTF-8 as a way to encode +non-negative integers in a binary format, even those above Unicode. + +=cut + */ #define UTF8_MAXBYTES 13 #ifdef DOINIT @@ -147,20 +144,53 @@ EXTCONST unsigned char PL_utf8skip[]; END_EXTERN_C -#if defined(_MSC_VER) && _MSC_VER < 1400 -/* older MSVC versions have a smallish macro buffer */ -#define PERL_SMALL_MACRO_BUFFER -#endif +/* -/* Native character to/from iso-8859-1. Are the identity functions on ASCII - * platforms */ -#ifdef PERL_SMALL_MACRO_BUFFER -#define NATIVE_TO_LATIN1(ch) ((U8)(ch)) -#define LATIN1_TO_NATIVE(ch) ((U8)(ch)) -#else -#define NATIVE_TO_LATIN1(ch) (__ASSERT_(FITS_IN_8_BITS(ch)) ((U8) (ch))) -#define LATIN1_TO_NATIVE(ch) (__ASSERT_(FITS_IN_8_BITS(ch)) ((U8) (ch))) -#endif +=for apidoc Am|U8|NATIVE_TO_LATIN1|U8 ch + +Returns the Latin-1 (including ASCII and control characters) equivalent of the +input native code point given by C. Thus, C on +EBCDIC platforms returns 65. These each represent the character C<"A"> on +their respective platforms. On ASCII platforms no conversion is needed, so +this macro expands to just its input, adding no time nor space requirements to +the implementation. + +For conversion of code points potentially larger than will fit in a character, +use L. + +=for apidoc Am|U8|LATIN1_TO_NATIVE|U8 ch + +Returns the native equivalent of the input Latin-1 code point (including ASCII +and control characters) given by C. Thus, C on +EBCDIC platforms returns 194. These each represent the character C<"B"> on +their respective platforms. On ASCII platforms no conversion is needed, so +this macro expands to just its input, adding no time nor space requirements to +the implementation. + +For conversion of code points potentially larger than will fit in a character, +use L. + +=for apidoc Am|UV|NATIVE_TO_UNI|UV ch + +Returns the Unicode equivalent of the input native code point given by C. +Thus, C on EBCDIC platforms returns 67. These each +represent the character C<"C"> on their respective platforms. On ASCII +platforms no conversion is needed, so this macro expands to just its input, +adding no time nor space requirements to the implementation. + +=for apidoc Am|UV|UNI_TO_NATIVE|UV ch + +Returns the native equivalent of the input Unicode code point given by C. +Thus, C on EBCDIC platforms returns 196. These each +represent the character C<"D"> on their respective platforms. On ASCII +platforms no conversion is needed, so this macro expands to just its input, +adding no time nor space requirements to the implementation. + +=cut +*/ + +#define NATIVE_TO_LATIN1(ch) (__ASSERT_(FITS_IN_8_BITS(ch)) ((U8) ((ch) | 0))) +#define LATIN1_TO_NATIVE(ch) (__ASSERT_(FITS_IN_8_BITS(ch)) ((U8) ((ch) | 0))) /* 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 @@ -168,17 +198,11 @@ 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 */ -#ifdef PERL_SMALL_MACRO_BUFFER -#define NATIVE_UTF8_TO_I8(ch) ((U8) (ch)) -#define I8_TO_NATIVE_UTF8(ch) ((U8) (ch)) -#else -#define NATIVE_UTF8_TO_I8(ch) (__ASSERT_(FITS_IN_8_BITS(ch)) ((U8) (ch))) -#define I8_TO_NATIVE_UTF8(ch) (__ASSERT_(FITS_IN_8_BITS(ch)) ((U8) (ch))) -#endif +#define NATIVE_UTF8_TO_I8(ch) (__ASSERT_(FITS_IN_8_BITS(ch)) ((U8) ((ch) | 0))) +#define I8_TO_NATIVE_UTF8(ch) (__ASSERT_(FITS_IN_8_BITS(ch)) ((U8) ((ch) | 0))) -/* Transforms in wide UV chars */ -#define UNI_TO_NATIVE(ch) ((UV) (ch)) -#define NATIVE_TO_UNI(ch) ((UV) (ch)) +#define UNI_TO_NATIVE(ch) ((UV) ((ch) | 0)) +#define NATIVE_TO_UNI(ch) ((UV) ((ch) | 0)) /* @@ -233,66 +257,7 @@ Perl's extended UTF-8 means we can have start bytes up through FF, though any beginning with FF yields a code point that is too large for 32-bit ASCII platforms. FF signals to use 13 bytes for the encoded character. This breaks the paradigm that the number of leading bits gives how many total bytes there -are in the character. - -*/ - -/* Is the representation of the Unicode code point 'cp' the same regardless of - * being encoded in UTF-8 or not? */ -#define OFFUNI_IS_INVARIANT(cp) isASCII(cp) - -/* -=for apidoc Am|bool|UVCHR_IS_INVARIANT|UV cp - -Evaluates to 1 if the representation of code point C is the same whether or -not it is encoded in UTF-8; otherwise evaluates to 0. UTF-8 invariant -characters can be copied as-is when converting to/from UTF-8, saving time. -C is Unicode if above 255; otherwise is platform-native. - -=cut - */ - -#define UVCHR_IS_INVARIANT(cp) OFFUNI_IS_INVARIANT(cp) - -/* This defines the bits that are to be in the continuation bytes of a multi-byte - * UTF-8 encoded character that mark it is a continuation byte. */ -#define UTF_CONTINUATION_MARK 0x80 - -/* Misleadingly named: is the UTF8-encoded byte 'c' part of a variant sequence - * in UTF-8? This is the inverse of UTF8_IS_INVARIANT. The |0 makes sure this - * isn't mistakenly called with a ptr argument */ -#define UTF8_IS_CONTINUED(c) (__ASSERT_(FITS_IN_8_BITS(c)) \ - ((U8)((c) | 0)) & UTF_CONTINUATION_MARK) - -/* Is the byte 'c' the first byte of a multi-byte UTF8-8 encoded sequence? - * This doesn't catch invariants (they are single-byte). It also excludes the - * illegal overlong sequences that begin with C0 and C1. The |0 makes sure - * this isn't mistakenly called with a ptr argument */ -#define UTF8_IS_START(c) (__ASSERT_(FITS_IN_8_BITS(c)) \ - ((U8)((c) | 0)) >= 0xc2) - -/* For use in UTF8_IS_CONTINUATION() below */ -#define UTF_IS_CONTINUATION_MASK 0xC0 - -/* Is the byte 'c' part of a multi-byte UTF8-8 encoded sequence, and not the - * first byte thereof? The |0 makes sure this isn't mistakenly called with a - * ptr argument */ -#define UTF8_IS_CONTINUATION(c) (__ASSERT_(FITS_IN_8_BITS(c)) \ - (((U8)((c) | 0)) & UTF_IS_CONTINUATION_MASK) == UTF_CONTINUATION_MARK) - -/* Is the UTF8-encoded byte 'c' the first byte of a two byte sequence? Use - * UTF8_IS_NEXT_CHAR_DOWNGRADEABLE() instead if the input isn't known to - * be well-formed. Masking with 0xfe allows the low bit to be 0 or 1; thus - * this matches 0xc[23]. The |0 makes sure this isn't mistakenly called with a - * ptr argument */ -#define UTF8_IS_DOWNGRADEABLE_START(c) (__ASSERT_(FITS_IN_8_BITS(c)) \ - (((U8)((c) | 0)) & 0xfe) == 0xc2) - -/* Is the UTF8-encoded byte 'c' the first byte of a sequence of bytes that - * represent a code point > 255? The |0 makes sure this isn't mistakenly - * called with a ptr argument */ -#define UTF8_IS_ABOVE_LATIN1(c) (__ASSERT_(FITS_IN_8_BITS(c)) \ - ((U8)((c) | 0)) >= 0xc4) +are in the character. */ /* This is the number of low-order bits a continuation byte in a UTF-8 encoded * sequence contributes to the specification of the code point. In the bit @@ -306,7 +271,7 @@ C is Unicode if above 255; otherwise is platform-native. /* 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 + * those to quickly exclude the vast majority of code points it will * encounter */ #define isUTF8_POSSIBLY_PROBLEMATIC(c) (__ASSERT_(FITS_IN_8_BITS(c)) \ (U8) c >= 0xED) @@ -315,9 +280,44 @@ C is Unicode if above 255; otherwise is platform-native. #endif /* EBCDIC vs ASCII */ -/* 2**UTF_ACCUMULATION_SHIFT - 1 */ +/* 2**UTF_ACCUMULATION_SHIFT - 1. This masks out all but the bits that carry + * real information in a continuation byte. This turns out to be 0x3F in + * UTF-8, 0x1F in UTF-EBCDIC. */ #define UTF_CONTINUATION_MASK ((U8) ((1U << UTF_ACCUMULATION_SHIFT) - 1)) +/* For use in UTF8_IS_CONTINUATION(). This turns out to be 0xC0 in UTF-8, + * E0 in UTF-EBCDIC */ +#define UTF_IS_CONTINUATION_MASK ((U8) (0xFF << UTF_ACCUMULATION_SHIFT)) + +/* This defines the bits that are to be in the continuation bytes of a + * multi-byte UTF-8 encoded character that mark it is a continuation byte. + * This turns out to be 0x80 in UTF-8, 0xA0 in UTF-EBCDIC. (khw doesn't know + * the underlying reason that B0 works here) */ +#define UTF_CONTINUATION_MARK (UTF_IS_CONTINUATION_MASK & 0xB0) + +/* Is the byte 'c' part of a multi-byte UTF8-8 encoded sequence, and not the + * first byte thereof? */ +#define UTF8_IS_CONTINUATION(c) (__ASSERT_(FITS_IN_8_BITS(c)) \ + (((NATIVE_UTF8_TO_I8(c) & UTF_IS_CONTINUATION_MASK) \ + == UTF_CONTINUATION_MARK))) + +/* Is the representation of the Unicode code point 'cp' the same regardless of + * being encoded in UTF-8 or not? This is a fundamental property of + * UTF-8,EBCDIC */ +#define OFFUNI_IS_INVARIANT(c) (((WIDEST_UTYPE)(c)) < UTF_CONTINUATION_MARK) + +/* +=for apidoc Am|bool|UVCHR_IS_INVARIANT|UV cp + +Evaluates to 1 if the representation of code point C is the same whether or +not it is encoded in UTF-8; otherwise evaluates to 0. UTF-8 invariant +characters can be copied as-is when converting to/from UTF-8, saving time. +C is Unicode if above 255; otherwise is platform-native. + +=cut + */ +#define UVCHR_IS_INVARIANT(cp) (OFFUNI_IS_INVARIANT(NATIVE_TO_UNI(cp))) + /* Internal macro to be used only in this file to aid in constructing other * publicly accessible macros. * The number of bytes required to express this uv in UTF-8, for just those @@ -376,6 +376,39 @@ encoded as UTF-8. C is a native (ASCII or EBCDIC) code point if less than */ #define UVCHR_SKIP(uv) ( UVCHR_IS_INVARIANT(uv) ? 1 : __BASE_UNI_SKIP(uv)) +#define UTF_MIN_START_BYTE \ + ((UTF_CONTINUATION_MARK >> UTF_ACCUMULATION_SHIFT) | UTF_START_MARK(2)) + +/* Is the byte 'c' the first byte of a multi-byte UTF8-8 encoded sequence? + * This excludes invariants (they are single-byte). It also excludes the + * illegal overlong sequences that begin with C0 and C1 on ASCII platforms, and + * C0-C4 I8 start bytes on EBCDIC ones. On EBCDIC E0 can't start a + * non-overlong sequence, so we define a base macro and for those platforms, + * extend it to also exclude E0 */ +#define UTF8_IS_START_base(c) (__ASSERT_(FITS_IN_8_BITS(c)) \ + (NATIVE_UTF8_TO_I8(c) >= UTF_MIN_START_BYTE)) +#ifdef EBCDIC +# define UTF8_IS_START(c) \ + (UTF8_IS_START_base(c) && (c) != I8_TO_NATIVE_UTF8(0xE0)) +#else +# define UTF8_IS_START(c) UTF8_IS_START_base(c) +#endif + +#define UTF_MIN_ABOVE_LATIN1_BYTE \ + ((0x100 >> UTF_ACCUMULATION_SHIFT) | UTF_START_MARK(2)) + +/* Is the UTF8-encoded byte 'c' the first byte of a sequence of bytes that + * represent a code point > 255? */ +#define UTF8_IS_ABOVE_LATIN1(c) (__ASSERT_(FITS_IN_8_BITS(c)) \ + (NATIVE_UTF8_TO_I8(c) >= UTF_MIN_ABOVE_LATIN1_BYTE)) + +/* Is the UTF8-encoded byte 'c' the first byte of a two byte sequence? Use + * UTF8_IS_NEXT_CHAR_DOWNGRADEABLE() instead if the input isn't known to + * be well-formed. */ +#define UTF8_IS_DOWNGRADEABLE_START(c) (__ASSERT_(FITS_IN_8_BITS(c)) \ + inRANGE(NATIVE_UTF8_TO_I8(c), \ + UTF_MIN_START_BYTE, UTF_MIN_ABOVE_LATIN1_BYTE - 1)) + /* The largest code point representable by two UTF-8 bytes on this platform. * As explained in the comments for __COMMON_UNI_SKIP, 32 start bytes with * UTF_ACCUMULATION_SHIFT bits of information each */ @@ -386,18 +419,26 @@ encoded as UTF-8. C is a native (ASCII or EBCDIC) code point if less than * continuation byte */ #define MAX_PORTABLE_UTF8_TWO_BYTE (32 * (1U << 5) - 1) -/* The maximum number of UTF-8 bytes a single Unicode character can - * uppercase/lowercase/fold into. Unicode guarantees that the maximum - * expansion is UTF8_MAX_FOLD_CHAR_EXPAND characters, but any above-Unicode - * code point will fold to itself, so we only have to look at the expansion of - * the maximum Unicode code point. But this number may be less than the space - * occupied by a very large code point under Perl's extended UTF-8. We have to - * make it large enough to fit any single character. (It turns out that ASCII - * and EBCDIC differ in which is larger) */ +/* + +=for apidoc AmnU|STRLEN|UTF8_MAXBYTES_CASE + +The maximum number of UTF-8 bytes a single Unicode character can +uppercase/lowercase/titlecase/fold into. + +=cut + + * Unicode guarantees that the maximum expansion is UTF8_MAX_FOLD_CHAR_EXPAND + * characters, but any above-Unicode code point will fold to itself, so we only + * have to look at the expansion of the maximum Unicode code point. But this + * number may be less than the space occupied by a very large code point under + * Perl's extended UTF-8. We have to make it large enough to fit any single + * character. (It turns out that ASCII and EBCDIC differ in which is larger) + * +=cut +*/ #define UTF8_MAXBYTES_CASE \ - (UTF8_MAXBYTES >= (UTF8_MAX_FOLD_CHAR_EXPAND * OFFUNISKIP(0x10FFFF)) \ - ? UTF8_MAXBYTES \ - : (UTF8_MAX_FOLD_CHAR_EXPAND * OFFUNISKIP(0x10FFFF))) + MAX(UTF8_MAXBYTES, UTF8_MAX_FOLD_CHAR_EXPAND * OFFUNISKIP(0x10FFFF)) /* Rest of these are attributes of Unicode and perl's internals rather than the * encoding, or happen to be the same in both ASCII and EBCDIC (at least at @@ -420,7 +461,7 @@ encoded as UTF-8. C is a native (ASCII or EBCDIC) code point if less than * UTF-8 encoded character that mark it as a start byte and give the number of * bytes that comprise the character. 'len' is the number of bytes in the * multi-byte sequence. */ -#define UTF_START_MARK(len) (((len) > 7) ? 0xFF : (0xFF & (0xFE << (7-(len))))) +#define UTF_START_MARK(len) (((len) > 7) ? 0xFF : ((U8) (0xFE << (7-(len))))) /* Masks out the initial one bits in a start byte, leaving the real data ones. * Doesn't work on an invariant byte. 'len' is the number of bytes in the @@ -435,7 +476,7 @@ encoded as UTF-8. C is a native (ASCII or EBCDIC) code point if less than * code point in process of being generated */ #define UTF8_ACCUMULATE(old, new) (__ASSERT_(FITS_IN_8_BITS(new)) \ ((old) << UTF_ACCUMULATION_SHIFT) \ - | ((NATIVE_UTF8_TO_I8((U8)new)) \ + | ((NATIVE_UTF8_TO_I8(new)) \ & UTF_CONTINUATION_MASK)) /* This works in the face of malformed UTF-8. */ @@ -490,15 +531,62 @@ encoded as UTF-8. C is a native (ASCII or EBCDIC) code point if less than /* =for apidoc Am|STRLEN|UTF8SKIP|char* s -returns the number of bytes in the UTF-8 encoded character whose first (perhaps -only) byte is pointed to by C. +returns the number of bytes a non-malformed UTF-8 encoded character whose first +(perhaps only) byte is pointed to by C. + +If there is a possibility of malformed input, use instead: + +=over + +=item L> if you know the maximum ending pointer in the +buffer pointed to by C; or + +=item L> if you don't know it. + +=back + +It is better to restructure your code so the end pointer is passed down so that +you know what it actually is at the point of this call, but if that isn't +possible, L> can minimize the chance of accessing beyond the end +of the input buffer. =cut */ #define UTF8SKIP(s) PL_utf8skip[*(const U8*)(s)] + +/* +=for apidoc Am|STRLEN|UTF8_SKIP|char* s +This is a synonym for L> + +=cut +*/ + #define UTF8_SKIP(s) UTF8SKIP(s) /* +=for apidoc Am|STRLEN|UTF8_CHK_SKIP|char* s + +This is a safer version of L>, but still not as safe as +L>. This version doesn't blindly assume that the input +string pointed to by C is well-formed, but verifies that there isn't a NUL +terminating character before the expected end of the next character in C. +The length C returns stops just before any such NUL. + +Perl tends to add NULs, as an insurance policy, after the end of strings in +SV's, so it is likely that using this macro will prevent inadvertent reading +beyond the end of the input buffer, even if it is malformed UTF-8. + +This macro is intended to be used by XS modules where the inputs could be +malformed, and it isn't feasible to restructure to use the safer +L>, for example when interfacing with a C library. + +=cut +*/ + +#define UTF8_CHK_SKIP(s) \ + (s[0] == '\0' ? 1 : MIN(UTF8SKIP(s), \ + my_strnlen((char *) (s), UTF8SKIP(s)))) +/* =for apidoc Am|STRLEN|UTF8_SAFE_SKIP|char* s|char* e returns 0 if S= e>>; otherwise returns the number of bytes in the @@ -543,6 +631,11 @@ with a ptr argument. * above show, doesn't matter as to its implementation */ #define NATIVE_BYTE_IS_INVARIANT(c) UVCHR_IS_INVARIANT(c) +/* 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) (__ASSERT_(FITS_IN_8_BITS(c)) \ + (! UTF8_IS_INVARIANT(c))) + /* The macros in the next 4 sets are used to generate the two utf8 or utfebcdic * bytes from an ordinal that is known to fit into exactly two (not one) bytes; * it must be less than 0x3FF to work across both encodings. */ @@ -599,30 +692,15 @@ with a ptr argument. * beginning of a utf8 character. Now that foo_utf8() determines that itself, * no need to do it again here */ -#define isIDFIRST_lazy_if(p,UTF) \ - _is_utf8_FOO(_CC_IDFIRST, (const U8 *) p, "isIDFIRST_lazy_if", \ - "isIDFIRST_lazy_if_safe", \ - cBOOL(UTF && ! IN_BYTES), 0, __FILE__,__LINE__) - #define isIDFIRST_lazy_if_safe(p, e, UTF) \ ((IN_BYTES || !UTF) \ ? isIDFIRST(*(p)) \ : isIDFIRST_utf8_safe(p, e)) - -#define isWORDCHAR_lazy_if(p,UTF) \ - _is_utf8_FOO(_CC_IDFIRST, (const U8 *) p, "isWORDCHAR_lazy_if", \ - "isWORDCHAR_lazy_if_safe", \ - cBOOL(UTF && ! IN_BYTES), 0, __FILE__,__LINE__) - #define isWORDCHAR_lazy_if_safe(p, e, UTF) \ ((IN_BYTES || !UTF) \ ? isWORDCHAR(*(p)) \ : isWORDCHAR_utf8_safe((U8 *) p, (U8 *) e)) - -#define isALNUM_lazy_if(p,UTF) \ - _is_utf8_FOO(_CC_IDFIRST, (const U8 *) p, "isALNUM_lazy_if", \ - "isWORDCHAR_lazy_if_safe", \ - cBOOL(UTF && ! IN_BYTES), 0, __FILE__,__LINE__) +#define isALNUM_lazy_if_safe(p, e, UTF) isWORDCHAR_lazy_if_safe(p, e, UTF) #define UTF8_MAXLEN UTF8_MAXBYTES @@ -802,14 +880,14 @@ fit in an IV on the current machine. && ( NATIVE_UTF8_TO_I8(*(s)) > 0xF9 \ || (NATIVE_UTF8_TO_I8(*((s) + 1)) >= 0xA2)) \ && LIKELY((s) + UTF8SKIP(s) <= (e))) \ - ? _is_utf8_char_helper(s, s + UTF8SKIP(s), 0) : 0) + ? is_utf8_char_helper(s, s + UTF8SKIP(s), 0) : 0) #else # define UTF8_IS_SUPER(s, e) \ (( LIKELY((e) > (s) + 3) \ && (*(U8*) (s)) >= 0xF4 \ && ((*(U8*) (s)) > 0xF4 || (*((U8*) (s) + 1) >= 0x90))\ && LIKELY((s) + UTF8SKIP(s) <= (e))) \ - ? _is_utf8_char_helper(s, s + UTF8SKIP(s), 0) : 0) + ? is_utf8_char_helper(s, s + UTF8SKIP(s), 0) : 0) #endif /* These are now machine generated, and the 'given' clause is no longer @@ -826,6 +904,10 @@ of the Unicode non-character code points; otherwise it evaluates to 0. If non-zero, the value gives how many bytes starting at C comprise the code point's representation. +=for apidoc AmnU|UV|UNICODE_REPLACEMENT + +Evaluates to 0xFFFD, the code point of the Unicode REPLACEMENT CHARACTER + =cut */ #define UTF8_IS_NONCHAR(s, e) \ @@ -849,6 +931,10 @@ point's representation. #define UNICODE_DISALLOW_NONCHAR 0x0020 #define UNICODE_DISALLOW_SUPER 0x0040 #define UNICODE_DISALLOW_PERL_EXTENDED 0x0080 + +#ifdef PERL_CORE +# define UNICODE_ALLOW_ABOVE_IV_MAX 0x0100 +#endif #define UNICODE_DISALLOW_ABOVE_31_BIT UNICODE_DISALLOW_PERL_EXTENDED #define UNICODE_GOT_SURROGATE UNICODE_DISALLOW_SURROGATE @@ -923,7 +1009,13 @@ point's representation. #define UNI_DISPLAY_ISPRINT 0x0001 #define UNI_DISPLAY_BACKSLASH 0x0002 -#define UNI_DISPLAY_QQ (UNI_DISPLAY_ISPRINT|UNI_DISPLAY_BACKSLASH) +#define UNI_DISPLAY_BACKSPACE 0x0004 /* Allow \b when also + UNI_DISPLAY_BACKSLASH */ +#define UNI_DISPLAY_QQ (UNI_DISPLAY_ISPRINT \ + |UNI_DISPLAY_BACKSLASH \ + |UNI_DISPLAY_BACKSPACE) + +/* Character classes could also allow \b, but not patterns in general */ #define UNI_DISPLAY_REGEX (UNI_DISPLAY_ISPRINT|UNI_DISPLAY_BACKSLASH) #define ANYOF_FOLD_SHARP_S(node, input, end) \ @@ -976,7 +1068,7 @@ L to check entire strings. ? 1 \ : UNLIKELY(((e) - (s)) < UTF8SKIP(s)) \ ? 0 \ - : _is_utf8_char_helper(s, e, flags)) + : is_utf8_char_helper(s, e, flags)) /* Do not use; should be deprecated. Use isUTF8_CHAR() instead; this is * retained solely for backwards compatibility */ diff --git a/Master/tlpkg/tlperl/lib/CORE/utfebcdic.h b/Master/tlpkg/tlperl/lib/CORE/utfebcdic.h index c2f0788cc4e..97b8f7001a5 100644 --- a/Master/tlpkg/tlperl/lib/CORE/utfebcdic.h +++ b/Master/tlpkg/tlperl/lib/CORE/utfebcdic.h @@ -121,22 +121,8 @@ START_EXTERN_C -#ifdef DOINIT - #include "ebcdic_tables.h" -#else -EXTCONST U8 PL_utf8skip[]; -EXTCONST U8 PL_e2utf[]; -EXTCONST U8 PL_utf2e[]; -EXTCONST U8 PL_e2a[]; -EXTCONST U8 PL_a2e[]; -EXTCONST U8 PL_fold[]; -EXTCONST U8 PL_fold_latin1[]; -EXTCONST U8 PL_latin1_lc[]; -EXTCONST U8 PL_mod_latin1_uc[]; -#endif - END_EXTERN_C /* EBCDIC-happy ways of converting native code to UTF-8 */ @@ -216,58 +202,33 @@ possible to UTF-8-encode a single code point in different ways, but that is explicitly forbidden, and the shortest possible encoding should always be used (and that is what Perl does). */ -/* This is a fundamental property of UTF-EBCDIC */ -#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)))) - -/* 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. */ +/* It turns out that just this one number is sufficient to derive all the basic + * macros for UTF-8 and UTF-EBCDIC. Everything follows from the fact that + * there are 6 bits of real information in a UTF-8 continuation byte vs. 5 bits + * in a UTF-EBCDIC one. */ -#define UTF8_IS_START(c) _generic_isCC(c, _CC_UTF8_IS_START) - -#define UTF_IS_CONTINUATION_MASK 0xE0 - -#define UTF8_IS_CONTINUATION(c) _generic_isCC(c, _CC_UTF8_IS_CONTINUATION) - -/* The above instead could be written as this: -#define UTF8_IS_CONTINUATION(c) \ - (((NATIVE_UTF8_TO_I8(c) & UTF_IS_CONTINUATION_MASK) \ - == UTF_CONTINUATION_MARK) - */ - -/* 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 UTF_ACCUMULATION_SHIFT 5 -#define UTF8_IS_DOWNGRADEABLE_START(c) _generic_isCC(c, \ - _CC_UTF8_IS_DOWNGRADEABLE_START) +/* Also needed is how perl handles a start byte of 8 one bits. The decision + * was made to just append the minimal number of bytes after that so that code + * points up to 64 bits wide could be represented. In UTF-8, that was an extra + * 5 bytes, and in UTF-EBCDIC it's 6. The result is in UTF8_MAXBYTES defined + * above. This implementation has the advantage that you have everything you + * need in the first byte. Other ways of extending UTF-8 have been devised, + * some to arbitrarily high code points. But they require looking at the next + * byte(s) when the first one is 8 one bits. */ -/* 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))) +/* These others are for efficiency or for other decisions we've made */ #define isUTF8_POSSIBLY_PROBLEMATIC(c) \ _generic_isCC(c, _CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE) -#define UTF_CONTINUATION_MARK 0xA0 -#define UTF_ACCUMULATION_SHIFT 5 - /* ^? is defined to be APC on EBCDIC systems. See the definition of toCTRL() * for more */ #define QUESTION_MARK_CTRL LATIN1_TO_NATIVE(0x9F) +#define UNICODE_IS_PERL_EXTENDED(uv) UNLIKELY((UV) (uv) > 0x3FFFFFFF) + /* Helper macros for isUTF8_CHAR_foo, so use those instead of this. These were * generated by regen/regcharclass.pl, and then moved here. Then they were * hand-edited to add some LIKELY() calls, presuming that malformations are @@ -511,8 +472,6 @@ explicitly forbidden, and the shortest possible encoding should always be used * has this start byte (expressed in I8) as the maximum */ #define _IS_UTF8_CHAR_HIGHEST_START_BYTE 0xF9 -#define UNICODE_IS_PERL_EXTENDED(uv) UNLIKELY((UV) (uv) > 0x3FFFFFFF) - /* * ex: set ts=8 sts=4 sw=4 et: */ diff --git a/Master/tlpkg/tlperl/lib/CORE/util.h b/Master/tlpkg/tlperl/lib/CORE/util.h index 71531c7e851..6294e590b8f 100644 --- a/Master/tlpkg/tlperl/lib/CORE/util.h +++ b/Master/tlpkg/tlperl/lib/CORE/util.h @@ -17,7 +17,7 @@ (*(f) == '/' \ || (strchr(f,':') \ || ((*(f) == '[' || *(f) == '<') \ - && (isWORDCHAR((f)[1]) || strchr("$-_]>",(f)[1]))))) + && (isWORDCHAR((f)[1]) || memCHRs("$-_]>",(f)[1]))))) #elif defined(WIN32) || defined(__CYGWIN__) # define PERL_FILE_IS_ABSOLUTE(f) \ @@ -55,9 +55,8 @@ This is a synonym for S> /* outside the core, perl.h undefs HAS_QUAD if IV isn't 64-bit We can't swap this to HAS_QUAD, because the logic here affects the type of perl_drand48_t below, and that is visible outside of the core. */ -#if defined(U64TYPE) && !defined(USING_MSVC6) -/* use a faster implementation when quads are available, - * but not with VC6 on Windows */ +#if defined(U64TYPE) +/* use a faster implementation when quads are available */ # define PERL_DRAND48_QUAD #endif @@ -233,12 +232,24 @@ means arg not present, 1 is empty string/null byte */ # define HS_CXT cv #endif +/* +=for apidoc instr +Same as L, which finds and returns a pointer to the first occurrence +of the NUL-terminated substring C in the NUL-terminated string C, +returning NULL if not found. The terminating NUL bytes are not compared. + +=cut +*/ + + #define instr(haystack, needle) strstr(haystack, needle) #ifdef HAS_MEMMEM # define ninstr(big, bigend, little, lend) \ ((char *) memmem((big), (bigend) - (big), \ (little), (lend) - (little))) +#else +# define ninstr(a,b,c,d) Perl_ninstr(a,b,c,d) #endif #ifdef __Lynx__ @@ -246,6 +257,17 @@ means arg not present, 1 is empty string/null byte */ int mkstemp(char*); #endif +#ifdef PERL_CORE +# if defined(VMS) +/* only useful for calls to our mkostemp() emulation */ +# define O_VMS_DELETEONCLOSE 0x40000000 +# ifdef HAS_MKOSTEMP +# error 134221 will need a new solution for VMS +# endif +# else +# define O_VMS_DELETEONCLOSE 0 +# endif +#endif #if defined(HAS_MKOSTEMP) && defined(PERL_CORE) # define Perl_my_mkostemp(templte, flags) mkostemp(templte, flags) #endif diff --git a/Master/tlpkg/tlperl/lib/CORE/vdir.h b/Master/tlpkg/tlperl/lib/CORE/vdir.h index 9ff225eb16b..c21ec7c400a 100644 --- a/Master/tlpkg/tlperl/lib/CORE/vdir.h +++ b/Master/tlpkg/tlperl/lib/CORE/vdir.h @@ -334,7 +334,7 @@ inline bool IsSpecialFileName(const char* pName) break; case 'O': /* COMx, CON, CONIN$ CONOUT$ */ if ((pName[2] & ~0x20) == 'M') { - if ((pName[3] >= '1') && (pName[3] <= '9') + if ( inRANGE(pName[3], '1', '9') && !pName[4]) return true; } @@ -361,7 +361,7 @@ inline bool IsSpecialFileName(const char* pName) case 'L': /* LPTx */ if (((pName[1] & ~0x20) == 'U') && ((pName[2] & ~0x20) == 'X') - && (pName[3] >= '1') && (pName[3] <= '9') + && inRANGE(pName[3], '1', '9') && !pName[4]) return true; break; @@ -566,7 +566,7 @@ inline bool IsSpecialFileName(const WCHAR* pName) break; case 'O': /* COMx, CON, CONIN$ CONOUT$ */ if ((pName[2] & ~0x20) == 'M') { - if ((pName[3] >= '1') && (pName[3] <= '9') + if ( inRANGE(pName[3], '1', '9') && !pName[4]) return true; } @@ -593,7 +593,7 @@ inline bool IsSpecialFileName(const WCHAR* pName) case 'L': /* LPTx */ if (((pName[1] & ~0x20) == 'U') && ((pName[2] & ~0x20) == 'X') - && (pName[3] >= '1') && (pName[3] <= '9') + && inRANGE(pName[3], '1', '9') && !pName[4]) return true; break; diff --git a/Master/tlpkg/tlperl/lib/CORE/vmem.h b/Master/tlpkg/tlperl/lib/CORE/vmem.h index c662887bcac..3fd7e169fc4 100644 --- a/Master/tlpkg/tlperl/lib/CORE/vmem.h +++ b/Master/tlpkg/tlperl/lib/CORE/vmem.h @@ -21,9 +21,7 @@ #ifndef ___VMEM_H_INC___ #define ___VMEM_H_INC___ -#ifndef UNDER_CE #define _USE_MSVCRT_MEM_ALLOC -#endif #define _USE_LINKED_LIST // #define _USE_BUDDY_BLOCKS diff --git a/Master/tlpkg/tlperl/lib/CORE/warnings.h b/Master/tlpkg/tlperl/lib/CORE/warnings.h index 6f0bf6b485a..f02edea0fa4 100644 --- a/Master/tlpkg/tlperl/lib/CORE/warnings.h +++ b/Master/tlpkg/tlperl/lib/CORE/warnings.h @@ -127,6 +127,90 @@ #define WARN_EXPERIMENTAL__UNIPROP_WILDCARDS 71 #define WARN_EXPERIMENTAL__VLB 72 +/* Warnings Categories added in Perl 5.031 */ + +#define WARN_EXPERIMENTAL__ISA 73 + + +/* +=for apidoc Amnh||WARN_ALL +=for apidoc Amnh||WARN_CLOSURE +=for apidoc Amnh||WARN_DEPRECATED +=for apidoc Amnh||WARN_EXITING +=for apidoc Amnh||WARN_GLOB +=for apidoc Amnh||WARN_IO +=for apidoc Amnh||WARN_CLOSED +=for apidoc Amnh||WARN_EXEC +=for apidoc Amnh||WARN_LAYER +=for apidoc Amnh||WARN_NEWLINE +=for apidoc Amnh||WARN_PIPE +=for apidoc Amnh||WARN_UNOPENED +=for apidoc Amnh||WARN_MISC +=for apidoc Amnh||WARN_NUMERIC +=for apidoc Amnh||WARN_ONCE +=for apidoc Amnh||WARN_OVERFLOW +=for apidoc Amnh||WARN_PACK +=for apidoc Amnh||WARN_PORTABLE +=for apidoc Amnh||WARN_RECURSION +=for apidoc Amnh||WARN_REDEFINE +=for apidoc Amnh||WARN_REGEXP +=for apidoc Amnh||WARN_SEVERE +=for apidoc Amnh||WARN_DEBUGGING +=for apidoc Amnh||WARN_INPLACE +=for apidoc Amnh||WARN_INTERNAL +=for apidoc Amnh||WARN_MALLOC +=for apidoc Amnh||WARN_SIGNAL +=for apidoc Amnh||WARN_SUBSTR +=for apidoc Amnh||WARN_SYNTAX +=for apidoc Amnh||WARN_AMBIGUOUS +=for apidoc Amnh||WARN_BAREWORD +=for apidoc Amnh||WARN_DIGIT +=for apidoc Amnh||WARN_PARENTHESIS +=for apidoc Amnh||WARN_PRECEDENCE +=for apidoc Amnh||WARN_PRINTF +=for apidoc Amnh||WARN_PROTOTYPE +=for apidoc Amnh||WARN_QW +=for apidoc Amnh||WARN_RESERVED +=for apidoc Amnh||WARN_SEMICOLON +=for apidoc Amnh||WARN_TAINT +=for apidoc Amnh||WARN_THREADS +=for apidoc Amnh||WARN_UNINITIALIZED +=for apidoc Amnh||WARN_UNPACK +=for apidoc Amnh||WARN_UNTIE +=for apidoc Amnh||WARN_UTF8 +=for apidoc Amnh||WARN_VOID +=for apidoc Amnh||WARN_IMPRECISION +=for apidoc Amnh||WARN_ILLEGALPROTO +=for apidoc Amnh||WARN_NON_UNICODE +=for apidoc Amnh||WARN_NONCHAR +=for apidoc Amnh||WARN_SURROGATE +=for apidoc Amnh||WARN_EXPERIMENTAL +=for apidoc Amnh||WARN_EXPERIMENTAL__LEXICAL_SUBS +=for apidoc Amnh||WARN_EXPERIMENTAL__REGEX_SETS +=for apidoc Amnh||WARN_EXPERIMENTAL__SMARTMATCH +=for apidoc Amnh||WARN_EXPERIMENTAL__POSTDEREF +=for apidoc Amnh||WARN_EXPERIMENTAL__SIGNATURES +=for apidoc Amnh||WARN_SYSCALLS +=for apidoc Amnh||WARN_EXPERIMENTAL__BITWISE +=for apidoc Amnh||WARN_EXPERIMENTAL__CONST_ATTR +=for apidoc Amnh||WARN_EXPERIMENTAL__RE_STRICT +=for apidoc Amnh||WARN_EXPERIMENTAL__REFALIASING +=for apidoc Amnh||WARN_EXPERIMENTAL__WIN32_PERLIO +=for apidoc Amnh||WARN_LOCALE +=for apidoc Amnh||WARN_MISSING +=for apidoc Amnh||WARN_REDUNDANT +=for apidoc Amnh||WARN_EXPERIMENTAL__DECLARED_REFS +=for apidoc Amnh||WARN_EXPERIMENTAL__ALPHA_ASSERTIONS +=for apidoc Amnh||WARN_EXPERIMENTAL__SCRIPT_RUN +=for apidoc Amnh||WARN_SHADOW +=for apidoc Amnh||WARN_EXPERIMENTAL__PRIVATE_USE +=for apidoc Amnh||WARN_EXPERIMENTAL__UNIPROP_WILDCARDS +=for apidoc Amnh||WARN_EXPERIMENTAL__VLB +=for apidoc Amnh||WARN_EXPERIMENTAL__ISA + +=cut +*/ + #define WARNsize 19 #define WARN_ALLstring "\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125" #define WARN_NONEstring "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" @@ -141,10 +225,22 @@ #define DUP_WARNINGS(p) Perl_dup_warnings(aTHX_ p) +#define free_and_set_cop_warnings(cmp,w) STMT_START { \ + if (!specialWARN((cmp)->cop_warnings)) PerlMemShared_free((cmp)->cop_warnings); \ + (cmp)->cop_warnings = w; \ +} STMT_END + /* =head1 Warning and Dieing +In all these calls, the C> parameters are warning category +constants. You can see the ones currently available in +L, just capitalize all letters in the names +and prefix them by C. So, for example, the category C used in a +perl program becomes C when used in XS code and passed to one of +the calls below. + =for apidoc Am|bool|ckWARN|U32 w Returns a boolean as to whether or not warnings are enabled for the warning diff --git a/Master/tlpkg/tlperl/lib/CORE/win32.h b/Master/tlpkg/tlperl/lib/CORE/win32.h index 73aa67a3bef..c0ee5a6e92a 100644 --- a/Master/tlpkg/tlperl/lib/CORE/win32.h +++ b/Master/tlpkg/tlperl/lib/CORE/win32.h @@ -70,11 +70,6 @@ # define __int64 long long # endif # define Win32_Winsock -#ifdef __cplusplus -/* Mingw32 gcc -xc++ objects to __attribute((unused)) at least */ -#undef PERL_UNUSED_DECL -#define PERL_UNUSED_DECL -#endif #endif @@ -85,7 +80,7 @@ /* now even GCC supports __declspec() */ /* miniperl has no reason to export anything */ -#if defined(PERL_IS_MINIPERL) && !defined(UNDER_CE) +#if defined(PERL_IS_MINIPERL) # define DllExport #else # if defined(PERLDLL) @@ -144,6 +139,8 @@ #ifdef _MSC_VER # define PERL_STATIC_NO_RET __declspec(noreturn) static # define PERL_STATIC_INLINE_NO_RET __declspec(noreturn) PERL_STATIC_INLINE +# define PERL_STATIC_FORCE_INLINE __forceinline static +# define PERL_STATIC_FORCE_INLINE_NO_RET __declspec(noreturn) __forceinline static #endif #define WIN32_LEAN_AND_MEAN @@ -259,24 +256,19 @@ struct utsname { /* VC uses non-standard way to determine the size and alignment if bit-fields */ /* MinGW will compile with -mms-bitfields, so should use the same types */ -#define PERL_BITFIELD8 unsigned char -#define PERL_BITFIELD16 unsigned short -#define PERL_BITFIELD32 unsigned int +#define PERL_BITFIELD8 U8 +#define PERL_BITFIELD16 U16 +#define PERL_BITFIELD32 U32 #ifdef _MSC_VER /* Microsoft Visual C++ */ -#ifndef UNDER_CE typedef long uid_t; typedef long gid_t; typedef unsigned short mode_t; -#endif #if _MSC_VER < 1800 #define isnan _isnan /* Defined already in VC++ 12.0 */ #endif -#ifdef UNDER_CE /* revisit what function this becomes celib vs corelibc, prv warning here*/ -# undef snprintf -#endif #define snprintf _snprintf #define vsnprintf _vsnprintf @@ -735,16 +727,13 @@ EXTERN_C _CRTIMP ioinfo* __pioinfo[]; DllExport void *win32_signal_context(void); #define PERL_GET_SIG_CONTEXT win32_signal_context() -#ifdef UNDER_CE -#define Win_GetModuleHandle XCEGetModuleHandleA -#define Win_GetProcAddress XCEGetProcAddressA -#define Win_GetModuleFileName XCEGetModuleFileNameA -#define Win_CreateSemaphore CreateSemaphoreW -#else #define Win_GetModuleHandle GetModuleHandle #define Win_GetProcAddress GetProcAddress #define Win_GetModuleFileName GetModuleFileName #define Win_CreateSemaphore CreateSemaphore + +#if defined(PERL_CORE) && !defined(O_ACCMODE) +# define O_ACCMODE (O_RDWR | O_WRONLY | O_RDONLY) #endif #endif /* _INC_WIN32_PERL5 */ diff --git a/Master/tlpkg/tlperl/lib/CORE/win32iop-o.h b/Master/tlpkg/tlperl/lib/CORE/win32iop-o.h deleted file mode 100644 index 2b766dc5540..00000000000 --- a/Master/tlpkg/tlperl/lib/CORE/win32iop-o.h +++ /dev/null @@ -1,327 +0,0 @@ -/* Time-stamp: <01/08/01 21:00:16 keuchel@w2k> */ - -#ifndef WIN32IOP_H -#define WIN32IOP_H - -#ifndef START_EXTERN_C -#ifdef __cplusplus -# define START_EXTERN_C extern "C" { -# define END_EXTERN_C } -# define EXTERN_C extern "C" -#else -# define START_EXTERN_C -# define END_EXTERN_C -# define EXTERN_C -#endif -#endif - -#ifndef UNDER_CE -#include -#endif - -/* - * defines for flock emulation - */ -#define LOCK_SH 1 -#define LOCK_EX 2 -#define LOCK_NB 4 -#define LOCK_UN 8 - -/* - * Make this as close to original stdio as possible. - */ - -/* - * function prototypes for our own win32io layer - */ -START_EXTERN_C - -DllExport int * win32_errno(void); -DllExport char *** win32_environ(void); -DllExport FILE* win32_stdin(void); -DllExport FILE* win32_stdout(void); -DllExport FILE* win32_stderr(void); -DllExport int win32_ferror(FILE *fp); -DllExport int win32_feof(FILE *fp); -DllExport char* win32_strerror(int e); - -DllExport int win32_fprintf(FILE *pf, const char *format, ...); -DllExport int win32_printf(const char *format, ...); -DllExport int win32_vfprintf(FILE *pf, const char *format, va_list arg); -DllExport int win32_vprintf(const char *format, va_list arg); -DllExport size_t win32_fread(void *buf, size_t size, size_t count, FILE *pf); -DllExport size_t win32_fwrite(const void *buf, size_t size, size_t count, FILE *pf); -DllExport FILE* win32_fopen(const char *path, const char *mode); -DllExport FILE* win32_fdopen(int fh, const char *mode); -DllExport FILE* win32_freopen(const char *path, const char *mode, FILE *pf); -DllExport int win32_fclose(FILE *pf); -DllExport int win32_fputs(const char *s,FILE *pf); -DllExport int win32_fputc(int c,FILE *pf); -DllExport int win32_ungetc(int c,FILE *pf); -DllExport int win32_getc(FILE *pf); -DllExport int win32_fileno(FILE *pf); -DllExport void win32_clearerr(FILE *pf); -DllExport int win32_fflush(FILE *pf); -DllExport long win32_ftell(FILE *pf); -DllExport int win32_fseek(FILE *pf,long offset,int origin); -DllExport int win32_fgetpos(FILE *pf,fpos_t *p); -DllExport int win32_fsetpos(FILE *pf,const fpos_t *p); -DllExport void win32_rewind(FILE *pf); -DllExport FILE* win32_tmpfile(void); -DllExport int win32_tmpfd(void); -DllExport void win32_abort(void); -DllExport int win32_fstat(int fd,struct stat *sbufptr); -DllExport int win32_stat(const char *name,struct stat *sbufptr); -DllExport int win32_pipe( int *phandles, unsigned int psize, int textmode ); -DllExport PerlIO* win32_popen( const char *command, const char *mode ); -DllExport PerlIO* win32_popenlist(const char *mode, IV narg, SV **args); -DllExport int win32_pclose( FILE *pf); -DllExport int win32_rename( const char *oname, const char *newname); -DllExport int win32_setmode( int fd, int mode); -DllExport int win32_chsize(int fd, Off_t size); -DllExport long win32_lseek( int fd, long offset, int origin); -DllExport long win32_tell( int fd); -DllExport int win32_dup( int fd); -DllExport int win32_dup2(int h1, int h2); -DllExport int win32_open(const char *path, int oflag,...); -DllExport int win32_close(int fd); -DllExport int win32_eof(int fd); -DllExport int win32_read(int fd, void *buf, unsigned int cnt); -DllExport int win32_write(int fd, const void *buf, unsigned int cnt); -DllExport int win32_spawnvp(int mode, const char *cmdname, - const char *const *argv); -DllExport int win32_mkdir(const char *dir, int mode); -DllExport int win32_rmdir(const char *dir); -DllExport int win32_chdir(const char *dir); -DllExport int win32_flock(int fd, int oper); -DllExport int win32_execv(const char *cmdname, const char *const *argv); -DllExport int win32_execvp(const char *cmdname, const char *const *argv); -DllExport void win32_perror(const char *str); -DllExport void win32_setbuf(FILE *pf, char *buf); -DllExport int win32_setvbuf(FILE *pf, char *buf, int type, size_t size); -DllExport int win32_flushall(void); -DllExport int win32_fcloseall(void); -DllExport char* win32_fgets(char *s, int n, FILE *pf); -DllExport char* win32_gets(char *s); -DllExport int win32_fgetc(FILE *pf); -DllExport int win32_putc(int c, FILE *pf); -DllExport int win32_puts(const char *s); -DllExport int win32_getchar(void); -DllExport int win32_putchar(int c); -DllExport void* win32_malloc(size_t size); -DllExport void* win32_calloc(size_t numitems, size_t size); -DllExport void* win32_realloc(void *block, size_t size); -DllExport void win32_free(void *block); - -DllExport int win32_open_osfhandle(long handle, int flags); -DllExport long win32_get_osfhandle(int fd); - -DllExport DIR* win32_opendir(char *filename); -DllExport struct direct* win32_readdir(DIR *dirp); -DllExport long win32_telldir(DIR *dirp); -DllExport void win32_seekdir(DIR *dirp, long loc); -DllExport void win32_rewinddir(DIR *dirp); -DllExport int win32_closedir(DIR *dirp); - -DllExport char* win32_getenv(const char *name); -DllExport int win32_putenv(const char *name); - -DllExport unsigned win32_sleep(unsigned int); -DllExport int win32_times(struct tms *timebuf); -DllExport unsigned win32_alarm(unsigned int sec); -DllExport int win32_stat(const char *path, struct stat *buf); -DllExport char* win32_longpath(char *path); -DllExport int win32_ioctl(int i, unsigned int u, char *data); -DllExport int win32_link(const char *oldname, const char *newname); -DllExport int win32_gettimeofday(struct timeval *tp, void *not_used); -DllExport int win32_unlink(const char *f); -DllExport int win32_utime(const char *f, struct utimbuf *t); -DllExport int win32_uname(struct utsname *n); -DllExport int win32_wait(int *status); -DllExport int win32_waitpid(int pid, int *status, int flags); -DllExport int win32_kill(int pid, int sig); -DllExport unsigned long win32_os_id(void); -DllExport void* win32_dynaload(const char*filename); -DllExport int win32_access(const char *path, int mode); -DllExport int win32_chmod(const char *path, int mode); -DllExport int win32_getpid(void); -DllExport Sighandler_t win32_signal(int sig, Sighandler_t subcode); - -DllExport char * win32_crypt(const char *txt, const char *salt); - -END_EXTERN_C - -/* - * the following six(6) is #define in stdio.h - */ -#ifndef WIN32IO_IS_STDIO -#undef errno -#undef environ -#undef stderr -#undef stdin -#undef stdout -#undef ferror -#undef feof -#undef fclose -#undef pipe -#undef pause -#undef sleep -#undef times -#undef alarm -#undef ioctl -#undef unlink -#undef utime -#undef uname -#undef wait - -#define stderr win32_stderr() -#define stdout win32_stdout() -#define stdin win32_stdin() -#define feof(f) win32_feof(f) -#define ferror(f) win32_ferror(f) -#define errno (*win32_errno()) -#define environ (*win32_environ()) -#define strerror win32_strerror - -/* - * redirect to our own version - */ -#undef fprintf -#define fprintf win32_fprintf -#undef vfprintf -#define vfprintf win32_vfprintf -#undef printf -#define printf win32_printf -#undef vprintf -#define vprintf win32_vprintf -#undef fread -#define fread(buf,size,count,f) win32_fread(buf,size,count,f) -#undef fwrite -#define fwrite(buf,size,count,f) win32_fwrite(buf,size,count,f) -#undef fopen -#define fopen win32_fopen -#undef fdopen -#define fdopen win32_fdopen -#undef freopen -#define freopen win32_freopen -#define fclose(f) win32_fclose(f) -#undef fputs -#define fputs(s,f) win32_fputs(s,f) -#undef fputc -#define fputc(c,f) win32_fputc(c,f) -#undef ungetc -#define ungetc(c,f) win32_ungetc(c,f) -#undef getc -#define getc(f) win32_getc(f) -#undef fileno -#define fileno(f) win32_fileno(f) -#undef clearerr -#define clearerr(f) win32_clearerr(f) -#undef fflush -#define fflush(f) win32_fflush(f) -#undef ftell -#define ftell(f) win32_ftell(f) -#undef fseek -#define fseek(f,o,w) win32_fseek(f,o,w) -#undef fgetpos -#define fgetpos(f,p) win32_fgetpos(f,p) -#undef fsetpos -#define fsetpos(f,p) win32_fsetpos(f,p) -#undef rewind -#define rewind(f) win32_rewind(f) -#define tmpfile() win32_tmpfile() -#define abort() win32_abort() -#define fstat(fd,bufptr) win32_fstat(fd,bufptr) -#define stat(pth,bufptr) win32_stat(pth,bufptr) -#define longpath(pth) win32_longpath(pth) -#define rename(old,new) win32_rename(old,new) -#define setmode(fd,mode) win32_setmode(fd,mode) -#define lseek(fd,offset,orig) win32_lseek(fd,offset,orig) -#define tell(fd) win32_tell(fd) -#define dup(fd) win32_dup(fd) -#define dup2(fd1,fd2) win32_dup2(fd1,fd2) -#define open win32_open -#define close(fd) win32_close(fd) -#define eof(fd) win32_eof(fd) -#define read(fd,b,s) win32_read(fd,b,s) -#define write(fd,b,s) win32_write(fd,b,s) -#define _open_osfhandle win32_open_osfhandle -#define _get_osfhandle win32_get_osfhandle -#define spawnvp win32_spawnvp -#define mkdir win32_mkdir -#define rmdir win32_rmdir -#define chdir win32_chdir -#define flock(fd,o) win32_flock(fd,o) -#define execv win32_execv -#define execvp win32_execvp -#define perror win32_perror -#define setbuf win32_setbuf -#undef setvbuf -#define setvbuf win32_setvbuf -#undef flushall -#define flushall win32_flushall -#undef fcloseall -#define fcloseall win32_fcloseall -#undef fgets -#define fgets win32_fgets -#undef gets -#define gets win32_gets -#undef fgetc -#define fgetc win32_fgetc -#undef putc -#define putc win32_putc -#undef puts -#define puts win32_puts -#undef getchar -#define getchar win32_getchar -#undef putchar -#define putchar win32_putchar -#define access(p,m) win32_access(p,m) -#define chmod(p,m) win32_chmod(p,m) - - -#if !defined(MYMALLOC) || !defined(PERL_CORE) -#undef malloc -#undef calloc -#undef realloc -#undef free -#define malloc win32_malloc -#define calloc win32_calloc -#define realloc win32_realloc -#define free win32_free -#endif - -#define pipe(fd) win32_pipe((fd), 512, O_BINARY) -#define pause() win32_sleep((32767L << 16) + 32767) -#define sleep win32_sleep -#define times win32_times -#define alarm win32_alarm -#define ioctl win32_ioctl -#define link win32_link -#define unlink win32_unlink -#define utime win32_utime -#define uname win32_uname -#define wait win32_wait -#define waitpid win32_waitpid -#define kill win32_kill - -#define opendir win32_opendir -#define readdir win32_readdir -#define telldir win32_telldir -#define seekdir win32_seekdir -#define rewinddir win32_rewinddir -#define closedir win32_closedir -#define os_id win32_os_id -#define getpid win32_getpid - -#undef crypt -#define crypt(t,s) win32_crypt(t,s) - -#undef getenv -#define getenv win32_getenv -#undef putenv -#define putenv win32_putenv - -#endif /* WIN32IO_IS_STDIO */ -#endif /* WIN32IOP_H */ - diff --git a/Master/tlpkg/tlperl/lib/CORE/win32iop.h b/Master/tlpkg/tlperl/lib/CORE/win32iop.h index a9235d35956..559e1f9cd2e 100644 --- a/Master/tlpkg/tlperl/lib/CORE/win32iop.h +++ b/Master/tlpkg/tlperl/lib/CORE/win32iop.h @@ -64,6 +64,7 @@ DllExport int win32_fgetpos(FILE *pf,fpos_t *p); DllExport int win32_fsetpos(FILE *pf,const fpos_t *p); DllExport void win32_rewind(FILE *pf); DllExport int win32_tmpfd(void); +DllExport int win32_tmpfd_mode(int mode); DllExport FILE* win32_tmpfile(void); DllExport void win32_abort(void); DllExport int win32_fstat(int fd,Stat_t *sbufptr); @@ -207,210 +208,81 @@ END_EXTERN_C */ #undef fprintf #define fprintf win32_fprintf -#ifdef UNDER_CE /* celib also makes these be macros to celib's x* symbols */ -# undef vfprintf -#endif #define vfprintf win32_vfprintf -#ifdef UNDER_CE -# undef printf -#endif #define printf win32_printf -#ifdef UNDER_CE -# undef vprintf -#endif #define vprintf win32_vprintf -#ifdef UNDER_CE -# undef fread -#endif #define fread(buf,size,count,f) win32_fread(buf,size,count,f) -#ifdef UNDER_CE -# undef fwrite -#endif #define fwrite(buf,size,count,f) win32_fwrite(buf,size,count,f) -#ifdef UNDER_CE -# undef fopen -#endif #define fopen win32_fopen #undef fdopen #define fdopen win32_fdopen -#ifdef UNDER_CE -# undef freopen -#endif #define freopen win32_freopen #define fclose(f) win32_fclose(f) -#ifdef UNDER_CE -# undef fputs -#endif #define fputs(s,f) win32_fputs(s,f) -#ifdef UNDER_CE -# undef fputc -#endif #define fputc(c,f) win32_fputc(c,f) -#ifdef UNDER_CE -# undef ungetc -#endif #define ungetc(c,f) win32_ungetc(c,f) #undef getc #define getc(f) win32_getc(f) -#ifdef UNDER_CE -# undef fileno -#endif #define fileno(f) win32_fileno(f) -#ifdef UNDER_CE -# undef clearerr -#endif #define clearerr(f) win32_clearerr(f) -#ifdef UNDER_CE -# undef fflush -#endif #define fflush(f) win32_fflush(f) -#ifdef UNDER_CE -# undef ftell -#endif #define ftell(f) win32_ftell(f) -#ifdef UNDER_CE -# undef fseek -#endif #define fseek(f,o,w) win32_fseek(f,o,w) -#ifdef UNDER_CE -# undef fgetpos -#endif #define fgetpos(f,p) win32_fgetpos(f,p) -#ifdef UNDER_CE -# undef fsetpos -#endif #define fsetpos(f,p) win32_fsetpos(f,p) -#ifdef UNDER_CE -# undef rewind -#endif #define rewind(f) win32_rewind(f) #define tmpfile() win32_tmpfile() -#ifdef UNDER_CE -# undef abort -#endif #define abort() win32_abort() -#if defined(UNDER_CE) || defined(__MINGW32__) +#ifdef __MINGW32__ # undef fstat #endif #define fstat(fd,bufptr) win32_fstat(fd,bufptr) -#if defined(UNDER_CE) || defined(__MINGW32__) +#ifdef __MINGW32__ # undef stat #endif #define stat(pth,bufptr) win32_stat(pth,bufptr) #define longpath(pth) win32_longpath(pth) #define ansipath(pth) win32_ansipath(pth) -#ifdef UNDER_CE -# undef rename -#endif #define rename(old,new) win32_rename(old,new) -#ifdef UNDER_CE -# undef setmode -#endif #define setmode(fd,mode) win32_setmode(fd,mode) #define chsize(fd,sz) win32_chsize(fd,sz) -#ifdef UNDER_CE -# undef lseek -#endif #define lseek(fd,offset,orig) win32_lseek(fd,offset,orig) #define tell(fd) win32_tell(fd) -#ifdef UNDER_CE -# undef dup -#endif #define dup(fd) win32_dup(fd) -#ifdef UNDER_CE -# undef dup2 -#endif #define dup2(fd1,fd2) win32_dup2(fd1,fd2) -#ifdef UNDER_CE -# undef open -#endif #define open win32_open -#ifdef UNDER_CE -# undef close -#endif #define close(fd) win32_close(fd) #define eof(fd) win32_eof(fd) -#ifdef UNDER_CE -# undef isatty -#endif #define isatty(fd) win32_isatty(fd) -#ifdef UNDER_CE -# undef read -#endif #define read(fd,b,s) win32_read(fd,b,s) -#ifdef UNDER_CE -# undef write -#endif #define write(fd,b,s) win32_write(fd,b,s) #define _open_osfhandle win32_open_osfhandle -#ifdef UNDER_CE -# undef _get_osfhandle -#endif #define _get_osfhandle win32_get_osfhandle #define spawnvp win32_spawnvp -#ifdef UNDER_CE -# undef mkdir -#endif #define mkdir win32_mkdir -#ifdef UNDER_CE -# undef rmdir -#endif #define rmdir win32_rmdir -#ifdef UNDER_CE -# undef chdir -#endif #define chdir win32_chdir #define flock(fd,o) win32_flock(fd,o) -#ifdef UNDER_CE -# undef execv -#endif #define execv win32_execv -#ifdef UNDER_CE -# undef execvp -#endif #define execvp win32_execvp -#ifdef UNDER_CE -# undef perror -#endif #define perror win32_perror #define setbuf win32_setbuf -#ifdef UNDER_CE -# undef setvbuf -#endif #define setvbuf win32_setvbuf #undef flushall #define flushall win32_flushall #undef fcloseall #define fcloseall win32_fcloseall -#ifdef UNDER_CE -# undef fgets -#endif #define fgets win32_fgets -#ifdef UNDER_CE -# undef gets -#endif #define gets win32_gets -#ifdef UNDER_CE -# undef fgetc -#endif #define fgetc win32_fgetc #undef putc #define putc win32_putc -#ifdef UNDER_CE -# undef puts -#endif #define puts win32_puts #undef getchar #define getchar win32_getchar #undef putchar #define putchar win32_putchar -#ifdef UNDER_CE -# undef access -#endif #define access(p,m) win32_access(p,m) -#ifdef UNDER_CE -# undef chmod -#endif #define chmod(p,m) win32_chmod(p,m) @@ -437,42 +309,21 @@ END_EXTERN_C #define link win32_link #define unlink win32_unlink #define utime win32_utime -#ifdef UNDER_CE -# undef gettimeofday -#endif #define gettimeofday win32_gettimeofday #define uname win32_uname #define wait win32_wait #define waitpid win32_waitpid -#ifdef UNDER_CE -# undef kill -#endif #define kill win32_kill -#ifdef UNDER_CE -# undef killpg -#endif #define killpg(pid, sig) win32_kill(pid, -(sig)) -#ifdef UNDER_CE -# undef opendir -#endif #define opendir win32_opendir -#ifdef UNDER_CE -# undef readdir -#endif #define readdir win32_readdir #define telldir win32_telldir #define seekdir win32_seekdir #define rewinddir win32_rewinddir -#ifdef UNDER_CE -# undef closedir -#endif #define closedir win32_closedir #define os_id win32_os_id -#ifdef UNDER_CE -# undef getpid -#endif #define getpid win32_getpid #undef crypt diff --git a/Master/tlpkg/tlperl/lib/CORE/wince.h b/Master/tlpkg/tlperl/lib/CORE/wince.h deleted file mode 100644 index 2a97668bb15..00000000000 --- a/Master/tlpkg/tlperl/lib/CORE/wince.h +++ /dev/null @@ -1,146 +0,0 @@ -/* wince.h */ - -/* Time-stamp: <01/08/01 20:48:08 keuchel@w2k> */ - -/* This file includes extracts from the celib-headers, because */ -/* the celib-headers produces macro conflicts with defines in */ -/* win32iop.h etc */ - -#ifndef WINCE_H -#define WINCE_H 1 - -#include "celib_defs.h" - -/* include local copies of celib headers... */ -#include "errno.h" -#include "sys/stat.h" -#include "time.h" -#include "cectype.h" - -#ifndef START_EXTERN_C -#undef EXTERN_C -#ifdef __cplusplus -# define START_EXTERN_C extern "C" { -# define END_EXTERN_C } -# define EXTERN_C extern "C" -#else -# define START_EXTERN_C -# define END_EXTERN_C -# define EXTERN_C -#endif -#endif - -START_EXTERN_C - -#ifndef _IOFBF -#define _IOFBF 0x0000 -#endif -#ifndef _IOLBF -#define _IOLBF 0x0040 -#endif -#ifndef _IONBF -#define _IONBF 0x0004 -#endif - -#if UNDER_CE <= 200 -XCE_EXPORT double xceatof(const char *); -XCE_EXPORT int xcetoupper(int c); -XCE_EXPORT int xcetolower(int c); -#define atof xceatof -#define toupper xcetoupper -#define tolower xcetolower -#else -XCE_EXPORT double atof(const char *); -#endif - -XCE_EXPORT void XCEShowMessageA(const char *fmt, ...); - -#define time xcetime -#define gmtime xcegmtime -#define localtime xcelocaltime -#define asctime xceasctime -/* #define utime xceutime */ -#define futime xcefutime -#define ftime xceftime -#define ctime xcectime -#define gettimeofday xcegettimeofday -#define GetSystemTimeAsFileTime XCEGetSystemTimeAsFileTime - -#define setuid xcesetuid -#define getuid xcegetuid -#define geteuid xcegeteuid -#define seteuid xceseteuid - -#define setgid xcesetgid -#define getgid xcegetgid -#define getegid xcegetegid -#define setegid xcesetegid - -XCE_EXPORT int xcechown(const char *filename, int owner, int group); -#define chown xcechown - -XCE_EXPORT char *xcestrrchr(const char * string, int ch); -#define strrchr xcestrrchr - -XCE_EXPORT void (*xcesignal(int, void (*)(int)))(int); -XCE_EXPORT int xceraise(int); -#define signal xcesignal -#define raise xceraise - -XCE_EXPORT int xcecreat(const char *filename, int pmode); -XCE_EXPORT int xceopen(const char *fname, int mode, ...); -XCE_EXPORT int xceread(int fd, void *buf, int size); -XCE_EXPORT int xcewrite(int fd, void *buf, int size); -XCE_EXPORT int xceclose(int fd); -XCE_EXPORT off_t xcelseek(int fd, int off, int whence); - -XCE_EXPORT char *xcestrupr(char *string); -XCE_EXPORT char *xcestrlwr(char *string); -#define strupr xcestrupr -#define strlwr xcestrlwr - -XCE_EXPORT double xcestrtod(const char *s, char **errorptr); -XCE_EXPORT long xcestrtol(const char *s, char **errorptr, int base); -XCE_EXPORT unsigned long xcestrtoul(const char *s, char **errorptr, int base); -#define strtod xcestrtod -#define strtol xcestrtol -#define strtoul xcestrtoul - -XCE_EXPORT int xcestrnicmp(const char *first, const char *last, size_t count); -#define strnicmp xcestrnicmp - -XCE_EXPORT int xceumask(int mask); -#define umask xceumask - -XCE_EXPORT int xceisatty(int fd); -#define isatty xceisatty - -XCE_EXPORT int xcechsize(int fd, unsigned long size); -#define chsize xcechsize - -XCE_EXPORT char *xcegetlogin(); -#define getlogin xcegetlogin - -XCE_EXPORT DWORD XCEAPI XCEGetModuleFileNameA(HMODULE hModule, LPTSTR lpName, DWORD nSize); -XCE_EXPORT HMODULE XCEAPI XCEGetModuleHandleA(const char *lpName); -XCE_EXPORT FARPROC XCEAPI XCEGetProcAddressA(HMODULE hMod, const char *name); - -/* //////////////////////////////////////////////////////////////////// */ - -#define getgid xcegetgid -#define getegid xcegetegid -#define geteuid xcegeteuid -#define setgid xcesetgid - -#define strupr xcestrupr -#define time xcetime - -XCE_EXPORT BOOL XCEFreeEnvironmentStrings(LPCSTR buf); -#define GetEnvironmentStrings XCEGetEnvironmentStrings -#define FreeEnvironmentStrings XCEFreeEnvironmentStrings - -void wce_hitreturn(); - -END_EXTERN_C - -#endif diff --git a/Master/tlpkg/tlperl/lib/CORE/zaphod32_hash.h b/Master/tlpkg/tlperl/lib/CORE/zaphod32_hash.h index c9b60ccb32b..2fb391a2337 100644 --- a/Master/tlpkg/tlperl/lib/CORE/zaphod32_hash.h +++ b/Master/tlpkg/tlperl/lib/CORE/zaphod32_hash.h @@ -74,41 +74,6 @@ #define STMT_END while(0) #endif -#ifndef ZAPHOD32_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN -/* ZAPHOD32_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN only matters if nothing has defined U8TO64_LE etc, - * and when built with Perl these should be defined before this file is loaded. - */ -#ifdef U32_ALIGNMENT_REQUIRED -#define ZAPHOD32_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN 0 -#else -#define ZAPHOD32_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN 1 -#endif -#endif - -#ifndef U8TO32_LE -#if ZAPHOD32_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN -#define U8TO32_LE(ptr) (*((const U32 *)(ptr))) -#else -#define U8TO32_LE(ptr) (\ - (U32)(ptr)[3] << 24 | \ - (U32)(ptr)[2] << 16 | \ - (U32)(ptr)[1] << 8 | \ - (U32)(ptr)[0] \ -) -#endif -#endif - -#ifndef U8TO16_LE -#if ZAPHOD32_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN -#define U8TO16_LE(ptr) (*((const U16 *)(ptr))) -#else -#define U8TO16_LE(ptr) (\ - (U16)(ptr)[1] << 8 | \ - (U16)(ptr)[0] \ -) -#endif -#endif - /* This is two marsaglia xor-shift permutes, with a prime-multiple * sandwiched inside. The end result of doing this twice with different * primes is a completely avalanched v. */ diff --git a/Master/tlpkg/tlperl/lib/CPAN.pm b/Master/tlpkg/tlperl/lib/CPAN.pm index 0c9b9f5b09f..2d87f47f8b9 100644 --- a/Master/tlpkg/tlperl/lib/CPAN.pm +++ b/Master/tlpkg/tlperl/lib/CPAN.pm @@ -2,7 +2,7 @@ # vim: ts=4 sts=4 sw=4: use strict; package CPAN; -$CPAN::VERSION = '2.22'; +$CPAN::VERSION = '2.27'; $CPAN::VERSION =~ s/_//; # we need to run chdir all over and we would get at wrong libraries @@ -286,7 +286,10 @@ sub shell { } if (my $histfile = $CPAN::Config->{'histfile'}) {{ unless ($term->can("AddHistory")) { - $CPAN::Frontend->mywarn("Terminal does not support AddHistory.\n\nTo fix enter> install Term::ReadLine::Perl\n\n"); + $CPAN::Frontend->mywarn("Terminal does not support AddHistory.\n"); + unless ($CPAN::META->has_inst('Term::ReadLine::Perl')) { + $CPAN::Frontend->mywarn("\nTo fix that, maybe try> install Term::ReadLine::Perl\n\n"); + } last; } $META->readhist($term,$histfile); @@ -1028,7 +1031,10 @@ sub has_usable { $usable = { # - # these subroutines die if they believe the installed version is unusable; + # most of these subroutines warn on the frontend, then + # die if the installed version is unusable for some + # reason; has_usable() then returns false when it caught + # an exception, otherwise returns true and caches that; # 'CPAN::Meta' => [ sub { @@ -1059,6 +1065,23 @@ sub has_usable { }, ], + 'CPAN::Reporter' => [ + sub { + if (defined $CPAN::Reporter::VERSION + && CPAN::Version->vlt($CPAN::Reporter::VERSION, "1.2011") + ) { + delete $INC{"CPAN/Reporter.pm"}; + } + require CPAN::Reporter; + unless (CPAN::Version->vge(CPAN::Reporter->VERSION, "1.2011")) { + for ("Will not use CPAN::Reporter, need version 1.2011\n") { + $CPAN::Frontend->mywarn($_); + die $_; + } + } + }, + ], + LWP => [ # we frequently had "Can't locate object # method "new" via package "LWP::UserAgent" at # (eval 69) line 2006 @@ -1445,11 +1468,12 @@ sub set_perl5lib { $ENV{PERL5LIB} = join $Config::Config{path_sep}, @dirs, @env; } else { my $cnt = keys %{$self->{is_tested}}; - $CPAN::Frontend->optprint('perl5lib', "Prepending blib/arch and blib/lib of ". - "$cnt build dirs to PERL5LIB; ". - "for '$for'\n" + my $newenv = join $Config::Config{path_sep}, @dirs, @env; + $CPAN::Frontend->optprint('perl5lib', sprintf ("Prepending blib/arch and blib/lib of ". + "%d build dirs to PERL5LIB, reaching size %d; ". + "for '%s'\n", $cnt, length($newenv), $for) ); - $ENV{PERL5LIB} = join $Config::Config{path_sep}, @dirs, @env; + $ENV{PERL5LIB} = $newenv; } }} @@ -2121,6 +2145,12 @@ where WORD is any valid config variable or a regular expression. The following keys in the hash reference $CPAN::Config are currently defined: + allow_installing_module_downgrades + allow or disallow installing module downgrades + allow_installing_outdated_dists + allow or disallow installing modules that are + indexed in the cpan index pointing to a distro + with a higher distro-version number applypatch path to external prg auto_commit commit all changes to config variables to disk build_cache size of cache for directories to build modules @@ -2134,7 +2164,8 @@ currently defined: check_sigs if signatures should be verified cleanup_after_install remove build directory immediately after a - successful install + successful install and remember that for the + duration of the session colorize_debug Term::ANSIColor attributes for debugging output colorize_output boolean if Term::ANSIColor should colorize output colorize_print Term::ANSIColor attributes for normal output @@ -2238,6 +2269,10 @@ currently defined: CPAN::Reporter history) unzip location of external program unzip urllist arrayref to nearby CPAN sites (or equivalent locations) + urllist_ping_external + use external ping command when autoselecting mirrors + urllist_ping_verbose + increase verbosity when autoselecting mirrors use_prompt_default set PERL_MM_USE_DEFAULT for configure/make/test/install use_sqlite use CPAN::SQLite for metadata storage (fast and lean) username your username if you CPAN server wants one @@ -2378,11 +2413,48 @@ installed. It is only built and tested, and then kept in the list of tested but uninstalled modules. As such, it is available during the build of the dependent module by integrating the path to the C and C directories in the environment variable -PERL5LIB. If C is set ti C, then +PERL5LIB. If C is set to C, then both modules declared as C and those declared as C are treated alike. By setting to C or C, CPAN.pm asks the user and sets the default accordingly. +=head2 Configuration of the allow_installing_* parameters + +The C parameters are evaluated during +the C phase. If set to C, they allow the testing and the installation of +the current distro and otherwise have no effect. If set to C, they +may abort the build (preventing testing and installing), depending on the contents of the +C directory. The C directory is the directory that holds +all the files that would usually be installed in the C phase. + +C compares the C directory with the CPAN index. +If it finds something there that belongs, according to the index, to a different +dist, it aborts the current build. + +C compares the C directory +with already installed modules, actually their version numbers, as +determined by ExtUtils::MakeMaker or equivalent. If a to-be-installed +module would downgrade an already installed module, the current build +is aborted. + +An interesting twist occurs when a distroprefs document demands the +installation of an outdated dist via goto while +C forbids it. Without additional +provisions, this would let the C +win and the distroprefs lose. So the proper arrangement in such a case +is to write a second distroprefs document for the distro that C +points to and overrule the C there. E.g.: + + --- + match: + distribution: "^MAUKE/Keyword-Simple-0.04.tar.gz" + goto: "MAUKE/Keyword-Simple-0.03.tar.gz" + --- + match: + distribution: "^MAUKE/Keyword-Simple-0.03.tar.gz" + cpanconfig: + allow_installing_outdated_dists: yes + =head2 Configuration for individual distributions (I) (B This feature has been introduced in CPAN.pm 1.8854) @@ -3922,6 +3994,25 @@ directory) or exit the CPAN shell, respectively. If you never start up the CPAN shell, you probably also have to clean up the build directory yourself. +=item 19) + +How can I switch to sudo instead of local::lib? + +The following 5 environment veriables need to be reset to the previous +values: PATH, PERL5LIB, PERL_LOCAL_LIB_ROOT, PERL_MB_OPT, PERL_MM_OPT; +and these two CPAN.pm config variables must be reconfigured: +make_install_make_command and mbuild_install_build_command. The five +env variables have probably been overwritten in your $HOME/.bashrc or +some equivalent. You either find them there and delete their traces +and logout/login or you override them temporarily, depending on your +exact desire. The two cpanpm config variables can be set with: + + o conf init /install_.*_command/ + +probably followed by + + o conf commit + =back =head1 COMPATIBILITY diff --git a/Master/tlpkg/tlperl/lib/CPAN/Bundle.pm b/Master/tlpkg/tlperl/lib/CPAN/Bundle.pm index 3b4e93d8bf6..99c95ac4d6e 100644 --- a/Master/tlpkg/tlperl/lib/CPAN/Bundle.pm +++ b/Master/tlpkg/tlperl/lib/CPAN/Bundle.pm @@ -8,7 +8,7 @@ use CPAN::Module; use vars qw( $VERSION ); -$VERSION = "5.5003"; +$VERSION = "5.5005"; sub look { my $self = shift; @@ -87,11 +87,11 @@ sub contains { # Try to get at it in the cpan directory $self->debug("no inst_file") if $CPAN::DEBUG; my $cpan_file; - $CPAN::Frontend->mydie("I don't know a bundle with ID $id\n") unless + $CPAN::Frontend->mydie("I don't know a bundle with ID '$id'\n") unless $cpan_file = $self->cpan_file; if ($cpan_file eq "N/A") { - $CPAN::Frontend->mydie("Bundle $id not found on disk and not on CPAN. - Maybe stale symlink? Maybe removed during session? Giving up.\n"); + $CPAN::Frontend->mywarn("Bundle '$id' not found on disk and not on CPAN. Maybe stale symlink? Maybe removed during session?\n"); + return; } my $dist = $CPAN::META->instance('CPAN::Distribution', $self->cpan_file); @@ -103,7 +103,12 @@ sub contains { @me = split /::/, $self->id; $me[-1] .= ".pm"; $me = File::Spec->catfile(@me); - $from = $self->find_bundle_file($dist->{build_dir},join('/',@me)); + my $build_dir; + unless ($build_dir = $dist->{build_dir}) { + $CPAN::Frontend->mywarn("Warning: cannot determine bundle content without a build_dir.\n"); + return; + } + $from = $self->find_bundle_file($build_dir,join('/',@me)); $to = File::Spec->catfile($todir,$me); File::Path::mkpath(File::Basename::dirname($to)); File::Copy::copy($from, $to) @@ -238,6 +243,7 @@ Going to $meth that. $self->debug("type[$type] s[$s]") if $CPAN::DEBUG; my $obj = $CPAN::META->instance($type,$s); $obj->{reqtype} = $self->{reqtype}; + $obj->{viabundle} ||= { id => $id, reqtype => $self->{reqtype}, optional => !$self->{mandatory}}; # $obj->$meth(); # XXX should optional be based on whether bundle was optional? -- xdg, 2012-04-01 # A: Sure, what could demand otherwise? --andk, 2013-11-25 diff --git a/Master/tlpkg/tlperl/lib/CPAN/Distribution.pm b/Master/tlpkg/tlperl/lib/CPAN/Distribution.pm index 717c9aa0e45..34121085395 100644 --- a/Master/tlpkg/tlperl/lib/CPAN/Distribution.pm +++ b/Master/tlpkg/tlperl/lib/CPAN/Distribution.pm @@ -6,9 +6,12 @@ use Cwd qw(chdir); use CPAN::Distroprefs; use CPAN::InfoObj; use File::Path (); +use POSIX ":sys_wait_h"; @CPAN::Distribution::ISA = qw(CPAN::InfoObj); use vars qw($VERSION); -$VERSION = "2.22"; +$VERSION = "2.27"; + +my $run_allow_installing_within_test = 1; # boolean; either in test or in install, there is no third option # no prepare, because prepare is not a command on the shell command line # TODO: clear instance cache on reload @@ -317,6 +320,17 @@ sub called_for { sub shortcut_get { my ($self) = @_; + if (exists $self->{cleanup_after_install_done}) { + if ($self->{force_update}) { + delete $self->{cleanup_after_install_done}; + } else { + my $id = $self->{CALLED_FOR} || $self->pretty_id; + return $self->success( + "Has already been *installed and cleaned up in the staging area* within this session, will not work on it again; if you really want to start over, try something like `force get $id`" + ); + } + } + if (my $why = $self->check_disabled) { $self->{unwrapped} = CPAN::Distrostatus->new("NO $why"); # XXX why is this goodbye() instead of just print/warn? @@ -366,10 +380,12 @@ sub get { $self->debug("checking goto id[$self->{ID}]") if $CPAN::DEBUG; if (my $goto = $self->prefs->{goto}) { + $self->post_get(); return $self->goto($goto); } if ( defined( my $sc = $self->shortcut_get) ) { + $self->post_get(); return $sc; } @@ -388,15 +404,22 @@ sub get { # is already checked in shortcut_get() -- xdg, 2012-04-05 unless ($self->{build_dir} && -d $self->{build_dir}) { $self->get_file_onto_local_disk; - return if $CPAN::Signal; + if ($CPAN::Signal){ + $self->post_get(); + return; + } $self->check_integrity; - return if $CPAN::Signal; + if ($CPAN::Signal){ + $self->post_get(); + return; + } (my $packagedir,$local_file) = $self->run_preps_on_packagedir; # XXX why is this check here? -- xdg, 2012-04-08 if (exists $self->{writemakefile} && ref $self->{writemakefile} && $self->{writemakefile}->can("failed") && $self->{writemakefile}->failed) { # + $self->post_get(); return; } $packagedir ||= $self->{build_dir}; @@ -408,9 +431,13 @@ sub get { # a $CPAN::Signal check -- xdg, 2012-04-05 if ($CPAN::Signal) { $self->safe_chdir($sub_wd); + $self->post_get(); + return; + } + unless ($self->patch){ + $self->post_get(); return; } - return unless $self->patch; $self->store_persistent_state; $self->post_get(); @@ -529,9 +556,10 @@ See also http://rt.cpan.org/Ticket/Display.html?id=38932\n"); if (@readdir == 1 && -d $readdir[0]) { $tdir_base = $readdir[0]; $from_dir = File::Spec->catdir(File::Spec->curdir,$readdir[0]); + my($mode) = (stat $from_dir)[2]; + chmod $mode | 00755, $from_dir; # JONATHAN/Math-Calculus-TaylorSeries-0.1.tar.gz has 0644 my $dh2; unless ($dh2 = DirHandle->new($from_dir)) { - my($mode) = (stat $from_dir)[2]; my $why = sprintf ( "Couldn't opendir '%s', mode '%o': %s", @@ -554,10 +582,6 @@ See also http://rt.cpan.org/Ticket/Display.html?id=38932\n"); $from_dir = File::Spec->curdir; @dirents = @readdir; } - eval { File::Path::mkpath $builddir; }; - if ($@) { - $CPAN::Frontend->mydie("Cannot create directory $builddir: $@"); - } my $packagedir; my $eexist = ($CPAN::META->has_usable("Errno") && defined &Errno::EEXIST) ? &Errno::EEXIST : undef; @@ -572,6 +596,8 @@ See also http://rt.cpan.org/Ticket/Display.html?id=38932\n"); my $f; for $f (@dirents) { # is already without "." and ".." my $from = File::Spec->catfile($from_dir,$f); + my($mode) = (stat $from)[2]; + chmod $mode | 00755, $from if -d $from; # OTTO/Pod-Trial-LinkImg-0.005.tgz my $to = File::Spec->catfile($packagedir,$f); unless (File::Copy::move($from,$to)) { my $err = $!; @@ -1217,10 +1243,10 @@ sub untar_me { sub unzip_me { my($self,$ct) = @_; $self->{archived} = "zip"; - if ($ct->unzip()) { + if (eval { $ct->unzip() }) { $self->{unwrapped} = CPAN::Distrostatus->new("YES"); } else { - $self->{unwrapped} = CPAN::Distrostatus->new("NO -- unzip failed"); + $self->{unwrapped} = CPAN::Distrostatus->new("NO -- unzip failed during unzip"); } return; } @@ -1637,23 +1663,28 @@ sub force { "prefs", "prefs_file", "prefs_file_doc", + "cleanup_after_install_done", ], make => [ "writemakefile", "make", "modulebuild", "prereq_pm", + "cleanup_after_install_done", ], test => [ "badtestcnt", "make_test", - ], + "cleanup_after_install_done", + ], install => [ "install", + "cleanup_after_install_done", ], unknown => [ "reqtype", "yaml_content", + "cleanup_after_install_done", ], ); my $methodmatch = 0; @@ -1830,7 +1861,9 @@ sub prepare { ? $ENV{PERL5LIB} : ($ENV{PERLLIB} || ""); local $ENV{PERL5OPT} = defined $ENV{PERL5OPT} ? $ENV{PERL5OPT} : ""; - local $ENV{PERL_USE_UNSAFE_INC} = exists $ENV{PERL_USE_UNSAFE_INC} ? $ENV{PERL_USE_UNSAFE_INC} : 1; # prepare + local $ENV{PERL_USE_UNSAFE_INC} = + exists $ENV{PERL_USE_UNSAFE_INC} && defined $ENV{PERL_USE_UNSAFE_INC} + ? $ENV{PERL_USE_UNSAFE_INC} : 1; # prepare $CPAN::META->set_perl5lib; local $ENV{MAKEFLAGS}; # protect us from outer make calls @@ -1992,7 +2025,9 @@ sub prepare { ($output, $ret) = eval { CPAN::Reporter::record_command($system) }; if (! defined $output or $@) { my $err = $@ || "Unknown error"; - $CPAN::Frontend->mywarn("Error while running PL phase: $err"); + $CPAN::Frontend->mywarn("Error while running PL phase: $err\n"); + $self->{writemakefile} = CPAN::Distrostatus + ->new("NO '$system' returned status $ret and no output"); return $self->goodbye("$system -- NOT OK"); } CPAN::Reporter::grade_PL( $self, $system, $output, $ret ); @@ -2062,8 +2097,14 @@ sub make { $self->pre_make(); + if (exists $self->{cleanup_after_install_done}) { + $self->post_make(); + return $self->get; + } + $self->debug("checking goto id[$self->{ID}]") if $CPAN::DEBUG; if (my $goto = $self->prefs->{goto}) { + $self->post_make(); return $self->goto($goto); } # Emergency brake if they said install Pippi and get newest perl @@ -2100,19 +2141,24 @@ is part of the perl-%s distribution. To install that, you need to run )); $self->{make} = CPAN::Distrostatus->new("NO isa perl"); $CPAN::Frontend->mysleep(1); + $self->post_make(); return; } } - $self->prepare - or return; + unless ($self->prepare){ + $self->post_make(); + return; + } if ( defined( my $sc = $self->shortcut_make) ) { + $self->post_make(); return $sc; } if ($CPAN::Signal) { delete $self->{force_update}; + $self->post_make(); return; } @@ -2121,6 +2167,7 @@ is part of the perl-%s distribution. To install that, you need to run unless (chdir $builddir) { $CPAN::Frontend->mywarn("Couldn't chdir to '$builddir': $!"); + $self->post_make(); return; } @@ -2130,17 +2177,21 @@ is part of the perl-%s distribution. To install that, you need to run ? $ENV{PERL5LIB} : ($ENV{PERLLIB} || ""); local $ENV{PERL5OPT} = defined $ENV{PERL5OPT} ? $ENV{PERL5OPT} : ""; - local $ENV{PERL_USE_UNSAFE_INC} = exists $ENV{PERL_USE_UNSAFE_INC} ? $ENV{PERL_USE_UNSAFE_INC} : 1; # make + local $ENV{PERL_USE_UNSAFE_INC} = + exists $ENV{PERL_USE_UNSAFE_INC} && defined $ENV{PERL_USE_UNSAFE_INC} + ? $ENV{PERL_USE_UNSAFE_INC} : 1; # make $CPAN::META->set_perl5lib; local $ENV{MAKEFLAGS}; # protect us from outer make calls if ($CPAN::Signal) { delete $self->{force_update}; + $self->post_make(); return; } if ($^O eq 'MacOS') { Mac::BuildTools::make($self); + $self->post_make(); return; } @@ -2151,16 +2202,23 @@ is part of the perl-%s distribution. To install that, you need to run } local @ENV{keys %env} = values %env; my $satisfied = eval { $self->satisfy_requires }; - return $self->goodbye($@) if $@; - return unless $satisfied ; + if ($@) { + return $self->goodbye($@); + } + unless ($satisfied){ + $self->post_make(); + return; + } if ($CPAN::Signal) { delete $self->{force_update}; + $self->post_make(); return; } # need to chdir again, because $self->satisfy_requires might change the directory unless (chdir $builddir) { $CPAN::Frontend->mywarn("Couldn't chdir to '$builddir': $!"); + $self->post_make(); return; } @@ -2794,12 +2852,16 @@ sub prereqs_for_slot { if ($self->{CALLED_FOR} =~ /^( CPAN::Meta::Requirements + |CPAN::DistnameInfo |version |parent |ExtUtils::MakeMaker |Test::Harness )$/x) { - $CPAN::Frontend->mywarn("Setting requirements to nil as a workaround\n"); + $CPAN::Frontend->mywarn("Please install CPAN::Meta::Requirements ". + "as soon as possible; it is needed for a reliable operation of ". + "the cpan shell; setting requirements to nil for '$1' for now ". + "to prevent deadlock during bootstrapping\n"); return; } $before = " before $self->{CALLED_FOR}"; @@ -2956,7 +3018,8 @@ sub unsat_prereq { next NEED; } } elsif ( - $self->{reqtype} =~ /^(r|c)$/ + $self->{reqtype} # e.g. maybe we came via goto? + && $self->{reqtype} =~ /^(r|c)$/ && ( exists $prereq_pm->{requires}{$need_module} || exists $prereq_pm->{opt_requires}{$need_module} ) && $nmo @@ -3531,21 +3594,31 @@ sub test { $self->pre_test(); + if (exists $self->{cleanup_after_install_done}) { + $self->post_test(); + return $self->make; + } + $self->debug("checking goto id[$self->{ID}]") if $CPAN::DEBUG; if (my $goto = $self->prefs->{goto}) { + $self->post_test(); return $self->goto($goto); } - $self->make - or return; + unless ($self->make){ + $self->post_test(); + return; + } if ( defined( my $sc = $self->shortcut_test ) ) { + $self->post_test(); return $sc; } if ($CPAN::Signal) { - delete $self->{force_update}; - return; + delete $self->{force_update}; + $self->post_test(); + return; } # warn "XDEBUG: checking for notest: $self->{notest} $self"; my $make = $self->{modulebuild} ? "Build" : "make"; @@ -3555,12 +3628,26 @@ sub test { : ($ENV{PERLLIB} || ""); local $ENV{PERL5OPT} = defined $ENV{PERL5OPT} ? $ENV{PERL5OPT} : ""; - local $ENV{PERL_USE_UNSAFE_INC} = exists $ENV{PERL_USE_UNSAFE_INC} ? $ENV{PERL_USE_UNSAFE_INC} : 1; # test + local $ENV{PERL_USE_UNSAFE_INC} = + exists $ENV{PERL_USE_UNSAFE_INC} && defined $ENV{PERL_USE_UNSAFE_INC} + ? $ENV{PERL_USE_UNSAFE_INC} : 1; # test $CPAN::META->set_perl5lib; local $ENV{MAKEFLAGS}; # protect us from outer make calls local $ENV{PERL_MM_USE_DEFAULT} = 1 if $CPAN::Config->{use_prompt_default}; local $ENV{NONINTERACTIVE_TESTING} = 1 if $CPAN::Config->{use_prompt_default}; + if ($run_allow_installing_within_test) { + my($allow_installing, $why) = $self->_allow_installing; + if (! $allow_installing) { + $CPAN::Frontend->mywarn("Testing/Installation stopped: $why\n"); + $self->introduce_myself; + $self->{make_test} = CPAN::Distrostatus->new("NO -- testing/installation stopped due $why"); + $CPAN::Frontend->mywarn(" [testing] -- NOT OK\n"); + delete $self->{force_update}; + $self->post_test(); + return; + } + } $CPAN::Frontend->myprint(sprintf "Running %s test for %s\n", $make, $self->pretty_id); my $builddir = $self->dir or @@ -3568,6 +3655,7 @@ sub test { unless (chdir $builddir) { $CPAN::Frontend->mywarn("Couldn't chdir to '$builddir': $!"); + $self->post_test(); return; } @@ -3576,6 +3664,7 @@ sub test { if ($^O eq 'MacOS') { Mac::BuildTools::make_test($self); + $self->post_test(); return; } @@ -3587,9 +3676,10 @@ sub test { # Test::Harness 3.0 self-tests, so that should be 'unless # installing Test::Harness' unless ($self->id eq $thm->distribution->id) { - $CPAN::Frontend->mywarn(qq{The version of your Test::Harness is only + $CPAN::Frontend->mywarn(qq{The version of your Test::Harness is only '$v', you need at least '2.62'. Please upgrade your Test::Harness.\n}); $self->{make_test} = CPAN::Distrostatus->new("NO Test::Harness too old"); + $self->post_test(); return; } } @@ -3611,12 +3701,14 @@ sub test { $CPAN::META->is_tested($self->{build_dir},$self->{make_test}{TIME}); } $CPAN::Frontend->myprint("Found prior test report -- OK\n"); + $self->post_test(); return; } elsif ( $reports[-1]->{grade} =~ /^(?:FAIL|NA)$/ ) { $self->{make_test} = CPAN::Distrostatus->new("NO"); $self->{badtestcnt}++; $CPAN::Frontend->mywarn("Found prior test report -- NOT OK\n"); + $self->post_test(); return; } } @@ -3660,18 +3752,45 @@ sub test { "testing without\n"); } } - if ($want_expect) { - if ($self->_should_report('test')) { - $CPAN::Frontend->mywarn("Reporting via CPAN::Reporter is currently ". - "not supported when distroprefs specify ". - "an interactive test\n"); + + FORK: { + my $pid = fork; + if (! defined $pid) { # contention + warn "Contention '$!', sleeping 2"; + sleep 2; + redo FORK; + } elsif ($pid) { # parent + if ($^O eq "MSWin32") { + wait; + } else { + SUPERVISE: while (waitpid($pid, WNOHANG) <= 0) { + if ($CPAN::Signal) { + kill 9, -$pid; + } + sleep 1; + } + } + $tests_ok = !$?; + } else { # child + POSIX::setsid() unless $^O eq "MSWin32"; + my $c_ok; + $|=1; + if ($want_expect) { + if ($self->_should_report('test')) { + $CPAN::Frontend->mywarn("Reporting via CPAN::Reporter is currently ". + "not supported when distroprefs specify ". + "an interactive test\n"); + } + $c_ok = $self->_run_via_expect($system,'test',$expect_model) == 0; + } elsif ( $self->_should_report('test') ) { + $c_ok = CPAN::Reporter::test($self, $system); + } else { + $c_ok = system($system) == 0; + } + exit !$c_ok; } - $tests_ok = $self->_run_via_expect($system,'test',$expect_model) == 0; - } elsif ( $self->_should_report('test') ) { - $tests_ok = CPAN::Reporter::test($self, $system); - } else { - $tests_ok = system($system) == 0; - } + } # FORK + $self->introduce_myself; my $but = $self->_make_test_illuminate_prereqs(); if ( $tests_ok ) { @@ -3679,6 +3798,7 @@ sub test { $CPAN::Frontend->mywarn("Tests succeeded but $but\n"); $self->{make_test} = CPAN::Distrostatus->new("NO $but"); $self->store_persistent_state; + $self->post_test(); return $self->goodbye("[dependencies] -- NA"); } $CPAN::Frontend->myprint(" $system -- OK\n"); @@ -3696,6 +3816,8 @@ sub test { $self->{make_test} = CPAN::Distrostatus->new( "NO but failure ignored because 'force' in effect" ); + } elsif ($CPAN::Signal) { + $self->{make_test} = CPAN::Distrostatus->new("NO -- Interrupted"); } else { $self->{make_test} = CPAN::Distrostatus->new("NO"); } @@ -3745,7 +3867,7 @@ sub _make_test_illuminate_prereqs { if $CPAN::DEBUG; } else { push @prereq, $m - if $m_obj->{mandatory}; + unless $self->is_locally_optional(undef, $m); } } my $but; @@ -3895,7 +4017,12 @@ sub goto { # and run where we left off my($method) = (caller(1))[3]; - CPAN->instance("CPAN::Distribution",$goto)->$method(); + my $goto_do = CPAN->instance("CPAN::Distribution",$goto); + $goto_do->called_for($self->called_for) unless $goto_do->called_for; + $goto_do->{mandatory} ||= $self->{mandatory}; + $goto_do->{reqtype} ||= $self->{reqtype}; + $goto_do->{coming_from} = $self->pretty_id; + $goto_do->$method(); CPAN::Queue->delete_first($goto); # XXX delete_first returns undef; is that what this should return # up the call stack, eg. return $sefl->goto($goto) -- xdg, 2012-04-04 @@ -3932,12 +4059,36 @@ sub shortcut_install { return undef; } +#-> sub CPAN::Distribution::is_being_sponsored ; + +# returns true if we find a distro object in the queue that has +# sponsored this one +sub is_being_sponsored { + my($self) = @_; + my $iterator = CPAN::Queue->iterator; + QITEM: while (my $q = $iterator->()) { + my $s = $q->as_string; + my $obj = CPAN::Shell->expandany($s) or next QITEM; + my $type = ref $obj; + if ( $type eq 'CPAN::Distribution' ){ + for my $module (sort keys %{$obj->{sponsored_mods} || {}}) { + return 1 if grep { $_ eq $module } $self->containsmods; + } + } + } + return 0; +} + #-> sub CPAN::Distribution::install ; sub install { my($self) = @_; $self->pre_install(); + if (exists $self->{cleanup_after_install_done}) { + return $self->test; + } + $self->debug("checking goto id[$self->{ID}]") if $CPAN::DEBUG; if (my $goto = $self->prefs->{goto}) { $self->goto($goto); @@ -4039,11 +4190,31 @@ sub install { : ($ENV{PERLLIB} || ""); local $ENV{PERL5OPT} = defined $ENV{PERL5OPT} ? $ENV{PERL5OPT} : ""; - local $ENV{PERL_USE_UNSAFE_INC} = exists $ENV{PERL_USE_UNSAFE_INC} ? $ENV{PERL_USE_UNSAFE_INC} : 1; # install + local $ENV{PERL_USE_UNSAFE_INC} = + exists $ENV{PERL_USE_UNSAFE_INC} && defined $ENV{PERL_USE_UNSAFE_INC} + ? $ENV{PERL_USE_UNSAFE_INC} : 1; # install $CPAN::META->set_perl5lib; local $ENV{PERL_MM_USE_DEFAULT} = 1 if $CPAN::Config->{use_prompt_default}; local $ENV{NONINTERACTIVE_TESTING} = 1 if $CPAN::Config->{use_prompt_default}; + my $install_env; + if ($self->prefs->{install}) { + $install_env = $self->prefs->{install}{env}; + } + local @ENV{keys %$install_env} = values %$install_env if $install_env; + + if (! $run_allow_installing_within_test) { + my($allow_installing, $why) = $self->_allow_installing; + if (! $allow_installing) { + $CPAN::Frontend->mywarn("Installation stopped: $why\n"); + $self->introduce_myself; + $self->{install} = CPAN::Distrostatus->new("NO -- installation stopped due $why"); + $CPAN::Frontend->mywarn(" $system -- NOT OK\n"); + delete $self->{force_update}; + $self->post_install(); + return; + } + } my($pipe) = FileHandle->new("$system $stderr |"); unless ($pipe) { $CPAN::Frontend->mywarn("Can't execute $system: $!"); @@ -4069,7 +4240,8 @@ sub install { $CPAN::META->is_installed($self->{build_dir}); $self->{install} = CPAN::Distrostatus->new("YES"); if ($CPAN::Config->{'cleanup_after_install'} - && ! $self->is_dot_dist) { + && ! $self->is_dot_dist + && ! $self->is_being_sponsored) { my $parent = File::Spec->catdir( $self->{build_dir}, File::Spec->updir ); chdir $parent or $CPAN::Frontend->mydie("Couldn't chdir to $parent: $!\n"); File::Path::rmtree($self->{build_dir}); @@ -4077,6 +4249,7 @@ sub install { if (-e $yml) { unlink $yml or $CPAN::Frontend->mydie("Couldn't unlink $yml: $!\n"); } + $self->{cleanup_after_install_done}=1; } } else { $self->{install} = CPAN::Distrostatus->new("NO"); @@ -4113,6 +4286,162 @@ sub install { return !! $close_ok; } +sub blib_pm_walk { + my @queue = grep { -e $_ } File::Spec->catdir("blib","lib"), File::Spec->catdir("blib","arch"); + return sub { + LOOP: { + if (@queue) { + my $file = shift @queue; + if (-d $file) { + my $dh; + opendir $dh, $file or next; + my @newfiles = map { + my @ret; + my $maybedir = File::Spec->catdir($file, $_); + if (-d $maybedir) { + unless (File::Spec->catdir("blib","arch","auto") eq $maybedir) { + # prune the blib/arch/auto directory, no pm files there + @ret = $maybedir; + } + } elsif (/\.pm$/) { + my $mustbefile = File::Spec->catfile($file, $_); + if (-f $mustbefile) { + @ret = $mustbefile; + } + } + @ret; + } grep { + $_ ne "." + && $_ ne ".." + } readdir $dh; + push @queue, @newfiles; + redo LOOP; + } else { + return $file; + } + } else { + return; + } + } + }; +} + +sub _allow_installing { + my($self) = @_; + my $id = my $pretty_id = $self->pretty_id; + if ($self->{CALLED_FOR}) { + $id .= " (called for $self->{CALLED_FOR})"; + } + my $allow_down = CPAN::HandleConfig->prefs_lookup($self,q{allow_installing_module_downgrades}); + $allow_down ||= "ask/yes"; + my $allow_outdd = CPAN::HandleConfig->prefs_lookup($self,q{allow_installing_outdated_dists}); + $allow_outdd ||= "ask/yes"; + return 1 if + $allow_down eq "yes" + && $allow_outdd eq "yes"; + if (($allow_outdd ne "yes") && ! $CPAN::META->has_inst('CPAN::DistnameInfo')) { + return 1 if grep { $_ eq 'CPAN::DistnameInfo'} $self->containsmods; + if ($allow_outdd ne "yes") { + $CPAN::Frontend->mywarn("The current configuration of allow_installing_outdated_dists is '$allow_outdd', but for this option we would need 'CPAN::DistnameInfo' installed. Please install 'CPAN::DistnameInfo' as soon as possible. As long as we are not equipped with 'CPAN::DistnameInfo' this option does not take effect\n"); + $allow_outdd = "yes"; + } + } + return 1 if + $allow_down eq "yes" + && $allow_outdd eq "yes"; + my($dist_version, $dist_dist); + if ($allow_outdd ne "yes"){ + my $dni = CPAN::DistnameInfo->new($pretty_id); + $dist_version = $dni->version; + $dist_dist = $dni->dist; + } + my $iterator = blib_pm_walk(); + my(@down,@outdd); + while (my $file = $iterator->()) { + my $version = CPAN::Module->parse_version($file); + my($volume, $directories, $pmfile) = File::Spec->splitpath( $file ); + my @dirs = File::Spec->splitdir( $directories ); + my(@blib_plus1) = splice @dirs, 0, 2; + my($pmpath) = File::Spec->catfile(grep { length($_) } @dirs, $pmfile); + unless ($allow_down eq "yes") { + if (my $inst_file = $self->_file_in_path($pmpath, \@INC)) { + my $inst_version = CPAN::Module->parse_version($inst_file); + my $cmp = CPAN::Version->vcmp($version, $inst_version); + if ($cmp) { + if ($cmp < 0) { + push @down, { pmpath => $pmpath, version => $version, inst_version => $inst_version }; + } + } + if (@down) { + my $why = "allow_installing_module_downgrades: $id contains downgrading module(s) (e.g. '$down[0]{pmpath}' would downgrade installed '$down[0]{inst_version}' to '$down[0]{version}')"; + if (my($default) = $allow_down =~ m|^ask/(.+)|) { + $default = "yes" unless $default =~ /^(y|n)/i; + my $answer = CPAN::Shell::colorable_makemaker_prompt + ("$why. Do you want to allow installing it?", + $default, "colorize_warn"); + $allow_down = $answer =~ /^\s*y/i ? "yes" : "no"; + } + if ($allow_down eq "no") { + return (0, $why); + } + } + } + } + unless ($allow_outdd eq "yes") { + my @pmpath = (@dirs, $pmfile); + $pmpath[-1] =~ s/\.pm$//; + my $mo = CPAN::Shell->expand("Module",join "::", grep { length($_) } @pmpath); + if ($mo) { + my $cpan_version = $mo->cpan_version; + my $is_lower = CPAN::Version->vlt($version, $cpan_version); + my $other_dist; + if (my $mo_dist = $mo->distribution) { + $other_dist = $mo_dist->pretty_id; + my $dni = CPAN::DistnameInfo->new($other_dist); + if ($dni->dist eq $dist_dist){ + if (CPAN::Version->vgt($dni->version, $dist_version)) { + push @outdd, { + pmpath => $pmpath, + cpan_path => $dni->pathname, + dist_version => $dni->version, + dist_dist => $dni->dist, + }; + } + } + } + } + if (@outdd && $allow_outdd ne "yes") { + my $why = "allow_installing_outdated_dists: $id contains module(s) that are indexed on the CPAN with a different distro: (e.g. '$outdd[0]{pmpath}' is indexed with '$outdd[0]{cpan_path}')"; + if ($outdd[0]{dist_dist} eq $dist_dist) { + $why .= ", and this has a higher distribution-version, i.e. version '$outdd[0]{dist_version}' is higher than '$dist_version')"; + } + if (my($default) = $allow_outdd =~ m|^ask/(.+)|) { + $default = "yes" unless $default =~ /^(y|n)/i; + my $answer = CPAN::Shell::colorable_makemaker_prompt + ("$why. Do you want to allow installing it?", + $default, "colorize_warn"); + $allow_outdd = $answer =~ /^\s*y/i ? "yes" : "no"; + } + if ($allow_outdd eq "no") { + return (0, $why); + } + } + } + } + return 1; +} + +sub _file_in_path { # similar to CPAN::Module::_file_in_path + my($self,$pmpath,$incpath) = @_; + my($dir,@packpath); + foreach $dir (@$incpath) { + my $pmfile = File::Spec->catfile($dir,$pmpath); + if (-f $pmfile) { + return $pmfile; + } + } + return; +} sub introduce_myself { my($self) = @_; $CPAN::Frontend->myprint(sprintf(" %s\n",$self->pretty_id)); @@ -4361,6 +4690,8 @@ sub _should_report { die "_should_report() requires a 'phase' argument" if ! defined $phase; + return unless $CPAN::META->has_usable("CPAN::Reporter"); + # configured my $test_report = CPAN::HandleConfig->prefs_lookup($self, q{test_report}); diff --git a/Master/tlpkg/tlperl/lib/CPAN/FTP.pm b/Master/tlpkg/tlperl/lib/CPAN/FTP.pm index 6d9800e31b1..1688a118e4c 100644 --- a/Master/tlpkg/tlperl/lib/CPAN/FTP.pm +++ b/Master/tlpkg/tlperl/lib/CPAN/FTP.pm @@ -15,7 +15,7 @@ use vars qw($connect_to_internet_ok $Ua $Thesite $ThesiteURL $Themethod); use vars qw( $VERSION ); -$VERSION = "5.5011"; +$VERSION = "5.5012"; sub _plus_append_open { my($fh, $file) = @_; @@ -23,7 +23,7 @@ sub _plus_append_open { mkpath $parent_dir; my($cnt); until (open $fh, "+>>$file") { - next if $! == Errno::EAGAIN; # don't increment on EAGAIN + next if exists &Errno::EAGAIN && $! == &Errno::EAGAIN; # don't increment on EAGAIN $CPAN::Frontend->mydie("Could not open '$file' after 10000 tries: $!") if ++$cnt > 100000; sleep 0.0001; mkpath $parent_dir; @@ -34,6 +34,8 @@ sub _plus_append_open { # if they want to rewrite, they need to pass in a filehandle sub _ftp_statistics { my($self,$fh) = @_; + my $ftpstats_size = $CPAN::Config->{ftpstats_size}; + return if defined $ftpstats_size && $ftpstats_size <= 0; my $locktype = $fh ? LOCK_EX : LOCK_SH; # XXX On Windows flock() implements mandatory locking, so we can # XXX only use shared locking to still allow _yaml_load_file() to @@ -120,18 +122,23 @@ sub _add_to_statistics { my @debug; @debug = $time if $sdebug; my $fullstats = $self->_ftp_statistics($fh); - close $fh; + close $fh if $fh && defined(fileno($fh)); $fullstats->{history} ||= []; push @debug, scalar @{$fullstats->{history}} if $sdebug; push @debug, time if $sdebug; push @{$fullstats->{history}}, $stats; # YAML.pm 0.62 is unacceptably slow with 999; # YAML::Syck 0.82 has no noticable performance problem with 999; - my $ftpstats_size = $CPAN::Config->{ftpstats_size} || 99; + my $ftpstats_size = $CPAN::Config->{ftpstats_size}; + $ftpstats_size = 99 unless defined $ftpstats_size; my $ftpstats_period = $CPAN::Config->{ftpstats_period} || 14; while ( - @{$fullstats->{history}} > $ftpstats_size - || $time - $fullstats->{history}[0]{start} > 86400*$ftpstats_period + @{$fullstats->{history} || []} + && + ( + @{$fullstats->{history}} > $ftpstats_size + || $time - $fullstats->{history}[0]{start} > 86400*$ftpstats_period + ) ) { shift @{$fullstats->{history}} } diff --git a/Master/tlpkg/tlperl/lib/CPAN/FirstTime.pm b/Master/tlpkg/tlperl/lib/CPAN/FirstTime.pm index 49fa8ab7b95..af4a6d77591 100644 --- a/Master/tlpkg/tlperl/lib/CPAN/FirstTime.pm +++ b/Master/tlpkg/tlperl/lib/CPAN/FirstTime.pm @@ -9,8 +9,9 @@ use File::Basename (); use File::Path (); use File::Spec (); use CPAN::Mirrors (); +use CPAN::Version (); use vars qw($VERSION $auto_config); -$VERSION = "5.5311"; +$VERSION = "5.5314"; =head1 NAME @@ -37,6 +38,34 @@ my @podpara = split /\n\n/, <<'=back'; =over 2 +=item allow_installing_module_downgrades + +The CPAN shell can watch the C directories that are built up +before running C to determine whether the current +distribution will end up with modules being overwritten with decreasing module version numbers. It +can then let the build of this distro fail when it discovers a +downgrade. + +Do you want to allow installing distros with decreasing module +versions compared to what you have installed (yes, no, ask/yes, +ask/no)? + +=item allow_installing_outdated_dists + +The CPAN shell can watch the C directories that are built up +before running C to determine whether the current +distribution contains modules that are indexed with a distro with a +higher distro-version number than the current one. It can +then let the build of this distro fail when it would not represent the +most up-to-date version of the distro. + +Note: choosing anyhing but 'yes' for this option will need +Devel::DistnameInfo being installed for taking effect. + +Do you want to allow installing distros that are not indexed as the +highest distro-version for all contained modules (yes, no, ask/yes, +ask/no)? + =item auto_commit Normally CPAN.pm keeps config variables in memory and changes need to @@ -192,7 +221,8 @@ How many days shall we keep statistics about downloads? =item ftpstats_size Statistics about downloads are truncated by size and period -simultaneously. +simultaneously. Setting this to zero or negative disables download +statistics. How many items shall we keep in the statistics about downloads? @@ -567,6 +597,23 @@ regardless of the history using "force". Do you want to rely on the test report history (yes/no)? +=item urllist_ping_external + +When automatic selection of the nearest cpan mirrors is performed, +turn on the use of the external ping via Net::Ping::External. This is +recommended in the case the local network has a transparent proxy. + +Do you want to use the external ping command when autoselecting +mirrors? + +=item urllist_ping_verbose + +When automatic selection of the nearest cpan mirrors is performed, +this option can be used to turn on verbosity during the selection +process. + +Do you want to see verbosity turned on when autoselecting mirrors? + =item use_prompt_default When this is true, CPAN will set PERL_MM_USE_DEFAULT to a true @@ -1088,6 +1135,14 @@ sub init { my_dflt_prompt(mbuild_install_arg => "", $matcher); + for my $o (qw( + allow_installing_outdated_dists + allow_installing_module_downgrades + )) { + my_prompt_loop($o => 'ask/no', $matcher, + 'yes|no|ask/yes|ask/no'); + } + # #== use_prompt_default # @@ -1263,6 +1318,12 @@ sub init { # Allow matching but don't show during manual config if ($matcher) { + if ("urllist_ping_external" =~ $matcher) { + my_yn_prompt(urllist_ping_external => 0, $matcher); + } + if ("urllist_ping_verbose" =~ $matcher) { + my_yn_prompt(urllist_ping_verbose => 0, $matcher); + } if ("randomize_urllist" =~ $matcher) { my_dflt_prompt(randomize_urllist => 0, $matcher); } @@ -1450,7 +1511,7 @@ sub _do_pick_mirrors { $CPAN::Frontend->myprint($prompts{urls_intro}); # Only prompt for auto-pick if Net::Ping is new enough to do timings my $_conf = 'n'; - if ( $CPAN::META->has_usable("Net::Ping") && Net::Ping->VERSION gt '2.13') { + if ( $CPAN::META->has_usable("Net::Ping") && CPAN::Version->vgt(Net::Ping->VERSION, '2.13')) { $_conf = prompt($prompts{auto_pick}, "yes"); } else { prompt("Autoselection disabled due to Net::Ping missing or insufficient. Please press ENTER"); @@ -1678,7 +1739,6 @@ sub my_yn_prompt { my $default; defined($default = $CPAN::Config->{$item}) or $default = $dflt; - # $DB::single = 1; if (!$auto_config && (!$m || $item =~ /$m/)) { if (my $intro = $prompts{$item . "_intro"}) { $CPAN::Frontend->myprint($intro); @@ -1697,7 +1757,8 @@ sub my_prompt_loop { my $ans; if (!$auto_config && (!$m || $item =~ /$m/)) { - $CPAN::Frontend->myprint($prompts{$item . "_intro"}); + my $intro = $prompts{$item . "_intro"}; + $CPAN::Frontend->myprint($intro) if defined $intro; $CPAN::Frontend->myprint(" <$item>\n"); do { $ans = prompt($prompts{$item}, $default); } until $ans =~ /$ok/; @@ -1915,17 +1976,25 @@ sub auto_mirrored_by { my $mirrors = CPAN::Mirrors->new($local); my $cnt = 0; + my $callback_was_active = 0; my @best = $mirrors->best_mirrors( how_many => 3, callback => sub { + $callback_was_active++; $CPAN::Frontend->myprint("."); if ($cnt++>60) { $cnt=0; $CPAN::Frontend->myprint("\n"); } }, + $CPAN::Config->{urllist_ping_external} ? (external_ping => 1) : (), + $CPAN::Config->{urllist_ping_verbose} ? (verbose => 1) : (), ); - my $urllist = [ map { $_->http } @best ]; + my $urllist = [ + map { $_->http } + grep { $_ && ref $_ && $_->can('http') } + @best + ]; push @$urllist, grep { /^file:/ } @{$CPAN::Config->{urllist}}; - $CPAN::Frontend->myprint(" done!\n\n"); + $CPAN::Frontend->myprint(" done!\n\n") if $callback_was_active; return $urllist } diff --git a/Master/tlpkg/tlperl/lib/CPAN/HandleConfig.pm b/Master/tlpkg/tlperl/lib/CPAN/HandleConfig.pm index c72439f92cb..e24a969c11f 100644 --- a/Master/tlpkg/tlperl/lib/CPAN/HandleConfig.pm +++ b/Master/tlpkg/tlperl/lib/CPAN/HandleConfig.pm @@ -12,7 +12,7 @@ CPAN::HandleConfig - internal configuration handling for CPAN.pm =cut -$VERSION = "5.5008"; # see also CPAN::Config::VERSION at end of file +$VERSION = "5.5011"; # see also CPAN::Config::VERSION at end of file %can = ( commit => "Commit changes to disk", @@ -33,6 +33,8 @@ $VERSION = "5.5008"; # see also CPAN::Config::VERSION at end of file %keys = map { $_ => undef } ( + "allow_installing_module_downgrades", + "allow_installing_outdated_dists", "applypatch", "auto_commit", "build_cache", @@ -112,6 +114,8 @@ $VERSION = "5.5008"; # see also CPAN::Config::VERSION at end of file "trust_test_report_history", "unzip", "urllist", + "urllist_ping_verbose", + "urllist_ping_external", "use_prompt_default", "use_sqlite", "username", @@ -124,6 +128,8 @@ $VERSION = "5.5008"; # see also CPAN::Config::VERSION at end of file my %prefssupport = map { $_ => 1 } ( + "allow_installing_module_downgrades", + "allow_installing_outdated_dists", "build_requires_install_policy", "check_sigs", "make", @@ -751,7 +757,7 @@ sub prefs_lookup { return $distro->prefs->{cpanconfig}{$what}; } else { $CPAN::Frontend->mywarn("Warning: $what not yet officially ". - "supported for distroprefs, doing a normal lookup"); + "supported for distroprefs, doing a normal lookup\n"); return $CPAN::Config->{$what}; } } @@ -770,7 +776,7 @@ sub prefs_lookup { use strict; use vars qw($AUTOLOAD $VERSION); - $VERSION = "5.5008"; + $VERSION = "5.5011"; # formerly CPAN::HandleConfig was known as CPAN::Config sub AUTOLOAD { ## no critic diff --git a/Master/tlpkg/tlperl/lib/CPAN/Mirrors.pm b/Master/tlpkg/tlperl/lib/CPAN/Mirrors.pm index 29bb7216ffc..721ead2a85d 100644 --- a/Master/tlpkg/tlperl/lib/CPAN/Mirrors.pm +++ b/Master/tlpkg/tlperl/lib/CPAN/Mirrors.pm @@ -19,7 +19,7 @@ CPAN::Mirrors - Get CPAN mirror information and select a fast one my( $m ) = @_; printf "%s = %s\n", $m->hostname, $m->rtt }; - $mirrors->get_mirrors_timings( \@mirrors, $seen, $callback ); + $mirrors->get_mirrors_timings( \@mirrors, $seen, $callback, %args ); @mirrors = sort { $a->rtt <=> $b->rtt } @mirrors; @@ -34,12 +34,13 @@ CPAN::Mirrors - Get CPAN mirror information and select a fast one package CPAN::Mirrors; use strict; use vars qw($VERSION $urllist $silent); -$VERSION = "2.21"; +$VERSION = "2.27"; use Carp; use FileHandle; use Fcntl ":flock"; use Net::Ping (); +use CPAN::Version; =item new( LOCAL_FILE_NAME ) @@ -82,7 +83,7 @@ Return a list of continents based on those defined in F. sub continents { my ($self) = @_; - return sort keys %{$self->{geography}}; + return sort keys %{$self->{geography} || {}}; } =item countries( [CONTINENTS] ) @@ -99,7 +100,7 @@ sub countries { @continents = $self->continents unless @continents; my @countries; for my $c (@continents) { - push @countries, sort keys %{ $self->{geography}{$c} }; + push @countries, sort keys %{ $self->{geography}{$c} || {} }; } return @countries; } @@ -165,22 +166,25 @@ dynamic DNS to give a close mirror. =cut -sub default_mirror { 'http://www.cpan.org/' } +sub default_mirror { + CPAN::Mirrored::By->new({ http => 'http://www.cpan.org/'}); +} =item best_mirrors C checks for the best mirrors based on the list of continents you pass, or, without that, all continents, as defined by C. It pings each mirror, up to the value of -C. In list context, it returns up to C mirror. +C. In list context, it returns up to C mirrors. In scalar context, it returns the single best mirror. Arguments - how_many - the number of mirrors to return. Default: 1 - callback - a callback for find_best_continents - verbose - true or false on all the whining and moaning. Default: false - continents - an array ref of the continents to check + how_many - the number of mirrors to return. Default: 1 + callback - a callback for find_best_continents + verbose - true or false on all the whining and moaning. Default: false + continents - an array ref of the continents to check + external_ping - if true, use external ping via Net::Ping::External. Default: false If you don't specify the continents, C calls C to get the list of continents to check. @@ -188,6 +192,9 @@ C to get the list of continents to check. If you don't have L v2.13 or later, needed for timings, this returns the default mirror. +C should be set and then C needs +to be installed, if the local network has a transparent proxy. + =cut sub best_mirrors { @@ -197,10 +204,12 @@ sub best_mirrors { my $verbose = defined $args{verbose} ? $args{verbose} : 0; my $continents = $args{continents} || []; $continents = [$continents] unless ref $continents; + $args{external_ping} = 0 unless defined $args{external_ping}; + my $external_ping = $args{external_ping}; # Old Net::Ping did not do timings at all my $min_version = '2.13'; - unless( Net::Ping->VERSION gt $min_version ) { + unless( CPAN::Version->vgt(Net::Ping->VERSION, $min_version) ) { carp sprintf "Net::Ping version is %s (< %s). Returning %s", Net::Ping->VERSION, $min_version, $self->default_mirror; return $self->default_mirror; @@ -211,9 +220,10 @@ sub best_mirrors { if ( ! @$continents ) { print "Searching for the best continent ...\n" if $verbose; my @best_continents = $self->find_best_continents( - seen => $seen, - verbose => $verbose, - callback => $callback, + seen => $seen, + verbose => $verbose, + callback => $callback, + external_ping => $external_ping, ); # Only add enough continents to find enough mirrors @@ -225,12 +235,18 @@ sub best_mirrors { } } + return $self->default_mirror unless @$continents; print "Scanning " . join(", ", @$continents) . " ...\n" if $verbose; my $trial_mirrors = $self->get_n_random_mirrors_by_continents( 3 * $how_many, $continents->[0] ); - my $timings = $self->get_mirrors_timings( $trial_mirrors, $seen, $callback ); - return [] unless @$timings; + my $timings = $self->get_mirrors_timings( + $trial_mirrors, + $seen, + $callback, + %args, + ); + return $self->default_mirror unless @$timings; $how_many = @$timings if $how_many > @$timings; @@ -268,7 +284,7 @@ sub get_n_random_mirrors_by_continents { \@long_list; } -=item get_mirrors_timings( MIRROR_LIST, SEEN, CALLBACK ); +=item get_mirrors_timings( MIRROR_LIST, SEEN, CALLBACK, %ARGS ); Pings the listed mirrors and returns a list of mirrors sorted in ascending ping times. @@ -286,7 +302,7 @@ ping. =cut sub get_mirrors_timings { - my( $self, $mirror_list, $seen, $callback ) = @_; + my( $self, $mirror_list, $seen, $callback, %args ) = @_; $seen = {} unless defined $seen; croak "The mirror list argument must be an array reference" @@ -302,8 +318,9 @@ sub get_mirrors_timings { next unless eval{ $m->http }; if( $self->_try_a_ping( $seen, $m, ) ) { - my $ping = $m->ping; + my $ping = $m->ping(%args); next unless defined $ping; + # printf "m %s ping %s\n", $m, $ping; push @$timings, $m; $callback->( $m ) if $callback; } @@ -367,20 +384,21 @@ value. sub find_best_continents { my ($self, %args) = @_; - $args{n} ||= 3; + $args{n} ||= 3; $args{verbose} = 0 unless defined $args{verbose}; $args{seen} = {} unless defined $args{seen}; croak "The seen argument must be a hash reference" unless ref $args{seen} eq ref {}; $args{ping_cache_limit} = 24 * 60 * 60 - unless defined $args{ping_cache_time}; + unless defined $args{ping_cache_limit}; croak "callback must be a subroutine" if( defined $args{callback} and ref $args{callback} ne ref sub {} ); my %medians; CONT: for my $c ( $self->continents ) { - print "Testing $c\n" if $args{verbose}; my @mirrors = $self->mirrors( $self->countries($c) ); + printf "Testing %s (%d mirrors)\n", $c, scalar @mirrors + if $args{verbose}; next CONT unless @mirrors; my $n = (@mirrors < $args{n}) ? @mirrors : $args{n}; @@ -389,11 +407,18 @@ sub find_best_continents { my $tries = 0; RANDOM: while ( @mirrors && @tests < $n && $tries++ < 15 ) { my $m = splice( @mirrors, int(rand(@mirrors)), 1 ); - if( $self->_try_a_ping( $args{seen}, $m, $args{ping_cache_limit} ) ) { - $self->get_mirrors_timings( [ $m ], $args{seen}, $args{callback} ); + if( $self->_try_a_ping( + $args{seen}, $m, $args{ping_cache_limit} + )) { + $self->get_mirrors_timings( + [ $m ], + $args{seen}, + $args{callback}, + %args, + ); next RANDOM unless defined $args{seen}{$m->hostname}->rtt; } - printf "\t%s -> %0.2f ms\n", + printf "(%s -> %0.2f ms)", $m->hostname, join ' ', 1000 * $args{seen}{$m->hostname}->rtt if $args{verbose}; @@ -409,8 +434,12 @@ sub find_best_continents { if ( $args{verbose} ) { print "Median result by continent:\n"; - for my $c ( @best_cont ) { - printf( " %4d ms %s\n", int($medians{$c}*1000+.5), $c ); + if ( @best_cont ) { + for my $c ( @best_cont ) { + printf( " %7.2f ms %s\n", $medians{$c}*1000, $c ); + } + } else { + print " **** No results found ****\n" } } @@ -421,12 +450,14 @@ sub find_best_continents { sub _try_a_ping { my ($self, $seen, $mirror, $ping_cache_limit ) = @_; - ( ! exists $seen->{$mirror->hostname} ) + ( ! exists $seen->{$mirror->hostname} or - ( ! defined $seen->{$mirror->hostname}->rtt - or - time - $seen->{$mirror->hostname}->rtt > $ping_cache_limit + or + ! defined $ping_cache_limit + or + time - $seen->{$mirror->hostname}->ping_time + > $ping_cache_limit ) } @@ -445,7 +476,13 @@ sub _get_median_ping_time { } }; - printf "\t-->median time: %0.2f ms\n", $median * 1000 if $verbose; + if ($verbose){ + if ($median) { + printf " => median time: %.2f ms\n", $median * 1000 + } else { + printf " => **** no median time ****\n"; + } + } return $median; } @@ -546,9 +583,17 @@ sub url { } sub ping { - my $self = shift; + my($self, %args) = @_; - my $ping = Net::Ping->new($^O eq 'VMS' ? 'icmp' : 'tcp', 1); + my $external_ping = $args{external_ping}; + if ($external_ping) { + eval { require Net::Ping::External } + or die "Net::Ping::External required to use external ping command"; + } + my $ping = Net::Ping->new( + $external_ping ? 'external' : $^O eq 'VMS' ? 'icmp' : 'tcp', + 1 + ); my ($proto) = $self->url =~ m{^([^:]+)}; my $port = $proto eq 'http' ? 80 : 21; return unless $port; @@ -561,7 +606,11 @@ sub ping { } $ping->hires(1) if $ping->can('hires'); - my ($alive,$rtt) = $ping->ping($self->hostname); + my ($alive,$rtt) = eval { $ping->ping($self->hostname); }; + my $verbose = $args{verbose}; + if ($verbose && !$alive) { + printf "(host %s not alive)", $self->hostname; + } $self->{rtt} = $alive ? $rtt : undef; $self->{ping_time} = time; diff --git a/Master/tlpkg/tlperl/lib/CPAN/Queue.pm b/Master/tlpkg/tlperl/lib/CPAN/Queue.pm index 8027d22d3b2..259e47e05f7 100644 --- a/Master/tlpkg/tlperl/lib/CPAN/Queue.pm +++ b/Master/tlpkg/tlperl/lib/CPAN/Queue.pm @@ -72,7 +72,7 @@ package CPAN::Queue; # in CPAN::Distribution::rematein. use vars qw{ @All $VERSION }; -$VERSION = "5.5002"; +$VERSION = "5.5003"; # CPAN::Queue::queue_item ; sub queue_item { @@ -207,6 +207,17 @@ sub reqtype_of { return $best; } +sub iterator { + my $i = 0; + return sub { + until ($All[$i] || $i > $#All) { + $i++; + } + return if $i > $#All; + return $All[$i++] + }; +} + 1; __END__ diff --git a/Master/tlpkg/tlperl/lib/CPAN/Shell.pm b/Master/tlpkg/tlperl/lib/CPAN/Shell.pm index b5d88924df9..4140fb8af23 100644 --- a/Master/tlpkg/tlperl/lib/CPAN/Shell.pm +++ b/Master/tlpkg/tlperl/lib/CPAN/Shell.pm @@ -47,7 +47,7 @@ use vars qw( "CPAN/Tarzip.pm", "CPAN/Version.pm", ); -$VERSION = "5.5008"; +$VERSION = "5.5009"; # record the initial timestamp for reload. $reload = { map {$INC{$_} ? ($_,(stat $INC{$_})[9]) : ()} @relo }; @CPAN::Shell::ISA = qw(CPAN::Debug); @@ -1611,9 +1611,10 @@ sub mydie { # sub CPAN::Shell::colorable_makemaker_prompt ; sub colorable_makemaker_prompt { - my($foo,$bar) = @_; + my($foo,$bar,$ornament) = @_; + $ornament ||= "colorize_print"; if (CPAN::Shell->colorize_output) { - my $ornament = $CPAN::Config->{colorize_print}||'bold blue on_white'; + my $ornament = $CPAN::Config->{$ornament}||'bold blue on_white'; my $color_on = eval { Term::ANSIColor::color($ornament); } || ""; print $color_on; } @@ -1867,7 +1868,7 @@ to find objects with matching identifiers. } } if (UNIVERSAL::can($obj, 'called_for')) { - $obj->called_for($s); + $obj->called_for($s) unless $obj->called_for; } CPAN->debug(qq{pragma[@pragma]meth[$meth]}. qq{ID[$obj->{ID}]}) if $CPAN::DEBUG; diff --git a/Master/tlpkg/tlperl/lib/CPAN/Tarzip.pm b/Master/tlpkg/tlperl/lib/CPAN/Tarzip.pm index f585a01bf72..6517cb8fd72 100644 --- a/Master/tlpkg/tlperl/lib/CPAN/Tarzip.pm +++ b/Master/tlpkg/tlperl/lib/CPAN/Tarzip.pm @@ -4,7 +4,7 @@ use strict; use vars qw($VERSION @ISA $BUGHUNTING); use CPAN::Debug; use File::Basename qw(basename); -$VERSION = "5.5012"; +$VERSION = "5.5013"; # module is internal to CPAN.pm @ISA = qw(CPAN::Debug); ## no critic @@ -41,6 +41,11 @@ CPAN shell prompt to register it as external program. bless $me, $class; } +sub _zlib_ok () { + $CPAN::META->has_inst("Compress::Zlib") or return; + Compress::Zlib->can('gzopen'); +} + sub _my_which { my($what) = @_; if ($CPAN::Config->{$what}) { @@ -66,7 +71,7 @@ sub _my_which { sub gzip { my($self,$read) = @_; my $write = $self->{FILE}; - if ($CPAN::META->has_inst("Compress::Zlib")) { + if (_zlib_ok) { my($buffer,$fhw); $fhw = FileHandle->new($read) or $CPAN::Frontend->mydie("Could not open $read: $!"); @@ -89,7 +94,7 @@ sub gzip { sub gunzip { my($self,$write) = @_; my $read = $self->{FILE}; - if ($CPAN::META->has_inst("Compress::Zlib")) { + if (_zlib_ok) { my($buffer,$fhw); $fhw = FileHandle->new(">$write") or $CPAN::Frontend->mydie("Could not open >$write: $!"); @@ -120,7 +125,7 @@ sub gtest { my($buffer,$len); $len = 0; my $gz = Compress::Bzip2::bzopen($read, "rb") - or $CPAN::Frontend->mydie(sprintf("Cannot gzopen %s: %s\n", + or $CPAN::Frontend->mydie(sprintf("Cannot bzopen %s: %s\n", $read, $Compress::Bzip2::bzerrno)); while ($gz->bzread($buffer) > 0 ) { @@ -135,7 +140,7 @@ sub gtest { } $gz->gzclose(); CPAN->debug("err[$err]success[$success]") if $CPAN::DEBUG; - } elsif ( $read=~/\.(?:gz|tgz)$/ && $CPAN::META->has_inst("Compress::Zlib") ) { + } elsif ( $read=~/\.(?:gz|tgz)$/ && _zlib_ok ) { # After I had reread the documentation in zlib.h, I discovered that # uncompressed files do not lead to an gzerror (anymore?). my($buffer,$len); @@ -183,7 +188,7 @@ sub TIEHANDLE { $CPAN::Frontend->mydie("Could not bzopen $file"); $self->{GZ} = $gz; $class->debug("via Compress::Bzip2"); - } elsif ($file =~/\.(?:gz|tgz)$/ && $CPAN::META->has_inst("Compress::Zlib")) { + } elsif ($file =~/\.(?:gz|tgz)$/ && _zlib_ok) { my $gz = Compress::Zlib::gzopen($file,"rb") or $CPAN::Frontend->mydie("Could not gzopen $file"); $self->{GZ} = $gz; @@ -260,7 +265,7 @@ sub untar { } elsif ( $CPAN::META->has_usable("Archive::Tar") && - $CPAN::META->has_inst("Compress::Zlib") ) { + _zlib_ok ) { my $prefer_external_tar = $CPAN::Config->{prefer_external_tar}; unless (defined $prefer_external_tar) { if ($^O =~ /(MSWin32|solaris)/) { @@ -294,7 +299,7 @@ END_WARN $foundAT = "nothing"; } my $foundCZ; - if ($CPAN::META->has_inst("Compress::Zlib")) { + if (_zlib_ok) { $foundCZ = sprintf "'%s'", "Compress::Zlib::"->VERSION; } elsif ($foundAT) { $foundCZ = "nothing"; diff --git a/Master/tlpkg/tlperl/lib/Class/Struct.pm b/Master/tlpkg/tlperl/lib/Class/Struct.pm index 0aaab519b73..c593dc7c390 100644 --- a/Master/tlpkg/tlperl/lib/Class/Struct.pm +++ b/Master/tlpkg/tlperl/lib/Class/Struct.pm @@ -14,7 +14,7 @@ require Exporter; @ISA = qw(Exporter); @EXPORT = qw(struct); -$VERSION = '0.65'; +$VERSION = '0.66'; my $print = 0; sub printem { @@ -375,7 +375,7 @@ on the declared type of the element. =item Scalar (C<'$'> or C<'*$'>) The element is a scalar, and by default is initialized to C -(but see L). +(but see L). The accessor's argument, if any, is assigned to the element. diff --git a/Master/tlpkg/tlperl/lib/Compress/Raw/Bzip2.pm b/Master/tlpkg/tlperl/lib/Compress/Raw/Bzip2.pm index 8165115ea36..2aa14188d7e 100644 --- a/Master/tlpkg/tlperl/lib/Compress/Raw/Bzip2.pm +++ b/Master/tlpkg/tlperl/lib/Compress/Raw/Bzip2.pm @@ -11,7 +11,7 @@ use Carp ; use bytes ; our ($VERSION, $XS_VERSION, @ISA, @EXPORT, $AUTOLOAD); -$VERSION = '2.084'; +$VERSION = '2.093'; $XS_VERSION = $VERSION; $VERSION = eval $VERSION; @@ -354,6 +354,12 @@ The following bzip2 constants are exported by this module BZ_OUTBUFF_FULL BZ_CONFIG_ERROR +=head1 SUPPORT + +General feedback/questions/bug reports should be sent to +L (preferred) or +L. + =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L @@ -364,7 +370,7 @@ L, L, L, L -The primary site for the bzip2 program is L. +The primary site for the bzip2 program is L. See the module L diff --git a/Master/tlpkg/tlperl/lib/Compress/Raw/Zlib.pm b/Master/tlpkg/tlperl/lib/Compress/Raw/Zlib.pm index 4c369738981..cf7126b4238 100644 --- a/Master/tlpkg/tlperl/lib/Compress/Raw/Zlib.pm +++ b/Master/tlpkg/tlperl/lib/Compress/Raw/Zlib.pm @@ -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.084'; +$VERSION = '2.093'; $XS_VERSION = $VERSION; $VERSION = eval $VERSION; @@ -1557,6 +1557,12 @@ C. All the I constants are automatically imported when you make use of I. +=head1 SUPPORT + +General feedback/questions/bug reports should be sent to +L (preferred) or +L. + =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L diff --git a/Master/tlpkg/tlperl/lib/Compress/Zlib.pm b/Master/tlpkg/tlperl/lib/Compress/Zlib.pm index ce79d7d1132..4a0aae6c4bc 100644 --- a/Master/tlpkg/tlperl/lib/Compress/Zlib.pm +++ b/Master/tlpkg/tlperl/lib/Compress/Zlib.pm @@ -7,17 +7,17 @@ use Carp ; use IO::Handle ; use Scalar::Util qw(dualvar); -use IO::Compress::Base::Common 2.084 ; -use Compress::Raw::Zlib 2.084 ; -use IO::Compress::Gzip 2.084 ; -use IO::Uncompress::Gunzip 2.084 ; +use IO::Compress::Base::Common 2.093 ; +use Compress::Raw::Zlib 2.093 ; +use IO::Compress::Gzip 2.093 ; +use IO::Uncompress::Gunzip 2.093 ; use strict ; use warnings ; use bytes ; our ($VERSION, $XS_VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS); -$VERSION = '2.084'; +$VERSION = '2.093'; $XS_VERSION = $VERSION; $VERSION = eval $VERSION; @@ -224,7 +224,7 @@ sub Compress::Zlib::gzFile::gzseek my $gz = $self->[0] ; my $status ; - eval { $status = $gz->seek($offset, $whence) ; }; + eval { local $SIG{__DIE__}; $status = $gz->seek($offset, $whence) ; }; if ($@) { my $error = $@; @@ -461,7 +461,7 @@ sub inflate package Compress::Zlib ; -use IO::Compress::Gzip::Constants 2.084 ; +use IO::Compress::Gzip::Constants 2.093 ; sub memGzip($) { @@ -1467,6 +1467,12 @@ Returns the version of the zlib library. All the I constants are automatically imported when you make use of I. +=head1 SUPPORT + +General feedback/questions/bug reports should be sent to +L (preferred) or +L. + =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L diff --git a/Master/tlpkg/tlperl/lib/Config.pm b/Master/tlpkg/tlperl/lib/Config.pm index 950895317c0..14a86e30389 100644 --- a/Master/tlpkg/tlperl/lib/Config.pm +++ b/Master/tlpkg/tlperl/lib/Config.pm @@ -10,7 +10,7 @@ use strict; use warnings; our ( %Config, $VERSION ); -$VERSION = "5.030001"; +$VERSION = "5.032001"; # Skip @Config::EXPORT because it only contains %Config, which we special # case below as it's not a function. @Config::EXPORT won't change in the @@ -56,11 +56,11 @@ sub import { return; } -die "$0: Perl lib version (5.30.1) doesn't match executable '$^X' version ($])" +die "$0: Perl lib version (5.32.1) doesn't match executable '$^X' version ($])" unless $^V; -$^V eq 5.30.1 - or die sprintf "%s: Perl lib version (5.30.1) doesn't match executable '$^X' version (%vd)", $0, $^V; +$^V eq 5.32.1 + or die sprintf "%s: Perl lib version (5.32.1) doesn't match executable '$^X' version (%vd)", $0, $^V; sub FETCH { @@ -85,7 +85,7 @@ sub AUTOLOAD { my $rootdir = __FILE__; $rootdir =~ s![\\/][^\\/]*[\\/][^\\/]*$!!; $rootdir =~ s!/!\\!g; -my $mingdir = "D:\\mingw2020"; +my $mingdir = "E:\\wprogs\\mingw2021"; # tie returns the object, so the value returned to require will be true. tie %Config, 'Config', { @@ -103,7 +103,7 @@ tie %Config, 'Config', { ldlibpthname => '', libpth => "$mingdir\\lib", osname => 'MSWin32', - osvers => '10.0.18363.418', + osvers => '10.0.19042.804', path_sep => ';', privlibexp => "$rootdir\\lib", scriptdir => "$rootdir\\bin", @@ -112,5 +112,5 @@ tie %Config, 'Config', { so => 'dll', useithreads => 'define', usevendorprefix => undef, - version => '5.30.1', + version => '5.32.1', }; diff --git a/Master/tlpkg/tlperl/lib/Config.pm.orig b/Master/tlpkg/tlperl/lib/Config.pm.orig index 4e20854c990..db56185dee9 100644 --- a/Master/tlpkg/tlperl/lib/Config.pm.orig +++ b/Master/tlpkg/tlperl/lib/Config.pm.orig @@ -10,7 +10,7 @@ use strict; use warnings; our ( %Config, $VERSION ); -$VERSION = "5.030001"; +$VERSION = "5.032001"; # Skip @Config::EXPORT because it only contains %Config, which we special # case below as it's not a function. @Config::EXPORT won't change in the @@ -56,11 +56,11 @@ sub import { return; } -die "$0: Perl lib version (5.30.1) doesn't match executable '$^X' version ($])" +die "$0: Perl lib version (5.32.1) doesn't match executable '$^X' version ($])" unless $^V; -$^V eq 5.30.1 - or die sprintf "%s: Perl lib version (5.30.1) doesn't match executable '$^X' version (%vd)", $0, $^V; +$^V eq 5.32.1 + or die sprintf "%s: Perl lib version (5.32.1) doesn't match executable '$^X' version (%vd)", $0, $^V; sub FETCH { @@ -84,7 +84,7 @@ sub AUTOLOAD { # tie returns the object, so the value returned to require will be true. tie %Config, 'Config', { - archlibexp => 'd:\\tlperl\\lib', + archlibexp => 'e:\\tlperl\\lib', archname => 'MSWin32-x86-multi-thread', cc => 'gcc', d_readlink => undef, @@ -96,16 +96,16 @@ tie %Config, 'Config', { inc_version_list => '', intsize => '4', ldlibpthname => '', - libpth => 'D:\\mingw2020\\lib', + libpth => 'E:\\wprogs\\mingw2021\\lib', osname => 'MSWin32', - osvers => '10.0.18363.418', + osvers => '10.0.19042.804', path_sep => ';', - privlibexp => 'd:\\tlperl\\lib', - scriptdir => 'd:\\tlperl\\bin', - sitearchexp => 'd:\\tlperl\\site\\lib', - sitelibexp => 'd:\\tlperl\\site\\lib', + privlibexp => 'e:\\tlperl\\lib', + scriptdir => 'e:\\tlperl\\bin', + sitearchexp => 'e:\\tlperl\\site\\lib', + sitelibexp => 'e:\\tlperl\\site\\lib', so => 'dll', useithreads => 'define', usevendorprefix => undef, - version => '5.30.1', + version => '5.32.1', }; diff --git a/Master/tlpkg/tlperl/lib/Config.pod b/Master/tlpkg/tlperl/lib/Config.pod index 8a6b4068e5a..cbb4fcd8f63 100644 --- a/Master/tlpkg/tlperl/lib/Config.pod +++ b/Master/tlpkg/tlperl/lib/Config.pod @@ -1,5 +1,7 @@ =head1 NAME +=for comment Generated by configpm. Any changes made here will be lost! + Config - access Perl configuration information =head1 SYNOPSIS @@ -150,8 +152,6 @@ in such cases. =over 4 -=cut - =item C<_a> From F: @@ -179,14 +179,10 @@ values include F<.obj>. =back -=cut - =head2 a =over 4 -=cut - =item C From F: @@ -346,14 +342,10 @@ the value is reset to a plain C and is not useful. =back -=cut - =head2 b =over 4 -=cut - =item C From F: @@ -418,14 +410,10 @@ or 87654321 on a Cray ... or 3412 with weird order ! =back -=cut - =head2 c =over 4 -=cut - =item C From F: @@ -772,14 +760,10 @@ is defined. =back -=cut - =head2 d =over 4 -=cut - =item C From F: @@ -3583,7 +3567,7 @@ From F: This variable conditionally defines the C symbol, which indicates to the C program that the re_comp() routine is available -for regular patern matching (usally on C). If so, it is likely that +for regular pattern matching (usually on C). If so, it is likely that re_exec() exists. =item C @@ -3637,7 +3621,7 @@ From F: This variable conditionally defines the C symbol, which indicates to the C program that the regcmp() routine is available -for regular patern matching (usally on System V). +for regular pattern matching (usually on System V). =item C @@ -3645,7 +3629,7 @@ From F: This variable conditionally defines the C symbol, which indicates to the C program that the regcomp() routine is available -for regular patern matching (usally on F conforming systems). +for regular pattern matching (usually on F conforming systems). =item C @@ -4689,14 +4673,14 @@ provided on C systems. You may have to include . From F: This variable conditionally defines C, which indicates -indicates to the C program that the struct tm has the tm_gmtoff field. +to the C program that the struct tm has the tm_gmtoff field. =item C From F: This variable conditionally defines C, which indicates -indicates to the C program that the struct tm has the tm_zone field. +to the C program that the struct tm has the tm_zone field. =item C @@ -5146,14 +5130,10 @@ link dynamically into the package. It is used by Makefile. =back -=cut - =head2 e =over 4 -=cut - =item C From F: @@ -5292,14 +5272,10 @@ This variable holds a list of extra modules to install. =back -=cut - =head2 f =over 4 -=cut - =item C From F: @@ -5401,14 +5377,10 @@ F =back -=cut - =head2 g =over 4 -=cut - =item C From F: @@ -5710,14 +5682,10 @@ the value is reset to a plain C and is not useful. =back -=cut - =head2 h =over 4 -=cut - =item C From F: @@ -5811,14 +5779,10 @@ expanded at configuration time, for convenient use in makefiles. =back -=cut - =head2 i =over 4 -=cut - =item C From F: @@ -6839,14 +6803,10 @@ This variable contains the C type used for Perl's C. =back -=cut - =head2 k =over 4 -=cut - =item C From F: @@ -6867,14 +6827,10 @@ The value is the empty string and is not useful. =back -=cut - =head2 l =over 4 -=cut - =item C From F: @@ -7182,14 +7138,10 @@ kernel (which also appears to be lseek's return type). =back -=cut - =head2 m =over 4 -=cut - =item C From F: @@ -7402,14 +7354,10 @@ removed. =back -=cut - =head2 n =over 4 -=cut - =item C From F: @@ -7584,14 +7532,10 @@ This variable contains the C type used for Perl's C. =back -=cut - =head2 o =over 4 -=cut - =item C From F: @@ -7668,14 +7612,10 @@ for the next run through Configure. =back -=cut - =head2 p =over 4 -=cut - =item C From F: @@ -7734,14 +7674,10 @@ to determine inc_version_list. =back -=cut - =head2 P =over 4 -=cut - =item C From F: @@ -7957,14 +7893,10 @@ indicates to the C program how many bytes there are in a pointer. =back -=cut - =head2 q =over 4 -=cut - =item C From F: @@ -7981,14 +7913,10 @@ long long, int64_t, or whatever type is used for 64-bit integers. =back -=cut - =head2 r =over 4 -=cut - =item C From F: @@ -8104,14 +8032,10 @@ of usenm and the flags on the Configure command line. =back -=cut - =head2 s =over 4 -=cut - =item C From F: @@ -8938,14 +8862,10 @@ is generally used when cross-compiling using a gcc-like compiler. =back -=cut - =head2 t =over 4 -=cut - =item C From F: @@ -9113,14 +9033,10 @@ is defined. =back -=cut - =head2 u =over 4 -=cut - =item C From F: @@ -9544,14 +9460,10 @@ a Perl C as an unsigned hexadecimal integer in uppercase C. =back -=cut - =head2 v =over 4 -=cut - =item C From F: @@ -9773,14 +9685,10 @@ The value is the empty string and is not useful. =back -=cut - =head2 x =over 4 -=cut - =item C From F: @@ -9791,14 +9699,10 @@ libraries on this platform, for example C-specific libraries =back -=cut - =head2 y =over 4 -=cut - =item C From F: @@ -9815,14 +9719,10 @@ user. It is up to the Makefile to use this. =back -=cut - =head2 z =over 4 -=cut - =item C From F: diff --git a/Master/tlpkg/tlperl/lib/Config_heavy.pl b/Master/tlpkg/tlperl/lib/Config_heavy.pl index b5dc528f3d6..c1b1f9aa437 100644 --- a/Master/tlpkg/tlperl/lib/Config_heavy.pl +++ b/Master/tlpkg/tlperl/lib/Config_heavy.pl @@ -160,7 +160,7 @@ sub myconfig { my $rootdir = __FILE__; $rootdir =~ s![\\/][^\\/]*[\\/][^\\/]*$!!; $rootdir =~ s!/!\\!g; -my $mingdir = "D:\\mingw2020"; +my $mingdir = "E:\\wprogs\\mingw2021"; local *_ = \my $a; $_ = <<"!END!"; @@ -171,15 +171,15 @@ Header='' Id='\$Id' Locker='' Log='\$Log' -PATCHLEVEL='30' +PATCHLEVEL='32' PERL_API_REVISION='5' PERL_API_SUBVERSION='0' -PERL_API_VERSION='30' +PERL_API_VERSION='32' PERL_CONFIG_SH='true' PERL_PATCHLEVEL='' PERL_REVISION='5' PERL_SUBVERSION='1' -PERL_VERSION='30' +PERL_VERSION='32' RCSfile='\$RCSfile' Revision='\$Revision' SUBVERSION='1' @@ -194,8 +194,8 @@ alignbytes='8' aphostname='' api_revision='5' api_subversion='0' -api_version='30' -api_versionstring='5.30.0' +api_version='32' +api_versionstring='5.32.0' ar='ar' archlib='$rootdir\\lib' archlibexp='$rootdir\\lib' @@ -218,14 +218,14 @@ cat='type' cc='gcc' cccdlflags=' ' ccdlflags=' ' -ccflags=' -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields' +ccflags=' -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DWIN32_NO_REGISTRY -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields' ccflags_uselargefiles='' ccname='gcc' ccsymbols='' ccversion='' cf_by='siepo' cf_email='tex-live\@tug.org' -cf_time='Wed Mar 4 17:19:06 2020' +cf_time='Tue Feb 23 20:23:57 2021' charbits='8' chgrp='' chmod='' @@ -278,6 +278,7 @@ d_asinh='define' d_atanh='define' d_atolf='undef' d_atoll='undef' +d_attribute_always_inline='undef' d_attribute_deprecated='undef' d_attribute_format='undef' d_attribute_malloc='undef' @@ -701,6 +702,7 @@ d_sitearch='define' d_snprintf='define' d_sockaddr_in6='undef' d_sockaddr_sa_len='undef' +d_sockaddr_storage='define' d_sockatmark='undef' d_sockatmarkproto='undef' d_socket='define' @@ -793,6 +795,7 @@ d_voidtty='' d_vsnprintf='define' d_wait4='undef' d_waitpid='define' +d_wcrtomb='undef' d_wcscmp='define' d_wcstombs='define' d_wcsxfrm='define' @@ -818,7 +821,7 @@ doublesize='8' drand01='Perl_drand48()' drand48_r_proto='0' dtrace='' -dynamic_ext='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash I18N/Langinfo IO List/Util MIME/Base64 Math/BigInt/FastCalc Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize Win32 Win32API/File XS/APItest XS/Typemap attributes mro re threads threads/shared' +dynamic_ext='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash I18N/Langinfo IO List/Util MIME/Base64 Math/BigInt/FastCalc Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize Win32 Win32API/File XS/APItest XS/Typemap attributes mro re threads threads/shared' eagain='EAGAIN' ebcdic='undef' echo='echo' @@ -833,7 +836,7 @@ endservent_r_proto='0' eunicefix=':' exe_ext='.exe' expr='expr' -extensions='Archive/Tar Attribute/Handlers AutoLoader B CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Compress/Raw/Bzip2 Compress/Raw/Zlib Config/Perl/V Cwd Data/Dumper Devel/PPPort Devel/Peek Devel/SelfStubber Digest Digest/MD5 Digest/SHA Dumpvalue Encode Env Errno Exporter ExtUtils/CBuilder ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS Fcntl File/DosGlob File/Fetch File/Find File/Glob File/Path File/Temp FileCache Filter/Simple Filter/Util/Call Getopt/Long HTTP/Tiny Hash/Util Hash/Util/FieldHash I18N/Collate I18N/LangTags I18N/Langinfo IO IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP List/Util Locale/Maketext Locale/Maketext/Simple MIME/Base64 Math/BigInt Math/BigInt/FastCalc Math/BigRat Math/Complex Memoize Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NEXT Net/Ping Opcode POSIX Params/Check Perl/OSType PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage SDBM_File Safe Search/Dict SelfLoader Socket Storable Sys/Hostname Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Hash/NamedCapture Tie/Memoize Tie/RefHash Time/HiRes Time/Local Time/Piece Unicode/Collate Unicode/Normalize Win32 Win32API/File Win32CORE XS/APItest XS/Typemap XSLoader attributes autodie autouse base bignum constant encoding/warnings experimental if lib libnet mro parent perlfaq podlators re threads threads/shared version' +extensions='Archive/Tar Attribute/Handlers AutoLoader B CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Compress/Raw/Bzip2 Compress/Raw/Zlib Config/Perl/V Cwd Data/Dumper Devel/PPPort Devel/Peek Devel/SelfStubber Digest Digest/MD5 Digest/SHA Dumpvalue Encode Env Errno Exporter ExtUtils/CBuilder ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS Fcntl File/DosGlob File/Fetch File/Find File/Glob File/Path File/Temp FileCache Filter/Simple Filter/Util/Call FindBin Getopt/Long HTTP/Tiny Hash/Util Hash/Util/FieldHash I18N/Collate I18N/LangTags I18N/Langinfo IO IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP List/Util Locale/Maketext Locale/Maketext/Simple MIME/Base64 Math/BigInt Math/BigInt/FastCalc Math/BigRat Math/Complex Memoize Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NEXT Net/Ping Opcode POSIX Params/Check Perl/OSType PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Perldoc Pod/Simple Pod/Usage SDBM_File Safe Search/Dict SelfLoader Socket Storable Sys/Hostname Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Hash/NamedCapture Tie/Memoize Tie/RefHash Time/HiRes Time/Local Time/Piece Unicode/Collate Unicode/Normalize Win32 Win32API/File Win32CORE XS/APItest XS/Typemap XSLoader attributes autodie autouse base bignum constant encoding/warnings experimental if lib libnet mro parent perlfaq podlators re threads threads/shared version' extern_C='extern' extras='' fflushNULL='define' @@ -1025,7 +1028,7 @@ issymlink='' ivdformat='"ld"' ivsize='4' ivtype='long' -known_extensions='Amiga/ARexx Amiga/Exec Archive/Tar Attribute/Handlers AutoLoader B CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Compress/Raw/Bzip2 Compress/Raw/Zlib Config/Perl/V Cwd DB_File Data/Dumper Devel/PPPort Devel/Peek Devel/SelfStubber Digest Digest/MD5 Digest/SHA Dumpvalue Encode Env Errno Exporter ExtUtils/CBuilder ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS Fcntl File/DosGlob File/Fetch File/Find File/Glob File/Path File/Temp FileCache Filter/Simple Filter/Util/Call GDBM_File Getopt/Long HTTP/Tiny Hash/Util Hash/Util/FieldHash I18N/Collate I18N/LangTags I18N/Langinfo IO IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 IPC/SysV JSON/PP List/Util Locale/Maketext Locale/Maketext/Simple MIME/Base64 Math/BigInt Math/BigInt/FastCalc Math/BigRat Math/Complex Memoize Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NDBM_File NEXT Net/Ping ODBM_File Opcode POSIX Params/Check Perl/OSType PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage SDBM_File Safe Search/Dict SelfLoader Socket Storable Sys/Hostname Sys/Syslog Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Hash/NamedCapture Tie/Memoize Tie/RefHash Time/HiRes Time/Local Time/Piece Unicode/Collate Unicode/Normalize VMS/DCLsym VMS/Filespec VMS/Stdio Win32 Win32API/File Win32CORE XS/APItest XS/Typemap XSLoader attributes autodie autouse base bignum constant encoding/warnings experimental if lib libnet mro parent perlfaq podlators re threads threads/shared version' +known_extensions='Amiga/ARexx Amiga/Exec Archive/Tar Attribute/Handlers AutoLoader B CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Compress/Raw/Bzip2 Compress/Raw/Zlib Config/Perl/V Cwd DB_File Data/Dumper Devel/PPPort Devel/Peek Devel/SelfStubber Digest Digest/MD5 Digest/SHA Dumpvalue Encode Env Errno Exporter ExtUtils/CBuilder ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS Fcntl File/DosGlob File/Fetch File/Find File/Glob File/Path File/Temp FileCache Filter/Simple Filter/Util/Call FindBin GDBM_File Getopt/Long HTTP/Tiny Hash/Util Hash/Util/FieldHash I18N/Collate I18N/LangTags I18N/Langinfo IO IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 IPC/SysV JSON/PP List/Util Locale/Maketext Locale/Maketext/Simple MIME/Base64 Math/BigInt Math/BigInt/FastCalc Math/BigRat Math/Complex Memoize Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NDBM_File NEXT Net/Ping ODBM_File Opcode POSIX Params/Check Perl/OSType PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Perldoc Pod/Simple Pod/Usage SDBM_File Safe Search/Dict SelfLoader Socket Storable Sys/Hostname Sys/Syslog Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Hash/NamedCapture Tie/Memoize Tie/RefHash Time/HiRes Time/Local Time/Piece Unicode/Collate Unicode/Normalize VMS/DCLsym VMS/Filespec VMS/Stdio Win32 Win32API/File Win32CORE XS/APItest XS/Typemap XSLoader attributes autodie autouse base bignum constant encoding/warnings experimental if lib libnet mro parent perlfaq podlators re threads threads/shared version' ksh='' ld='g++' lddlflags='-mdll -s -L"$rootdir\\lib\\CORE" -L"$mingdir\\lib"' @@ -1035,7 +1038,7 @@ ldlibpthname='' less='less' lib_ext='.a' libc='' -libperl='libperl530.a' +libperl='libperl532.a' libpth='$mingdir\\lib' libs=' -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32' libsdirs='' @@ -1099,7 +1102,7 @@ netdb_net_type='long' nm='nm' nm_opt='' nm_so_opt='' -nonxs_ext='Archive/Tar Attribute/Handlers AutoLoader CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Config/Perl/V Devel/SelfStubber Digest Dumpvalue Env Errno Exporter ExtUtils/CBuilder ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS File/Fetch File/Find File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Maketext Locale/Maketext/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NEXT Net/Ping Params/Check Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local XSLoader autodie autouse base bignum constant encoding/warnings experimental if lib libnet parent perlfaq podlators version' +nonxs_ext='Archive/Tar Attribute/Handlers AutoLoader CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Config/Perl/V Devel/SelfStubber Digest Dumpvalue Env Errno Exporter ExtUtils/CBuilder ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS File/Fetch File/Find File/Path File/Temp FileCache Filter/Simple FindBin Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Maketext Locale/Maketext/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NEXT Net/Ping Params/Check Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Hash/NamedCapture Tie/Memoize Tie/RefHash Time/Local XSLoader autodie autouse base bignum constant encoding/warnings experimental if lib libnet parent perlfaq podlators version' nroff='' nvEUformat='"E"' nvFUformat='"F"' @@ -1118,12 +1121,12 @@ old_pthread_create_joinable='' optimize='-s -O2' orderlib='false' osname='MSWin32' -osvers='10.0.18363.418' +osvers='10.0.19042.804' otherlibdirs='' package='perl5' pager='more /e' passcat='' -patchlevel='30' +patchlevel='32' path_sep=';' perl='perl' perl5='' @@ -1347,8 +1350,8 @@ vendorprefix='' vendorprefixexp='' vendorscript='' vendorscriptexp='' -version='5.30.1' -version_patchlevel_string='version 30 subversion 1' +version='5.32.1' +version_patchlevel_string='version 32 subversion 1' versiononly='undef' vi='' xlibpth='/usr/lib/386 /lib/386' @@ -1366,8 +1369,8 @@ s/(byteorder=)(['"]).*?\2/$1$2$Config::byteorder$2/m; my $config_sh_len = length $_; our $Config_SH_expanded = "\n$_" . << 'EOVIRTUAL'; -ccflags_nolargefiles=' -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields' -ldflags_nolargefiles='-s -L\"$rootdir\\lib\\CORE\" -L\"$mingdir\\lib\"' +ccflags_nolargefiles=' -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DWIN32_NO_REGISTRY -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields' +ldflags_nolargefiles='-s -L\"$rootdir\\lib\\CORE" -L\"$mingdir\\lib\"' libs_nolargefiles='-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32' libswanted_nolargefiles='' EOVIRTUAL diff --git a/Master/tlpkg/tlperl/lib/Config_heavy.pl.orig b/Master/tlpkg/tlperl/lib/Config_heavy.pl.orig index 815cb85cc99..91ed13da8ef 100644 --- a/Master/tlpkg/tlperl/lib/Config_heavy.pl.orig +++ b/Master/tlpkg/tlperl/lib/Config_heavy.pl.orig @@ -66,7 +66,7 @@ sub header_files { util.h); } -### Configured by: tex-live@tug.org +### Configured by: siepo@DESKTOP-2H3JTBT ### Target system: WIN32 our $summary = <<'!END!'; @@ -166,15 +166,15 @@ Header='' Id='$Id' Locker='' Log='$Log' -PATCHLEVEL='30' +PATCHLEVEL='32' PERL_API_REVISION='5' PERL_API_SUBVERSION='0' -PERL_API_VERSION='30' +PERL_API_VERSION='32' PERL_CONFIG_SH='true' PERL_PATCHLEVEL='' PERL_REVISION='5' PERL_SUBVERSION='1' -PERL_VERSION='30' +PERL_VERSION='32' RCSfile='$RCSfile' Revision='$Revision' SUBVERSION='1' @@ -189,11 +189,11 @@ alignbytes='8' aphostname='' api_revision='5' api_subversion='0' -api_version='30' -api_versionstring='5.30.0' +api_version='32' +api_versionstring='5.32.0' ar='ar' -archlib='d:\tlperl\lib' -archlibexp='d:\tlperl\lib' +archlib='e:\tlperl\lib' +archlibexp='e:\tlperl\lib' archname='MSWin32-x86-multi-thread' archname64='' archobjs='' @@ -201,8 +201,8 @@ asctime_r_proto='0' awk='awk' baserev='5' bash='' -bin='d:\tlperl\bin' -binexp='d:\tlperl\bin' +bin='e:\tlperl\bin' +binexp='e:\tlperl\bin' bison='' bootstrap_charset='undef' byacc='byacc' @@ -213,14 +213,14 @@ cat='type' cc='gcc' cccdlflags=' ' ccdlflags=' ' -ccflags=' -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields' +ccflags=' -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DWIN32_NO_REGISTRY -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields' ccflags_uselargefiles='' ccname='gcc' ccsymbols='' ccversion='' cf_by='siepo' -cf_email='tex-live@tug.org' -cf_time='Wed Mar 4 17:19:06 2020' +cf_email='siepo@DESKTOP-2H3JTBT' +cf_time='Tue Feb 23 20:23:57 2021' charbits='8' chgrp='' chmod='' @@ -273,6 +273,7 @@ d_asinh='define' d_atanh='define' d_atolf='undef' d_atoll='undef' +d_attribute_always_inline='undef' d_attribute_deprecated='undef' d_attribute_format='undef' d_attribute_malloc='undef' @@ -696,6 +697,7 @@ d_sitearch='define' d_snprintf='define' d_sockaddr_in6='undef' d_sockaddr_sa_len='undef' +d_sockaddr_storage='define' d_sockatmark='undef' d_sockatmarkproto='undef' d_socket='define' @@ -788,6 +790,7 @@ d_voidtty='' d_vsnprintf='define' d_wait4='undef' d_waitpid='define' +d_wcrtomb='undef' d_wcscmp='define' d_wcstombs='define' d_wcsxfrm='define' @@ -813,7 +816,7 @@ doublesize='8' drand01='Perl_drand48()' drand48_r_proto='0' dtrace='' -dynamic_ext='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash I18N/Langinfo IO List/Util MIME/Base64 Math/BigInt/FastCalc Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize Win32 Win32API/File XS/APItest XS/Typemap attributes mro re threads threads/shared' +dynamic_ext='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash I18N/Langinfo IO List/Util MIME/Base64 Math/BigInt/FastCalc Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize Win32 Win32API/File XS/APItest XS/Typemap attributes mro re threads threads/shared' eagain='EAGAIN' ebcdic='undef' echo='echo' @@ -828,7 +831,7 @@ endservent_r_proto='0' eunicefix=':' exe_ext='.exe' expr='expr' -extensions='Archive/Tar Attribute/Handlers AutoLoader B CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Compress/Raw/Bzip2 Compress/Raw/Zlib Config/Perl/V Cwd Data/Dumper Devel/PPPort Devel/Peek Devel/SelfStubber Digest Digest/MD5 Digest/SHA Dumpvalue Encode Env Errno Exporter ExtUtils/CBuilder ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS Fcntl File/DosGlob File/Fetch File/Find File/Glob File/Path File/Temp FileCache Filter/Simple Filter/Util/Call Getopt/Long HTTP/Tiny Hash/Util Hash/Util/FieldHash I18N/Collate I18N/LangTags I18N/Langinfo IO IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP List/Util Locale/Maketext Locale/Maketext/Simple MIME/Base64 Math/BigInt Math/BigInt/FastCalc Math/BigRat Math/Complex Memoize Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NEXT Net/Ping Opcode POSIX Params/Check Perl/OSType PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage SDBM_File Safe Search/Dict SelfLoader Socket Storable Sys/Hostname Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Hash/NamedCapture Tie/Memoize Tie/RefHash Time/HiRes Time/Local Time/Piece Unicode/Collate Unicode/Normalize Win32 Win32API/File Win32CORE XS/APItest XS/Typemap XSLoader attributes autodie autouse base bignum constant encoding/warnings experimental if lib libnet mro parent perlfaq podlators re threads threads/shared version' +extensions='Archive/Tar Attribute/Handlers AutoLoader B CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Compress/Raw/Bzip2 Compress/Raw/Zlib Config/Perl/V Cwd Data/Dumper Devel/PPPort Devel/Peek Devel/SelfStubber Digest Digest/MD5 Digest/SHA Dumpvalue Encode Env Errno Exporter ExtUtils/CBuilder ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS Fcntl File/DosGlob File/Fetch File/Find File/Glob File/Path File/Temp FileCache Filter/Simple Filter/Util/Call FindBin Getopt/Long HTTP/Tiny Hash/Util Hash/Util/FieldHash I18N/Collate I18N/LangTags I18N/Langinfo IO IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP List/Util Locale/Maketext Locale/Maketext/Simple MIME/Base64 Math/BigInt Math/BigInt/FastCalc Math/BigRat Math/Complex Memoize Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NEXT Net/Ping Opcode POSIX Params/Check Perl/OSType PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Perldoc Pod/Simple Pod/Usage SDBM_File Safe Search/Dict SelfLoader Socket Storable Sys/Hostname Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Hash/NamedCapture Tie/Memoize Tie/RefHash Time/HiRes Time/Local Time/Piece Unicode/Collate Unicode/Normalize Win32 Win32API/File Win32CORE XS/APItest XS/Typemap XSLoader attributes autodie autouse base bignum constant encoding/warnings experimental if lib libnet mro parent perlfaq podlators re threads threads/shared version' extern_C='extern' extras='' fflushNULL='define' @@ -982,26 +985,26 @@ i_xlocale='undef' ignore_versioned_solibs='' inc_version_list='' inc_version_list_init='0' -incpath='D:\mingw2020\include' +incpath='E:\wprogs\mingw2021\include' inews='' initialinstalllocation='' -installarchlib='d:\tlperl\lib' -installbin='d:\tlperl\bin' +installarchlib='e:\tlperl\lib' +installbin='e:\tlperl\bin' installhtml1dir='' installhtml3dir='' -installhtmldir='d:\tlperl\html' -installhtmlhelpdir='d:\tlperl\htmlhelp' -installman1dir='d:\tlperl\man\man1' -installman3dir='d:\tlperl\man\man3' -installprefix='d:\tlperl' -installprefixexp='d:\tlperl' -installprivlib='d:\tlperl\lib' -installscript='d:\tlperl\bin' -installsitearch='d:\tlperl\site\lib' -installsitebin='d:\tlperl\bin' +installhtmldir='e:\tlperl\html' +installhtmlhelpdir='e:\tlperl\htmlhelp' +installman1dir='e:\tlperl\man\man1' +installman3dir='e:\tlperl\man\man3' +installprefix='e:\tlperl' +installprefixexp='e:\tlperl' +installprivlib='e:\tlperl\lib' +installscript='e:\tlperl\bin' +installsitearch='e:\tlperl\site\lib' +installsitebin='e:\tlperl\bin' installsitehtml1dir='' installsitehtml3dir='' -installsitelib='d:\tlperl\site\lib' +installsitelib='e:\tlperl\site\lib' installsiteman1dir='' installsiteman3dir='' installsitescript='' @@ -1020,18 +1023,18 @@ issymlink='' ivdformat='"ld"' ivsize='4' ivtype='long' -known_extensions='Amiga/ARexx Amiga/Exec Archive/Tar Attribute/Handlers AutoLoader B CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Compress/Raw/Bzip2 Compress/Raw/Zlib Config/Perl/V Cwd DB_File Data/Dumper Devel/PPPort Devel/Peek Devel/SelfStubber Digest Digest/MD5 Digest/SHA Dumpvalue Encode Env Errno Exporter ExtUtils/CBuilder ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS Fcntl File/DosGlob File/Fetch File/Find File/Glob File/Path File/Temp FileCache Filter/Simple Filter/Util/Call GDBM_File Getopt/Long HTTP/Tiny Hash/Util Hash/Util/FieldHash I18N/Collate I18N/LangTags I18N/Langinfo IO IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 IPC/SysV JSON/PP List/Util Locale/Maketext Locale/Maketext/Simple MIME/Base64 Math/BigInt Math/BigInt/FastCalc Math/BigRat Math/Complex Memoize Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NDBM_File NEXT Net/Ping ODBM_File Opcode POSIX Params/Check Perl/OSType PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage SDBM_File Safe Search/Dict SelfLoader Socket Storable Sys/Hostname Sys/Syslog Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Hash/NamedCapture Tie/Memoize Tie/RefHash Time/HiRes Time/Local Time/Piece Unicode/Collate Unicode/Normalize VMS/DCLsym VMS/Filespec VMS/Stdio Win32 Win32API/File Win32CORE XS/APItest XS/Typemap XSLoader attributes autodie autouse base bignum constant encoding/warnings experimental if lib libnet mro parent perlfaq podlators re threads threads/shared version' +known_extensions='Amiga/ARexx Amiga/Exec Archive/Tar Attribute/Handlers AutoLoader B CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Compress/Raw/Bzip2 Compress/Raw/Zlib Config/Perl/V Cwd DB_File Data/Dumper Devel/PPPort Devel/Peek Devel/SelfStubber Digest Digest/MD5 Digest/SHA Dumpvalue Encode Env Errno Exporter ExtUtils/CBuilder ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS Fcntl File/DosGlob File/Fetch File/Find File/Glob File/Path File/Temp FileCache Filter/Simple Filter/Util/Call FindBin GDBM_File Getopt/Long HTTP/Tiny Hash/Util Hash/Util/FieldHash I18N/Collate I18N/LangTags I18N/Langinfo IO IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 IPC/SysV JSON/PP List/Util Locale/Maketext Locale/Maketext/Simple MIME/Base64 Math/BigInt Math/BigInt/FastCalc Math/BigRat Math/Complex Memoize Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NDBM_File NEXT Net/Ping ODBM_File Opcode POSIX Params/Check Perl/OSType PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Perldoc Pod/Simple Pod/Usage SDBM_File Safe Search/Dict SelfLoader Socket Storable Sys/Hostname Sys/Syslog Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Hash/NamedCapture Tie/Memoize Tie/RefHash Time/HiRes Time/Local Time/Piece Unicode/Collate Unicode/Normalize VMS/DCLsym VMS/Filespec VMS/Stdio Win32 Win32API/File Win32CORE XS/APItest XS/Typemap XSLoader attributes autodie autouse base bignum constant encoding/warnings experimental if lib libnet mro parent perlfaq podlators re threads threads/shared version' ksh='' ld='g++' -lddlflags='-mdll -s -L"d:\tlperl\lib\CORE" -L"D:\mingw2020\lib"' -ldflags='-s -L"d:\tlperl\lib\CORE" -L"D:\mingw2020\lib"' +lddlflags='-mdll -s -L"e:\tlperl\lib\CORE" -L"E:\wprogs\mingw2021\lib"' +ldflags='-s -L"e:\tlperl\lib\CORE" -L"E:\wprogs\mingw2021\lib"' ldflags_uselargefiles='' ldlibpthname='' less='less' lib_ext='.a' libc='' -libperl='libperl530.a' -libpth='D:\mingw2020\lib' +libperl='libperl532.a' +libpth='E:\wprogs\mingw2021\lib' libs=' -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32' libsdirs='' libsfiles='' @@ -1067,11 +1070,11 @@ make_set_make='#' mallocobj='malloc.o' mallocsrc='malloc.c' malloctype='void *' -man1dir='d:\tlperl\man\man1' -man1direxp='d:\tlperl\man\man1' +man1dir='e:\tlperl\man\man1' +man1direxp='e:\tlperl\man\man1' man1ext='1' -man3dir='d:\tlperl\man\man3' -man3direxp='d:\tlperl\man\man3' +man3dir='e:\tlperl\man\man3' +man3direxp='e:\tlperl\man\man3' man3ext='3' mips_type='' mistrustnm='' @@ -1094,7 +1097,7 @@ netdb_net_type='long' nm='nm' nm_opt='' nm_so_opt='' -nonxs_ext='Archive/Tar Attribute/Handlers AutoLoader CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Config/Perl/V Devel/SelfStubber Digest Dumpvalue Env Errno Exporter ExtUtils/CBuilder ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS File/Fetch File/Find File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Maketext Locale/Maketext/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NEXT Net/Ping Params/Check Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local XSLoader autodie autouse base bignum constant encoding/warnings experimental if lib libnet parent perlfaq podlators version' +nonxs_ext='Archive/Tar Attribute/Handlers AutoLoader CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Config/Perl/V Devel/SelfStubber Digest Dumpvalue Env Errno Exporter ExtUtils/CBuilder ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS File/Fetch File/Find File/Path File/Temp FileCache Filter/Simple FindBin Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Maketext Locale/Maketext/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NEXT Net/Ping Params/Check Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Hash/NamedCapture Tie/Memoize Tie/RefHash Time/Local XSLoader autodie autouse base bignum constant encoding/warnings experimental if lib libnet parent perlfaq podlators version' nroff='' nvEUformat='"E"' nvFUformat='"F"' @@ -1113,12 +1116,12 @@ old_pthread_create_joinable='' optimize='-s -O2' orderlib='false' osname='MSWin32' -osvers='10.0.18363.418' +osvers='10.0.19042.804' otherlibdirs='' package='perl5' pager='more /e' passcat='' -patchlevel='30' +patchlevel='32' path_sep=';' perl='perl' perl5='' @@ -1126,17 +1129,17 @@ perl_patchlevel='' perl_static_inline='static __inline__' perladmin='' perllibs=' -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32' -perlpath='d:\tlperl\bin\perl.exe' +perlpath='e:\tlperl\bin\perl.exe' pg='' phostname='hostname' pidtype='int' plibpth='' pmake='' pr='' -prefix='d:\tlperl' -prefixexp='d:\tlperl' -privlib='d:\tlperl\lib' -privlibexp='d:\tlperl\lib' +prefix='e:\tlperl' +prefixexp='e:\tlperl' +privlib='e:\tlperl\lib' +privlibexp='e:\tlperl\lib' procselfexe='' prototype='define' ptrsize='4' @@ -1174,8 +1177,8 @@ sPRIu64='"lu"' sPRIx64='"lx"' sSCNfldbl='"Lf"' sched_yield='' -scriptdir='d:\tlperl\bin' -scriptdirexp='d:\tlperl\bin' +scriptdir='e:\tlperl\bin' +scriptdirexp='e:\tlperl\bin' sed='sed' seedfunc='Perl_drand48_init' selectminbits='32' @@ -1202,23 +1205,23 @@ sig_num='0 1 2 21 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 20 sig_num_init='0, 1, 2, 21, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0' sig_size='27' signal_t='void' -sitearch='d:\tlperl\site\lib' -sitearchexp='d:\tlperl\site\lib' -sitebin='d:\tlperl\site\bin' -sitebinexp='d:\tlperl\site\bin' +sitearch='e:\tlperl\site\lib' +sitearchexp='e:\tlperl\site\lib' +sitebin='e:\tlperl\site\bin' +sitebinexp='e:\tlperl\site\bin' sitehtml1dir='' sitehtml1direxp='' sitehtml3dir='' sitehtml3direxp='' -sitelib='d:\tlperl\site\lib' +sitelib='e:\tlperl\site\lib' sitelib_stem='' -sitelibexp='d:\tlperl\site\lib' +sitelibexp='e:\tlperl\site\lib' siteman1dir='' siteman1direxp='' siteman3dir='' siteman3direxp='' -siteprefix='d:\tlperl\site' -siteprefixexp='d:\tlperl\site' +siteprefix='e:\tlperl\site' +siteprefixexp='e:\tlperl\site' sitescript='' sitescriptexp='' sizesize='4' @@ -1342,8 +1345,8 @@ vendorprefix='' vendorprefixexp='' vendorscript='' vendorscriptexp='' -version='5.30.1' -version_patchlevel_string='version 30 subversion 1' +version='5.32.1' +version_patchlevel_string='version 32 subversion 1' versiononly='undef' vi='' xlibpth='/usr/lib/386 /lib/386' @@ -1361,8 +1364,8 @@ s/(byteorder=)(['"]).*?\2/$1$2$Config::byteorder$2/m; my $config_sh_len = length $_; our $Config_SH_expanded = "\n$_" . << 'EOVIRTUAL'; -ccflags_nolargefiles=' -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields' -ldflags_nolargefiles='-s -L"d:\tlperl\lib\CORE" -L"D:\mingw2020\lib"' +ccflags_nolargefiles=' -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DWIN32_NO_REGISTRY -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields' +ldflags_nolargefiles='-s -L"e:\tlperl\lib\CORE" -L"E:\wprogs\mingw2021\lib"' libs_nolargefiles='-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32' libswanted_nolargefiles='' EOVIRTUAL diff --git a/Master/tlpkg/tlperl/lib/Data/Dumper.pm b/Master/tlpkg/tlperl/lib/Data/Dumper.pm index 4866af98612..4de79bbda40 100644 --- a/Master/tlpkg/tlperl/lib/Data/Dumper.pm +++ b/Master/tlpkg/tlperl/lib/Data/Dumper.pm @@ -10,7 +10,7 @@ package Data::Dumper; BEGIN { - $VERSION = '2.174'; # Don't forget to set version and release + $VERSION = '2.174_01'; # Don't forget to set version and release } # date in POD below! #$| = 1; @@ -1467,7 +1467,7 @@ modify it under the same terms as Perl itself. =head1 VERSION -Version 2.174 +Version 2.174_01 =head1 SEE ALSO diff --git a/Master/tlpkg/tlperl/lib/Devel/PPPort.pm b/Master/tlpkg/tlperl/lib/Devel/PPPort.pm index db53d98ae6b..67b864b021b 100644 --- a/Master/tlpkg/tlperl/lib/Devel/PPPort.pm +++ b/Master/tlpkg/tlperl/lib/Devel/PPPort.pm @@ -56,7 +56,7 @@ C contains two functions, C and C. C's only purpose is to write the F C header file. This file contains a series of macros and, if explicitly requested, functions that allow XS modules to be built using older versions of Perl. Currently, -Perl versions from 5.003 to 5.30 are supported. +Perl versions from 5.003_07 to 5.31.6 are supported. C can be used to retrieve the file contents rather than writing it out. @@ -69,7 +69,7 @@ You should use F in modern code so that your code will work with the widest range of Perl interpreters possible, without significant additional work. -You should attempt older code to fully use F, because the +You should attempt to get older code to fully use F, because the reduced pollution of newer Perl versions is an important thing. It's so important that the old polluting ways of original Perl modules will not be supported very far into the future, and your module will almost certainly @@ -79,7 +79,7 @@ having done the electronic ecology some good. =head2 How to use ppport.h Don't direct the users of your module to download C. -They are most probably no XS writers. Also, don't make F +They are most probably not XS writers. Also, don't make F optional. Rather, just take the most recent copy of F that you can find (e.g. by generating it with the latest C release from CPAN), copy it into your project, adjust your project to @@ -118,53 +118,56 @@ of the would-be file rather than writing it out. =head1 COMPATIBILITY -F supports Perl versions from 5.003 to 5.30 +F supports Perl versions from 5.003_07 to 5.31.6 in threaded and non-threaded configurations. =head2 Provided Perl compatibility API -The header file written by this module, typically F, provides -access to the following elements of the Perl API that is not available -in older Perl releases: +The header file written by this module, typically F, provides access +to the following elements of the Perl API that are not otherwise available in +Perl releases older than when the elements were first introduced. (Note that +many of these are not supported all the way back to 5.003_07, but it may +be that they are supported back as far as you need; see L for that information.) - __ASSERT_ _aMY_CXT - _pMY_CXT aMY_CXT aMY_CXT_ + __ASSERT_ aTHX aTHX_ aTHXR aTHXR_ + AvFILLp av_tindex av_top_index - AvFILLp + BOM_UTF8 boolSV - C_ARRAY_END - C_ARRAY_LENGTH call_argv + caller_cx call_method call_pv call_sv - caller_cx + C_ARRAY_END + C_ARRAY_LENGTH cBOOL ckWARN CopFILE - CopFILE_set CopFILEAV CopFILEGV CopFILEGV_set + CopFILE_set CopFILESV CopSTASH CopSTASH_eq - CopSTASH_set CopSTASHPV CopSTASHPV_set + CopSTASH_set CopyD CPERLscope croak_memory_wrap - croak_no_modify croak_nocontext + croak_no_modify croak_sv croak_xs_usage dAX @@ -190,12 +193,15 @@ in older Perl releases: eval_pv eval_sv EXTERN_C - G_METHOD + foldEQ_utf8 get_av get_cv + get_cvn_flags get_cvs get_hv get_sv + G_METHOD + G_RETHROW grok_bin grok_hex grok_number @@ -204,70 +210,156 @@ in older Perl releases: grok_oct gv_fetchpvn_flags gv_fetchpvs + gv_fetchsv + gv_init_pvn + GV_NOADD_MASK gv_stashpvn gv_stashpvs + GvSVn HEf_SVKEY HeUTF8 hv_fetchs - hv_stores HvNAME_get HvNAMELEN_get + hv_stores IN_LOCALE IN_LOCALE_COMPILETIME IN_LOCALE_RUNTIME IN_PERL_COMPILETIME INT2PTR - IS_NUMBER_GREATER_THAN_UV_MAX - IS_NUMBER_IN_UV - IS_NUMBER_INFINITY - IS_NUMBER_NAN - IS_NUMBER_NEG - IS_NUMBER_NOT_INT isALNUM isALNUM_A isALNUMC isALNUMC_A + isALNUMC_L1 isALPHA isALPHA_A + isALPHA_L1 + isALPHA_LC_utf8_safe isALPHANUMERIC isALPHANUMERIC_A + isALPHANUMERIC_L1 + isALPHANUMERIC_LC + isALPHANUMERIC_LC_utf8_safe + isALPHANUMERIC_utf8_safe + isALPHANUMERIC_uvchr + isALPHA_utf8_safe + isALPHA_uvchr isASCII isASCII_A + isASCII_L1 + isASCII_LC + isASCII_utf8_safe + isASCII_uvchr isBLANK isBLANK_A + isBLANK_L1 + isBLANK_LC + isBLANK_LC_utf8_safe + isBLANK_utf8_safe + isBLANK_uvchr isCNTRL isCNTRL_A + isCNTRL_L1 + isCNTRL_LC_utf8_safe + isCNTRL_utf8_safe + isCNTRL_uvchr isDIGIT isDIGIT_A + isDIGIT_L1 + isDIGIT_LC_utf8_safe + isDIGIT_utf8_safe + isDIGIT_uvchr isGRAPH isGRAPH_A + isGRAPH_L1 + isGRAPH_LC_utf8_safe + isGRAPH_utf8_safe + isGRAPH_uvchr + isGV_with_GP isIDCONT isIDCONT_A + isIDCONT_L1 + isIDCONT_LC + isIDCONT_LC_utf8_safe + isIDCONT_utf8_safe + isIDCONT_uvchr isIDFIRST isIDFIRST_A + isIDFIRST_L1 + isIDFIRST_LC + isIDFIRST_LC_utf8_safe + isIDFIRST_utf8_safe + isIDFIRST_uvchr + is_invariant_string isLOWER isLOWER_A + isLOWER_L1 + isLOWER_LC_utf8_safe + isLOWER_utf8_safe + isLOWER_uvchr + IS_NUMBER_GREATER_THAN_UV_MAX + IS_NUMBER_INFINITY + IS_NUMBER_IN_UV + IS_NUMBER_NAN + IS_NUMBER_NEG + IS_NUMBER_NOT_INT isOCTAL isOCTAL_A + isOCTAL_L1 isPRINT isPRINT_A + isPRINT_L1 + isPRINT_LC_utf8_safe + isPRINT_utf8_safe + isPRINT_uvchr isPSXSPC isPSXSPC_A + isPSXSPC_L1 + isPSXSPC_LC_utf8_safe + isPSXSPC_utf8_safe + isPSXSPC_uvchr isPUNCT isPUNCT_A + isPUNCT_L1 + isPUNCT_LC_utf8_safe + isPUNCT_utf8_safe + isPUNCT_uvchr isSPACE isSPACE_A + isSPACE_L1 + isSPACE_LC_utf8_safe + isSPACE_utf8_safe + isSPACE_uvchr isUPPER isUPPER_A + isUPPER_L1 + isUPPER_LC_utf8_safe + isUPPER_utf8_safe + isUPPER_uvchr + isUTF8_CHAR + is_utf8_invariant_string isWORDCHAR isWORDCHAR_A + isWORDCHAR_L1 + isWORDCHAR_LC + isWORDCHAR_LC_utf8_safe + isWORDCHAR_utf8_safe + isWORDCHAR_uvchr isXDIGIT isXDIGIT_A + isXDIGIT_L1 + isXDIGIT_LC + isXDIGIT_LC_utf8_safe + isXDIGIT_utf8_safe + isXDIGIT_uvchr IVdf IVSIZE IVTYPE + LATIN1_TO_NATIVE LIKELY load_module + memCHRs memEQ memEQs memNE @@ -297,10 +389,11 @@ in older Perl releases: my_strlcat my_strlcpy my_strnlen + NATIVE_TO_LATIN1 + NATIVE_TO_UNI newCONSTSUB newRV_inc newRV_noinc - newSV_type newSVpvn newSVpvn_flags newSVpvn_share @@ -308,6 +401,9 @@ in older Perl releases: newSVpvs newSVpvs_flags newSVpvs_share + newSVsv_flags + newSVsv_nomg + newSV_type newSVuv Newx Newxc @@ -325,13 +421,13 @@ in older Perl releases: OpSIBLING packWARN PERL_ABS - PERL_ARGS_ASSERT_CROAK_XS_USAGE PERL_BCDVERSION Perl_croak_no_modify - PERL_GCC_BRACE_GROUPS_FORBIDDEN PERL_HASH PERL_INT_MAX PERL_INT_MIN + PERLIO_FUNCS_CAST + PERLIO_FUNCS_DECL PERL_LONG_MAX PERL_LONG_MIN PERL_MAGIC_arylen @@ -417,8 +513,6 @@ in older Perl releases: PERL_VERSION Perl_warner Perl_warner_nocontext - PERLIO_FUNCS_CAST - PERLIO_FUNCS_DECL PL_bufend PL_bufptr PL_compiling @@ -445,11 +539,12 @@ in older Perl releases: PL_lex_state PL_lex_stuff PL_linestr + PL_mess_sv PL_na PL_no_modify PL_parser - PL_perl_destruct_level PL_perldb + PL_perl_destruct_level PL_ppaddr PL_rsfp PL_rsfp_filters @@ -466,6 +561,8 @@ in older Perl releases: PL_tainted PL_tainting PL_tokenbuf + PL_Xpv + _pMY_CXT pMY_CXT pMY_CXT_ Poison @@ -485,20 +582,22 @@ in older Perl releases: pv_display pv_escape pv_pretty + REPLACEMENT_CHARACTER_UTF8 SAVE_DEFSV START_EXTERN_C START_MY_CXT + start_subparse STMT_END STMT_START STR_WITH_LEN - sv_2pv_flags - sv_2pv_nolen sv_2pvbyte sv_2pvbyte_nolen + sv_2pv_flags + sv_2pv_nolen sv_2uv - sv_catpv_mg sv_catpvf_mg sv_catpvf_mg_nocontext + sv_catpv_mg sv_catpvn_mg sv_catpvn_nomg sv_catpvs @@ -507,40 +606,23 @@ in older Perl releases: SV_CONST_RETURN SV_COW_DROP_PV SV_COW_SHARED_HASH_KEYS + SVf + SVfARG + SVf_UTF8 + SvGETMAGIC SV_GMAGIC SV_HAS_TRAILING_NUL SV_IMMEDIATE_UNREF + SvIV_nomg + sv_len_utf8 + sv_len_utf8_nomg sv_magic_portable + SvMAGIC_set + sv_mortalcopy_flags SV_MUTABLE_RETURN SV_NOSTEAL - sv_pvn_force_flags - sv_pvn_nomg - sv_setiv_mg - sv_setnv_mg - sv_setpv_mg - sv_setpvf_mg - sv_setpvf_mg_nocontext - sv_setpvn_mg - sv_setpvs - sv_setsv_mg - sv_setsv_nomg - sv_setuv - sv_setuv_mg - SV_SMAGIC - sv_unmagicext - sv_usepvn_mg - SV_UTF8_NO_ENCODING - sv_uv - sv_vcatpvf - sv_vcatpvf_mg - sv_vsetpvf - sv_vsetpvf_mg - SVf - SVf_UTF8 - SVfARG - SvGETMAGIC - SvIV_nomg - SvMAGIC_set + SvNV_nomg + SvPVbyte SvPV_const SvPV_flags SvPV_flags_const @@ -555,6 +637,8 @@ in older Perl releases: SvPV_force_nomg SvPV_force_nomg_nolen SvPV_mutable + sv_pvn_force_flags + sv_pvn_nomg SvPV_nolen SvPV_nolen_const SvPV_nomg @@ -562,7 +646,6 @@ in older Perl releases: SvPV_nomg_const_nolen SvPV_nomg_nolen SvPV_renew - SvPVbyte SvPVX_const SvPVX_mutable SvREFCNT_inc @@ -576,23 +659,65 @@ in older Perl releases: SvRV_set SvRX SvRXOK + sv_setiv_mg + sv_setnv_mg + sv_setpvf_mg + sv_setpvf_mg_nocontext + sv_setpv_mg + sv_setpvn_mg + sv_setpvs + sv_setsv_flags + sv_setsv_mg + sv_setsv_nomg + sv_setuv + sv_setuv_mg SvSHARED_HASH + SV_SMAGIC SvSTASH_set + SvTRUE_nomg + sv_unmagicext SvUOK + sv_usepvn_mg + SvUTF8 + SV_UTF8_NO_ENCODING + sv_uv SvUV SvUV_nomg SvUV_set SvUVX SvUVx SvUVXx + sv_vcatpvf + sv_vcatpvf_mg + sv_vsetpvf + sv_vsetpvf_mg SvVSTRING_mg + switch_to_global_locale + sync_locale + toFOLD_utf8_safe + toFOLD_uvchr + toLOWER_utf8_safe + toLOWER_uvchr + toTITLE_utf8_safe + toTITLE_uvchr + toUPPER_utf8_safe + toUPPER_uvchr UNDERBAR UNICODE_REPLACEMENT + UNI_TO_NATIVE UNLIKELY + UTF8_CHK_SKIP + UTF8f + UTF8fARG + UTF8_IS_INVARIANT UTF8_MAXBYTES + UTF8_MAXBYTES_CASE UTF8_SAFE_SKIP + UTF8_SKIP utf8_to_uvchr utf8_to_uvchr_buf + UVCHR_IS_INVARIANT + UVCHR_SKIP UVof UVSIZE UVTYPE @@ -611,6 +736,7 @@ in older Perl releases: WARN_DEBUGGING WARN_DEPRECATED WARN_DIGIT + warner WARN_EXEC WARN_EXITING WARN_GLOB @@ -651,7 +777,6 @@ in older Perl releases: WARN_UNTIE WARN_UTF8 WARN_VOID - warner WIDEST_UTYPE XCPT_CATCH XCPT_RETHROW @@ -666,174 +791,406 @@ in older Perl releases: XST_mUV ZeroD -=head2 Perl API not supported by ppport.h +=head2 Supported Perl API, sorted by version + +The table in this section lists all the Perl API elements available, sorted by +the version in which support starts. This includes all the elements that +F helps out with, as well as those elements that it doesn't. + +In some cases, it doesn't make practical sense for elements to be supported +earlier than they already are. For example, UTF-8 functionality isn't +provided prior to the release where it was first introduced. + +But in other cases, it just is that no one has implemented support yet. +Patches welcome! Some elements are ported backward for some releases, but not +all the way to 5.003_07. + +If an element, call it ELEMENT, is not on this list, try using this command to +find out why: -There is still a big part of the API not supported by F. -Either because it doesn't make sense to back-port that part of the API, -or simply because it hasn't been implemented yet. Patches welcome! + perl ppport.h --api-info=ELEMENT -Here's a list of the currently unsupported API, and also the version of -Perl below which it is unsupported: +A few of the entries in the list below are marked as DEPRECATED. You should +not use these for new code, and should be converting existing uses to use +something better. + +Some of the entries in the list are marked as "experimental". This means +these should not generally be used. They may be removed or changed without +notice. You can ask why they are experimental by sending email to +L. + +And some of the entries are marked as "undocumented". This means that they +aren't necessarily considered stable, and could be changed or removed in some +future release without warning. It is therefore a bad idea to use them +without further checking. It could be that these are considered to be for +perl core use only; or it could be, though, that C doesn't know +where to find their documentation, or that it's just an oversight that they +haven't been documented. If you want to use one, and potentially have it +backported, first send mail to L. =over 4 -=item perl 5.24.0 +=item perl 5.31.5 + + gimme_V (marked experimental) (undocumented) + isALPHANUMERIC_utf8 + isALPHA_utf8 + isASCII_utf8 + isBLANK_utf8 + isCNTRL_utf8 + isDIGIT_utf8 + isGRAPH_utf8 + isIDCONT_utf8 + isIDFIRST_utf8 + isLOWER_utf8 + isPRINT_utf8 + isPSXSPC_utf8 + isPUNCT_utf8 + isSPACE_utf8 + isUPPER_utf8 + isWORDCHAR_utf8 + isXDIGIT_utf8 + toFOLD_utf8 + toLOWER_utf8 + toTITLE_utf8 + toUPPER_utf8 - BhkDISABLE - BhkENABLE - BhkENTRY_set - MULTICALL - PERL_SYS_TERM - POP_MULTICALL - PUSH_MULTICALL - PadARRAY - PadMAX - PadlistARRAY - PadlistMAX - PadlistNAMES - PadlistNAMESARRAY - PadlistNAMESMAX - PadnameLEN - PadnamePV - PadnameREFCNT - PadnameREFCNT_dec - PadnameSV - PadnamelistARRAY - PadnamelistMAX - PadnamelistREFCNT - PadnamelistREFCNT_dec - RESTORE_LC_NUMERIC - STORE_LC_NUMERIC_FORCE_TO_UNDERLYING - STORE_LC_NUMERIC_SET_TO_NEEDED - XS_APIVERSION_BOOTCHECK - XS_EXTERNAL - XS_INTERNAL - XS_VERSION_BOOTCHECK - XopDISABLE - XopENABLE - XopENTRY - XopENTRYCUSTOM - XopENTRY_set - cophh_new_empty - my_lstat - my_stat - reentrant_free - reentrant_init - reentrant_retry - reentrant_size - ref - sv_setref_pvs +=item perl 5.31.4 -=item perl 5.23.9 + sv_2pvbyte_flags (undocumented) + sv_2pvutf8_flags (undocumented) + SvAMAGIC_off (undocumented) + SvAMAGIC_on (undocumented) + SvPVbyte_nomg + SvPVbyte_or_null + SvPVbyte_or_null_nomg + SvPVutf8_nomg + SvPVutf8_or_null + SvPVutf8_or_null_nomg + sv_utf8_downgrade_flags + sv_utf8_downgrade_nomg - toFOLD_uvchr - toLOWER_uvchr - toTITLE_uvchr - toUPPER_uvchr +=item perl 5.31.3 -=item perl 5.23.8 + parse_subsignature (marked experimental) + SANE_ERRSV + STORE_LC_NUMERIC_SET_TO_NEEDED_IN + WITH_LC_NUMERIC_SET_TO_NEEDED + WITH_LC_NUMERIC_SET_TO_NEEDED_IN - clear_defarray +=item perl 5.29.10 -=item perl 5.22.0 + my_strtod + Strtod - UVCHR_SKIP +=item perl 5.29.9 + + WARN_EXPERIMENTAL__PRIVATE_USE + WARN_EXPERIMENTAL__UNIPROP_WILDCARDS + WARN_EXPERIMENTAL__VLB + +=item perl 5.27.9 + + PERL_MAGIC_nonelem + thread_locale_init (marked experimental) (undocumented) + thread_locale_term (marked experimental) (undocumented) + utf8n_to_uvchr_msgs (marked experimental) + uvchr_to_utf8_flags_msgs (marked experimental) + WARN_EXPERIMENTAL__ALPHA_ASSERTIONS + +=item perl 5.27.8 + + cx_popgiven (marked experimental) (undocumented) + cx_popwhen (marked experimental) (undocumented) + cx_pushgiven (marked experimental) (undocumented) + cx_pushwhen (marked experimental) (undocumented) + newWHENOP + WARN_EXPERIMENTAL__SCRIPT_RUN + +=item perl 5.27.7 + + WARN_SHADOW + +=item perl 5.27.6 + + wrap_keyword_plugin (marked experimental) + +=item perl 5.27.4 + + mg_freeext + Perl_langinfo + sv_rvunweaken + +=item perl 5.27.3 + + cv_get_call_checker_flags + PL_sv_zero + sv_string_from_errnum + +=item perl 5.27.2 + + Perl_setlocale + UTF8_DISALLOW_PERL_EXTENDED + UTF8_WARN_PERL_EXTENDED + +=item perl 5.27.1 + + bytes_from_utf8_loc (marked experimental) (undocumented) + is_utf8_invariant_string_loc + +=item perl 5.25.10 + + op_class + +=item perl 5.25.9 + + isASCII_LC_utf8_safe + +=item perl 5.25.8 + + sv_set_undef + +=item perl 5.25.7 + + CLEAR_ERRSV + utf8_hop_back + utf8_hop_forward + utf8_hop_safe + +=item perl 5.25.6 + + is_c9strict_utf8_string + is_c9strict_utf8_string_loc + is_c9strict_utf8_string_loclen + is_strict_utf8_string + is_strict_utf8_string_loc + is_strict_utf8_string_loclen + is_utf8_fixed_width_buf_flags + is_utf8_fixed_width_buf_loc_flags + is_utf8_fixed_width_buf_loclen_flags + is_utf8_string_flags + is_utf8_string_loc_flags + is_utf8_string_loclen_flags + SvPVCLEAR + sv_setpv_bufsize + utf8n_to_uvchr_error + +=item perl 5.25.5 + + isC9_STRICT_UTF8_CHAR + isSTRICT_UTF8_CHAR + isUTF8_CHAR_flags + is_utf8_valid_partial_char + is_utf8_valid_partial_char_flags + UTF8_DISALLOW_ILLEGAL_C9_INTERCHANGE + UTF8_WARN_ILLEGAL_C9_INTERCHANGE + +=item perl 5.25.3 + + hv_bucket_ratio (marked experimental) + WARN_EXPERIMENTAL__DECLARED_REFS + +=item perl 5.25.1 + + op_parent + +=item perl 5.23.8 + + clear_defarray (undocumented) + cx_popblock (marked experimental) (undocumented) + cx_popeval (marked experimental) (undocumented) + cx_popformat (marked experimental) (undocumented) + cx_poploop (marked experimental) (undocumented) + cx_popsub (marked experimental) (undocumented) + cx_popsub_args (marked experimental) (undocumented) + cx_popsub_common (marked experimental) (undocumented) + cx_pushblock (marked experimental) (undocumented) + cx_pusheval (marked experimental) (undocumented) + cx_pushformat (marked experimental) (undocumented) + cx_pushloop_for (marked experimental) (undocumented) + cx_pushloop_plain (marked experimental) (undocumented) + cx_pushsub (marked experimental) (undocumented) + cx_topblock (marked experimental) (undocumented) + leave_adjust_stacks (marked experimental) (undocumented) + savetmps (marked experimental) (undocumented) + +=item perl 5.23.2 + + UTF8_IS_NONCHAR + UTF8_IS_SUPER + UTF8_IS_SURROGATE + +=item perl 5.23.0 + + DOUBLEINFBYTES + DOUBLEMANTBITS + DOUBLENANBYTES + LONGDBLINFBYTES + LONGDBLMANTBITS + LONGDBLNANBYTES + NVMANTBITS =item perl 5.21.10 DECLARATION_FOR_LC_NUMERIC_MANIPULATION + RESTORE_LC_NUMERIC + STORE_LC_NUMERIC_FORCE_TO_UNDERLYING + STORE_LC_NUMERIC_SET_TO_NEEDED + +=item perl 5.21.9 + + WARN_EXPERIMENTAL__BITWISE + +=item perl 5.21.8 + + sv_get_backrefs (marked experimental) + WARN_EXPERIMENTAL__CONST_ATTR + WARN_EXPERIMENTAL__RE_STRICT =item perl 5.21.7 - PadnameUTF8 - is_invariant_string + newPADNAMELIST (marked experimental) + newPADNAMEouter (marked experimental) + newPADNAMEpvn (marked experimental) newUNOP_AUX + padnamelist_fetch (marked experimental) + PadnamelistREFCNT (marked experimental) + PadnamelistREFCNT_dec (marked experimental) + padnamelist_store (marked experimental) + PadnameREFCNT (marked experimental) + PadnameREFCNT_dec (marked experimental) + PADNAMEt_OUTER =item perl 5.21.6 + DOUBLEKIND newDEFSVOP op_convert_list + WARN_LOCALE =item perl 5.21.5 cv_name + CV_NAME_NOTQUAL newMETHOP newMETHOP_named + PERL_MAGIC_debugvar + PERL_MAGIC_lvref + SV_CATBYTES + SV_CATUTF8 + WARN_EXPERIMENTAL__REFALIASING =item perl 5.21.4 + CALL_CHECKER_REQUIRE_GV cv_set_call_checker_flags grok_infnan isinfnan - sync_locale =item perl 5.21.2 grok_number_flags op_sibling_splice + PERL_SCAN_TRAILING + WARN_MISSING + WARN_REDUNDANT =item perl 5.21.1 - isUTF8_CHAR - markstack_grow + markstack_grow (undocumented) + WARN_EXPERIMENTAL__WIN32_PERLIO =item perl 5.19.10 OP_TYPE_IS_OR_WAS +=item perl 5.19.9 + + WARN_EXPERIMENTAL__SIGNATURES + =item perl 5.19.7 OP_TYPE_IS +=item perl 5.19.5 + + WARN_EXPERIMENTAL__POSTDEREF + =item perl 5.19.4 + IS_SAFE_SYSCALL is_safe_syscall - uvoffuni_to_utf8_flags + WARN_SYSCALLS =item perl 5.19.3 + PERL_EXIT_ABORT + PERL_EXIT_WARN sv_pos_b2u_flags =item perl 5.19.2 - SVt_INVLIST + G_METHOD_NAMED =item perl 5.19.1 - re_intuit_start toFOLD - toFOLD_utf8 toLOWER_L1 toTITLE =item perl 5.18.0 - hv_rand_set + hv_rand_set (undocumented) -=item perl 5.17.9 +=item perl 5.17.11 - av_tindex - av_top_index + WARN_EXPERIMENTAL__SMARTMATCH =item perl 5.17.8 - isALPHANUMERIC - isIDCONT + isALPHANUMERIC_LC_uvchr + isIDCONT_LC_uvchr + WARN_EXPERIMENTAL__REGEX_SETS =item perl 5.17.7 + isALNUMC_LC_uvchr + isASCII_LC_uvchr + isBLANK_LC_uvchr + isPSXSPC_LC_uvchr + isWORDCHAR_LC_uvchr + isXDIGIT_LC_uvchr SvREFCNT_dec_NN =item perl 5.17.6 READ_XDIGIT +=item perl 5.17.5 + + WARN_EXPERIMENTAL__LEXICAL_SUBS + =item perl 5.17.4 - PL_comppad_name - PadlistREFCNT - newMYSUB - newSVpadname + GV_SUPER + newMYSUB (undocumented) + newSVpadname (marked experimental) + PadARRAY (marked experimental) + PadlistARRAY (marked experimental) + PadlistMAX (marked experimental) + PadlistNAMES (marked experimental) + PadlistNAMESARRAY (marked experimental) + PadlistNAMESMAX (marked experimental) + PadlistREFCNT (marked experimental) + PadMAX (marked experimental) + PadnameLEN (marked experimental) + PadnamelistARRAY (marked experimental) + PadnamelistMAX (marked experimental) + PadnamePV (marked experimental) + PadnameSV (marked experimental) + PadnameUTF8 (marked experimental) + PL_comppad_name (marked experimental) + WARN_EXPERIMENTAL =item perl 5.17.2 @@ -841,38 +1198,32 @@ Perl below which it is unsupported: sv_copypv_nomg sv_vcatpvfn_flags -=item perl 5.15.9 +=item perl 5.17.1 - utf8_to_uvchr_buf + alloccopstash (marked experimental) + +=item perl 5.16.0 + + CopLABEL_len + CopLABEL_len_flags =item perl 5.15.8 is_utf8_char_buf wrap_op_checker -=item perl 5.15.7 - - toLOWER_utf8 - toTITLE_utf8 - toUPPER_utf8 - to_utf8_fold - to_utf8_lower - to_utf8_title - to_utf8_upper - =item perl 5.15.6 newCONSTSUB_flags =item perl 5.15.4 - HvENAMELEN - HvENAMEUTF8 - HvNAMELEN - HvNAMEUTF8 - gv_autoload_pv - gv_autoload_pvn - gv_autoload_sv + gv_autoload_pv (undocumented) + gv_autoload_pvn (undocumented) + gv_autoload_sv (undocumented) + gv_fetchmethod_pv_flags (marked experimental) (undocumented) + gv_fetchmethod_pvn_flags (marked experimental) (undocumented) + gv_fetchmethod_sv_flags (marked experimental) (undocumented) gv_fetchmeth_pv gv_fetchmeth_pv_autoload gv_fetchmeth_pvn @@ -881,7 +1232,11 @@ Perl below which it is unsupported: gv_fetchmeth_sv_autoload gv_init_pv gv_init_sv - newGVgen_flags + HvENAMELEN + HvENAMEUTF8 + HvNAMELEN + HvNAMEUTF8 + newGVgen_flags (undocumented) sv_derived_from_pv sv_derived_from_pvn sv_derived_from_sv @@ -889,12 +1244,23 @@ Perl below which it is unsupported: sv_does_pvn sv_does_sv sv_ref - whichsig_pv - whichsig_pvn - whichsig_sv + whichsig_pv (undocumented) + whichsig_pvn (undocumented) + whichsig_sv (undocumented) + +=item perl 5.15.3 + + GV_ADDMG + +=item perl 5.15.2 + + XS_EXTERNAL + XS_INTERNAL =item perl 5.15.1 + cop_fetch_label (marked experimental) + cop_store_label (marked experimental) pad_add_name_pv pad_add_name_pvn pad_add_name_pvs @@ -904,52 +1270,87 @@ Perl below which it is unsupported: pad_findmy_pvs pad_findmy_sv +=item perl 5.13.10 + + WARN_NONCHAR + WARN_NON_UNICODE + WARN_SURROGATE + +=item perl 5.13.9 + + PERL_PV_ESCAPE_NONASCII + UTF8_DISALLOW_ILLEGAL_INTERCHANGE + UTF8_DISALLOW_NONCHAR + UTF8_DISALLOW_SUPER + UTF8_DISALLOW_SURROGATE + UTF8_WARN_ILLEGAL_INTERCHANGE + UTF8_WARN_NONCHAR + UTF8_WARN_SUPER + UTF8_WARN_SURROGATE + =item perl 5.13.8 - foldEQ_latin1 + foldEQ_latin1 (undocumented) + parse_arithexpr (marked experimental) + parse_fullexpr (marked experimental) + parse_listexpr (marked experimental) + parse_termexpr (marked experimental) =item perl 5.13.7 - HvENAME - OP_CLASS - XopFLAGS - amagic_deref_call + amagic_deref_call (undocumented) bytes_cmp_utf8 + cophh_2hv (marked experimental) + cophh_copy (marked experimental) + cophh_delete_pv (marked experimental) + cophh_delete_pvn (marked experimental) + cophh_delete_pvs (marked experimental) + cophh_delete_sv (marked experimental) + cophh_fetch_pv (marked experimental) + cophh_fetch_pvn (marked experimental) + cophh_fetch_pvs (marked experimental) + cophh_fetch_sv (marked experimental) + cophh_free (marked experimental) + COPHH_KEY_UTF8 + cophh_new_empty (marked experimental) + cophh_store_pv (marked experimental) + cophh_store_pvn (marked experimental) + cophh_store_pvs (marked experimental) + cophh_store_sv (marked experimental) cop_hints_2hv cop_hints_fetch_pv cop_hints_fetch_pvn cop_hints_fetch_pvs cop_hints_fetch_sv - cophh_2hv - cophh_copy - cophh_delete_pv - cophh_delete_pvn - cophh_delete_pvs - cophh_delete_sv - cophh_fetch_pv - cophh_fetch_pvn - cophh_fetch_pvs - cophh_fetch_sv - cophh_free - cophh_store_pv - cophh_store_pvn - cophh_store_pvs - cophh_store_sv custom_op_register - custom_op_xop + dirp_dup (undocumented) + HvENAME newFOROP newWHILEOP + OP_CLASS + op_lvalue (marked experimental) + op_scope (marked experimental) + parse_barestmt (marked experimental) + parse_block (marked experimental) + parse_label (marked experimental) + PARSE_OPTIONAL + PL_phase + XopDISABLE + XopENABLE + XopENTRY + XopENTRYCUSTOM + XopENTRY_set + XopFLAGS =item perl 5.13.6 - LINKLIST - SvTRUE_nomg ck_entersub_args_list ck_entersub_args_proto ck_entersub_args_proto_or_list cv_get_call_checker cv_set_call_checker - isWORDCHAR + lex_stuff_pv (marked experimental) + LINKLIST mg_free_type newSVpv_share op_append_elem @@ -957,7 +1358,11 @@ Perl below which it is unsupported: op_contextualize op_linklist op_prepend_elem + parse_stmtseq (marked experimental) + PERL_MAGIC_checkcall rv2cv_op_cv + RV2CVOPCV_MARK_EARLY + RV2CVOPCV_RETURN_NAME_GV savesharedpvs savesharedsvpv sv_2bool_flags @@ -971,26 +1376,32 @@ Perl below which it is unsupported: sv_collxfrm_flags sv_eq_flags sv_setpvs_mg + sv_setref_pvs =item perl 5.13.5 + lex_stuff_pvs (marked experimental) + parse_fullstmt (marked experimental) PL_rpeepp - isOCTAL - lex_stuff_pvs + +=item perl 5.13.4 + + XS_APIVERSION_BOOTCHECK =item perl 5.13.3 - blockhook_register + blockhook_register (marked experimental) =item perl 5.13.2 - SvNV_nomg + clone_params_del (undocumented) + clone_params_new (undocumented) find_rundefsv foldEQ foldEQ_locale - foldEQ_utf8 hv_fill sv_dec_nomg + sv_dup_inc (undocumented) sv_inc_nomg =item perl 5.13.1 @@ -1004,119 +1415,162 @@ Perl below which it is unsupported: =item perl 5.11.4 prescan_version + WARN_ILLEGALPROTO =item perl 5.11.2 - PL_keyword_plugin + CHARBITS + ENTER_with_name + LEAVE_with_name + lex_bufutf8 (marked experimental) + lex_discard_to (marked experimental) + lex_grow_linestr (marked experimental) + LEX_KEEP_PREVIOUS + lex_next_chunk (marked experimental) + lex_peek_unichar (marked experimental) + lex_read_space (marked experimental) + lex_read_to (marked experimental) + lex_read_unichar (marked experimental) + lex_stuff_pvn (marked experimental) + lex_stuff_sv (marked experimental) + LEX_STUFF_UTF8 + lex_unstuff (marked experimental) + PL_keyword_plugin (marked experimental) =item perl 5.11.1 - ck_warner - ck_warner_d + ck_warner (undocumented) + ck_warner_d (undocumented) =item perl 5.11.0 - Gv_AMupdate + av_iter_p (undocumented) + gv_add_by_type (undocumented) + Gv_AMupdate (undocumented) + is_ascii_string + is_invariant_string + is_utf8_invariant_string PL_opfreehook - SVt_REGEXP + pregfree2 (undocumented) + PUSH_MULTICALL + re_dup_guts (undocumented) + save_adelete (undocumented) + save_aelem_flags (undocumented) + save_hdelete (undocumented) + save_helem_flags (undocumented) SvOOK_offset - av_iter_p - gv_add_by_type - is_ascii_string - pregfree2 - save_adelete - save_aelem_flags - save_hdelete - save_helem_flags + SVt_REGEXP sv_utf8_upgrade_flags_grow + WARN_IMPRECISION =item perl 5.10.1 - mro_get_from_name + mro_get_from_name (undocumented) mro_get_private_data mro_register - mro_set_mro + mro_set_mro (undocumented) mro_set_private_data - save_hints - save_padsv_and_mortalize - save_pushi32ptr - save_pushptr - save_pushptrptr + save_freeop (undocumented) + save_hints (undocumented) + save_op (undocumented) + save_padsv_and_mortalize (undocumented) + save_pushi32ptr (undocumented) + save_pushptr (undocumented) + save_pushptrptr (undocumented) sv_insert_flags =item perl 5.10.0 - hv_common - hv_common_key_len + hv_common (undocumented) + hv_common_key_len (undocumented) + reentrant_free (undocumented) + reentrant_init (undocumented) + reentrant_retry (undocumented) + reentrant_size (undocumented) + START_MY_CXT sv_destroyable - sys_init - sys_init3 - sys_term + sys_init (undocumented) + sys_init3 (undocumented) + sys_term (undocumented) =item perl 5.9.5 - gv_fetchfile_flags + av_create_and_push (marked experimental) + av_create_and_unshift_one (marked experimental) + CopLABEL + gv_fetchfile_flags (undocumented) + lex_start (marked experimental) mro_get_linear_isa mro_method_changed_in - my_dirfd - pregcomp - ptr_table_fetch - ptr_table_free - ptr_table_new - ptr_table_split - ptr_table_store - re_compile - reg_named_buff_all - reg_named_buff_exists - reg_named_buff_fetch - reg_named_buff_firstkey - reg_named_buff_nextkey - reg_named_buff_scalar - regfree_internal + my_dirfd (undocumented) + Perl_signbit (marked experimental) + pregcomp (undocumented) + ptr_table_clear (DEPRECATED) (undocumented) + ptr_table_fetch (undocumented) + ptr_table_free (undocumented) + ptr_table_new (undocumented) + ptr_table_split (undocumented) + ptr_table_store (undocumented) + re_compile (undocumented) + regfree_internal (undocumented) + reg_named_buff_all (undocumented) + reg_named_buff_exists (undocumented) + reg_named_buff_fetch (undocumented) + reg_named_buff_firstkey (undocumented) + reg_named_buff_nextkey (undocumented) + reg_named_buff_scalar (undocumented) savesharedpvn - scan_vstring + scan_vstring (undocumented) upg_version =item perl 5.9.4 - PerlIO_context_layers - gv_name_set + gv_name_set (undocumented) hv_copy_hints_hv my_vsnprintf + newXS_flags (marked experimental) (undocumented) + PerlIO_context_layers (undocumented) + PERL_MAGIC_hints + PERL_MAGIC_hintselem sv_does sv_usepvn_flags =item perl 5.9.3 - av_arylen_p - ckwarn - ckwarn_d - csighandler + av_arylen_p (undocumented) + ckwarn (undocumented) + ckwarn_d (undocumented) dMULTICALL - doref + doref (undocumented) gv_const_sv - hv_eiter_p - hv_eiter_set - hv_name_set - hv_placeholders_get - hv_placeholders_set - hv_riter_p - hv_riter_set + GV_NOADD_NOINIT + GV_NOEXPAND + hv_eiter_p (undocumented) + hv_eiter_set (undocumented) + hv_name_set (undocumented) + hv_placeholders_get (undocumented) + hv_placeholders_set (undocumented) + hv_riter_p (undocumented) + hv_riter_set (undocumented) is_utf8_string_loclen + MULTICALL newGIVENOP newSVhek - newWHENOP - pad_compname_type + PERL_MAGIC_arylen_p + PERL_MAGIC_rhash + PERL_MAGIC_symtab + POP_MULTICALL savepvs sortsv_flags vverify =item perl 5.9.2 - SvPVbyte_force - op_refcnt_lock - op_refcnt_unlock + find_rundefsvoffset (DEPRECATED) + op_refcnt_lock (undocumented) + op_refcnt_unlock (undocumented) savesvpv + SvPVbyte_force vnormal =item perl 5.9.1 @@ -1129,12 +1583,35 @@ Perl below which it is unsupported: =item perl 5.9.0 + _aMY_CXT + aMY_CXT + aMY_CXT_ + dMY_CXT + hek_dup (undocumented) + MY_CXT + MY_CXT_CLONE + MY_CXT_INIT + my_cxt_init (undocumented) new_version - save_set_svflags + parser_dup (undocumented) + _pMY_CXT + pMY_CXT + pMY_CXT_ + regdupe_internal (undocumented) + save_set_svflags (undocumented) + SVs_PADSTALE vcmp vnumify vstringify +=item perl 5.8.9 + + hv_assert + +=item perl 5.8.8 + + __ASSERT_ + =item perl 5.8.3 SvIsCOW @@ -1142,39 +1619,65 @@ Perl below which it is unsupported: =item perl 5.8.1 - CvPADLIST - PL_comppad - SvVOK - doing_taint + CvPADLIST (marked experimental) + doing_taint (undocumented) find_runcv is_utf8_string_loc packlist pad_add_anon pad_new - save_bool - savestack_grow_cnt - seed + pad_setsv + pad_tidy (marked experimental) + PL_comppad (marked experimental) + save_bool (undocumented) + savestack_grow_cnt (undocumented) + seed (undocumented) sv_cat_decode - sv_setpviv - sv_setpviv_mg + sv_setpviv (DEPRECATED) + sv_setpviv_mg (DEPRECATED) + SvVOK unpackstring =item perl 5.8.0 HeUTF8 + hv_iternext_flags (marked experimental) + HV_ITERNEXT_WANTPLACEHOLDERS + hv_store_flags (marked experimental) (undocumented) nothreadhook =item perl 5.7.3 + ckWARN3 + ckWARN3_d + ckWARN4 + ckWARN4_d + custom_op_desc (DEPRECATED) + custom_op_name (DEPRECATED) + cx_dup (undocumented) + deb (undocumented) + deb_nocontext (undocumented) + debstack (undocumented) + debstackptrs (undocumented) + foldEQ_utf8 + fp_dup (undocumented) + gp_dup (undocumented) + gv_fetchmeth_autoload + he_dup (undocumented) + ibcmp_utf8 (undocumented) + mg_dup (undocumented) + my_fork (undocumented) + my_socketpair (undocumented) OP_DESC OP_NAME - PL_peepp + perl_destruct + PERL_EXIT_DESTRUCT_END PerlIO_clearerr PerlIO_close PerlIO_eof PerlIO_error PerlIO_fileno - PerlIO_fill + PerlIO_fill (undocumented) PerlIO_flush PerlIO_get_base PerlIO_get_bufsiz @@ -1183,279 +1686,400 @@ Perl below which it is unsupported: PerlIO_read PerlIO_seek PerlIO_set_cnt - PerlIO_set_ptrcnt PerlIO_setlinebuf + PerlIO_set_ptrcnt PerlIO_stderr PerlIO_stdin PerlIO_stdout PerlIO_tell - PerlIO_unread + PerlIO_unread (undocumented) PerlIO_write - SvLOCK - SvSHARE - SvUNLOCK - atfork_lock - atfork_unlock - custom_op_desc - custom_op_name - deb - debstack - debstackptrs - gv_fetchmeth_autoload - ibcmp_utf8 - my_fork - my_socketpair - pack_cat - perl_destruct + PL_peepp pv_uni_display - save_shared_pvref + rvpv_dup (undocumented) savesharedpv + save_shared_pvref (undocumented) + si_dup (undocumented) sortsv + ss_dup (undocumented) + sv_copypv + sv_dup (undocumented) + SvLOCK sv_magicext - sv_nolocking + sv_nolocking (DEPRECATED) sv_nosharing + sv_nounlocking (DEPRECATED) sv_recode_to_utf8 + SvSHARE sv_uni_display - unpack_str + SvUNLOCK + unpack_str (DEPRECATED) uvchr_to_utf8_flags - uvuni_to_utf8_flags - vdeb + vdeb (undocumented) =item perl 5.7.2 + atfork_lock (undocumented) + atfork_unlock (undocumented) calloc getcwd_sv - init_tm + init_tm (undocumented) malloc - mfree - mini_mktime - my_atof2 - my_strftime + mfree (undocumented) + mini_mktime (undocumented) + my_strftime (undocumented) op_null + OSVERS realloc sv_catpvn_flags sv_catsv_flags - sv_setsv_flags sv_utf8_upgrade_flags sv_utf8_upgrade_nomg =item perl 5.7.1 + bytes_from_utf8 (marked experimental) + despatch_signals (undocumented) + do_openn (undocumented) + gv_handler (undocumented) + isALNUM_LC_uvchr + isALPHA_LC_uvchr + isCNTRL_LC_uvchr + isDIGIT_LC_uvchr + isGRAPH_LC_uvchr + isIDFIRST_LC_uvchr + isLOWER_LC_uvchr + is_lvalue_sub (undocumented) + isPRINT_LC_uvchr + isPUNCT_LC_uvchr + isSPACE_LC_uvchr + isUPPER_LC_uvchr + my_popen_list (undocumented) + PerlIO_apply_layers + PerlIO_binmode + PerlIO_debug POPpbytex - despatch_signals - do_openn - gv_handler - is_lvalue_sub - my_popen_list - save_mortalizesv - scan_num + printf_nocontext (DEPRECATED) (undocumented) + save_mortalizesv (undocumented) + scan_num (undocumented) sv_force_normal_flags sv_setref_uv sv_unref_flags sv_utf8_upgrade + UTF8_CHECK_ONLY utf8_length utf8n_to_uvchr - utf8n_to_uvuni uvchr_to_utf8 - uvuni_to_utf8 + UVXf =item perl 5.6.1 - SvGAMAGIC - gv_efullname4 - gv_fullname4 + apply_attrs_string (marked experimental) (undocumented) + bytes_to_utf8 (marked experimental) + gv_efullname4 (undocumented) + gv_fullname4 (undocumented) + isPSXSPC_LC + isUTF8_CHAR is_utf8_string - save_generic_pvref - utf16_to_utf8 - utf16_to_utf8_reversed + NVSIZE + save_generic_pvref (undocumented) + SvGAMAGIC + utf8_to_bytes (marked experimental) + utf8_to_uvchr (DEPRECATED) + utf8_to_uvchr_buf =item perl 5.6.0 - DO_UTF8 - PERL_SYS_INIT3 - PL_check - POPul - SvIOK_UV - SvIOK_notUV - SvIOK_only_UV - SvPOK_only_UTF8 - SvPVbyte_nolen - SvPVbytex - SvPVbytex_force - SvPVutf8 - SvPVutf8_force - SvPVutf8_nolen - SvPVutf8x - SvPVutf8x_force - SvUOK - SvUTF8 - SvUTF8_off - SvUTF8_on - UTF8SKIP av_delete av_exists - call_atexit + call_atexit (undocumented) caller_cx - cast_i32 - cast_iv - cast_ulong - cast_uv - do_gv_dump - do_gvgv_dump - do_hv_dump - do_magic_dump - do_op_dump - do_open9 - do_pmop_dump - do_sv_dump + cast_i32 (undocumented) + cast_iv (undocumented) + cast_ulong (undocumented) + cast_uv (undocumented) + ckWARN2 + ckWARN2_d + ckWARN_d + CPPLAST + CPPRUN + do_gv_dump (undocumented) + do_gvgv_dump (undocumented) + do_hv_dump (undocumented) + do_magic_dump (undocumented) + do_op_dump (undocumented) + do_open9 (DEPRECATED) (undocumented) + do_pmop_dump (undocumented) + do_sv_dump (undocumented) + DO_UTF8 dump_all - dump_eval - dump_form - dump_indent + dump_eval (undocumented) + dump_form (undocumented) + dump_indent (undocumented) dump_packsubs - dump_sub - dump_vindent - get_context - get_ppaddr - gv_dump - magic_dump - my_atof - my_fflush_all - newANONATTRSUB - newATTRSUB + dump_sub (undocumented) + dump_vindent (undocumented) + get_context (undocumented) + get_ppaddr (undocumented) + gv_dump (undocumented) + I16SIZE + I16TYPE + I32SIZE + I32TYPE + I8SIZE + I8TYPE + isALNUMC_LC + isALPHA_LC_utf8_safe + isALPHANUMERIC_LC_utf8_safe + isALPHANUMERIC_utf8_safe + isALPHANUMERIC_uvchr + isALPHA_utf8_safe + isALPHA_uvchr + isBLANK_LC_utf8_safe + isBLANK_utf8_safe + isBLANK_uvchr + isCNTRL_LC + isCNTRL_LC_utf8_safe + isCNTRL_utf8_safe + isCNTRL_uvchr + isDIGIT_LC_utf8_safe + isDIGIT_utf8_safe + isDIGIT_uvchr + isGRAPH_LC + isGRAPH_LC_utf8_safe + isGRAPH_utf8_safe + isGRAPH_uvchr + isIDCONT_LC_utf8_safe + isIDCONT_utf8_safe + isIDCONT_uvchr + isIDFIRST_LC_utf8_safe + isIDFIRST_utf8_safe + isIDFIRST_uvchr + isLOWER_LC_utf8_safe + isLOWER_utf8_safe + isLOWER_uvchr + isPRINT_LC_utf8_safe + isPRINT_utf8_safe + isPRINT_uvchr + isPSXSPC_LC_utf8_safe + isPSXSPC_utf8_safe + isPSXSPC_uvchr + isPUNCT_LC + isPUNCT_LC_utf8_safe + isPUNCT_utf8_safe + isPUNCT_uvchr + isSPACE_LC_utf8_safe + isSPACE_utf8_safe + isSPACE_uvchr + isUPPER_LC_utf8_safe + isUPPER_utf8_safe + isUPPER_uvchr + is_utf8_char (DEPRECATED) + isWORDCHAR_LC_utf8_safe + isWORDCHAR_utf8_safe + isWORDCHAR_uvchr + isXDIGIT_LC_utf8_safe + isXDIGIT_utf8_safe + isXDIGIT_uvchr + LSEEKSIZE + magic_dump (undocumented) + my_atof (undocumented) + my_fflush_all (undocumented) + newANONATTRSUB (undocumented) + newATTRSUB (undocumented) newXS newXSproto op_dump + OPpEARLY_CV + PERL_EXIT_EXPECTED perl_parse - pmop_dump - re_intuit_string - reginitcolors + PERL_SYS_INIT3 + PL_check + PL_exit_flags + PL_runops + pmop_dump (undocumented) + POPul + reginitcolors (undocumented) require_pv - safesyscalloc - safesysfree - safesysmalloc - safesysrealloc - save_I8 - save_alloc - save_destructor - save_destructor_x - save_re_context - save_vptr + safesyscalloc (undocumented) + safesysfree (undocumented) + safesysmalloc (undocumented) + safesysrealloc (undocumented) + save_alloc (undocumented) + save_destructor (undocumented) + save_destructor_x (undocumented) + save_I8 (undocumented) + save_re_context (undocumented) + save_vptr (undocumented) scan_bin - set_context - set_numeric_local - set_numeric_radix - set_numeric_standard - str_to_version + set_context (undocumented) + Strtol + Strtoul + str_to_version (undocumented) sv_2pvutf8 sv_2pvutf8_nolen sv_force_normal + SvIOK_notUV + SvIOK_only_UV + SvIOK_UV sv_len_utf8 + SvPOK_only_UTF8 sv_pos_b2u sv_pos_u2b sv_pv sv_pvbyte - sv_pvbyten + sv_pvbyten (DEPRECATED) sv_pvbyten_force + SvPVbyte_nolen + SvPVbytex + SvPVbytex_force sv_pvutf8 - sv_pvutf8n + SvPVutf8 + SvPVutf8_force + sv_pvutf8n (DEPRECATED) sv_pvutf8n_force + SvPVutf8_nolen + SvPVutf8x + SvPVutf8x_force sv_rvweaken + SvUOK + sv_utf8_decode + sv_utf8_downgrade sv_utf8_encode + SvUTF8_off + SvUTF8_on + toFOLD_utf8_safe + toFOLD_uvchr + toLOWER_utf8_safe + toLOWER_uvchr + toTITLE_utf8_safe + toTITLE_uvchr + toUPPER_utf8_safe + toUPPER_uvchr + U16SIZE + U16TYPE + U32SIZE + U32TYPE + U8SIZE + U8TYPE + UTF8_CHK_SKIP utf8_distance utf8_hop + UTF8_MAXBYTES + UTF8_SAFE_SKIP + UTF8_SKIP + UTF8SKIP vcroak - vform - vmess + vform (undocumented) vwarn - vwarner + vwarner (undocumented) =item perl 5.005_03 + get_vtbl (undocumented) POPpx - get_vtbl - save_generic_svref + save_generic_svref (undocumented) =item perl 5.005 - PL_curpad - PL_modglobal - cx_dump - debop - debprofdump + cx_dump (undocumented) + debop (undocumented) + debprofdump (undocumented) + DOUBLESIZE fbm_compile fbm_instr - get_op_descs - get_op_names - init_stacks - mg_size - newHVhv - new_stackinfo - regdump - regexec_flags - regnext - runops_debug - runops_standard - save_iv - save_op - sv_iv - sv_nv - sv_peek - sv_pvn - sv_pvn_nomg + get_op_descs (undocumented) + get_op_names (undocumented) + init_stacks (undocumented) + mg_length (DEPRECATED) + mg_size (undocumented) + newHVhv (undocumented) + new_stackinfo (undocumented) + PL_curpad (marked experimental) + PL_in_my_stash (undocumented) + PL_modglobal + PTRSIZE + regdump (undocumented) + regexec_flags (undocumented) + regnext (undocumented) + runops_debug (undocumented) + runops_standard (undocumented) + save_iv (undocumented) + sv_iv (DEPRECATED) + sv_nv (DEPRECATED) + sv_peek (undocumented) + sv_pvn (DEPRECATED) + sv_pvn_nomg (DEPRECATED) (undocumented) sv_true =item perl 5.004_05 - CopyD - MoveD - do_binmode - my_bcopy - save_aelem - save_helem + do_binmode (DEPRECATED) (undocumented) + GV_NOINIT + save_aelem (undocumented) + save_helem (undocumented) =item perl 5.004 - GIMME_V - G_VOID - HePV - HeSVKEY_set - POPu - SvSetMagicSV - SvSetMagicSV_nosteal - SvSetSV_nosteal - SvTAINTED - SvTAINTED_off - SvTAINTED_on + ARCHNAME block_end - block_gimme + block_gimme (undocumented) block_start - call_list - delimcpy + call_list (undocumented) + delimcpy (undocumented) form - gv_autoload4 + GIMME_V + gv_autoload4 (undocumented) gv_fetchmethod_autoload - hv_delayfree_ent - hv_free_ent + G_VOID + HePV + HeSVKEY_set + hv_delayfree_ent (undocumented) + hv_free_ent (undocumented) ibcmp_locale + IN_LOCALE + IN_LOCALE_COMPILETIME + IN_LOCALE_RUNTIME intro_my - my_failure_exit + isALNUM_LC + isALPHA_LC + isALPHANUMERIC_LC + isDIGIT_LC + isIDCONT_LC + isIDFIRST_LC + isLOWER_LC + isPRINT_LC + isSPACE_LC + isUPPER_LC + isWORDCHAR_LC + mess + mess_sv + my_failure_exit (undocumented) newSVpvf + PERL_USE_GCC_BRACE_GROUPS (undocumented) + PL_mess_sv (undocumented) + POPu rsignal - rsignal_state - save_I16 + rsignal_state (undocumented) save_gp - share_hek - start_subparse + save_I16 (undocumented) + share_hek (undocumented) + SHORTSIZE sv_catpvf sv_catpvf_mg sv_cmp_locale sv_derived_from - sv_magic_portable + sv_magic_portable (undocumented) + SvSetMagicSV + SvSetMagicSV_nosteal sv_setpvf sv_setpvf_mg + SvSetSV_nosteal sv_taint sv_tainted + SvTAINTED + SvTAINTED_off + SvTAINTED_on sv_untaint sv_vcatpvf sv_vcatpvf_mg @@ -1464,31 +2088,980 @@ Perl below which it is unsupported: sv_vsetpvf_mg sv_vsetpvfn toLOWER_LC - vnewSVpvf - warner - -=item perl 5.003_07 - + vmess + vnewSVpvf (undocumented) + warner (undocumented) + +=item perl 5.003_07 (at least) + + amagic_call (undocumented) + aTHX + aTHX_ + aTHXR (undocumented) + aTHXR_ (undocumented) + av_clear + av_extend + av_fetch + av_fill + AvFILL + AvFILLp + av_len + av_make + av_pop + av_push + av_shift + av_store + av_tindex + av_top_index + av_undef + av_unshift + ax + BIN + BOM_UTF8 + boolSV + BYTEORDER + call_argv + call_method + call_pv + call_sv + C_ARRAY_END + C_ARRAY_LENGTH + CASTFLAGS + cBOOL + ckWARN + CLASS + Copy + CopyD + CPPMINUS + CPPSTDIN + croak + croak_memory_wrap (undocumented) + croak_no_modify + croak_sv + croak_xs_usage + cv_clone + cv_const_sv + CvDEPTH (undocumented) + CvGV (undocumented) + CvSTASH + cv_undef + cxinc (undocumented) + dAX + dAXMARK + DEFSV (undocumented) + die + die_sv + dITEMS + dMARK + dNOOP (undocumented) + do_close (undocumented) + do_join (undocumented) + do_open (undocumented) + dORIGMARK + do_sprintf (undocumented) + dounwind (undocumented) + dowantarray (undocumented) + dSP + dTHR + dTHX + dTHXR (undocumented) + dUNDERBAR + dVAR + dXCPT + dXSARGS + dXSI32 + dXSTARG (undocumented) + END_EXTERN_C (undocumented) + ENTER + ERRSV + eval_pv + eval_sv + EXTEND + EXTERN_C (undocumented) + filter_add + filter_del (undocumented) + filter_read + free_tmps (undocumented) + FREETMPS + G_ARRAY + G_DISCARD + get_av + get_cv + get_cvn_flags + get_hv + get_sv + G_EVAL + GIMME + G_METHOD + G_NOARGS + gp_free (undocumented) + gp_ref (undocumented) + G_RETHROW + grok_bin + grok_hex + grok_number + GROK_NUMERIC_RADIX + grok_numeric_radix + grok_oct + G_SCALAR + GV_ADD + GV_ADDMULTI + GvAV + gv_AVadd (undocumented) + gv_check (undocumented) + GvCV + gv_efullname (DEPRECATED) (undocumented) + gv_efullname3 (undocumented) + gv_fetchfile (undocumented) + gv_fetchmeth + gv_fetchmethod + gv_fetchpv (undocumented) + gv_fetchpvn_flags (undocumented) + gv_fetchsv (undocumented) + gv_fullname (DEPRECATED) (undocumented) + gv_fullname3 (undocumented) + GvHV + gv_HVadd (undocumented) + gv_init + gv_init_pvn + gv_IOadd (undocumented) + GV_NOADD_MASK (undocumented) + gv_stashpv + gv_stashpvn + gv_stashpvs + gv_stashsv + GvSV + HEf_SVKEY HeHASH HeKEY HeKLEN HeSVKEY HeSVKEY_force HeVAL - cv_const_sv - do_open - gv_efullname3 - gv_fullname3 + hv_clear + hv_delete hv_delete_ent + hv_exists hv_exists_ent + hv_fetch hv_fetch_ent + hv_fetchs + HvFILL + hv_iterinit + hv_iterkey hv_iterkeysv - hv_ksplit + hv_iternext + hv_iternextsv + hv_iterval + hv_ksplit (undocumented) + hv_magic + HvNAME + hv_store hv_store_ent - my_pclose - my_popen + hv_stores + hv_undef + ibcmp + IN_PERL_COMPILETIME (undocumented) + instr + INT2PTR + INTSIZE + isALNUM + isALNUM_A + isALNUMC + isALNUMC_A + isALNUMC_L1 + isALPHA + isALPHA_A + isALPHA_L1 + isALPHANUMERIC + isALPHANUMERIC_A + isALPHANUMERIC_L1 + isASCII + isASCII_A + isASCII_L1 + isASCII_LC + isASCII_utf8_safe + isASCII_uvchr + isBLANK + isBLANK_A + isBLANK_L1 + isBLANK_LC + isCNTRL + isCNTRL_A + isCNTRL_L1 + isDIGIT + isDIGIT_A + isDIGIT_L1 + isGRAPH + isGRAPH_A + isGRAPH_L1 + isIDCONT + isIDCONT_A + isIDCONT_L1 + isIDFIRST + isIDFIRST_A + isIDFIRST_L1 + isLOWER + isLOWER_A + isLOWER_L1 + IS_NUMBER_GREATER_THAN_UV_MAX + IS_NUMBER_INFINITY + IS_NUMBER_IN_UV + IS_NUMBER_NAN + IS_NUMBER_NEG + IS_NUMBER_NOT_INT + isOCTAL + isOCTAL_A + isOCTAL_L1 + isPRINT + isPRINT_A + isPRINT_L1 + isPSXSPC + isPSXSPC_A + isPSXSPC_L1 + isPUNCT + isPUNCT_A + isPUNCT_L1 + isSPACE + isSPACE_A + isSPACE_L1 + isUPPER + isUPPER_A + isUPPER_L1 + isWORDCHAR + isWORDCHAR_A + isWORDCHAR_L1 + isXDIGIT + isXDIGIT_A + isXDIGIT_L1 + isXDIGIT_LC + items + IVdf + IVSIZE + IVTYPE + ix + LATIN1_TO_NATIVE + LEAVE + leave_scope (undocumented) + LIKELY + load_module + LONGSIZE + looks_like_number + MARK + memCHRs + memEQ + memEQs + memNE + memNEs + mg_clear + mg_copy + mg_find + mg_findext + mg_free + mg_get + mg_magical + mg_set + moreswitches (undocumented) + Move + MoveD + mPUSHi + mPUSHn + mPUSHp + mPUSHs + mPUSHu + mXPUSHi + mXPUSHn + mXPUSHp + mXPUSHs + mXPUSHu + my_exit + my_pclose (undocumented) + my_popen (undocumented) + my_setenv + my_snprintf + my_sprintf (DEPRECATED) + my_strlcat + my_strlcpy + my_strnlen + NATIVE_TO_LATIN1 + NATIVE_TO_UNI + newANONHASH (undocumented) + newANONLIST (undocumented) + newANONSUB (undocumented) + newASSIGNOP + newAV + newAVREF (undocumented) + newBINOP + newCONDOP + newCONSTSUB + newCVREF (undocumented) + newFORM (undocumented) + newGVgen (undocumented) + newGVOP + newGVREF (undocumented) + newHV + newHVREF (undocumented) + newIO (undocumented) + newLISTOP + newLOGOP + newLOOPEX + newLOOPOP + newNULLLIST + newOP + newPMOP + newPROG (undocumented) + newPVOP + newRANGE + newRV (undocumented) + newRV_inc + newRV_noinc + newSLICEOP + newSTATEOP + newSUB (undocumented) + newSV + newSViv + newSVnv + newSVOP + newSVpv + newSVpvn + newSVpvn_flags + newSVpvn_share + newSVpvn_utf8 + newSVpvs + newSVpvs_flags + newSVpvs_share + newSVREF (undocumented) + newSVrv + newSVsv + newSVsv_flags (undocumented) + newSVsv_nomg + newSV_type + newSVuv + newUNOP + Newx + Newxc + Newxz + ninstr + NOOP (undocumented) + Nullav (DEPRECATED) + Nullch + Nullcv (DEPRECATED) + Nullhv (DEPRECATED) + Nullsv + NVef + NVff + NVgf + NVTYPE + OPf_KIDS + op_free + OpHAS_SIBLING + OpLASTSIB_set + OpMAYBESIB_set + OpMORESIB_set + OPpENTERSUB_AMPER + OpSIBLING + ORIGMARK + OSNAME + pad_alloc (marked experimental) + PERL_ABS + perl_alloc + PERL_BCDVERSION (undocumented) + perl_construct + Perl_eval_pv (undocumented) + Perl_eval_sv (undocumented) + perl_free + PERL_HASH + PERL_INT_MAX + PERL_INT_MIN + PerlIO_canset_cnt + PerlIO_exportFILE + PerlIO_fast_gets + PerlIO_fdopen + PerlIO_findFILE + PerlIO_getc + PerlIO_getpos + PerlIO_has_base + PerlIO_has_cntptr + PerlIO_importFILE + PerlIO_open + PerlIO_printf + PerlIO_putc + PerlIO_puts + PerlIO_releaseFILE + PerlIO_reopen + PerlIO_rewind + PerlIO_setpos + PerlIO_stdoutf + PerlIO_ungetc + PerlIO_vprintf + PERL_LOADMOD_DENY + PERL_LOADMOD_IMPORT_OPS + PERL_LOADMOD_NOIMPORT + PERL_LONG_MAX + PERL_LONG_MIN + PERL_MAGIC_arylen + PERL_MAGIC_backref + PERL_MAGIC_bm + PERL_MAGIC_collxfrm + PERL_MAGIC_dbfile + PERL_MAGIC_dbline + PERL_MAGIC_defelem + PERL_MAGIC_env + PERL_MAGIC_envelem + PERL_MAGIC_ext + PERL_MAGIC_fm + PERL_MAGIC_glob (undocumented) + PERL_MAGIC_isa + PERL_MAGIC_isaelem + PERL_MAGIC_mutex (undocumented) + PERL_MAGIC_nkeys + PERL_MAGIC_overload (undocumented) + PERL_MAGIC_overload_elem (undocumented) + PERL_MAGIC_overload_table + PERL_MAGIC_pos + PERL_MAGIC_qr + PERL_MAGIC_regdata + PERL_MAGIC_regdatum + PERL_MAGIC_regex_global + PERL_MAGIC_shared + PERL_MAGIC_shared_scalar + PERL_MAGIC_sig + PERL_MAGIC_sigelem + PERL_MAGIC_substr + PERL_MAGIC_sv + PERL_MAGIC_taint + PERL_MAGIC_tied + PERL_MAGIC_tiedelem + PERL_MAGIC_tiedscalar + PERL_MAGIC_utf8 + PERL_MAGIC_uvar + PERL_MAGIC_uvar_elem + PERL_MAGIC_vec + PERL_MAGIC_vstring + PERL_PV_ESCAPE_ALL + PERL_PV_ESCAPE_FIRSTCHAR + PERL_PV_ESCAPE_NOBACKSLASH + PERL_PV_ESCAPE_NOCLEAR + PERL_PV_ESCAPE_QUOTE + PERL_PV_ESCAPE_RE + PERL_PV_ESCAPE_UNI + PERL_PV_ESCAPE_UNI_DETECT + PERL_PV_PRETTY_DUMP (undocumented) + PERL_PV_PRETTY_ELLIPSES + PERL_PV_PRETTY_LTGT + PERL_PV_PRETTY_NOCLEAR (undocumented) + PERL_PV_PRETTY_QUOTE + PERL_PV_PRETTY_REGPROP (undocumented) + PERL_QUAD_MAX + PERL_QUAD_MIN + PERL_REVISION + perl_run + PERL_SCAN_ALLOW_UNDERSCORES + PERL_SCAN_DISALLOW_PREFIX + PERL_SCAN_GREATER_THAN_UV_MAX + PERL_SCAN_SILENT_ILLDIGIT + PERL_SHORT_MAX + PERL_SHORT_MIN + PERL_SIGNALS_UNSAFE_FLAG (undocumented) + PERL_SUBVERSION + PERL_SYS_INIT + PERL_SYS_TERM + PERL_UCHAR_MAX + PERL_UCHAR_MIN + PERL_UINT_MAX + PERL_UINT_MIN (undocumented) + PERL_ULONG_MAX + PERL_ULONG_MIN + PERL_UNUSED_CONTEXT (undocumented) + PERL_UNUSED_DECL (undocumented) + PERL_UQUAD_MAX + PERL_UQUAD_MIN + PERL_USHORT_MAX + PERL_USHORT_MIN + PERL_VERSION + PL_bufend (undocumented) + PL_bufptr (undocumented) + PL_compiling (undocumented) + PL_copline (undocumented) + PL_curcop + PL_curstash + PL_DBsignal (undocumented) + PL_DBsingle + PL_DBsub + PL_DBtrace + PL_debstash (undocumented) + PL_defgv + PL_diehook (undocumented) + PL_dirty (undocumented) + PL_dowarn + PL_errgv + PL_error_count (undocumented) + PL_expect (undocumented) + PL_hexdigit (undocumented) + PL_hints (undocumented) + PL_in_my (undocumented) + PL_laststatval (undocumented) + PL_lex_state (undocumented) + PL_lex_stuff (undocumented) + PL_linestr (undocumented) + PL_na + PL_no_modify (undocumented) + PL_parser + PL_perldb (undocumented) + PL_perl_destruct_level + PL_ppaddr (undocumented) + PL_rsfp (undocumented) + PL_rsfp_filters (undocumented) + PL_stack_base (undocumented) + PL_stack_sp (undocumented) + PL_statcache (undocumented) + PL_stdingv (undocumented) + PL_Sv (undocumented) + PL_sv_arenaroot (undocumented) + PL_sv_no + PL_sv_undef + PL_sv_yes + PL_tainted (undocumented) + PL_tainting (undocumented) + PL_tokenbuf (undocumented) + PL_Xpv (undocumented) + Poison + PoisonFree + PoisonNew + PoisonWith + POPi + POPl + POPn + POPp + POPs + pop_scope (undocumented) + pregexec (undocumented) + pregfree (undocumented) + PRIVLIB + pTHX + pTHX_ + PTR2IV + PTR2NV + PTR2UV + PTRV (undocumented) + PUSHi + PUSHMARK + PUSHmortal + PUSHn + PUSHp + PUSHs + push_scope (undocumented) + PUSHu + PUTBACK + pv_display + pv_escape + pv_pretty + RANDBITS + Renew + Renewc + repeatcpy (undocumented) + REPLACEMENT_CHARACTER_UTF8 + RETVAL + rninstr + Safefree + save_aptr + save_ary + save_clearsv (undocumented) + SAVE_DEFSV (undocumented) + save_delete (undocumented) + save_freepv (undocumented) + save_freesv (undocumented) + save_hash + save_hptr + save_I32 (undocumented) + save_int (undocumented) + save_item + save_list (DEPRECATED) + save_long (DEPRECATED) (undocumented) + save_nogv (DEPRECATED) (undocumented) + save_pptr (undocumented) + savepv + savepvn + save_scalar + save_sptr (undocumented) + savestack_grow (undocumented) + save_svref + SAVETMPS + scan_hex + scan_oct + setdefout + SITELIB + SP + SPAGAIN + ST + stack_grow (undocumented) + START_EXTERN_C (undocumented) + STARTPERL + start_subparse (undocumented) + STDCHAR + STMT_END + STMT_START + strEQ + strGE + strGT + strLE + strLT + strNE + strnEQ + strnNE + StructCopy + STR_WITH_LEN + sv_2bool + sv_2cv + sv_2io + sv_2iv (undocumented) + sv_2mortal + sv_2pv (undocumented) + sv_2pvbyte + sv_2pvbyte_nolen + sv_2pv_flags + sv_2pv_nolen + sv_2uv (undocumented) + sv_backoff + sv_bless + sv_catpv + sv_catpv_mg + sv_catpvn + sv_catpvn_mg + sv_catpvn_nomg + sv_catpvs + sv_catsv + sv_catsv_mg + sv_catsv_nomg + sv_chop + sv_clear + sv_cmp + SV_CONST_RETURN (undocumented) + SV_COW_DROP_PV + SV_COW_SHARED_HASH_KEYS (undocumented) + SvCUR + SvCUR_set + sv_dec + sv_dump + SvEND + sv_eq + SVf + SVfARG + sv_free + SVf_UTF8 + SvGETMAGIC sv_gets - unsharepvn + SV_GMAGIC + sv_grow + SvGROW + SV_HAS_TRAILING_NUL + SV_IMMEDIATE_UNREF + sv_inc + sv_insert + SvIOK + SvIOK_off + SvIOK_on + SvIOK_only + SvIOKp + sv_isa + sv_isobject + SvIV + SvIV_nomg + SvIV_set + SvIVX + SvIVx + sv_len + SvLEN + SvLEN_set + sv_magic + SvMAGIC_set + sv_mortalcopy + sv_mortalcopy_flags + SV_MUTABLE_RETURN (undocumented) + sv_newmortal + sv_newref + SvNIOK + SvNIOK_off + SvNIOKp + SvNOK + SvNOK_off + SvNOK_on + SvNOK_only + SvNOKp + SV_NOSTEAL + SvNV + SvNV_nomg + SvNV_set + SvNVX + SvNVx + SvOK + SvOOK + SvPOK + SvPOK_off + SvPOK_on + SvPOK_only + SvPOKp + SvPV + SvPVbyte + SvPV_force + SvPV_force_nomg + sv_pvn_force + sv_pvn_force_flags + SvPV_nolen + SvPV_nomg + SvPV_nomg_nolen + SvPV_set + SvPVX + SvPVx + SvREADONLY + SvREADONLY_off + SvREADONLY_on + SvREFCNT + SvREFCNT_dec + SvREFCNT_inc + SvREFCNT_inc_NN + SvREFCNT_inc_simple + SvREFCNT_inc_simple_NN + SvREFCNT_inc_simple_void + SvREFCNT_inc_simple_void_NN + SvREFCNT_inc_void + SvREFCNT_inc_void_NN + sv_reftype + sv_replace + sv_report_used + sv_reset + SvROK + SvROK_off + SvROK_on + SvRV + SvRV_set + SvRX + SvRXOK + sv_setiv + sv_setiv_mg + SvSETMAGIC + sv_setnv + sv_setnv_mg + sv_setpv + sv_setpv_mg + sv_setpvn + sv_setpvn_mg + sv_setpvs + sv_setref_iv + sv_setref_nv + sv_setref_pv + sv_setref_pvn + sv_setsv + SvSetSV + sv_setsv_flags + sv_setsv_mg + sv_setsv_nomg + sv_setuv + sv_setuv_mg + SV_SMAGIC + SvSTASH + SvSTASH_set + SVs_TEMP + SvTAINT + SVt_IV + SVt_NULL + SVt_NV + SVt_PV + SVt_PVAV + SVt_PVCV + SVt_PVFM + SVt_PVGV + SVt_PVHV + SVt_PVIO + SVt_PVIV + SVt_PVLV + SVt_PVMG + SVt_PVNV + SvTRUE + SvTRUE_nomg + SvTRUEx + SvTYPE + svtype + sv_unmagic + sv_unmagicext + sv_unref + sv_upgrade + SvUPGRADE + sv_usepvn + sv_usepvn_mg + SvUTF8 + SV_UTF8_NO_ENCODING (undocumented) + sv_uv (DEPRECATED) + SvUV + SvUV_nomg + SvUV_set + SvUVX + SvUVx + SvUVXx (DEPRECATED) + switch_to_global_locale + sync_locale + taint_env (undocumented) + taint_proper (undocumented) + THIS + toLOWER + toUPPER + UNDERBAR + UNICODE_REPLACEMENT + UNI_TO_NATIVE + UNLIKELY + unsharepvn (undocumented) + UTF8f + UTF8fARG + UTF8_IS_INVARIANT + UTF8_MAXBYTES_CASE + UVCHR_IS_INVARIANT + UVCHR_SKIP + UVof + UVSIZE + UVTYPE + UVuf + UVxf + vload_module (undocumented) + warn + WARN_ALL + WARN_AMBIGUOUS + WARN_ASSERTIONS (undocumented) + WARN_BAREWORD + WARN_CLOSED + WARN_CLOSURE + WARN_DEBUGGING + WARN_DEPRECATED + WARN_DIGIT + WARN_EXEC + WARN_EXITING + WARN_GLOB + WARN_INPLACE + WARN_INTERNAL + WARN_IO + WARN_LAYER + WARN_MALLOC + WARN_MISC + WARN_NEWLINE + WARN_NUMERIC + WARN_ONCE + WARN_OVERFLOW + WARN_PACK + WARN_PARENTHESIS + WARN_PIPE + WARN_PORTABLE + WARN_PRECEDENCE + WARN_PRINTF + WARN_PROTOTYPE + WARN_QW + WARN_RECURSION + WARN_REDEFINE + WARN_REGEXP + WARN_RESERVED + WARN_SEMICOLON + WARN_SEVERE + WARN_SIGNAL + WARN_SUBSTR + warn_sv + WARN_SYNTAX + WARN_TAINT + WARN_THREADS + WARN_UNINITIALIZED + WARN_UNOPENED + WARN_UNPACK + WARN_UNTIE + WARN_UTF8 + WARN_VOID + whichsig (undocumented) + WIDEST_UTYPE + XCPT_CATCH + XCPT_RETHROW + XCPT_TRY_END + XCPT_TRY_START + XPUSHi + XPUSHmortal + XPUSHn + XPUSHp + XPUSHs + XPUSHu + XS + XSprePUSH (undocumented) + XSRETURN + XSRETURN_EMPTY + XSRETURN_IV + XSRETURN_NO + XSRETURN_NV + XSRETURN_PV + XSRETURN_UNDEF + XSRETURN_UV + XSRETURN_YES + XST_mIV + XST_mNO + XST_mNV + XST_mPV + XST_mUNDEF + XST_mUV + XST_mYES + XS_VERSION + XS_VERSION_BOOTCHECK + Zero + ZeroD + +=item Backported version unknown + + CopFILE (undocumented) + CopFILEAV (undocumented) + CopFILEGV (undocumented) + CopFILEGV_set (undocumented) + CopFILE_set (undocumented) + CopFILESV (undocumented) + CopSTASH (undocumented) + CopSTASH_eq (undocumented) + CopSTASHPV (undocumented) + CopSTASHPV_set (undocumented) + CopSTASH_set (undocumented) + CPERLscope (undocumented) + DEFSV_set (undocumented) + dTHXa (undocumented) + dTHXoa (undocumented) + get_cvs (undocumented) + gv_fetchpvs (undocumented) + GvSVn (undocumented) + HvNAME_get (undocumented) + HvNAMELEN_get (undocumented) + isGV_with_GP (undocumented) + MUTABLE_PTR (undocumented) + MUTABLE_SV (undocumented) + NUM2PTR (undocumented) + packWARN (undocumented) + PERLIO_FUNCS_CAST (undocumented) + PERLIO_FUNCS_DECL (undocumented) + PERL_UNUSED_ARG (undocumented) + PERL_UNUSED_RESULT (undocumented) + PERL_UNUSED_VAR (undocumented) + PL_signals (undocumented) + PTR2nat (undocumented) + PTR2ul (undocumented) + SvPV_const (undocumented) + SvPV_flags (undocumented) + SvPV_flags_const (undocumented) + SvPV_flags_const_nolen (undocumented) + SvPV_flags_mutable (undocumented) + SvPV_force_flags (undocumented) + SvPV_force_flags_mutable (undocumented) + SvPV_force_flags_nolen (undocumented) + SvPV_force_mutable (undocumented) + SvPV_force_nolen (undocumented) + SvPV_force_nomg_nolen (undocumented) + SvPV_mutable (undocumented) + SvPV_nolen_const (undocumented) + SvPV_nomg_const (undocumented) + SvPV_nomg_const_nolen (undocumented) + SvPV_renew (undocumented) + SvPVX_const (undocumented) + SvPVX_mutable (undocumented) + SvSHARED_HASH (undocumented) + SvVSTRING_mg (undocumented) + XSPROTO (undocumented) =back @@ -1496,7 +3069,7 @@ Perl below which it is unsupported: If you find any bugs, C doesn't seem to build on your system, or any of its tests fail, please send a bug report to -L. +L. =head1 AUTHORS @@ -1514,9 +3087,9 @@ Version 2.x was ported to the Perl core by Paul Marquess. Version 3.x was ported back to CPAN by Marcus Holland-Moritz. -=item * +=item * -Versions >= 3.22 are maintained with support from Matthew Horsfall (alh). +Versions >= 3.22 are maintained by perl5 porters =back @@ -1544,7 +3117,7 @@ package Devel::PPPort; use strict; use vars qw($VERSION $data); -$VERSION = '3.52'; +$VERSION = '3.57'; sub _init_data { @@ -1637,7 +3210,7 @@ SKIP |>=head1 COMPATIBILITY |> |>This version of F is designed to support operation with Perl -|>installations back to 5.003, and has been tested up to 5.30. +|>installations back to 5.003_07, and has been tested up to 5.31.6. |> |>=head1 OPTIONS |> @@ -1678,7 +3251,7 @@ SKIP |> |>Tell F to check for compatibility with the given |>Perl version. The default is to check for compatibility with Perl -|>version 5.003. You can use this option to reduce the output +|>version 5.003_07. You can use this option to reduce the output |>of F if you intend to be backward compatible only |>down to a certain Perl version. |> @@ -1798,9 +3371,6 @@ SKIP |> |> Function / Variable Static Request Global Request |> ----------------------------------------------------------------------------------------- -|> PL_parser NEED_PL_parser NEED_PL_parser_GLOBAL -|> PL_signals NEED_PL_signals NEED_PL_signals_GLOBAL -|> SvRX() NEED_SvRX NEED_SvRX_GLOBAL |> caller_cx() NEED_caller_cx NEED_caller_cx_GLOBAL |> croak_xs_usage() NEED_croak_xs_usage NEED_croak_xs_usage_GLOBAL |> die_sv() NEED_die_sv NEED_die_sv_GLOBAL @@ -1810,7 +3380,6 @@ SKIP |> grok_number() NEED_grok_number NEED_grok_number_GLOBAL |> grok_numeric_radix() NEED_grok_numeric_radix NEED_grok_numeric_radix_GLOBAL |> grok_oct() NEED_grok_oct NEED_grok_oct_GLOBAL -|> gv_fetchpvn_flags() NEED_gv_fetchpvn_flags NEED_gv_fetchpvn_flags_GLOBAL |> load_module() NEED_load_module NEED_load_module_GLOBAL |> mess() NEED_mess NEED_mess_GLOBAL |> mess_nocontext() NEED_mess_nocontext NEED_mess_nocontext_GLOBAL @@ -1822,25 +3391,20 @@ SKIP |> my_strlcpy() NEED_my_strlcpy NEED_my_strlcpy_GLOBAL |> my_strnlen() NEED_my_strnlen NEED_my_strnlen_GLOBAL |> newCONSTSUB() NEED_newCONSTSUB NEED_newCONSTSUB_GLOBAL -|> newRV_noinc() NEED_newRV_noinc NEED_newRV_noinc_GLOBAL -|> newSV_type() NEED_newSV_type NEED_newSV_type_GLOBAL -|> newSVpvn_flags() NEED_newSVpvn_flags NEED_newSVpvn_flags_GLOBAL |> newSVpvn_share() NEED_newSVpvn_share NEED_newSVpvn_share_GLOBAL +|> PL_parser NEED_PL_parser NEED_PL_parser_GLOBAL +|> PL_signals NEED_PL_signals NEED_PL_signals_GLOBAL |> pv_display() NEED_pv_display NEED_pv_display_GLOBAL |> pv_escape() NEED_pv_escape NEED_pv_escape_GLOBAL |> pv_pretty() NEED_pv_pretty NEED_pv_pretty_GLOBAL -|> sv_2pv_flags() NEED_sv_2pv_flags NEED_sv_2pv_flags_GLOBAL -|> sv_2pvbyte() NEED_sv_2pvbyte NEED_sv_2pvbyte_GLOBAL |> sv_catpvf_mg() NEED_sv_catpvf_mg NEED_sv_catpvf_mg_GLOBAL |> sv_catpvf_mg_nocontext() NEED_sv_catpvf_mg_nocontext NEED_sv_catpvf_mg_nocontext_GLOBAL -|> sv_pvn_force_flags() NEED_sv_pvn_force_flags NEED_sv_pvn_force_flags_GLOBAL |> sv_setpvf_mg() NEED_sv_setpvf_mg NEED_sv_setpvf_mg_GLOBAL |> sv_setpvf_mg_nocontext() NEED_sv_setpvf_mg_nocontext NEED_sv_setpvf_mg_nocontext_GLOBAL |> sv_unmagicext() NEED_sv_unmagicext NEED_sv_unmagicext_GLOBAL |> utf8_to_uvchr_buf() NEED_utf8_to_uvchr_buf NEED_utf8_to_uvchr_buf_GLOBAL |> vload_module() NEED_vload_module NEED_vload_module_GLOBAL |> vmess() NEED_vmess NEED_vmess_GLOBAL -|> vnewSVpvf() NEED_vnewSVpvf NEED_vnewSVpvf_GLOBAL |> warner() NEED_warner NEED_warner_GLOBAL |> |>To avoid namespace conflicts, you can change the namespace of the @@ -1912,6 +3476,10 @@ SKIP |> |>=head1 BUGS |> +|>Some of the suggested edits and/or generated patches may not compile as-is +|>without tweaking manually. This is generally due to the need for an extra +|>parameter to be added to the call to prevent buffer overflow. +|> |>If this version of F is causing failure during |>the compilation of this module, please check if newer versions |>of either this module or C are available on CPAN @@ -1967,8 +3535,138 @@ SKIP |> |>=cut +# These are tools that must be included in ppport.h. It doesn't work if given +# a .pl suffix + +sub format_version +{ + # Given an input version that is acceptable to parse_version(), return a + # string of the standard representation of it. + + my($r,$v,$s) = parse_version(shift); + + if ($r < 5 || ($r == 5 && $v < 6)) { + my $ver = sprintf "%d.%03d", $r, $v; + $s > 0 and $ver .= sprintf "_%02d", $s; + + return $ver; + } + + return sprintf "%d.%d.%d", $r, $v, $s; +} + +sub parse_version +{ + # Returns a triplet, (5, major, minor) from the input, treated as a string, + # which can be in any of several typical formats. + + my $ver = shift; + $ver = "" unless defined $ver; + + my($r,$v,$s); + + if ( ($r, $v, $s) = $ver =~ /^(5)(\d{3})(\d{3})$/ # 5029010, from the file + # names in our + # parts/base/ and + # parts/todo directories + or ($r, $v, $s) = $ver =~ /^(\d+)\.(\d+)\.(\d+)$/ # 5.25.7 + or ($r, $v, $s) = $ver =~ /^(\d+)\.(\d{3})(\d{3})$/ # 5.025008, from the + # output of $] + or ($r, $v, $s) = $ver =~ /^(\d+)\.(\d{1,3})()$/ # 5.24, 5.004 + or ($r, $v, $s) = $ver =~ /^(\d+)\.(00[1-5])_?(\d{2})$/ # 5.003_07 + ) { + + $s = 0 unless $s; + + die "Only Perl 5 is supported '$ver'\n" if $r != 5; + die "Invalid version number: $ver\n" if $v >= 1000 || $s >= 1000; + return (5, 0 + $v, 0 + $s); + } + + # For some safety, don't assume something is a version number if it has a + # literal dot as one of the three characters. This will have to be fixed + # when we reach 5.46 + if ($ver !~ /\./ && (($r, $v, $s) = $ver =~ /^(.)(.)(.)$/)) # vstring 5.25.7 + { + $r = ord $r; + $v = ord $v; + $s = ord $s; + + die "Only Perl 5 is supported '$ver'\n" if $r != 5; + return (5, $v, $s); + } + + my $mesg = ""; + $mesg = ". (In 5.00x_yz, x must be 1-5.)" if $ver =~ /_/; + die "Invalid version number format: '$ver'$mesg\n"; +} + +sub int_parse_version +{ + # Returns integer 7 digit human-readable version, suitable for use in file + # names in parts/todo parts/base. + + return 0 + join "", map { sprintf("%03d", $_) } parse_version(shift); +} + +sub ivers # Shorter name for int_parse_version +{ + return int_parse_version(shift); +} + +sub format_version_line +{ + # Returns a floating point representation of the input version + + my $version = int_parse_version(shift); + $version =~ s/^5\B/5./; + return $version; +} + +sub dictionary_order($$) # Sort caselessly, ignoring punct +{ + my ($lc_a, $lc_b); + my ($squeezed_a, $squeezed_b); + my ($valid_a, $valid_b); # Meaning valid for all releases + + # On early perls, the implicit pass by reference doesn't work, so we have + # to use the globals to initialize. + if ("$]" < "5.006" ) { + $valid_a = $a; $valid_b = $b; + } + else { + ($valid_a, $valid_b) = @_; + } + + $lc_a = lc $valid_a; + $lc_b = lc $valid_b; + + $squeezed_a = $lc_a; + $squeezed_a =~ s/[\W_]//g; # No punct, including no underscore + $squeezed_b = $lc_b; + $squeezed_b =~ s/[\W_]//g; + + return( $squeezed_a cmp $squeezed_b + or $lc_a cmp $lc_b + or $valid_a cmp $valid_b); +} + +sub sort_api_lines # Sort lines of the form flags|return|name|args... + # by 'name' +{ + $a =~ / ^ [^|]* \| [^|]* \| (\w+) /x; # 3rd field '|' is sep + my $a_name = $1; + $b =~ / ^ [^|]* \| [^|]* \| (\w+) /x; + my $b_name = $1; + return dictionary_order($a_name, $b_name); +} + +1; + use strict; +BEGIN { require warnings if "$]" > '5.006' } + # Disable broken TRIE-optimization BEGIN { eval '${^RE_TRIE_MAXBUF} = -1' if "$]" >= 5.009004 && "$]" <= 5.009005 } @@ -2017,2399 +3715,2943 @@ if ($opt{version}) { usage() if $opt{help}; strip() if $opt{strip}; -if (exists $opt{'compat-version'}) { - my($r,$v,$s) = eval { parse_version($opt{'compat-version'}) }; - if ($@) { - die "Invalid version number format: '$opt{'compat-version'}'\n"; - } - die "Only Perl 5 is supported\n" if $r != 5; - die "Invalid version number: $opt{'compat-version'}\n" if $v >= 1000 || $s >= 1000; - $opt{'compat-version'} = sprintf "%d.%03d%03d", $r, $v, $s; -} -else { - $opt{'compat-version'} = 5; -} +$opt{'compat-version'} = 5.003_07 unless exists $opt{'compat-version'}; +$opt{'compat-version'} = int_parse_version($opt{'compat-version'}); +my $int_min_perl = int_parse_version(5.003_07); + +# Each element of this hash looks something like: +# 'Poison' => { +# 'base' => '5.008000', +# 'provided' => 1, +# 'todo' => '5.003007' +# }, my %API = map { /^(\w+)\|([^|]*)\|([^|]*)\|(\w*)$/ ? ( $1 => { ($2 ? ( base => $2 ) : ()), ($3 ? ( todo => $3 ) : ()), (index($4, 'v') >= 0 ? ( varargs => 1 ) : ()), (index($4, 'p') >= 0 ? ( provided => 1 ) : ()), - (index($4, 'n') >= 0 ? ( nothxarg => 1 ) : ()), + (index($4, 'n') >= 0 ? ( noTHXarg => 1 ) : ()), + (index($4, 'c') >= 0 ? ( core_only => 1 ) : ()), + (index($4, 'd') >= 0 ? ( deprecated => 1 ) : ()), + (index($4, 'i') >= 0 ? ( inaccessible => 1 ) : ()), + (index($4, 'x') >= 0 ? ( experimental => 1 ) : ()), + (index($4, 'u') >= 0 ? ( undocumented => 1 ) : ()), + (index($4, 'o') >= 0 ? ( ppport_fnc => 1 ) : ()), + (index($4, 'V') >= 0 ? ( unverified => 1 ) : ()), } ) : die "invalid spec: $_" } qw( -AvFILLp|5.004050||p -AvFILL||| -BOM_UTF8||| -BhkDISABLE||5.024000| -BhkENABLE||5.024000| -BhkENTRY_set||5.024000| -BhkENTRY||| -BhkFLAGS||| -CALL_BLOCK_HOOKS||| -CLASS|||n -CPERLscope|5.005000||p -CX_CURPAD_SAVE||| -CX_CURPAD_SV||| -C_ARRAY_END|5.013002||p -C_ARRAY_LENGTH|5.008001||p -CopFILEAV|5.006000||p -CopFILEGV_set|5.006000||p -CopFILEGV|5.006000||p -CopFILESV|5.006000||p -CopFILE_set|5.006000||p -CopFILE|5.006000||p -CopSTASHPV_set|5.006000||p -CopSTASHPV|5.006000||p -CopSTASH_eq|5.006000||p -CopSTASH_set|5.006000||p -CopSTASH|5.006000||p -CopyD|5.009002|5.004050|p -Copy||| -CvPADLIST||5.008001| -CvSTASH||| -CvWEAKOUTSIDE||| -DECLARATION_FOR_LC_NUMERIC_MANIPULATION||5.021010|n -DEFSV_set|5.010001||p -DEFSV|5.004050||p -DO_UTF8||5.006000| -END_EXTERN_C|5.005000||p -ENTER||| -ERRSV|5.004050||p -EXTEND||| -EXTERN_C|5.005000||p -F0convert|||n -FREETMPS||| -GIMME_V||5.004000|n -GIMME|||n -GROK_NUMERIC_RADIX|5.007002||p -G_ARRAY||| -G_DISCARD||| -G_EVAL||| -G_METHOD|5.006001||p -G_NOARGS||| -G_SCALAR||| -G_VOID||5.004000| -GetVars||| -GvAV||| -GvCV||| -GvHV||| -GvSV||| -Gv_AMupdate||5.011000| -HEf_SVKEY|5.003070||p -HeHASH||5.003070| -HeKEY||5.003070| -HeKLEN||5.003070| -HePV||5.004000| -HeSVKEY_force||5.003070| -HeSVKEY_set||5.004000| -HeSVKEY||5.003070| -HeUTF8|5.010001|5.008000|p -HeVAL||5.003070| -HvENAMELEN||5.015004| -HvENAMEUTF8||5.015004| -HvENAME||5.013007| -HvNAMELEN_get|5.009003||p -HvNAMELEN||5.015004| -HvNAMEUTF8||5.015004| -HvNAME_get|5.009003||p -HvNAME||| -INT2PTR|5.006000||p -IN_LOCALE_COMPILETIME|5.007002||p -IN_LOCALE_RUNTIME|5.007002||p -IN_LOCALE|5.007002||p -IN_PERL_COMPILETIME|5.008001||p -IS_NUMBER_GREATER_THAN_UV_MAX|5.007002||p -IS_NUMBER_INFINITY|5.007002||p -IS_NUMBER_IN_UV|5.007002||p -IS_NUMBER_NAN|5.007003||p -IS_NUMBER_NEG|5.007002||p -IS_NUMBER_NOT_INT|5.007002||p -IVSIZE|5.006000||p -IVTYPE|5.006000||p -IVdf|5.006000||p -LEAVE||| -LIKELY|||p -LINKLIST||5.013006| -LVRET||| -MARK||| -MULTICALL||5.024000| -MUTABLE_PTR|5.010001||p -MUTABLE_SV|5.010001||p -MY_CXT_CLONE|5.009002||p -MY_CXT_INIT|5.007003||p -MY_CXT|5.007003||p -MoveD|5.009002|5.004050|p -Move||| -NOOP|5.005000||p -NUM2PTR|5.006000||p -NVTYPE|5.006000||p -NVef|5.006001||p -NVff|5.006001||p -NVgf|5.006001||p -Newxc|5.009003||p -Newxz|5.009003||p -Newx|5.009003||p -Nullav||| -Nullch||| -Nullcv||| -Nullhv||| -Nullsv||| -OP_CLASS||5.013007| -OP_DESC||5.007003| -OP_NAME||5.007003| -OP_TYPE_IS_OR_WAS||5.019010| -OP_TYPE_IS||5.019007| -ORIGMARK||| -OpHAS_SIBLING|5.021007||p -OpLASTSIB_set|5.021011||p -OpMAYBESIB_set|5.021011||p -OpMORESIB_set|5.021011||p -OpSIBLING|5.021007||p -PAD_BASE_SV||| -PAD_CLONE_VARS||| -PAD_COMPNAME_FLAGS||| -PAD_COMPNAME_GEN_set||| -PAD_COMPNAME_GEN||| -PAD_COMPNAME_OURSTASH||| -PAD_COMPNAME_PV||| -PAD_COMPNAME_TYPE||| -PAD_RESTORE_LOCAL||| -PAD_SAVE_LOCAL||| -PAD_SAVE_SETNULLPAD||| -PAD_SETSV||| -PAD_SET_CUR_NOSAVE||| -PAD_SET_CUR||| -PAD_SVl||| -PAD_SV||| -PERLIO_FUNCS_CAST|5.009003||p -PERLIO_FUNCS_DECL|5.009003||p -PERL_ABS|5.008001||p -PERL_ARGS_ASSERT_CROAK_XS_USAGE|||p -PERL_BCDVERSION|5.024000||p -PERL_GCC_BRACE_GROUPS_FORBIDDEN|5.008001||p -PERL_HASH|5.003070||p -PERL_INT_MAX|5.003070||p -PERL_INT_MIN|5.003070||p -PERL_LONG_MAX|5.003070||p -PERL_LONG_MIN|5.003070||p -PERL_MAGIC_arylen|5.007002||p -PERL_MAGIC_backref|5.007002||p -PERL_MAGIC_bm|5.007002||p -PERL_MAGIC_collxfrm|5.007002||p -PERL_MAGIC_dbfile|5.007002||p -PERL_MAGIC_dbline|5.007002||p -PERL_MAGIC_defelem|5.007002||p -PERL_MAGIC_envelem|5.007002||p -PERL_MAGIC_env|5.007002||p -PERL_MAGIC_ext|5.007002||p -PERL_MAGIC_fm|5.007002||p -PERL_MAGIC_glob|5.024000||p -PERL_MAGIC_isaelem|5.007002||p -PERL_MAGIC_isa|5.007002||p -PERL_MAGIC_mutex|5.024000||p -PERL_MAGIC_nkeys|5.007002||p -PERL_MAGIC_overload_elem|5.024000||p -PERL_MAGIC_overload_table|5.007002||p -PERL_MAGIC_overload|5.024000||p -PERL_MAGIC_pos|5.007002||p -PERL_MAGIC_qr|5.007002||p -PERL_MAGIC_regdata|5.007002||p -PERL_MAGIC_regdatum|5.007002||p -PERL_MAGIC_regex_global|5.007002||p -PERL_MAGIC_shared_scalar|5.007003||p -PERL_MAGIC_shared|5.007003||p -PERL_MAGIC_sigelem|5.007002||p -PERL_MAGIC_sig|5.007002||p -PERL_MAGIC_substr|5.007002||p -PERL_MAGIC_sv|5.007002||p -PERL_MAGIC_taint|5.007002||p -PERL_MAGIC_tiedelem|5.007002||p -PERL_MAGIC_tiedscalar|5.007002||p -PERL_MAGIC_tied|5.007002||p -PERL_MAGIC_utf8|5.008001||p -PERL_MAGIC_uvar_elem|5.007003||p -PERL_MAGIC_uvar|5.007002||p -PERL_MAGIC_vec|5.007002||p -PERL_MAGIC_vstring|5.008001||p -PERL_PV_ESCAPE_ALL|5.009004||p -PERL_PV_ESCAPE_FIRSTCHAR|5.009004||p -PERL_PV_ESCAPE_NOBACKSLASH|5.009004||p -PERL_PV_ESCAPE_NOCLEAR|5.009004||p -PERL_PV_ESCAPE_QUOTE|5.009004||p -PERL_PV_ESCAPE_RE|5.009005||p -PERL_PV_ESCAPE_UNI_DETECT|5.009004||p -PERL_PV_ESCAPE_UNI|5.009004||p -PERL_PV_PRETTY_DUMP|5.009004||p -PERL_PV_PRETTY_ELLIPSES|5.010000||p -PERL_PV_PRETTY_LTGT|5.009004||p -PERL_PV_PRETTY_NOCLEAR|5.010000||p -PERL_PV_PRETTY_QUOTE|5.009004||p -PERL_PV_PRETTY_REGPROP|5.009004||p -PERL_QUAD_MAX|5.003070||p -PERL_QUAD_MIN|5.003070||p -PERL_REVISION|5.006000||p -PERL_SCAN_ALLOW_UNDERSCORES|5.007003||p -PERL_SCAN_DISALLOW_PREFIX|5.007003||p -PERL_SCAN_GREATER_THAN_UV_MAX|5.007003||p -PERL_SCAN_SILENT_ILLDIGIT|5.008001||p -PERL_SHORT_MAX|5.003070||p -PERL_SHORT_MIN|5.003070||p -PERL_SIGNALS_UNSAFE_FLAG|5.008001||p -PERL_SUBVERSION|5.006000||p -PERL_SYS_INIT3||5.006000| -PERL_SYS_INIT||| -PERL_SYS_TERM||5.024000| -PERL_UCHAR_MAX|5.003070||p -PERL_UCHAR_MIN|5.003070||p -PERL_UINT_MAX|5.003070||p -PERL_UINT_MIN|5.003070||p -PERL_ULONG_MAX|5.003070||p -PERL_ULONG_MIN|5.003070||p -PERL_UNUSED_ARG|5.009003||p -PERL_UNUSED_CONTEXT|5.009004||p -PERL_UNUSED_DECL|5.007002||p -PERL_UNUSED_RESULT|5.021001||p -PERL_UNUSED_VAR|5.007002||p -PERL_UQUAD_MAX|5.003070||p -PERL_UQUAD_MIN|5.003070||p -PERL_USE_GCC_BRACE_GROUPS|5.009004||p -PERL_USHORT_MAX|5.003070||p -PERL_USHORT_MIN|5.003070||p -PERL_VERSION|5.006000||p -PL_DBsignal|5.005000||p -PL_DBsingle|||pn -PL_DBsub|||pn -PL_DBtrace|||pn -PL_Sv|5.005000||p -PL_bufend|5.024000||p -PL_bufptr|5.024000||p -PL_check||5.006000| -PL_compiling|5.004050||p -PL_comppad_name||5.017004| -PL_comppad||5.008001| -PL_copline|5.024000||p -PL_curcop|5.004050||p -PL_curpad||5.005000| -PL_curstash|5.004050||p -PL_debstash|5.004050||p -PL_defgv|5.004050||p -PL_diehook|5.004050||p -PL_dirty|5.004050||p -PL_dowarn|||pn -PL_errgv|5.004050||p -PL_error_count|5.024000||p -PL_expect|5.024000||p -PL_hexdigit|5.005000||p -PL_hints|5.005000||p -PL_in_my_stash|5.024000||p -PL_in_my|5.024000||p -PL_keyword_plugin||5.011002| -PL_last_in_gv|||n -PL_laststatval|5.005000||p -PL_lex_state|5.024000||p -PL_lex_stuff|5.024000||p -PL_linestr|5.024000||p -PL_modglobal||5.005000|n -PL_na|5.004050||pn -PL_no_modify|5.006000||p -PL_ofsgv|||n -PL_opfreehook||5.011000|n -PL_parser|5.009005||p -PL_peepp||5.007003|n -PL_perl_destruct_level|5.004050||p -PL_perldb|5.004050||p -PL_ppaddr|5.006000||p -PL_rpeepp||5.013005|n -PL_rsfp_filters|5.024000||p -PL_rsfp|5.024000||p -PL_rs|||n -PL_signals|5.008001||p -PL_stack_base|5.004050||p -PL_stack_sp|5.004050||p -PL_statcache|5.005000||p -PL_stdingv|5.004050||p -PL_sv_arenaroot|5.004050||p -PL_sv_no|5.004050||pn -PL_sv_undef|5.004050||pn -PL_sv_yes|5.004050||pn -PL_sv_zero|||n -PL_tainted|5.004050||p -PL_tainting|5.004050||p -PL_tokenbuf|5.024000||p -POP_MULTICALL||5.024000| -POPi|||n -POPl|||n -POPn|||n -POPpbytex||5.007001|n -POPpx||5.005030|n -POPp|||n -POPs|||n -POPul||5.006000|n -POPu||5.004000|n -PTR2IV|5.006000||p -PTR2NV|5.006000||p -PTR2UV|5.006000||p -PTR2nat|5.009003||p -PTR2ul|5.007001||p -PTRV|5.006000||p -PUSHMARK||| -PUSH_MULTICALL||5.024000| -PUSHi||| -PUSHmortal|5.009002||p -PUSHn||| -PUSHp||| -PUSHs||| -PUSHu|5.004000||p -PUTBACK||| -PadARRAY||5.024000| -PadMAX||5.024000| -PadlistARRAY||5.024000| -PadlistMAX||5.024000| -PadlistNAMESARRAY||5.024000| -PadlistNAMESMAX||5.024000| -PadlistNAMES||5.024000| -PadlistREFCNT||5.017004| -PadnameIsOUR||| -PadnameIsSTATE||| -PadnameLEN||5.024000| -PadnameOURSTASH||| -PadnameOUTER||| -PadnamePV||5.024000| -PadnameREFCNT_dec||5.024000| -PadnameREFCNT||5.024000| -PadnameSV||5.024000| -PadnameTYPE||| -PadnameUTF8||5.021007| -PadnamelistARRAY||5.024000| -PadnamelistMAX||5.024000| -PadnamelistREFCNT_dec||5.024000| -PadnamelistREFCNT||5.024000| -PerlIO_clearerr||5.007003| -PerlIO_close||5.007003| -PerlIO_context_layers||5.009004| -PerlIO_eof||5.007003| -PerlIO_error||5.007003| -PerlIO_fileno||5.007003| -PerlIO_fill||5.007003| -PerlIO_flush||5.007003| -PerlIO_get_base||5.007003| -PerlIO_get_bufsiz||5.007003| -PerlIO_get_cnt||5.007003| -PerlIO_get_ptr||5.007003| -PerlIO_read||5.007003| -PerlIO_restore_errno||| -PerlIO_save_errno||| -PerlIO_seek||5.007003| -PerlIO_set_cnt||5.007003| -PerlIO_set_ptrcnt||5.007003| -PerlIO_setlinebuf||5.007003| -PerlIO_stderr||5.007003| -PerlIO_stdin||5.007003| -PerlIO_stdout||5.007003| -PerlIO_tell||5.007003| -PerlIO_unread||5.007003| -PerlIO_write||5.007003| -PerlLIO_dup2_cloexec||| -PerlLIO_dup_cloexec||| -PerlLIO_open3_cloexec||| -PerlLIO_open_cloexec||| -PerlProc_pipe_cloexec||| -PerlSock_accept_cloexec||| -PerlSock_socket_cloexec||| -PerlSock_socketpair_cloexec||| -Perl_langinfo|||n -Perl_setlocale|||n -PoisonFree|5.009004||p -PoisonNew|5.009004||p -PoisonWith|5.009004||p -Poison|5.008000||p -READ_XDIGIT||5.017006| -REPLACEMENT_CHARACTER_UTF8||| -RESTORE_LC_NUMERIC||5.024000| -RETVAL|||n -Renewc||| -Renew||| -SAVECLEARSV||| -SAVECOMPPAD||| -SAVEPADSV||| -SAVETMPS||| -SAVE_DEFSV|5.004050||p -SPAGAIN||| -SP||| -START_EXTERN_C|5.005000||p -START_MY_CXT|5.007003||p -STMT_END|||p -STMT_START|||p -STORE_LC_NUMERIC_FORCE_TO_UNDERLYING||5.024000| -STORE_LC_NUMERIC_SET_TO_NEEDED||5.024000| -STR_WITH_LEN|5.009003||p -ST||| -SV_CONST_RETURN|5.009003||p -SV_COW_DROP_PV|5.008001||p -SV_COW_SHARED_HASH_KEYS|5.009005||p -SV_GMAGIC|5.007002||p -SV_HAS_TRAILING_NUL|5.009004||p -SV_IMMEDIATE_UNREF|5.007001||p -SV_MUTABLE_RETURN|5.009003||p -SV_NOSTEAL|5.009002||p -SV_SMAGIC|5.009003||p -SV_UTF8_NO_ENCODING|5.008001||p -SVfARG|5.009005||p -SVf_UTF8|5.006000||p -SVf|5.006000||p -SVt_INVLIST||5.019002| -SVt_IV||| -SVt_NULL||| -SVt_NV||| -SVt_PVAV||| -SVt_PVCV||| -SVt_PVFM||| -SVt_PVGV||| -SVt_PVHV||| -SVt_PVIO||| -SVt_PVIV||| -SVt_PVLV||| -SVt_PVMG||| -SVt_PVNV||| -SVt_PV||| -SVt_REGEXP||5.011000| -Safefree||| -Slab_Alloc||| -Slab_Free||| -Slab_to_ro||| -Slab_to_rw||| -StructCopy||| -SvCUR_set||| -SvCUR||| -SvEND||| -SvGAMAGIC||5.006001| -SvGETMAGIC|5.004050||p -SvGROW||| -SvIOK_UV||5.006000| -SvIOK_notUV||5.006000| -SvIOK_off||| -SvIOK_only_UV||5.006000| -SvIOK_only||| -SvIOK_on||| -SvIOKp||| -SvIOK||| -SvIVX||| -SvIV_nomg|5.009001||p -SvIV_set||| -SvIVx||| -SvIV||| -SvIsCOW_shared_hash||5.008003| -SvIsCOW||5.008003| -SvLEN_set||| -SvLEN||| -SvLOCK||5.007003| -SvMAGIC_set|5.009003||p -SvNIOK_off||| -SvNIOKp||| -SvNIOK||| -SvNOK_off||| -SvNOK_only||| -SvNOK_on||| -SvNOKp||| -SvNOK||| -SvNVX||| -SvNV_nomg||5.013002| -SvNV_set||| -SvNVx||| -SvNV||| -SvOK||| -SvOOK_offset||5.011000| -SvOOK||| -SvPOK_off||| -SvPOK_only_UTF8||5.006000| -SvPOK_only||| -SvPOK_on||| -SvPOKp||| -SvPOK||| -SvPVCLEAR||| -SvPVX_const|5.009003||p -SvPVX_mutable|5.009003||p -SvPVX||| -SvPV_const|5.009003||p -SvPV_flags_const_nolen|5.009003||p -SvPV_flags_const|5.009003||p -SvPV_flags_mutable|5.009003||p -SvPV_flags|5.007002||p -SvPV_force_flags_mutable|5.009003||p -SvPV_force_flags_nolen|5.009003||p -SvPV_force_flags|5.007002||p -SvPV_force_mutable|5.009003||p -SvPV_force_nolen|5.009003||p -SvPV_force_nomg_nolen|5.009003||p -SvPV_force_nomg|5.007002||p -SvPV_force|||p -SvPV_mutable|5.009003||p -SvPV_nolen_const|5.009003||p -SvPV_nolen|5.006000||p -SvPV_nomg_const_nolen|5.009003||p -SvPV_nomg_const|5.009003||p -SvPV_nomg_nolen|5.013007||p -SvPV_nomg|5.007002||p -SvPV_renew|5.009003||p -SvPV_set||| -SvPVbyte_force||5.009002| -SvPVbyte_nolen||5.006000| -SvPVbytex_force||5.006000| -SvPVbytex||5.006000| -SvPVbyte|5.006000||p -SvPVutf8_force||5.006000| -SvPVutf8_nolen||5.006000| -SvPVutf8x_force||5.006000| -SvPVutf8x||5.006000| -SvPVutf8||5.006000| -SvPVx||| -SvPV||| -SvREADONLY_off||| -SvREADONLY_on||| -SvREADONLY||| -SvREFCNT_dec_NN||5.017007| -SvREFCNT_dec||| -SvREFCNT_inc_NN|5.009004||p -SvREFCNT_inc_simple_NN|5.009004||p -SvREFCNT_inc_simple_void_NN|5.009004||p -SvREFCNT_inc_simple_void|5.009004||p -SvREFCNT_inc_simple|5.009004||p -SvREFCNT_inc_void_NN|5.009004||p -SvREFCNT_inc_void|5.009004||p -SvREFCNT_inc|||p -SvREFCNT||| -SvROK_off||| -SvROK_on||| -SvROK||| -SvRV_set|5.009003||p -SvRV||| -SvRXOK|5.009005||p -SvRX|5.009005||p -SvSETMAGIC||| -SvSHARED_HASH|5.009003||p -SvSHARE||5.007003| -SvSTASH_set|5.009003||p -SvSTASH||| -SvSetMagicSV_nosteal||5.004000| -SvSetMagicSV||5.004000| -SvSetSV_nosteal||5.004000| -SvSetSV||| -SvTAINTED_off||5.004000| -SvTAINTED_on||5.004000| -SvTAINTED||5.004000| -SvTAINT||| -SvTHINKFIRST||| -SvTRUE_nomg||5.013006| -SvTRUE||| -SvTYPE||| -SvUNLOCK||5.007003| -SvUOK|5.007001|5.006000|p -SvUPGRADE||| -SvUTF8_off||5.006000| -SvUTF8_on||5.006000| -SvUTF8||5.006000| -SvUVXx|5.004000||p -SvUVX|5.004000||p -SvUV_nomg|5.009001||p -SvUV_set|5.009003||p -SvUVx|5.004000||p -SvUV|5.004000||p -SvVOK||5.008001| -SvVSTRING_mg|5.009004||p -THIS|||n -UNDERBAR|5.009002||p -UNICODE_REPLACEMENT|||p -UNLIKELY|||p -UTF8SKIP||5.006000| -UTF8_IS_INVARIANT||| -UTF8_IS_NONCHAR||| -UTF8_IS_SUPER||| -UTF8_IS_SURROGATE||| -UTF8_MAXBYTES|5.009002||p -UTF8_SAFE_SKIP|||p -UVCHR_IS_INVARIANT||| -UVCHR_SKIP||5.022000| -UVSIZE|5.006000||p -UVTYPE|5.006000||p -UVXf|5.007001||p -UVof|5.006000||p -UVuf|5.006000||p -UVxf|5.006000||p -WARN_ALL|5.006000||p -WARN_AMBIGUOUS|5.006000||p -WARN_ASSERTIONS|5.024000||p -WARN_BAREWORD|5.006000||p -WARN_CLOSED|5.006000||p -WARN_CLOSURE|5.006000||p -WARN_DEBUGGING|5.006000||p -WARN_DEPRECATED|5.006000||p -WARN_DIGIT|5.006000||p -WARN_EXEC|5.006000||p -WARN_EXITING|5.006000||p -WARN_GLOB|5.006000||p -WARN_INPLACE|5.006000||p -WARN_INTERNAL|5.006000||p -WARN_IO|5.006000||p -WARN_LAYER|5.008000||p -WARN_MALLOC|5.006000||p -WARN_MISC|5.006000||p -WARN_NEWLINE|5.006000||p -WARN_NUMERIC|5.006000||p -WARN_ONCE|5.006000||p -WARN_OVERFLOW|5.006000||p -WARN_PACK|5.006000||p -WARN_PARENTHESIS|5.006000||p -WARN_PIPE|5.006000||p -WARN_PORTABLE|5.006000||p -WARN_PRECEDENCE|5.006000||p -WARN_PRINTF|5.006000||p -WARN_PROTOTYPE|5.006000||p -WARN_QW|5.006000||p -WARN_RECURSION|5.006000||p -WARN_REDEFINE|5.006000||p -WARN_REGEXP|5.006000||p -WARN_RESERVED|5.006000||p -WARN_SEMICOLON|5.006000||p -WARN_SEVERE|5.006000||p -WARN_SIGNAL|5.006000||p -WARN_SUBSTR|5.006000||p -WARN_SYNTAX|5.006000||p -WARN_TAINT|5.006000||p -WARN_THREADS|5.008000||p -WARN_UNINITIALIZED|5.006000||p -WARN_UNOPENED|5.006000||p -WARN_UNPACK|5.006000||p -WARN_UNTIE|5.006000||p -WARN_UTF8|5.006000||p -WARN_VOID|5.006000||p -WIDEST_UTYPE|5.015004||p -XCPT_CATCH|5.009002||p -XCPT_RETHROW|5.009002||p -XCPT_TRY_END|5.009002||p -XCPT_TRY_START|5.009002||p -XPUSHi||| -XPUSHmortal|5.009002||p -XPUSHn||| -XPUSHp||| -XPUSHs||| -XPUSHu|5.004000||p -XSPROTO|5.010000||p -XSRETURN_EMPTY||| -XSRETURN_IV||| -XSRETURN_NO||| -XSRETURN_NV||| -XSRETURN_PV||| -XSRETURN_UNDEF||| -XSRETURN_UV|5.008001||p -XSRETURN_YES||| -XSRETURN|||p -XST_mIV||| -XST_mNO||| -XST_mNV||| -XST_mPV||| -XST_mUNDEF||| -XST_mUV|5.008001||p -XST_mYES||| -XS_APIVERSION_BOOTCHECK||5.024000| -XS_EXTERNAL||5.024000| -XS_INTERNAL||5.024000| -XS_VERSION_BOOTCHECK||5.024000| -XS_VERSION||| -XSprePUSH|5.006000||p -XS||| -XopDISABLE||5.024000| -XopENABLE||5.024000| -XopENTRYCUSTOM||5.024000| -XopENTRY_set||5.024000| -XopENTRY||5.024000| -XopFLAGS||5.013007| -ZeroD|5.009002||p -Zero||| -__ASSERT_|||p -_aMY_CXT|5.007003||p -_inverse_folds||| -_is_grapheme||| -_is_in_locale_category||| -_new_invlist_C_array||| -_pMY_CXT|5.007003||p -_to_fold_latin1|||n -_to_upper_title_latin1||| -_to_utf8_case||| -_variant_byte_number|||n -_warn_problematic_locale|||n -aMY_CXT_|5.007003||p -aMY_CXT|5.007003||p -aTHXR_|5.024000||p -aTHXR|5.024000||p -aTHX_|5.006000||p -aTHX|5.006000||p -abort_execution||| -add_above_Latin1_folds||| -add_data|||n -add_multi_match||| -add_utf16_textfilter||| -adjust_size_and_find_bucket|||n -advance_one_LB||| -advance_one_SB||| -advance_one_WB||| -allocmy||| -amagic_call||| -amagic_cmp_locale||| -amagic_cmp||| -amagic_deref_call||5.013007| -amagic_i_ncmp||| -amagic_is_enabled||| -amagic_ncmp||| -anonymise_cv_maybe||| -any_dup||| -ao||| -apply_attrs_my||| -apply_attrs||| -apply||| -argvout_final||| -assert_uft8_cache_coherent||| -assignment_type||| -atfork_lock||5.007003|n -atfork_unlock||5.007003|n -av_arylen_p||5.009003| -av_clear||| -av_delete||5.006000| -av_exists||5.006000| -av_extend_guts||| -av_extend||| -av_fetch||| -av_fill||| -av_iter_p||5.011000| -av_len||| -av_make||| -av_nonelem||| -av_pop||| -av_push||| -av_reify||| -av_shift||| -av_store||| -av_tindex|5.017009|5.017009|p -av_top_index|5.017009|5.017009|p -av_undef||| -av_unshift||| -ax|||n -backup_one_GCB||| -backup_one_LB||| -backup_one_SB||| -backup_one_WB||| -bad_type_gv||| -bad_type_pv||| -bind_match||| -block_end||5.004000| -block_gimme||5.004000| -block_start||5.004000| -blockhook_register||5.013003| -boolSV|5.004000||p -boot_core_PerlIO||| -boot_core_UNIVERSAL||| -boot_core_mro||| -bytes_cmp_utf8||5.013007| -cBOOL|5.013000||p -call_argv|5.006000||p -call_atexit||5.006000| -call_list||5.004000| -call_method|5.006000||p -call_pv|5.006000||p -call_sv|5.006000||p +abort_execution|5.025010||Viu +add_above_Latin1_folds|5.021001||Viu +add_cp_to_invlist|5.013011||Viu +add_data|5.005000||nViu +add_multi_match|5.021004||Viu +_add_range_to_invlist|5.016000||cViu +add_utf16_textfilter|5.011001||Viu +adjust_size_and_find_bucket|5.019003||nViu +advance_one_LB|5.023007||Viu +advance_one_SB|5.021009||Viu +advance_one_WB|5.021009||Viu +alloccopstash|5.017001|5.017001|x +alloc_LOGOP|5.025004||xViu +allocmy|5.008001||Viu +amagic_call|5.003007|5.003007|u +amagic_cmp|5.009003||Viu +amagic_cmp_locale|5.009003||Viu +amagic_deref_call|5.013007|5.013007|u +amagic_i_ncmp|5.009003||Viu +amagic_is_enabled|5.015008||Viu +amagic_ncmp|5.009003||Viu +_aMY_CXT|5.009000|5.009000|p +aMY_CXT_|5.009000|5.009000|p +aMY_CXT|5.009000|5.009000|p +anonymise_cv_maybe|5.013003||Viu +any_dup|5.006000||Vu +ao|5.005000||Viu +_append_range_to_invlist|5.013010||Viu +append_utf8_from_native_byte|5.019004||ncViu +apply|5.003007||Viu +apply_attrs|5.006000||Viu +apply_attrs_my|5.007003||Viu +apply_attrs_string|5.006001|5.006001|xu +ARCHNAME|5.004000|5.004000| +argvout_final|5.029006||Viu +ASCII_TO_NEED|5.019004||ndcVu +__ASSERT_|5.019007|5.008008|p +assert_uft8_cache_coherent|5.013003||Viu +assignment_type|5.021005||Viu +atfork_lock|5.007002|5.007002|nu +atfork_unlock|5.007002|5.007002|nu +aTHX_|5.006000|5.003007|p +aTHX|5.006000|5.003007|p +aTHXR_||5.003007|pou +aTHXR||5.003007|pou +av_arylen_p|5.009003|5.009003|u +av_clear|5.003007|5.003007| +av_create_and_push|5.009005|5.009005|x +av_create_and_unshift_one|5.009005|5.009005|x +av_delete|5.006000|5.006000| +av_exists|5.006000|5.006000| +av_extend|5.003007|5.003007| +av_extend_guts|5.017004||Viu +av_fetch|5.003007|5.003007| +av_fill|5.003007|5.003007| +AvFILL|5.003007|5.003007| +AvFILLp|5.004005|5.003007|poV +av_iter_p|5.011000|5.011000|u +av_len|5.003007|5.003007| +av_make|5.003007|5.003007| +av_nonelem|5.027009||Viu +av_pop|5.003007|5.003007| +av_push|5.003007|5.003007| +av_reify|5.004004||cViu +av_shift|5.003007|5.003007| +av_store|5.003007|5.003007| +av_tindex|5.017009|5.003007|p +av_top_index|5.017009|5.003007|p +av_undef|5.003007|5.003007| +av_unshift|5.003007|5.003007| +ax|5.003007|5.003007| +backup_one_GCB|5.025003||Viu +backup_one_LB|5.023007||Viu +backup_one_SB|5.021009||Viu +backup_one_WB|5.021009||Viu +bad_type_gv|5.019002||Viu +bad_type_pv|5.016000||Viu +BhkDISABLE|||x +BhkENABLE|||x +BhkENTRY_set|||x +BhkENTRY|||xi +BhkFLAGS|||xi +BIN|5.003007|5.003007| +bind_match|5.003007||Viu +block_end|5.004000|5.004000| +block_gimme|5.004000|5.004000|u +blockhook_register|5.013003|5.013003|x +block_start|5.004000|5.004000| +BOM_UTF8|5.025005|5.003007|p +boolSV|5.004000|5.003007|p +boot_core_mro|5.009005||Viu +boot_core_PerlIO|5.007002||Viu +boot_core_UNIVERSAL|5.003007||Viu +_byte_dump_string|5.025006||cViu +BYTEORDER|5.003007|5.003007| +bytes_cmp_utf8|5.013007|5.013007| +bytes_from_utf8|5.007001|5.007001|x +bytes_from_utf8_loc|5.027001|5.027001|nxu +bytes_to_utf8|5.006001|5.006001|x +call_argv|5.006000|5.003007|p +call_atexit|5.006000|5.006000|u +CALL_BLOCK_HOOKS|||xi +CALL_CHECKER_REQUIRE_GV|5.021004|5.021004| caller_cx|5.013005|5.006000|p -calloc||5.007002|n -cando||| -cast_i32||5.006000|n -cast_iv||5.006000|n -cast_ulong||5.006000|n -cast_uv||5.006000|n -category_name|||n -change_engine_size||| -check_and_deprecate||| -check_type_and_open||| -check_uni||| -checkcomma||| -ckWARN2_d||| -ckWARN2||| -ckWARN3_d||| -ckWARN3||| -ckWARN4_d||| -ckWARN4||| -ckWARN_d||| -ckWARN|5.006000||p -ck_entersub_args_core||| -ck_entersub_args_list||5.013006| -ck_entersub_args_proto_or_list||5.013006| -ck_entersub_args_proto||5.013006| -ck_warner_d||5.011001|v -ck_warner||5.011001|v -ckwarn_common||| -ckwarn_d||5.009003| -ckwarn||5.009003| -clear_defarray||5.023008| -clear_special_blocks||| -clone_params_del|||n -clone_params_new|||n -closest_cop||| -cntrl_to_mnemonic|||n -compute_EXACTish|||n -construct_ahocorasick_from_trie||| -cop_free||| -cop_hints_2hv||5.013007| -cop_hints_fetch_pvn||5.013007| -cop_hints_fetch_pvs||5.013007| -cop_hints_fetch_pv||5.013007| -cop_hints_fetch_sv||5.013007| -cophh_2hv||5.013007| -cophh_copy||5.013007| -cophh_delete_pvn||5.013007| -cophh_delete_pvs||5.013007| -cophh_delete_pv||5.013007| -cophh_delete_sv||5.013007| -cophh_fetch_pvn||5.013007| -cophh_fetch_pvs||5.013007| -cophh_fetch_pv||5.013007| -cophh_fetch_sv||5.013007| -cophh_free||5.013007| -cophh_new_empty||5.024000| -cophh_store_pvn||5.013007| -cophh_store_pvs||5.013007| -cophh_store_pv||5.013007| -cophh_store_sv||5.013007| -core_prototype||| -coresub_op||| -cr_textfilter||| -croak_caller|||vn -croak_memory_wrap|5.019003||pn -croak_no_mem|||n -croak_no_modify|5.013003||pn -croak_nocontext|||pvn -croak_popstack|||n -croak_sv|5.013001||p -croak_xs_usage|5.010001||pn -croak|||v -csighandler||5.009003|n -current_re_engine||| -curse||| -custom_op_desc||5.007003| -custom_op_get_field||| -custom_op_name||5.007003| -custom_op_register||5.013007| -custom_op_xop||5.013007| -cv_clone_into||| -cv_clone||| -cv_const_sv_or_av|||n -cv_const_sv||5.003070|n -cv_dump||| -cv_forget_slab||| -cv_get_call_checker_flags||| -cv_get_call_checker||5.013006| -cv_name||5.021005| -cv_set_call_checker_flags||5.021004| -cv_set_call_checker||5.013006| -cv_undef_flags||| -cv_undef||| -cvgv_from_hek||| -cvgv_set||| -cvstash_set||| -cx_dump||5.005000| -cx_dup||| -cxinc||| -dAXMARK|5.009003||p -dAX|5.007002||p -dITEMS|5.007002||p -dMARK||| -dMULTICALL||5.009003| -dMY_CXT_SV|5.007003||p -dMY_CXT|5.007003||p -dNOOP|5.006000||p -dORIGMARK||| -dSP||| -dTHR|5.004050||p -dTHXR|5.024000||p -dTHXa|5.006000||p -dTHXoa|5.006000||p -dTHX|5.006000||p -dUNDERBAR|5.009002||p -dVAR|5.009003||p -dXCPT|5.009002||p -dXSARGS||| -dXSI32||| -dXSTARG|5.006000||p -deb_curcv||| -deb_nocontext|||vn -deb_stack_all||| -deb_stack_n||| -debop||5.005000| -debprofdump||5.005000| -debprof||| -debstackptrs||5.007003| -debstack||5.007003| -debug_start_match||| -deb||5.007003|v -defelem_target||| -del_sv||| -delimcpy_no_escape|||n -delimcpy||5.004000|n -despatch_signals||5.007001| -destroy_matcher||| -die_nocontext|||vn -die_sv|5.013001||p -die_unwind||| -die|||v -dirp_dup||| -div128||| -djSP||| -do_aexec5||| -do_aexec||| -do_aspawn||| -do_binmode||5.004050| -do_chomp||| -do_close||| -do_delete_local||| -do_dump_pad||| -do_eof||| -do_exec3||| -do_exec||| -do_gv_dump||5.006000| -do_gvgv_dump||5.006000| -do_hv_dump||5.006000| -do_ipcctl||| -do_ipcget||| -do_join||| -do_magic_dump||5.006000| -do_msgrcv||| -do_msgsnd||| -do_ncmp||| -do_oddball||| -do_op_dump||5.006000| -do_open9||5.006000| -do_openn||5.007001| -do_open||5.003070| -do_pmop_dump||5.006000| -do_print||| -do_readline||| -do_seek||| -do_semop||| -do_shmio||| -do_smartmatch||| -do_spawn_nowait||| -do_spawn||| -do_sprintf||| -do_sv_dump||5.006000| -do_sysseek||| -do_tell||| -do_trans_complex_utf8||| -do_trans_complex||| -do_trans_count_utf8||| -do_trans_count||| -do_trans_simple_utf8||| -do_trans_simple||| -do_trans||| -do_vecget||| -do_vecset||| -do_vop||| -docatch||| -does_utf8_overflow|||n -doeval_compile||| -dofile||| -dofindlabel||| -doform||| -doing_taint||5.008001|n -dooneliner||| -doopen_pm||| -doparseform||| -dopoptoeval||| -dopoptogivenfor||| -dopoptolabel||| -dopoptoloop||| -dopoptosub_at||| -dopoptowhen||| -doref||5.009003| -dounwind||| -dowantarray||| -drand48_init_r|||n -drand48_r|||n -dtrace_probe_call||| -dtrace_probe_load||| -dtrace_probe_op||| -dtrace_probe_phase||| -dump_all_perl||| -dump_all||5.006000| -dump_c_backtrace||| -dump_eval||5.006000| -dump_exec_pos||| -dump_form||5.006000| -dump_indent||5.006000|v -dump_mstats||| -dump_packsubs_perl||| -dump_packsubs||5.006000| -dump_regex_sets_structures||| -dump_sub_perl||| -dump_sub||5.006000| -dump_sv_child||| -dump_trie_interim_list||| -dump_trie_interim_table||| -dump_trie||| -dump_vindent||5.006000| -dumpuntil||| -dup_attrlist||| -dup_warnings||| -edit_distance|||n -emulate_setlocale|||n -eval_pv|5.006000||p -eval_sv|5.006000||p -exec_failed||| -expect_number||| -fbm_compile||5.005000| -fbm_instr||5.005000| -feature_is_enabled||| -filter_add||| -filter_del||| -filter_gets||| -filter_read||| -finalize_optree||| -finalize_op||| -find_and_forget_pmops||| -find_array_subscript||| -find_beginning||| -find_byclass||| -find_default_stash||| -find_hash_subscript||| -find_in_my_stash||| -find_lexical_cv||| -find_next_masked|||n -find_runcv_where||| -find_runcv||5.008001| -find_rundefsv||5.013002| -find_script||| -find_span_end_mask|||n -find_span_end|||n -first_symbol|||n -fixup_errno_string||| -foldEQ_latin1_s2_folded|||n -foldEQ_latin1||5.013008|n -foldEQ_locale||5.013002|n -foldEQ_utf8||5.013002| -foldEQ||5.013002|n -fold_constants||| -forbid_setid||| -force_ident_maybe_lex||| -force_ident||| -force_list||| -force_next||| -force_strict_version||| -force_version||| -force_word||| -forget_pmop||| -form_nocontext|||vn -form||5.004000|v -fp_dup||| -fprintf_nocontext|||vn -free_c_backtrace||| -free_global_struct||| -free_tied_hv_pool||| -free_tmps||| -gen_constant_list||| -get_ANYOFM_contents||| -get_ANYOF_cp_list_for_ssc||| -get_and_check_backslash_N_name_wrapper||| -get_and_check_backslash_N_name||| -get_aux_mg||| -get_av|5.006000||p -get_c_backtrace_dump||| -get_c_backtrace||| -get_context||5.006000|n -get_cvn_flags||| -get_cvs|5.011000||p -get_cv|5.006000||p -get_db_sub||| -get_debug_opts||| -get_hash_seed||| -get_hv|5.006000||p -get_mstats||| -get_no_modify||| -get_num||| -get_op_descs||5.005000| -get_op_names||5.005000| -get_opargs||| -get_ppaddr||5.006000| -get_sv|5.006000||p -get_vtbl||5.005030| -getcwd_sv||5.007002| -getenv_len||| -glob_2number||| -glob_assign_glob||| -gp_dup||| -gp_free||| -gp_ref||| -grok_atoUV|||n -grok_bin|5.007003||p -grok_bslash_N||| -grok_hex|5.007003||p -grok_infnan||5.021004| -grok_number_flags||5.021002| -grok_number|5.007002||p -grok_numeric_radix|5.007002||p -grok_oct|5.007003||p -group_end||| -gv_AVadd||| -gv_HVadd||| -gv_IOadd||| -gv_SVadd||| -gv_add_by_type||5.011000| -gv_autoload4||5.004000| -gv_autoload_pvn||5.015004| -gv_autoload_pv||5.015004| -gv_autoload_sv||5.015004| -gv_check||| -gv_const_sv||5.009003| -gv_dump||5.006000| -gv_efullname3||5.003070| -gv_efullname4||5.006001| -gv_efullname||| -gv_fetchfile_flags||5.009005| -gv_fetchfile||| -gv_fetchmeth_autoload||5.007003| -gv_fetchmeth_internal||| -gv_fetchmeth_pv_autoload||5.015004| -gv_fetchmeth_pvn_autoload||5.015004| -gv_fetchmeth_pvn||5.015004| -gv_fetchmeth_pv||5.015004| -gv_fetchmeth_sv_autoload||5.015004| -gv_fetchmeth_sv||5.015004| -gv_fetchmethod_autoload||5.004000| -gv_fetchmethod||| -gv_fetchmeth||| -gv_fetchpvn_flags|5.009002||p -gv_fetchpvs|5.009004||p -gv_fetchpv||| -gv_fetchsv||| -gv_fullname3||5.003070| -gv_fullname4||5.006001| -gv_fullname||| -gv_handler||5.007001| -gv_init_pvn||| -gv_init_pv||5.015004| -gv_init_svtype||| -gv_init_sv||5.015004| -gv_init||| -gv_is_in_main||| -gv_magicalize_isa||| -gv_magicalize||| -gv_name_set||5.009004| -gv_override||| -gv_setref||| -gv_stashpvn_internal||| -gv_stashpvn|5.003070||p -gv_stashpvs|5.009003||p -gv_stashpv||| -gv_stashsvpvn_cached||| -gv_stashsv||| -handle_named_backref||| -handle_possible_posix||| -handle_regex_sets||| -handle_user_defined_property||| -he_dup||| -hek_dup||| -hfree_next_entry||| -hsplit||| -hv_assert||| -hv_auxinit_internal|||n -hv_auxinit||| -hv_clear_placeholders||5.009001| -hv_clear||| -hv_common_key_len||5.010000| -hv_common||5.010000| -hv_copy_hints_hv||5.009004| -hv_delayfree_ent||5.004000| -hv_delete_ent||5.003070| -hv_delete||| -hv_eiter_p||5.009003| -hv_eiter_set||5.009003| -hv_ename_add||| -hv_ename_delete||| -hv_exists_ent||5.003070| -hv_exists||| -hv_fetch_ent||5.003070| -hv_fetchs|5.009003||p -hv_fetch||| -hv_fill||5.013002| -hv_free_ent_ret||| -hv_free_entries||| -hv_free_ent||5.004000| -hv_iterinit||| -hv_iterkeysv||5.003070| -hv_iterkey||| -hv_iternextsv||| -hv_iternext||| -hv_iterval||| -hv_ksplit||5.003070| -hv_magic_check|||n -hv_magic||| -hv_name_set||5.009003| -hv_notallowed||| -hv_placeholders_get||5.009003| -hv_placeholders_p||| -hv_placeholders_set||5.009003| -hv_pushkv||| -hv_rand_set||5.018000| -hv_riter_p||5.009003| -hv_riter_set||5.009003| -hv_scalar||5.009001| -hv_store_ent||5.003070| -hv_stores|5.009004||p -hv_store||| -hv_undef_flags||| -hv_undef||| -ibcmp_locale||5.004000| -ibcmp_utf8||5.007003| -ibcmp||| -incline||| -incpush_if_exists||| -incpush_use_sep||| -incpush||| -ingroup||| -init_argv_symbols||| -init_constants||| -init_dbargs||| -init_debugger||| -init_global_struct||| -init_ids||| -init_interp||| -init_main_stash||| -init_named_cv||| -init_perllib||| -init_postdump_symbols||| -init_predump_symbols||| -init_stacks||5.005000| -init_tm||5.007002| -init_uniprops||| -inplace_aassign||| -instr|||n -intro_my||5.004000| -intuit_method||| -intuit_more||| -invert||| -invoke_exception_hook||| -io_close||| -isALNUMC_A|||p -isALNUMC|5.006000||p -isALNUM_A|||p -isALNUM|||p -isALPHANUMERIC_A|||p -isALPHANUMERIC|5.017008|5.017008|p -isALPHA_A|||p -isALPHA|||p -isASCII_A|||p -isASCII|5.006000||p -isBLANK_A|||p -isBLANK|5.006001||p -isC9_STRICT_UTF8_CHAR|||n -isCNTRL_A|||p -isCNTRL|5.006000||p -isDIGIT_A|||p -isDIGIT|||p -isFF_OVERLONG|||n -isFOO_utf8_lc||| -isGCB||| -isGRAPH_A|||p -isGRAPH|5.006000||p -isIDCONT_A|||p -isIDCONT|5.017008|5.017008|p -isIDFIRST_A|||p -isIDFIRST|||p -isLB||| -isLOWER_A|||p -isLOWER|||p -isOCTAL_A|||p -isOCTAL|5.013005|5.013005|p -isPRINT_A|||p -isPRINT|5.004000||p -isPSXSPC_A|||p -isPSXSPC|5.006001||p -isPUNCT_A|||p -isPUNCT|5.006000||p -isSB||| -isSCRIPT_RUN||| -isSPACE_A|||p -isSPACE|||p -isSTRICT_UTF8_CHAR|||n -isUPPER_A|||p -isUPPER|||p -isUTF8_CHAR_flags||| -isUTF8_CHAR||5.021001|n -isWB||| -isWORDCHAR_A|||p -isWORDCHAR|5.013006|5.013006|p -isXDIGIT_A|||p -isXDIGIT|5.006000||p -is_an_int||| -is_ascii_string||5.011000|n -is_c9strict_utf8_string_loclen|||n -is_c9strict_utf8_string_loc|||n -is_c9strict_utf8_string|||n -is_handle_constructor|||n -is_invariant_string||5.021007|n -is_lvalue_sub||5.007001| -is_safe_syscall||5.019004| -is_ssc_worth_it|||n -is_strict_utf8_string_loclen|||n -is_strict_utf8_string_loc|||n -is_strict_utf8_string|||n -is_utf8_char_buf||5.015008|n -is_utf8_common_with_len||| -is_utf8_common||| -is_utf8_cp_above_31_bits|||n -is_utf8_fixed_width_buf_flags|||n -is_utf8_fixed_width_buf_loc_flags|||n -is_utf8_fixed_width_buf_loclen_flags|||n -is_utf8_invariant_string_loc|||n -is_utf8_invariant_string|||n -is_utf8_non_invariant_string|||n -is_utf8_overlong_given_start_byte_ok|||n -is_utf8_string_flags|||n -is_utf8_string_loc_flags|||n -is_utf8_string_loclen_flags|||n -is_utf8_string_loclen||5.009003|n -is_utf8_string_loc||5.008001|n -is_utf8_string||5.006001|n -is_utf8_valid_partial_char_flags|||n -is_utf8_valid_partial_char|||n -isa_lookup||| -isinfnansv||| -isinfnan||5.021004|n -items|||n -ix|||n -jmaybe||| -join_exact||| -keyword_plugin_standard||| -keyword||| -leave_scope||| -lex_stuff_pvs||5.013005| -listkids||| -list||| -load_module_nocontext|||vn -load_module|5.006000||pv -localize||| -looks_like_bool||| -looks_like_number||| -lop||| -mPUSHi|5.009002||p -mPUSHn|5.009002||p -mPUSHp|5.009002||p -mPUSHs|5.010001||p -mPUSHu|5.009002||p -mXPUSHi|5.009002||p -mXPUSHn|5.009002||p -mXPUSHp|5.009002||p -mXPUSHs|5.010001||p -mXPUSHu|5.009002||p -magic_clear_all_env||| -magic_cleararylen_p||| -magic_clearenv||| -magic_clearhints||| -magic_clearhint||| -magic_clearisa||| -magic_clearpack||| -magic_clearsig||| -magic_copycallchecker||| -magic_dump||5.006000| -magic_existspack||| -magic_freearylen_p||| -magic_freeovrld||| -magic_getarylen||| -magic_getdebugvar||| -magic_getdefelem||| -magic_getnkeys||| -magic_getpack||| -magic_getpos||| -magic_getsig||| -magic_getsubstr||| -magic_gettaint||| -magic_getuvar||| -magic_getvec||| -magic_get||| -magic_killbackrefs||| -magic_methcall1||| -magic_methcall|||v -magic_methpack||| -magic_nextpack||| -magic_regdata_cnt||| -magic_regdatum_get||| -magic_regdatum_set||| -magic_scalarpack||| -magic_set_all_env||| -magic_setarylen||| -magic_setcollxfrm||| -magic_setdbline||| -magic_setdebugvar||| -magic_setdefelem||| -magic_setenv||| -magic_sethint||| -magic_setisa||| -magic_setlvref||| -magic_setmglob||| -magic_setnkeys||| -magic_setnonelem||| -magic_setpack||| -magic_setpos||| -magic_setregexp||| -magic_setsig||| -magic_setsubstr||| -magic_settaint||| -magic_setutf8||| -magic_setuvar||| -magic_setvec||| -magic_set||| -magic_sizepack||| -magic_wipepack||| -make_matcher||| -make_trie||| -malloc_good_size|||n -malloced_size|||n -malloc||5.007002|n -markstack_grow||5.021001| -matcher_matches_sv||| -maybe_multimagic_gv||| -mayberelocate||| -measure_struct||| -memEQs|5.009005||p -memEQ|5.004000||p -memNEs|5.009005||p -memNE|5.004000||p -mem_collxfrm||| -mem_log_alloc|||n -mem_log_common|||n -mem_log_free|||n -mem_log_realloc|||n -mess_alloc||| -mess_nocontext|||pvn -mess_sv|5.013001||p -mess|5.006000||pv -mfree||5.007002|n -mg_clear||| -mg_copy||| -mg_dup||| -mg_find_mglob||| -mg_findext|5.013008||pn -mg_find|||n -mg_free_type||5.013006| -mg_freeext||| -mg_free||| -mg_get||| -mg_localize||| -mg_magical|||n -mg_set||| -mg_size||5.005000| -mini_mktime||5.007002|n -minus_v||| -missingterm||| -mode_from_discipline||| -modkids||| -more_bodies||| -more_sv||| -moreswitches||| -move_proto_attr||| -mro_clean_isarev||| -mro_gather_and_rename||| -mro_get_from_name||5.010001| -mro_get_linear_isa_dfs||| -mro_get_linear_isa||5.009005| -mro_get_private_data||5.010001| -mro_isa_changed_in||| -mro_meta_dup||| -mro_meta_init||| -mro_method_changed_in||5.009005| -mro_package_moved||| -mro_register||5.010001| -mro_set_mro||5.010001| -mro_set_private_data||5.010001| -mul128||| -multiconcat_stringify||| -multideref_stringify||| -my_atof2||5.007002| -my_atof3||| -my_atof||5.006000| -my_attrs||| -my_bytes_to_utf8|||n -my_chsize||| -my_clearenv||| -my_cxt_index||| -my_cxt_init||| -my_dirfd||5.009005|n -my_exit_jump||| -my_exit||| -my_failure_exit||5.004000| -my_fflush_all||5.006000| -my_fork||5.007003|n -my_kid||| -my_lstat_flags||| -my_lstat||5.024000| -my_memrchr|||n -my_mkostemp|||n -my_mkstemp_cloexec|||n -my_mkstemp|||n -my_nl_langinfo|||n -my_pclose||5.003070| -my_popen_list||5.007001| -my_popen||5.003070| -my_setenv||| -my_snprintf|5.009004||pvn -my_socketpair||5.007003|n -my_sprintf|5.009003||pvn -my_stat_flags||| -my_stat||5.024000| -my_strerror||| -my_strftime||5.007002| -my_strlcat|5.009004||pn -my_strlcpy|5.009004||pn -my_strnlen|||pn -my_strtod|||n -my_unexec||| -my_vsnprintf||5.009004|n -need_utf8|||n -newANONATTRSUB||5.006000| -newANONHASH||| -newANONLIST||| -newANONSUB||| -newASSIGNOP||| -newATTRSUB_x||| -newATTRSUB||5.006000| -newAVREF||| -newAV||| -newBINOP||| -newCONDOP||| -newCONSTSUB_flags||5.015006| -newCONSTSUB|5.004050||p -newCVREF||| -newDEFSVOP||5.021006| -newFORM||| -newFOROP||5.013007| -newGIVENOP||5.009003| -newGIVWHENOP||| -newGVOP||| -newGVREF||| -newGVgen_flags||5.015004| -newGVgen||| -newHVREF||| -newHVhv||5.005000| -newHV||| -newIO||| -newLISTOP||| -newLOGOP||| -newLOOPEX||| -newLOOPOP||| -newMETHOP_internal||| -newMETHOP_named||5.021005| -newMETHOP||5.021005| -newMYSUB||5.017004| -newNULLLIST||| -newOP||| -newPADOP||| -newPMOP||| -newPROG||| -newPVOP||| -newRANGE||| -newRV_inc|5.004000||p -newRV_noinc|5.004000||p -newRV||| -newSLICEOP||| -newSTATEOP||| -newSTUB||| -newSUB||| -newSVOP||| -newSVREF||| -newSV_type|5.009005||p -newSVavdefelem||| -newSVhek||5.009003| -newSViv||| -newSVnv||| -newSVpadname||5.017004| -newSVpv_share||5.013006| -newSVpvf_nocontext|||vn -newSVpvf||5.004000|v -newSVpvn_flags|5.010001||p -newSVpvn_share|5.007001||p -newSVpvn_utf8|5.010001||p -newSVpvn|5.004050||p -newSVpvs_flags|5.010001||p -newSVpvs_share|5.009003||p -newSVpvs|5.009003||p -newSVpv||| -newSVrv||| -newSVsv_flags||| -newSVsv_nomg||| -newSVsv||| -newSVuv|5.006000||p -newSV||| -newUNOP_AUX||5.021007| -newUNOP||| -newWHENOP||5.009003| -newWHILEOP||5.013007| -newXS_deffile||| -newXS_len_flags||| -newXSproto||5.006000| -newXS||5.006000| -new_collate||| -new_constant||| -new_ctype||| -new_he||| -new_logop||| -new_msg_hv||| -new_numeric||| -new_regcurly|||n -new_stackinfo||5.005000| -new_version||5.009000| -next_symbol||| -nextargv||| -nextchar||| -ninstr|||n -no_bareword_allowed||| -no_fh_allowed||| -no_op||| -noperl_die|||vn -not_a_number||| -not_incrementable||| -nothreadhook||5.008000| -notify_parser_that_changed_to_utf8||| -nuke_stacks||| -num_overflow|||n -oopsAV||| -oopsHV||| -op_append_elem||5.013006| -op_append_list||5.013006| -op_class||| -op_clear||| -op_contextualize||5.013006| -op_convert_list||5.021006| -op_dump||5.006000| -op_free||| -op_integerize||| -op_linklist||5.013006| -op_lvalue_flags||| -op_null||5.007002| -op_parent|||n -op_prepend_elem||5.013006| -op_refcnt_lock||5.009002| -op_refcnt_unlock||5.009002| -op_relocate_sv||| -op_sibling_splice||5.021002|n -op_std_init||| -open_script||| -openn_cleanup||| -openn_setup||| -opmethod_stash||| -opslab_force_free||| -opslab_free_nopad||| -opslab_free||| -optimize_optree||| -optimize_op||| -output_posix_warnings||| -pMY_CXT_|5.007003||p -pMY_CXT|5.007003||p -pTHX_|5.006000||p -pTHX|5.006000||p -packWARN|5.007003||p -pack_cat||5.007003| -pack_rec||| -package_version||| -package||| -packlist||5.008001| -pad_add_anon||5.008001| -pad_add_name_pvn||5.015001| -pad_add_name_pvs||5.015001| -pad_add_name_pv||5.015001| -pad_add_name_sv||5.015001| -pad_add_weakref||| -pad_alloc_name||| -pad_block_start||| -pad_check_dup||| -pad_compname_type||5.009003| -pad_findlex||| -pad_findmy_pvn||5.015001| -pad_findmy_pvs||5.015001| -pad_findmy_pv||5.015001| -pad_findmy_sv||5.015001| -pad_fixup_inner_anons||| -pad_free||| -pad_leavemy||| -pad_new||5.008001| -pad_push||| -pad_reset||| -pad_setsv||| -pad_sv||| -pad_swipe||| -padlist_dup||| -padlist_store||| -padname_dup||| -padname_free||| -padnamelist_dup||| -padnamelist_free||| -parse_body||| -parse_gv_stash_name||| -parse_ident||| -parse_lparen_question_flags||| -parse_unicode_opts||| -parse_uniprop_string||| -parser_dup||| -parser_free_nexttoke_ops||| -parser_free||| -path_is_searchable|||n -peep||| -pending_ident||| -perl_alloc_using|||n -perl_alloc|||n -perl_clone_using|||n -perl_clone|||n -perl_construct|||n -perl_destruct||5.007003|n -perl_free|||n -perl_parse||5.006000|n -perl_run|||n -pidgone||| -pm_description||| -pmop_dump||5.006000| -pmruntime||| -pmtrans||| -pop_scope||| -populate_ANYOF_from_invlist||| -populate_isa|||v -pregcomp||5.009005| -pregexec||| -pregfree2||5.011000| -pregfree||| -prescan_version||5.011004| -print_bytes_for_locale||| -print_collxfrm_input_and_return||| -printbuf||| -printf_nocontext|||vn -process_special_blocks||| -ptr_hash|||n -ptr_table_fetch||5.009005| -ptr_table_find|||n -ptr_table_free||5.009005| -ptr_table_new||5.009005| -ptr_table_split||5.009005| -ptr_table_store||5.009005| -push_scope||| -put_charclass_bitmap_innards_common||| -put_charclass_bitmap_innards_invlist||| -put_charclass_bitmap_innards||| -put_code_point||| -put_range||| -pv_display|5.006000||p -pv_escape|5.009004||p -pv_pretty|5.009004||p -pv_uni_display||5.007003| -qerror||| -quadmath_format_needed|||n -quadmath_format_single|||n -re_compile||5.009005| -re_croak2||| -re_dup_guts||| -re_exec_indentf|||v -re_indentf|||v -re_intuit_start||5.019001| -re_intuit_string||5.006000| -re_op_compile||| -re_printf|||v -realloc||5.007002|n -reentrant_free||5.024000| -reentrant_init||5.024000| -reentrant_retry||5.024000|vn -reentrant_size||5.024000| -ref_array_or_hash||| -refcounted_he_chain_2hv||| -refcounted_he_fetch_pvn||| -refcounted_he_fetch_pvs||| -refcounted_he_fetch_pv||| -refcounted_he_fetch_sv||| -refcounted_he_free||| -refcounted_he_inc||| -refcounted_he_new_pvn||| -refcounted_he_new_pvs||| -refcounted_he_new_pv||| -refcounted_he_new_sv||| -refcounted_he_value||| -refkids||| -refto||| -ref||5.024000| -reg2Lanode||| -reg_check_named_buff_matched|||n -reg_named_buff_all||5.009005| -reg_named_buff_exists||5.009005| -reg_named_buff_fetch||5.009005| -reg_named_buff_firstkey||5.009005| -reg_named_buff_iter||| -reg_named_buff_nextkey||5.009005| -reg_named_buff_scalar||5.009005| -reg_named_buff||| -reg_node||| -reg_numbered_buff_fetch||| -reg_numbered_buff_length||| -reg_numbered_buff_store||| -reg_qr_package||| -reg_scan_name||| -reg_skipcomment|||n -reg_temp_copy||| -reganode||| -regatom||| -regbranch||| -regclass||| -regcp_restore||| -regcppop||| -regcppush||| -regcurly|||n -regdump_extflags||| -regdump_intflags||| -regdump||5.005000| -regdupe_internal||| -regex_set_precedence|||n -regexec_flags||5.005000| -regfree_internal||5.009005| -reghop3|||n -reghop4|||n -reghopmaybe3|||n -reginclass||| -reginitcolors||5.006000| -reginsert||| -regmatch||| -regnext||5.005000| -regnode_guts||| -regpiece||| -regprop||| -regrepeat||| -regtail_study||| -regtail||| -regtry||| -reg||| -repeatcpy|||n -report_evil_fh||| -report_redefined_cv||| -report_uninit||| -report_wrongway_fh||| -require_pv||5.006000| -require_tie_mod||| -restore_magic||| -restore_switched_locale||| -rninstr|||n -rpeep||| -rsignal_restore||| -rsignal_save||| -rsignal_state||5.004000| -rsignal||5.004000| -run_body||| -run_user_filter||| -runops_debug||5.005000| -runops_standard||5.005000| -rv2cv_op_cv||5.013006| -rvpv_dup||| -rxres_free||| -rxres_restore||| -rxres_save||| -safesyscalloc||5.006000|n -safesysfree||5.006000|n -safesysmalloc||5.006000|n -safesysrealloc||5.006000|n -same_dirent||| -save_I16||5.004000| -save_I32||| -save_I8||5.006000| -save_adelete||5.011000| -save_aelem_flags||5.011000| -save_aelem||5.004050| -save_alloc||5.006000| -save_aptr||| -save_ary||| -save_bool||5.008001| -save_clearsv||| -save_delete||| -save_destructor_x||5.006000| -save_destructor||5.006000| -save_freeop||| -save_freepv||| -save_freesv||| -save_generic_pvref||5.006001| -save_generic_svref||5.005030| -save_gp||5.004000| -save_hash||| -save_hdelete||5.011000| -save_hek_flags|||n -save_helem_flags||5.011000| -save_helem||5.004050| -save_hints||5.010001| -save_hptr||| -save_int||| -save_item||| -save_iv||5.005000| -save_lines||| -save_list||| -save_long||| -save_magic_flags||| -save_mortalizesv||5.007001| -save_nogv||| -save_op||5.005000| -save_padsv_and_mortalize||5.010001| -save_pptr||| -save_pushi32ptr||5.010001| -save_pushptri32ptr||| -save_pushptrptr||5.010001| -save_pushptr||5.010001| -save_re_context||5.006000| -save_scalar_at||| -save_scalar||| -save_set_svflags||5.009000| -save_shared_pvref||5.007003| -save_sptr||| -save_strlen||| -save_svref||| -save_to_buffer|||n -save_vptr||5.006000| -savepvn||| -savepvs||5.009003| -savepv||| -savesharedpvn||5.009005| -savesharedpvs||5.013006| -savesharedpv||5.007003| -savesharedsvpv||5.013006| -savestack_grow_cnt||5.008001| -savestack_grow||| -savesvpv||5.009002| -sawparens||| -scalar_mod_type|||n -scalarboolean||| -scalarkids||| -scalarseq||| -scalarvoid||| -scalar||| -scan_bin||5.006000| -scan_commit||| -scan_const||| -scan_formline||| -scan_heredoc||| -scan_hex||| -scan_ident||| -scan_inputsymbol||| -scan_num||5.007001| -scan_oct||| -scan_pat||| -scan_subst||| -scan_trans||| -scan_version||5.009001| -scan_vstring||5.009005| -search_const||| -seed||5.008001| -sequence_num||| -set_ANYOF_arg||| -set_caret_X||| -set_context||5.006000|n -set_numeric_radix||5.006000| -set_numeric_standard||5.006000| -set_numeric_underlying||| -set_padlist|||n -set_regex_pv||| -setdefout||| -setfd_cloexec_for_nonsysfd||| -setfd_cloexec_or_inhexec_by_sysfdness||| -setfd_cloexec|||n -setfd_inhexec_for_sysfd||| -setfd_inhexec|||n -setlocale_debug_string|||n -share_hek_flags||| -share_hek||5.004000| -should_warn_nl|||n -si_dup||| -sighandler|||n -simplify_sort||| -skip_to_be_ignored_text||| -softref2xv||| -sortcv_stacked||| -sortcv_xsub||| -sortcv||| -sortsv_flags||5.009003| -sortsv||5.007003| -space_join_names_mortal||| -ss_dup||| -ssc_add_range||| -ssc_and||| -ssc_anything||| -ssc_clear_locale|||n -ssc_cp_and||| -ssc_finalize||| -ssc_init||| -ssc_intersection||| -ssc_is_anything|||n -ssc_is_cp_posixl_init|||n -ssc_or||| -ssc_union||| -stack_grow||| -start_subparse||5.004000| -stdize_locale||| -strEQ||| -strGE||| -strGT||| -strLE||| -strLT||| -strNE||| -str_to_version||5.006000| -strip_return||| -strnEQ||| -strnNE||| -study_chunk||| -sub_crush_depth||| -sublex_done||| -sublex_push||| -sublex_start||| -sv_2bool_flags||5.013006| -sv_2bool||| -sv_2cv||| -sv_2io||| -sv_2iuv_common||| -sv_2iuv_non_preserve||| -sv_2iv_flags||5.009001| -sv_2iv||| -sv_2mortal||| -sv_2nv_flags||5.013001| -sv_2pv_flags|5.007002||p -sv_2pv_nolen|5.006000||p -sv_2pvbyte_nolen|5.006000||p -sv_2pvbyte|5.006000||p -sv_2pvutf8_nolen||5.006000| -sv_2pvutf8||5.006000| -sv_2pv||| -sv_2uv_flags||5.009001| -sv_2uv|5.004000||p -sv_add_arena||| -sv_add_backref||| -sv_backoff|||n -sv_bless||| -sv_buf_to_ro||| -sv_buf_to_rw||| -sv_cat_decode||5.008001| -sv_catpv_flags||5.013006| -sv_catpv_mg|5.004050||p -sv_catpv_nomg||5.013006| -sv_catpvf_mg_nocontext|||pvn +call_list|5.004000|5.004000|u +call_method|5.006000|5.003007|p +calloc|5.007002|5.007002|n +call_pv|5.006000|5.003007|p +call_sv|5.006000|5.003007|p +cando|5.003007||Viu +C_ARRAY_END|5.013002|5.003007|p +C_ARRAY_LENGTH|5.008001|5.003007|p +CASTFLAGS|5.003007|5.003007| +cast_i32|5.006000|5.006000|nu +cast_iv|5.006000|5.006000|nu +cast_ulong|5.006000|5.006000|nu +cast_uv|5.006000|5.006000|nu +category_name|5.027008||nViu +cBOOL|5.013000|5.003007|p +change_engine_size|5.029004||Viu +CHARBITS|5.011002|5.011002| +checkcomma|5.003007||Viu +check_locale_boundary_crossing|5.015006||Viu +check_type_and_open|5.009003||Viu +check_uni|5.003007||Viu +check_utf8_print|5.013009||Viu +ck_entersub_args_core|||iu +ck_entersub_args_list|5.013006|5.013006| +ck_entersub_args_proto|5.013006|5.013006| +ck_entersub_args_proto_or_list|5.013006|5.013006| +ckWARN2|5.006000|5.006000| +ckWARN2_d|5.006000|5.006000| +ckWARN3|5.007003|5.007003| +ckWARN3_d|5.007003|5.007003| +ckWARN4|5.007003|5.007003| +ckWARN4_d|5.007003|5.007003| +ckWARN|5.006000|5.003007|p +ckwarn|5.009003|5.009003|u +ckwarn_common|5.011001||Viu +ckWARN_d|5.006000|5.006000| +ckwarn_d|5.009003|5.009003|u +ck_warner|5.011001|5.011001|vu +ck_warner_d|5.011001|5.011001|vu +CLASS||5.003007| +clear_defarray|5.023008|5.023008|u +CLEAR_ERRSV|5.025007|5.025007| +clear_placeholders|5.009004||xViu +clear_special_blocks|5.021003||Viu +clone_params_del|5.013002|5.013002|nu +clone_params_new|5.013002|5.013002|nu +closest_cop|5.007002||Viu +cntrl_to_mnemonic|5.021004||ncViu +compute_EXACTish|5.017003||nViu +construct_ahocorasick_from_trie|5.021001||Viu +cop_fetch_label|5.015001|5.015001|x +CopFILE|5.006000||pVu +CopFILEAV|5.006000||pVu +CopFILEGV|5.006000||pVu +CopFILEGV_set|5.006000||pVu +CopFILE_set|5.006000||pVu +CopFILESV|5.006000||pVu +cop_free|5.006000||Viu +cophh_2hv|5.013007|5.013007|x +cophh_copy|5.013007|5.013007|x +cophh_delete_pv|5.013007|5.013007|x +cophh_delete_pvn|5.013007|5.013007|x +cophh_delete_pvs|5.013007|5.013007|x +cophh_delete_sv|5.013007|5.013007|x +cophh_fetch_pv|5.013007|5.013007|x +cophh_fetch_pvn|5.013007|5.013007|x +cophh_fetch_pvs|5.013007|5.013007|x +cophh_fetch_sv|5.013007|5.013007|x +cophh_free|5.013007|5.013007|x +COPHH_KEY_UTF8|5.013007|5.013007| +cophh_new_empty|5.013007|5.013007|x +cophh_store_pv|5.013007|5.013007|x +cophh_store_pvn|5.013007|5.013007|x +cophh_store_pvs|5.013007|5.013007|x +cophh_store_sv|5.013007|5.013007|x +cop_hints_2hv|5.013007|5.013007| +cop_hints_fetch_pv|5.013007|5.013007| +cop_hints_fetch_pvn|5.013007|5.013007| +cop_hints_fetch_pvs|5.013007|5.013007| +cop_hints_fetch_sv|5.013007|5.013007| +CopLABEL|5.009005|5.009005| +CopLABEL_len|5.016000|5.016000| +CopLABEL_len_flags|5.016000|5.016000| +CopSTASH|5.006000||pVu +CopSTASH_eq|5.006000||pVu +CopSTASHPV|5.006000||pVu +CopSTASHPV_set|5.006000||pVu +CopSTASH_set|5.006000||pVu +cop_store_label|5.015001|5.015001|x +Copy|5.003007|5.003007| +CopyD|5.009002|5.003007|p +core_prototype|5.015002||Vi +coresub_op|5.015003||Viu +CPERLscope|5.005000||pVu +CPPLAST|5.006000|5.006000| +CPPMINUS|5.003007|5.003007| +CPPRUN|5.006000|5.006000| +CPPSTDIN|5.003007|5.003007| +create_eval_scope|5.009004||xViu +croak|5.006000|5.003007|v +croak_caller|5.025004||vnViu +croak_memory_wrap|5.017006|5.003007|pnu +croak_nocontext|5.006000||pvnVu +croak_no_mem|5.017006||nViu +croak_no_modify|5.013003|5.003007|pn +croak_popstack|5.017008||ncViu +croak_sv|5.013001|5.003007|p +croak_xs_usage|5.010001|5.003007|pn +cr_textfilter|5.006000||Viu +csighandler1|||nu +csighandler3|||nu +csighandler|||nu +current_re_engine|5.017001||cViu +curse|5.013009||Viu +custom_op_desc|5.007003|5.007003|d +custom_op_get_field|5.019006||cViu +custom_op_name|5.007003|5.007003|d +custom_op_register|5.013007|5.013007| +cv_ckproto_len_flags|5.015004||xcViu +cv_clone|5.003007|5.003007| +cv_clone_into|5.017004||Viu +cv_const_sv|5.003007|5.003007|n +cv_const_sv_or_av|5.019003||nViu +CvDEPTH|5.003007|5.003007|nu +cv_dump|5.006000||Vi +cv_forget_slab|5.017002||Vi +cv_get_call_checker|5.013006|5.013006| +cv_get_call_checker_flags|5.027003|5.027003| +CvGV|5.003007|5.003007|u +cvgv_from_hek|||ciu +cvgv_set|5.013003||cViu +cv_name|5.021005|5.021005| +CV_NAME_NOTQUAL|5.021005|5.021005| +CvPADLIST|5.008001|5.008001|x +cv_set_call_checker|5.013006|5.013006| +cv_set_call_checker_flags|5.021004|5.021004| +CvSTASH|5.003007|5.003007| +cvstash_set|5.013007||cViu +cv_undef|5.003007|5.003007| +cv_undef_flags|5.021004||Viu +CvWEAKOUTSIDE|||i +CX_CURPAD_SAVE|||i +CX_CURPAD_SV|||i +cx_dump|5.005000|5.005000|u +cx_dup|5.007003|5.007003|u +cxinc|5.003007|5.003007|u +cx_popblock|5.023008|5.023008|xu +cx_popeval|5.023008|5.023008|xu +cx_popformat|5.023008|5.023008|xu +cx_popgiven|5.027008|5.027008|xu +cx_poploop|5.023008|5.023008|xu +cx_popsub|5.023008|5.023008|xu +cx_popsub_args|5.023008|5.023008|xu +cx_popsub_common|5.023008|5.023008|xu +cx_popwhen|5.027008|5.027008|xu +cx_pushblock|5.023008|5.023008|xu +cx_pusheval|5.023008|5.023008|xu +cx_pushformat|5.023008|5.023008|xu +cx_pushgiven|5.027008|5.027008|xu +cx_pushloop_for|5.023008|5.023008|xu +cx_pushloop_plain|5.023008|5.023008|xu +cx_pushsub|5.023008|5.023008|xu +cx_pushwhen|5.027008|5.027008|xu +cx_topblock|5.023008|5.023008|xu +dAX|5.007002|5.003007|p +dAXMARK|5.009003|5.003007|p +deb|5.007003|5.007003|vu +deb_curcv|5.007002||Viu +deb_nocontext|5.007003|5.007003|vnu +debop|5.005000|5.005000|u +debprof|5.005000||Viu +debprofdump|5.005000|5.005000|u +debstack|5.007003|5.007003|u +deb_stack_all|5.008001||Viu +deb_stack_n|5.008001||Viu +debstackptrs|5.007003|5.007003|u +debug_start_match|5.009004||Viu +DECLARATION_FOR_LC_NUMERIC_MANIPULATION|5.021010|5.021010| +defelem_target|5.019002||Viu +DEFSV|5.004005|5.003007|poVu +DEFSV_set|5.010001||pVu +delete_eval_scope|5.009004||xViu +delimcpy|5.004000|5.004000|nu +delimcpy_no_escape|5.025005||nViu +del_sv|5.005000||Viu +despatch_signals|5.007001|5.007001|u +destroy_matcher|5.027008||Viu +die|5.006000|5.003007|v +die_nocontext|5.006000||vnVu +die_sv|5.013001|5.003007|p +die_unwind|5.013001||Viu +dirp_dup|5.013007|5.013007|u +dITEMS|5.007002|5.003007|p +div128|5.005000||Viu +djSP|||i +dMARK|5.003007|5.003007| +dMULTICALL|5.009003|5.009003| +dMY_CXT|5.009000|5.009000|p +dMY_CXT_SV|5.007003||poVu +dNOOP|5.006000|5.003007|poVu +do_aexec5|5.006000||Viu +do_aexec|||iu +do_aspawn|5.008000||Vu +do_binmode|5.004005|5.004005|du +docatch|5.005000||Vi +do_chomp|5.003007||Viu +do_close|5.003007|5.003007|u +do_delete_local|5.011000||Viu +do_dump_pad|5.008001||Vi +do_eof|5.003007||Viu +does_utf8_overflow|5.025006||nViu +doeval_compile|5.023008||Viu +do_exec3|5.006000||Viu +do_exec|5.003007||Viu +dofile|5.005003||Viu +dofindlabel|5.003007||Viu +doform|5.005000||Viu +do_gv_dump|5.006000|5.006000|u +do_gvgv_dump|5.006000|5.006000|u +do_hv_dump|5.006000|5.006000|u +doing_taint|5.008001|5.008001|nu +do_ipcctl|5.003007||Viu +do_ipcget|5.003007||Viu +do_join|5.003007|5.003007|u +do_magic_dump|5.006000|5.006000|u +do_msgrcv|5.003007||Viu +do_msgsnd|5.003007||Viu +do_ncmp|5.015001||Viu +do_oddball|5.006000||Viu +dooneliner|5.006000||Viu +do_op_dump|5.006000|5.006000|u +do_open|5.003007|5.003007|u +do_open6|5.019010||xViu +do_open9|5.006000|5.006000|du +do_openn|5.007001|5.007001|u +doopen_pm|5.008001||Viu +do_open_raw|5.019010||xViu +doparseform|5.005000||Viu +do_pmop_dump|5.006000|5.006000|u +dopoptoeval|5.003007||Viu +dopoptogivenfor|5.027008||Viu +dopoptolabel|5.005000||Viu +dopoptoloop|5.005000||Viu +dopoptosub_at|5.005000||Viu +dopoptowhen|5.027008||Viu +do_print|5.003007||Viu +do_readline|5.003007||Viu +doref|5.009003|5.009003|u +dORIGMARK|5.003007|5.003007| +do_seek|5.003007||Viu +do_semop|5.003007||Viu +do_shmio|5.003007||Viu +do_smartmatch|5.027008||Viu +do_spawn|5.008000||Vu +do_spawn_nowait|5.008000||Vu +do_sprintf|5.003007|5.003007|u +do_sv_dump|5.006000|5.006000|u +do_sysseek|5.004000||Viu +do_tell|5.003007||Viu +do_trans|5.003007||Viu +do_trans_complex|5.006001||Viu +do_trans_count|5.006001||Viu +do_trans_count_invmap|5.031006||Viu +do_trans_invmap|5.031006||Viu +do_trans_simple|5.006001||Viu +DOUBLEINFBYTES|5.023000|5.023000| +DOUBLEKIND|5.021006|5.021006| +DOUBLEMANTBITS|5.023000|5.023000| +DOUBLENANBYTES|5.023000|5.023000| +DOUBLESIZE|5.005000|5.005000| +dounwind|5.003007|5.003007|u +DO_UTF8|5.006000|5.006000| +do_vecget|5.006000||Viu +do_vecset|5.003007||Viu +do_vop|5.003007||Viu +dowantarray|5.003007|5.003007|u +drand48_init_r|||nciu +drand48_r|||nciu +dSAVEDERRNO|||i +dSAVE_ERRNO|||i +dSP|5.003007|5.003007| +dTHR|5.004005|5.003007|p +dTHX|5.003007|5.003007|p +dTHXa|5.006000||pVu +dTHXoa|5.006000||pVu +dTHXR||5.003007|pou +dtrace_probe_call|||ciu +dtrace_probe_load|||ciu +dtrace_probe_op|||ciu +dtrace_probe_phase|||ciu +dump_all|5.006000|5.006000| +dump_all_perl|5.011000||Viu +dump_c_backtrace|5.021001||V +dump_eval|5.006000|5.006000|u +dump_exec_pos|5.009004||Viu +dump_form|5.006000|5.006000|u +dump_indent|5.006000|5.006000|vu +dump_mstats|5.003007||Vu +dump_packsubs|5.006000|5.006000| +dump_packsubs_perl|5.011000||Viu +dump_regex_sets_structures|5.025006||Viu +dump_sub|5.006000|5.006000|u +dump_sub_perl|5.011000||Viu +dump_sv_child|5.009003||Viu +dump_trie|5.009004||Viu +dump_trie_interim_list|5.009004||Viu +dump_trie_interim_table|5.009004||Viu +dumpuntil|5.005000||Viu +dump_vindent|5.006000|5.006000|u +dUNDERBAR|5.009002|5.003007|p +dup_attrlist|5.006000||Viu +dup_warnings|||ciu +dVAR|5.009003|5.003007|p +dXCPT|5.009002|5.003007|p +dXSARGS|5.003007|5.003007| +dXSI32|5.003007|5.003007|V +dXSTARG|5.006000|5.003007|poVu +edit_distance|5.023008||nViu +emulate_cop_io|||xciu +emulate_setlocale|5.027009||nViu +END_EXTERN_C|5.005000|5.003007|poVu +ENTER|5.003007|5.003007| +ENTER_with_name|5.011002|5.011002| +ERRSV|5.004005|5.003007|p +eval_pv|5.006000|5.003007|p +eval_sv|5.006000|5.003007|p +exec_failed|5.009004||Viu +expect_number|5.007001||Viu +EXTEND|5.003007|5.003007| +EXTERN_C|5.005000|5.003007|poVu +F0convert|5.009003||nViu +fbm_compile|5.005000|5.005000| +fbm_instr|5.005000|5.005000| +filter_add|5.003007|5.003007| +filter_del|5.003007|5.003007|u +filter_gets|5.005000||Viu +filter_read|5.003007|5.003007| +finalize_op|5.015002||Viu +finalize_optree|5.015002||Vi +find_and_forget_pmops|5.009005||Viu +find_array_subscript|5.009004||Viu +find_beginning|5.005000||Viu +find_byclass|5.006000||Viu +find_default_stash|5.019004||Viu +find_first_differing_byte_pos|||nViu +find_hash_subscript|5.009004||Viu +find_in_my_stash|5.006001||Viu +find_lexical_cv|5.019001||Viu +find_next_masked|5.027009||nViu +find_runcv|5.008001|5.008001| +find_runcv_where|5.017002||Viu +find_rundefsv|5.013002|5.013002| +find_rundefsvoffset|5.009002|5.009002|d +find_script|5.004005||Viu +find_span_end|5.027009||nViu +find_span_end_mask|5.027009||nViu +find_uninit_var|5.009002||xVi +first_symbol|5.009003||nViu +fixup_errno_string|5.019007||Viu +fold_constants|5.003007||Viu +foldEQ|5.013002|5.013002|n +foldEQ_latin1|5.013008|5.013008|nu +foldEQ_latin1_s2_folded|5.029007||nViu +foldEQ_locale|5.013002|5.013002|n +foldEQ_utf8|5.013002|5.007003|p +foldEQ_utf8_flags|5.013010||cVu +forbid_setid|5.005000||Viu +force_ident|5.003007||Viu +force_ident_maybe_lex|5.017004||Viu +force_list|5.003007||Viu +force_next|5.003007||Viu +_force_out_malformed_utf8_message|5.025009||cVu +force_strict_version|5.011004||Viu +force_version|5.005000||Viu +force_word|5.003007||Viu +forget_pmop|5.017007||Viu +form|5.006000|5.004000|v +form_alien_digit_msg|||ciu +form_cp_too_large_msg|||ciu +form_nocontext|5.006000||vnVu +fp_dup|5.007003|5.007003|u +fprintf_nocontext|5.006000||vndVu +free_c_backtrace|5.021001||Vi +free_global_struct|5.009003||Vu +free_tied_hv_pool|5.008001||Viu +FREETMPS|5.003007|5.003007| +free_tmps|5.003007|5.003007|u +G_ARRAY|5.003007|5.003007| +G_DISCARD|5.003007|5.003007| +gen_constant_list|5.003007||Viu +get_and_check_backslash_N_name|5.017006||cViu +get_and_check_backslash_N_name_wrapper|5.029009||Viu +get_ANYOF_cp_list_for_ssc|5.019005||Viu +get_ANYOFM_contents|5.027009||Viu +get_aux_mg|5.011000||Viu +get_av|5.006000|5.003007|p +get_c_backtrace|5.021001||Vi +get_c_backtrace_dump|5.021001||V +get_context|5.006000|5.006000|nu +get_cv|5.006000|5.003007|p +get_cvn_flags|5.009005|5.003007|p +get_cvs|5.011000||pVu +getcwd_sv|5.007002|5.007002| +get_db_sub|||iu +get_debug_opts|5.008001||Viu +getenv_len|5.006000||Viu +get_hash_seed|5.008001||Viu +get_hv|5.006000|5.003007|p +get_invlist_iter_addr|5.015001||nViu +get_invlist_offset_addr|5.019002||nViu +get_invlist_previous_index_addr|5.017004||nViu +get_mstats|5.006000||Vu +get_no_modify|5.005000||Viu +get_num|5.008001||Viu +get_opargs|5.005000||Viu +get_op_descs|5.005000|5.005000|u +get_op_names|5.005000|5.005000|u +get_ppaddr|5.006000|5.006000|u +get_re_arg|||xciu +_get_regclass_nonbitmap_data|5.019009||cViu +get_regex_charset_name|5.031004||nViu +get_sv|5.006000|5.003007|p +GetVars|5.006000||Vu +get_vtbl|5.005003|5.005003|u +G_EVAL|5.003007|5.003007| +GIMME|5.003007|5.003007| +GIMME_V|5.004000|5.004000| +gimme_V|5.031005|5.031005|xu +glob_2number|5.009004||Viu +glob_assign_glob|5.009004||Viu +G_METHOD|5.006001|5.003007|p +G_METHOD_NAMED|5.019002|5.019002| +G_NOARGS|5.003007|5.003007| +gp_dup|5.007003|5.007003|u +gp_free|5.003007|5.003007|u +gp_ref|5.003007|5.003007|u +G_RETHROW|5.031002|5.003007|p +grok_atoUV|5.021010||ncVi +grok_bin|5.007003|5.003007|p +grok_bin_oct_hex|||cVu +grok_bslash_c|5.013001||cViu +grok_bslash_N|5.017003||Viu +grok_bslash_o|5.013003||cViu +grok_bslash_x|5.017002||cViu +grok_hex|5.007003|5.003007|p +grok_infnan|5.021004|5.021004| +grok_number|5.007002|5.003007|p +grok_number_flags|5.021002|5.021002| +GROK_NUMERIC_RADIX|5.007002|5.003007|p +grok_numeric_radix|5.007002|5.003007|p +grok_oct|5.007003|5.003007|p +group_end|5.007003||Viu +G_SCALAR|5.003007|5.003007| +GV_ADD|5.003007|5.003007| +gv_add_by_type|5.011000|5.011000|u +GV_ADDMG|5.015003|5.015003| +GV_ADDMULTI|5.003007|5.003007| +Gv_AMupdate|5.011000|5.011000|u +gv_autoload4|5.004000|5.004000|u +gv_autoload_pv|5.015004|5.015004|u +gv_autoload_pvn|5.015004|5.015004|u +gv_autoload_sv|5.015004|5.015004|u +GvAV|5.003007|5.003007| +gv_AVadd|5.003007|5.003007|u +gv_check|5.003007|5.003007|u +gv_const_sv|5.009003|5.009003| +GvCV|5.003007|5.003007| +gv_dump|5.006000|5.006000|u +gv_efullname3|5.003007|5.003007|u +gv_efullname4|5.006001|5.006001|u +gv_efullname|5.003007|5.003007|du +gv_fetchfile|5.003007|5.003007|u +gv_fetchfile_flags|5.009005|5.009005|u +gv_fetchmeth|5.003007|5.003007| +gv_fetchmeth_autoload|5.007003|5.007003| +gv_fetchmeth_internal|5.021007||Viu +gv_fetchmethod|5.003007|5.003007| +gv_fetchmethod_autoload|5.004000|5.004000| +gv_fetchmethod_pv_flags|5.015004|5.015004|xu +gv_fetchmethod_pvn_flags|5.015004|5.015004|xu +gv_fetchmethod_sv_flags|5.015004|5.015004|xu +gv_fetchmeth_pv|5.015004|5.015004| +gv_fetchmeth_pv_autoload|5.015004|5.015004| +gv_fetchmeth_pvn|5.015004|5.015004| +gv_fetchmeth_pvn_autoload|5.015004|5.015004| +gv_fetchmeth_sv|5.015004|5.015004| +gv_fetchmeth_sv_autoload|5.015004|5.015004| +gv_fetchpv|5.003007|5.003007|u +gv_fetchpvn_flags|5.009002|5.003007|pu +gv_fetchpvs|5.009004||pVu +gv_fetchsv|5.009002|5.003007|pu +gv_fullname3|5.003007|5.003007|u +gv_fullname4|5.006001|5.006001|u +gv_fullname|5.003007|5.003007|du +gv_handler|5.007001|5.007001|u +GvHV|5.003007|5.003007| +gv_HVadd|5.003007|5.003007|u +gv_init|5.003007|5.003007| +gv_init_pv|5.015004|5.015004| +gv_init_pvn|5.015004|5.003007|p +gv_init_sv|5.015004|5.015004| +gv_init_svtype|5.015004||Viu +gv_IOadd|5.003007|5.003007|u +gv_is_in_main|5.019004||Viu +gv_magicalize|5.019004||Viu +gv_magicalize_isa|5.013005||Viu +gv_name_set|5.009004|5.009004|u +GV_NOADD_MASK|5.009005|5.003007|poVu +GV_NOADD_NOINIT|5.009003|5.009003| +GV_NOEXPAND|5.009003|5.009003| +GV_NOINIT|5.004005|5.004005| +G_VOID|5.004000|5.004000| +gv_override|5.019006||Viu +gv_setref|5.021005||Viu +gv_stashpv|5.003007|5.003007| +gv_stashpvn|5.003007|5.003007|p +gv_stashpvn_internal|5.021004||Viu +gv_stashpvs|5.009003|5.003007|p +gv_stashsv|5.003007|5.003007| +gv_stashsvpvn_cached|5.021004||Viu +GV_SUPER|5.017004|5.017004| +GvSV|5.003007|5.003007| +gv_SVadd|||u +GvSVn|5.009003||pVu +gv_try_downgrade|5.011002||xcVi +handle_named_backref|5.023008||Viu +handle_possible_posix|5.023008||Viu +handle_regex_sets|5.017009||Viu +handle_user_defined_property|5.029008||cViu +he_dup|5.007003|5.007003|u +HEf_SVKEY|5.003007|5.003007|p +HeHASH|5.003007|5.003007| +hek_dup|5.009000|5.009000|u +HeKEY|5.003007|5.003007| +HeKLEN|5.003007|5.003007| +HePV|5.004000|5.004000| +HeSVKEY|5.003007|5.003007| +HeSVKEY_force|5.003007|5.003007| +HeSVKEY_set|5.004000|5.004000| +HeUTF8|5.010001|5.008000|p +HeVAL|5.003007|5.003007| +hfree_next_entry|||iu +hsplit|5.005000||Viu +hv_assert|5.008009|5.008009| +hv_auxinit|5.009003||Viu +hv_auxinit_internal|5.019010||nViu +hv_backreferences_p|||xiu +hv_bucket_ratio|5.025003|5.025003|x +hv_clear|5.003007|5.003007| +hv_clear_placeholders|5.009001|5.009001| +hv_common|5.010000|5.010000|u +hv_common_key_len|5.010000|5.010000|u +hv_copy_hints_hv|5.009004|5.009004| +hv_delayfree_ent|5.004000|5.004000|u +hv_delete|5.003007|5.003007| +hv_delete_common|5.009001||xViu +hv_delete_ent|5.003007|5.003007| +hv_eiter_p|5.009003|5.009003|u +hv_eiter_set|5.009003|5.009003|u +HvENAME|5.013007|5.013007| +hv_ename_add|5.013007||Vi +hv_ename_delete|5.013007||Vi +HvENAMELEN|5.015004|5.015004| +HvENAMEUTF8|5.015004|5.015004| +hv_exists|5.003007|5.003007| +hv_exists_ent|5.003007|5.003007| +hv_fetch|5.003007|5.003007| +hv_fetch_ent|5.003007|5.003007| +hv_fetchs|5.009003|5.003007|p +HvFILL|5.003007|5.003007| +hv_fill|5.013002|5.013002| +hv_free_ent|5.004000|5.004000|u +hv_free_ent_ret|5.015000||Viu +hv_free_entries|5.027002||Viu +hv_iterinit|5.003007|5.003007| +hv_iterkey|5.003007|5.003007| +hv_iterkeysv|5.003007|5.003007| +hv_iternext|5.003007|5.003007| +hv_iternext_flags|5.008000|5.008000|x +hv_iternextsv|5.003007|5.003007| +HV_ITERNEXT_WANTPLACEHOLDERS|5.008000|5.008000| +hv_iterval|5.003007|5.003007| +hv_kill_backrefs|||xiu +hv_ksplit|5.003007|5.003007|u +hv_magic|5.003007|5.003007| +hv_magic_check|5.006000||nViu +HvNAME|5.003007|5.003007| +HvNAME_get|5.009003||pVu +HvNAMELEN|5.015004|5.015004| +HvNAMELEN_get|5.009003||pVu +hv_name_set|5.009003|5.009003|u +HvNAMEUTF8|5.015004|5.015004| +hv_notallowed|5.008000||Viu +hv_placeholders_get|5.009003|5.009003|u +hv_placeholders_p|||ciu +hv_placeholders_set|5.009003|5.009003|u +hv_pushkv|5.027003||Viu +hv_rand_set|5.018000|5.018000|u +hv_riter_p|5.009003|5.009003|u +hv_riter_set|5.009003|5.009003|u +hv_scalar|5.009001|5.009001| +hv_store|5.003007|5.003007| +hv_store_ent|5.003007|5.003007| +hv_store_flags|5.008000|5.008000|xu +hv_stores|5.009004|5.003007|p +hv_undef|5.003007|5.003007| +hv_undef_flags|||ciu +I16SIZE|5.006000|5.006000| +I16TYPE|5.006000|5.006000| +I32SIZE|5.006000|5.006000| +I32TYPE|5.006000|5.006000| +I8SIZE|5.006000|5.006000| +I8TYPE|5.006000|5.006000| +ibcmp|5.003007|5.003007| +ibcmp_locale|5.004000|5.004000| +ibcmp_utf8|5.007003|5.007003|u +incline|5.005000||Viu +incpush|5.005000||Viu +incpush_if_exists|5.009003||Viu +incpush_use_sep|5.011000||Viu +ingroup|5.003007||Viu +init_argv_symbols|5.007003||Viu +init_constants|5.017003||Viu +init_dbargs|||iu +init_debugger|5.005000||Viu +init_global_struct|5.009003||Vu +init_i18nl10n|5.006000||cVu +init_i18nl14n|5.006000||dcVu +initialize_invlist_guts|5.029002||Viu +init_ids|5.005000||Viu +init_interp|5.005000||Viu +init_main_stash|5.005000||Viu +init_named_cv|5.027010||cViu +init_perllib|5.005000||Viu +init_postdump_symbols|5.005000||Viu +init_predump_symbols|5.005000||Viu +init_stacks|5.005000|5.005000|u +init_tm|5.007002|5.007002|u +init_uniprops|5.027011||Viu +IN_LOCALE|5.007002|5.004000|p +IN_LOCALE_COMPILETIME|5.007002|5.004000|p +IN_LOCALE_RUNTIME|5.007002|5.004000|p +IN_PERL_COMPILETIME|5.008001|5.003007|poVu +inplace_aassign|5.015003||Viu +instr|5.003007|5.003007|n +INT2PTR|5.006000|5.003007|p +intro_my|5.004000|5.004000| +INTSIZE|5.003007|5.003007| +intuit_method|5.005000||Viu +intuit_more|5.003007||Viu +_inverse_folds|5.027011||cViu +invert|5.003007||Viu +invlist_array|5.013010||nViu +_invlist_array_init|5.015001||nViu +invlist_clear|5.023009||Viu +invlist_clone|5.015001||cViu +_invlist_contains_cp|5.017003||nViu +invlist_contents|5.023008||Viu +_invlist_dump|5.019003||cViu +_invlistEQ|5.023006||cViu +invlist_extend|5.013010||Viu +invlist_highest|5.017002||nViu +_invlist_intersection|5.015001||Viu +_invlist_intersection_maybe_complement_2nd|5.015008||cViu +_invlist_invert|5.015001||cViu +invlist_is_iterating|5.017008||nViu +invlist_iterfinish|5.017008||nViu +invlist_iterinit|5.015001||nViu +invlist_iternext|5.015001||nViu +_invlist_len|5.017004||nViu +invlist_lowest|||nxViu +invlist_max|5.013010||nViu +invlist_previous_index|5.017004||nViu +invlist_replace_list_destroys_src|5.023009||Viu +_invlist_search|5.017003||ncViu +invlist_set_len|5.013010||Viu +invlist_set_previous_index|5.017004||nViu +_invlist_subtract|5.015001||Viu +invlist_trim|5.013010||nViu +_invlist_union|5.015001||cVu +_invlist_union_maybe_complement_2nd|5.015008||cViu +invmap_dump|5.031006||Viu +invoke_exception_hook|5.013001||Viu +io_close|5.003007||Viu +isALNUM|5.003007|5.003007|p +isALNUM_A|5.031003|5.003007|p +isALNUMC|5.006000|5.003007|p +isALNUMC_A|5.013006|5.003007|p +isALNUMC_L1|5.013006|5.003007|p +isALNUMC_LC|5.006000|5.006000| +isALNUMC_LC_uvchr|5.017007|5.017007| +isALNUM_LC|5.004000|5.004000| +isALNUM_LC_uvchr|5.007001|5.007001| +isa_lookup|5.005000||Viu +isALPHA|5.003007|5.003007|p +isALPHA_A|5.013006|5.003007|p +isALPHA_L1|5.013006|5.003007|p +isALPHA_LC|5.004000|5.004000| +isALPHA_LC_utf8_safe|5.025009|5.006000|p +isALPHA_LC_uvchr|5.007001|5.007001| +isALPHANUMERIC|5.017008|5.003007|p +isALPHANUMERIC_A|5.017008|5.003007|p +isALPHANUMERIC_L1|5.017008|5.003007|p +isALPHANUMERIC_LC|5.017008|5.004000|p +isALPHANUMERIC_LC_utf8_safe|5.025009|5.006000|p +isALPHANUMERIC_LC_uvchr|5.017008|5.017008| +isALPHANUMERIC_utf8|5.031005|5.031005| +isALPHANUMERIC_utf8_safe|5.025009|5.006000|p +isALPHANUMERIC_uvchr|5.023009|5.006000|p +isALPHA_utf8|5.031005|5.031005| +isALPHA_utf8_safe|5.025009|5.006000|p +isALPHA_uvchr|5.023009|5.006000|p +is_an_int|5.005000||Viu +isASCII|5.006000|5.003007|p +isASCII_A|5.013006|5.003007|p +isASCII_L1|5.015004|5.003007|p +isASCII_LC|5.015008|5.003007|p +isASCII_LC_utf8_safe|5.025009|5.025009| +isASCII_LC_uvchr|5.017007|5.017007| +is_ascii_string|5.011000|5.011000|n +isASCII_utf8|5.031005|5.031005| +isASCII_utf8_safe|5.025009|5.003007|p +isASCII_uvchr|5.023009|5.003007|p +isBLANK|5.006001|5.003007|p +isBLANK_A|5.013006|5.003007|p +isBLANK_L1|5.013006|5.003007|p +isBLANK_LC|5.006001|5.003007|p +isBLANK_LC_utf8_safe|5.025009|5.006000|p +isBLANK_LC_uvchr|5.017007|5.017007| +isBLANK_utf8|5.031005|5.031005| +isBLANK_utf8_safe|5.025009|5.006000|p +isBLANK_uvchr|5.023009|5.006000|p +isC9_STRICT_UTF8_CHAR|5.025005|5.025005|n +is_c9strict_utf8_string|5.025006|5.025006|n +is_c9strict_utf8_string_loc|5.025006|5.025006|n +is_c9strict_utf8_string_loclen|5.025006|5.025006|n +isCNTRL|5.006000|5.003007|p +isCNTRL_A|5.013006|5.003007|p +isCNTRL_L1|5.013006|5.003007|p +isCNTRL_LC|5.006000|5.006000| +isCNTRL_LC_utf8_safe|5.025009|5.006000|p +isCNTRL_LC_uvchr|5.007001|5.007001| +isCNTRL_utf8|5.031005|5.031005| +isCNTRL_utf8_safe|5.025009|5.006000|p +isCNTRL_uvchr|5.023009|5.006000|p +_is_cur_LC_category_utf8|5.021001||cVu +isDIGIT|5.003007|5.003007|p +isDIGIT_A|5.013006|5.003007|p +isDIGIT_L1|5.013006|5.003007|p +isDIGIT_LC|5.004000|5.004000| +isDIGIT_LC_utf8_safe|5.025009|5.006000|p +isDIGIT_LC_uvchr|5.007001|5.007001| +isDIGIT_utf8|5.031005|5.031005| +isDIGIT_utf8_safe|5.025009|5.006000|p +isDIGIT_uvchr|5.023009|5.006000|p +isFF_OVERLONG|5.025007||nViu +isFOO_lc|5.017007||cViu +isFOO_utf8_lc|5.017008||Viu +isGCB|5.021009||Viu +isGRAPH|5.006000|5.003007|p +isGRAPH_A|5.013006|5.003007|p +is_grapheme|||Viu +isGRAPH_L1|5.013006|5.003007|p +isGRAPH_LC|5.006000|5.006000| +isGRAPH_LC_utf8_safe|5.025009|5.006000|p +isGRAPH_LC_uvchr|5.007001|5.007001| +isGRAPH_utf8|5.031005|5.031005| +isGRAPH_utf8_safe|5.025009|5.006000|p +isGRAPH_uvchr|5.023009|5.006000|p +isGV_with_GP|5.009004||pVu +is_handle_constructor|5.006000||nViu +isIDCONT|5.017008|5.003007|p +isIDCONT_A|5.017008|5.003007|p +isIDCONT_L1|5.017008|5.003007|p +isIDCONT_LC|5.017008|5.004000|p +isIDCONT_LC_utf8_safe|5.025009|5.006000|p +isIDCONT_LC_uvchr|5.017008|5.017008| +isIDCONT_utf8|5.031005|5.031005| +isIDCONT_utf8_safe|5.025009|5.006000|p +isIDCONT_uvchr|5.023009|5.006000|p +isIDFIRST|5.003007|5.003007|p +isIDFIRST_A|5.013006|5.003007|p +isIDFIRST_L1|5.013006|5.003007|p +isIDFIRST_LC|5.004000|5.004000|p +isIDFIRST_LC_utf8_safe|5.025009|5.006000|p +isIDFIRST_LC_uvchr|5.007001|5.007001| +isIDFIRST_utf8|5.031005|5.031005| +isIDFIRST_utf8_safe|5.025009|5.006000|p +isIDFIRST_uvchr|5.023009|5.006000|p +isinfnan|5.021004|5.021004|n +isinfnansv|5.021005||Vi +_is_in_locale_category|5.021001||cViu +is_invariant_string|5.021007|5.011000|pn +is_invlist|5.029002||nViu +isLB|5.023007||Viu +isLOWER|5.003007|5.003007|p +isLOWER_A|5.013006|5.003007|p +isLOWER_L1|5.013006|5.003007|p +isLOWER_LC|5.004000|5.004000| +isLOWER_LC_utf8_safe|5.025009|5.006000|p +isLOWER_LC_uvchr|5.007001|5.007001| +isLOWER_utf8|5.031005|5.031005| +isLOWER_utf8_safe|5.025009|5.006000|p +isLOWER_uvchr|5.023009|5.006000|p +is_lvalue_sub|5.007001|5.007001|u +IS_NUMBER_GREATER_THAN_UV_MAX|5.007002|5.003007|p +IS_NUMBER_INFINITY|5.007002|5.003007|p +IS_NUMBER_IN_UV|5.007002|5.003007|p +IS_NUMBER_NAN|5.007003|5.003007|p +IS_NUMBER_NEG|5.007002|5.003007|p +IS_NUMBER_NOT_INT|5.007002|5.003007|p +isOCTAL|5.013005|5.003007|p +isOCTAL_A|5.013006|5.003007|p +isOCTAL_L1|5.013006|5.003007|p +isPRINT|5.004000|5.003007|p +isPRINT_A|5.013006|5.003007|p +isPRINT_L1|5.013006|5.003007|p +isPRINT_LC|5.004000|5.004000| +isPRINT_LC_utf8_safe|5.025009|5.006000|p +isPRINT_LC_uvchr|5.007001|5.007001| +isPRINT_utf8|5.031005|5.031005| +isPRINT_utf8_safe|5.025009|5.006000|p +isPRINT_uvchr|5.023009|5.006000|p +isPSXSPC|5.006001|5.003007|p +isPSXSPC_A|5.013006|5.003007|p +isPSXSPC_L1|5.013006|5.003007|p +isPSXSPC_LC|5.006001|5.006001| +isPSXSPC_LC_utf8_safe|5.025009|5.006000|p +isPSXSPC_LC_uvchr|5.017007|5.017007| +isPSXSPC_utf8|5.031005|5.031005| +isPSXSPC_utf8_safe|5.025009|5.006000|p +isPSXSPC_uvchr|5.023009|5.006000|p +isPUNCT|5.006000|5.003007|p +isPUNCT_A|5.013006|5.003007|p +isPUNCT_L1|5.013006|5.003007|p +isPUNCT_LC|5.006000|5.006000| +isPUNCT_LC_utf8_safe|5.025009|5.006000|p +isPUNCT_LC_uvchr|5.007001|5.007001| +isPUNCT_utf8|5.031005|5.031005| +isPUNCT_utf8_safe|5.025009|5.006000|p +isPUNCT_uvchr|5.023009|5.006000|p +IS_SAFE_SYSCALL|5.019004|5.019004| +is_safe_syscall|5.019004|5.019004| +isSB|5.021009||Viu +isSCRIPT_RUN|5.027008||cVi +isSPACE|5.003007|5.003007|p +isSPACE_A|5.013006|5.003007|p +isSPACE_L1|5.013006|5.003007|p +isSPACE_LC|5.004000|5.004000| +isSPACE_LC_utf8_safe|5.025009|5.006000|p +isSPACE_LC_uvchr|5.007001|5.007001| +isSPACE_utf8|5.031005|5.031005| +isSPACE_utf8_safe|5.025009|5.006000|p +isSPACE_uvchr|5.023009|5.006000|p +is_ssc_worth_it|5.021005||nViu +isSTRICT_UTF8_CHAR|5.025005|5.025005|n +is_strict_utf8_string|5.025006|5.025006|n +is_strict_utf8_string_loc|5.025006|5.025006|n +is_strict_utf8_string_loclen|5.025006|5.025006|n +_is_uni_FOO|5.017008||cVu +_is_uni_perl_idcont|5.017008||cVu +_is_uni_perl_idstart|5.017007||cVu +isUPPER|5.003007|5.003007|p +isUPPER_A|5.013006|5.003007|p +isUPPER_L1|5.013006|5.003007|p +isUPPER_LC|5.004000|5.004000| +isUPPER_LC_utf8_safe|5.025009|5.006000|p +isUPPER_LC_uvchr|5.007001|5.007001| +isUPPER_utf8|5.031005|5.031005| +isUPPER_utf8_safe|5.025009|5.006000|p +isUPPER_uvchr|5.023009|5.006000|p +is_utf8_char|5.006000|5.006000|nd +isUTF8_CHAR|5.021001|5.006001|pn +is_utf8_char_buf|5.015008|5.015008|n +isUTF8_CHAR_flags|5.025005|5.025005| +is_utf8_char_helper|5.031004||ncVu +is_utf8_common|5.009003||Viu +is_utf8_cp_above_31_bits|5.025005||nViu +is_utf8_fixed_width_buf_flags|5.025006|5.025006|n +is_utf8_fixed_width_buf_loc_flags|5.025006|5.025006|n +is_utf8_fixed_width_buf_loclen_flags|5.025006|5.025006|n +_is_utf8_FOO|5.031006||cVu +is_utf8_invariant_string|5.025005|5.011000|pn +is_utf8_invariant_string_loc|5.027001|5.027001|n +is_utf8_non_invariant_string|5.027007||ncVi +is_utf8_overlong_given_start_byte_ok|5.025006||nViu +_is_utf8_perl_idcont|5.031006||cVu +_is_utf8_perl_idstart|5.031006||cVu +is_utf8_string|5.006001|5.006001|n +is_utf8_string_flags|5.025006|5.025006|n +is_utf8_string_loc|5.008001|5.008001|n +is_utf8_string_loc_flags|5.025006|5.025006|n +is_utf8_string_loclen|5.009003|5.009003|n +is_utf8_string_loclen_flags|5.025006|5.025006|n +is_utf8_valid_partial_char|5.025005|5.025005|n +is_utf8_valid_partial_char_flags|5.025005|5.025005|n +isWB|5.021009||Viu +isWORDCHAR|5.013006|5.003007|p +isWORDCHAR_A|5.013006|5.003007|p +isWORDCHAR_L1|5.013006|5.003007|p +isWORDCHAR_LC|5.017007|5.004000|p +isWORDCHAR_LC_utf8_safe|5.025009|5.006000|p +isWORDCHAR_LC_uvchr|5.017007|5.017007| +isWORDCHAR_utf8|5.031005|5.031005| +isWORDCHAR_utf8_safe|5.025009|5.006000|p +isWORDCHAR_uvchr|5.023009|5.006000|p +isXDIGIT|5.006000|5.003007|p +isXDIGIT_A|5.013006|5.003007|p +isXDIGIT_L1|5.013006|5.003007|p +isXDIGIT_LC|5.017007|5.003007|p +isXDIGIT_LC_utf8_safe|5.025009|5.006000|p +isXDIGIT_LC_uvchr|5.017007|5.017007| +isXDIGIT_utf8|5.031005|5.031005| +isXDIGIT_utf8_safe|5.025009|5.006000|p +isXDIGIT_uvchr|5.023009|5.006000|p +items|5.003007|5.003007|V +IVdf|5.006000|5.003007|p +IVSIZE|5.006000|5.003007|p +IVTYPE|5.006000|5.003007|p +ix|5.003007|5.003007|V +jmaybe|5.003007||Viu +join_exact|5.009004||Viu +keyword|5.003007||Viu +keyword_plugin_standard|||iu +LATIN1_TO_NATIVE|5.019004|5.003007|p +LEAVE|5.003007|5.003007| +leave_adjust_stacks|5.023008|5.023008|xu +leave_scope|5.003007|5.003007|u +LEAVE_with_name|5.011002|5.011002| +lex_bufutf8|5.011002|5.011002|x +lex_discard_to|5.011002|5.011002|x +lex_grow_linestr|5.011002|5.011002|x +LEX_KEEP_PREVIOUS|5.011002|5.011002| +lex_next_chunk|5.011002|5.011002|x +lex_peek_unichar|5.011002|5.011002|x +lex_read_space|5.011002|5.011002|x +lex_read_to|5.011002|5.011002|x +lex_read_unichar|5.011002|5.011002|x +lex_start|5.009005|5.009005|x +lex_stuff_pv|5.013006|5.013006|x +lex_stuff_pvn|5.011002|5.011002|x +lex_stuff_pvs|5.013005|5.013005|x +lex_stuff_sv|5.011002|5.011002|x +LEX_STUFF_UTF8|5.011002|5.011002| +lex_unstuff|5.011002|5.011002|x +LIKELY|5.009004|5.003007|p +LINKLIST|5.013006|5.013006| +list|5.003007||Viu +listkids|5.003007||Viu +load_module|5.006000|5.003007|pv +load_module_nocontext|5.006000||vnVu +localize|5.003007||Viu +LONGDBLINFBYTES|5.023000|5.023000| +LONGDBLMANTBITS|5.023000|5.023000| +LONGDBLNANBYTES|5.023000|5.023000| +LONGSIZE|5.004000|5.003007| +looks_like_bool|5.027008||Viu +looks_like_number|5.003007|5.003007| +lop|5.005000||Viu +lossless_NV_to_IV|5.031001||nViu +LSEEKSIZE|5.006000|5.006000| +LVRET|||i +magic_clear_all_env|5.004001||Viu +magic_cleararylen_p|5.017002||Viu +magic_clearenv|5.003007||Viu +magic_clearhint|5.009004||Vi +magic_clearhints|5.011000||Vi +magic_clearisa|5.010001||Viu +magic_clearpack|5.003007||Viu +magic_clearsig|5.003007||Viu +magic_copycallchecker|5.017000||Viu +magic_dump|5.006000|5.006000|u +magic_existspack|5.003007||Viu +magic_freearylen_p|5.009003||Viu +magic_freeovrld|5.007001||Viu +magic_get|5.003007||Viu +magic_getarylen|5.003007||Viu +magic_getdebugvar|5.021005||Viu +magic_getdefelem|5.004000||Viu +magic_getnkeys|5.004005||Viu +magic_getpack|5.003007||Viu +magic_getpos|5.003007||Viu +magic_getsig|5.003007||Viu +magic_getsubstr|5.004005||Viu +magic_gettaint|5.003007||Viu +magic_getuvar|5.003007||Viu +magic_getvec|5.004005||Viu +magic_killbackrefs|5.006000||Viu +magic_methcall1|5.013001||Viu +magic_methcall|||vi +magic_methpack|5.005000||Viu +magic_nextpack|5.003007||Viu +magic_regdata_cnt|5.006000||Viu +magic_regdatum_get|5.006000||Viu +magic_regdatum_set|5.006001||Viu +magic_scalarpack|5.009001||Viu +magic_set|5.003007||Viu +magic_set_all_env|5.004004||Viu +magic_setarylen|5.003007||Viu +magic_setcollxfrm|5.004000||Viu +magic_setdbline|5.003007||Viu +magic_setdebugvar|5.021005||Viu +magic_setdefelem|5.004000||Viu +magic_setenv|5.003007||Viu +magic_sethint|5.009004||Vi +magic_setisa|5.003007||Viu +magic_setlvref|5.021005||Viu +magic_setmglob|5.003007||Viu +magic_setnkeys|5.003007||Viu +magic_setnonelem|5.027009||Viu +magic_setpack|5.003007||Viu +magic_setpos|5.003007||Viu +magic_setregexp|5.008001||Viu +magic_setsig|5.003007||Viu +magic_setsubstr|5.003007||Viu +magic_settaint|5.003007||Viu +magic_setutf8|5.008001||Viu +magic_setuvar|5.003007||Viu +magic_setvec|5.003007||Viu +magic_sizepack|5.005000||Viu +magic_wipepack|5.003007||Viu +make_exactf_invlist|5.031006||Viu +make_matcher|5.027008||Viu +make_trie|5.009002||Viu +malloc|5.007002|5.007002|n +malloced_size|5.005000||nViu +malloc_good_size|5.010001||nViu +MARK|5.003007|5.003007| +markstack_grow|5.021001|5.021001|u +matcher_matches_sv|5.027008||Viu +maybe_multimagic_gv|5.019004||Viu +mayberelocate|5.015006||Viu +measure_struct|5.007003||Viu +memCHRs||5.003007|p +mem_collxfrm|5.003007||dViu +_mem_collxfrm|5.025002||Viu +memEQ|5.004000|5.003007|p +memEQs|5.009005|5.003007|p +mem_log_alloc|5.024000||nViu +mem_log_common|5.010001||nViu +mem_log_free|5.024000||nViu +mem_log_realloc|5.024000||nViu +memNE|5.004000|5.003007|p +memNEs|5.009005|5.003007|p +mess|5.006000|5.004000|pv +mess_alloc|5.005000||Viu +mess_nocontext|5.006000||pvnVu +mess_sv|5.013001|5.004000|p +mfree|5.007002|5.007002|nu +mg_clear|5.003007|5.003007| +mg_copy|5.003007|5.003007| +mg_dup|5.007003|5.007003|u +mg_find|5.003007|5.003007|n +mg_findext|5.013008|5.003007|pn +mg_find_mglob|5.019002||cViu +mg_free|5.003007|5.003007| +mg_freeext|5.027004|5.027004| +mg_free_type|5.013006|5.013006| +mg_get|5.003007|5.003007| +mg_length|5.005000|5.005000|d +mg_localize|5.009003||Vi +mg_magical|5.003007|5.003007|n +mg_set|5.003007|5.003007| +mg_size|5.005000|5.005000|u +mini_mktime|5.007002|5.007002|nu +minus_v|5.015006||Viu +missingterm|5.005000||Viu +mode_from_discipline|5.006000||Viu +modkids|5.003007||Viu +more_bodies|||iu +more_sv|5.009004||Viu +moreswitches|5.003007|5.003007|u +Move|5.003007|5.003007| +MoveD|5.009002|5.003007|p +move_proto_attr|5.019005||Viu +mPUSHi|5.009002|5.003007|p +mPUSHn|5.009002|5.003007|p +mPUSHp|5.009002|5.003007|p +mPUSHs|5.010001|5.003007|p +mPUSHu|5.009002|5.003007|p +mro_clean_isarev|5.013007||Viu +mro_gather_and_rename|5.013007||Viu +mro_get_from_name|5.010001|5.010001|u +mro_get_linear_isa|5.009005|5.009005| +mro_get_linear_isa_dfs|5.009005||Vi +mro_get_private_data|5.010001|5.010001| +mro_isa_changed_in|5.009005||Vi +mro_meta_dup|5.009005||Viu +mro_meta_init|||ciu +mro_method_changed_in|5.009005|5.009005| +mro_package_moved|5.013006||Vi +mro_register|5.010001|5.010001| +mro_set_mro|5.010001|5.010001|u +mro_set_private_data|5.010001|5.010001| +mul128|5.005000||Viu +MULTICALL|5.009003|5.009003| +multiconcat_stringify|5.027006||cViu +multideref_stringify|5.021009||cViu +MUTABLE_PTR|5.010001||pVu +MUTABLE_SV|5.010001||pVu +mXPUSHi|5.009002|5.003007|p +mXPUSHn|5.009002|5.003007|p +mXPUSHp|5.009002|5.003007|p +mXPUSHs|5.010001|5.003007|p +mXPUSHu|5.009002|5.003007|p +my_atof2|||cu +my_atof3|5.029000||cVu +my_atof|5.006000|5.006000|u +my_attrs|5.006000||Viu +my_bytes_to_utf8|5.021009||nViu +my_chsize|5.003007||Vu +my_clearenv|5.009003||Viu +MY_CXT|5.009000|5.009000|p +MY_CXT_CLONE|5.009002|5.009000|p +my_cxt_index|||u +MY_CXT_INIT|5.009000|5.009000|p +my_cxt_init|5.009000|5.009000|u +my_dirfd|5.009005|5.009005|nu +my_exit|5.003007|5.003007| +my_exit_jump|5.005000||Viu +my_failure_exit|5.004000|5.004000|u +my_fflush_all|5.006000|5.006000|u +my_fork|5.007003|5.007003|nu +my_kid|5.006000||Viu +my_lstat_flags|5.013003||cViu +my_lstat|||u +my_memrchr|5.027006||nViu +my_mkostemp_cloexec|||niu +my_mkostemp|||niu +my_mkstemp_cloexec|||niu +my_mkstemp|||niu +my_nl_langinfo|5.027006||nViu +my_pclose|5.003007|5.003007|u +my_popen|5.003007|5.003007|u +my_popen_list|5.007001|5.007001|u +my_setenv|5.003007|5.003007| +my_snprintf|5.009004|5.003007|pvn +my_socketpair|5.007003|5.007003|nu +my_sprintf|5.009003|5.003007|pnd +my_stat_flags|5.013003||cViu +my_stat|||u +my_strerror|5.021001||Viu +my_strftime|5.007002|5.007002|u +my_strlcat|5.009004|5.003007|pn +my_strlcpy|5.009004|5.003007|pn +my_strnlen|5.027006|5.003007|pn +my_strtod|5.029010|5.029010|n +my_unexec|5.003007||Viu +my_vsnprintf|5.009004|5.009004|n +NATIVE_TO_LATIN1|5.019004|5.003007|p +NATIVE_TO_NEED|5.019004||ndcVu +NATIVE_TO_UNI|5.007001|5.003007|p +need_utf8|5.009003||nViu +newANONATTRSUB|5.006000|5.006000|u +newANONHASH|5.003007|5.003007|u +newANONLIST|5.003007|5.003007|u +newANONSUB|5.003007|5.003007|u +newASSIGNOP|5.003007|5.003007| +newATTRSUB|5.006000|5.006000|u +newATTRSUB_x|5.019008||cVi +newAV|5.003007|5.003007| +newAVREF|5.003007|5.003007|u +newBINOP|5.003007|5.003007| +new_collate|5.006000||Viu +newCONDOP|5.003007|5.003007| +new_constant|||iu +newCONSTSUB|5.004005|5.003007|p +newCONSTSUB_flags|5.015006|5.015006| +new_ctype|5.006000||Viu +newCVREF|5.003007|5.003007|u +newDEFSVOP|5.021006|5.021006| +newFORM|5.003007|5.003007|u +newFOROP|5.013007|5.013007| +newGIVENOP|5.009003|5.009003| +newGIVWHENOP|5.027008||Viu +newGP|||xiu +newGVgen|5.003007|5.003007|u +newGVgen_flags|5.015004|5.015004|u +newGVOP|5.003007|5.003007| +newGVREF|5.003007|5.003007|u +new_he|5.005000||Viu +newHV|5.003007|5.003007| +newHVhv|5.005000|5.005000|u +newHVREF|5.003007|5.003007|u +_new_invlist|5.013010||cViu +_new_invlist_C_array|5.015008||cViu +newIO|5.003007|5.003007|u +newLISTOP|5.003007|5.003007| +newLOGOP|5.003007|5.003007| +new_logop|5.005000||Viu +newLOOPEX|5.003007|5.003007| +newLOOPOP|5.003007|5.003007| +newMETHOP|5.021005|5.021005| +newMETHOP_internal|5.021005||Viu +newMETHOP_named|5.021005|5.021005| +new_msg_hv|5.027009||Viu +newMYSUB|5.017004|5.017004|u +newNULLLIST|5.003007|5.003007| +new_numeric|5.006000||Viu +newOP|5.003007|5.003007| +newPADNAMELIST|5.021007|5.021007|nx +newPADNAMEouter|5.021007|5.021007|nx +newPADNAMEpvn|5.021007|5.021007|nx +newPADOP|5.006000||V +newPMOP|5.003007|5.003007| +newPROG|5.003007|5.003007|u +newPVOP|5.003007|5.003007| +newRANGE|5.003007|5.003007| +new_regcurly|5.027001||nViu +newRV|5.003007|5.003007|u +newRV_inc|5.004000|5.003007|p +newRV_noinc|5.004000|5.003007|p +newSLICEOP|5.003007|5.003007| +new_stackinfo|5.005000|5.005000|u +newSTATEOP|5.003007|5.003007| +newSTUB|5.017001||Viu +newSUB|5.003007|5.003007|u +newSV|5.003007|5.003007| +newSVavdefelem|5.019004||Viu +newSVhek|5.009003|5.009003| +newSViv|5.003007|5.003007| +newSVnv|5.006000|5.003007| +newSVOP|5.003007|5.003007| +newSVpadname|5.017004|5.017004|x +newSVpv|5.003007|5.003007| +newSVpvf|5.006000|5.004000|v +newSVpvf_nocontext|5.006000||vnVu +newSVpvn|5.004005|5.003007|p +newSVpvn_flags|5.010001|5.003007|p +newSVpvn_share|5.007001|5.003007|p +newSVpvn_utf8|5.010001|5.003007|p +newSVpvs|5.009003|5.003007|p +newSVpvs_flags|5.010001|5.003007|p +newSVpv_share|5.013006|5.013006| +newSVpvs_share|5.009003|5.003007|p +newSVREF|5.003007|5.003007|u +newSVrv|5.003007|5.003007| +newSVsv|5.003007|5.003007| +newSVsv_flags|5.029009|5.003007|pu +newSVsv_nomg|5.029009|5.003007|p +newSV_type|5.009005|5.003007|p +newSVuv|5.006000|5.003007|p +newUNOP|5.003007|5.003007| +newUNOP_AUX|5.021007|5.021007| +new_version|5.009000|5.009000| +new_warnings_bitfield|||xciu +newWHENOP|5.027008|5.027008| +newWHILEOP|5.013007|5.013007| +Newx|5.009003|5.003007|p +Newxc|5.009003|5.003007|p +newXS|5.006000|5.006000| +newXS_deffile|5.021006||cViu +newXS_flags|5.009004|5.009004|xu +newXS_len_flags|5.015006||Vi +newXSproto|5.006000|5.006000| +Newxz|5.009003|5.003007|p +nextargv|5.003007||Viu +nextchar|5.005000||Viu +next_symbol|5.007003||Viu +ninstr|5.003007|5.003007|n +no_bareword_allowed|5.005004||Viu +no_fh_allowed|5.003007||Viu +no_op|5.003007||Viu +NOOP|5.005000|5.003007|poVu +noperl_die|5.021006||vnViu +not_a_number|5.005000||Viu +nothreadhook|5.008000|5.008000| +notify_parser_that_changed_to_utf8|5.025010||Viu +not_incrementable|5.021002||Viu +nuke_stacks|5.005000||Viu +Nullav|5.003007|5.003007|d +Nullch|5.003007|5.003007| +Nullcv|5.003007|5.003007|d +Nullhv|5.003007|5.003007|d +Nullsv|5.003007|5.003007| +NUM2PTR|5.006000||pVu +num_overflow|5.009001||nViu +NVef|5.006001|5.003007|p +NVff|5.006001|5.003007|p +NVgf|5.006001|5.003007|p +NVMANTBITS|5.023000|5.023000| +NVSIZE|5.006001|5.006001| +NVTYPE|5.006000|5.003007|p +oopsAV|5.003007||Viu +oopsHV|5.003007||Viu +op_append_elem|5.013006|5.013006| +op_append_list|5.013006|5.013006| +OP_CLASS|5.013007|5.013007| +op_class|5.025010|5.025010| +op_clear|5.006000||cViu +op_contextualize|5.013006|5.013006| +op_convert_list|5.021006|5.021006| +OP_DESC|5.007003|5.007003| +op_dump|5.006000|5.006000| +openn_cleanup|5.019010||Viu +openn_setup|5.019010||Viu +open_script|5.005000||Viu +OPf_KIDS|5.003007|5.003007| +op_free|5.003007|5.003007| +OpHAS_SIBLING|5.021007|5.003007|p +op_integerize|5.015003||Viu +OpLASTSIB_set|5.021011|5.003007|p +op_linklist|5.013006|5.013006| +op_lvalue|5.013007|5.013007|x +op_lvalue_flags|||ciu +OpMAYBESIB_set|5.021011|5.003007|p +opmethod_stash|5.021007||Viu +OpMORESIB_set|5.021011|5.003007|p +OP_NAME|5.007003|5.007003| +op_null|5.007002|5.007002| +op_parent|5.025001|5.025001|n +OPpEARLY_CV|5.006000|5.006000| +OPpENTERSUB_AMPER|5.003007|5.003007| +op_prepend_elem|5.013006|5.013006| +op_refcnt_dec|||xiu +op_refcnt_inc|||xiu +op_refcnt_lock|5.009002|5.009002|u +op_refcnt_unlock|5.009002|5.009002|u +op_relocate_sv|5.021005||Viu +op_scope|5.013007|5.013007|x +OpSIBLING|5.021007|5.003007|p +op_sibling_splice|5.021002|5.021002|n +opslab_force_free|5.017002||Viu +opslab_free|5.017002||Viu +opslab_free_nopad|5.017002||Viu +op_std_init|5.015003||Viu +optimize_op|5.027006||Viu +optimize_optree|5.027006||Vi +OP_TYPE_IS|5.019007|5.019007| +OP_TYPE_IS_OR_WAS|5.019010|5.019010| +op_unscope|5.017003||xViu +ORIGMARK|5.003007|5.003007| +OSNAME|5.003007|5.003007| +OSVERS|5.007002|5.007002| +output_non_portable|||Viu +output_posix_warnings|5.029005||Viu +package|5.003007||Viu +package_version|5.011001||Viu +pack_cat||| +packlist|5.008001|5.008001| +pack_rec|5.008001||Viu +packWARN|5.007003||pVu +pad_add_anon|5.008001|5.008001| +pad_add_name_pv|5.015001|5.015001| +pad_add_name_pvn|5.015001|5.015001| +pad_add_name_pvs|5.015001|5.015001| +pad_add_name_sv|5.015001|5.015001| +pad_add_weakref|5.021007||Viu +pad_alloc|5.003007|5.003007|x +pad_alloc_name|5.015001||Vi +PadARRAY|5.017004|5.017004|x +PAD_BASE_SV|||i +pad_block_start|5.008001||Vi +pad_check_dup|5.008001||Vi +PAD_CLONE_VARS|||i +PAD_COMPNAME_FLAGS|||i +PAD_COMPNAME_GEN|||i +PAD_COMPNAME_GEN_set|||i +PAD_COMPNAME_OURSTASH|||i +PAD_COMPNAME_PV|||i +pad_compname_type||| +PAD_COMPNAME_TYPE|||i +pad_findlex|5.005000||Vi +pad_findmy_pv|5.015001|5.015001| +pad_findmy_pvn|5.015001|5.015001| +pad_findmy_pvs|5.015001|5.015001| +pad_findmy_sv|5.015001|5.015001| +pad_fixup_inner_anons|5.008001||Vi +pad_free|5.003007||Vi +pad_leavemy|5.003007||Vi +PadlistARRAY|5.017004|5.017004|x +padlist_dup|5.013002||Vi +PadlistMAX|5.017004|5.017004|x +PadlistNAMES|5.017004|5.017004|x +PadlistNAMESARRAY|5.017004|5.017004|x +PadlistNAMESMAX|5.017004|5.017004|x +PadlistREFCNT|5.017004|5.017004|x +padlist_store|5.017004||Viu +PadMAX|5.017004|5.017004|x +padname_dup|5.021007||Vi +padname_free|||ciu +PadnameIN_SCOPE|5.031004||nViu +PadnameIsOUR|||i +PadnameIsSTATE|||i +PadnameLEN|5.017004|5.017004|x +PadnamelistARRAY|5.017004|5.017004|x +padnamelist_dup|5.021007||Vi +padnamelist_fetch|5.021007|5.021007|nx +padnamelist_free|||ciu +PadnamelistMAX|5.017004|5.017004|x +PadnamelistREFCNT|5.021007|5.021007|x +PadnamelistREFCNT_dec|5.021007|5.021007|x +padnamelist_store|5.021007|5.021007|x +PadnameOURSTASH|||i +PadnameOUTER|||i +PadnamePV|5.017004|5.017004|x +PadnameREFCNT|5.021007|5.021007|x +PadnameREFCNT_dec|5.021007|5.021007|x +PadnameSV|5.017004|5.017004|x +PADNAMEt_OUTER|5.021007|5.021007| +PadnameTYPE|||i +PadnameUTF8|5.017004|5.017004|x +pad_new|5.008001|5.008001| +pad_push|5.008001||cVi +pad_reset|5.003007||Vi +PAD_RESTORE_LOCAL|||i +PAD_SAVE_LOCAL|||i +PAD_SAVE_SETNULLPAD|||i +PAD_SET_CUR|||i +PAD_SET_CUR_NOSAVE|||i +pad_setsv|5.008001|5.008001| +PAD_SETSV|||i +pad_sv|5.003007||V +PAD_SV|||i +PAD_SVl|||i +pad_swipe|5.003007||Vi +pad_tidy|5.008001|5.008001|x +parse_arithexpr|5.013008|5.013008|x +parse_barestmt|5.013007|5.013007|x +parse_block|5.013007|5.013007|x +parse_body|5.006000||Viu +parse_fullexpr|5.013008|5.013008|x +parse_fullstmt|5.013005|5.013005|x +parse_gv_stash_name|5.019004||Viu +parse_ident|5.017010||Viu +parse_label|5.013007|5.013007|x +parse_listexpr|5.013008|5.013008|x +parse_lparen_question_flags|5.017009||Viu +PARSE_OPTIONAL|5.013007|5.013007| +parser_dup|5.009000|5.009000|u +parser_free|5.009005||Viu +parser_free_nexttoke_ops|5.017006||Viu +parse_stmtseq|5.013006|5.013006|x +parse_subsignature|5.031003|5.031003|x +parse_termexpr|5.013008|5.013008|x +parse_unicode_opts|5.008001||Viu +parse_uniprop_string|5.027011||cViu +path_is_searchable|5.019001||nViu +peep|5.003007||Viu +pending_ident|5.017004||Viu +PERL_ABS|5.008001|5.003007|p +perl_alloc|5.003007|5.003007|n +perl_alloc_using|5.006000||nVu +PERL_BCDVERSION||5.003007|pou +perl_clone|5.006000||nV +perl_clone_using|5.006000||nVu +perl_construct|5.003007|5.003007|n +Perl_custom_op_xop|5.013007||V +perl_destruct|5.007003|5.007003|n +Perl_eval_pv||5.003007|ou +Perl_eval_sv||5.003007|ou +PERL_EXIT_ABORT|5.019003|5.019003| +PERL_EXIT_DESTRUCT_END|5.007003|5.007003| +PERL_EXIT_EXPECTED|5.006000|5.006000| +PERL_EXIT_WARN|5.019003|5.019003| +perl_free|5.003007|5.003007|n +PERL_HASH|5.003007|5.003007|p +PERL_INT_MAX|5.003007|5.003007|p +PERL_INT_MIN|5.003007|5.003007|p +PerlIO_apply_layers|5.007001|5.007001| +PerlIO_binmode|5.007001|5.007001| +PerlIO_canset_cnt|5.003007|5.003007|n +PerlIO_clearerr|5.007003|5.007003| +PerlIO_close|5.007003|5.007003| +PerlIO_context_layers|5.009004|5.009004|u +PerlIO_debug|5.007001|5.007001| +PerlIO_eof|5.007003|5.007003| +PerlIO_error|5.007003|5.007003| +PerlIO_exportFILE|5.003007|5.003007|n +PerlIO_fast_gets|5.003007|5.003007|n +PerlIO_fdopen|5.003007|5.003007|n +PerlIO_fileno|5.007003|5.007003| +PerlIO_fill|5.007003|5.007003|u +PerlIO_findFILE|5.003007|5.003007|n +PerlIO_flush|5.007003|5.007003| +PERLIO_FUNCS_CAST|5.009003||pVu +PERLIO_FUNCS_DECL|5.009003||pVu +PerlIO_get_base|5.007003|5.007003| +PerlIO_get_bufsiz|5.007003|5.007003| +PerlIO_getc|5.003007|5.003007|n +PerlIO_get_cnt|5.007003|5.007003| +PerlIO_getpos|5.003007|5.003007|n +PerlIO_get_ptr|5.007003|5.007003| +PerlIO_has_base|5.003007|5.003007|n +PerlIO_has_cntptr|5.003007|5.003007|n +PerlIO_importFILE|5.003007|5.003007|n +PerlIO_open|5.003007|5.003007|n +PerlIO_printf|5.006000|5.003007| +PerlIO_putc|5.003007|5.003007|n +PerlIO_puts|5.003007|5.003007|n +PerlIO_read|5.007003|5.007003| +PerlIO_releaseFILE|5.003007|5.003007|n +PerlIO_reopen|5.003007|5.003007| +PerlIO_restore_errno|5.021006||cViu +PerlIO_rewind|5.003007|5.003007|n +PerlIO_save_errno|5.021006||cViu +PerlIO_seek|5.007003|5.007003| +PerlIO_set_cnt|5.007003|5.007003| +PerlIO_setlinebuf|5.007003|5.007003| +PerlIO_setpos|5.003007|5.003007|n +PerlIO_set_ptrcnt|5.007003|5.007003| +PerlIO_stderr|5.007003|5.007003| +PerlIO_stdin|5.007003|5.007003| +PerlIO_stdout|5.007003|5.007003| +PerlIO_stdoutf|5.006000|5.003007| +PerlIO_tell|5.007003|5.007003| +PerlIO_ungetc|5.003007|5.003007|n +PerlIO_unread|5.007003|5.007003|u +PerlIO_vprintf|5.003007|5.003007|n +PerlIO_write|5.007003|5.007003| +Perl_langinfo|5.027004|5.027004|n +PerlLIO_dup2_cloexec|5.027008||Viu +PerlLIO_dup_cloexec|5.027008||Viu +PerlLIO_open3_cloexec|5.027008||Viu +PerlLIO_open_cloexec|5.027008||Viu +PERL_LOADMOD_DENY|5.006000|5.003007| +PERL_LOADMOD_IMPORT_OPS|5.006000|5.003007| +PERL_LOADMOD_NOIMPORT|5.006000|5.003007| +PERL_LONG_MAX|5.003007|5.003007|p +PERL_LONG_MIN|5.003007|5.003007|p +PERL_MAGIC_arylen|5.007002|5.003007|p +PERL_MAGIC_arylen_p|5.009003|5.009003| +PERL_MAGIC_backref|5.007002|5.003007|p +PERL_MAGIC_bm|5.007002|5.003007|p +PERL_MAGIC_checkcall|5.013006|5.013006| +PERL_MAGIC_collxfrm|5.007002|5.003007|p +PERL_MAGIC_dbfile|5.007002|5.003007|p +PERL_MAGIC_dbline|5.007002|5.003007|p +PERL_MAGIC_debugvar|5.021005|5.021005| +PERL_MAGIC_defelem|5.007002|5.003007|p +PERL_MAGIC_env|5.007002|5.003007|p +PERL_MAGIC_envelem|5.007002|5.003007|p +PERL_MAGIC_ext|5.007002|5.003007|p +PERL_MAGIC_fm|5.007002|5.003007|p +PERL_MAGIC_glob||5.003007|pou +PERL_MAGIC_hints|5.009004|5.009004| +PERL_MAGIC_hintselem|5.009004|5.009004| +PERL_MAGIC_isa|5.007002|5.003007|p +PERL_MAGIC_isaelem|5.007002|5.003007|p +PERL_MAGIC_lvref|5.021005|5.021005| +PERL_MAGIC_mutex||5.003007|pou +PERL_MAGIC_nkeys|5.007002|5.003007|p +PERL_MAGIC_nonelem|5.027009|5.027009| +PERL_MAGIC_overload||5.003007|pou +PERL_MAGIC_overload_elem||5.003007|pou +PERL_MAGIC_overload_table|5.007002|5.003007|p +PERL_MAGIC_pos|5.007002|5.003007|p +PERL_MAGIC_qr|5.007002|5.003007|p +PERL_MAGIC_regdata|5.007002|5.003007|p +PERL_MAGIC_regdatum|5.007002|5.003007|p +PERL_MAGIC_regex_global|5.007002|5.003007|p +PERL_MAGIC_rhash|5.009003|5.009003| +PERL_MAGIC_shared|5.007003|5.003007|p +PERL_MAGIC_shared_scalar|5.007003|5.003007|p +PERL_MAGIC_sig|5.007002|5.003007|p +PERL_MAGIC_sigelem|5.007002|5.003007|p +PERL_MAGIC_substr|5.007002|5.003007|p +PERL_MAGIC_sv|5.007002|5.003007|p +PERL_MAGIC_symtab|5.009003|5.009003| +PERL_MAGIC_taint|5.007002|5.003007|p +PERL_MAGIC_tied|5.007002|5.003007|p +PERL_MAGIC_tiedelem|5.007002|5.003007|p +PERL_MAGIC_tiedscalar|5.007002|5.003007|p +PERL_MAGIC_utf8|5.008001|5.003007|p +PERL_MAGIC_uvar|5.007002|5.003007|p +PERL_MAGIC_uvar_elem|5.007003|5.003007|p +PERL_MAGIC_vec|5.007002|5.003007|p +PERL_MAGIC_vstring|5.008001|5.003007|p +perl_parse|5.006000|5.006000|n +PerlProc_pipe_cloexec|5.027008||Viu +PERL_PV_ESCAPE_ALL|5.009004|5.003007|p +PERL_PV_ESCAPE_FIRSTCHAR|5.009004|5.003007|p +PERL_PV_ESCAPE_NOBACKSLASH|5.009004|5.003007|p +PERL_PV_ESCAPE_NOCLEAR|5.009004|5.003007|p +PERL_PV_ESCAPE_NONASCII|5.013009|5.013009| +PERL_PV_ESCAPE_QUOTE|5.009004|5.003007|p +PERL_PV_ESCAPE_RE|5.009005|5.003007|p +PERL_PV_ESCAPE_UNI|5.009004|5.003007|p +PERL_PV_ESCAPE_UNI_DETECT|5.009004|5.003007|p +PERL_PV_PRETTY_DUMP|5.009004|5.003007|poVu +PERL_PV_PRETTY_ELLIPSES|5.010000|5.003007|p +PERL_PV_PRETTY_LTGT|5.009004|5.003007|p +PERL_PV_PRETTY_NOCLEAR|5.010000|5.003007|poVu +PERL_PV_PRETTY_QUOTE|5.009004|5.003007|p +PERL_PV_PRETTY_REGPROP|5.009004|5.003007|poVu +PERL_QUAD_MAX|5.003007|5.003007|p +PERL_QUAD_MIN|5.003007|5.003007|p +PERL_REVISION|5.006000|5.003007|p +perl_run|5.003007|5.003007|n +PERL_SCAN_ALLOW_UNDERSCORES|5.007003|5.003007|p +PERL_SCAN_DISALLOW_PREFIX|5.007003|5.003007|p +PERL_SCAN_GREATER_THAN_UV_MAX|5.007003|5.003007|p +PERL_SCAN_SILENT_ILLDIGIT|5.008001|5.003007|p +PERL_SCAN_TRAILING|5.021002|5.021002| +Perl_setlocale|5.027002|5.027002|n +PERL_SHORT_MAX|5.003007|5.003007|p +PERL_SHORT_MIN|5.003007|5.003007|p +PERL_SIGNALS_UNSAFE_FLAG|5.008001|5.003007|poVu +Perl_signbit|5.009005|5.009005|nx +PerlSock_accept_cloexec|5.027008||Viu +PerlSock_socket_cloexec|5.027008||Viu +PerlSock_socketpair_cloexec|5.027008||Viu +PERL_SUBVERSION|5.006000|5.003007|p +PERL_SYS_INIT3|5.006000|5.006000| +PERL_SYS_INIT|5.003007|5.003007| +PERL_SYS_TERM|5.003007|5.003007| +PERL_UCHAR_MAX|5.003007|5.003007|p +PERL_UCHAR_MIN|5.003007|5.003007|p +PERL_UINT_MAX|5.003007|5.003007|p +PERL_UINT_MIN|5.003007|5.003007|poVu +PERL_ULONG_MAX|5.003007|5.003007|p +PERL_ULONG_MIN|5.003007|5.003007|p +PERL_UNUSED_ARG|5.009003||pVu +PERL_UNUSED_CONTEXT|5.009004|5.003007|poVu +PERL_UNUSED_DECL|5.007002|5.003007|poVu +PERL_UNUSED_RESULT|5.021001||pVu +PERL_UNUSED_VAR|5.007002||pVu +PERL_UQUAD_MAX|5.003007|5.003007|p +PERL_UQUAD_MIN|5.003007|5.003007|p +PERL_USE_GCC_BRACE_GROUPS|5.009004|5.004000|poVu +PERL_USHORT_MAX|5.003007|5.003007|p +PERL_USHORT_MIN|5.003007|5.003007|p +PERL_VERSION|5.006000|5.003007|p +perly_sighandler|||nu +pidgone|5.003007||Viu +PL_bufend||5.003007|pou +PL_bufptr||5.003007|pou +PL_check|5.009003|5.006000| +PL_compiling|5.004005|5.003007|poVu +PL_comppad|5.008001|5.008001|x +PL_comppad_name|5.017004|5.017004|x +PL_copline||5.003007|pou +PL_curcop|5.004005|5.003007|p +PL_curpad|5.005000|5.005000|x +PL_curstash|5.004005|5.003007|p +PL_DBsignal|5.005000|5.003007|poVu +PL_DBsingle|5.004005|5.003007|poV +PL_DBsub|5.004005|5.003007|poV +PL_DBtrace|5.005000|5.003007|poV +PL_debstash|5.004005|5.003007|poVu +PL_defgv|5.004005|5.003007|p +PL_diehook|5.004005|5.003007|poVu +PL_dirty|5.004005|5.003007|poVu +PL_dowarn|5.004005|5.003007|poV +PL_errgv|5.004005|5.003007|p +PL_error_count||5.003007|pou +PL_exit_flags|5.006000|5.006000| +PL_expect||5.003007|pou +PL_hexdigit|5.005000|5.003007|poVu +PL_hints|5.005000|5.003007|poVu +PL_in_my||5.003007|pou +PL_in_my_stash||5.005000|pou +PL_keyword_plugin|5.011002|5.011002|x +PL_last_in_gv|||i +PL_laststatval|5.005000|5.003007|poVu +PL_lex_state||5.003007|pou +PL_lex_stuff||5.003007|pou +PL_linestr||5.003007|pou +PL_mess_sv|5.005000|5.004000|poVu +PL_modglobal|5.005000|5.005000| +PL_na|5.004005|5.003007|p +PL_no_modify|5.006000|5.003007|poVu +PL_ofsgv|||i +PL_opfreehook|5.011000|5.011000| +PL_parser|5.009005|5.003007|p +PL_peepp|5.007003|5.007003| +PL_perldb|5.004005|5.003007|poVu +PL_perl_destruct_level|5.004005|5.003007|p +PL_phase|5.013007|5.013007| +PL_ppaddr|5.006000|5.003007|poVu +PL_rpeepp|5.013005|5.013005| +PL_rsfp||5.003007|pou +PL_rsfp_filters||5.003007|pou +PL_rs|||i +PL_runops|5.006000|5.006000| +PL_signals|5.008001||pVu +PL_stack_base|5.004005|5.003007|poVu +PL_stack_sp|5.004005|5.003007|poVu +PL_statcache|5.005000|5.003007|poVu +PL_stdingv|5.004005|5.003007|poVu +PL_Sv|5.005000|5.003007|poVu +PL_sv_arenaroot|5.004005|5.003007|poVu +PL_sv_no|5.004005|5.003007|p +PL_sv_undef|5.004005|5.003007|p +PL_sv_yes|5.004005|5.003007|p +PL_sv_zero|5.027003|5.027003| +PL_tainted|5.004005|5.003007|poVu +PL_tainting|5.004005|5.003007|poVu +PL_tokenbuf||5.003007|pou +PL_Xpv|5.005000|5.003007|poVu +pm_description|5.009004||Viu +pmop_dump|5.006000|5.006000|u +pmruntime|5.003007||Viu +pmtrans|5.003007||Viu +_pMY_CXT|5.007003|5.009000|pV +pMY_CXT_|5.007003|5.009000|pV +pMY_CXT|5.009000|5.009000|p +Poison|5.008000|5.003007|p +PoisonFree|5.009004|5.003007|p +PoisonNew|5.009004|5.003007|p +PoisonWith|5.009004|5.003007|p +POPi|5.003007|5.003007| +POPl|5.003007|5.003007| +POPMARK|||ciu +POP_MULTICALL|5.009003|5.009003| +POPn|5.006000|5.003007| +POPp|5.003007|5.003007| +POPpbytex|5.007001|5.007001| +POPpx|5.005003|5.005003| +POPs|5.003007|5.003007| +pop_scope|5.003007|5.003007|u +POPu|5.004000|5.004000| +POPul|5.006000|5.006000| +populate_ANYOF_from_invlist|5.019005||Viu +populate_isa|||viu +pregcomp|5.009005|5.009005|u +pregexec|5.003007|5.003007|u +pregfree2|5.011000|5.011000|u +pregfree|5.003007|5.003007|u +prescan_version|5.011004|5.011004| +printbuf|5.009004||Viu +print_bytes_for_locale|5.027002||Viu +print_collxfrm_input_and_return|5.025004||Viu +printf_nocontext|5.007001|5.007001|vndu +PRIVLIB|5.003007|5.003007| +process_special_blocks|5.009005||Viu +pTHX|5.006000|5.003007|p +pTHX_|5.006000|5.003007|pV +PTR2IV|5.006000|5.003007|p +PTR2nat|5.009003||pVu +PTR2NV|5.006000|5.003007|p +PTR2ul|5.007001||pVu +PTR2UV|5.006000|5.003007|p +ptr_hash|5.017010||nViu +PTRSIZE|5.005000|5.005000| +ptr_table_clear|5.009005|5.009005|du +ptr_table_fetch|5.009005|5.009005|u +ptr_table_find|5.009004||nViu +ptr_table_free|5.009005|5.009005|u +ptr_table_new|5.009005|5.009005|u +ptr_table_split|5.009005|5.009005|u +ptr_table_store|5.009005|5.009005|u +PTRV|5.006000|5.003007|poVu +PUSHi|5.003007|5.003007| +PUSHMARK|5.003007|5.003007| +PUSHmortal|5.009002|5.003007|p +PUSH_MULTICALL|5.011000|5.011000| +PUSHn|5.006000|5.003007| +PUSHp|5.003007|5.003007| +PUSHs|5.003007|5.003007| +push_scope|5.003007|5.003007|u +PUSHu|5.004000|5.003007|p +PUTBACK|5.003007|5.003007| +put_charclass_bitmap_innards|5.021004||Viu +put_charclass_bitmap_innards_common|5.023008||Viu +put_charclass_bitmap_innards_invlist|5.023008||Viu +put_code_point|5.021004||Viu +put_range|5.019009||Viu +pv_display|5.006000|5.003007|p +pv_escape|5.009004|5.003007|p +pv_pretty|5.009004|5.003007|p +pv_uni_display|5.007003|5.007003| +qerror|5.006000||cViu +quadmath_format_needed|5.021004||nVi +quadmath_format_valid|||nVi +RANDBITS|5.003007|5.003007| +READ_XDIGIT|5.017006|5.017006| +realloc|5.007002|5.007002|n +ReANY|||ncu +re_compile|5.009005|5.009005|u +re_croak2|||iu +re_dup_guts|5.011000|5.011000|u +reentrant_free|5.010000|5.010000|u +reentrant_init|5.010000|5.010000|u +reentrant_retry|5.010000|5.010000|vnu +reentrant_size|5.010000|5.010000|u +re_exec_indentf|5.023009||vViu +ref|5.003007||Vu +ref_array_or_hash|5.027008||Viu +refcounted_he_chain_2hv|5.013007||cVi +refcounted_he_fetch_pv|5.013007||cVi +refcounted_he_fetch_pvn|5.013007||cVi +refcounted_he_fetch_pvs|||i +refcounted_he_fetch_sv|5.013007||cVi +refcounted_he_free|5.013007||cVi +refcounted_he_inc|5.013007||cVi +refcounted_he_new_pv|5.013007||cVi +refcounted_he_new_pvn|5.013007||cVi +refcounted_he_new_pvs|||i +refcounted_he_new_sv|5.013007||cVi +refcounted_he_value|5.009004||Viu +refkids|5.003007||Viu +refto|5.005000||Viu +reg2Lanode|5.021005||Viu +reg|5.005000||Viu +reganode|5.005000||Viu +regatom|5.005000||Viu +regbranch|5.005000||Viu +reg_check_named_buff_matched|5.009005||nViu +regclass|5.005000||Viu +regcppop|5.005000||Viu +regcppush|5.005000||Viu +regcp_restore|5.025006||Viu +regcurly|5.013010||nViu +regdump|5.005000|5.005000|u +regdump_extflags|5.009005||Viu +regdump_intflags|5.019002||Viu +regdupe_internal|5.009000|5.009000|u +regexec_flags|5.005000|5.005000|u +regex_set_precedence|5.021010||nViu +regfree_internal|5.009005|5.009005|u +reghop3|5.007001||nViu +reghop4|5.009005||nViu +reghopmaybe3|5.007001||nViu +reginclass|5.005000||Viu +reginitcolors|5.006000|5.006000|u +reginsert|5.005000||Viu +regmatch|5.005000||Viu +reg_named_buff|5.009005||cViu +reg_named_buff_all|5.009005|5.009005|u +reg_named_buff_exists|5.009005|5.009005|u +reg_named_buff_fetch|5.009005|5.009005|u +reg_named_buff_firstkey|5.009005|5.009005|u +reg_named_buff_iter|5.009005||cViu +reg_named_buff_nextkey|5.009005|5.009005|u +reg_named_buff_scalar|5.009005|5.009005|u +regnext|5.005000|5.005000|u +reg_node|5.005000||Viu +regnode_guts|5.021005||Viu +reg_numbered_buff_fetch|5.009005||cViu +reg_numbered_buff_length|5.009005||cViu +reg_numbered_buff_store|5.009005||cViu +regpiece|5.005000||Viu +regprop|5.003007||Viu +reg_qr_package|5.009005||cViu +regrepeat|5.005000||Viu +reg_scan_name|5.009005||Viu +reg_skipcomment|5.009005||nViu +regtail|5.005000||Viu +regtail_study|5.009004||Viu +reg_temp_copy|5.009005||cViu +regtry|5.005000||Viu +re_indentf|5.023009||vViu +re_intuit_start|5.006000||cVu +re_intuit_string|5.006000||cVu +Renew|5.003007|5.003007| +Renewc|5.003007|5.003007| +re_op_compile|5.017001||Viu +repeatcpy|5.003007|5.003007|nu +REPLACEMENT_CHARACTER_UTF8|5.025005|5.003007|p +report_evil_fh|5.006001||Viu +report_redefined_cv|5.015006||Viu +report_uninit|5.006000||cVi +report_wrongway_fh|5.013009||Viu +re_printf|5.023009||vViu +require_pv|5.006000|5.006000| +require_tie_mod|5.009005||Viu +RESTORE_ERRNO|||i +RESTORE_LC_NUMERIC|5.021010|5.021010| +restore_magic|5.009003||Viu +restore_switched_locale|5.027009||Viu +RETVAL|5.003007|5.003007|V +rninstr|5.003007|5.003007|n +rpeep|5.013005||Viu +rsignal|5.004000|5.004000| +rsignal_restore|5.004000||Viu +rsignal_save|5.004000||Viu +rsignal_state|5.004000|5.004000|u +run_body|5.006000||Viu +runops_debug|5.005000|5.005000|u +runops_standard|5.005000|5.005000|u +run_user_filter|5.009003||Viu +rv2cv_op_cv|5.013006|5.013006| +RV2CVOPCV_MARK_EARLY|5.013006|5.013006| +RV2CVOPCV_RETURN_NAME_GV|5.013006|5.013006| +rvpv_dup|5.007003|5.007003|u +rxres_free|5.004000||Viu +rxres_restore|5.004000||Viu +rxres_save|5.004000||Viu +Safefree|5.003007|5.003007| +safesyscalloc|5.006000|5.006000|nu +safesysfree|5.006000|5.006000|nu +safesysmalloc|5.006000|5.006000|nu +safesysrealloc|5.006000|5.006000|nu +same_dirent|5.003007||Viu +SANE_ERRSV|5.031003|5.031003| +save_adelete|5.011000|5.011000|u +save_aelem|5.004005|5.004005|u +save_aelem_flags|5.011000|5.011000|u +save_alloc|5.006000|5.006000|u +save_aptr|5.003007|5.003007| +save_ary|5.003007|5.003007| +save_bool|5.008001|5.008001|u +save_clearsv|5.003007|5.003007|u +SAVECLEARSV|||i +SAVECOMPPAD|||i +SAVE_DEFSV|5.004005|5.003007|poVu +save_delete|5.003007|5.003007|u +save_destructor|5.006000|5.006000|u +save_destructor_x|5.006000|5.006000|u +SAVE_ERRNO|||i +save_freeop|5.010001|5.010001|u +save_freepv|5.003007|5.003007|u +save_freesv|5.003007|5.003007|u +save_generic_pvref|5.006001|5.006001|u +save_generic_svref|5.005003|5.005003|u +save_gp|5.004000|5.004000| +save_hash|5.003007|5.003007| +save_hdelete|5.011000|5.011000|u +save_hek_flags|5.008000||nViu +save_helem|5.004005|5.004005|u +save_helem_flags|5.011000|5.011000|u +save_hints|5.010001|5.010001|u +save_hptr|5.003007|5.003007| +save_I16|5.004000|5.004000|u +save_I32|5.003007|5.003007|u +save_I8|5.006000|5.006000|u +save_int|5.003007|5.003007|u +save_item|5.003007|5.003007| +save_iv|5.005000|5.005000|u +save_lines|5.005000||Viu +save_list|5.003007|5.003007|d +save_long|5.003007|5.003007|du +save_magic_flags|5.019002||Viu +save_mortalizesv|5.007001|5.007001|u +save_nogv|5.003007|5.003007|du +save_op|5.010001|5.010001|u +save_padsv_and_mortalize|5.010001|5.010001|u +SAVEPADSV|||i +save_pptr|5.003007|5.003007|u +save_pushi32ptr|5.010001|5.010001|u +save_pushptr|5.010001|5.010001|u +save_pushptri32ptr|5.010001||Viu +save_pushptrptr|5.010001|5.010001|u +savepv|5.003007|5.003007| +savepvn|5.003007|5.003007| +savepvs|5.009003|5.009003| +save_re_context|5.006000|5.006000|u +save_scalar|5.003007|5.003007| +save_scalar_at|5.005000||Viu +save_set_svflags|5.009000|5.009000|u +savesharedpv|5.007003|5.007003| +savesharedpvn|5.009005|5.009005| +save_shared_pvref|5.007003|5.007003|u +savesharedpvs|5.013006|5.013006| +savesharedsvpv|5.013006|5.013006| +save_sptr|5.003007|5.003007|u +savestack_grow|5.003007|5.003007|u +savestack_grow_cnt|5.008001|5.008001|u +save_strlen|5.019004||cViu +savesvpv|5.009002|5.009002| +save_svref|5.003007|5.003007| +SAVETMPS|5.003007|5.003007| +savetmps|5.023008|5.023008|xu +save_to_buffer|5.027004||nViu +save_vptr|5.006000|5.006000|u +sawparens|5.003007||Viu +scalar|5.003007||Viu +scalarboolean|5.005000||Viu +scalarkids|5.003007||Viu +scalar_mod_type|5.006000||nViu +scalarseq|5.003007||Viu +scalarvoid|5.003007||Viu +scan_bin|5.006000|5.006000| +scan_commit|5.005000||Viu +scan_const|5.003007||Viu +scan_formline|5.003007||Viu +scan_heredoc|5.003007||Viu +scan_hex|5.006000|5.003007| +scan_ident|5.003007||Viu +scan_inputsymbol|5.003007||Viu +scan_num|5.007001|5.007001|u +scan_oct|5.006000|5.003007| +scan_pat|5.003007||Viu +scan_str|5.003007||xcViu +scan_subst|5.003007||Viu +scan_trans|5.003007||Viu +scan_version|5.009001|5.009001| +scan_vstring|5.009005|5.009005|u +scan_word|5.003007||xcViu +search_const|5.010001||Viu +seed|5.008001|5.008001|u +sequence_num|5.009003||Viu +set_ANYOF_arg|5.019005||Viu +set_caret_X|5.019006||Viu +set_context|5.006000|5.006000|nu +setdefout|5.003007|5.003007| +SETERRNO|||i +setfd_cloexec|5.027008||nViu +setfd_cloexec_for_nonsysfd|5.027008||Viu +setfd_cloexec_or_inhexec_by_sysfdness|5.027008||Viu +setfd_inhexec|5.027008||nViu +setfd_inhexec_for_sysfd|5.027008||Viu +setlocale_debug_string|5.027002||nViu +set_numeric_radix|5.006000||Viu +set_numeric_standard|5.006000||cViu +set_numeric_underlying|5.027006||cViu +set_padlist|5.021006||ncViu +set_regex_pv|5.029004||Viu +_setup_canned_invlist|5.019008||cViu +share_hek|5.004000|5.004000|u +share_hek_flags|5.008000||Viu +SHORTSIZE|5.004000|5.004000| +should_warn_nl|5.021001||nViu +si_dup|5.007003|5.007003|u +sighandler1|||nViu +sighandler3|||nViu +sighandler|5.003007||nViu +simplify_sort|5.006000||Viu +SITELIB|5.003007|5.003007| +skipspace_flags|5.019002||xcViu +skip_to_be_ignored_text|5.023004||Viu +Slab_Alloc|5.006000||cViu +Slab_Free|5.007003||cViu +Slab_to_ro|5.017002||Viu +Slab_to_rw|5.009005||Viu +softref2xv|||iu +sortcv|5.009003||Viu +sortcv_stacked|5.009003||Viu +sortcv_xsub|5.009003||Viu +sortsv|5.007003|5.007003| +sortsv_flags|5.009003|5.009003| +SP|5.003007|5.003007| +space_join_names_mortal|5.009004||Viu +SPAGAIN|5.003007|5.003007| +ssc_add_range|5.019005||Viu +ssc_and|5.019005||Viu +ssc_anything|5.019005||Viu +ssc_clear_locale|5.019005||nViu +ssc_cp_and|5.019005||Viu +ssc_finalize|5.019005||Viu +ssc_init|5.019005||Viu +ssc_intersection|5.019005||Viu +ssc_is_anything|5.019005||nViu +ssc_is_cp_posixl_init|5.019005||nViu +ssc_or|5.019005||Viu +ssc_union|5.019005||Viu +ss_dup|5.007003|5.007003|u +ST|5.003007|5.003007| +stack_grow|5.003007|5.003007|u +START_EXTERN_C|5.005000|5.003007|poVu +start_glob|||xi +START_MY_CXT|5.010000|5.010000|p +STARTPERL|5.003007|5.003007| +start_subparse|5.004000|5.003007|pu +STDCHAR|5.003007|5.003007| +stdize_locale|5.007001||Viu +STMT_END|5.003007|5.003007|pV +STMT_START|5.003007|5.003007|pV +STORE_LC_NUMERIC_FORCE_TO_UNDERLYING|5.021010|5.021010| +STORE_LC_NUMERIC_SET_TO_NEEDED|5.021010|5.021010| +STORE_LC_NUMERIC_SET_TO_NEEDED_IN|5.031003|5.031003| +strEQ|5.003007|5.003007| +strGE|5.003007|5.003007| +strGT|5.003007|5.003007| +strip_return|5.009003||Viu +strLE|5.003007|5.003007| +strLT|5.003007|5.003007| +strNE|5.003007|5.003007| +strnEQ|5.003007|5.003007| +strnNE|5.003007|5.003007| +Strtod|5.029010|5.029010|n +Strtol|5.006000|5.006000|n +Strtoul|5.006000|5.006000|n +str_to_version|5.006000|5.006000|u +StructCopy|5.003007|5.003007|V +STR_WITH_LEN|5.009003|5.003007|pV +study_chunk|5.005000||Viu +sub_crush_depth|5.004000||Viu +sublex_done|5.005000||Viu +sublex_push|5.005000||Viu +sublex_start|5.005000||Viu +sv_2bool|5.003007|5.003007| +sv_2bool_flags|5.013006|5.013006| +sv_2cv|5.003007|5.003007| +sv_2io|5.003007|5.003007| +sv_2iuv_common|5.009004||Viu +sv_2iuv_non_preserve|5.007001||Viu +sv_2iv|5.003007|5.003007|u +sv_2iv_flags|5.009001|5.009001| +sv_2mortal|5.003007|5.003007| +sv_2num|5.010000||xVi +sv_2nv_flags|5.013001|5.013001| +sv_2pv|5.003007|5.003007|u +sv_2pvbyte|5.006000|5.003007|p +sv_2pvbyte_flags|5.031004|5.031004|u +sv_2pvbyte_nolen|5.006000|5.003007|p +sv_2pv_flags|5.007002|5.003007|p +sv_2pv_nolen|5.006000|5.003007|p +sv_2pvutf8|5.006000|5.006000| +sv_2pvutf8_flags|5.031004|5.031004|u +sv_2pvutf8_nolen|5.006000|5.006000| +sv_2uv|5.004000|5.003007|pu +sv_2uv_flags|5.009001|5.009001| +sv_add_arena|5.003007||Vi +sv_add_backref|||iu +SvAMAGIC_off|5.031004|5.031004|nu +SvAMAGIC_on|5.031004|5.031004|nu +sv_backoff|5.003007|5.003007|n +sv_bless|5.003007|5.003007| +sv_buf_to_ro|5.019008||Viu +sv_buf_to_rw|5.019008||Viu +SV_CATBYTES|5.021005|5.021005| +sv_cat_decode|5.008001|5.008001| +sv_catpv|5.003007|5.003007| +sv_catpvf|5.006000|5.004000|v +sv_catpv_flags|5.013006|5.013006| sv_catpvf_mg|5.006000|5.004000|pv -sv_catpvf_nocontext|||vn -sv_catpvf||5.004000|v -sv_catpvn_flags||5.007002| -sv_catpvn_mg|5.004050||p -sv_catpvn_nomg|5.007002||p -sv_catpvn||| -sv_catpvs_flags||5.013006| -sv_catpvs_mg||5.013006| -sv_catpvs_nomg||5.013006| -sv_catpvs|5.009003||p -sv_catpv||| -sv_catsv_flags||5.007002| -sv_catsv_mg|5.004050||p -sv_catsv_nomg|5.007002||p -sv_catsv||| -sv_chop||| -sv_clean_all||| -sv_clean_objs||| -sv_clear||| -sv_cmp_flags||5.013006| -sv_cmp_locale_flags||5.013006| -sv_cmp_locale||5.004000| -sv_cmp||| -sv_collxfrm_flags||5.013006| +sv_catpvf_mg_nocontext|5.006000||pvnVu +sv_catpvf_nocontext|5.006000||vnVu +sv_catpv_mg|5.004005|5.003007|p +sv_catpvn|5.003007|5.003007| +sv_catpvn_flags|5.007002|5.007002| +sv_catpvn_mg|5.004005|5.003007|p +sv_catpvn_nomg|5.007002|5.003007|p +sv_catpv_nomg|5.013006|5.013006| +sv_catpvs|5.009003|5.003007|p +sv_catpvs_flags|5.013006|5.013006| +sv_catpvs_mg|5.013006|5.013006| +sv_catpvs_nomg|5.013006|5.013006| +sv_catsv|5.003007|5.003007| +sv_catsv_flags|5.007002|5.007002| +sv_catsv_mg|5.004005|5.003007|p +sv_catsv_nomg|5.007002|5.003007|p +SV_CATUTF8|5.021005|5.021005| +sv_chop|5.003007|5.003007| +sv_clean_all|5.003007||Vi +sv_clean_objs|5.003007||Vi +sv_clear|5.003007|5.003007| +sv_cmp|5.003007|5.003007| +sv_cmp_flags|5.013006|5.013006| +sv_cmp_locale|5.004000|5.004000| +sv_cmp_locale_flags|5.013006|5.013006| sv_collxfrm||| -sv_copypv_flags||5.017002| -sv_copypv_nomg||5.017002| -sv_copypv||| -sv_dec_nomg||5.013002| -sv_dec||| -sv_del_backref||| -sv_derived_from_pvn||5.015004| -sv_derived_from_pv||5.015004| -sv_derived_from_sv||5.015004| -sv_derived_from||5.004000| -sv_destroyable||5.010000| -sv_display||| -sv_does_pvn||5.015004| -sv_does_pv||5.015004| -sv_does_sv||5.015004| -sv_does||5.009004| -sv_dump||| -sv_dup_common||| -sv_dup_inc_multiple||| -sv_dup_inc||| -sv_dup||| -sv_eq_flags||5.013006| -sv_eq||| -sv_exp_grow||| -sv_force_normal_flags||5.007001| -sv_force_normal||5.006000| -sv_free_arenas||| -sv_free||| -sv_gets||5.003070| -sv_grow||| -sv_i_ncmp||| -sv_inc_nomg||5.013002| -sv_inc||| -sv_insert_flags||5.010001| -sv_insert||| -sv_isa||| -sv_isobject||| -sv_iv||5.005000| -sv_len_utf8_nomg||| -sv_len_utf8||5.006000| -sv_len||| -sv_magic_portable|5.024000|5.004000|p -sv_magicext_mglob||| -sv_magicext||5.007003| -sv_magic||| -sv_mortalcopy_flags||| -sv_mortalcopy||| -sv_ncmp||| -sv_newmortal||| -sv_newref||| -sv_nolocking||5.007003| -sv_nosharing||5.007003| -sv_nounlocking||| -sv_nv||5.005000| -sv_only_taint_gmagic|||n -sv_or_pv_pos_u2b||| -sv_peek||5.005000| -sv_pos_b2u_flags||5.019003| -sv_pos_b2u_midway||| -sv_pos_b2u||5.006000| -sv_pos_u2b_cached||| -sv_pos_u2b_flags||5.011005| -sv_pos_u2b_forwards|||n -sv_pos_u2b_midway|||n -sv_pos_u2b||5.006000| -sv_pvbyten_force||5.006000| -sv_pvbyten||5.006000| -sv_pvbyte||5.006000| -sv_pvn_force_flags|5.007002||p -sv_pvn_force||| -sv_pvn_nomg|5.007003|5.005000|p -sv_pvn||5.005000| -sv_pvutf8n_force||5.006000| -sv_pvutf8n||5.006000| -sv_pvutf8||5.006000| -sv_pv||5.006000| -sv_recode_to_utf8||5.007003| -sv_reftype||| -sv_ref||5.015004| -sv_replace||| -sv_report_used||| -sv_resetpvn||| -sv_reset||| -sv_rvunweaken||| -sv_rvweaken||5.006000| -sv_set_undef||| -sv_sethek||| -sv_setiv_mg|5.004050||p -sv_setiv||| -sv_setnv_mg|5.006000||p -sv_setnv||| -sv_setpv_bufsize||| -sv_setpv_mg|5.004050||p -sv_setpvf_mg_nocontext|||pvn +sv_collxfrm_flags|5.013006|5.013006| +SV_CONST_RETURN|5.009003|5.003007|poVu +sv_copypv|5.007003|5.007003| +sv_copypv_flags|5.017002|5.017002| +sv_copypv_nomg|5.017002|5.017002| +SV_COW_DROP_PV|5.008001|5.003007|p +SV_COW_SHARED_HASH_KEYS|5.009005|5.003007|poVu +SvCUR|5.003007|5.003007| +SvCUR_set|5.003007|5.003007| +sv_dec|5.003007|5.003007| +sv_dec_nomg|5.013002|5.013002| +sv_del_backref|5.006000||cViu +sv_derived_from|5.004000|5.004000| +sv_derived_from_pv|5.015004|5.015004| +sv_derived_from_pvn|5.015004|5.015004| +sv_derived_from_sv|5.015004|5.015004| +sv_derived_from_svpvn|5.031006||Viu +sv_destroyable|5.010000|5.010000| +sv_display|5.021002||Viu +sv_does|5.009004|5.009004| +sv_does_pv|5.015004|5.015004| +sv_does_pvn|5.015004|5.015004| +sv_does_sv|5.015004|5.015004| +sv_dump|5.003007|5.003007| +sv_dup|5.007003|5.007003|u +sv_dup_common|5.013002||Viu +sv_dup_inc|5.013002|5.013002|u +sv_dup_inc_multiple|5.011000||Viu +SvEND|5.003007|5.003007| +sv_eq|5.003007|5.003007| +sv_eq_flags|5.013006|5.013006| +sv_exp_grow|5.009003||Viu +SVf|5.006000|5.003007|p +SVfARG|5.009005|5.003007|p +sv_force_normal|5.006000|5.006000| +sv_force_normal_flags|5.007001|5.007001| +sv_free2|||xciu +sv_free|5.003007|5.003007| +sv_free_arenas|5.003007||Vi +SVf_UTF8|5.006000|5.003007|p +SvGAMAGIC|5.006001|5.006001| +sv_get_backrefs|5.021008|5.021008|nx +SvGETMAGIC|5.004005|5.003007|p +sv_gets|5.003007|5.003007| +SV_GMAGIC|5.007002|5.003007|p +sv_grow|5.003007|5.003007| +SvGROW|5.003007|5.003007| +SV_HAS_TRAILING_NUL|5.009004|5.003007|p +SV_IMMEDIATE_UNREF|5.007001|5.003007|p +sv_inc|5.003007|5.003007| +sv_i_ncmp|5.009003||Viu +sv_inc_nomg|5.013002|5.013002| +sv_insert|5.003007|5.003007| +sv_insert_flags|5.010001|5.010001| +SvIOK|5.003007|5.003007| +SvIOK_notUV|5.006000|5.006000| +SvIOK_off|5.003007|5.003007| +SvIOK_on|5.003007|5.003007| +SvIOK_only|5.003007|5.003007| +SvIOK_only_UV|5.006000|5.006000| +SvIOKp|5.003007|5.003007| +SvIOK_UV|5.006000|5.006000| +sv_isa|5.003007|5.003007| +sv_isa_sv|||x +SvIsCOW|5.008003|5.008003| +SvIsCOW_shared_hash|5.008003|5.008003| +sv_isobject|5.003007|5.003007| +SvIV|5.003007|5.003007| +sv_iv|5.005000|5.005000|d +SvIV_nomg|5.009001|5.003007|p +SvIV_set|5.003007|5.003007| +SvIVX|5.003007|5.003007| +SvIVx|5.003007|5.003007| +sv_kill_backrefs|||xiu +sv_len|5.003007|5.003007| +SvLEN|5.003007|5.003007| +SvLEN_set|5.003007|5.003007| +sv_len_utf8|5.006000|5.006000|p +sv_len_utf8_nomg|5.017004||pVu +SvLOCK|5.007003|5.007003| +sv_magic|5.003007|5.003007| +sv_magicext|5.007003|5.007003| +sv_magicext_mglob|5.019002||cViu +sv_magic_portable||5.004000|pou +SvMAGIC_set|5.009003|5.003007|p +sv_mortalcopy|5.003007|5.003007| +sv_mortalcopy_flags|5.017005|5.003007|p +SV_MUTABLE_RETURN|5.009003|5.003007|poVu +sv_ncmp|5.009003||Viu +sv_newmortal|5.003007|5.003007| +sv_newref|5.003007|5.003007| +SvNIOK|5.003007|5.003007| +SvNIOK_off|5.003007|5.003007| +SvNIOKp|5.003007|5.003007| +SvNOK|5.003007|5.003007| +SvNOK_off|5.003007|5.003007| +SvNOK_on|5.003007|5.003007| +SvNOK_only|5.003007|5.003007| +SvNOKp|5.003007|5.003007| +sv_nolocking|5.007003|5.007003|d +sv_nosharing|5.007003|5.007003| +SV_NOSTEAL|5.009002|5.003007|p +sv_nounlocking|5.007003|5.007003|d +SvNV|5.006000|5.003007| +sv_nv|5.006000|5.005000|d +SvNV_nomg|5.013002|5.003007|p +SvNV_set|5.006000|5.003007| +SvNVX|5.006000|5.003007| +SvNVx|5.006000|5.003007| +SvOK|5.003007|5.003007| +sv_only_taint_gmagic|5.021010||nViu +SvOOK|5.003007|5.003007| +SvOOK_offset|5.011000|5.011000| +sv_or_pv_pos_u2b|5.019004||Viu +sv_peek|5.005000|5.005000|u +SvPOK|5.003007|5.003007| +SvPOK_off|5.003007|5.003007| +SvPOK_on|5.003007|5.003007| +SvPOK_only|5.003007|5.003007| +SvPOK_only_UTF8|5.006000|5.006000| +SvPOKp|5.003007|5.003007| +sv_pos_b2u|5.006000|5.006000| +sv_pos_b2u_flags|5.019003|5.019003| +sv_pos_b2u_midway|5.009004||Viu +sv_pos_u2b|5.006000|5.006000| +sv_pos_u2b_cached|5.009004||Viu +sv_pos_u2b_flags|5.011005|5.011005| +sv_pos_u2b_forwards|5.009004||nViu +sv_pos_u2b_midway|5.009004||nViu +SvPV|5.003007|5.003007| +sv_pv|5.006000|5.006000| +SvPVbyte|5.006000|5.003007|p +sv_pvbyte|5.006000|5.006000| +SvPVbyte_force|5.009002|5.009002| +sv_pvbyten|5.006000|5.006000|d +sv_pvbyten_force|5.006000|5.006000| +SvPVbyte_nolen|5.006000|5.006000| +SvPVbyte_nomg|5.031004|5.031004| +SvPVbyte_or_null|5.031004|5.031004| +SvPVbyte_or_null_nomg|5.031004|5.031004| +SvPVbytex|5.006000|5.006000| +SvPVbytex_force|5.006000|5.006000| +SvPVCLEAR|5.025006|5.025006| +SvPV_const|5.009003||pVu +SvPV_flags|5.007002||pVu +SvPV_flags_const|5.009003||pVu +SvPV_flags_const_nolen|5.009003||pVu +SvPV_flags_mutable|5.009003||pVu +SvPV_force|5.003007|5.003007|p +SvPV_force_flags|5.007002||pVu +SvPV_force_flags_mutable|5.009003||pVu +SvPV_force_flags_nolen|5.009003||pVu +SvPV_force_mutable|5.009003||pVu +SvPV_force_nolen|5.009003||pVu +SvPV_force_nomg|5.007002|5.003007|p +SvPV_force_nomg_nolen|5.009003||pVu +SvPV_mutable|5.009003||pVu +sv_pvn|5.005000|5.005000|d +sv_pvn_force|5.003007|5.003007| +sv_pvn_force_flags|5.007002|5.003007|p +sv_pvn_nomg|5.007003|5.005000|pdu +SvPV_nolen|5.006000|5.003007|p +SvPV_nolen_const|5.009003||pVu +SvPV_nomg|5.007002|5.003007|p +SvPV_nomg_const|5.009003||pVu +SvPV_nomg_const_nolen|5.009003||pVu +SvPV_nomg_nolen|5.013007|5.003007|p +SvPV_renew|5.009003||pVu +SvPV_set|5.003007|5.003007| +sv_pvutf8|5.006000|5.006000| +SvPVutf8|5.006000|5.006000| +SvPVutf8_force|5.006000|5.006000| +sv_pvutf8n|5.006000|5.006000|d +sv_pvutf8n_force|5.006000|5.006000| +SvPVutf8_nolen|5.006000|5.006000| +SvPVutf8_nomg|5.031004|5.031004| +SvPVutf8_or_null|5.031004|5.031004| +SvPVutf8_or_null_nomg|5.031004|5.031004| +SvPVutf8x|5.006000|5.006000| +SvPVutf8x_force|5.006000|5.006000| +SvPVX|5.003007|5.003007| +SvPVx|5.003007|5.003007| +SvPVX_const|5.009003||pVu +SvPVX_mutable|5.009003||pVu +SvREADONLY|5.003007|5.003007| +SvREADONLY_off|5.003007|5.003007| +SvREADONLY_on|5.003007|5.003007| +sv_recode_to_utf8|5.007003|5.007003| +sv_ref|5.015004|5.015004| +SvREFCNT|5.003007|5.003007| +SvREFCNT_dec|5.003007|5.003007| +SvREFCNT_dec_NN|5.017007|5.017007| +SvREFCNT_inc|5.003007|5.003007|pn +SvREFCNT_inc_NN|5.009004|5.003007|pn +SvREFCNT_inc_simple|5.009004|5.003007|p +SvREFCNT_inc_simple_NN|5.009004|5.003007|p +SvREFCNT_inc_simple_void|5.009004|5.003007|p +SvREFCNT_inc_simple_void_NN|5.009004|5.003007|p +SvREFCNT_inc_void|5.009004|5.003007|pn +SvREFCNT_inc_void_NN|5.009004|5.003007|p +sv_reftype|5.003007|5.003007| +sv_replace|5.003007|5.003007| +sv_report_used|5.003007|5.003007| +sv_reset|5.003007|5.003007| +sv_resetpvn|5.017005||Viu +SvROK|5.003007|5.003007| +SvROK_off|5.003007|5.003007| +SvROK_on|5.003007|5.003007| +SvRV|5.003007|5.003007| +SvRV_set|5.009003|5.003007|p +sv_rvunweaken|5.027004|5.027004| +sv_rvweaken|5.006000|5.006000| +SvRX|5.009005|5.003007|p +SvRXOK|5.009005|5.003007|p +sv_sethek|5.015004||cViu +sv_setiv|5.003007|5.003007| +sv_setiv_mg|5.004005|5.003007|p +SvSETMAGIC|5.003007|5.003007| +SvSetMagicSV|5.004000|5.004000| +SvSetMagicSV_nosteal|5.004000|5.004000| +sv_setnv|5.006000|5.003007| +sv_setnv_mg|5.006000|5.003007|p +sv_setpv|5.003007|5.003007| +sv_setpv_bufsize|5.025006|5.025006| +sv_setpvf|5.006000|5.004000|v sv_setpvf_mg|5.006000|5.004000|pv -sv_setpvf_nocontext|||vn -sv_setpvf||5.004000|v -sv_setpviv_mg||5.008001| -sv_setpviv||5.008001| -sv_setpvn_mg|5.004050||p -sv_setpvn||| -sv_setpvs_mg||5.013006| -sv_setpvs|5.009004||p -sv_setpv||| -sv_setref_iv||| -sv_setref_nv||| -sv_setref_pvn||| -sv_setref_pvs||5.024000| -sv_setref_pv||| -sv_setref_uv||5.007001| -sv_setsv_flags||5.007002| -sv_setsv_mg|5.004050||p -sv_setsv_nomg|5.007002||p -sv_setsv||| -sv_setuv_mg|5.004050||p -sv_setuv|5.004000||p -sv_string_from_errnum||| -sv_tainted||5.004000| -sv_taint||5.004000| -sv_true||5.005000| -sv_unglob||| -sv_uni_display||5.007003| -sv_unmagicext|5.013008||p -sv_unmagic||| -sv_unref_flags||5.007001| -sv_unref||| -sv_untaint||5.004000| -sv_upgrade||| -sv_usepvn_flags||5.009004| -sv_usepvn_mg|5.004050||p -sv_usepvn||| -sv_utf8_decode||| -sv_utf8_downgrade||| -sv_utf8_encode||5.006000| -sv_utf8_upgrade_flags_grow||5.011000| -sv_utf8_upgrade_flags||5.007002| -sv_utf8_upgrade_nomg||5.007002| -sv_utf8_upgrade||5.007001| -sv_uv|5.005000||p -sv_vcatpvf_mg|5.006000|5.004000|p -sv_vcatpvfn_flags||5.017002| -sv_vcatpvfn||5.004000| +sv_setpvf_mg_nocontext|5.006000||pvnVu +sv_setpvf_nocontext|5.006000||vnVu +sv_setpviv|5.008001|5.008001|d +sv_setpviv_mg|5.008001|5.008001|d +sv_setpv_mg|5.004005|5.003007|p +sv_setpvn|5.003007|5.003007| +sv_setpvn_mg|5.004005|5.003007|p +sv_setpvs|5.009004|5.003007|p +sv_setpvs_mg|5.013006|5.013006| +sv_setref_iv|5.003007|5.003007| +sv_setref_nv|5.006000|5.003007| +sv_setref_pv|5.003007|5.003007| +sv_setref_pvn|5.003007|5.003007| +sv_setref_pvs|5.013006|5.013006| +sv_setref_uv|5.007001|5.007001| +sv_setsv|5.003007|5.003007| +SvSetSV|5.003007|5.003007| +sv_setsv_cow|5.009000||xcViu +sv_setsv_flags|5.007002|5.003007|p +sv_setsv_mg|5.004005|5.003007|p +sv_setsv_nomg|5.007002|5.003007|p +SvSetSV_nosteal|5.004000|5.004000| +sv_set_undef|5.025008|5.025008| +sv_setuv|5.004000|5.003007|p +sv_setuv_mg|5.004005|5.003007|p +SvSHARE|5.007003|5.007003| +SvSHARED_HASH|5.009003||pVu +SV_SMAGIC|5.009003|5.003007|p +SVs_PADSTALE|5.009000|5.009000| +SvSTASH|5.003007|5.003007| +SvSTASH_set|5.009003|5.003007|p +SVs_TEMP|5.003007|5.003007| +sv_string_from_errnum|5.027003|5.027003| +SvTAINT|5.003007|5.003007| +sv_taint|5.004000|5.004000| +sv_tainted|5.004000|5.004000| +SvTAINTED|5.004000|5.004000| +SvTAINTED_off|5.004000|5.004000| +SvTAINTED_on|5.004000|5.004000| +SvTHINKFIRST|||i +SVt_INVLIST|||c +SVt_IV|5.003007|5.003007| +SVt_NULL|5.003007|5.003007| +SVt_NV|5.003007|5.003007| +SVt_PV|5.003007|5.003007| +SVt_PVAV|5.003007|5.003007| +SVt_PVCV|5.003007|5.003007| +SVt_PVFM|5.003007|5.003007| +SVt_PVGV|5.003007|5.003007| +SVt_PVHV|5.003007|5.003007| +SVt_PVIO|5.003007|5.003007| +SVt_PVIV|5.003007|5.003007| +SVt_PVLV|5.003007|5.003007| +SVt_PVMG|5.003007|5.003007| +SVt_PVNV|5.003007|5.003007| +SVt_REGEXP|5.011000|5.011000| +SvTRUE|5.003007|5.003007| +sv_true|5.005000|5.005000| +SvTRUE_nomg|5.013006|5.003007|p +SvTRUEx|5.003007|5.003007| +SvTYPE|5.003007|5.003007| +svtype|5.003007|5.003007|V +sv_unglob|5.005000||Viu +sv_uni_display|5.007003|5.007003| +SvUNLOCK|5.007003|5.007003| +sv_unmagic|5.003007|5.003007| +sv_unmagicext|5.013008|5.003007|p +sv_unref|5.003007|5.003007| +sv_unref_flags|5.007001|5.007001| +sv_untaint|5.004000|5.004000| +SvUOK|5.007001|5.006000|p +sv_upgrade|5.003007|5.003007| +SvUPGRADE|5.003007|5.003007| +sv_usepvn|5.003007|5.003007| +sv_usepvn_flags|5.009004|5.009004| +sv_usepvn_mg|5.004005|5.003007|p +SvUTF8|5.006000|5.003007|p +sv_utf8_decode|5.006000|5.006000| +sv_utf8_downgrade|5.006000|5.006000| +sv_utf8_downgrade_flags|5.031004|5.031004| +sv_utf8_downgrade_nomg|5.031004|5.031004| +sv_utf8_encode|5.006000|5.006000| +SV_UTF8_NO_ENCODING|5.008001|5.003007|poVu +SvUTF8_off|5.006000|5.006000| +SvUTF8_on|5.006000|5.006000| +sv_utf8_upgrade|5.007001|5.007001| +sv_utf8_upgrade_flags|5.007002|5.007002| +sv_utf8_upgrade_flags_grow|5.011000|5.011000| +sv_utf8_upgrade_nomg|5.007002|5.007002| +SvUV|5.004000|5.003007|p +sv_uv|5.005000|5.003007|pd +SvUV_nomg|5.009001|5.003007|p +SvUV_set|5.009003|5.003007|p +SvUVX|5.004000|5.003007|p +SvUVx|5.004000|5.003007|p +SvUVXx|5.004000|5.003007|pd sv_vcatpvf|5.006000|5.004000|p -sv_vsetpvf_mg|5.006000|5.004000|p -sv_vsetpvfn||5.004000| +sv_vcatpvf_mg|5.006000|5.004000|p +sv_vcatpvfn|5.004000|5.004000| +sv_vcatpvfn_flags|5.017002|5.017002| +SvVOK|5.008001|5.008001| sv_vsetpvf|5.006000|5.004000|p -svtype||| -swallow_bom||| -swatch_get||| -switch_category_locale_to_template||| -switch_to_global_locale|||n -sync_locale||5.021004|n -sys_init3||5.010000|n -sys_init||5.010000|n -sys_intern_clear||| -sys_intern_dup||| -sys_intern_init||| -sys_term||5.010000|n -taint_env||| -taint_proper||| -tied_method|||v -tmps_grow_p||| -toFOLD_utf8_safe||| -toFOLD_utf8||5.019001| -toFOLD_uvchr||5.023009| -toFOLD||5.019001| -toLOWER_L1||5.019001| -toLOWER_LC||5.004000| -toLOWER_utf8_safe||| -toLOWER_utf8||5.015007| -toLOWER_uvchr||5.023009| -toLOWER||| -toTITLE_utf8_safe||| -toTITLE_utf8||5.015007| -toTITLE_uvchr||5.023009| -toTITLE||5.019001| -toUPPER_utf8_safe||| -toUPPER_utf8||5.015007| -toUPPER_uvchr||5.023009| -toUPPER||| -to_byte_substr||| -to_lower_latin1|||n -to_utf8_substr||| -tokenize_use||| -tokeq||| -tokereport||| -too_few_arguments_pv||| -too_many_arguments_pv||| -translate_substr_offsets|||n -traverse_op_tree||| -try_amagic_bin||| -try_amagic_un||| -turkic_fc||| -turkic_lc||| -turkic_uc||| -uiv_2buf|||n -unlnk||| -unpack_rec||| -unpack_str||5.007003| -unpackstring||5.008001| -unreferenced_to_tmp_stack||| -unshare_hek_or_pvn||| -unshare_hek||| -unsharepvn||5.003070| -unwind_handler_stack||| -update_debugger_info||| -upg_version||5.009005| -usage||| -utf16_textfilter||| -utf16_to_utf8_reversed||5.006001| -utf16_to_utf8||5.006001| -utf8_distance||5.006000| -utf8_hop_back|||n -utf8_hop_forward|||n -utf8_hop_safe|||n -utf8_hop||5.006000|n -utf8_length||5.007001| -utf8_mg_len_cache_update||| -utf8_mg_pos_cache_update||| -utf8_to_uvchr_buf|5.015009|5.015009|p -utf8_to_uvchr|||p -utf8n_to_uvchr_error|||n -utf8n_to_uvchr||5.007001|n -utf8n_to_uvuni||5.007001| -utilize||| -uvchr_to_utf8_flags||5.007003| -uvchr_to_utf8||5.007001| -uvoffuni_to_utf8_flags||5.019004| -uvuni_to_utf8_flags||5.007003| -uvuni_to_utf8||5.007001| -valid_utf8_to_uvchr|||n -validate_suid||| -variant_under_utf8_count|||n -varname||| -vcmp||5.009000| -vcroak||5.006000| -vdeb||5.007003| -vform||5.006000| -visit||| -vivify_defelem||| -vivify_ref||| -vload_module|5.006000||p -vmess|5.006000|5.006000|p -vnewSVpvf|5.006000|5.004000|p -vnormal||5.009002| -vnumify||5.009000| -vstringify||5.009000| -vverify||5.009003| -vwarner||5.006000| -vwarn||5.006000| -wait4pid||| -warn_nocontext|||pvn -warn_on_first_deprecated_use||| -warn_sv|5.013001||p -warner_nocontext|||vn -warner|5.006000|5.004000|pv -warn|||v -was_lvalue_sub||| -watch||| -whichsig_pvn||5.015004| -whichsig_pv||5.015004| -whichsig_sv||5.015004| -whichsig||| -win32_croak_not_implemented|||n -win32_setlocale||| -with_queued_errors||| -wrap_op_checker||5.015008| -write_to_stderr||| -xs_boot_epilog||| -xs_handshake|||vn -xs_version_bootcheck||| -yyerror_pvn||| -yyerror_pv||| -yyerror||| -yylex||| -yyparse||| -yyquit||| -yyunlex||| -yywarn||| +sv_vsetpvf_mg|5.006000|5.004000|p +sv_vsetpvfn|5.004000|5.004000| +SvVSTRING_mg|5.009004||pVu +swallow_bom|5.006001||Viu +switch_category_locale_to_template|5.027009||Viu +switch_to_global_locale|5.027009|5.003007|pn +sync_locale|5.027009|5.003007|pn +sys_init3|5.010000|5.010000|nu +sys_init|5.010000|5.010000|nu +sys_intern_clear|5.006001||Vu +sys_intern_dup|5.006000||Vu +sys_intern_init|5.006001||Vu +sys_term|5.010000|5.010000|nu +taint_env|5.003007|5.003007|u +taint_proper|5.003007|5.003007|u +THIS|5.003007|5.003007|V +thread_locale_init|5.027009|5.027009|nxu +thread_locale_term|5.027009|5.027009|nxu +tied_method|5.013009||vViu +tmps_grow_p|5.021005||cViu +to_byte_substr|5.008000||Viu +toFOLD|5.019001|5.019001| +_to_fold_latin1|5.015005||ncViu +toFOLD_utf8|5.031005|5.031005| +toFOLD_utf8_safe|5.025009|5.006000|p +toFOLD_uvchr|5.023009|5.006000|p +tokenize_use|5.009003||Viu +tokeq|5.005000||Viu +tokereport|5.007001||Viu +toLOWER|5.003007|5.003007| +toLOWER_L1|5.019001|5.019001| +to_lower_latin1|5.015005||nViu +toLOWER_LC|5.004000|5.004000| +toLOWER_utf8|5.031005|5.031005| +toLOWER_utf8_safe|5.025009|5.006000|p +toLOWER_uvchr|5.023009|5.006000|p +too_few_arguments_pv|5.016000||Viu +too_many_arguments_pv|5.016000||Viu +TOPMARK|||ciu +toTITLE|5.019001|5.019001| +toTITLE_utf8|5.031005|5.031005| +toTITLE_utf8_safe|5.025009|5.006000|p +toTITLE_uvchr|5.023009|5.006000|p +to_uni_fold|5.031004||cVu +_to_uni_fold_flags|5.014000||cVu +to_uni_lower|5.006000||cVu +to_uni_title|5.006000||cVu +to_uni_upper|5.006000||cVu +toUPPER|5.003007|5.003007| +_to_upper_title_latin1|5.015005||Viu +toUPPER_utf8|5.031005|5.031005| +toUPPER_utf8_safe|5.025009|5.006000|p +toUPPER_uvchr|5.023009|5.006000|p +_to_utf8_case|5.023006||Viu +_to_utf8_fold_flags|5.014000||cVu +_to_utf8_lower_flags|5.015006||cVu +to_utf8_substr|5.008000||Viu +_to_utf8_title_flags|5.015006||cVu +_to_utf8_upper_flags|5.015006||cVu +translate_substr_offsets|5.015006||nViu +traverse_op_tree|5.029008||Vi +try_amagic_bin|||ciu +try_amagic_un|||ciu +turkic_fc|5.029008||Viu +turkic_lc|5.029008||Viu +turkic_uc|5.029008||Viu +U16SIZE|5.006000|5.006000| +U16TYPE|5.006000|5.006000| +U32SIZE|5.006000|5.006000| +U32TYPE|5.006000|5.006000| +U8SIZE|5.006000|5.006000| +U8TYPE|5.006000|5.006000| +uiv_2buf|5.009003||nViu +UNDERBAR|5.009002|5.003007|p +unexpected_non_continuation_text|5.025006||Viu +UNICODE_REPLACEMENT|5.007001|5.003007|p +UNI_TO_NATIVE|5.007001|5.003007|p +UNLIKELY|5.009004|5.003007|p +unlnk|5.003007||Vu +unpack_rec|5.008001||Viu +unpack_str|5.007003|5.007003|d +unpackstring|5.008001|5.008001| +unreferenced_to_tmp_stack|5.013002||Viu +unshare_hek|5.004000||Viu +unshare_hek_or_pvn|5.008000||Viu +unsharepvn|5.003007|5.003007|u +unwind_handler_stack|5.009003||Viu +update_debugger_info|5.009005||Viu +upg_version|5.009005|5.009005| +usage|5.005000||Viu +utf16_textfilter|5.011001||Viu +utf16_to_utf8|5.006000||cViu +utf16_to_utf8_reversed|5.006000||cViu +UTF8_CHECK_ONLY|5.007001|5.007001| +UTF8_CHK_SKIP|5.031006|5.006000|p +UTF8_DISALLOW_ILLEGAL_C9_INTERCHANGE|5.025005|5.025005| +UTF8_DISALLOW_ILLEGAL_INTERCHANGE|5.013009|5.013009| +UTF8_DISALLOW_NONCHAR|5.013009|5.013009| +UTF8_DISALLOW_PERL_EXTENDED|5.027002|5.027002| +UTF8_DISALLOW_SUPER|5.013009|5.013009| +UTF8_DISALLOW_SURROGATE|5.013009|5.013009| +utf8_distance|5.006000|5.006000| +UTF8f|5.019001|5.003007|p +UTF8fARG|5.019002|5.003007|p +utf8_hop|5.006000|5.006000|n +utf8_hop_back|5.025007|5.025007|n +utf8_hop_forward|5.025007|5.025007|n +utf8_hop_safe|5.025007|5.025007|n +UTF8_IS_INVARIANT|5.007001|5.003007|p +UTF8_IS_NONCHAR|5.023002|5.023002| +UTF8_IS_SUPER|5.023002|5.023002| +UTF8_IS_SURROGATE|5.023002|5.023002| +utf8_length|5.007001|5.007001| +UTF8_MAXBYTES|5.009002|5.006000|p +UTF8_MAXBYTES_CASE|5.009002|5.003007|p +utf8_mg_len_cache_update|5.013003||Viu +utf8_mg_pos_cache_update|5.009004||Viu +utf8n_to_uvchr|5.007001|5.007001|n +utf8n_to_uvchr_error|5.025006|5.025006|n +utf8n_to_uvchr_msgs|5.027009|5.027009|nx +_utf8n_to_uvchr_msgs_helper|5.029001||ncVu +utf8n_to_uvuni|5.007001||cV +UTF8_SAFE_SKIP|5.029009|5.006000|p +UTF8SKIP|5.006000|5.006000| +UTF8_SKIP|5.023002|5.006000|p +utf8_to_bytes|5.006001|5.006001|x +utf8_to_uvchr|5.007001|5.006001|pd +utf8_to_uvchr_buf|5.015009|5.006001|p +utf8_to_uvchr_buf_helper|5.031004||cVu +utf8_to_uvuni|5.007001||dcV +utf8_to_uvuni_buf|5.015009||dcV +UTF8_WARN_ILLEGAL_C9_INTERCHANGE|5.025005|5.025005| +UTF8_WARN_ILLEGAL_INTERCHANGE|5.013009|5.013009| +UTF8_WARN_NONCHAR|5.013009|5.013009| +UTF8_WARN_PERL_EXTENDED|5.027002|5.027002| +UTF8_WARN_SUPER|5.013009|5.013009| +UTF8_WARN_SURROGATE|5.013009|5.013009| +utilize|5.003007||Viu +UVCHR_IS_INVARIANT|5.019004|5.003007|p +UVCHR_SKIP|5.022000|5.003007|p +uvchr_to_utf8|5.007001|5.007001| +uvchr_to_utf8_flags|5.007003|5.007003| +uvchr_to_utf8_flags_msgs|5.027009|5.027009|x +UVof|5.006000|5.003007|p +uvoffuni_to_utf8_flags|||c +uvoffuni_to_utf8_flags_msgs|5.027009||cVu +UVSIZE|5.006000|5.003007|p +UVTYPE|5.006000|5.003007|p +UVuf|5.006000|5.003007|p +uvuni_to_utf8|5.019004||cVu +uvuni_to_utf8_flags|5.007003||cV +UVxf|5.006000|5.003007|p +UVXf|5.007001|5.007001|p +validate_proto|5.019002||xcVi +validate_suid|||iu +valid_utf8_to_uvchr|5.015009||ncV +valid_utf8_to_uvuni|5.015009||dcVu +variant_byte_number|5.031004||ncVu +variant_under_utf8_count|5.027007||nVi +varname|5.009003||Viu +vcmp|5.009000|5.009000| +vcroak|5.006000|5.006000| +vdeb|5.007003|5.007003|u +vform|5.006000|5.006000|u +visit|5.005000||Viu +vivify_defelem|5.004000||cViu +vivify_ref|5.004000||Viu +vload_module|5.006000|5.003007|pu +vmess|5.006000|5.004000|p +vnewSVpvf|5.006000|5.004000|pu +vnormal|5.009002|5.009002| +vnumify|5.009000|5.009000| +vstringify|5.009000|5.009000| +vverify|5.009003|5.009003| +vwarn|5.006000|5.006000| +vwarner|5.006000|5.006000|u +wait4pid|5.003007||Viu +warn|5.006000|5.003007|v +WARN_ALL|5.006000|5.003007|p +WARN_AMBIGUOUS|5.006000|5.003007|p +WARN_ASSERTIONS||5.003007|pou +WARN_BAREWORD|5.006000|5.003007|p +WARN_CLOSED|5.006000|5.003007|p +WARN_CLOSURE|5.006000|5.003007|p +WARN_DEBUGGING|5.006000|5.003007|p +WARN_DEPRECATED|5.006000|5.003007|p +WARN_DIGIT|5.006000|5.003007|p +warner|5.006000|5.004000|pvu +warner_nocontext|5.006000||vnVu +WARN_EXEC|5.006000|5.003007|p +WARN_EXITING|5.006000|5.003007|p +WARN_EXPERIMENTAL|5.017004|5.017004| +WARN_EXPERIMENTAL__ALPHA_ASSERTIONS|5.027009|5.027009| +WARN_EXPERIMENTAL__BITWISE|5.021009|5.021009| +WARN_EXPERIMENTAL__CONST_ATTR|5.021008|5.021008| +WARN_EXPERIMENTAL__DECLARED_REFS|5.025003|5.025003| +WARN_EXPERIMENTAL__ISA||| +WARN_EXPERIMENTAL__LEXICAL_SUBS|5.017005|5.017005| +WARN_EXPERIMENTAL__POSTDEREF|5.019005|5.019005| +WARN_EXPERIMENTAL__PRIVATE_USE|5.029009|5.029009| +WARN_EXPERIMENTAL__REFALIASING|5.021005|5.021005| +WARN_EXPERIMENTAL__REGEX_SETS|5.017008|5.017008| +WARN_EXPERIMENTAL__RE_STRICT|5.021008|5.021008| +WARN_EXPERIMENTAL__SCRIPT_RUN|5.027008|5.027008| +WARN_EXPERIMENTAL__SIGNATURES|5.019009|5.019009| +WARN_EXPERIMENTAL__SMARTMATCH|5.017011|5.017011| +WARN_EXPERIMENTAL__UNIPROP_WILDCARDS|5.029009|5.029009| +WARN_EXPERIMENTAL__VLB|5.029009|5.029009| +WARN_EXPERIMENTAL__WIN32_PERLIO|5.021001|5.021001| +WARN_GLOB|5.006000|5.003007|p +WARN_ILLEGALPROTO|5.011004|5.011004| +WARN_IMPRECISION|5.011000|5.011000| +WARN_INPLACE|5.006000|5.003007|p +WARN_INTERNAL|5.006000|5.003007|p +WARN_IO|5.006000|5.003007|p +WARN_LAYER|5.008000|5.003007|p +WARN_LOCALE|5.021006|5.021006| +WARN_MALLOC|5.006000|5.003007|p +WARN_MISC|5.006000|5.003007|p +WARN_MISSING|5.021002|5.021002| +WARN_NEWLINE|5.006000|5.003007|p +warn_nocontext|5.006000||pvnVu +WARN_NONCHAR|5.013010|5.013010| +WARN_NON_UNICODE|5.013010|5.013010| +WARN_NUMERIC|5.006000|5.003007|p +WARN_ONCE|5.006000|5.003007|p +warn_on_first_deprecated_use|5.025009||Viu +WARN_OVERFLOW|5.006000|5.003007|p +WARN_PACK|5.006000|5.003007|p +WARN_PARENTHESIS|5.006000|5.003007|p +WARN_PIPE|5.006000|5.003007|p +WARN_PORTABLE|5.006000|5.003007|p +WARN_PRECEDENCE|5.006000|5.003007|p +WARN_PRINTF|5.006000|5.003007|p +_warn_problematic_locale|5.021008||ncViu +WARN_PROTOTYPE|5.006000|5.003007|p +WARN_QW|5.006000|5.003007|p +WARN_RECURSION|5.006000|5.003007|p +WARN_REDEFINE|5.006000|5.003007|p +WARN_REDUNDANT|5.021002|5.021002| +WARN_REGEXP|5.006000|5.003007|p +WARN_RESERVED|5.006000|5.003007|p +WARN_SEMICOLON|5.006000|5.003007|p +WARN_SEVERE|5.006000|5.003007|p +WARN_SHADOW|5.027007|5.027007| +WARN_SIGNAL|5.006000|5.003007|p +WARN_SUBSTR|5.006000|5.003007|p +WARN_SURROGATE|5.013010|5.013010| +warn_sv|5.013001|5.003007|p +WARN_SYNTAX|5.006000|5.003007|p +WARN_SYSCALLS|5.019004|5.019004| +WARN_TAINT|5.006000|5.003007|p +WARN_THREADS|5.008000|5.003007|p +WARN_UNINITIALIZED|5.006000|5.003007|p +WARN_UNOPENED|5.006000|5.003007|p +WARN_UNPACK|5.006000|5.003007|p +WARN_UNTIE|5.006000|5.003007|p +WARN_UTF8|5.006000|5.003007|p +WARN_VOID|5.006000|5.003007|p +was_lvalue_sub|||ciu +watch|5.003007||Viu +whichsig|5.003007|5.003007|u +whichsig_pv|5.015004|5.015004|u +whichsig_pvn|5.015004|5.015004|u +whichsig_sv|5.015004|5.015004|u +WIDEST_UTYPE|5.015004|5.003007|p +win32_croak_not_implemented|5.017006||nViu +win32_setlocale|5.027006||Viu +WITH_LC_NUMERIC_SET_TO_NEEDED|5.031003|5.031003| +WITH_LC_NUMERIC_SET_TO_NEEDED_IN|5.031003|5.031003| +with_queued_errors|5.013001||Viu +wrap_keyword_plugin|5.027006|5.027006|x +wrap_op_checker|5.015008|5.015008| +write_to_stderr|5.008001||Viu +XCPT_CATCH|5.009002|5.003007|p +XCPT_RETHROW|5.009002|5.003007|p +XCPT_TRY_END|5.009002|5.003007|p +XCPT_TRY_START|5.009002|5.003007|p +XopDISABLE|5.013007|5.013007|V +XopENABLE|5.013007|5.013007|V +XopENTRY|5.013007|5.013007|V +XopENTRYCUSTOM|5.019006|5.013007|V +XopENTRY_set|5.013007|5.013007|V +XopFLAGS|5.013007|5.013007| +XPUSHi|5.003007|5.003007| +XPUSHmortal|5.009002|5.003007|p +XPUSHn|5.006000|5.003007| +XPUSHp|5.003007|5.003007| +XPUSHs|5.003007|5.003007| +XPUSHu|5.004000|5.003007|p +XS|5.003007|5.003007|V +XS_APIVERSION_BOOTCHECK|5.013004|5.013004| +xs_boot_epilog|5.021006||cViu +XS_EXTERNAL|5.015002|5.015002|V +xs_handshake|||vnciu +XS_INTERNAL|5.015002|5.015002|V +XSprePUSH|5.006000|5.003007|poVu +XSPROTO|5.010000||pVu +XSRETURN|5.003007|5.003007|p +XSRETURN_EMPTY|5.003007|5.003007| +XSRETURN_IV|5.003007|5.003007| +XSRETURN_NO|5.003007|5.003007| +XSRETURN_NV|5.006000|5.003007| +XSRETURN_PV|5.003007|5.003007| +XSRETURN_UNDEF|5.003007|5.003007| +XSRETURN_UV|5.008001|5.003007|p +XSRETURN_YES|5.003007|5.003007| +XST_mIV|5.003007|5.003007| +XST_mNO|5.003007|5.003007| +XST_mNV|5.006000|5.003007| +XST_mPV|5.003007|5.003007| +XST_mUNDEF|5.003007|5.003007| +XST_mUV|5.008001|5.003007|p +XST_mYES|5.003007|5.003007| +XS_VERSION|5.003007|5.003007| +XS_VERSION_BOOTCHECK|5.003007|5.003007| +xs_version_bootcheck|||iu +yyerror|5.003007||Viu +yyerror_pv|5.016000||Viu +yyerror_pvn|5.016000||Viu +yylex|5.003007||cViu +yyparse|5.003007||Viu +yyquit|5.025010||Viu +yyunlex|5.013005||Viu +yywarn|5.003007||Viu +Zero|5.003007|5.003007| +ZeroD|5.009002|5.003007|p ); if (exists $opt{'list-unsupported'}) { my $f; - for $f (sort { lc $a cmp lc $b } keys %API) { + for $f (sort dictionary_order keys %API) { + next if $API{$f}{core_only}; + next if $API{$f}{beyond_depr}; + next if $API{$f}{inaccessible}; + next if $API{$f}{experimental}; next unless $API{$f}{todo}; + next if int_parse_version($API{$f}{todo}) <= $int_min_perl; print "$f ", '.'x(40-length($f)), " ", format_version($API{$f}{todo}), "\n"; } exit 0; } -# Scan for possible replacement candidates +# Scan for hints, possible replacement candidates, etc. my(%replace, %need, %hints, %warnings, %depends); my $replace = 0; @@ -4417,6 +6659,7 @@ my($hint, $define, $function); sub find_api { + BEGIN { 'warnings'->unimport('uninitialized') if "$]" > '5.006' } my $code = shift; $code =~ s{ / (?: \*[^*]*\*+(?:[^$ccs][^*]*\*+)* / | /[^\r\n]*) @@ -4427,24 +6670,65 @@ sub find_api while () { if ($hint) { + + # Here, we are in the middle of accumulating a hint or warning. + my $end_of_hint = 0; + + # A line containing a comment end marker closes the hint. Remove that + # marker for processing below. + if (s/\s*$rcce(.*?)\s*$//) { + die "Nothing can follow the end of comment in '$_'\n" if length $1 > 0; + $end_of_hint = 1; + } + + # Set $h to the hash of which type. my $h = $hint->[0] eq 'Hint' ? \%hints : \%warnings; - if (m{^\s*\*\s(.*?)\s*$}) { - for (@{$hint->[1]}) { - $h->{$_} ||= ''; # suppress warning with older perls - $h->{$_} .= "$1\n"; - } + + # Ignore any leading and trailing white space, and an optional star comment + # continuation marker, then place the meat of the line into $1 + m/^\s*(?:\*\s*)?(.*?)\s*$/; + + # Add the meat of this line to the hash value of each API element it + # applies to + for (@{$hint->[1]}) { + $h->{$_} ||= ''; # avoid the warning older perls generate + $h->{$_} .= "$1\n"; } - else { undef $hint } + + # If the line had a comment close, we are through with this hint + undef $hint if $end_of_hint; + + next; + } + + # Set up $hint if this is the beginning of a Hint: or Warning: + # These are from a multi-line C comment in the file, with the first line + # looking like (a space has been inserted because this file can't have C + # comment markers in it): + # / * Warning: PL_expect, PL_copline, PL_rsfp + # + # $hint becomes + # [ + # 'Warning', + # [ + # 'PL_expect', + # 'PL_copline', + # 'PL_rsfp', + # ], + # ] + if (m{^\s*$rccs\s+(Hint|Warning):\s+(\w+(?:,?\s+\w+)*)\s*$}) { + $hint = [$1, [split /,?\s+/, $2]]; + next; } - $hint = [$1, [split /,?\s+/, $2]] - if m{^\s*$rccs\s+(Hint|Warning):\s+(\w+(?:,?\s+\w+)*)\s*$}; + if ($define) { # If in the middle of a definition... - if ($define) { + # append a continuation line ending with backslash. if ($define->[1] =~ /\\$/) { $define->[1] .= $_; } - else { + else { # Otherwise this line ends the definition, make foo depend on bar + # (and what bar depends on) if its not one of ppp's own constructs if (exists $API{$define->[0]} && $define->[1] !~ /^DPPP_\(/) { my @n = find_api($define->[1]); push @{$depends{$define->[0]}}, @n if @n @@ -4453,6 +6737,8 @@ while () { } } + # For '#define foo bar' or '#define foo(a,b,c) bar', $define becomes a + # reference to [ foo, bar ] $define = [$1, $2] if m{^\s*#\s*define\s+(\w+)(?:\([^)]*\))?\s+(.*)}; if ($function) { @@ -4470,11 +6756,29 @@ while () { $function = [$1, ''] if m{^DPPP_\(my_(\w+)\)}; + # Set $replace to the number given for lines that look like + # / * Replace: \d+ * / + # (blanks added to keep real C comments from appearing in this file) + # Thus setting it to 1 starts a region where replacements are automatically + # done, and setting it to 0 ends that region. $replace = $1 if m{^\s*$rccs\s+Replace:\s+(\d+)\s+$rcce\s*$}; + + # Add bar => foo to %replace for lines like '#define foo bar in a region + # where $replace is non-zero $replace{$2} = $1 if $replace and m{^\s*#\s*define\s+(\w+)(?:\([^)]*\))?\s+(\w+)}; + + # Add bar => foo to %replace for lines like '#define foo bar / * Replace * / + # (blanks added to keep real C comments from appearing in this file) $replace{$2} = $1 if m{^\s*#\s*define\s+(\w+)(?:\([^)]*\))?\s+(\w+).*$rccs\s+Replace\s+$rcce}; + + # Add foo => bar to %replace for lines like / * Replace foo with bar * / + # (blanks added to keep real C comments from appearing in this file) $replace{$1} = $2 if m{^\s*$rccs\s+Replace (\w+) with (\w+)\s+$rcce\s*$}; + # For lines like / * foo, bar depends on baz, bat * / + # create a list of the elements on the rhs, and make that list apply to each + # element in the lhs, which becomes a key in \%depends. + # (blanks added to keep real C comments from appearing in this file) if (m{^\s*$rccs\s+(\w+(\s*,\s*\w+)*)\s+depends\s+on\s+(\w+(\s*,\s*\w+)*)\s+$rcce\s*$}) { my @deps = map { s/\s+//g; $_ } split /,/, $3; my $d; @@ -4487,43 +6791,145 @@ while () { } for (values %depends) { - my %s; - $_ = [sort grep !$s{$_}++, @$_]; + my %seen; + $_ = [sort dictionary_order grep !$seen{$_}++, @$_]; } if (exists $opt{'api-info'}) { my $f; my $count = 0; my $match = $opt{'api-info'} =~ m!^/(.*)/$! ? $1 : "^\Q$opt{'api-info'}\E\$"; - for $f (sort { lc $a cmp lc $b } keys %API) { + for $f (sort dictionary_order keys %API) { next unless $f =~ /$match/; - print "\n=== $f ===\n\n"; + print "\n=== $f ===\n"; my $info = 0; - if ($API{$f}{base} || $API{$f}{todo}) { - my $base = format_version($API{$f}{base} || $API{$f}{todo}); - print "Supported at least starting from perl-$base.\n"; - $info++; + my $base; + $base = int_parse_version($API{$f}{base}) if $API{$f}{base}; + my $todo; + $todo = int_parse_version($API{$f}{todo}) if $API{$f}{todo}; + + # Output information if it is generally publicly usable + if ($base && ! $API{$f}{inaccessible} && ! $API{$f}{core_only}) { + my $with_or= ""; + if ( $base <= $int_min_perl + || ( (! $API{$f}{provided} && ! $todo) + || ($todo && $todo >= $base))) + { + $with_or= " with or"; + } + print "\nSupported at least since perl-", + format_version($base), ",$with_or without $ppport."; + if ($API{$f}{unverified}) { + print "\nThis information is based on inspection of the source code", + " and has not been\n", + "verified by successful compilation."; + } + print "\n"; + $info++; + } + if ($API{$f}{provided} || $todo) { + print "\nThis is only supported by $ppport, and NOT by perl versions going forward.\n" unless $base; + if ($todo) { + if (! $base || $todo < $base) { + my $additionally = ""; + $additionally .= " additionally" if $base; + print "$ppport$additionally provides support at least back to perl-", + format_version($todo), + ".\n"; + } + } + elsif (! $base || $base > $int_min_perl) { + if (exists $depends{$f}) { + my $max = 0; + for (@{$depends{$f}}) { + $max = int_parse_version($API{$_}{todo}) if $API{$_}{todo} && $API{$_}{todo} > $max; + # XXX What to assume unspecified values are? This effectively makes them MIN_PERL + } + $todo = $max if $max; + } + print "\n$ppport provides support for this, but ironically, does not", + " currently know,\n", + "for this report, the minimum version it supports for this"; + if ($API{$f}{undocumented}) { + print " and many things\n", + "it provides that are implemented as macros and aren't", + " documented. You can\n", + "help by submitting a documentation patch"; + } + print ".\n"; + if ($todo) { + if ($todo <= $int_min_perl) { + print "It may very well be supported all the way back to ", + format_version(5.003_07), ".\n"; + } + else { + print "But given the things $f depends on, it's a good", + " guess that it isn't\n", + "supported prior to ", format_version($todo), ".\n"; + } + } + } } if ($API{$f}{provided}) { - my $todo = $API{$f}{todo} ? format_version($API{$f}{todo}) : "5.003"; - print "Support by $ppport provided back to perl-$todo.\n"; - print "Support needs to be explicitly requested by NEED_$f.\n" if exists $need{$f}; - print "Depends on: ", join(', ', @{$depends{$f}}), ".\n" if exists $depends{$f}; + print "Support needs to be explicitly requested by #define NEED_$f\n", + "(or #define NEED_${f}_GLOBAL).\n" if exists $need{$f}; + $info++; + } + + if ($base || ! $API{$f}{ppport_fnc}) { + my $email = "Send email to perl5-porters\@perl.org if you need to have this functionality.\n"; + if ($API{$f}{inaccessible}) { + print "\nThis is not part of the public API, and may not even be accessible to XS code.\n"; + $info++; + } + elsif ($API{$f}{core_only}) { + print "\nThis is not part of the public API, and should not be used by XS code.\n"; + $info++; + } + elsif ($API{$f}{deprecated}) { + print "\nThis is deprecated and should not be used. Convert existing uses.\n"; + $info++; + } + elsif ($API{$f}{experimental}) { + print "\nThe API for this is unstable and should not be used by XS code.\n", $email; + $info++; + } + elsif ($API{$f}{undocumented}) { + print "\nSince this is undocumented, the API should be considered unstable.\n"; + if ($API{$f}{provided}) { + print "Consider bringing this up on the list: perl5-porters\@perl.org.\n"; + } + else { + print "It may be that this is not intended for XS use, or it may just be\n", + "that no one has gotten around to documenting it.\n", $email; + } + $info++; + } + unless ($info) { + print "No portability information available. Check your spelling; or", + " this could be\na bug in Devel::PPPort. To report an issue:\n", + "https://github.com/Dual-Life/Devel-PPPort/issues/new\n"; + } + } + + print "\nDepends on: ", join(', ', @{$depends{$f}}), ".\n" + if exists $depends{$f}; + if (exists $hints{$f} || exists $warnings{$f}) { print "\n$hints{$f}" if exists $hints{$f}; print "\nWARNING:\n$warnings{$f}" if exists $warnings{$f}; $info++; } - print "No portability information available.\n" unless $info; $count++; } - $count or print "Found no API matching '$opt{'api-info'}'."; + + $count or print "\nFound no API matching '$opt{'api-info'}'."; print "\n"; exit 0; } if (exists $opt{'list-provided'}) { my $f; - for $f (sort { lc $a cmp lc $b } keys %API) { + for $f (sort dictionary_order keys %API) { next unless $API{$f}{provided}; my @flags; push @flags, 'explicit' if exists $need{$f}; @@ -4629,7 +7035,9 @@ for $filename (@files) { $file{uses_Perl}{$func}++ if $c =~ /\bPerl_$func\b/; if (exists $API{$func}{provided}) { $file{uses_provided}{$func}++; - if (!exists $API{$func}{base} || $API{$func}{base} > $opt{'compat-version'}) { + if ( ! exists $API{$func}{base} + || int_parse_version($API{$func}{base}) > $opt{'compat-version'}) + { $file{uses}{$func}++; my @deps = rec_depend($func); if (@deps) { @@ -4643,7 +7051,9 @@ for $filename (@files) { } } } - if (exists $API{$func}{todo} && $API{$func}{todo} > $opt{'compat-version'}) { + if ( exists $API{$func}{todo} + && int_parse_version($API{$func}{todo}) > $opt{'compat-version'}) + { if ($c =~ /\b$func\b/) { $file{uses_todo}{$func}++; } @@ -4694,9 +7104,9 @@ for $filename (@files) { my $c = $file{code}; my $warnings = 0; - for $func (sort keys %{$file{uses_Perl}}) { + for $func (sort dictionary_order keys %{$file{uses_Perl}}) { if ($API{$func}{varargs}) { - unless ($API{$func}{nothxarg}) { + unless ($API{$func}{noTHXarg}) { my $changes = ($c =~ s{\b(Perl_$func\s*\(\s*)(?!aTHX_?)(\)|[^\s)]*\))} { $1 . ($2 eq ')' ? 'aTHX' : 'aTHX_ ') . $2 }ge); if ($changes) { @@ -4712,12 +7122,12 @@ for $filename (@files) { } } - for $func (sort keys %{$file{uses_replace}}) { + for $func (sort dictionary_order keys %{$file{uses_replace}}) { warning("Uses $func instead of $replace{$func}"); $file{changes} += ($c =~ s/\b$func\b/$replace{$func}/g); } - for $func (sort keys %{$file{uses_provided}}) { + for $func (sort dictionary_order keys %{$file{uses_provided}}) { if ($file{uses}{$func}) { if (exists $file{uses_deps}{$func}) { diag("Uses $func, which depends on ", join(', ', @{$file{uses_deps}{$func}})); @@ -4730,14 +7140,15 @@ for $filename (@files) { } unless ($opt{quiet}) { - for $func (sort keys %{$file{uses_todo}}) { + for $func (sort dictionary_order keys %{$file{uses_todo}}) { + next if int_parse_version($API{$func}{todo}) <= $int_min_perl; print "*** WARNING: Uses $func, which may not be portable below perl ", format_version($API{$func}{todo}), ", even with '$ppport'\n"; $warnings++; } } - for $func (sort keys %{$file{needed_static}}) { + for $func (sort dictionary_order keys %{$file{needed_static}}) { my $message = ''; if (not exists $file{uses}{$func}) { $message = "No need to define NEED_$func if $func is never used"; @@ -4751,7 +7162,7 @@ for $filename (@files) { } } - for $func (sort keys %{$file{needed_global}}) { + for $func (sort dictionary_order keys %{$file{needed_global}}) { my $message = ''; if (not exists $global{uses}{$func}) { $message = "No need to define NEED_${func}_GLOBAL if $func is never used"; @@ -4775,7 +7186,7 @@ for $filename (@files) { if ($file{needs_inc_ppport}) { my $pp = ''; - for $func (sort keys %{$file{needs}}) { + for $func (sort dictionary_order keys %{$file{needs}}) { my $type = $file{needs}{$func}; next if $type eq 'extern'; my $suffix = $type eq 'global' ? '_GLOBAL' : ''; @@ -4971,66 +7382,13 @@ sub rec_depend grep !$s{$_}++, map { ($_, rec_depend($_, $seen)) } @{$depends{$func}}; } -sub parse_version +sub info { - my $ver = shift; - - if ($ver =~ /^(\d+)\.(\d+)\.(\d+)$/) { - return ($1, $2, $3); - } - elsif ($ver !~ /^\d+\.[\d_]+$/) { - die "cannot parse version '$ver'\n"; - } - - $ver =~ s/_//g; - $ver =~ s/$/000000/; - - my($r,$v,$s) = $ver =~ /(\d+)\.(\d{3})(\d{3})/; - - $v = int $v; - $s = int $s; - - if ($r < 5 || ($r == 5 && $v < 6)) { - if ($s % 10) { - die "cannot parse version '$ver'\n"; - } - } - - return ($r, $v, $s); + $opt{quiet} and return; + print @_, "\n"; } -sub format_version -{ - my $ver = shift; - - $ver =~ s/$/000000/; - my($r,$v,$s) = $ver =~ /(\d+)\.(\d{3})(\d{3})/; - - $v = int $v; - $s = int $s; - - if ($r < 5 || ($r == 5 && $v < 6)) { - if ($s % 10) { - die "invalid version '$ver'\n"; - } - $s /= 10; - - $ver = sprintf "%d.%03d", $r, $v; - $s > 0 and $ver .= sprintf "_%02d", $s; - - return $ver; - } - - return sprintf "%d.%d.%d", $r, $v, $s; -} - -sub info -{ - $opt{quiet} and return; - print @_, "\n"; -} - -sub diag +sub diag { $opt{quiet} and return; $opt{diag} and print @_, "\n"; @@ -5179,6 +7537,10 @@ __DATA__ # define dTHX dNOOP #endif +/* Hint: dTHX + + For pre-5.6.0 thread compatibility, instead use dTHXR, available only through + ppport.h */ #ifndef dTHXa # define dTHXa(x) dNOOP #endif @@ -5194,10 +7556,19 @@ __DATA__ # define aTHX #endif +/* Hint: aTHX + + For pre-5.6.0 thread compatibility, instead use aTHXR, available only through + ppport.h */ #ifndef aTHX_ # define aTHX_ #endif +/* Hint: aTHX_ + + For pre-5.6.0 thread compatibility, instead use aTHXR_, available only + through ppport.h */ + #if (PERL_BCDVERSION < 0x5006000) # ifdef USE_THREADS # define aTHXR thr @@ -5561,2365 +7932,2579 @@ __DATA__ #ifndef UVSIZE # define UVSIZE IVSIZE #endif -#ifndef cBOOL -# define cBOOL(cbool) ((cbool) ? (bool)1 : (bool)0) -#endif -#ifndef OpHAS_SIBLING -# define OpHAS_SIBLING(o) (cBOOL((o)->op_sibling)) -#endif +#ifndef PERL_SIGNALS_UNSAFE_FLAG -#ifndef OpSIBLING -# define OpSIBLING(o) (0 + (o)->op_sibling) -#endif +#define PERL_SIGNALS_UNSAFE_FLAG 0x0001 -#ifndef OpMORESIB_set -# define OpMORESIB_set(o, sib) ((o)->op_sibling = (sib)) +#if (PERL_BCDVERSION < 0x5008000) +# define D_PPP_PERL_SIGNALS_INIT PERL_SIGNALS_UNSAFE_FLAG +#else +# define D_PPP_PERL_SIGNALS_INIT 0 #endif -#ifndef OpLASTSIB_set -# define OpLASTSIB_set(o, parent) ((o)->op_sibling = NULL) +#if defined(NEED_PL_signals) +static U32 DPPP_(my_PL_signals) = D_PPP_PERL_SIGNALS_INIT; +#elif defined(NEED_PL_signals_GLOBAL) +U32 DPPP_(my_PL_signals) = D_PPP_PERL_SIGNALS_INIT; +#else +extern U32 DPPP_(my_PL_signals); #endif +#define PL_signals DPPP_(my_PL_signals) -#ifndef OpMAYBESIB_set -# define OpMAYBESIB_set(o, sib, parent) ((o)->op_sibling = (sib)) #endif -#ifndef HEf_SVKEY -# define HEf_SVKEY -2 -#endif +/* Hint: PL_ppaddr + * Calling an op via PL_ppaddr requires passing a context argument + * for threaded builds. Since the context argument is different for + * 5.005 perls, you can use aTHXR (supplied by ppport.h), which will + * automatically be defined as the correct argument. + */ -#if defined(DEBUGGING) && !defined(__COVERITY__) -#ifndef __ASSERT_ -# define __ASSERT_(statement) assert(statement), +#if (PERL_BCDVERSION <= 0x5005005) +/* Replace: 1 */ +# define PL_ppaddr ppaddr +# define PL_no_modify no_modify +/* Replace: 0 */ #endif -#else -#ifndef __ASSERT_ -# define __ASSERT_(statement) +#if (PERL_BCDVERSION <= 0x5004005) +/* Replace: 1 */ +# define PL_DBsignal DBsignal +# define PL_DBsingle DBsingle +# define PL_DBsub DBsub +# define PL_DBtrace DBtrace +# define PL_Sv Sv +# define PL_Xpv Xpv +# define PL_bufend bufend +# define PL_bufptr bufptr +# define PL_compiling compiling +# define PL_copline copline +# define PL_curcop curcop +# define PL_curstash curstash +# define PL_debstash debstash +# define PL_defgv defgv +# define PL_diehook diehook +# define PL_dirty dirty +# define PL_dowarn dowarn +# define PL_errgv errgv +# define PL_error_count error_count +# define PL_expect expect +# define PL_hexdigit hexdigit +# define PL_hints hints +# define PL_in_my in_my +# define PL_laststatval laststatval +# define PL_lex_state lex_state +# define PL_lex_stuff lex_stuff +# define PL_linestr linestr +# define PL_na na +# define PL_perl_destruct_level perl_destruct_level +# define PL_perldb perldb +# define PL_rsfp_filters rsfp_filters +# define PL_rsfp rsfp +# define PL_stack_base stack_base +# define PL_stack_sp stack_sp +# define PL_statcache statcache +# define PL_stdingv stdingv +# define PL_sv_arenaroot sv_arenaroot +# define PL_sv_no sv_no +# define PL_sv_undef sv_undef +# define PL_sv_yes sv_yes +# define PL_tainted tainted +# define PL_tainting tainting +# define PL_tokenbuf tokenbuf +# define PL_mess_sv mess_sv +/* Replace: 0 */ #endif -#endif +/* Warning: PL_parser + * For perl versions earlier than 5.9.5, this is an always + * non-NULL dummy. Also, it cannot be dereferenced. Don't + * use it if you can avoid it, and unless you absolutely know + * what you're doing. + * If you always check that PL_parser is non-NULL, you can + * define DPPP_PL_parser_NO_DUMMY to avoid the creation of + * a dummy parser structure. + */ -#ifndef SvRX -#if defined(NEED_SvRX) -static void * DPPP_(my_SvRX)(pTHX_ SV *rv); -static +#if (PERL_BCDVERSION >= 0x5009005) +# ifdef DPPP_PL_parser_NO_DUMMY +# define D_PPP_my_PL_parser_var(var) ((PL_parser ? PL_parser : \ + (croak("panic: PL_parser == NULL in %s:%d", \ + __FILE__, __LINE__), (yy_parser *) NULL))->var) +# else +# ifdef DPPP_PL_parser_NO_DUMMY_WARNING +# define D_PPP_parser_dummy_warning(var) +# else +# define D_PPP_parser_dummy_warning(var) \ + warn("warning: dummy PL_" #var " used in %s:%d", __FILE__, __LINE__), +# endif +# define D_PPP_my_PL_parser_var(var) ((PL_parser ? PL_parser : \ + (D_PPP_parser_dummy_warning(var) &DPPP_(dummy_PL_parser)))->var) +#if defined(NEED_PL_parser) +static yy_parser DPPP_(dummy_PL_parser); +#elif defined(NEED_PL_parser_GLOBAL) +yy_parser DPPP_(dummy_PL_parser); #else -extern void * DPPP_(my_SvRX)(pTHX_ SV *rv); +extern yy_parser DPPP_(dummy_PL_parser); #endif -#if defined(NEED_SvRX) || defined(NEED_SvRX_GLOBAL) +# endif -#ifdef SvRX -# undef SvRX -#endif -#define SvRX(a) DPPP_(my_SvRX)(aTHX_ a) +/* PL_expect, PL_copline, PL_rsfp, PL_rsfp_filters, PL_linestr, PL_bufptr, PL_bufend, PL_lex_state, PL_lex_stuff, PL_tokenbuf depends on PL_parser */ +/* Warning: PL_expect, PL_copline, PL_rsfp, PL_rsfp_filters, PL_linestr, PL_bufptr, PL_bufend, PL_lex_state, PL_lex_stuff, PL_tokenbuf + * Do not use this variable unless you know exactly what you're + * doing. It is internal to the perl parser and may change or even + * be removed in the future. As of perl 5.9.5, you have to check + * for (PL_parser != NULL) for this variable to have any effect. + * An always non-NULL PL_parser dummy is provided for earlier + * perl versions. + * If PL_parser is NULL when you try to access this variable, a + * dummy is being accessed instead and a warning is issued unless + * you define DPPP_PL_parser_NO_DUMMY_WARNING. + * If DPPP_PL_parser_NO_DUMMY is defined, the code trying to access + * this variable will croak with a panic message. + */ +# define PL_expect D_PPP_my_PL_parser_var(expect) +# define PL_copline D_PPP_my_PL_parser_var(copline) +# define PL_rsfp D_PPP_my_PL_parser_var(rsfp) +# define PL_rsfp_filters D_PPP_my_PL_parser_var(rsfp_filters) +# define PL_linestr D_PPP_my_PL_parser_var(linestr) +# define PL_bufptr D_PPP_my_PL_parser_var(bufptr) +# define PL_bufend D_PPP_my_PL_parser_var(bufend) +# define PL_lex_state D_PPP_my_PL_parser_var(lex_state) +# define PL_lex_stuff D_PPP_my_PL_parser_var(lex_stuff) +# define PL_tokenbuf D_PPP_my_PL_parser_var(tokenbuf) +# define PL_in_my D_PPP_my_PL_parser_var(in_my) +# define PL_in_my_stash D_PPP_my_PL_parser_var(in_my_stash) +# define PL_error_count D_PPP_my_PL_parser_var(error_count) -void * -DPPP_(my_SvRX)(pTHX_ SV *rv) -{ - if (SvROK(rv)) { - SV *sv = SvRV(rv); - if (SvMAGICAL(sv)) { - MAGIC *mg = mg_find(sv, PERL_MAGIC_qr); - if (mg && mg->mg_obj) { - return mg->mg_obj; - } - } - } - return 0; -} -#endif -#endif -#ifndef SvRXOK -# define SvRXOK(sv) (!!SvRX(sv)) -#endif -#ifndef PERL_UNUSED_DECL -# ifdef HASATTRIBUTE -# if (defined(__GNUC__) && defined(__cplusplus)) || defined(__INTEL_COMPILER) -# define PERL_UNUSED_DECL -# else -# define PERL_UNUSED_DECL __attribute__((unused)) -# endif -# else -# define PERL_UNUSED_DECL -# endif -#endif +#else + +/* ensure that PL_parser != NULL and cannot be dereferenced */ +# define PL_parser ((void *) 1) -#ifndef PERL_UNUSED_ARG -# if defined(lint) && defined(S_SPLINT_S) /* www.splint.org */ -# include -# define PERL_UNUSED_ARG(x) NOTE(ARGUNUSED(x)) -# else -# define PERL_UNUSED_ARG(x) ((void)x) -# endif #endif -#ifndef PERL_UNUSED_VAR -# define PERL_UNUSED_VAR(x) ((void)x) +#if (PERL_BCDVERSION <= 0x5003022) +# undef start_subparse +# if (PERL_BCDVERSION < 0x5003022) +#ifndef start_subparse +# define start_subparse(a, b) Perl_start_subparse() #endif -#ifndef PERL_UNUSED_CONTEXT -# ifdef USE_ITHREADS -# define PERL_UNUSED_CONTEXT PERL_UNUSED_ARG(my_perl) # else -# define PERL_UNUSED_CONTEXT -# endif +#ifndef start_subparse +# define start_subparse(a, b) Perl_start_subparse(b) #endif -#ifndef PERL_UNUSED_RESULT -# if defined(__GNUC__) && defined(HASATTRIBUTE_WARN_UNUSED_RESULT) -# define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END -# else -# define PERL_UNUSED_RESULT(v) ((void)(v)) # endif + +#if (PERL_BCDVERSION < 0x5003007) +foo #endif -#ifndef NOOP -# define NOOP /*EMPTY*/(void)0 #endif -#ifndef dNOOP -# define dNOOP extern int /*@unused@*/ Perl___notused PERL_UNUSED_DECL -#endif +/* Hint: newCONSTSUB + * Returns a CV* as of perl-5.7.1. This return value is not supported + * by Devel::PPPort. + */ -#ifndef NVTYPE -# if defined(USE_LONG_DOUBLE) && defined(HAS_LONG_DOUBLE) -# define NVTYPE long double -# else -# define NVTYPE double -# endif -typedef NVTYPE NV; -#endif +/* newCONSTSUB from IO.xs is in the core starting with 5.004_63 */ +#if (PERL_BCDVERSION < 0x5004063) && (PERL_BCDVERSION != 0x5004005) -#ifndef INT2PTR -# if (IVSIZE == PTRSIZE) && (UVSIZE == PTRSIZE) -# define PTRV UV -# define INT2PTR(any,d) (any)(d) -# else -# if PTRSIZE == LONGSIZE -# define PTRV unsigned long -# else -# define PTRV unsigned -# endif -# define INT2PTR(any,d) (any)(PTRV)(d) -# endif +/* And before that, we need to make sure this gets compiled for the functions + * that rely on it */ +#define NEED_newCONSTSUB + +#if defined(NEED_newCONSTSUB) +static void DPPP_(my_newCONSTSUB)(HV * stash, const char * name, SV * sv); +static +#else +extern void DPPP_(my_newCONSTSUB)(HV * stash, const char * name, SV * sv); #endif -#ifndef PTR2ul -# if PTRSIZE == LONGSIZE -# define PTR2ul(p) (unsigned long)(p) -# else -# define PTR2ul(p) INT2PTR(unsigned long,p) -# endif -#endif -#ifndef PTR2nat -# define PTR2nat(p) (PTRV)(p) -#endif +#if defined(NEED_newCONSTSUB) || defined(NEED_newCONSTSUB_GLOBAL) -#ifndef NUM2PTR -# define NUM2PTR(any,d) (any)PTR2nat(d) +#ifdef newCONSTSUB +# undef newCONSTSUB #endif +#define newCONSTSUB(a,b,c) DPPP_(my_newCONSTSUB)(aTHX_ a,b,c) +#define Perl_newCONSTSUB DPPP_(my_newCONSTSUB) -#ifndef PTR2IV -# define PTR2IV(p) INT2PTR(IV,p) + +/* This is just a trick to avoid a dependency of newCONSTSUB on PL_parser */ +/* (There's no PL_parser in perl < 5.005, so this is completely safe) */ +#define D_PPP_PL_copline PL_copline + +void +DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv) +{ + U32 oldhints = PL_hints; + HV *old_cop_stash = PL_curcop->cop_stash; + HV *old_curstash = PL_curstash; + line_t oldline = PL_curcop->cop_line; + PL_curcop->cop_line = D_PPP_PL_copline; + + PL_hints &= ~HINT_BLOCK_SCOPE; + if (stash) + PL_curstash = PL_curcop->cop_stash = stash; + + newSUB( + + start_subparse(FALSE, 0), + + newSVOP(OP_CONST, 0, newSVpv((char *) name, 0)), + newSVOP(OP_CONST, 0, &PL_sv_no), /* SvPV(&PL_sv_no) == "" -- GMB */ + newSTATEOP(0, Nullch, newSVOP(OP_CONST, 0, sv)) + ); + + PL_hints = oldhints; + PL_curcop->cop_stash = old_cop_stash; + PL_curstash = old_curstash; + PL_curcop->cop_line = oldline; +} +#endif +#endif +#ifndef PERL_MAGIC_sv +# define PERL_MAGIC_sv '\0' #endif -#ifndef PTR2UV -# define PTR2UV(p) INT2PTR(UV,p) +#ifndef PERL_MAGIC_overload +# define PERL_MAGIC_overload 'A' #endif -#ifndef PTR2NV -# define PTR2NV(p) NUM2PTR(NV,p) +#ifndef PERL_MAGIC_overload_elem +# define PERL_MAGIC_overload_elem 'a' #endif -#undef START_EXTERN_C -#undef END_EXTERN_C -#undef EXTERN_C -#ifdef __cplusplus -# define START_EXTERN_C extern "C" { -# define END_EXTERN_C } -# define EXTERN_C extern "C" -#else -# define START_EXTERN_C -# define END_EXTERN_C -# define EXTERN_C extern +#ifndef PERL_MAGIC_overload_table +# define PERL_MAGIC_overload_table 'c' #endif -#if defined(PERL_GCC_PEDANTIC) -# ifndef PERL_GCC_BRACE_GROUPS_FORBIDDEN -# define PERL_GCC_BRACE_GROUPS_FORBIDDEN -# endif +#ifndef PERL_MAGIC_bm +# define PERL_MAGIC_bm 'B' #endif -#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) && !defined(__cplusplus) -# ifndef PERL_USE_GCC_BRACE_GROUPS -# define PERL_USE_GCC_BRACE_GROUPS -# endif +#ifndef PERL_MAGIC_regdata +# define PERL_MAGIC_regdata 'D' #endif -#undef STMT_START -#undef STMT_END -#ifdef PERL_USE_GCC_BRACE_GROUPS -# define STMT_START (void)( /* gcc supports ``({ STATEMENTS; })'' */ -# define STMT_END ) -#else -# if defined(VOIDFLAGS) && (VOIDFLAGS) && (defined(sun) || defined(__sun__)) && !defined(__GNUC__) -# define STMT_START if (1) -# define STMT_END else (void)0 -# else -# define STMT_START do -# define STMT_END while (0) -# endif +#ifndef PERL_MAGIC_regdatum +# define PERL_MAGIC_regdatum 'd' #endif -#ifndef boolSV -# define boolSV(b) ((b) ? &PL_sv_yes : &PL_sv_no) + +#ifndef PERL_MAGIC_env +# define PERL_MAGIC_env 'E' #endif -/* DEFSV appears first in 5.004_56 */ -#ifndef DEFSV -# define DEFSV GvSV(PL_defgv) +#ifndef PERL_MAGIC_envelem +# define PERL_MAGIC_envelem 'e' #endif -#ifndef SAVE_DEFSV -# define SAVE_DEFSV SAVESPTR(GvSV(PL_defgv)) +#ifndef PERL_MAGIC_fm +# define PERL_MAGIC_fm 'f' #endif -#ifndef DEFSV_set -# define DEFSV_set(sv) (DEFSV = (sv)) +#ifndef PERL_MAGIC_regex_global +# define PERL_MAGIC_regex_global 'g' #endif -/* Older perls (<=5.003) lack AvFILLp */ -#ifndef AvFILLp -# define AvFILLp AvFILL +#ifndef PERL_MAGIC_isa +# define PERL_MAGIC_isa 'I' #endif -#ifndef av_tindex -# define av_tindex AvFILL + +#ifndef PERL_MAGIC_isaelem +# define PERL_MAGIC_isaelem 'i' #endif -#ifndef av_top_index -# define av_top_index AvFILL +#ifndef PERL_MAGIC_nkeys +# define PERL_MAGIC_nkeys 'k' #endif -#ifndef ERRSV -# define ERRSV get_sv("@",FALSE) + +#ifndef PERL_MAGIC_dbfile +# define PERL_MAGIC_dbfile 'L' #endif -/* Hint: gv_stashpvn - * This function's backport doesn't support the length parameter, but - * rather ignores it. Portability can only be ensured if the length - * parameter is used for speed reasons, but the length can always be - * correctly computed from the string argument. - */ -#ifndef gv_stashpvn -# define gv_stashpvn(str,len,create) gv_stashpv(str,create) +#ifndef PERL_MAGIC_dbline +# define PERL_MAGIC_dbline 'l' #endif -/* Replace: 1 */ -#ifndef get_cv -# define get_cv perl_get_cv +#ifndef PERL_MAGIC_mutex +# define PERL_MAGIC_mutex 'm' #endif -#ifndef get_sv -# define get_sv perl_get_sv +#ifndef PERL_MAGIC_shared +# define PERL_MAGIC_shared 'N' #endif -#ifndef get_av -# define get_av perl_get_av +#ifndef PERL_MAGIC_shared_scalar +# define PERL_MAGIC_shared_scalar 'n' #endif -#ifndef get_hv -# define get_hv perl_get_hv +#ifndef PERL_MAGIC_collxfrm +# define PERL_MAGIC_collxfrm 'o' #endif -/* Replace: 0 */ -#ifndef dUNDERBAR -# define dUNDERBAR dNOOP +#ifndef PERL_MAGIC_tied +# define PERL_MAGIC_tied 'P' #endif -#ifndef UNDERBAR -# define UNDERBAR DEFSV +#ifndef PERL_MAGIC_tiedelem +# define PERL_MAGIC_tiedelem 'p' #endif -#ifndef dAX -# define dAX I32 ax = MARK - PL_stack_base + 1 + +#ifndef PERL_MAGIC_tiedscalar +# define PERL_MAGIC_tiedscalar 'q' #endif -#ifndef dITEMS -# define dITEMS I32 items = SP - MARK +#ifndef PERL_MAGIC_qr +# define PERL_MAGIC_qr 'r' #endif -#ifndef dXSTARG -# define dXSTARG SV * targ = sv_newmortal() + +#ifndef PERL_MAGIC_sig +# define PERL_MAGIC_sig 'S' #endif -#ifndef dAXMARK -# define dAXMARK I32 ax = POPMARK; \ - register SV ** const mark = PL_stack_base + ax++ + +#ifndef PERL_MAGIC_sigelem +# define PERL_MAGIC_sigelem 's' #endif -#ifndef XSprePUSH -# define XSprePUSH (sp = PL_stack_base + ax - 1) + +#ifndef PERL_MAGIC_taint +# define PERL_MAGIC_taint 't' #endif -#if (PERL_BCDVERSION < 0x5005000) -# undef XSRETURN -# define XSRETURN(off) \ - STMT_START { \ - PL_stack_sp = PL_stack_base + ax + ((off) - 1); \ - return; \ - } STMT_END +#ifndef PERL_MAGIC_uvar +# define PERL_MAGIC_uvar 'U' #endif -#ifndef XSPROTO -# define XSPROTO(name) void name(pTHX_ CV* cv) + +#ifndef PERL_MAGIC_uvar_elem +# define PERL_MAGIC_uvar_elem 'u' #endif -#ifndef SVfARG -# define SVfARG(p) ((void*)(p)) +#ifndef PERL_MAGIC_vstring +# define PERL_MAGIC_vstring 'V' #endif -#ifndef PERL_ABS -# define PERL_ABS(x) ((x) < 0 ? -(x) : (x)) + +#ifndef PERL_MAGIC_vec +# define PERL_MAGIC_vec 'v' #endif -#ifndef dVAR -# define dVAR dNOOP + +#ifndef PERL_MAGIC_utf8 +# define PERL_MAGIC_utf8 'w' #endif -#ifndef SVf -# define SVf "_" + +#ifndef PERL_MAGIC_substr +# define PERL_MAGIC_substr 'x' #endif -#ifndef UTF8_MAXBYTES -# define UTF8_MAXBYTES UTF8_MAXLEN + +#ifndef PERL_MAGIC_defelem +# define PERL_MAGIC_defelem 'y' #endif -#ifndef CPERLscope -# define CPERLscope(x) x + +#ifndef PERL_MAGIC_glob +# define PERL_MAGIC_glob '*' #endif -#ifndef PERL_HASH -# define PERL_HASH(hash,str,len) \ - STMT_START { \ - const char *s_PeRlHaSh = str; \ - I32 i_PeRlHaSh = len; \ - U32 hash_PeRlHaSh = 0; \ - while (i_PeRlHaSh--) \ - hash_PeRlHaSh = hash_PeRlHaSh * 33 + *s_PeRlHaSh++; \ - (hash) = hash_PeRlHaSh; \ - } STMT_END + +#ifndef PERL_MAGIC_arylen +# define PERL_MAGIC_arylen '#' #endif -#ifndef PERLIO_FUNCS_DECL -# ifdef PERLIO_FUNCS_CONST -# define PERLIO_FUNCS_DECL(funcs) const PerlIO_funcs funcs -# define PERLIO_FUNCS_CAST(funcs) (PerlIO_funcs*)(funcs) -# else -# define PERLIO_FUNCS_DECL(funcs) PerlIO_funcs funcs -# define PERLIO_FUNCS_CAST(funcs) (funcs) -# endif -#endif - -/* provide these typedefs for older perls */ -#if (PERL_BCDVERSION < 0x5009003) - -# ifdef ARGSproto -typedef OP* (CPERLscope(*Perl_ppaddr_t))(ARGSproto); -# else -typedef OP* (CPERLscope(*Perl_ppaddr_t))(pTHX); -# endif - -typedef OP* (CPERLscope(*Perl_check_t)) (pTHX_ OP*); - +#ifndef PERL_MAGIC_pos +# define PERL_MAGIC_pos '.' #endif -#ifndef WIDEST_UTYPE -# ifdef QUADKIND -# ifdef U64TYPE -# define WIDEST_UTYPE U64TYPE -# else -# define WIDEST_UTYPE Quad_t -# endif -# else -# define WIDEST_UTYPE U32 -# endif +#ifndef PERL_MAGIC_backref +# define PERL_MAGIC_backref '<' #endif -#ifdef EBCDIC - -/* This is the first version where these macros are fully correct. Relying on - * the C library functions, as earlier releases did, causes problems with - * locales */ -# if (PERL_BCDVERSION < 0x5022000) -# undef isALNUM -# undef isALNUM_A -# undef isALNUMC -# undef isALNUMC_A -# undef isALPHA -# undef isALPHA_A -# undef isALPHANUMERIC -# undef isALPHANUMERIC_A -# undef isASCII -# undef isASCII_A -# undef isBLANK -# undef isBLANK_A -# undef isCNTRL -# undef isCNTRL_A -# undef isDIGIT -# undef isDIGIT_A -# undef isGRAPH -# undef isGRAPH_A -# undef isIDCONT -# undef isIDCONT_A -# undef isIDFIRST -# undef isIDFIRST_A -# undef isLOWER -# undef isLOWER_A -# undef isOCTAL -# undef isOCTAL_A -# undef isPRINT -# undef isPRINT_A -# undef isPSXSPC -# undef isPSXSPC_A -# undef isPUNCT -# undef isPUNCT_A -# undef isSPACE -# undef isSPACE_A -# undef isUPPER -# undef isUPPER_A -# undef isWORDCHAR -# undef isWORDCHAR_A -# undef isXDIGIT -# undef isXDIGIT_A -# endif -#ifndef isASCII -# define isASCII(c) (isCNTRL(c) || isPRINT(c)) +#ifndef PERL_MAGIC_ext +# define PERL_MAGIC_ext '~' #endif - - /* The below is accurate for all EBCDIC code pages supported by - * all the versions of Perl overridden by this */ -#ifndef isCNTRL -# define isCNTRL(c) ( (c) == '\0' || (c) == '\a' || (c) == '\b' \ - || (c) == '\f' || (c) == '\n' || (c) == '\r' \ - || (c) == '\t' || (c) == '\v' \ - || ((c) <= 3 && (c) >= 1) /* SOH, STX, ETX */ \ - || (c) == 7 /* U+7F DEL */ \ - || ((c) <= 0x13 && (c) >= 0x0E) /* SO, SI */ \ - /* DLE, DC[1-3] */ \ - || (c) == 0x18 /* U+18 CAN */ \ - || (c) == 0x19 /* U+19 EOM */ \ - || ((c) <= 0x1F && (c) >= 0x1C) /* [FGRU]S */ \ - || (c) == 0x26 /* U+17 ETB */ \ - || (c) == 0x27 /* U+1B ESC */ \ - || (c) == 0x2D /* U+05 ENQ */ \ - || (c) == 0x2E /* U+06 ACK */ \ - || (c) == 0x32 /* U+16 SYN */ \ - || (c) == 0x37 /* U+04 EOT */ \ - || (c) == 0x3C /* U+14 DC4 */ \ - || (c) == 0x3D /* U+15 NAK */ \ - || (c) == 0x3F /* U+1A SUB */ \ - ) +#ifndef cBOOL +# define cBOOL(cbool) ((cbool) ? (bool)1 : (bool)0) #endif -/* The ordering of the tests in this and isUPPER are to exclude most characters - * early */ -#ifndef isLOWER -# define isLOWER(c) ( (c) >= 'a' && (c) <= 'z' \ - && ( (c) <= 'i' \ - || ((c) >= 'j' && (c) <= 'r') \ - || (c) >= 's')) +#ifndef OpHAS_SIBLING +# define OpHAS_SIBLING(o) (cBOOL((o)->op_sibling)) #endif -#ifndef isUPPER -# define isUPPER(c) ( (c) >= 'A' && (c) <= 'Z' \ - && ( (c) <= 'I' \ - || ((c) >= 'J' && (c) <= 'R') \ - || (c) >= 'S')) +#ifndef OpSIBLING +# define OpSIBLING(o) (0 + (o)->op_sibling) #endif -#else /* Above is EBCDIC; below is ASCII */ - -# if (PERL_BCDVERSION < 0x5004000) -/* The implementation of these in older perl versions can give wrong results if - * the C program locale is set to other than the C locale */ -# undef isALNUM -# undef isALNUM_A -# undef isALPHA -# undef isALPHA_A -# undef isDIGIT -# undef isDIGIT_A -# undef isIDFIRST -# undef isIDFIRST_A -# undef isLOWER -# undef isLOWER_A -# undef isUPPER -# undef isUPPER_A -# endif - -# if (PERL_BCDVERSION < 0x5008000) -/* Hint: isCNTRL - * Earlier perls omitted DEL */ -# undef isCNTRL -# endif - -# if (PERL_BCDVERSION < 0x5010000) -/* Hint: isPRINT - * The implementation in older perl versions includes all of the - * isSPACE() characters, which is wrong. The version provided by - * Devel::PPPort always overrides a present buggy version. - */ -# undef isPRINT -# undef isPRINT_A -# endif - -# if (PERL_BCDVERSION < 0x5014000) -/* Hint: isASCII - * The implementation in older perl versions always returned true if the - * parameter was a signed char - */ -# undef isASCII -# undef isASCII_A -# endif - -# if (PERL_BCDVERSION < 0x5020000) -/* Hint: isSPACE - * The implementation in older perl versions didn't include \v */ -# undef isSPACE -# undef isSPACE_A -# endif -#ifndef isASCII -# define isASCII(c) ((WIDEST_UTYPE) (c) <= 127) +#ifndef OpMORESIB_set +# define OpMORESIB_set(o, sib) ((o)->op_sibling = (sib)) #endif -#ifndef isCNTRL -# define isCNTRL(c) ((WIDEST_UTYPE) (c) < ' ' || (c) == 127) +#ifndef OpLASTSIB_set +# define OpLASTSIB_set(o, parent) ((o)->op_sibling = NULL) #endif -#ifndef isLOWER -# define isLOWER(c) ((c) >= 'a' && (c) <= 'z') +#ifndef OpMAYBESIB_set +# define OpMAYBESIB_set(o, sib, parent) ((o)->op_sibling = (sib)) #endif -#ifndef isUPPER -# define isUPPER(c) ((c) <= 'Z' && (c) >= 'A') +#ifndef HEf_SVKEY +# define HEf_SVKEY -2 #endif -#endif /* Below are definitions common to EBCDIC and ASCII */ -#ifndef isALNUM -# define isALNUM(c) isWORDCHAR(c) +#if defined(DEBUGGING) && !defined(__COVERITY__) +#ifndef __ASSERT_ +# define __ASSERT_(statement) assert(statement), #endif -#ifndef isALNUMC -# define isALNUMC(c) isALPHANUMERIC(c) +#else +#ifndef __ASSERT_ +# define __ASSERT_(statement) #endif -#ifndef isALPHA -# define isALPHA(c) (isUPPER(c) || isLOWER(c)) #endif -#ifndef isALPHANUMERIC -# define isALPHANUMERIC(c) (isALPHA(c) || isDIGIT(c)) +/* These could become provided if/when they become part of the public API */ +#ifndef withinCOUNT +# define withinCOUNT(c, l, n) \ + (((WIDEST_UTYPE) (((c)) - ((l) | 0))) <= (((WIDEST_UTYPE) ((n) | 0)))) +#endif + +#ifndef inRANGE +# define inRANGE(c, l, u) \ + ( (sizeof(c) == sizeof(U8)) ? withinCOUNT(((U8) (c)), (l), ((u) - (l))) \ + : (sizeof(c) == sizeof(U16)) ? withinCOUNT(((U16) (c)), (l), ((u) - (l))) \ + : (sizeof(c) == sizeof(U32)) ? withinCOUNT(((U32) (c)), (l), ((u) - (l))) \ + : (withinCOUNT(((WIDEST_UTYPE) (c)), (l), ((u) - (l))))) +#endif + +/* The '| 0' part ensures a compiler error if c is not integer (like e.g., a + * pointer) */ +#undef FITS_IN_8_BITS /* handy.h version uses a core-only constant */ +#ifndef FITS_IN_8_BITS +# define FITS_IN_8_BITS(c) ( (sizeof(c) == 1) \ + || !(((WIDEST_UTYPE)((c) | 0)) & ~0xFF)) +#endif + +/* Create the macro for "is'macro'_utf8_safe(s, e)". For code points below + * 256, it calls the equivalent _L1 macro by converting the UTF-8 to code + * point. That is so that it can automatically get the bug fixes done in this + * file. */ +#define D_PPP_IS_GENERIC_UTF8_SAFE(s, e, macro) \ + (((e) - (s)) <= 0 \ + ? 0 \ + : UTF8_IS_INVARIANT((s)[0]) \ + ? is ## macro ## _L1((s)[0]) \ + : (((e) - (s)) < UTF8SKIP(s)) \ + ? 0 \ + : UTF8_IS_DOWNGRADEABLE_START((s)[0]) \ + /* The cast in the line below is only to silence warnings */ \ + ? is ## macro ## _L1((WIDEST_UTYPE) LATIN1_TO_NATIVE( \ + UTF8_ACCUMULATE(NATIVE_UTF8_TO_I8((s)[0]) \ + & UTF_START_MASK(2), \ + (s)[1]))) \ + : is ## macro ## _utf8(s)) + +/* Create the macro for "is'macro'_LC_utf8_safe(s, e)". For code points below + * 256, it calls the equivalent _L1 macro by converting the UTF-8 to code + * point. That is so that it can automatically get the bug fixes done in this + * file. */ +#define D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, macro) \ + (((e) - (s)) <= 0 \ + ? 0 \ + : UTF8_IS_INVARIANT((s)[0]) \ + ? is ## macro ## _LC((s)[0]) \ + : (((e) - (s)) < UTF8SKIP(s)) \ + ? 0 \ + : UTF8_IS_DOWNGRADEABLE_START((s)[0]) \ + /* The cast in the line below is only to silence warnings */ \ + ? is ## macro ## _LC((WIDEST_UTYPE) LATIN1_TO_NATIVE( \ + UTF8_ACCUMULATE(NATIVE_UTF8_TO_I8((s)[0]) \ + & UTF_START_MASK(2), \ + (s)[1]))) \ + : is ## macro ## _utf8(s)) + +/* A few of the early functions are broken. For these and the non-LC case, + * machine generated code is substituted. But that code doesn't work for + * locales. This is just like the above macro, but at the end, we call the + * macro we've generated for the above 255 case, which is correct since locale + * isn't involved. This will generate extra code to handle the 0-255 inputs, + * but hopefully it will be optimized out by the C compiler. But just in case + * it isn't, this macro is only used on the few versions that are broken */ + +#define D_PPP_IS_GENERIC_LC_UTF8_SAFE_BROKEN(s, e, macro) \ + (((e) - (s)) <= 0 \ + ? 0 \ + : UTF8_IS_INVARIANT((s)[0]) \ + ? is ## macro ## _LC((s)[0]) \ + : (((e) - (s)) < UTF8SKIP(s)) \ + ? 0 \ + : UTF8_IS_DOWNGRADEABLE_START((s)[0]) \ + /* The cast in the line below is only to silence warnings */ \ + ? is ## macro ## _LC((WIDEST_UTYPE) LATIN1_TO_NATIVE( \ + UTF8_ACCUMULATE(NATIVE_UTF8_TO_I8((s)[0]) \ + & UTF_START_MASK(2), \ + (s)[1]))) \ + : is ## macro ## _utf8_safe(s, e)) +#ifndef SvRX +# define SvRX(rv) (SvROK((rv)) ? (SvMAGICAL(SvRV((rv))) ? (mg_find(SvRV((rv)), PERL_MAGIC_qr) ? mg_find(SvRV((rv)), PERL_MAGIC_qr)->mg_obj : NULL) : NULL) : NULL) #endif -#ifndef isBLANK -# define isBLANK(c) ((c) == ' ' || (c) == '\t') +#ifndef SvRXOK +# define SvRXOK(sv) (!!SvRX(sv)) #endif -#ifndef isDIGIT -# define isDIGIT(c) ((c) <= '9' && (c) >= '0') +#ifndef PERL_UNUSED_DECL +# ifdef HASATTRIBUTE +# if (defined(__GNUC__) && defined(__cplusplus)) || defined(__INTEL_COMPILER) +# define PERL_UNUSED_DECL +# else +# define PERL_UNUSED_DECL __attribute__((unused)) +# endif +# else +# define PERL_UNUSED_DECL +# endif #endif -#ifndef isGRAPH -# define isGRAPH(c) (isWORDCHAR(c) || isPUNCT(c)) +#ifndef PERL_UNUSED_ARG +# if defined(lint) && defined(S_SPLINT_S) /* www.splint.org */ +# include +# define PERL_UNUSED_ARG(x) NOTE(ARGUNUSED(x)) +# else +# define PERL_UNUSED_ARG(x) ((void)x) +# endif #endif -#ifndef isIDCONT -# define isIDCONT(c) isWORDCHAR(c) +#ifndef PERL_UNUSED_VAR +# define PERL_UNUSED_VAR(x) ((void)x) #endif -#ifndef isIDFIRST -# define isIDFIRST(c) (isALPHA(c) || (c) == '_') +#ifndef PERL_UNUSED_CONTEXT +# ifdef USE_ITHREADS +# define PERL_UNUSED_CONTEXT PERL_UNUSED_ARG(my_perl) +# else +# define PERL_UNUSED_CONTEXT +# endif #endif -#ifndef isOCTAL -# define isOCTAL(c) (((WIDEST_UTYPE)((c)) & ~7) == '0') +#ifndef PERL_UNUSED_RESULT +# if defined(__GNUC__) && defined(HASATTRIBUTE_WARN_UNUSED_RESULT) +# define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END +# else +# define PERL_UNUSED_RESULT(v) ((void)(v)) +# endif #endif - -#ifndef isPRINT -# define isPRINT(c) (isGRAPH(c) || (c) == ' ') +#ifndef NOOP +# define NOOP /*EMPTY*/(void)0 #endif -#ifndef isPSXSPC -# define isPSXSPC(c) isSPACE(c) +#ifndef dNOOP +# define dNOOP extern int /*@unused@*/ Perl___notused PERL_UNUSED_DECL #endif -#ifndef isPUNCT -# define isPUNCT(c) ( (c) == '-' || (c) == '!' || (c) == '"' \ - || (c) == '#' || (c) == '$' || (c) == '%' \ - || (c) == '&' || (c) == '\'' || (c) == '(' \ - || (c) == ')' || (c) == '*' || (c) == '+' \ - || (c) == ',' || (c) == '.' || (c) == '/' \ - || (c) == ':' || (c) == ';' || (c) == '<' \ - || (c) == '=' || (c) == '>' || (c) == '?' \ - || (c) == '@' || (c) == '[' || (c) == '\\' \ - || (c) == ']' || (c) == '^' || (c) == '_' \ - || (c) == '`' || (c) == '{' || (c) == '|' \ - || (c) == '}' || (c) == '~') +#ifndef NVTYPE +# if defined(USE_LONG_DOUBLE) && defined(HAS_LONG_DOUBLE) +# define NVTYPE long double +# else +# define NVTYPE double +# endif +typedef NVTYPE NV; #endif -#ifndef isSPACE -# define isSPACE(c) ( isBLANK(c) || (c) == '\n' || (c) == '\r' \ - || (c) == '\v' || (c) == '\f') -#endif - -#ifndef isWORDCHAR -# define isWORDCHAR(c) (isALPHANUMERIC(c) || (c) == '_') +#ifndef INT2PTR +# if (IVSIZE == PTRSIZE) && (UVSIZE == PTRSIZE) +# define PTRV UV +# define INT2PTR(any,d) (any)(d) +# else +# if PTRSIZE == LONGSIZE +# define PTRV unsigned long +# else +# define PTRV unsigned +# endif +# define INT2PTR(any,d) (any)(PTRV)(d) +# endif #endif -#ifndef isXDIGIT -# define isXDIGIT(c) ( isDIGIT(c) \ - || ((c) >= 'a' && (c) <= 'f') \ - || ((c) >= 'A' && (c) <= 'F')) +#ifndef PTR2ul +# if PTRSIZE == LONGSIZE +# define PTR2ul(p) (unsigned long)(p) +# else +# define PTR2ul(p) INT2PTR(unsigned long,p) +# endif #endif -#ifndef isALNUM_A -# define isALNUM_A isALNUM +#ifndef PTR2nat +# define PTR2nat(p) (PTRV)(p) #endif -#ifndef isALNUMC_A -# define isALNUMC_A isALNUMC +#ifndef NUM2PTR +# define NUM2PTR(any,d) (any)PTR2nat(d) #endif -#ifndef isALPHA_A -# define isALPHA_A isALPHA +#ifndef PTR2IV +# define PTR2IV(p) INT2PTR(IV,p) #endif -#ifndef isALPHANUMERIC_A -# define isALPHANUMERIC_A isALPHANUMERIC +#ifndef PTR2UV +# define PTR2UV(p) INT2PTR(UV,p) #endif -#ifndef isASCII_A -# define isASCII_A isASCII +#ifndef PTR2NV +# define PTR2NV(p) NUM2PTR(NV,p) #endif -#ifndef isBLANK_A -# define isBLANK_A isBLANK +#undef START_EXTERN_C +#undef END_EXTERN_C +#undef EXTERN_C +#ifdef __cplusplus +# define START_EXTERN_C extern "C" { +# define END_EXTERN_C } +# define EXTERN_C extern "C" +#else +# define START_EXTERN_C +# define END_EXTERN_C +# define EXTERN_C extern #endif -#ifndef isCNTRL_A -# define isCNTRL_A isCNTRL +#if (PERL_BCDVERSION < 0x5004000) || defined(PERL_GCC_PEDANTIC) +# ifndef PERL_GCC_BRACE_GROUPS_FORBIDDEN +#ifndef PERL_GCC_BRACE_GROUPS_FORBIDDEN +# define PERL_GCC_BRACE_GROUPS_FORBIDDEN #endif -#ifndef isDIGIT_A -# define isDIGIT_A isDIGIT +# endif #endif -#ifndef isGRAPH_A -# define isGRAPH_A isGRAPH +#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) && !defined(__cplusplus) +# ifndef PERL_USE_GCC_BRACE_GROUPS +# define PERL_USE_GCC_BRACE_GROUPS +# endif #endif -#ifndef isIDCONT_A -# define isIDCONT_A isIDCONT +#undef STMT_START +#undef STMT_END +#ifdef PERL_USE_GCC_BRACE_GROUPS +# define STMT_START (void)( /* gcc supports ``({ STATEMENTS; })'' */ +# define STMT_END ) +#else +# if defined(VOIDFLAGS) && (VOIDFLAGS) && (defined(sun) || defined(__sun__)) && !defined(__GNUC__) +# define STMT_START if (1) +# define STMT_END else (void)0 +# else +# define STMT_START do +# define STMT_END while (0) +# endif +#endif +#ifndef boolSV +# define boolSV(b) ((b) ? &PL_sv_yes : &PL_sv_no) #endif -#ifndef isIDFIRST_A -# define isIDFIRST_A isIDFIRST +/* DEFSV appears first in 5.004_56 */ +#ifndef DEFSV +# define DEFSV GvSV(PL_defgv) #endif -#ifndef isLOWER_A -# define isLOWER_A isLOWER +#ifndef SAVE_DEFSV +# define SAVE_DEFSV SAVESPTR(GvSV(PL_defgv)) #endif -#ifndef isOCTAL_A -# define isOCTAL_A isOCTAL +#ifndef DEFSV_set +# define DEFSV_set(sv) (DEFSV = (sv)) #endif -#ifndef isPRINT_A -# define isPRINT_A isPRINT +/* Older perls (<=5.003) lack AvFILLp */ +#ifndef AvFILLp +# define AvFILLp AvFILL +#endif +#ifndef av_tindex +# define av_tindex AvFILL #endif -#ifndef isPSXSPC_A -# define isPSXSPC_A isPSXSPC +#ifndef av_top_index +# define av_top_index AvFILL +#endif +#ifndef ERRSV +# define ERRSV get_sv("@",FALSE) #endif -#ifndef isPUNCT_A -# define isPUNCT_A isPUNCT +/* Hint: gv_stashpvn + * This function's backport doesn't support the length parameter, but + * rather ignores it. Portability can only be ensured if the length + * parameter is used for speed reasons, but the length can always be + * correctly computed from the string argument. + */ +#ifndef gv_stashpvn +# define gv_stashpvn(str,len,create) gv_stashpv(str,create) #endif -#ifndef isSPACE_A -# define isSPACE_A isSPACE +/* Replace: 1 */ +#ifndef get_cv +# define get_cv perl_get_cv #endif -#ifndef isUPPER_A -# define isUPPER_A isUPPER +#ifndef get_sv +# define get_sv perl_get_sv #endif -#ifndef isWORDCHAR_A -# define isWORDCHAR_A isWORDCHAR +#ifndef get_av +# define get_av perl_get_av #endif -#ifndef isXDIGIT_A -# define isXDIGIT_A isXDIGIT +#ifndef get_hv +# define get_hv perl_get_hv #endif -/* Until we figure out how to support this in older perls... */ -#if (PERL_BCDVERSION >= 0x5008000) -#ifndef HeUTF8 -# define HeUTF8(he) ((HeKLEN(he) == HEf_SVKEY) ? \ - SvUTF8(HeKEY_sv(he)) : \ - (U32)HeKUTF8(he)) +/* Replace: 0 */ +#ifndef dUNDERBAR +# define dUNDERBAR dNOOP #endif +#ifndef UNDERBAR +# define UNDERBAR DEFSV #endif -#ifndef C_ARRAY_LENGTH -# define C_ARRAY_LENGTH(a) (sizeof(a)/sizeof((a)[0])) +#ifndef dAX +# define dAX I32 ax = MARK - PL_stack_base + 1 #endif -#ifndef C_ARRAY_END -# define C_ARRAY_END(a) ((a) + C_ARRAY_LENGTH(a)) +#ifndef dITEMS +# define dITEMS I32 items = SP - MARK #endif -#ifndef LIKELY -# define LIKELY(x) (x) +#ifndef dXSTARG +# define dXSTARG SV * targ = sv_newmortal() +#endif +#ifndef dAXMARK +# define dAXMARK I32 ax = POPMARK; \ + register SV ** const mark = PL_stack_base + ax++ +#endif +#ifndef XSprePUSH +# define XSprePUSH (sp = PL_stack_base + ax - 1) #endif -#ifndef UNLIKELY -# define UNLIKELY(x) (x) +#if (PERL_BCDVERSION < 0x5005000) +# undef XSRETURN +# define XSRETURN(off) \ + STMT_START { \ + PL_stack_sp = PL_stack_base + ax + ((off) - 1); \ + return; \ + } STMT_END #endif -#ifndef UNICODE_REPLACEMENT -# define UNICODE_REPLACEMENT 0xFFFD +#ifndef XSPROTO +# define XSPROTO(name) void name(pTHX_ CV* cv) #endif -#ifndef MUTABLE_PTR -#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) -# define MUTABLE_PTR(p) ({ void *_p = (p); _p; }) -#else -# define MUTABLE_PTR(p) ((void *) (p)) +#ifndef SVfARG +# define SVfARG(p) ((void*)(p)) #endif +#ifndef PERL_ABS +# define PERL_ABS(x) ((x) < 0 ? -(x) : (x)) #endif -#ifndef MUTABLE_SV -# define MUTABLE_SV(p) ((SV *)MUTABLE_PTR(p)) +#ifndef dVAR +# define dVAR dNOOP #endif -#ifndef WARN_ALL -# define WARN_ALL 0 +#ifndef SVf +# define SVf "_" #endif - -#ifndef WARN_CLOSURE -# define WARN_CLOSURE 1 +#ifndef CPERLscope +# define CPERLscope(x) x #endif - -#ifndef WARN_DEPRECATED -# define WARN_DEPRECATED 2 +#ifndef PERL_HASH +# define PERL_HASH(hash,str,len) \ + STMT_START { \ + const char *s_PeRlHaSh = str; \ + I32 i_PeRlHaSh = len; \ + U32 hash_PeRlHaSh = 0; \ + while (i_PeRlHaSh--) \ + hash_PeRlHaSh = hash_PeRlHaSh * 33 + *s_PeRlHaSh++; \ + (hash) = hash_PeRlHaSh; \ + } STMT_END #endif -#ifndef WARN_EXITING -# define WARN_EXITING 3 +#ifndef PERLIO_FUNCS_DECL +# ifdef PERLIO_FUNCS_CONST +# define PERLIO_FUNCS_DECL(funcs) const PerlIO_funcs funcs +# define PERLIO_FUNCS_CAST(funcs) (PerlIO_funcs*)(funcs) +# else +# define PERLIO_FUNCS_DECL(funcs) PerlIO_funcs funcs +# define PERLIO_FUNCS_CAST(funcs) (funcs) +# endif #endif -#ifndef WARN_GLOB -# define WARN_GLOB 4 -#endif +/* provide these typedefs for older perls */ +#if (PERL_BCDVERSION < 0x5009003) + +# ifdef ARGSproto +typedef OP* (CPERLscope(*Perl_ppaddr_t))(ARGSproto); +# else +typedef OP* (CPERLscope(*Perl_ppaddr_t))(pTHX); +# endif + +typedef OP* (CPERLscope(*Perl_check_t)) (pTHX_ OP*); -#ifndef WARN_IO -# define WARN_IO 5 #endif -#ifndef WARN_CLOSED -# define WARN_CLOSED 6 +#ifndef WIDEST_UTYPE +# ifdef QUADKIND +# ifdef U64TYPE +# define WIDEST_UTYPE U64TYPE +# else +# define WIDEST_UTYPE Quad_t +# endif +# else +# define WIDEST_UTYPE U32 +# endif #endif -#ifndef WARN_EXEC -# define WARN_EXEC 7 +/* On versions without NATIVE_TO_ASCII, only ASCII is supported */ +#if defined(EBCDIC) && defined(NATIVE_TO_ASCI) +#ifndef NATIVE_TO_LATIN1 +# define NATIVE_TO_LATIN1(c) NATIVE_TO_ASCII(c) #endif -#ifndef WARN_LAYER -# define WARN_LAYER 8 +#ifndef LATIN1_TO_NATIVE +# define LATIN1_TO_NATIVE(c) ASCII_TO_NATIVE(c) #endif -#ifndef WARN_NEWLINE -# define WARN_NEWLINE 9 +#ifndef NATIVE_TO_UNI +# define NATIVE_TO_UNI(c) ((c) > 255 ? (c) : NATIVE_TO_LATIN1(c)) #endif -#ifndef WARN_PIPE -# define WARN_PIPE 10 +#ifndef UNI_TO_NATIVE +# define UNI_TO_NATIVE(c) ((c) > 255 ? (c) : LATIN1_TO_NATIVE(c)) #endif -#ifndef WARN_UNOPENED -# define WARN_UNOPENED 11 +#else +#ifndef NATIVE_TO_LATIN1 +# define NATIVE_TO_LATIN1(c) (c) #endif -#ifndef WARN_MISC -# define WARN_MISC 12 +#ifndef LATIN1_TO_NATIVE +# define LATIN1_TO_NATIVE(c) (c) #endif -#ifndef WARN_NUMERIC -# define WARN_NUMERIC 13 +#ifndef NATIVE_TO_UNI +# define NATIVE_TO_UNI(c) (c) #endif -#ifndef WARN_ONCE -# define WARN_ONCE 14 +#ifndef UNI_TO_NATIVE +# define UNI_TO_NATIVE(c) (c) #endif -#ifndef WARN_OVERFLOW -# define WARN_OVERFLOW 15 #endif -#ifndef WARN_PACK -# define WARN_PACK 16 -#endif +/* Warning: LATIN1_TO_NATIVE, NATIVE_TO_LATIN1 NATIVE_TO_UNI UNI_TO_NATIVE + EBCDIC is not supported on versions earlier than 5.7.1 + */ -#ifndef WARN_PORTABLE -# define WARN_PORTABLE 17 -#endif +/* The meaning of this changed; use the modern version */ +#undef isPSXSPC +#undef isPSXSPC_A +#undef isPSXSPC_L1 -#ifndef WARN_RECURSION -# define WARN_RECURSION 18 +/* Hint: isPSXSPC, isPSXSPC_A, isPSXSPC_L1, isPSXSPC_utf8_safe + This is equivalent to the corresponding isSPACE-type macro. On perls + before 5.18, this matched a vertical tab and SPACE didn't. But the + ppport.h SPACE version does match VT in all perl releases. Since VT's are + extremely rarely found in real-life files, this difference effectively + doesn't matter */ + +/* Hint: isSPACE, isSPACE_A, isSPACE_L1, isSPACE_utf8_safe + Until Perl 5.18, this did not match the vertical tab (VT). The ppport.h + version does match it in all perl releases. Since VT's are extremely rarely + found in real-life files, this difference effectively doesn't matter */ + +#ifdef EBCDIC + +/* This is the first version where these macros are fully correct on EBCDIC + * platforms. Relying on * the C library functions, as earlier releases did, + * causes problems with * locales */ +# if (PERL_BCDVERSION < 0x5022000) +# undef isALNUM +# undef isALNUM_A +# undef isALNUM_L1 +# undef isALNUMC +# undef isALNUMC_A +# undef isALNUMC_L1 +# undef isALPHA +# undef isALPHA_A +# undef isALPHA_L1 +# undef isALPHANUMERIC +# undef isALPHANUMERIC_A +# undef isALPHANUMERIC_L1 +# undef isASCII +# undef isASCII_A +# undef isASCII_L1 +# undef isBLANK +# undef isBLANK_A +# undef isBLANK_L1 +# undef isCNTRL +# undef isCNTRL_A +# undef isCNTRL_L1 +# undef isDIGIT +# undef isDIGIT_A +# undef isDIGIT_L1 +# undef isGRAPH +# undef isGRAPH_A +# undef isGRAPH_L1 +# undef isIDCONT +# undef isIDCONT_A +# undef isIDCONT_L1 +# undef isIDFIRST +# undef isIDFIRST_A +# undef isIDFIRST_L1 +# undef isLOWER +# undef isLOWER_A +# undef isLOWER_L1 +# undef isOCTAL +# undef isOCTAL_A +# undef isOCTAL_L1 +# undef isPRINT +# undef isPRINT_A +# undef isPRINT_L1 +# undef isPUNCT +# undef isPUNCT_A +# undef isPUNCT_L1 +# undef isSPACE +# undef isSPACE_A +# undef isSPACE_L1 +# undef isUPPER +# undef isUPPER_A +# undef isUPPER_L1 +# undef isWORDCHAR +# undef isWORDCHAR_A +# undef isWORDCHAR_L1 +# undef isXDIGIT +# undef isXDIGIT_A +# undef isXDIGIT_L1 +# endif +#ifndef isASCII +# define isASCII(c) (isCNTRL(c) || isPRINT(c)) #endif -#ifndef WARN_REDEFINE -# define WARN_REDEFINE 19 + /* The below is accurate for all EBCDIC code pages supported by + * all the versions of Perl overridden by this */ +#ifndef isCNTRL +# define isCNTRL(c) ( (c) == '\0' || (c) == '\a' || (c) == '\b' \ + || (c) == '\f' || (c) == '\n' || (c) == '\r' \ + || (c) == '\t' || (c) == '\v' \ + || ((c) <= 3 && (c) >= 1) /* SOH, STX, ETX */ \ + || (c) == 7 /* U+7F DEL */ \ + || ((c) <= 0x13 && (c) >= 0x0E) /* SO, SI */ \ + /* DLE, DC[1-3] */ \ + || (c) == 0x18 /* U+18 CAN */ \ + || (c) == 0x19 /* U+19 EOM */ \ + || ((c) <= 0x1F && (c) >= 0x1C) /* [FGRU]S */ \ + || (c) == 0x26 /* U+17 ETB */ \ + || (c) == 0x27 /* U+1B ESC */ \ + || (c) == 0x2D /* U+05 ENQ */ \ + || (c) == 0x2E /* U+06 ACK */ \ + || (c) == 0x32 /* U+16 SYN */ \ + || (c) == 0x37 /* U+04 EOT */ \ + || (c) == 0x3C /* U+14 DC4 */ \ + || (c) == 0x3D /* U+15 NAK */ \ + || (c) == 0x3F /* U+1A SUB */ \ + ) #endif -#ifndef WARN_REGEXP -# define WARN_REGEXP 20 +#if '^' == 106 /* EBCDIC POSIX-BC */ +# define D_PPP_OUTLIER_CONTROL 0x5F +#else /* EBCDIC 1047 037 */ +# define D_PPP_OUTLIER_CONTROL 0xFF #endif -#ifndef WARN_SEVERE -# define WARN_SEVERE 21 +/* The controls are everything below blank, plus one outlier */ +#ifndef isCNTRL_L1 +# define isCNTRL_L1(c) ((WIDEST_UTYPE) (c) < ' ' \ + || (WIDEST_UTYPE) (c) == D_PPP_OUTLIER_CONTROL) #endif -#ifndef WARN_DEBUGGING -# define WARN_DEBUGGING 22 +/* The ordering of the tests in this and isUPPER are to exclude most characters + * early */ +#ifndef isLOWER +# define isLOWER(c) ( (c) >= 'a' && (c) <= 'z' \ + && ( (c) <= 'i' \ + || ((c) >= 'j' && (c) <= 'r') \ + || (c) >= 's')) #endif -#ifndef WARN_INPLACE -# define WARN_INPLACE 23 +#ifndef isUPPER +# define isUPPER(c) ( (c) >= 'A' && (c) <= 'Z' \ + && ( (c) <= 'I' \ + || ((c) >= 'J' && (c) <= 'R') \ + || (c) >= 'S')) #endif -#ifndef WARN_INTERNAL -# define WARN_INTERNAL 24 +#else /* Above is EBCDIC; below is ASCII */ + +# if (PERL_BCDVERSION < 0x5004000) +/* The implementation of these in older perl versions can give wrong results if + * the C program locale is set to other than the C locale */ +# undef isALNUM +# undef isALNUM_A +# undef isALPHA +# undef isALPHA_A +# undef isDIGIT +# undef isDIGIT_A +# undef isIDFIRST +# undef isIDFIRST_A +# undef isLOWER +# undef isLOWER_A +# undef isUPPER +# undef isUPPER_A +# endif + +# if (PERL_BCDVERSION == 0x5007000) /* this perl made space GRAPH */ +# undef isGRAPH +# endif + +# if (PERL_BCDVERSION < 0x5008000) /* earlier perls omitted DEL */ +# undef isCNTRL +# endif + +# if (PERL_BCDVERSION < 0x5010000) +/* earlier perls included all of the isSPACE() characters, which is wrong. The + * version provided by Devel::PPPort always overrides an existing buggy + * version. */ +# undef isPRINT +# undef isPRINT_A +# endif + +# if (PERL_BCDVERSION < 0x5014000) +/* earlier perls always returned true if the parameter was a signed char */ +# undef isASCII +# undef isASCII_A +# endif + +# if (PERL_BCDVERSION < 0x5017008) /* earlier perls didn't include PILCROW, SECTION SIGN */ +# undef isPUNCT_L1 +# endif + +# if (PERL_BCDVERSION < 0x5013007) /* khw didn't investigate why this failed */ +# undef isALNUMC_L1 #endif -#ifndef WARN_MALLOC -# define WARN_MALLOC 25 +# if (PERL_BCDVERSION < 0x5020000) /* earlier perls didn't include \v */ +# undef isSPACE +# undef isSPACE_A +# undef isSPACE_L1 + +# endif +#ifndef isASCII +# define isASCII(c) ((WIDEST_UTYPE) (c) <= 127) #endif -#ifndef WARN_SIGNAL -# define WARN_SIGNAL 26 +#ifndef isCNTRL +# define isCNTRL(c) ((WIDEST_UTYPE) (c) < ' ' || (c) == 127) #endif -#ifndef WARN_SUBSTR -# define WARN_SUBSTR 27 +#ifndef isCNTRL_L1 +# define isCNTRL_L1(c) (isCNTRL(c) || ( (WIDEST_UTYPE) (c) <= 0x9F \ + && (WIDEST_UTYPE) (c) >= 0x80)) #endif -#ifndef WARN_SYNTAX -# define WARN_SYNTAX 28 +#ifndef isLOWER +# define isLOWER(c) ((c) >= 'a' && (c) <= 'z') #endif -#ifndef WARN_AMBIGUOUS -# define WARN_AMBIGUOUS 29 +#ifndef isUPPER +# define isUPPER(c) ((c) <= 'Z' && (c) >= 'A') #endif -#ifndef WARN_BAREWORD -# define WARN_BAREWORD 30 +#endif /* Below are definitions common to EBCDIC and ASCII */ +#ifndef isASCII_L1 +# define isASCII_L1(c) isASCII(c) #endif -#ifndef WARN_DIGIT -# define WARN_DIGIT 31 +#ifndef isASCII_LC +# define isASCII_LC(c) isASCII(c) #endif -#ifndef WARN_PARENTHESIS -# define WARN_PARENTHESIS 32 +#ifndef isALNUM +# define isALNUM(c) isWORDCHAR(c) #endif -#ifndef WARN_PRECEDENCE -# define WARN_PRECEDENCE 33 +#ifndef isALNUMC +# define isALNUMC(c) isALPHANUMERIC(c) #endif -#ifndef WARN_PRINTF -# define WARN_PRINTF 34 +#ifndef isALNUMC_L1 +# define isALNUMC_L1(c) isALPHANUMERIC_L1(c) #endif -#ifndef WARN_PROTOTYPE -# define WARN_PROTOTYPE 35 +#ifndef isALPHA +# define isALPHA(c) (isUPPER(c) || isLOWER(c)) #endif -#ifndef WARN_QW -# define WARN_QW 36 +#ifndef isALPHA_L1 +# define isALPHA_L1(c) (isUPPER_L1(c) || isLOWER_L1(c)) #endif -#ifndef WARN_RESERVED -# define WARN_RESERVED 37 +#ifndef isALPHANUMERIC +# define isALPHANUMERIC(c) (isALPHA(c) || isDIGIT(c)) #endif -#ifndef WARN_SEMICOLON -# define WARN_SEMICOLON 38 +#ifndef isALPHANUMERIC_L1 +# define isALPHANUMERIC_L1(c) (isALPHA_L1(c) || isDIGIT(c)) #endif -#ifndef WARN_TAINT -# define WARN_TAINT 39 +#ifndef isALPHANUMERIC_LC +# define isALPHANUMERIC_LC(c) (isALPHA_LC(c) || isDIGIT_LC(c)) #endif -#ifndef WARN_THREADS -# define WARN_THREADS 40 +#ifndef isBLANK +# define isBLANK(c) ((c) == ' ' || (c) == '\t') #endif -#ifndef WARN_UNINITIALIZED -# define WARN_UNINITIALIZED 41 +#ifndef isBLANK_L1 +# define isBLANK_L1(c) ( isBLANK(c) \ + || ( FITS_IN_8_BITS(c) \ + && NATIVE_TO_LATIN1((U8) c) == 0xA0)) #endif -#ifndef WARN_UNPACK -# define WARN_UNPACK 42 +#ifndef isBLANK_LC +# define isBLANK_LC(c) isBLANK(c) #endif -#ifndef WARN_UNTIE -# define WARN_UNTIE 43 +#ifndef isDIGIT +# define isDIGIT(c) inRANGE(c, '0', '9') #endif -#ifndef WARN_UTF8 -# define WARN_UTF8 44 +#ifndef isDIGIT_L1 +# define isDIGIT_L1(c) isDIGIT(c) #endif -#ifndef WARN_VOID -# define WARN_VOID 45 +#ifndef isGRAPH +# define isGRAPH(c) (isWORDCHAR(c) || isPUNCT(c)) #endif -#ifndef WARN_ASSERTIONS -# define WARN_ASSERTIONS 46 +#ifndef isGRAPH_L1 +# define isGRAPH_L1(c) ( isPRINT_L1(c) \ + && (c) != ' ' \ + && NATIVE_TO_LATIN1((U8) c) != 0xA0) #endif -#ifndef packWARN -# define packWARN(a) (a) + +#ifndef isIDCONT +# define isIDCONT(c) isWORDCHAR(c) #endif -#ifndef ckWARN -# ifdef G_WARN_ON -# define ckWARN(a) (PL_dowarn & G_WARN_ON) -# else -# define ckWARN(a) PL_dowarn -# endif +#ifndef isIDCONT_L1 +# define isIDCONT_L1(c) isWORDCHAR_L1(c) #endif -#if (PERL_BCDVERSION >= 0x5004000) && !defined(warner) -#if defined(NEED_warner) -static void DPPP_(my_warner)(U32 err, const char *pat, ...); -static -#else -extern void DPPP_(my_warner)(U32 err, const char *pat, ...); +#ifndef isIDCONT_LC +# define isIDCONT_LC(c) isWORDCHAR_LC(c) #endif -#if defined(NEED_warner) || defined(NEED_warner_GLOBAL) +#ifndef isIDFIRST +# define isIDFIRST(c) (isALPHA(c) || (c) == '_') +#endif -#define Perl_warner DPPP_(my_warner) +#ifndef isIDFIRST_L1 +# define isIDFIRST_L1(c) (isALPHA_L1(c) || (U8) (c) == '_') +#endif +#ifndef isIDFIRST_LC +# define isIDFIRST_LC(c) (isALPHA_LC(c) || (U8) (c) == '_') +#endif -void -DPPP_(my_warner)(U32 err, const char *pat, ...) -{ - SV *sv; - va_list args; +#ifndef isLOWER_L1 +# define isLOWER_L1(c) ( isLOWER(c) \ + || ( FITS_IN_8_BITS(c) \ + && ( ( NATIVE_TO_LATIN1((U8) c) >= 0xDF \ + && NATIVE_TO_LATIN1((U8) c) != 0xF7) \ + || NATIVE_TO_LATIN1((U8) c) == 0xAA \ + || NATIVE_TO_LATIN1((U8) c) == 0xBA \ + || NATIVE_TO_LATIN1((U8) c) == 0xB5))) +#endif - PERL_UNUSED_ARG(err); +#ifndef isOCTAL +# define isOCTAL(c) (((WIDEST_UTYPE)((c)) & ~7) == '0') +#endif - va_start(args, pat); - sv = vnewSVpvf(pat, &args); - va_end(args); - sv_2mortal(sv); - warn("%s", SvPV_nolen(sv)); -} +#ifndef isOCTAL_L1 +# define isOCTAL_L1(c) isOCTAL(c) +#endif -#define warner Perl_warner +#ifndef isPRINT +# define isPRINT(c) (isGRAPH(c) || (c) == ' ') +#endif -#define Perl_warner_nocontext Perl_warner +#ifndef isPRINT_L1 +# define isPRINT_L1(c) (FITS_IN_8_BITS(c) && ! isCNTRL_L1(c)) +#endif +#ifndef isPSXSPC +# define isPSXSPC(c) isSPACE(c) #endif + +#ifndef isPSXSPC_L1 +# define isPSXSPC_L1(c) isSPACE_L1(c) #endif -#define _ppport_MIN(a,b) (((a) <= (b)) ? (a) : (b)) -#ifndef sv_setuv -# define sv_setuv(sv, uv) \ - STMT_START { \ - UV TeMpUv = uv; \ - if (TeMpUv <= IV_MAX) \ - sv_setiv(sv, TeMpUv); \ - else \ - sv_setnv(sv, (double)TeMpUv); \ - } STMT_END +#ifndef isPUNCT +# define isPUNCT(c) ( (c) == '-' || (c) == '!' || (c) == '"' \ + || (c) == '#' || (c) == '$' || (c) == '%' \ + || (c) == '&' || (c) == '\'' || (c) == '(' \ + || (c) == ')' || (c) == '*' || (c) == '+' \ + || (c) == ',' || (c) == '.' || (c) == '/' \ + || (c) == ':' || (c) == ';' || (c) == '<' \ + || (c) == '=' || (c) == '>' || (c) == '?' \ + || (c) == '@' || (c) == '[' || (c) == '\\' \ + || (c) == ']' || (c) == '^' || (c) == '_' \ + || (c) == '`' || (c) == '{' || (c) == '|' \ + || (c) == '}' || (c) == '~') #endif -#ifndef newSVuv -# define newSVuv(uv) ((uv) <= IV_MAX ? newSViv((IV)uv) : newSVnv((NV)uv)) + +#ifndef isPUNCT_L1 +# define isPUNCT_L1(c) ( isPUNCT(c) \ + || ( FITS_IN_8_BITS(c) \ + && ( NATIVE_TO_LATIN1((U8) c) == 0xA1 \ + || NATIVE_TO_LATIN1((U8) c) == 0xA7 \ + || NATIVE_TO_LATIN1((U8) c) == 0xAB \ + || NATIVE_TO_LATIN1((U8) c) == 0xB6 \ + || NATIVE_TO_LATIN1((U8) c) == 0xB7 \ + || NATIVE_TO_LATIN1((U8) c) == 0xBB \ + || NATIVE_TO_LATIN1((U8) c) == 0xBF))) #endif -#ifndef sv_2uv -# define sv_2uv(sv) ((PL_Sv = (sv)), (UV) (SvNOK(PL_Sv) ? SvNV(PL_Sv) : sv_2nv(PL_Sv))) + +#ifndef isSPACE +# define isSPACE(c) ( isBLANK(c) || (c) == '\n' || (c) == '\r' \ + || (c) == '\v' || (c) == '\f') #endif -#ifndef SvUVX -# define SvUVX(sv) ((UV)SvIVX(sv)) +#ifndef isSPACE_L1 +# define isSPACE_L1(c) ( isSPACE(c) \ + || (FITS_IN_8_BITS(c) \ + && ( NATIVE_TO_LATIN1((U8) c) == 0x85 \ + || NATIVE_TO_LATIN1((U8) c) == 0xA0))) #endif -#ifndef SvUVXx -# define SvUVXx(sv) SvUVX(sv) +#ifndef isUPPER_L1 +# define isUPPER_L1(c) ( isUPPER(c) \ + || (FITS_IN_8_BITS(c) \ + && ( NATIVE_TO_LATIN1((U8) c) >= 0xC0 \ + && NATIVE_TO_LATIN1((U8) c) <= 0xDE \ + && NATIVE_TO_LATIN1((U8) c) != 0xD7))) #endif -#ifndef SvUV -# define SvUV(sv) (SvIOK(sv) ? SvUVX(sv) : sv_2uv(sv)) +#ifndef isWORDCHAR +# define isWORDCHAR(c) (isALPHANUMERIC(c) || (c) == '_') #endif -#ifndef SvUVx -# define SvUVx(sv) ((PL_Sv = (sv)), SvUV(PL_Sv)) +#ifndef isWORDCHAR_L1 +# define isWORDCHAR_L1(c) (isIDFIRST_L1(c) || isDIGIT(c)) #endif -/* Hint: sv_uv - * Always use the SvUVx() macro instead of sv_uv(). - */ -#ifndef sv_uv -# define sv_uv(sv) SvUVx(sv) +#ifndef isWORDCHAR_LC +# define isWORDCHAR_LC(c) (isIDFIRST_LC(c) || isDIGIT_LC(c)) #endif -#if !defined(SvUOK) && defined(SvIOK_UV) -# define SvUOK(sv) SvIOK_UV(sv) +#ifndef isXDIGIT +# define isXDIGIT(c) ( isDIGIT(c) \ + || ((c) >= 'a' && (c) <= 'f') \ + || ((c) >= 'A' && (c) <= 'F')) #endif -#ifndef XST_mUV -# define XST_mUV(i,v) (ST(i) = sv_2mortal(newSVuv(v)) ) + +#ifndef isXDIGIT_L1 +# define isXDIGIT_L1(c) isXDIGIT(c) #endif -#ifndef XSRETURN_UV -# define XSRETURN_UV(v) STMT_START { XST_mUV(0,v); XSRETURN(1); } STMT_END +#ifndef isXDIGIT_LC +# define isXDIGIT_LC(c) isxdigit(c) #endif -#ifndef PUSHu -# define PUSHu(u) STMT_START { sv_setuv(TARG, (UV)(u)); PUSHTARG; } STMT_END +#ifndef isALNUM_A +# define isALNUM_A(c) isALNUM(c) #endif -#ifndef XPUSHu -# define XPUSHu(u) STMT_START { sv_setuv(TARG, (UV)(u)); XPUSHTARG; } STMT_END +#ifndef isALNUMC_A +# define isALNUMC_A(c) isALNUMC(c) #endif -#if defined UTF8SKIP - -/* Don't use official version because it uses MIN, which may not be available */ -#undef UTF8_SAFE_SKIP -#ifndef UTF8_SAFE_SKIP -# define UTF8_SAFE_SKIP(s, e) ( \ - ((((e) - (s)) <= 0) \ - ? 0 \ - : _ppport_MIN(((e) - (s)), UTF8SKIP(s)))) +#ifndef isALPHA_A +# define isALPHA_A(c) isALPHA(c) #endif +#ifndef isALPHANUMERIC_A +# define isALPHANUMERIC_A(c) isALPHANUMERIC(c) #endif -#if !defined(my_strnlen) -#if defined(NEED_my_strnlen) -static STRLEN DPPP_(my_my_strnlen)(const char *str, Size_t maxlen); -static -#else -extern STRLEN DPPP_(my_my_strnlen)(const char *str, Size_t maxlen); +#ifndef isASCII_A +# define isASCII_A(c) isASCII(c) #endif -#if defined(NEED_my_strnlen) || defined(NEED_my_strnlen_GLOBAL) - -#define my_strnlen DPPP_(my_my_strnlen) -#define Perl_my_strnlen DPPP_(my_my_strnlen) +#ifndef isBLANK_A +# define isBLANK_A(c) isBLANK(c) +#endif +#ifndef isCNTRL_A +# define isCNTRL_A(c) isCNTRL(c) +#endif -STRLEN -DPPP_(my_my_strnlen)(const char *str, Size_t maxlen) -{ - const char *p = str; +#ifndef isDIGIT_A +# define isDIGIT_A(c) isDIGIT(c) +#endif - while(maxlen-- && *p) - p++; +#ifndef isGRAPH_A +# define isGRAPH_A(c) isGRAPH(c) +#endif - return p - str; -} +#ifndef isIDCONT_A +# define isIDCONT_A(c) isIDCONT(c) +#endif +#ifndef isIDFIRST_A +# define isIDFIRST_A(c) isIDFIRST(c) #endif + +#ifndef isLOWER_A +# define isLOWER_A(c) isLOWER(c) #endif -#if (PERL_BCDVERSION < 0x5031002) - /* Versions prior to this accepted things that are now considered - * malformations, and didn't return -1 on error with warnings enabled - * */ -# undef utf8_to_uvchr_buf +#ifndef isOCTAL_A +# define isOCTAL_A(c) isOCTAL(c) #endif -/* This implementation brings modern, generally more restricted standards to - * utf8_to_uvchr_buf. Some of these are security related, and clearly must - * be done. But its arguable that the others need not, and hence should not. - * The reason they're here is that a module that intends to play with the - * latest perls shoud be able to work the same in all releases. An example is - * that perl no longer accepts any UV for a code point, but limits them to - * IV_MAX or below. This is for future internal use of the larger code points. - * If it turns out that some of these changes are breaking code that isn't - * intended to work with modern perls, the tighter restrictions could be - * relaxed. khw thinks this is unlikely, but has been wrong in the past. */ +#ifndef isPRINT_A +# define isPRINT_A(c) isPRINT(c) +#endif -#ifndef utf8_to_uvchr_buf - /* Choose which underlying implementation to use. At least one must be - * present or the perl is too early to handle this function */ -# if defined(utf8n_to_uvchr) || defined(utf8_to_uv) -# if defined(utf8n_to_uvchr) /* This is the preferred implementation */ -# define _ppport_utf8_to_uvchr_buf_callee utf8n_to_uvchr -# else -# define _ppport_utf8_to_uvchr_buf_callee utf8_to_uv -# endif +#ifndef isPSXSPC_A +# define isPSXSPC_A(c) isPSXSPC(c) +#endif -# endif +#ifndef isPUNCT_A +# define isPUNCT_A(c) isPUNCT(c) +#endif -#ifdef _ppport_utf8_to_uvchr_buf_callee -# if defined(NEED_utf8_to_uvchr_buf) -static UV DPPP_(my_utf8_to_uvchr_buf)(pTHX_ const U8 * s, const U8 * send, STRLEN * retlen); -static -#else -extern UV DPPP_(my_utf8_to_uvchr_buf)(pTHX_ const U8 * s, const U8 * send, STRLEN * retlen); +#ifndef isSPACE_A +# define isSPACE_A(c) isSPACE(c) #endif -#if defined(NEED_utf8_to_uvchr_buf) || defined(NEED_utf8_to_uvchr_buf_GLOBAL) +#ifndef isUPPER_A +# define isUPPER_A(c) isUPPER(c) +#endif -#ifdef utf8_to_uvchr_buf -# undef utf8_to_uvchr_buf +#ifndef isWORDCHAR_A +# define isWORDCHAR_A(c) isWORDCHAR(c) #endif -#define utf8_to_uvchr_buf(a,b,c) DPPP_(my_utf8_to_uvchr_buf)(aTHX_ a,b,c) -#define Perl_utf8_to_uvchr_buf DPPP_(my_utf8_to_uvchr_buf) +#ifndef isXDIGIT_A +# define isXDIGIT_A(c) isXDIGIT(c) +#endif +#ifndef isASCII_utf8_safe +# define isASCII_utf8_safe(s,e) (((e) - (s)) <= 0 ? 0 : isASCII(*(s))) +#endif -UV -DPPP_(my_utf8_to_uvchr_buf)(pTHX_ const U8 *s, const U8 *send, STRLEN *retlen) -{ - UV ret; - STRLEN curlen; - bool overflows = 0; - const U8 *cur_s = s; - const bool do_warnings = ckWARN_d(WARN_UTF8); +#ifndef isASCII_uvchr +# define isASCII_uvchr(c) (FITS_IN_8_BITS(c) ? isASCII_L1(c) : 0) +#endif - if (send > s) { - curlen = send - s; - } - else { - assert(0); /* Modern perls die under this circumstance */ - curlen = 0; - if (! do_warnings) { /* Handle empty here if no warnings needed */ - if (retlen) *retlen = 0; - return UNICODE_REPLACEMENT; - } - } +#if (PERL_BCDVERSION >= 0x5006000) +# ifdef isALPHA_uni /* If one defined, all are; this is just an exemplar */ +# define D_PPP_is_ctype(upper, lower, c) \ + (FITS_IN_8_BITS(c) \ + ? is ## upper ## _L1(c) \ + : is ## upper ## _uni((UV) (c))) /* _uni is old synonym */ +# else +# define D_PPP_is_ctype(upper, lower, c) \ + (FITS_IN_8_BITS(c) \ + ? is ## upper ## _L1(c) \ + : is_uni_ ## lower((UV) (c))) /* is_uni_ is even older */ +# endif +#ifndef isALPHA_uvchr +# define isALPHA_uvchr(c) D_PPP_is_ctype(ALPHA, alpha, c) +#endif - /* The modern version allows anything that evaluates to a legal UV, but not - * overlongs nor an empty input */ - ret = _ppport_utf8_to_uvchr_buf_callee( - s, curlen, retlen, (UTF8_ALLOW_ANYUV - & ~(UTF8_ALLOW_LONG|UTF8_ALLOW_EMPTY))); +#ifndef isALPHANUMERIC_uvchr +# define isALPHANUMERIC_uvchr(c) (isALPHA_uvchr(c) || isDIGIT_uvchr(c)) +#endif - /* But actually, modern versions restrict the UV to being no more than what - * an IV can hold */ - if (ret > PERL_INT_MAX) { - overflows = 1; - } +# ifdef is_uni_blank +#ifndef isBLANK_uvchr +# define isBLANK_uvchr(c) D_PPP_is_ctype(BLANK, blank, c) +#endif -# if (PERL_BCDVERSION < 0x5026000) -# ifndef EBCDIC +# else +#ifndef isBLANK_uvchr +# define isBLANK_uvchr(c) (FITS_IN_8_BITS(c) \ + ? isBLANK_L1(c) \ + : ( (UV) (c) == 0x1680 /* Unicode 3.0 */ \ + || inRANGE((UV) (c), 0x2000, 0x200A) \ + || (UV) (c) == 0x202F /* Unicode 3.0 */\ + || (UV) (c) == 0x205F /* Unicode 3.2 */\ + || (UV) (c) == 0x3000)) +#endif - /* There are bugs in versions earlier than this on non-EBCDIC platforms - * in which it did not detect all instances of overflow, which could be - * a security hole. Also, earlier versions did not allow the overflow - * malformation under any circumstances, and modern ones do. So we - * need to check here. */ +# endif +#ifndef isCNTRL_uvchr +# define isCNTRL_uvchr(c) D_PPP_is_ctype(CNTRL, cntrl, c) +#endif - else if (curlen > 0 && *s >= 0xFE) { +#ifndef isDIGIT_uvchr +# define isDIGIT_uvchr(c) D_PPP_is_ctype(DIGIT, digit, c) +#endif - /* If the main routine detected overflow, great; it returned 0. But if the - * input's first byte indicates it could overflow, we need to verify. - * First, on a 32-bit machine the first byte being at least \xFE - * automatically is overflow */ - if (sizeof(ret) < 8) { - overflows = 1; - } - else { - const U8 highest[] = /* 2*63-1 */ - "\xFF\x80\x87\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF"; - const U8 *cur_h = highest; +#ifndef isGRAPH_uvchr +# define isGRAPH_uvchr(c) D_PPP_is_ctype(GRAPH, graph, c) +#endif - for (cur_s = s; cur_s < send; cur_s++, cur_h++) { - if (UNLIKELY(*cur_s == *cur_h)) { - continue; - } +#ifndef isIDCONT_uvchr +# define isIDCONT_uvchr(c) isWORDCHAR_uvchr(c) +#endif - /* If this byte is larger than the corresponding highest UTF-8 - * byte, the sequence overflows; otherwise the byte is less than - * (as we handled the equality case above), and so the sequence - * doesn't overflow */ - overflows = *cur_s > *cur_h; - break; +#ifndef isIDFIRST_uvchr +# define isIDFIRST_uvchr(c) D_PPP_is_ctype(IDFIRST, idfirst, c) +#endif - } +#ifndef isLOWER_uvchr +# define isLOWER_uvchr(c) D_PPP_is_ctype(LOWER, lower, c) +#endif - /* Here, either we set the bool and broke out of the loop, or got - * to the end and all bytes are the same which indicates it doesn't - * overflow. */ - } - } +#ifndef isPRINT_uvchr +# define isPRINT_uvchr(c) D_PPP_is_ctype(PRINT, print, c) +#endif -# endif -# endif /* < 5.26 */ +#ifndef isPSXSPC_uvchr +# define isPSXSPC_uvchr(c) isSPACE_uvchr(c) +#endif - if (UNLIKELY(overflows)) { - if (! do_warnings) { - if (retlen) { - *retlen = _ppport_MIN(*retlen, UTF8SKIP(s)); - *retlen = _ppport_MIN(*retlen, curlen); - } - return UNICODE_REPLACEMENT; - } - else { +#ifndef isPUNCT_uvchr +# define isPUNCT_uvchr(c) D_PPP_is_ctype(PUNCT, punct, c) +#endif - /* On versions that correctly detect overflow, but forbid it - * always, 0 will be returned, but also a warning will have been - * raised. Don't repeat it */ - if (ret != 0) { - /* We use the error message in use from 5.8-5.14 */ - Perl_warner(aTHX_ packWARN(WARN_UTF8), - "Malformed UTF-8 character (overflow at 0x%" UVxf - ", byte 0x%02x, after start byte 0x%02x)", - ret, *cur_s, *s); - } - if (retlen) { - *retlen = (STRLEN) -1; - } - return 0; - } - } +#ifndef isSPACE_uvchr +# define isSPACE_uvchr(c) D_PPP_is_ctype(SPACE, space, c) +#endif - /* If failed and warnings are off, to emulate the behavior of the real - * utf8_to_uvchr(), try again, allowing anything. (Note a return of 0 is - * ok if the input was '\0') */ - if (UNLIKELY(ret == 0 && (curlen == 0 || *s != '\0'))) { +#ifndef isUPPER_uvchr +# define isUPPER_uvchr(c) D_PPP_is_ctype(UPPER, upper, c) +#endif - /* If curlen is 0, we already handled the case where warnings are - * disabled, so this 'if' will be true, and we won't look at the - * contents of 's' */ - if (do_warnings) { - *retlen = (STRLEN) -1; - } - else { - ret = _ppport_utf8_to_uvchr_buf_callee( - s, curlen, retlen, UTF8_ALLOW_ANY); - /* Override with the REPLACEMENT character, as that is what the - * modern version of this function returns */ - ret = UNICODE_REPLACEMENT; +#ifndef isXDIGIT_uvchr +# define isXDIGIT_uvchr(c) D_PPP_is_ctype(XDIGIT, xdigit, c) +#endif -# if (PERL_BCDVERSION < 0x5016000) +#ifndef isWORDCHAR_uvchr +# define isWORDCHAR_uvchr(c) (FITS_IN_8_BITS(c) \ + ? isWORDCHAR_L1(c) : isALPHANUMERIC_uvchr(c)) +#endif +#ifndef isALPHA_utf8_safe +# define isALPHA_utf8_safe(s,e) D_PPP_IS_GENERIC_UTF8_SAFE(s, e, ALPHA) +#endif - /* Versions earlier than this don't necessarily return the proper - * length. It should not extend past the end of string, nor past - * what the first byte indicates the length is, nor past the - * continuation characters */ - if (retlen && *retlen >= 0) { - *retlen = _ppport_MIN(*retlen, curlen); - *retlen = _ppport_MIN(*retlen, UTF8SKIP(s)); - unsigned int i = 1; - do { - if (s[i] < 0x80 || s[i] > 0xBF) { - *retlen = i; - break; - } - } while (++i < *retlen); - } +# ifdef isALPHANUMERIC_utf8 +#ifndef isALPHANUMERIC_utf8_safe +# define isALPHANUMERIC_utf8_safe(s,e) \ + D_PPP_IS_GENERIC_UTF8_SAFE(s, e, ALPHANUMERIC) +#endif -# endif +# else +#ifndef isALPHANUMERIC_utf8_safe +# define isALPHANUMERIC_utf8_safe(s,e) \ + (isALPHA_utf8_safe(s,e) || isDIGIT_utf8_safe(s,e)) +#endif - } - } +# endif - return ret; -} +/* This was broken before 5.18, and just use this instead of worrying about + * which releases the official works on */ +# if 'A' == 65 +#ifndef isBLANK_utf8_safe +# define isBLANK_utf8_safe(s,e) \ +( ( LIKELY((e) > (s)) ) ? /* Machine generated */ \ + ( ( 0x09 == ((const U8*)s)[0] || 0x20 == ((const U8*)s)[0] ) ? 1 \ + : ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) ? \ + ( ( 0xC2 == ((const U8*)s)[0] ) ? \ + ( ( 0xA0 == ((const U8*)s)[1] ) ? 2 : 0 ) \ + : ( 0xE1 == ((const U8*)s)[0] ) ? \ + ( ( ( 0x9A == ((const U8*)s)[1] ) && ( 0x80 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ + : ( 0xE2 == ((const U8*)s)[0] ) ? \ + ( ( 0x80 == ((const U8*)s)[1] ) ? \ + ( ( inRANGE(((const U8*)s)[2], 0x80, 0x8A ) || 0xAF == ((const U8*)s)[2] ) ? 3 : 0 )\ + : ( ( 0x81 == ((const U8*)s)[1] ) && ( 0x9F == ((const U8*)s)[2] ) ) ? 3 : 0 )\ + : ( ( ( 0xE3 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( 0x80 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ + : 0 ) \ + : 0 ) +#endif + +# elif 'A' == 193 && '^' == 95 /* EBCDIC 1047 */ +#ifndef isBLANK_utf8_safe +# define isBLANK_utf8_safe(s,e) \ +( ( LIKELY((e) > (s)) ) ? \ + ( ( 0x05 == ((const U8*)s)[0] || 0x40 == ((const U8*)s)[0] ) ? 1 \ + : ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) ? \ + ( ( 0x80 == ((const U8*)s)[0] ) ? \ + ( ( 0x41 == ((const U8*)s)[1] ) ? 2 : 0 ) \ + : ( 0xBC == ((const U8*)s)[0] ) ? \ + ( ( ( 0x63 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ + : ( 0xCA == ((const U8*)s)[0] ) ? \ + ( ( 0x41 == ((const U8*)s)[1] ) ? \ + ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || 0x51 == ((const U8*)s)[2] ) ? 3 : 0 )\ + : ( 0x42 == ((const U8*)s)[1] ) ? \ + ( ( 0x56 == ((const U8*)s)[2] ) ? 3 : 0 ) \ + : ( ( 0x43 == ((const U8*)s)[1] ) && ( 0x73 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ + : ( ( ( 0xCE == ((const U8*)s)[0] ) && ( 0x41 == ((const U8*)s)[1] ) ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ + : 0 ) \ +: 0 ) +#endif + +# elif 'A' == 193 && '^' == 176 /* EBCDIC 037 */ +#ifndef isBLANK_utf8_safe +# define isBLANK_utf8_safe(s,e) \ +( ( LIKELY((e) > (s)) ) ? \ + ( ( 0x05 == ((const U8*)s)[0] || 0x40 == ((const U8*)s)[0] ) ? 1 \ + : ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) ? \ + ( ( 0x78 == ((const U8*)s)[0] ) ? \ + ( ( 0x41 == ((const U8*)s)[1] ) ? 2 : 0 ) \ + : ( 0xBD == ((const U8*)s)[0] ) ? \ + ( ( ( 0x62 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ + : ( 0xCA == ((const U8*)s)[0] ) ? \ + ( ( 0x41 == ((const U8*)s)[1] ) ? \ + ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || 0x51 == ((const U8*)s)[2] ) ? 3 : 0 )\ + : ( 0x42 == ((const U8*)s)[1] ) ? \ + ( ( 0x56 == ((const U8*)s)[2] ) ? 3 : 0 ) \ + : ( ( 0x43 == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ + : ( ( ( 0xCE == ((const U8*)s)[0] ) && ( 0x41 == ((const U8*)s)[1] ) ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ + : 0 ) \ +: 0 ) +#endif +# else +# error Unknown character set # endif -#endif +#ifndef isCNTRL_utf8_safe +# define isCNTRL_utf8_safe(s,e) D_PPP_IS_GENERIC_UTF8_SAFE(s, e, CNTRL) #endif -#if defined(UTF8SKIP) && defined(utf8_to_uvchr_buf) -#undef utf8_to_uvchr /* Always redefine this unsafe function so that it refuses - to read past a NUL, making it much less likely to read - off the end of the buffer. A NUL indicates the start - of the next character anyway. If the input isn't - NUL-terminated, the function remains unsafe, as it - always has been. */ -#ifndef utf8_to_uvchr -# define utf8_to_uvchr(s, lp) \ - ((*(s) == '\0') \ - ? utf8_to_uvchr_buf(s,((s)+1), lp) /* Handle single NUL specially */ \ - : utf8_to_uvchr_buf(s, (s) + my_strnlen((char *) (s), UTF8SKIP(s)), (lp))) +#ifndef isDIGIT_utf8_safe +# define isDIGIT_utf8_safe(s,e) D_PPP_IS_GENERIC_UTF8_SAFE(s, e, DIGIT) #endif +#ifndef isGRAPH_utf8_safe +# define isGRAPH_utf8_safe(s,e) D_PPP_IS_GENERIC_UTF8_SAFE(s, e, GRAPH) #endif -#ifdef HAS_MEMCMP -#ifndef memNE -# define memNE(s1,s2,l) (memcmp(s1,s2,l)) +# ifdef isIDCONT_utf8 +#ifndef isIDCONT_utf8_safe +# define isIDCONT_utf8_safe(s,e) D_PPP_IS_GENERIC_UTF8_SAFE(s, e, IDCONT) #endif -#ifndef memEQ -# define memEQ(s1,s2,l) (!memcmp(s1,s2,l)) +# else +#ifndef isIDCONT_utf8_safe +# define isIDCONT_utf8_safe(s,e) isWORDCHAR_utf8_safe(s,e) #endif -#else -#ifndef memNE -# define memNE(s1,s2,l) (bcmp(s1,s2,l)) +# endif +#ifndef isIDFIRST_utf8_safe +# define isIDFIRST_utf8_safe(s,e) D_PPP_IS_GENERIC_UTF8_SAFE(s, e, IDFIRST) #endif -#ifndef memEQ -# define memEQ(s1,s2,l) (!bcmp(s1,s2,l)) +#ifndef isLOWER_utf8_safe +# define isLOWER_utf8_safe(s,e) D_PPP_IS_GENERIC_UTF8_SAFE(s, e, LOWER) #endif -#endif -#ifndef memEQs -# define memEQs(s1, l, s2) \ - (sizeof(s2)-1 == l && memEQ(s1, (s2 ""), (sizeof(s2)-1))) +#ifndef isPRINT_utf8_safe +# define isPRINT_utf8_safe(s,e) D_PPP_IS_GENERIC_UTF8_SAFE(s, e, PRINT) #endif -#ifndef memNEs -# define memNEs(s1, l, s2) !memEQs(s1, l, s2) +# undef isPSXSPC_utf8_safe /* Use the modern definition */ +#ifndef isPSXSPC_utf8_safe +# define isPSXSPC_utf8_safe(s,e) isSPACE_utf8_safe(s,e) #endif -#ifndef MoveD -# define MoveD(s,d,n,t) memmove((char*)(d),(char*)(s), (n) * sizeof(t)) +#ifndef isPUNCT_utf8_safe +# define isPUNCT_utf8_safe(s,e) D_PPP_IS_GENERIC_UTF8_SAFE(s, e, PUNCT) #endif -#ifndef CopyD -# define CopyD(s,d,n,t) memcpy((char*)(d),(char*)(s), (n) * sizeof(t)) +#ifndef isSPACE_utf8_safe +# define isSPACE_utf8_safe(s,e) D_PPP_IS_GENERIC_UTF8_SAFE(s, e, SPACE) #endif -#ifdef HAS_MEMSET -#ifndef ZeroD -# define ZeroD(d,n,t) memzero((char*)(d), (n) * sizeof(t)) +#ifndef isUPPER_utf8_safe +# define isUPPER_utf8_safe(s,e) D_PPP_IS_GENERIC_UTF8_SAFE(s, e, UPPER) #endif -#else -#ifndef ZeroD -# define ZeroD(d,n,t) ((void)memzero((char*)(d), (n) * sizeof(t)), d) +# ifdef isWORDCHAR_utf8 +#ifndef isWORDCHAR_utf8_safe +# define isWORDCHAR_utf8_safe(s,e) D_PPP_IS_GENERIC_UTF8_SAFE(s, e, WORDCHAR) #endif -#endif -#ifndef PoisonWith -# define PoisonWith(d,n,t,b) (void)memset((char*)(d), (U8)(b), (n) * sizeof(t)) +# else +#ifndef isWORDCHAR_utf8_safe +# define isWORDCHAR_utf8_safe(s,e) \ + (isALPHANUMERIC_utf8_safe(s,e) || (*(s)) == '_') #endif -#ifndef PoisonNew -# define PoisonNew(d,n,t) PoisonWith(d,n,t,0xAB) -#endif +# endif -#ifndef PoisonFree -# define PoisonFree(d,n,t) PoisonWith(d,n,t,0xEF) +/* This was broken before 5.12, and just use this instead of worrying about + * which releases the official works on */ +# if 'A' == 65 +#ifndef isXDIGIT_utf8_safe +# define isXDIGIT_utf8_safe(s,e) \ +( ( LIKELY((e) > (s)) ) ? \ + ( ( inRANGE(((const U8*)s)[0], 0x30, 0x39 ) || inRANGE(((const U8*)s)[0], 0x41, 0x46 ) || inRANGE(((const U8*)s)[0], 0x61, 0x66 ) ) ? 1\ + : ( ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) && ( 0xEF == ((const U8*)s)[0] ) ) ? ( ( 0xBC == ((const U8*)s)[1] ) ?\ + ( ( inRANGE(((const U8*)s)[2], 0x90, 0x99 ) || inRANGE(((const U8*)s)[2], 0xA1, 0xA6 ) ) ? 3 : 0 )\ + : ( ( 0xBD == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x81, 0x86 ) ) ) ? 3 : 0 ) : 0 )\ +: 0 ) +#endif + +# elif 'A' == 193 && '^' == 95 /* EBCDIC 1047 */ +#ifndef isXDIGIT_utf8_safe +# define isXDIGIT_utf8_safe(s,e) \ +( ( LIKELY((e) > (s)) ) ? \ + ( ( inRANGE(((const U8*)s)[0], 0x81, 0x86 ) || inRANGE(((const U8*)s)[0], 0xC1, 0xC6 ) || inRANGE(((const U8*)s)[0], 0xF0, 0xF9 ) ) ? 1\ + : ( ( ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) && ( 0xDD == ((const U8*)s)[0] ) ) && ( 0x73 == ((const U8*)s)[1] ) ) ? ( ( 0x67 == ((const U8*)s)[2] ) ?\ + ( ( inRANGE(((const U8*)s)[3], 0x57, 0x59 ) || inRANGE(((const U8*)s)[3], 0x62, 0x68 ) ) ? 4 : 0 )\ + : ( ( inRANGE(((const U8*)s)[2], 0x68, 0x69 ) ) && ( inRANGE(((const U8*)s)[3], 0x42, 0x47 ) ) ) ? 4 : 0 ) : 0 )\ +: 0 ) +#endif + +# elif 'A' == 193 && '^' == 176 /* EBCDIC 037 */ +#ifndef isXDIGIT_utf8_safe +# define isXDIGIT_utf8_safe(s,e) \ +( ( LIKELY((e) > (s)) ) ? \ + ( ( inRANGE(((const U8*)s)[0], 0x81, 0x86 ) || inRANGE(((const U8*)s)[0], 0xC1, 0xC6 ) || inRANGE(((const U8*)s)[0], 0xF0, 0xF9 ) ) ? 1\ + : ( ( ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) && ( 0xDD == ((const U8*)s)[0] ) ) && ( 0x72 == ((const U8*)s)[1] ) ) ? ( ( 0x66 == ((const U8*)s)[2] ) ?\ + ( ( inRANGE(((const U8*)s)[3], 0x57, 0x59 ) || 0x5F == ((const U8*)s)[3] || inRANGE(((const U8*)s)[3], 0x62, 0x67 ) ) ? 4 : 0 )\ + : ( ( inRANGE(((const U8*)s)[2], 0x67, 0x68 ) ) && ( inRANGE(((const U8*)s)[3], 0x42, 0x47 ) ) ) ? 4 : 0 ) : 0 )\ +: 0 ) #endif -#ifndef Poison -# define Poison(d,n,t) PoisonFree(d,n,t) -#endif -#ifndef Newx -# define Newx(v,n,t) New(0,v,n,t) +# else +# error Unknown character set +# endif +#ifndef isALPHA_LC_utf8_safe +# define isALPHA_LC_utf8_safe(s,e) D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, ALPHA) #endif -#ifndef Newxc -# define Newxc(v,n,t,c) Newc(0,v,n,t,c) +# ifdef isALPHANUMERIC_utf8 +#ifndef isALPHANUMERIC_LC_utf8_safe +# define isALPHANUMERIC_LC_utf8_safe(s,e) \ + D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, ALPHANUMERIC) #endif -#ifndef Newxz -# define Newxz(v,n,t) Newz(0,v,n,t) -#endif -#ifndef PERL_MAGIC_sv -# define PERL_MAGIC_sv '\0' +# else +#ifndef isALPHANUMERIC_LC_utf8_safe +# define isALPHANUMERIC_LC_utf8_safe(s,e) \ + (isALPHA_LC_utf8_safe(s,e) || isDIGIT_LC_utf8_safe(s,e)) #endif -#ifndef PERL_MAGIC_overload -# define PERL_MAGIC_overload 'A' +# endif +#ifndef isBLANK_LC_utf8_safe +# define isBLANK_LC_utf8_safe(s,e) \ + D_PPP_IS_GENERIC_LC_UTF8_SAFE_BROKEN(s, e, BLANK) #endif -#ifndef PERL_MAGIC_overload_elem -# define PERL_MAGIC_overload_elem 'a' +#ifndef isCNTRL_LC_utf8_safe +# define isCNTRL_LC_utf8_safe(s,e) D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, CNTRL) #endif -#ifndef PERL_MAGIC_overload_table -# define PERL_MAGIC_overload_table 'c' +#ifndef isDIGIT_LC_utf8_safe +# define isDIGIT_LC_utf8_safe(s,e) D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, DIGIT) #endif -#ifndef PERL_MAGIC_bm -# define PERL_MAGIC_bm 'B' +#ifndef isGRAPH_LC_utf8_safe +# define isGRAPH_LC_utf8_safe(s,e) D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, GRAPH) #endif -#ifndef PERL_MAGIC_regdata -# define PERL_MAGIC_regdata 'D' +# ifdef isIDCONT_utf8 +#ifndef isIDCONT_LC_utf8_safe +# define isIDCONT_LC_utf8_safe(s,e) D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, IDCONT) #endif -#ifndef PERL_MAGIC_regdatum -# define PERL_MAGIC_regdatum 'd' +# else +#ifndef isIDCONT_LC_utf8_safe +# define isIDCONT_LC_utf8_safe(s,e) isWORDCHAR_LC_utf8_safe(s,e) #endif -#ifndef PERL_MAGIC_env -# define PERL_MAGIC_env 'E' +# endif +#ifndef isIDFIRST_LC_utf8_safe +# define isIDFIRST_LC_utf8_safe(s,e) D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, IDFIRST) #endif -#ifndef PERL_MAGIC_envelem -# define PERL_MAGIC_envelem 'e' +#ifndef isLOWER_LC_utf8_safe +# define isLOWER_LC_utf8_safe(s,e) D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, LOWER) #endif -#ifndef PERL_MAGIC_fm -# define PERL_MAGIC_fm 'f' +#ifndef isPRINT_LC_utf8_safe +# define isPRINT_LC_utf8_safe(s,e) D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, PRINT) #endif -#ifndef PERL_MAGIC_regex_global -# define PERL_MAGIC_regex_global 'g' +# undef isPSXSPC_LC_utf8_safe /* Use the modern definition */ +#ifndef isPSXSPC_LC_utf8_safe +# define isPSXSPC_LC_utf8_safe(s,e) isSPACE_LC_utf8_safe(s,e) #endif - -#ifndef PERL_MAGIC_isa -# define PERL_MAGIC_isa 'I' +#ifndef isPUNCT_LC_utf8_safe +# define isPUNCT_LC_utf8_safe(s,e) D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, PUNCT) #endif -#ifndef PERL_MAGIC_isaelem -# define PERL_MAGIC_isaelem 'i' +#ifndef isSPACE_LC_utf8_safe +# define isSPACE_LC_utf8_safe(s,e) D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, SPACE) #endif -#ifndef PERL_MAGIC_nkeys -# define PERL_MAGIC_nkeys 'k' +#ifndef isUPPER_LC_utf8_safe +# define isUPPER_LC_utf8_safe(s,e) D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, UPPER) #endif -#ifndef PERL_MAGIC_dbfile -# define PERL_MAGIC_dbfile 'L' +# ifdef isWORDCHAR_utf8 +#ifndef isWORDCHAR_LC_utf8_safe +# define isWORDCHAR_LC_utf8_safe(s,e) D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, WORDCHAR) #endif -#ifndef PERL_MAGIC_dbline -# define PERL_MAGIC_dbline 'l' +# else +#ifndef isWORDCHAR_LC_utf8_safe +# define isWORDCHAR_LC_utf8_safe(s,e) \ + (isALPHANUMERIC_LC_utf8_safe(s,e) || (*(s)) == '_') #endif -#ifndef PERL_MAGIC_mutex -# define PERL_MAGIC_mutex 'm' -#endif +# endif +#ifndef isXDIGIT_LC_utf8_safe +# define isXDIGIT_LC_utf8_safe(s,e) \ + D_PPP_IS_GENERIC_LC_UTF8_SAFE_BROKEN(s, e, XDIGIT) +#endif + +/* Warning: isALPHANUMERIC_utf8_safe, isALPHA_utf8_safe, isASCII_utf8_safe, + * isBLANK_utf8_safe, isCNTRL_utf8_safe, isDIGIT_utf8_safe, isGRAPH_utf8_safe, + * isIDCONT_utf8_safe, isIDFIRST_utf8_safe, isLOWER_utf8_safe, + * isPRINT_utf8_safe, isPSXSPC_utf8_safe, isPUNCT_utf8_safe, isSPACE_utf8_safe, + * isUPPER_utf8_safe, isWORDCHAR_utf8_safe, isWORDCHAR_utf8_safe, + * isXDIGIT_utf8_safe, + * isALPHANUMERIC_LC_utf8_safe, isALPHA_LC_utf8_safe, isASCII_LC_utf8_safe, + * isBLANK_LC_utf8_safe, isCNTRL_LC_utf8_safe, isDIGIT_LC_utf8_safe, + * isGRAPH_LC_utf8_safe, isIDCONT_LC_utf8_safe, isIDFIRST_LC_utf8_safe, + * isLOWER_LC_utf8_safe, isPRINT_LC_utf8_safe, isPSXSPC_LC_utf8_safe, + * isPUNCT_LC_utf8_safe, isSPACE_LC_utf8_safe, isUPPER_LC_utf8_safe, + * isWORDCHAR_LC_utf8_safe, isWORDCHAR_LC_utf8_safe, isXDIGIT_LC_utf8_safe, + * isALPHANUMERIC_uvchr, isALPHA_uvchr, isASCII_uvchr, isBLANK_uvchr, + * isCNTRL_uvchr, isDIGIT_uvchr, isGRAPH_uvchr, isIDCONT_uvchr, + * isIDFIRST_uvchr, isLOWER_uvchr, isPRINT_uvchr, isPSXSPC_uvchr, + * isPUNCT_uvchr, isSPACE_uvchr, isUPPER_uvchr, isWORDCHAR_uvchr, + * isWORDCHAR_uvchr, isXDIGIT_uvchr + * + * The UTF-8 handling is buggy in early Perls, and this can give inaccurate + * results for code points above 0xFF, until the implementation started + * settling down in 5.12 and 5.14 */ -#ifndef PERL_MAGIC_shared -# define PERL_MAGIC_shared 'N' #endif -#ifndef PERL_MAGIC_shared_scalar -# define PERL_MAGIC_shared_scalar 'n' +#define D_PPP_TOO_SHORT_MSG "Malformed UTF-8 character starting with:" \ + " \\x%02x (too short; %d bytes available, need" \ + " %d)\n" +/* Perls starting here had a new API which handled multi-character results */ +#if (PERL_BCDVERSION >= 0x5007003) +#ifndef toLOWER_uvchr +# define toLOWER_uvchr(c, s, l) UNI_TO_NATIVE(to_uni_lower(NATIVE_TO_UNI(c), s, l)) #endif -#ifndef PERL_MAGIC_collxfrm -# define PERL_MAGIC_collxfrm 'o' +#ifndef toUPPER_uvchr +# define toUPPER_uvchr(c, s, l) UNI_TO_NATIVE(to_uni_upper(NATIVE_TO_UNI(c), s, l)) #endif -#ifndef PERL_MAGIC_tied -# define PERL_MAGIC_tied 'P' +#ifndef toTITLE_uvchr +# define toTITLE_uvchr(c, s, l) UNI_TO_NATIVE(to_uni_title(NATIVE_TO_UNI(c), s, l)) #endif -#ifndef PERL_MAGIC_tiedelem -# define PERL_MAGIC_tiedelem 'p' +#ifndef toFOLD_uvchr +# define toFOLD_uvchr(c, s, l) UNI_TO_NATIVE(to_uni_fold( NATIVE_TO_UNI(c), s, l)) #endif -#ifndef PERL_MAGIC_tiedscalar -# define PERL_MAGIC_tiedscalar 'q' -#endif +# if (PERL_BCDVERSION != 0x5015006) /* Just this version is broken */ -#ifndef PERL_MAGIC_qr -# define PERL_MAGIC_qr 'r' -#endif + /* Prefer the macro to the function */ +# if defined toLOWER_utf8 +# define D_PPP_TO_LOWER_CALLEE(s,r,l) toLOWER_utf8(s,r,l) +# else +# define D_PPP_TO_LOWER_CALLEE(s,r,l) to_utf8_lower(s,r,l) +# endif +# if defined toTITLE_utf8 +# define D_PPP_TO_TITLE_CALLEE(s,r,l) toTITLE_utf8(s,r,l) +# else +# define D_PPP_TO_TITLE_CALLEE(s,r,l) to_utf8_title(s,r,l) +# endif +# if defined toUPPER_utf8 +# define D_PPP_TO_UPPER_CALLEE(s,r,l) toUPPER_utf8(s,r,l) +# else +# define D_PPP_TO_UPPER_CALLEE(s,r,l) to_utf8_upper(s,r,l) +# endif +# if defined toFOLD_utf8 +# define D_PPP_TO_FOLD_CALLEE(s,r,l) toFOLD_utf8(s,r,l) +# else +# define D_PPP_TO_FOLD_CALLEE(s,r,l) to_utf8_fold(s,r,l) +# endif +# else /* Below is 5.15.6, which failed to make the macros available +# outside of core, so we have to use the 'Perl_' form. khw +# decided it was easier to just handle this case than have to +# document the exception, and make an exception in the tests below +# */ +# define D_PPP_TO_LOWER_CALLEE(s,r,l) \ + Perl__to_utf8_lower_flags(aTHX_ s, r, l, 0, NULL) +# define D_PPP_TO_TITLE_CALLEE(s,r,l) \ + Perl__to_utf8_title_flags(aTHX_ s, r, l, 0, NULL) +# define D_PPP_TO_UPPER_CALLEE(s,r,l) \ + Perl__to_utf8_upper_flags(aTHX_ s, r, l, 0, NULL) +# define D_PPP_TO_FOLD_CALLEE(s,r,l) \ + Perl__to_utf8_fold_flags(aTHX_ s, r, l, FOLD_FLAGS_FULL, NULL) +# endif -#ifndef PERL_MAGIC_sig -# define PERL_MAGIC_sig 'S' +/* The actual implementation of the backported macros. If too short, croak, + * otherwise call the original that doesn't have an upper limit parameter */ +# define D_PPP_GENERIC_MULTI_ARG_TO(name, s, e,r,l) \ + (((((e) - (s)) <= 0) \ + /* We could just do nothing, but modern perls croak */ \ + ? (croak("Attempting case change on zero length string"), \ + 0) /* So looks like it returns something, and will compile */ \ + : ((e) - (s)) < UTF8SKIP(s)) \ + ? (croak(D_PPP_TOO_SHORT_MSG, \ + s[0], (int) ((e) - (s)), (int) UTF8SKIP(s)), \ + 0) \ + : D_PPP_TO_ ## name ## _CALLEE(s,r,l)) +#ifndef toUPPER_utf8_safe +# define toUPPER_utf8_safe(s,e,r,l) \ + D_PPP_GENERIC_MULTI_ARG_TO(UPPER,s,e,r,l) #endif -#ifndef PERL_MAGIC_sigelem -# define PERL_MAGIC_sigelem 's' +#ifndef toLOWER_utf8_safe +# define toLOWER_utf8_safe(s,e,r,l) \ + D_PPP_GENERIC_MULTI_ARG_TO(LOWER,s,e,r,l) #endif -#ifndef PERL_MAGIC_taint -# define PERL_MAGIC_taint 't' +#ifndef toTITLE_utf8_safe +# define toTITLE_utf8_safe(s,e,r,l) \ + D_PPP_GENERIC_MULTI_ARG_TO(TITLE,s,e,r,l) #endif -#ifndef PERL_MAGIC_uvar -# define PERL_MAGIC_uvar 'U' +#ifndef toFOLD_utf8_safe +# define toFOLD_utf8_safe(s,e,r,l) \ + D_PPP_GENERIC_MULTI_ARG_TO(FOLD,s,e,r,l) #endif -#ifndef PERL_MAGIC_uvar_elem -# define PERL_MAGIC_uvar_elem 'u' +#elif (PERL_BCDVERSION >= 0x5006000) + +/* Here we have UTF-8 support, but using the original API where the case + * changing functions merely returned the changed code point; hence they + * couldn't handle multi-character results. */ + +# ifdef uvchr_to_utf8 +# define D_PPP_UV_TO_UTF8 uvchr_to_utf8 +# else +# define D_PPP_UV_TO_UTF8 uv_to_utf8 +# endif + + /* Get the utf8 of the case changed value, and store its length; then have + * to re-calculate the changed case value in order to return it */ +# define D_PPP_GENERIC_SINGLE_ARG_TO_UVCHR(name, c, s, l) \ + (*(l) = (D_PPP_UV_TO_UTF8(s, \ + UNI_TO_NATIVE(to_uni_ ## name(NATIVE_TO_UNI(c)))) - (s)), \ + UNI_TO_NATIVE(to_uni_ ## name(NATIVE_TO_UNI(c)))) +#ifndef toLOWER_uvchr +# define toLOWER_uvchr(c, s, l) \ + D_PPP_GENERIC_SINGLE_ARG_TO_UVCHR(lower, c, s, l) #endif -#ifndef PERL_MAGIC_vstring -# define PERL_MAGIC_vstring 'V' +#ifndef toUPPER_uvchr +# define toUPPER_uvchr(c, s, l) \ + D_PPP_GENERIC_SINGLE_ARG_TO_UVCHR(upper, c, s, l) #endif -#ifndef PERL_MAGIC_vec -# define PERL_MAGIC_vec 'v' +#ifndef toTITLE_uvchr +# define toTITLE_uvchr(c, s, l) \ + D_PPP_GENERIC_SINGLE_ARG_TO_UVCHR(title, c, s, l) #endif -#ifndef PERL_MAGIC_utf8 -# define PERL_MAGIC_utf8 'w' +#ifndef toFOLD_uvchr +# define toFOLD_uvchr(c, s, l) toLOWER_uvchr(c, s, l) #endif -#ifndef PERL_MAGIC_substr -# define PERL_MAGIC_substr 'x' +# define D_PPP_GENERIC_SINGLE_ARG_TO_UTF8(name, s, e, r, l) \ + (((((e) - (s)) <= 0) \ + ? (croak("Attempting case change on zero length string"), \ + 0) /* So looks like it returns something, and will compile */ \ + : ((e) - (s)) < UTF8SKIP(s)) \ + ? (croak(D_PPP_TOO_SHORT_MSG, \ + s[0], (int) ((e) - (s)), (int) UTF8SKIP(s)), \ + 0) \ + /* Get the changed code point and store its UTF-8 */ \ + : D_PPP_UV_TO_UTF8(r, to_utf8_ ## name(s)), \ + /* Then store its length, and re-get code point for return */ \ + *(l) = UTF8SKIP(r), to_utf8_ ## name(r)) + +/* Warning: toUPPER_utf8_safe, toLOWER_utf8_safe, toTITLE_utf8_safe, + * toUPPER_uvchr, toLOWER_uvchr, toTITLE_uvchr + The UTF-8 case changing operations had bugs before around 5.12 or 5.14; + this backport does not correct them. + + In perls before 7.3, multi-character case changing is not implemented; this + backport uses the simple case changes available in those perls. */ +#ifndef toUPPER_utf8_safe +# define toUPPER_utf8_safe(s,e,r,l) \ + D_PPP_GENERIC_SINGLE_ARG_TO_UTF8(upper, s, e, r, l) #endif -#ifndef PERL_MAGIC_defelem -# define PERL_MAGIC_defelem 'y' +#ifndef toLOWER_utf8_safe +# define toLOWER_utf8_safe(s,e,r,l) \ + D_PPP_GENERIC_SINGLE_ARG_TO_UTF8(lower, s, e, r, l) #endif -#ifndef PERL_MAGIC_glob -# define PERL_MAGIC_glob '*' +#ifndef toTITLE_utf8_safe +# define toTITLE_utf8_safe(s,e,r,l) \ + D_PPP_GENERIC_SINGLE_ARG_TO_UTF8(title, s, e, r, l) #endif -#ifndef PERL_MAGIC_arylen -# define PERL_MAGIC_arylen '#' + /* Warning: toFOLD_utf8_safe, toFOLD_uvchr + The UTF-8 case changing operations had bugs before around 5.12 or 5.14; + this backport does not correct them. + + In perls before 7.3, case folding is not implemented; instead, this + backport substitutes simple (not multi-character, which isn't available) + lowercasing. This gives the correct result in most, but not all, instances + */ +#ifndef toFOLD_utf8_safe +# define toFOLD_utf8_safe(s,e,r,l) toLOWER_utf8_safe(s,e,r,l) #endif -#ifndef PERL_MAGIC_pos -# define PERL_MAGIC_pos '.' #endif -#ifndef PERL_MAGIC_backref -# define PERL_MAGIC_backref '<' +/* Until we figure out how to support this in older perls... */ +#if (PERL_BCDVERSION >= 0x5008000) +#ifndef HeUTF8 +# define HeUTF8(he) ((HeKLEN(he) == HEf_SVKEY) ? \ + SvUTF8(HeKEY_sv(he)) : \ + (U32)HeKUTF8(he)) #endif -#ifndef PERL_MAGIC_ext -# define PERL_MAGIC_ext '~' +#endif +#ifndef C_ARRAY_LENGTH +# define C_ARRAY_LENGTH(a) (sizeof(a)/sizeof((a)[0])) #endif -#ifdef NEED_mess_sv -#define NEED_mess +#ifndef C_ARRAY_END +# define C_ARRAY_END(a) ((a) + C_ARRAY_LENGTH(a)) +#endif +#ifndef LIKELY +# define LIKELY(x) (x) #endif -#ifdef NEED_mess -#define NEED_mess_nocontext -#define NEED_vmess +#ifndef UNLIKELY +# define UNLIKELY(x) (x) #endif -#ifndef croak_sv -#if (PERL_BCDVERSION >= 0x5007003) || ( (PERL_BCDVERSION >= 0x5006001) && (PERL_BCDVERSION < 0x5007000) ) -# if ( (PERL_BCDVERSION >= 0x5008000) && (PERL_BCDVERSION < 0x5008009) ) || ( (PERL_BCDVERSION >= 0x5009000) && (PERL_BCDVERSION < 0x5010001) ) -# define D_PPP_FIX_UTF8_ERRSV(errsv, sv) \ - STMT_START { \ - if (sv != errsv) \ - SvFLAGS(errsv) = (SvFLAGS(errsv) & ~SVf_UTF8) | \ - (SvFLAGS(sv) & SVf_UTF8); \ - } STMT_END -# else -# define D_PPP_FIX_UTF8_ERRSV(errsv, sv) STMT_START {} STMT_END -# endif -# define croak_sv(sv) \ - STMT_START { \ - if (SvROK(sv)) { \ - sv_setsv(ERRSV, sv); \ - croak(NULL); \ - } else { \ - D_PPP_FIX_UTF8_ERRSV(ERRSV, sv); \ - croak("%" SVf, SVfARG(sv)); \ - } \ - } STMT_END -#elif (PERL_BCDVERSION >= 0x5004000) -# define croak_sv(sv) croak("%" SVf, SVfARG(sv)) +#ifndef MUTABLE_PTR +#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) +# define MUTABLE_PTR(p) ({ void *_p = (p); _p; }) #else -# define croak_sv(sv) croak("%s", SvPV_nolen(sv)) +# define MUTABLE_PTR(p) ((void *) (p)) #endif #endif +#ifndef MUTABLE_SV +# define MUTABLE_SV(p) ((SV *)MUTABLE_PTR(p)) +#endif -#ifndef die_sv -#if defined(NEED_die_sv) -static OP * DPPP_(my_die_sv)(pTHX_ SV *sv); -static +#if (PERL_BCDVERSION >= 0x5004000) && !defined(vnewSVpvf) +#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) +# define vnewSVpvf(pat, args) ({ SV *_sv = newSV(0); sv_vsetpvfn(_sv, (pat), strlen((pat)), (args), Null(SV**), 0, Null(bool*)); _sv; }) #else -extern OP * DPPP_(my_die_sv)(pTHX_ SV *sv); +# define vnewSVpvf(pat, args) ((PL_Sv = newSV(0)), sv_vsetpvfn(PL_Sv, (pat), strlen((pat)), (args), Null(SV**), 0, Null(bool*)), PL_Sv) #endif - -#if defined(NEED_die_sv) || defined(NEED_die_sv_GLOBAL) - -#ifdef die_sv -# undef die_sv #endif -#define die_sv(a) DPPP_(my_die_sv)(aTHX_ a) -#define Perl_die_sv DPPP_(my_die_sv) -OP * -DPPP_(my_die_sv)(pTHX_ SV *sv) -{ - croak_sv(sv); - return (OP *)NULL; -} -#endif +#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_vcatpvf) +# define sv_vcatpvf(sv, pat, args) sv_vcatpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)) #endif -#ifndef warn_sv -#if (PERL_BCDVERSION >= 0x5004000) -# define warn_sv(sv) warn("%" SVf, SVfARG(sv)) -#else -# define warn_sv(sv) warn("%s", SvPV_nolen(sv)) -#endif +#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_vsetpvf) +# define sv_vsetpvf(sv, pat, args) sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)) #endif -#ifndef vmess -#if defined(NEED_vmess) -static SV * DPPP_(my_vmess)(pTHX_ const char * pat, va_list * args); +#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_catpvf_mg) +#if defined(NEED_sv_catpvf_mg) +static void DPPP_(my_sv_catpvf_mg)(pTHX_ SV * const sv, const char * const pat, ...); static #else -extern SV * DPPP_(my_vmess)(pTHX_ const char * pat, va_list * args); +extern void DPPP_(my_sv_catpvf_mg)(pTHX_ SV * const sv, const char * const pat, ...); #endif -#if defined(NEED_vmess) || defined(NEED_vmess_GLOBAL) +#if defined(NEED_sv_catpvf_mg) || defined(NEED_sv_catpvf_mg_GLOBAL) -#ifdef vmess -# undef vmess -#endif -#define vmess(a,b) DPPP_(my_vmess)(aTHX_ a,b) -#define Perl_vmess DPPP_(my_vmess) +#define Perl_sv_catpvf_mg DPPP_(my_sv_catpvf_mg) -SV* -DPPP_(my_vmess)(pTHX_ const char* pat, va_list* args) + +void +DPPP_(my_sv_catpvf_mg)(pTHX_ SV * const sv, const char * const pat, ...) { - mess(pat, args); - return PL_mess_sv; + va_list args; + va_start(args, pat); + sv_vcatpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*)); + SvSETMAGIC(sv); + va_end(args); } -#endif -#endif -#if (PERL_BCDVERSION < 0x5006000) -#undef mess +#endif #endif -#if !defined(mess_nocontext) && !defined(Perl_mess_nocontext) -#if defined(NEED_mess_nocontext) -static SV * DPPP_(my_mess_nocontext)(const char * pat, ...); +#ifdef PERL_IMPLICIT_CONTEXT +#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_catpvf_mg_nocontext) +#if defined(NEED_sv_catpvf_mg_nocontext) +static void DPPP_(my_sv_catpvf_mg_nocontext)(SV * const sv, const char * const pat, ...); static #else -extern SV * DPPP_(my_mess_nocontext)(const char * pat, ...); +extern void DPPP_(my_sv_catpvf_mg_nocontext)(SV * const sv, const char * const pat, ...); #endif -#if defined(NEED_mess_nocontext) || defined(NEED_mess_nocontext_GLOBAL) +#if defined(NEED_sv_catpvf_mg_nocontext) || defined(NEED_sv_catpvf_mg_nocontext_GLOBAL) -#define mess_nocontext DPPP_(my_mess_nocontext) -#define Perl_mess_nocontext DPPP_(my_mess_nocontext) +#define sv_catpvf_mg_nocontext DPPP_(my_sv_catpvf_mg_nocontext) +#define Perl_sv_catpvf_mg_nocontext DPPP_(my_sv_catpvf_mg_nocontext) -SV* -DPPP_(my_mess_nocontext)(const char* pat, ...) + +void +DPPP_(my_sv_catpvf_mg_nocontext)(SV * const sv, const char * const pat, ...) { - dTHX; - SV *sv; - va_list args; - va_start(args, pat); - sv = vmess(pat, &args); - va_end(args); - return sv; + dTHX; + va_list args; + va_start(args, pat); + sv_vcatpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*)); + SvSETMAGIC(sv); + va_end(args); } + +#endif #endif #endif -#ifndef mess -#if defined(NEED_mess) -static SV * DPPP_(my_mess)(pTHX_ const char * pat, ...); +/* sv_catpvf_mg depends on sv_catpvf_mg_nocontext */ +#ifndef sv_catpvf_mg +# ifdef PERL_IMPLICIT_CONTEXT +# define sv_catpvf_mg Perl_sv_catpvf_mg_nocontext +# else +# define sv_catpvf_mg Perl_sv_catpvf_mg +# endif +#endif + +#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_vcatpvf_mg) +# define sv_vcatpvf_mg(sv, pat, args) \ + STMT_START { \ + sv_vcatpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)); \ + SvSETMAGIC(sv); \ + } STMT_END +#endif + +#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_setpvf_mg) +#if defined(NEED_sv_setpvf_mg) +static void DPPP_(my_sv_setpvf_mg)(pTHX_ SV * const sv, const char * const pat, ...); static #else -extern SV * DPPP_(my_mess)(pTHX_ const char * pat, ...); +extern void DPPP_(my_sv_setpvf_mg)(pTHX_ SV * const sv, const char * const pat, ...); #endif -#if defined(NEED_mess) || defined(NEED_mess_GLOBAL) +#if defined(NEED_sv_setpvf_mg) || defined(NEED_sv_setpvf_mg_GLOBAL) -#define Perl_mess DPPP_(my_mess) +#define Perl_sv_setpvf_mg DPPP_(my_sv_setpvf_mg) -SV* -DPPP_(my_mess)(pTHX_ const char* pat, ...) + +void +DPPP_(my_sv_setpvf_mg)(pTHX_ SV * const sv, const char * const pat, ...) { - SV *sv; - va_list args; - va_start(args, pat); - sv = vmess(pat, &args); - va_end(args); - return sv; + va_list args; + va_start(args, pat); + sv_vsetpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*)); + SvSETMAGIC(sv); + va_end(args); } -#ifdef mess_nocontext -#define mess mess_nocontext -#else -#define mess Perl_mess_nocontext -#endif + #endif #endif -#ifndef mess_sv -#if defined(NEED_mess_sv) -static SV * DPPP_(my_mess_sv)(pTHX_ SV * basemsg, bool consume); +#ifdef PERL_IMPLICIT_CONTEXT +#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_setpvf_mg_nocontext) +#if defined(NEED_sv_setpvf_mg_nocontext) +static void DPPP_(my_sv_setpvf_mg_nocontext)(SV * const sv, const char * const pat, ...); static #else -extern SV * DPPP_(my_mess_sv)(pTHX_ SV * basemsg, bool consume); -#endif - -#if defined(NEED_mess_sv) || defined(NEED_mess_sv_GLOBAL) - -#ifdef mess_sv -# undef mess_sv +extern void DPPP_(my_sv_setpvf_mg_nocontext)(SV * const sv, const char * const pat, ...); #endif -#define mess_sv(a,b) DPPP_(my_mess_sv)(aTHX_ a,b) -#define Perl_mess_sv DPPP_(my_mess_sv) -SV * -DPPP_(my_mess_sv)(pTHX_ SV *basemsg, bool consume) -{ - SV *tmp; - SV *ret; +#if defined(NEED_sv_setpvf_mg_nocontext) || defined(NEED_sv_setpvf_mg_nocontext_GLOBAL) - if (SvPOK(basemsg) && SvCUR(basemsg) && *(SvEND(basemsg)-1) == '\n') { - if (consume) - return basemsg; - ret = mess(""); - SvSetSV_nosteal(ret, basemsg); - return ret; - } +#define sv_setpvf_mg_nocontext DPPP_(my_sv_setpvf_mg_nocontext) +#define Perl_sv_setpvf_mg_nocontext DPPP_(my_sv_setpvf_mg_nocontext) - if (consume) { - sv_catsv(basemsg, mess("")); - return basemsg; - } - ret = mess(""); - tmp = newSVsv(ret); - SvSetSV_nosteal(ret, basemsg); - sv_catsv(ret, tmp); - sv_dec(tmp); - return ret; +void +DPPP_(my_sv_setpvf_mg_nocontext)(SV * const sv, const char * const pat, ...) +{ + dTHX; + va_list args; + va_start(args, pat); + sv_vsetpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*)); + SvSETMAGIC(sv); + va_end(args); } + +#endif #endif #endif -#ifndef warn_nocontext -#define warn_nocontext warn +/* sv_setpvf_mg depends on sv_setpvf_mg_nocontext */ +#ifndef sv_setpvf_mg +# ifdef PERL_IMPLICIT_CONTEXT +# define sv_setpvf_mg Perl_sv_setpvf_mg_nocontext +# else +# define sv_setpvf_mg Perl_sv_setpvf_mg +# endif #endif -#ifndef croak_nocontext -#define croak_nocontext croak +#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_vsetpvf_mg) +# define sv_vsetpvf_mg(sv, pat, args) \ + STMT_START { \ + sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)); \ + SvSETMAGIC(sv); \ + } STMT_END #endif -#ifndef croak_no_modify -#define croak_no_modify() croak_nocontext("%s", PL_no_modify) -#define Perl_croak_no_modify() croak_no_modify() +/* Hint: sv_2pv_nolen + * Use the SvPV_nolen() or SvPV_nolen_const() macros instead of sv_2pv_nolen(). + */ +#ifndef sv_2pv_nolen +# define sv_2pv_nolen(sv) SvPV_nolen(sv) #endif -#ifndef croak_memory_wrap -#if (PERL_BCDVERSION >= 0x5009002) || ( (PERL_BCDVERSION >= 0x5008006) && (PERL_BCDVERSION < 0x5009000) ) -# define croak_memory_wrap() croak_nocontext("%s", PL_memory_wrap) -#else -# define croak_memory_wrap() croak_nocontext("panic: memory wrap") +#ifdef SvPVbyte + +/* Hint: SvPVbyte + * Does not work in perl-5.6.1, ppport.h implements a version + * borrowed from perl-5.7.3. + */ + +#if (PERL_BCDVERSION < 0x5007000) +#ifndef sv_2pvbyte +# define sv_2pvbyte(sv, lp) (sv_utf8_downgrade((sv), 0), SvPV((sv), *(lp))) #endif + +/* Hint: sv_2pvbyte + * Use the SvPVbyte() macro instead of sv_2pvbyte(). + */ + +/* Replace sv_2pvbyte with SvPVbyte */ + +#undef SvPVbyte + +#define SvPVbyte(sv, lp) \ + ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8)) == (SVf_POK) \ + ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pvbyte(sv, &lp)) + #endif -#ifndef croak_xs_usage -#if defined(NEED_croak_xs_usage) -static void DPPP_(my_croak_xs_usage)(const CV * const cv, const char * const params); -static #else -extern void DPPP_(my_croak_xs_usage)(const CV * const cv, const char * const params); + +# define SvPVbyte SvPV +# define sv_2pvbyte sv_2pv + +#endif +#ifndef sv_2pvbyte_nolen +# define sv_2pvbyte_nolen(sv) sv_2pv_nolen(sv) #endif -#if defined(NEED_croak_xs_usage) || defined(NEED_croak_xs_usage_GLOBAL) +/* Hint: sv_pvn + * Always use the SvPV() macro instead of sv_pvn(). + */ -#define croak_xs_usage DPPP_(my_croak_xs_usage) -#define Perl_croak_xs_usage DPPP_(my_croak_xs_usage) +/* Replace sv_pvn with SvPV */ + +/* Hint: sv_pvn_force + * Always use the SvPV_force() macro instead of sv_pvn_force(). + */ +/* Replace sv_pvn_force with SvPV_force */ -#ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE -#define PERL_ARGS_ASSERT_CROAK_XS_USAGE assert(cv); assert(params) +/* If these are undefined, they're not handled by the core anyway */ +#ifndef SV_IMMEDIATE_UNREF +# define SV_IMMEDIATE_UNREF 0 #endif -void -DPPP_(my_croak_xs_usage)(const CV *const cv, const char *const params) -{ - dTHX; - const GV *const gv = CvGV(cv); +#ifndef SV_GMAGIC +# define SV_GMAGIC 0 +#endif - PERL_ARGS_ASSERT_CROAK_XS_USAGE; +#ifndef SV_COW_DROP_PV +# define SV_COW_DROP_PV 0 +#endif - if (gv) { - const char *const gvname = GvNAME(gv); - const HV *const stash = GvSTASH(gv); - const char *const hvname = stash ? HvNAME(stash) : NULL; +#ifndef SV_UTF8_NO_ENCODING +# define SV_UTF8_NO_ENCODING 0 +#endif - if (hvname) - croak("Usage: %s::%s(%s)", hvname, gvname, params); - else - croak("Usage: %s(%s)", gvname, params); - } else { - /* Pants. I don't think that it should be possible to get here. */ - croak("Usage: CODE(0x%" UVxf ")(%s)", PTR2UV(cv), params); - } -} +#ifndef SV_CONST_RETURN +# define SV_CONST_RETURN 0 #endif + +#ifndef SV_MUTABLE_RETURN +# define SV_MUTABLE_RETURN 0 #endif -#ifndef PERL_SIGNALS_UNSAFE_FLAG +#ifndef SV_SMAGIC +# define SV_SMAGIC 0 +#endif -#define PERL_SIGNALS_UNSAFE_FLAG 0x0001 +#ifndef SV_HAS_TRAILING_NUL +# define SV_HAS_TRAILING_NUL 0 +#endif -#if (PERL_BCDVERSION < 0x5008000) -# define D_PPP_PERL_SIGNALS_INIT PERL_SIGNALS_UNSAFE_FLAG -#else -# define D_PPP_PERL_SIGNALS_INIT 0 +#ifndef SV_COW_SHARED_HASH_KEYS +# define SV_COW_SHARED_HASH_KEYS 0 #endif -#if defined(NEED_PL_signals) -static U32 DPPP_(my_PL_signals) = D_PPP_PERL_SIGNALS_INIT; -#elif defined(NEED_PL_signals_GLOBAL) -U32 DPPP_(my_PL_signals) = D_PPP_PERL_SIGNALS_INIT; -#else -extern U32 DPPP_(my_PL_signals); +#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) +#ifndef sv_2pv_flags +# define sv_2pv_flags(sv, lp, flags) ({ SV *_sv = (sv); const I32 _flags = (flags); STRLEN *_lp = lp; _lp = _lp ? : &PL_na; (!(_flags & SV_GMAGIC) && SvGMAGICAL(_sv)) ? ({ char *_pv; SvGMAGICAL_off(_sv); _pv = sv_2pv(_sv, _lp); SvGMAGICAL_on(_sv); _pv; }) : sv_2pv(_sv, _lp); }) #endif -#define PL_signals DPPP_(my_PL_signals) +#ifndef sv_pvn_force_flags +# define sv_pvn_force_flags(sv, lp, flags) ({ SV *_sv = (sv); const I32 _flags = (flags); STRLEN *_lp = lp; _lp = _lp ? : &PL_na; (!(_flags & SV_GMAGIC) && SvGMAGICAL(_sv)) ? ({ char *_pv; SvGMAGICAL_off(_sv); _pv = sv_pvn_force(_sv, _lp); SvGMAGICAL_on(_sv); _pv; }) : sv_pvn_force(_sv, _lp); }) #endif -/* Hint: PL_ppaddr - * Calling an op via PL_ppaddr requires passing a context argument - * for threaded builds. Since the context argument is different for - * 5.005 perls, you can use aTHXR (supplied by ppport.h), which will - * automatically be defined as the correct argument. - */ +#else +#ifndef sv_2pv_flags +# define sv_2pv_flags(sv, lp, flags) ((PL_Sv = (sv)), (!((flags) & SV_GMAGIC) && SvGMAGICAL(PL_Sv)) ? (SvGMAGICAL_off(PL_Sv), (PL_Xpv = (XPV *)sv_2pv(PL_Sv, (lp) ? (lp) : &PL_na)), SvGMAGICAL_on(PL_Sv), (char *)PL_Xpv) : sv_2pv(PL_Sv, (lp) ? (lp) : &PL_na)) +#endif -#if (PERL_BCDVERSION <= 0x5005005) -/* Replace: 1 */ -# define PL_ppaddr ppaddr -# define PL_no_modify no_modify -/* Replace: 0 */ +#ifndef sv_pvn_force_flags +# define sv_pvn_force_flags(sv, lp, flags) ((PL_Sv = (sv)), (!((flags) & SV_GMAGIC) && SvGMAGICAL(PL_Sv)) ? (SvGMAGICAL_off(PL_Sv), (PL_Xpv = (XPV *)sv_pvn_force(PL_Sv, (lp) ? (lp) : &PL_na)), SvGMAGICAL_on(PL_Sv), (char *)PL_Xpv) : sv_pvn_force(PL_Sv, (lp) ? (lp) : &PL_na)) #endif -#if (PERL_BCDVERSION <= 0x5004005) -/* Replace: 1 */ -# define PL_DBsignal DBsignal -# define PL_DBsingle DBsingle -# define PL_DBsub DBsub -# define PL_DBtrace DBtrace -# define PL_Sv Sv -# define PL_bufend bufend -# define PL_bufptr bufptr -# define PL_compiling compiling -# define PL_copline copline -# define PL_curcop curcop -# define PL_curstash curstash -# define PL_debstash debstash -# define PL_defgv defgv -# define PL_diehook diehook -# define PL_dirty dirty -# define PL_dowarn dowarn -# define PL_errgv errgv -# define PL_error_count error_count -# define PL_expect expect -# define PL_hexdigit hexdigit -# define PL_hints hints -# define PL_in_my in_my -# define PL_laststatval laststatval -# define PL_lex_state lex_state -# define PL_lex_stuff lex_stuff -# define PL_linestr linestr -# define PL_na na -# define PL_perl_destruct_level perl_destruct_level -# define PL_perldb perldb -# define PL_rsfp_filters rsfp_filters -# define PL_rsfp rsfp -# define PL_stack_base stack_base -# define PL_stack_sp stack_sp -# define PL_statcache statcache -# define PL_stdingv stdingv -# define PL_sv_arenaroot sv_arenaroot -# define PL_sv_no sv_no -# define PL_sv_undef sv_undef -# define PL_sv_yes sv_yes -# define PL_tainted tainted -# define PL_tainting tainting -# define PL_tokenbuf tokenbuf -/* Replace: 0 */ #endif -/* Warning: PL_parser - * For perl versions earlier than 5.9.5, this is an always - * non-NULL dummy. Also, it cannot be dereferenced. Don't - * use it if you can avoid is and unless you absolutely know - * what you're doing. - * If you always check that PL_parser is non-NULL, you can - * define DPPP_PL_parser_NO_DUMMY to avoid the creation of - * a dummy parser structure. - */ - -#if (PERL_BCDVERSION >= 0x5009005) -# ifdef DPPP_PL_parser_NO_DUMMY -# define D_PPP_my_PL_parser_var(var) ((PL_parser ? PL_parser : \ - (croak("panic: PL_parser == NULL in %s:%d", \ - __FILE__, __LINE__), (yy_parser *) NULL))->var) -# else -# ifdef DPPP_PL_parser_NO_DUMMY_WARNING -# define D_PPP_parser_dummy_warning(var) -# else -# define D_PPP_parser_dummy_warning(var) \ - warn("warning: dummy PL_" #var " used in %s:%d", __FILE__, __LINE__), -# endif -# define D_PPP_my_PL_parser_var(var) ((PL_parser ? PL_parser : \ - (D_PPP_parser_dummy_warning(var) &DPPP_(dummy_PL_parser)))->var) -#if defined(NEED_PL_parser) -static yy_parser DPPP_(dummy_PL_parser); -#elif defined(NEED_PL_parser_GLOBAL) -yy_parser DPPP_(dummy_PL_parser); +#if (PERL_BCDVERSION < 0x5008008) || ( (PERL_BCDVERSION >= 0x5009000) && (PERL_BCDVERSION < 0x5009003) ) +# define D_PPP_SVPV_NOLEN_LP_ARG &PL_na #else -extern yy_parser DPPP_(dummy_PL_parser); +# define D_PPP_SVPV_NOLEN_LP_ARG 0 +#endif +#ifndef SvPV_const +# define SvPV_const(sv, lp) SvPV_flags_const(sv, lp, SV_GMAGIC) #endif -# endif - -/* PL_expect, PL_copline, PL_rsfp, PL_rsfp_filters, PL_linestr, PL_bufptr, PL_bufend, PL_lex_state, PL_lex_stuff, PL_tokenbuf depends on PL_parser */ -/* Warning: PL_expect, PL_copline, PL_rsfp, PL_rsfp_filters, PL_linestr, PL_bufptr, PL_bufend, PL_lex_state, PL_lex_stuff, PL_tokenbuf - * Do not use this variable unless you know exactly what you're - * doing. It is internal to the perl parser and may change or even - * be removed in the future. As of perl 5.9.5, you have to check - * for (PL_parser != NULL) for this variable to have any effect. - * An always non-NULL PL_parser dummy is provided for earlier - * perl versions. - * If PL_parser is NULL when you try to access this variable, a - * dummy is being accessed instead and a warning is issued unless - * you define DPPP_PL_parser_NO_DUMMY_WARNING. - * If DPPP_PL_parser_NO_DUMMY is defined, the code trying to access - * this variable will croak with a panic message. - */ - -# define PL_expect D_PPP_my_PL_parser_var(expect) -# define PL_copline D_PPP_my_PL_parser_var(copline) -# define PL_rsfp D_PPP_my_PL_parser_var(rsfp) -# define PL_rsfp_filters D_PPP_my_PL_parser_var(rsfp_filters) -# define PL_linestr D_PPP_my_PL_parser_var(linestr) -# define PL_bufptr D_PPP_my_PL_parser_var(bufptr) -# define PL_bufend D_PPP_my_PL_parser_var(bufend) -# define PL_lex_state D_PPP_my_PL_parser_var(lex_state) -# define PL_lex_stuff D_PPP_my_PL_parser_var(lex_stuff) -# define PL_tokenbuf D_PPP_my_PL_parser_var(tokenbuf) -# define PL_in_my D_PPP_my_PL_parser_var(in_my) -# define PL_in_my_stash D_PPP_my_PL_parser_var(in_my_stash) -# define PL_error_count D_PPP_my_PL_parser_var(error_count) +#ifndef SvPV_mutable +# define SvPV_mutable(sv, lp) SvPV_flags_mutable(sv, lp, SV_GMAGIC) +#endif +#ifndef SvPV_flags +# define SvPV_flags(sv, lp, flags) \ + ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \ + ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pv_flags(sv, &lp, flags)) +#endif +#ifndef SvPV_flags_const +# define SvPV_flags_const(sv, lp, flags) \ + ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \ + ? ((lp = SvCUR(sv)), SvPVX_const(sv)) : \ + (const char*) sv_2pv_flags(sv, &lp, flags|SV_CONST_RETURN)) +#endif +#ifndef SvPV_flags_const_nolen +# define SvPV_flags_const_nolen(sv, flags) \ + ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \ + ? SvPVX_const(sv) : \ + (const char*) sv_2pv_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, flags|SV_CONST_RETURN)) +#endif +#ifndef SvPV_flags_mutable +# define SvPV_flags_mutable(sv, lp, flags) \ + ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \ + ? ((lp = SvCUR(sv)), SvPVX_mutable(sv)) : \ + sv_2pv_flags(sv, &lp, flags|SV_MUTABLE_RETURN)) +#endif +#ifndef SvPV_force +# define SvPV_force(sv, lp) SvPV_force_flags(sv, lp, SV_GMAGIC) +#endif +#ifndef SvPV_force_nolen +# define SvPV_force_nolen(sv) SvPV_force_flags_nolen(sv, SV_GMAGIC) +#endif -#else +#ifndef SvPV_force_mutable +# define SvPV_force_mutable(sv, lp) SvPV_force_flags_mutable(sv, lp, SV_GMAGIC) +#endif -/* ensure that PL_parser != NULL and cannot be dereferenced */ -# define PL_parser ((void *) 1) +#ifndef SvPV_force_nomg +# define SvPV_force_nomg(sv, lp) SvPV_force_flags(sv, lp, 0) +#endif +#ifndef SvPV_force_nomg_nolen +# define SvPV_force_nomg_nolen(sv) SvPV_force_flags_nolen(sv, 0) #endif -#ifndef mPUSHs -# define mPUSHs(s) PUSHs(sv_2mortal(s)) +#ifndef SvPV_force_flags +# define SvPV_force_flags(sv, lp, flags) \ + ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \ + ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_pvn_force_flags(sv, &lp, flags)) #endif - -#ifndef PUSHmortal -# define PUSHmortal PUSHs(sv_newmortal()) +#ifndef SvPV_force_flags_nolen +# define SvPV_force_flags_nolen(sv, flags) \ + ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \ + ? SvPVX(sv) : sv_pvn_force_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, flags)) #endif - -#ifndef mPUSHp -# define mPUSHp(p,l) sv_setpvn(PUSHmortal, (p), (l)) +#ifndef SvPV_force_flags_mutable +# define SvPV_force_flags_mutable(sv, lp, flags) \ + ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \ + ? ((lp = SvCUR(sv)), SvPVX_mutable(sv)) \ + : sv_pvn_force_flags(sv, &lp, flags|SV_MUTABLE_RETURN)) +#endif +#ifndef SvPV_nolen +# define SvPV_nolen(sv) \ + ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \ + ? SvPVX(sv) : sv_2pv_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, SV_GMAGIC)) +#endif +#ifndef SvPV_nolen_const +# define SvPV_nolen_const(sv) \ + ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \ + ? SvPVX_const(sv) : sv_2pv_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, SV_GMAGIC|SV_CONST_RETURN)) +#endif +#ifndef SvPV_nomg +# define SvPV_nomg(sv, lp) SvPV_flags(sv, lp, 0) #endif -#ifndef mPUSHn -# define mPUSHn(n) sv_setnv(PUSHmortal, (NV)(n)) +#ifndef SvPV_nomg_const +# define SvPV_nomg_const(sv, lp) SvPV_flags_const(sv, lp, 0) #endif -#ifndef mPUSHi -# define mPUSHi(i) sv_setiv(PUSHmortal, (IV)(i)) +#ifndef SvPV_nomg_const_nolen +# define SvPV_nomg_const_nolen(sv) SvPV_flags_const_nolen(sv, 0) #endif -#ifndef mPUSHu -# define mPUSHu(u) sv_setuv(PUSHmortal, (UV)(u)) +#ifndef SvPV_nomg_nolen +# define SvPV_nomg_nolen(sv) ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \ + ? SvPVX(sv) : sv_2pv_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, 0)) #endif -#ifndef mXPUSHs -# define mXPUSHs(s) XPUSHs(sv_2mortal(s)) +#ifndef SvPV_renew +# define SvPV_renew(sv,n) STMT_START { SvLEN_set(sv, n); \ + SvPV_set((sv), (char *) saferealloc( \ + (Malloc_t)SvPVX(sv), (MEM_SIZE)((n)))); \ + } STMT_END +#endif +#ifndef WARN_ALL +# define WARN_ALL 0 #endif -#ifndef XPUSHmortal -# define XPUSHmortal XPUSHs(sv_newmortal()) +#ifndef WARN_CLOSURE +# define WARN_CLOSURE 1 #endif -#ifndef mXPUSHp -# define mXPUSHp(p,l) STMT_START { EXTEND(sp,1); sv_setpvn(PUSHmortal, (p), (l)); } STMT_END +#ifndef WARN_DEPRECATED +# define WARN_DEPRECATED 2 #endif -#ifndef mXPUSHn -# define mXPUSHn(n) STMT_START { EXTEND(sp,1); sv_setnv(PUSHmortal, (NV)(n)); } STMT_END +#ifndef WARN_EXITING +# define WARN_EXITING 3 #endif -#ifndef mXPUSHi -# define mXPUSHi(i) STMT_START { EXTEND(sp,1); sv_setiv(PUSHmortal, (IV)(i)); } STMT_END +#ifndef WARN_GLOB +# define WARN_GLOB 4 #endif -#ifndef mXPUSHu -# define mXPUSHu(u) STMT_START { EXTEND(sp,1); sv_setuv(PUSHmortal, (UV)(u)); } STMT_END +#ifndef WARN_IO +# define WARN_IO 5 #endif -/* Replace: 1 */ -#ifndef call_sv -# define call_sv perl_call_sv +#ifndef WARN_CLOSED +# define WARN_CLOSED 6 #endif -#ifndef call_pv -# define call_pv perl_call_pv +#ifndef WARN_EXEC +# define WARN_EXEC 7 #endif -#ifndef call_argv -# define call_argv perl_call_argv +#ifndef WARN_LAYER +# define WARN_LAYER 8 #endif -#ifndef call_method -# define call_method perl_call_method +#ifndef WARN_NEWLINE +# define WARN_NEWLINE 9 #endif -#ifndef eval_sv -# define eval_sv perl_eval_sv + +#ifndef WARN_PIPE +# define WARN_PIPE 10 #endif -/* Replace: 0 */ -#ifndef PERL_LOADMOD_DENY -# define PERL_LOADMOD_DENY 0x1 +#ifndef WARN_UNOPENED +# define WARN_UNOPENED 11 #endif -#ifndef PERL_LOADMOD_NOIMPORT -# define PERL_LOADMOD_NOIMPORT 0x2 +#ifndef WARN_MISC +# define WARN_MISC 12 #endif -#ifndef PERL_LOADMOD_IMPORT_OPS -# define PERL_LOADMOD_IMPORT_OPS 0x4 +#ifndef WARN_NUMERIC +# define WARN_NUMERIC 13 #endif -#ifndef G_METHOD -# define G_METHOD 64 -# ifdef call_sv -# undef call_sv -# endif -# if (PERL_BCDVERSION < 0x5006000) -# define call_sv(sv, flags) ((flags) & G_METHOD ? perl_call_method((char *) SvPV_nolen_const(sv), \ - (flags) & ~G_METHOD) : perl_call_sv(sv, flags)) -# else -# define call_sv(sv, flags) ((flags) & G_METHOD ? Perl_call_method(aTHX_ (char *) SvPV_nolen_const(sv), \ - (flags) & ~G_METHOD) : Perl_call_sv(aTHX_ sv, flags)) -# endif +#ifndef WARN_ONCE +# define WARN_ONCE 14 #endif -/* Replace perl_eval_pv with eval_pv */ - -#ifndef eval_pv -#if defined(NEED_eval_pv) -static SV* DPPP_(my_eval_pv)(char *p, I32 croak_on_error); -static -#else -extern SV* DPPP_(my_eval_pv)(char *p, I32 croak_on_error); +#ifndef WARN_OVERFLOW +# define WARN_OVERFLOW 15 #endif -#if defined(NEED_eval_pv) || defined(NEED_eval_pv_GLOBAL) +#ifndef WARN_PACK +# define WARN_PACK 16 +#endif -#ifdef eval_pv -# undef eval_pv +#ifndef WARN_PORTABLE +# define WARN_PORTABLE 17 #endif -#define eval_pv(a,b) DPPP_(my_eval_pv)(aTHX_ a,b) -#define Perl_eval_pv DPPP_(my_eval_pv) +#ifndef WARN_RECURSION +# define WARN_RECURSION 18 +#endif -SV* -DPPP_(my_eval_pv)(char *p, I32 croak_on_error) -{ - dSP; - SV* sv = newSVpv(p, 0); +#ifndef WARN_REDEFINE +# define WARN_REDEFINE 19 +#endif - PUSHMARK(sp); - eval_sv(sv, G_SCALAR); - SvREFCNT_dec(sv); +#ifndef WARN_REGEXP +# define WARN_REGEXP 20 +#endif - SPAGAIN; - sv = POPs; - PUTBACK; +#ifndef WARN_SEVERE +# define WARN_SEVERE 21 +#endif - if (croak_on_error && SvTRUEx(ERRSV)) - croak_sv(ERRSV); +#ifndef WARN_DEBUGGING +# define WARN_DEBUGGING 22 +#endif - return sv; -} +#ifndef WARN_INPLACE +# define WARN_INPLACE 23 +#endif +#ifndef WARN_INTERNAL +# define WARN_INTERNAL 24 #endif + +#ifndef WARN_MALLOC +# define WARN_MALLOC 25 #endif -#ifndef vload_module -#if defined(NEED_vload_module) -static void DPPP_(my_vload_module)(U32 flags, SV *name, SV *ver, va_list *args); -static -#else -extern void DPPP_(my_vload_module)(U32 flags, SV *name, SV *ver, va_list *args); +#ifndef WARN_SIGNAL +# define WARN_SIGNAL 26 #endif -#if defined(NEED_vload_module) || defined(NEED_vload_module_GLOBAL) +#ifndef WARN_SUBSTR +# define WARN_SUBSTR 27 +#endif -#ifdef vload_module -# undef vload_module +#ifndef WARN_SYNTAX +# define WARN_SYNTAX 28 #endif -#define vload_module(a,b,c,d) DPPP_(my_vload_module)(aTHX_ a,b,c,d) -#define Perl_vload_module DPPP_(my_vload_module) +#ifndef WARN_AMBIGUOUS +# define WARN_AMBIGUOUS 29 +#endif -void -DPPP_(my_vload_module)(U32 flags, SV *name, SV *ver, va_list *args) -{ - dTHR; - dVAR; - OP *veop, *imop; +#ifndef WARN_BAREWORD +# define WARN_BAREWORD 30 +#endif - OP * const modname = newSVOP(OP_CONST, 0, name); - /* 5.005 has a somewhat hacky force_normal that doesn't croak on - SvREADONLY() if PL_compling is true. Current perls take care in - ck_require() to correctly turn off SvREADONLY before calling - force_normal_flags(). This seems a better fix than fudging PL_compling - */ - SvREADONLY_off(((SVOP*)modname)->op_sv); - modname->op_private |= OPpCONST_BARE; - if (ver) { - veop = newSVOP(OP_CONST, 0, ver); - } - else - veop = NULL; - if (flags & PERL_LOADMOD_NOIMPORT) { - imop = sawparens(newNULLLIST()); - } - else if (flags & PERL_LOADMOD_IMPORT_OPS) { - imop = va_arg(*args, OP*); - } - else { - SV *sv; - imop = NULL; - sv = va_arg(*args, SV*); - while (sv) { - imop = append_elem(OP_LIST, imop, newSVOP(OP_CONST, 0, sv)); - sv = va_arg(*args, SV*); - } - } - { - const line_t ocopline = PL_copline; - COP * const ocurcop = PL_curcop; - const int oexpect = PL_expect; +#ifndef WARN_DIGIT +# define WARN_DIGIT 31 +#endif -#if (PERL_BCDVERSION >= 0x5004000) - utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(FALSE, 0), - veop, modname, imop); -#elif (PERL_BCDVERSION > 0x5003000) - utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(), - veop, modname, imop); -#else - utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(), - modname, imop); +#ifndef WARN_PARENTHESIS +# define WARN_PARENTHESIS 32 #endif - PL_expect = oexpect; - PL_copline = ocopline; - PL_curcop = ocurcop; - } -} +#ifndef WARN_PRECEDENCE +# define WARN_PRECEDENCE 33 #endif + +#ifndef WARN_PRINTF +# define WARN_PRINTF 34 #endif -#ifndef load_module -#if defined(NEED_load_module) -static void DPPP_(my_load_module)(U32 flags, SV *name, SV *ver, ...); -static -#else -extern void DPPP_(my_load_module)(U32 flags, SV *name, SV *ver, ...); +#ifndef WARN_PROTOTYPE +# define WARN_PROTOTYPE 35 #endif -#if defined(NEED_load_module) || defined(NEED_load_module_GLOBAL) +#ifndef WARN_QW +# define WARN_QW 36 +#endif -#ifdef load_module -# undef load_module +#ifndef WARN_RESERVED +# define WARN_RESERVED 37 #endif -#define load_module DPPP_(my_load_module) -#define Perl_load_module DPPP_(my_load_module) +#ifndef WARN_SEMICOLON +# define WARN_SEMICOLON 38 +#endif -void -DPPP_(my_load_module)(U32 flags, SV *name, SV *ver, ...) -{ - va_list args; - va_start(args, ver); - vload_module(flags, name, ver, &args); - va_end(args); -} +#ifndef WARN_TAINT +# define WARN_TAINT 39 +#endif +#ifndef WARN_THREADS +# define WARN_THREADS 40 #endif + +#ifndef WARN_UNINITIALIZED +# define WARN_UNINITIALIZED 41 #endif -#ifndef newRV_inc -# define newRV_inc(sv) newRV(sv) /* Replace */ + +#ifndef WARN_UNPACK +# define WARN_UNPACK 42 #endif -#ifndef newRV_noinc -#if defined(NEED_newRV_noinc) -static SV * DPPP_(my_newRV_noinc)(SV *sv); -static -#else -extern SV * DPPP_(my_newRV_noinc)(SV *sv); +#ifndef WARN_UNTIE +# define WARN_UNTIE 43 #endif -#if defined(NEED_newRV_noinc) || defined(NEED_newRV_noinc_GLOBAL) +#ifndef WARN_UTF8 +# define WARN_UTF8 44 +#endif -#ifdef newRV_noinc -# undef newRV_noinc +#ifndef WARN_VOID +# define WARN_VOID 45 #endif -#define newRV_noinc(a) DPPP_(my_newRV_noinc)(aTHX_ a) -#define Perl_newRV_noinc DPPP_(my_newRV_noinc) -SV * -DPPP_(my_newRV_noinc)(SV *sv) -{ - SV *rv = (SV *)newRV(sv); - SvREFCNT_dec(sv); - return rv; -} +#ifndef WARN_ASSERTIONS +# define WARN_ASSERTIONS 46 #endif +#ifndef packWARN +# define packWARN(a) (a) #endif -/* Hint: newCONSTSUB - * Returns a CV* as of perl-5.7.1. This return value is not supported - * by Devel::PPPort. - */ +#ifndef ckWARN +# ifdef G_WARN_ON +# define ckWARN(a) (PL_dowarn & G_WARN_ON) +# else +# define ckWARN(a) PL_dowarn +# endif +#endif -/* newCONSTSUB from IO.xs is in the core starting with 5.004_63 */ -#if (PERL_BCDVERSION < 0x5004063) && (PERL_BCDVERSION != 0x5004005) -#if defined(NEED_newCONSTSUB) -static void DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv); +#if (PERL_BCDVERSION >= 0x5004000) && !defined(warner) +#if defined(NEED_warner) +static void DPPP_(my_warner)(U32 err, const char * pat, ...); static #else -extern void DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv); +extern void DPPP_(my_warner)(U32 err, const char * pat, ...); #endif -#if defined(NEED_newCONSTSUB) || defined(NEED_newCONSTSUB_GLOBAL) - -#ifdef newCONSTSUB -# undef newCONSTSUB -#endif -#define newCONSTSUB(a,b,c) DPPP_(my_newCONSTSUB)(aTHX_ a,b,c) -#define Perl_newCONSTSUB DPPP_(my_newCONSTSUB) +#if defined(NEED_warner) || defined(NEED_warner_GLOBAL) +#define Perl_warner DPPP_(my_warner) -/* This is just a trick to avoid a dependency of newCONSTSUB on PL_parser */ -/* (There's no PL_parser in perl < 5.005, so this is completely safe) */ -#define D_PPP_PL_copline PL_copline void -DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv) +DPPP_(my_warner)(U32 err, const char *pat, ...) { - U32 oldhints = PL_hints; - HV *old_cop_stash = PL_curcop->cop_stash; - HV *old_curstash = PL_curstash; - line_t oldline = PL_curcop->cop_line; - PL_curcop->cop_line = D_PPP_PL_copline; + SV *sv; + va_list args; - PL_hints &= ~HINT_BLOCK_SCOPE; - if (stash) - PL_curstash = PL_curcop->cop_stash = stash; + PERL_UNUSED_ARG(err); - newSUB( - -#if (PERL_BCDVERSION < 0x5003022) - start_subparse(), -#elif (PERL_BCDVERSION == 0x5003022) - start_subparse(0), -#else /* 5.003_23 onwards */ - start_subparse(FALSE, 0), -#endif - - newSVOP(OP_CONST, 0, newSVpv((char *) name, 0)), - newSVOP(OP_CONST, 0, &PL_sv_no), /* SvPV(&PL_sv_no) == "" -- GMB */ - newSTATEOP(0, Nullch, newSVOP(OP_CONST, 0, sv)) - ); - - PL_hints = oldhints; - PL_curcop->cop_stash = old_cop_stash; - PL_curstash = old_curstash; - PL_curcop->cop_line = oldline; + va_start(args, pat); + sv = vnewSVpvf(pat, &args); + va_end(args); + sv_2mortal(sv); + warn("%s", SvPV_nolen(sv)); } -#endif -#endif - -/* - * Boilerplate macros for initializing and accessing interpreter-local - * data from C. All statics in extensions should be reworked to use - * this, if you want to make the extension thread-safe. See ext/re/re.xs - * for an example of the use of these macros. - * - * Code that uses these macros is responsible for the following: - * 1. #define MY_CXT_KEY to a unique string, e.g. "DynaLoader_guts" - * 2. Declare a typedef named my_cxt_t that is a structure that contains - * all the data that needs to be interpreter-local. - * 3. Use the START_MY_CXT macro after the declaration of my_cxt_t. - * 4. Use the MY_CXT_INIT macro such that it is called exactly once - * (typically put in the BOOT: section). - * 5. Use the members of the my_cxt_t structure everywhere as - * MY_CXT.member. - * 6. Use the dMY_CXT macro (a declaration) in all the functions that - * access MY_CXT. - */ - -#if defined(MULTIPLICITY) || defined(PERL_OBJECT) || \ - defined(PERL_CAPI) || defined(PERL_IMPLICIT_CONTEXT) - -#ifndef START_MY_CXT - -/* This must appear in all extensions that define a my_cxt_t structure, - * right after the definition (i.e. at file scope). The non-threads - * case below uses it to declare the data as static. */ -#define START_MY_CXT - -#if (PERL_BCDVERSION < 0x5004068) -/* Fetches the SV that keeps the per-interpreter data. */ -#define dMY_CXT_SV \ - SV *my_cxt_sv = get_sv(MY_CXT_KEY, FALSE) -#else /* >= perl5.004_68 */ -#define dMY_CXT_SV \ - SV *my_cxt_sv = *hv_fetch(PL_modglobal, MY_CXT_KEY, \ - sizeof(MY_CXT_KEY)-1, TRUE) -#endif /* < perl5.004_68 */ - -/* This declaration should be used within all functions that use the - * interpreter-local data. */ -#define dMY_CXT \ - dMY_CXT_SV; \ - my_cxt_t *my_cxtp = INT2PTR(my_cxt_t*,SvUV(my_cxt_sv)) - -/* Creates and zeroes the per-interpreter data. - * (We allocate my_cxtp in a Perl SV so that it will be released when - * the interpreter goes away.) */ -#define MY_CXT_INIT \ - dMY_CXT_SV; \ - /* newSV() allocates one more than needed */ \ - my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\ - Zero(my_cxtp, 1, my_cxt_t); \ - sv_setuv(my_cxt_sv, PTR2UV(my_cxtp)) - -/* This macro must be used to access members of the my_cxt_t structure. - * e.g. MYCXT.some_data */ -#define MY_CXT (*my_cxtp) - -/* Judicious use of these macros can reduce the number of times dMY_CXT - * is used. Use is similar to pTHX, aTHX etc. */ -#define pMY_CXT my_cxt_t *my_cxtp -#define pMY_CXT_ pMY_CXT, -#define _pMY_CXT ,pMY_CXT -#define aMY_CXT my_cxtp -#define aMY_CXT_ aMY_CXT, -#define _aMY_CXT ,aMY_CXT - -#endif /* START_MY_CXT */ - -#ifndef MY_CXT_CLONE -/* Clones the per-interpreter data. */ -#define MY_CXT_CLONE \ - dMY_CXT_SV; \ - my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\ - Copy(INT2PTR(my_cxt_t*, SvUV(my_cxt_sv)), my_cxtp, 1, my_cxt_t);\ - sv_setuv(my_cxt_sv, PTR2UV(my_cxtp)) -#endif - -#else /* single interpreter */ - -#ifndef START_MY_CXT - -#define START_MY_CXT static my_cxt_t my_cxt; -#define dMY_CXT_SV dNOOP -#define dMY_CXT dNOOP -#define MY_CXT_INIT NOOP -#define MY_CXT my_cxt -#define pMY_CXT void -#define pMY_CXT_ -#define _pMY_CXT -#define aMY_CXT -#define aMY_CXT_ -#define _aMY_CXT +#define warner Perl_warner -#endif /* START_MY_CXT */ +#define Perl_warner_nocontext Perl_warner -#ifndef MY_CXT_CLONE -#define MY_CXT_CLONE NOOP #endif - #endif #ifndef IVdf @@ -7953,1326 +10538,1798 @@ DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv) # define NVgf "g" # endif #endif - -#ifndef SvREFCNT_inc -# ifdef PERL_USE_GCC_BRACE_GROUPS -# define SvREFCNT_inc(sv) \ - ({ \ - SV * const _sv = (SV*)(sv); \ - if (_sv) \ - (SvREFCNT(_sv))++; \ - _sv; \ - }) -# else -# define SvREFCNT_inc(sv) \ - ((PL_Sv=(SV*)(sv)) ? (++(SvREFCNT(PL_Sv)),PL_Sv) : NULL) -# endif +#ifndef sv_setuv +# define sv_setuv(sv, uv) \ + STMT_START { \ + UV TeMpUv = uv; \ + if (TeMpUv <= IV_MAX) \ + sv_setiv(sv, TeMpUv); \ + else \ + sv_setnv(sv, (double)TeMpUv); \ + } STMT_END +#endif +#ifndef newSVuv +# define newSVuv(uv) ((uv) <= IV_MAX ? newSViv((IV)uv) : newSVnv((NV)uv)) #endif -#ifndef SvREFCNT_inc_simple -# ifdef PERL_USE_GCC_BRACE_GROUPS -# define SvREFCNT_inc_simple(sv) \ - ({ \ - if (sv) \ - (SvREFCNT(sv))++; \ - (SV *)(sv); \ - }) -# else -# define SvREFCNT_inc_simple(sv) \ - ((sv) ? (SvREFCNT(sv)++,(SV*)(sv)) : NULL) -# endif +#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) +#ifndef sv_2uv +# define sv_2uv(sv) ({ SV *_sv = (sv); (UV) (SvNOK(_sv) ? SvNV(_sv) : sv_2nv(_sv)); }) #endif -#ifndef SvREFCNT_inc_NN -# ifdef PERL_USE_GCC_BRACE_GROUPS -# define SvREFCNT_inc_NN(sv) \ - ({ \ - SV * const _sv = (SV*)(sv); \ - SvREFCNT(_sv)++; \ - _sv; \ - }) -# else -# define SvREFCNT_inc_NN(sv) \ - (PL_Sv=(SV*)(sv),++(SvREFCNT(PL_Sv)),PL_Sv) -# endif +#else +#ifndef sv_2uv +# define sv_2uv(sv) ((PL_Sv = (sv)), (UV) (SvNOK(PL_Sv) ? SvNV(PL_Sv) : sv_2nv(PL_Sv))) #endif -#ifndef SvREFCNT_inc_void -# ifdef PERL_USE_GCC_BRACE_GROUPS -# define SvREFCNT_inc_void(sv) \ - ({ \ - SV * const _sv = (SV*)(sv); \ - if (_sv) \ - (void)(SvREFCNT(_sv)++); \ - }) -# else -# define SvREFCNT_inc_void(sv) \ - (void)((PL_Sv=(SV*)(sv)) ? ++(SvREFCNT(PL_Sv)) : 0) -# endif #endif -#ifndef SvREFCNT_inc_simple_void -# define SvREFCNT_inc_simple_void(sv) STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END +#ifndef SvUVX +# define SvUVX(sv) ((UV)SvIVX(sv)) #endif -#ifndef SvREFCNT_inc_simple_NN -# define SvREFCNT_inc_simple_NN(sv) (++SvREFCNT(sv), (SV*)(sv)) +#ifndef SvUVXx +# define SvUVXx(sv) SvUVX(sv) #endif -#ifndef SvREFCNT_inc_void_NN -# define SvREFCNT_inc_void_NN(sv) (void)(++SvREFCNT((SV*)(sv))) +#ifndef SvUV +# define SvUV(sv) (SvIOK(sv) ? SvUVX(sv) : sv_2uv(sv)) #endif -#ifndef SvREFCNT_inc_simple_void_NN -# define SvREFCNT_inc_simple_void_NN(sv) (void)(++SvREFCNT((SV*)(sv))) +#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) +#ifndef SvUVx +# define SvUVx(sv) ({ SV *_sv = (sv)); SvUV(_sv); }) #endif -#ifndef newSV_type - -#if defined(NEED_newSV_type) -static SV* DPPP_(my_newSV_type)(pTHX_ svtype const t); -static #else -extern SV* DPPP_(my_newSV_type)(pTHX_ svtype const t); -#endif - -#if defined(NEED_newSV_type) || defined(NEED_newSV_type_GLOBAL) - -#ifdef newSV_type -# undef newSV_type +#ifndef SvUVx +# define SvUVx(sv) ((PL_Sv = (sv)), SvUV(PL_Sv)) #endif -#define newSV_type(a) DPPP_(my_newSV_type)(aTHX_ a) -#define Perl_newSV_type DPPP_(my_newSV_type) - - -SV* -DPPP_(my_newSV_type)(pTHX_ svtype const t) -{ - SV* const sv = newSV(0); - sv_upgrade(sv, t); - return sv; -} #endif +/* Hint: sv_uv + * Always use the SvUVx() macro instead of sv_uv(). + */ +/* Replace sv_uv with SvUVx */ +#ifndef sv_uv +# define sv_uv(sv) SvUVx(sv) #endif -#if (PERL_BCDVERSION < 0x5006000) -# define D_PPP_CONSTPV_ARG(x) ((char *) (x)) -#else -# define D_PPP_CONSTPV_ARG(x) (x) +#if !defined(SvUOK) && defined(SvIOK_UV) +# define SvUOK(sv) SvIOK_UV(sv) #endif -#ifndef newSVpvn -# define newSVpvn(data,len) ((data) \ - ? ((len) ? newSVpv((data), (len)) : newSVpv("", 0)) \ - : newSV(0)) +#ifndef XST_mUV +# define XST_mUV(i,v) (ST(i) = sv_2mortal(newSVuv(v)) ) #endif -#ifndef newSVpvn_utf8 -# define newSVpvn_utf8(s, len, u) newSVpvn_flags((s), (len), (u) ? SVf_UTF8 : 0) + +#ifndef XSRETURN_UV +# define XSRETURN_UV(v) STMT_START { XST_mUV(0,v); XSRETURN(1); } STMT_END #endif -#ifndef SVf_UTF8 -# define SVf_UTF8 0 +#ifndef PUSHu +# define PUSHu(u) STMT_START { sv_setuv(TARG, (UV)(u)); PUSHTARG; } STMT_END #endif -#ifndef newSVpvn_flags +#ifndef XPUSHu +# define XPUSHu(u) STMT_START { sv_setuv(TARG, (UV)(u)); XPUSHTARG; } STMT_END +#endif -#if defined(NEED_newSVpvn_flags) -static SV * DPPP_(my_newSVpvn_flags)(pTHX_ const char *s, STRLEN len, U32 flags); +#if !defined(my_strnlen) +#if defined(NEED_my_strnlen) +static Size_t DPPP_(my_my_strnlen)(const char * str, Size_t maxlen); static #else -extern SV * DPPP_(my_newSVpvn_flags)(pTHX_ const char *s, STRLEN len, U32 flags); +extern Size_t DPPP_(my_my_strnlen)(const char * str, Size_t maxlen); #endif -#if defined(NEED_newSVpvn_flags) || defined(NEED_newSVpvn_flags_GLOBAL) +#if defined(NEED_my_strnlen) || defined(NEED_my_strnlen_GLOBAL) -#ifdef newSVpvn_flags -# undef newSVpvn_flags -#endif -#define newSVpvn_flags(a,b,c) DPPP_(my_newSVpvn_flags)(aTHX_ a,b,c) -#define Perl_newSVpvn_flags DPPP_(my_newSVpvn_flags) +#define my_strnlen DPPP_(my_my_strnlen) +#define Perl_my_strnlen DPPP_(my_my_strnlen) -SV * -DPPP_(my_newSVpvn_flags)(pTHX_ const char *s, STRLEN len, U32 flags) -{ - SV *sv = newSVpvn(D_PPP_CONSTPV_ARG(s), len); - SvFLAGS(sv) |= (flags & SVf_UTF8); - return (flags & SVs_TEMP) ? sv_2mortal(sv) : sv; -} +Size_t +DPPP_(my_my_strnlen)(const char *str, Size_t maxlen) +{ + const char *p = str; -#endif + while(maxlen-- && *p) + p++; -#endif + return p - str; +} -/* Backwards compatibility stuff... :-( */ -#if !defined(NEED_sv_2pv_flags) && defined(NEED_sv_2pv_nolen) -# define NEED_sv_2pv_flags #endif -#if !defined(NEED_sv_2pv_flags_GLOBAL) && defined(NEED_sv_2pv_nolen_GLOBAL) -# define NEED_sv_2pv_flags_GLOBAL #endif -/* Hint: sv_2pv_nolen - * Use the SvPV_nolen() or SvPV_nolen_const() macros instead of sv_2pv_nolen(). - */ -#ifndef sv_2pv_nolen -# define sv_2pv_nolen(sv) SvPV_nolen(sv) +#ifdef HAS_MEMCMP +#ifndef memNE +# define memNE(s1,s2,l) (memcmp(s1,s2,l)) #endif -#ifdef SvPVbyte - -/* Hint: SvPVbyte - * Does not work in perl-5.6.1, ppport.h implements a version - * borrowed from perl-5.7.3. - */ - -#if (PERL_BCDVERSION < 0x5007000) +#ifndef memEQ +# define memEQ(s1,s2,l) (!memcmp(s1,s2,l)) +#endif -#if defined(NEED_sv_2pvbyte) -static char * DPPP_(my_sv_2pvbyte)(pTHX_ SV *sv, STRLEN *lp); -static #else -extern char * DPPP_(my_sv_2pvbyte)(pTHX_ SV *sv, STRLEN *lp); +#ifndef memNE +# define memNE(s1,s2,l) (bcmp(s1,s2,l)) #endif -#if defined(NEED_sv_2pvbyte) || defined(NEED_sv_2pvbyte_GLOBAL) - -#ifdef sv_2pvbyte -# undef sv_2pvbyte +#ifndef memEQ +# define memEQ(s1,s2,l) (!bcmp(s1,s2,l)) #endif -#define sv_2pvbyte(a,b) DPPP_(my_sv_2pvbyte)(aTHX_ a,b) -#define Perl_sv_2pvbyte DPPP_(my_sv_2pvbyte) - - -char * -DPPP_(my_sv_2pvbyte)(pTHX_ SV *sv, STRLEN *lp) -{ - sv_utf8_downgrade(sv,0); - return SvPV(sv,*lp); -} #endif +#ifndef memEQs +# define memEQs(s1, l, s2) \ + (sizeof(s2)-1 == l && memEQ(s1, (s2 ""), (sizeof(s2)-1))) +#endif -/* Hint: sv_2pvbyte - * Use the SvPVbyte() macro instead of sv_2pvbyte(). - */ - -#undef SvPVbyte +#ifndef memNEs +# define memNEs(s1, l, s2) !memEQs(s1, l, s2) +#endif +#ifndef memCHRs +# define memCHRs(s, c) ((const char *) memchr("" s "" , c, sizeof(s)-1)) +#endif +#ifndef MoveD +# define MoveD(s,d,n,t) memmove((char*)(d),(char*)(s), (n) * sizeof(t)) +#endif -#define SvPVbyte(sv, lp) \ - ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8)) == (SVf_POK) \ - ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pvbyte(sv, &lp)) +#ifndef CopyD +# define CopyD(s,d,n,t) memcpy((char*)(d),(char*)(s), (n) * sizeof(t)) +#endif +#ifdef HAS_MEMSET +#ifndef ZeroD +# define ZeroD(d,n,t) memzero((char*)(d), (n) * sizeof(t)) #endif #else - -# define SvPVbyte SvPV -# define sv_2pvbyte sv_2pv +#ifndef ZeroD +# define ZeroD(d,n,t) ((void)memzero((char*)(d), (n) * sizeof(t)), d) +#endif #endif -#ifndef sv_2pvbyte_nolen -# define sv_2pvbyte_nolen(sv) sv_2pv_nolen(sv) +#ifndef PoisonWith +# define PoisonWith(d,n,t,b) (void)memset((char*)(d), (U8)(b), (n) * sizeof(t)) #endif -/* Hint: sv_pvn - * Always use the SvPV() macro instead of sv_pvn(). - */ - -/* Hint: sv_pvn_force - * Always use the SvPV_force() macro instead of sv_pvn_force(). - */ - -/* If these are undefined, they're not handled by the core anyway */ -#ifndef SV_IMMEDIATE_UNREF -# define SV_IMMEDIATE_UNREF 0 +#ifndef PoisonNew +# define PoisonNew(d,n,t) PoisonWith(d,n,t,0xAB) #endif -#ifndef SV_GMAGIC -# define SV_GMAGIC 0 +#ifndef PoisonFree +# define PoisonFree(d,n,t) PoisonWith(d,n,t,0xEF) #endif -#ifndef SV_COW_DROP_PV -# define SV_COW_DROP_PV 0 +#ifndef Poison +# define Poison(d,n,t) PoisonFree(d,n,t) #endif - -#ifndef SV_UTF8_NO_ENCODING -# define SV_UTF8_NO_ENCODING 0 +#ifndef Newx +# define Newx(v,n,t) New(0,v,n,t) #endif -#ifndef SV_NOSTEAL -# define SV_NOSTEAL 0 +#ifndef Newxc +# define Newxc(v,n,t,c) Newc(0,v,n,t,c) #endif -#ifndef SV_CONST_RETURN -# define SV_CONST_RETURN 0 +#ifndef Newxz +# define Newxz(v,n,t) Newz(0,v,n,t) #endif -#ifndef SV_MUTABLE_RETURN -# define SV_MUTABLE_RETURN 0 +#ifdef NEED_mess_sv +#define NEED_mess #endif -#ifndef SV_SMAGIC -# define SV_SMAGIC 0 +#ifdef NEED_mess +#define NEED_mess_nocontext +#define NEED_vmess #endif -#ifndef SV_HAS_TRAILING_NUL -# define SV_HAS_TRAILING_NUL 0 +#ifndef croak_sv +#if (PERL_BCDVERSION >= 0x5007003) || ( (PERL_BCDVERSION >= 0x5006001) && (PERL_BCDVERSION < 0x5007000) ) +# if ( (PERL_BCDVERSION >= 0x5008000) && (PERL_BCDVERSION < 0x5008009) ) || ( (PERL_BCDVERSION >= 0x5009000) && (PERL_BCDVERSION < 0x5010001) ) +# define D_PPP_FIX_UTF8_ERRSV_FOR_SV(sv) \ + STMT_START { \ + SV *_errsv = ERRSV; \ + SvFLAGS(_errsv) = (SvFLAGS(_errsv) & ~SVf_UTF8) | \ + (SvFLAGS(sv) & SVf_UTF8); \ + } STMT_END +# else +# define D_PPP_FIX_UTF8_ERRSV_FOR_SV(sv) STMT_START {} STMT_END +# endif +# define croak_sv(sv) \ + STMT_START { \ + SV *_sv = (sv); \ + if (SvROK(_sv)) { \ + sv_setsv(ERRSV, _sv); \ + croak(NULL); \ + } else { \ + D_PPP_FIX_UTF8_ERRSV_FOR_SV(_sv); \ + croak("%" SVf, SVfARG(_sv)); \ + } \ + } STMT_END +#elif (PERL_BCDVERSION >= 0x5004000) +# define croak_sv(sv) croak("%" SVf, SVfARG(sv)) +#else +# define croak_sv(sv) croak("%s", SvPV_nolen(sv)) #endif - -#ifndef SV_COW_SHARED_HASH_KEYS -# define SV_COW_SHARED_HASH_KEYS 0 #endif -#if (PERL_BCDVERSION < 0x5007002) - -#if defined(NEED_sv_2pv_flags) -static char * DPPP_(my_sv_2pv_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags); +#ifndef die_sv +#if defined(NEED_die_sv) +static OP * DPPP_(my_die_sv)(pTHX_ SV * baseex); static #else -extern char * DPPP_(my_sv_2pv_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags); +extern OP * DPPP_(my_die_sv)(pTHX_ SV * baseex); #endif -#if defined(NEED_sv_2pv_flags) || defined(NEED_sv_2pv_flags_GLOBAL) +#if defined(NEED_die_sv) || defined(NEED_die_sv_GLOBAL) -#ifdef sv_2pv_flags -# undef sv_2pv_flags +#ifdef die_sv +# undef die_sv #endif -#define sv_2pv_flags(a,b,c) DPPP_(my_sv_2pv_flags)(aTHX_ a,b,c) -#define Perl_sv_2pv_flags DPPP_(my_sv_2pv_flags) - +#define die_sv(a) DPPP_(my_die_sv)(aTHX_ a) +#define Perl_die_sv DPPP_(my_die_sv) -char * -DPPP_(my_sv_2pv_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags) +OP * +DPPP_(my_die_sv)(pTHX_ SV *baseex) { - STRLEN n_a = (STRLEN) flags; - return sv_2pv(sv, lp ? lp : &n_a); + croak_sv(baseex); + return (OP *)NULL; } +#endif +#endif +#ifndef warn_sv +#if (PERL_BCDVERSION >= 0x5004000) +# define warn_sv(sv) warn("%" SVf, SVfARG(sv)) +#else +# define warn_sv(sv) warn("%s", SvPV_nolen(sv)) +#endif #endif -#if defined(NEED_sv_pvn_force_flags) -static char * DPPP_(my_sv_pvn_force_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags); +#if ! defined vmess && (PERL_BCDVERSION >= 0x5004000) +# if defined(NEED_vmess) +static SV * DPPP_(my_vmess)(pTHX_ const char * pat, va_list * args); static #else -extern char * DPPP_(my_sv_pvn_force_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags); +extern SV * DPPP_(my_vmess)(pTHX_ const char * pat, va_list * args); #endif -#if defined(NEED_sv_pvn_force_flags) || defined(NEED_sv_pvn_force_flags_GLOBAL) +#if defined(NEED_vmess) || defined(NEED_vmess_GLOBAL) -#ifdef sv_pvn_force_flags -# undef sv_pvn_force_flags +#ifdef vmess +# undef vmess #endif -#define sv_pvn_force_flags(a,b,c) DPPP_(my_sv_pvn_force_flags)(aTHX_ a,b,c) -#define Perl_sv_pvn_force_flags DPPP_(my_sv_pvn_force_flags) +#define vmess(a,b) DPPP_(my_vmess)(aTHX_ a,b) +#define Perl_vmess DPPP_(my_vmess) -char * -DPPP_(my_sv_pvn_force_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags) +SV* +DPPP_(my_vmess)(pTHX_ const char* pat, va_list* args) { - STRLEN n_a = (STRLEN) flags; - return sv_pvn_force(sv, lp ? lp : &n_a); + mess(pat, args); + return PL_mess_sv; } - +# endif #endif +#if (PERL_BCDVERSION < 0x5006000) && (PERL_BCDVERSION >= 0x5004000) +#undef mess #endif -#if (PERL_BCDVERSION < 0x5008008) || ( (PERL_BCDVERSION >= 0x5009000) && (PERL_BCDVERSION < 0x5009003) ) -# define D_PPP_SVPV_NOLEN_LP_ARG &PL_na +#if !defined(mess_nocontext) && !defined(Perl_mess_nocontext) && (PERL_BCDVERSION >= 0x5004000) +#if defined(NEED_mess_nocontext) +static SV * DPPP_(my_mess_nocontext)(const char * pat, ...); +static #else -# define D_PPP_SVPV_NOLEN_LP_ARG 0 -#endif -#ifndef SvPV_const -# define SvPV_const(sv, lp) SvPV_flags_const(sv, lp, SV_GMAGIC) +extern SV * DPPP_(my_mess_nocontext)(const char * pat, ...); #endif -#ifndef SvPV_mutable -# define SvPV_mutable(sv, lp) SvPV_flags_mutable(sv, lp, SV_GMAGIC) +#if defined(NEED_mess_nocontext) || defined(NEED_mess_nocontext_GLOBAL) + +#define mess_nocontext DPPP_(my_mess_nocontext) +#define Perl_mess_nocontext DPPP_(my_mess_nocontext) + +SV* +DPPP_(my_mess_nocontext)(const char* pat, ...) +{ + dTHX; + SV *sv; + va_list args; + va_start(args, pat); + sv = vmess(pat, &args); + va_end(args); + return sv; +} #endif -#ifndef SvPV_flags -# define SvPV_flags(sv, lp, flags) \ - ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \ - ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pv_flags(sv, &lp, flags)) #endif -#ifndef SvPV_flags_const -# define SvPV_flags_const(sv, lp, flags) \ - ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \ - ? ((lp = SvCUR(sv)), SvPVX_const(sv)) : \ - (const char*) sv_2pv_flags(sv, &lp, flags|SV_CONST_RETURN)) + +#ifndef mess +#if defined(NEED_mess) +static SV * DPPP_(my_mess)(pTHX_ const char * pat, ...); +static +#else +extern SV * DPPP_(my_mess)(pTHX_ const char * pat, ...); #endif -#ifndef SvPV_flags_const_nolen -# define SvPV_flags_const_nolen(sv, flags) \ - ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \ - ? SvPVX_const(sv) : \ - (const char*) sv_2pv_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, flags|SV_CONST_RETURN)) + +#if defined(NEED_mess) || defined(NEED_mess_GLOBAL) + +#define Perl_mess DPPP_(my_mess) + +SV* +DPPP_(my_mess)(pTHX_ const char* pat, ...) +{ + SV *sv; + va_list args; + va_start(args, pat); + sv = vmess(pat, &args); + va_end(args); + return sv; +} +#ifdef mess_nocontext +#define mess mess_nocontext +#else +#define mess Perl_mess_nocontext #endif -#ifndef SvPV_flags_mutable -# define SvPV_flags_mutable(sv, lp, flags) \ - ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \ - ? ((lp = SvCUR(sv)), SvPVX_mutable(sv)) : \ - sv_2pv_flags(sv, &lp, flags|SV_MUTABLE_RETURN)) #endif -#ifndef SvPV_force -# define SvPV_force(sv, lp) SvPV_force_flags(sv, lp, SV_GMAGIC) #endif -#ifndef SvPV_force_nolen -# define SvPV_force_nolen(sv) SvPV_force_flags_nolen(sv, SV_GMAGIC) +#if ! defined mess_sv && (PERL_BCDVERSION >= 0x5004000) +#if defined(NEED_mess_sv) +static SV * DPPP_(my_mess_sv)(pTHX_ SV * basemsg, bool consume); +static +#else +extern SV * DPPP_(my_mess_sv)(pTHX_ SV * basemsg, bool consume); #endif -#ifndef SvPV_force_mutable -# define SvPV_force_mutable(sv, lp) SvPV_force_flags_mutable(sv, lp, SV_GMAGIC) -#endif +#if defined(NEED_mess_sv) || defined(NEED_mess_sv_GLOBAL) -#ifndef SvPV_force_nomg -# define SvPV_force_nomg(sv, lp) SvPV_force_flags(sv, lp, 0) +#ifdef mess_sv +# undef mess_sv #endif +#define mess_sv(a,b) DPPP_(my_mess_sv)(aTHX_ a,b) +#define Perl_mess_sv DPPP_(my_mess_sv) -#ifndef SvPV_force_nomg_nolen -# define SvPV_force_nomg_nolen(sv) SvPV_force_flags_nolen(sv, 0) +SV * +DPPP_(my_mess_sv)(pTHX_ SV *basemsg, bool consume) +{ + SV *tmp; + SV *ret; + + if (SvPOK(basemsg) && SvCUR(basemsg) && *(SvEND(basemsg)-1) == '\n') { + if (consume) + return basemsg; + ret = mess(""); + SvSetSV_nosteal(ret, basemsg); + return ret; + } + + if (consume) { + sv_catsv(basemsg, mess("")); + return basemsg; + } + + ret = mess(""); + tmp = newSVsv(ret); + SvSetSV_nosteal(ret, basemsg); + sv_catsv(ret, tmp); + sv_dec(tmp); + return ret; +} #endif -#ifndef SvPV_force_flags -# define SvPV_force_flags(sv, lp, flags) \ - ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \ - ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_pvn_force_flags(sv, &lp, flags)) #endif -#ifndef SvPV_force_flags_nolen -# define SvPV_force_flags_nolen(sv, flags) \ - ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \ - ? SvPVX(sv) : sv_pvn_force_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, flags)) + +#ifndef warn_nocontext +#define warn_nocontext warn #endif -#ifndef SvPV_force_flags_mutable -# define SvPV_force_flags_mutable(sv, lp, flags) \ - ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \ - ? ((lp = SvCUR(sv)), SvPVX_mutable(sv)) \ - : sv_pvn_force_flags(sv, &lp, flags|SV_MUTABLE_RETURN)) + +#ifndef croak_nocontext +#define croak_nocontext croak #endif -#ifndef SvPV_nolen -# define SvPV_nolen(sv) \ - ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \ - ? SvPVX(sv) : sv_2pv_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, SV_GMAGIC)) + +#ifndef croak_no_modify +#define croak_no_modify() croak_nocontext("%s", PL_no_modify) +#define Perl_croak_no_modify() croak_no_modify() #endif -#ifndef SvPV_nolen_const -# define SvPV_nolen_const(sv) \ - ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \ - ? SvPVX_const(sv) : sv_2pv_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, SV_GMAGIC|SV_CONST_RETURN)) + +#ifndef croak_memory_wrap +#if (PERL_BCDVERSION >= 0x5009002) || ( (PERL_BCDVERSION >= 0x5008006) && (PERL_BCDVERSION < 0x5009000) ) +# define croak_memory_wrap() croak_nocontext("%s", PL_memory_wrap) +#else +# define croak_memory_wrap() croak_nocontext("panic: memory wrap") #endif -#ifndef SvPV_nomg -# define SvPV_nomg(sv, lp) SvPV_flags(sv, lp, 0) #endif -#ifndef SvPV_nomg_const -# define SvPV_nomg_const(sv, lp) SvPV_flags_const(sv, lp, 0) +#ifndef croak_xs_usage +#if defined(NEED_croak_xs_usage) +static void DPPP_(my_croak_xs_usage)(const CV * const cv, const char * const params); +static +#else +extern void DPPP_(my_croak_xs_usage)(const CV * const cv, const char * const params); #endif -#ifndef SvPV_nomg_const_nolen -# define SvPV_nomg_const_nolen(sv) SvPV_flags_const_nolen(sv, 0) +#if defined(NEED_croak_xs_usage) || defined(NEED_croak_xs_usage_GLOBAL) + +#define croak_xs_usage DPPP_(my_croak_xs_usage) +#define Perl_croak_xs_usage DPPP_(my_croak_xs_usage) + + + +void +DPPP_(my_croak_xs_usage)(const CV *const cv, const char *const params) +{ + dTHX; + const GV *const gv = CvGV(cv); + +#ifdef PERL_ARGS_ASSERT_CROAK_XS_USAGE + PERL_ARGS_ASSERT_CROAK_XS_USAGE; +#else + assert(cv); assert(params); #endif -#ifndef SvPV_nomg_nolen -# define SvPV_nomg_nolen(sv) ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \ - ? SvPVX(sv) : sv_2pv_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, 0)) + if (gv) { + const char *const gvname = GvNAME(gv); + const HV *const stash = GvSTASH(gv); + const char *const hvname = stash ? HvNAME(stash) : NULL; + + if (hvname) + croak("Usage: %s::%s(%s)", hvname, gvname, params); + else + croak("Usage: %s(%s)", gvname, params); + } else { + /* Pants. I don't think that it should be possible to get here. */ + croak("Usage: CODE(0x%" UVxf ")(%s)", PTR2UV(cv), params); + } +} #endif -#ifndef SvPV_renew -# define SvPV_renew(sv,n) STMT_START { SvLEN_set(sv, n); \ - SvPV_set((sv), (char *) saferealloc( \ - (Malloc_t)SvPVX(sv), (MEM_SIZE)((n)))); \ - } STMT_END #endif -#ifndef SvMAGIC_set -# define SvMAGIC_set(sv, val) \ - STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \ - (((XPVMG*) SvANY(sv))->xmg_magic = (val)); } STMT_END +#ifndef mPUSHs +# define mPUSHs(s) PUSHs(sv_2mortal(s)) #endif -#if (PERL_BCDVERSION < 0x5009003) -#ifndef SvPVX_const -# define SvPVX_const(sv) ((const char*) (0 + SvPVX(sv))) +#ifndef PUSHmortal +# define PUSHmortal PUSHs(sv_newmortal()) #endif -#ifndef SvPVX_mutable -# define SvPVX_mutable(sv) (0 + SvPVX(sv)) -#endif -#ifndef SvRV_set -# define SvRV_set(sv, val) \ - STMT_START { assert(SvTYPE(sv) >= SVt_RV); \ - (((XRV*) SvANY(sv))->xrv_rv = (val)); } STMT_END +#ifndef mPUSHp +# define mPUSHp(p,l) sv_setpvn(PUSHmortal, (p), (l)) #endif -#else -#ifndef SvPVX_const -# define SvPVX_const(sv) ((const char*)((sv)->sv_u.svu_pv)) +#ifndef mPUSHn +# define mPUSHn(n) sv_setnv(PUSHmortal, (NV)(n)) #endif -#ifndef SvPVX_mutable -# define SvPVX_mutable(sv) ((sv)->sv_u.svu_pv) -#endif -#ifndef SvRV_set -# define SvRV_set(sv, val) \ - STMT_START { assert(SvTYPE(sv) >= SVt_RV); \ - ((sv)->sv_u.svu_rv = (val)); } STMT_END +#ifndef mPUSHi +# define mPUSHi(i) sv_setiv(PUSHmortal, (IV)(i)) #endif +#ifndef mPUSHu +# define mPUSHu(u) sv_setuv(PUSHmortal, (UV)(u)) #endif -#ifndef SvSTASH_set -# define SvSTASH_set(sv, val) \ - STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \ - (((XPVMG*) SvANY(sv))->xmg_stash = (val)); } STMT_END +#ifndef mXPUSHs +# define mXPUSHs(s) XPUSHs(sv_2mortal(s)) #endif -#if (PERL_BCDVERSION < 0x5004000) -#ifndef SvUV_set -# define SvUV_set(sv, val) \ - STMT_START { assert(SvTYPE(sv) == SVt_IV || SvTYPE(sv) >= SVt_PVIV); \ - (((XPVIV*) SvANY(sv))->xiv_iv = (IV) (val)); } STMT_END +#ifndef XPUSHmortal +# define XPUSHmortal XPUSHs(sv_newmortal()) #endif -#else -#ifndef SvUV_set -# define SvUV_set(sv, val) \ - STMT_START { assert(SvTYPE(sv) == SVt_IV || SvTYPE(sv) >= SVt_PVIV); \ - (((XPVUV*) SvANY(sv))->xuv_uv = (val)); } STMT_END +#ifndef mXPUSHp +# define mXPUSHp(p,l) STMT_START { EXTEND(sp,1); sv_setpvn(PUSHmortal, (p), (l)); } STMT_END #endif +#ifndef mXPUSHn +# define mXPUSHn(n) STMT_START { EXTEND(sp,1); sv_setnv(PUSHmortal, (NV)(n)); } STMT_END #endif -#if (PERL_BCDVERSION >= 0x5004000) && !defined(vnewSVpvf) -#if defined(NEED_vnewSVpvf) -static SV * DPPP_(my_vnewSVpvf)(pTHX_ const char *pat, va_list *args); -static -#else -extern SV * DPPP_(my_vnewSVpvf)(pTHX_ const char *pat, va_list *args); +#ifndef mXPUSHi +# define mXPUSHi(i) STMT_START { EXTEND(sp,1); sv_setiv(PUSHmortal, (IV)(i)); } STMT_END #endif -#if defined(NEED_vnewSVpvf) || defined(NEED_vnewSVpvf_GLOBAL) - -#ifdef vnewSVpvf -# undef vnewSVpvf +#ifndef mXPUSHu +# define mXPUSHu(u) STMT_START { EXTEND(sp,1); sv_setuv(PUSHmortal, (UV)(u)); } STMT_END #endif -#define vnewSVpvf(a,b) DPPP_(my_vnewSVpvf)(aTHX_ a,b) -#define Perl_vnewSVpvf DPPP_(my_vnewSVpvf) - -SV * -DPPP_(my_vnewSVpvf)(pTHX_ const char *pat, va_list *args) -{ - register SV *sv = newSV(0); - sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)); - return sv; -} +/* Replace: 1 */ +#ifndef call_sv +# define call_sv perl_call_sv +#endif +#ifndef call_pv +# define call_pv perl_call_pv #endif + +#ifndef call_argv +# define call_argv perl_call_argv #endif -#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_vcatpvf) -# define sv_vcatpvf(sv, pat, args) sv_vcatpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)) +#ifndef call_method +# define call_method perl_call_method #endif -#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_vsetpvf) -# define sv_vsetpvf(sv, pat, args) sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)) +#ifndef eval_sv +# define eval_sv perl_eval_sv #endif -#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_catpvf_mg) -#if defined(NEED_sv_catpvf_mg) -static void DPPP_(my_sv_catpvf_mg)(pTHX_ SV *sv, const char *pat, ...); -static -#else -extern void DPPP_(my_sv_catpvf_mg)(pTHX_ SV *sv, const char *pat, ...); +#if (PERL_BCDVERSION >= 0x5003098) && (PERL_BCDVERSION < 0x5006000) +#ifndef eval_pv +# define eval_pv perl_eval_pv #endif -#if defined(NEED_sv_catpvf_mg) || defined(NEED_sv_catpvf_mg_GLOBAL) +#endif +/* Replace: 0 */ -#define Perl_sv_catpvf_mg DPPP_(my_sv_catpvf_mg) +#if (PERL_BCDVERSION < 0x5006000) +#ifndef Perl_eval_sv +# define Perl_eval_sv perl_eval_sv +#endif +#if (PERL_BCDVERSION >= 0x5003098) +#ifndef Perl_eval_pv +# define Perl_eval_pv perl_eval_pv +#endif -void -DPPP_(my_sv_catpvf_mg)(pTHX_ SV *sv, const char *pat, ...) -{ - va_list args; - va_start(args, pat); - sv_vcatpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*)); - SvSETMAGIC(sv); - va_end(args); -} +#endif +#endif +#ifndef PERL_LOADMOD_DENY +# define PERL_LOADMOD_DENY 0x1 +#endif +#ifndef PERL_LOADMOD_NOIMPORT +# define PERL_LOADMOD_NOIMPORT 0x2 #endif + +#ifndef PERL_LOADMOD_IMPORT_OPS +# define PERL_LOADMOD_IMPORT_OPS 0x4 #endif -#ifdef PERL_IMPLICIT_CONTEXT -#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_catpvf_mg_nocontext) -#if defined(NEED_sv_catpvf_mg_nocontext) -static void DPPP_(my_sv_catpvf_mg_nocontext)(SV *sv, const char *pat, ...); -static +#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) +# define D_PPP_CROAK_IF_ERROR(cond) ({ SV *_errsv; ((cond) && (_errsv = ERRSV) && (SvROK(_errsv) || SvTRUE(_errsv)) && (croak_sv(_errsv), 1)); }) #else -extern void DPPP_(my_sv_catpvf_mg_nocontext)(SV *sv, const char *pat, ...); +# define D_PPP_CROAK_IF_ERROR(cond) ((cond) && (SvROK(ERRSV) || SvTRUE(ERRSV)) && (croak_sv(ERRSV), 1)) #endif -#if defined(NEED_sv_catpvf_mg_nocontext) || defined(NEED_sv_catpvf_mg_nocontext_GLOBAL) +#ifndef G_METHOD +# define G_METHOD 64 +# ifdef call_sv +# undef call_sv +# endif +# if (PERL_BCDVERSION < 0x5006000) +# define call_sv(sv, flags) ((flags) & G_METHOD ? perl_call_method((char *) SvPV_nolen_const(sv), \ + (flags) & ~G_METHOD) : perl_call_sv(sv, flags)) +# else +# define call_sv(sv, flags) ((flags) & G_METHOD ? Perl_call_method(aTHX_ (char *) SvPV_nolen_const(sv), \ + (flags) & ~G_METHOD) : Perl_call_sv(aTHX_ sv, flags)) +# endif +#endif -#define sv_catpvf_mg_nocontext DPPP_(my_sv_catpvf_mg_nocontext) -#define Perl_sv_catpvf_mg_nocontext DPPP_(my_sv_catpvf_mg_nocontext) - - -void -DPPP_(my_sv_catpvf_mg_nocontext)(SV *sv, const char *pat, ...) -{ - dTHX; - va_list args; - va_start(args, pat); - sv_vcatpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*)); - SvSETMAGIC(sv); - va_end(args); -} - -#endif -#endif +#ifndef G_RETHROW +# define G_RETHROW 8192 +# ifdef eval_sv +# undef eval_sv +# endif +# if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) +# define eval_sv(sv, flags) ({ I32 _flags = (flags); I32 _ret = Perl_eval_sv(aTHX_ sv, (_flags & ~G_RETHROW)); D_PPP_CROAK_IF_ERROR(_flags & G_RETHROW); _ret; }) +# else +# define eval_sv(sv, flags) ((PL_na = Perl_eval_sv(aTHX_ sv, ((flags) & ~G_RETHROW))), D_PPP_CROAK_IF_ERROR((flags) & G_RETHROW), (I32)PL_na) +# endif #endif -/* sv_catpvf_mg depends on sv_catpvf_mg_nocontext */ -#ifndef sv_catpvf_mg -# ifdef PERL_IMPLICIT_CONTEXT -# define sv_catpvf_mg Perl_sv_catpvf_mg_nocontext +/* Older Perl versions have broken croak_on_error=1 */ +#if (PERL_BCDVERSION < 0x5031002) +# ifdef eval_pv +# undef eval_pv +# if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) +# define eval_pv(p, croak_on_error) ({ SV *_sv = Perl_eval_pv(aTHX_ p, 0); D_PPP_CROAK_IF_ERROR(croak_on_error); _sv; }) # else -# define sv_catpvf_mg Perl_sv_catpvf_mg +# define eval_pv(p, croak_on_error) ((PL_Sv = Perl_eval_pv(aTHX_ p, 0)), D_PPP_CROAK_IF_ERROR(croak_on_error), PL_Sv) # endif +# endif #endif -#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_vcatpvf_mg) -# define sv_vcatpvf_mg(sv, pat, args) \ - STMT_START { \ - sv_vcatpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)); \ - SvSETMAGIC(sv); \ - } STMT_END -#endif - -#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_setpvf_mg) -#if defined(NEED_sv_setpvf_mg) -static void DPPP_(my_sv_setpvf_mg)(pTHX_ SV *sv, const char *pat, ...); +/* This is backport for Perl 5.3.97d and older which do not provide perl_eval_pv */ +#ifndef eval_pv +#if defined(NEED_eval_pv) +static SV * DPPP_(my_eval_pv)(const char * p, I32 croak_on_error); static #else -extern void DPPP_(my_sv_setpvf_mg)(pTHX_ SV *sv, const char *pat, ...); +extern SV * DPPP_(my_eval_pv)(const char * p, I32 croak_on_error); #endif -#if defined(NEED_sv_setpvf_mg) || defined(NEED_sv_setpvf_mg_GLOBAL) +#if defined(NEED_eval_pv) || defined(NEED_eval_pv_GLOBAL) -#define Perl_sv_setpvf_mg DPPP_(my_sv_setpvf_mg) +#ifdef eval_pv +# undef eval_pv +#endif +#define eval_pv(a,b) DPPP_(my_eval_pv)(aTHX_ a,b) +#define Perl_eval_pv DPPP_(my_eval_pv) -void -DPPP_(my_sv_setpvf_mg)(pTHX_ SV *sv, const char *pat, ...) +SV* +DPPP_(my_eval_pv)(const char *p, I32 croak_on_error) { - va_list args; - va_start(args, pat); - sv_vsetpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*)); - SvSETMAGIC(sv); - va_end(args); -} - -#endif -#endif - -#ifdef PERL_IMPLICIT_CONTEXT -#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_setpvf_mg_nocontext) -#if defined(NEED_sv_setpvf_mg_nocontext) -static void DPPP_(my_sv_setpvf_mg_nocontext)(SV *sv, const char *pat, ...); -static -#else -extern void DPPP_(my_sv_setpvf_mg_nocontext)(SV *sv, const char *pat, ...); -#endif + dSP; + SV* sv = newSVpv(p, 0); -#if defined(NEED_sv_setpvf_mg_nocontext) || defined(NEED_sv_setpvf_mg_nocontext_GLOBAL) + PUSHMARK(sp); + eval_sv(sv, G_SCALAR); + SvREFCNT_dec(sv); -#define sv_setpvf_mg_nocontext DPPP_(my_sv_setpvf_mg_nocontext) -#define Perl_sv_setpvf_mg_nocontext DPPP_(my_sv_setpvf_mg_nocontext) + SPAGAIN; + sv = POPs; + PUTBACK; + D_PPP_CROAK_IF_ERROR(croak_on_error); -void -DPPP_(my_sv_setpvf_mg_nocontext)(SV *sv, const char *pat, ...) -{ - dTHX; - va_list args; - va_start(args, pat); - sv_vsetpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*)); - SvSETMAGIC(sv); - va_end(args); + return sv; } #endif #endif -#endif - -/* sv_setpvf_mg depends on sv_setpvf_mg_nocontext */ -#ifndef sv_setpvf_mg -# ifdef PERL_IMPLICIT_CONTEXT -# define sv_setpvf_mg Perl_sv_setpvf_mg_nocontext -# else -# define sv_setpvf_mg Perl_sv_setpvf_mg -# endif -#endif - -#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_vsetpvf_mg) -# define sv_vsetpvf_mg(sv, pat, args) \ - STMT_START { \ - sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)); \ - SvSETMAGIC(sv); \ - } STMT_END -#endif - -/* Hint: newSVpvn_share - * The SVs created by this function only mimic the behaviour of - * shared PVs without really being shared. Only use if you know - * what you're doing. - */ - -#ifndef newSVpvn_share -#if defined(NEED_newSVpvn_share) -static SV * DPPP_(my_newSVpvn_share)(pTHX_ const char *src, I32 len, U32 hash); +#if ! defined(vload_module) && defined(start_subparse) +#if defined(NEED_vload_module) +static void DPPP_(my_vload_module)(U32 flags, SV * name, SV * ver, va_list * args); static #else -extern SV * DPPP_(my_newSVpvn_share)(pTHX_ const char *src, I32 len, U32 hash); +extern void DPPP_(my_vload_module)(U32 flags, SV * name, SV * ver, va_list * args); #endif -#if defined(NEED_newSVpvn_share) || defined(NEED_newSVpvn_share_GLOBAL) +#if defined(NEED_vload_module) || defined(NEED_vload_module_GLOBAL) -#ifdef newSVpvn_share -# undef newSVpvn_share +#ifdef vload_module +# undef vload_module #endif -#define newSVpvn_share(a,b,c) DPPP_(my_newSVpvn_share)(aTHX_ a,b,c) -#define Perl_newSVpvn_share DPPP_(my_newSVpvn_share) +#define vload_module(a,b,c,d) DPPP_(my_vload_module)(aTHX_ a,b,c,d) +#define Perl_vload_module DPPP_(my_vload_module) -SV * -DPPP_(my_newSVpvn_share)(pTHX_ const char *src, I32 len, U32 hash) +void +DPPP_(my_vload_module)(U32 flags, SV *name, SV *ver, va_list *args) { - SV *sv; - if (len < 0) - len = -len; - if (!hash) - PERL_HASH(hash, (char*) src, len); - sv = newSVpvn((char *) src, len); - sv_upgrade(sv, SVt_PVIV); - SvIVX(sv) = hash; - SvREADONLY_on(sv); - SvPOK_on(sv); - return sv; -} + dTHR; + dVAR; + OP *veop, *imop; -#endif + OP * const modname = newSVOP(OP_CONST, 0, name); + /* 5.005 has a somewhat hacky force_normal that doesn't croak on + SvREADONLY() if PL_compling is true. Current perls take care in + ck_require() to correctly turn off SvREADONLY before calling + force_normal_flags(). This seems a better fix than fudging PL_compling + */ + SvREADONLY_off(((SVOP*)modname)->op_sv); + modname->op_private |= OPpCONST_BARE; + if (ver) { + veop = newSVOP(OP_CONST, 0, ver); + } + else + veop = NULL; + if (flags & PERL_LOADMOD_NOIMPORT) { + imop = sawparens(newNULLLIST()); + } + else if (flags & PERL_LOADMOD_IMPORT_OPS) { + imop = va_arg(*args, OP*); + } + else { + SV *sv; + imop = NULL; + sv = va_arg(*args, SV*); + while (sv) { + imop = append_elem(OP_LIST, imop, newSVOP(OP_CONST, 0, sv)); + sv = va_arg(*args, SV*); + } + } + { + const line_t ocopline = PL_copline; + COP * const ocurcop = PL_curcop; + const int oexpect = PL_expect; + utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(FALSE, 0), +#if (PERL_BCDVERSION > 0x5003000) + veop, #endif -#ifndef SvSHARED_HASH -# define SvSHARED_HASH(sv) (0 + SvUVX(sv)) -#endif -#ifndef HvNAME_get -# define HvNAME_get(hv) HvNAME(hv) + modname, imop); + PL_expect = oexpect; + PL_copline = ocopline; + PL_curcop = ocurcop; + } +} + #endif -#ifndef HvNAMELEN_get -# define HvNAMELEN_get(hv) (HvNAME_get(hv) ? (I32)strlen(HvNAME_get(hv)) : 0) #endif -#ifndef gv_fetchpvn_flags -#if defined(NEED_gv_fetchpvn_flags) -static GV* DPPP_(my_gv_fetchpvn_flags)(pTHX_ const char* name, STRLEN len, int flags, int types); +#ifndef load_module +#if defined(NEED_load_module) +static void DPPP_(my_load_module)(U32 flags, SV * name, SV * ver, ...); static #else -extern GV* DPPP_(my_gv_fetchpvn_flags)(pTHX_ const char* name, STRLEN len, int flags, int types); +extern void DPPP_(my_load_module)(U32 flags, SV * name, SV * ver, ...); #endif -#if defined(NEED_gv_fetchpvn_flags) || defined(NEED_gv_fetchpvn_flags_GLOBAL) +#if defined(NEED_load_module) || defined(NEED_load_module_GLOBAL) -#ifdef gv_fetchpvn_flags -# undef gv_fetchpvn_flags +#ifdef load_module +# undef load_module #endif -#define gv_fetchpvn_flags(a,b,c,d) DPPP_(my_gv_fetchpvn_flags)(aTHX_ a,b,c,d) -#define Perl_gv_fetchpvn_flags DPPP_(my_gv_fetchpvn_flags) +#define load_module DPPP_(my_load_module) +#define Perl_load_module DPPP_(my_load_module) -GV* -DPPP_(my_gv_fetchpvn_flags)(pTHX_ const char* name, STRLEN len, int flags, int types) { - char *namepv = savepvn(name, len); - GV* stash = gv_fetchpv(namepv, TRUE, SVt_PVHV); - Safefree(namepv); - return stash; +void +DPPP_(my_load_module)(U32 flags, SV *name, SV *ver, ...) +{ + va_list args; + va_start(args, ver); + vload_module(flags, name, ver, &args); + va_end(args); } #endif #endif -#ifndef GvSVn -# define GvSVn(gv) GvSV(gv) -#endif - -#ifndef isGV_with_GP -# define isGV_with_GP(gv) isGV(gv) +#ifndef newRV_inc +# define newRV_inc(sv) newRV(sv) /* Replace */ #endif -#ifndef gv_fetchsv -# define gv_fetchsv(name, flags, svt) gv_fetchpv(SvPV_nolen_const(name), flags, svt) -#endif -#ifndef get_cvn_flags -# define get_cvn_flags(name, namelen, flags) get_cv(name, flags) +#ifndef newRV_noinc +#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) +# define newRV_noinc(sv) ({ SV *_sv = (SV *)newRV((sv)); SvREFCNT_dec((sv)); _sv; }) +#else +# define newRV_noinc(sv) ((PL_Sv = (SV *)newRV((sv))), SvREFCNT_dec((sv)), PL_Sv) #endif - -#ifndef gv_init_pvn -# define gv_init_pvn(gv, stash, ptr, len, flags) gv_init(gv, stash, ptr, len, flags & GV_ADDMULTI ? TRUE : FALSE) #endif -/* concatenating with "" ensures that only literal strings are accepted as argument - * note that STR_WITH_LEN() can't be used as argument to macros or functions that - * under some configurations might be macros +/* + * Boilerplate macros for initializing and accessing interpreter-local + * data from C. All statics in extensions should be reworked to use + * this, if you want to make the extension thread-safe. See ext/re/re.xs + * for an example of the use of these macros. + * + * Code that uses these macros is responsible for the following: + * 1. #define MY_CXT_KEY to a unique string, e.g. "DynaLoader_guts" + * 2. Declare a typedef named my_cxt_t that is a structure that contains + * all the data that needs to be interpreter-local. + * 3. Use the START_MY_CXT macro after the declaration of my_cxt_t. + * 4. Use the MY_CXT_INIT macro such that it is called exactly once + * (typically put in the BOOT: section). + * 5. Use the members of the my_cxt_t structure everywhere as + * MY_CXT.member. + * 6. Use the dMY_CXT macro (a declaration) in all the functions that + * access MY_CXT. */ -#ifndef STR_WITH_LEN -# define STR_WITH_LEN(s) (s ""), (sizeof(s)-1) -#endif -#ifndef newSVpvs -# define newSVpvs(str) newSVpvn(str "", sizeof(str) - 1) -#endif -#ifndef newSVpvs_flags -# define newSVpvs_flags(str, flags) newSVpvn_flags(str "", sizeof(str) - 1, flags) -#endif +#if defined(MULTIPLICITY) || defined(PERL_OBJECT) || \ + defined(PERL_CAPI) || defined(PERL_IMPLICIT_CONTEXT) -#ifndef newSVpvs_share -# define newSVpvs_share(str) newSVpvn_share(str "", sizeof(str) - 1, 0) -#endif +#ifndef START_MY_CXT -#ifndef sv_catpvs -# define sv_catpvs(sv, str) sv_catpvn(sv, str "", sizeof(str) - 1) +/* This must appear in all extensions that define a my_cxt_t structure, + * right after the definition (i.e. at file scope). The non-threads + * case below uses it to declare the data as static. */ +#define START_MY_CXT + +#if (PERL_BCDVERSION < 0x5004068) +/* Fetches the SV that keeps the per-interpreter data. */ +#define dMY_CXT_SV \ + SV *my_cxt_sv = get_sv(MY_CXT_KEY, FALSE) +#else /* >= perl5.004_68 */ +#define dMY_CXT_SV \ + SV *my_cxt_sv = *hv_fetch(PL_modglobal, MY_CXT_KEY, \ + sizeof(MY_CXT_KEY)-1, TRUE) +#endif /* < perl5.004_68 */ + +/* This declaration should be used within all functions that use the + * interpreter-local data. */ +#define dMY_CXT \ + dMY_CXT_SV; \ + my_cxt_t *my_cxtp = INT2PTR(my_cxt_t*,SvUV(my_cxt_sv)) + +/* Creates and zeroes the per-interpreter data. + * (We allocate my_cxtp in a Perl SV so that it will be released when + * the interpreter goes away.) */ +#define MY_CXT_INIT \ + dMY_CXT_SV; \ + /* newSV() allocates one more than needed */ \ + my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\ + Zero(my_cxtp, 1, my_cxt_t); \ + sv_setuv(my_cxt_sv, PTR2UV(my_cxtp)) + +/* This macro must be used to access members of the my_cxt_t structure. + * e.g. MYCXT.some_data */ +#define MY_CXT (*my_cxtp) + +/* Judicious use of these macros can reduce the number of times dMY_CXT + * is used. Use is similar to pTHX, aTHX etc. */ +#define pMY_CXT my_cxt_t *my_cxtp +#define pMY_CXT_ pMY_CXT, +#define _pMY_CXT ,pMY_CXT +#define aMY_CXT my_cxtp +#define aMY_CXT_ aMY_CXT, +#define _aMY_CXT ,aMY_CXT + +#endif /* START_MY_CXT */ + +#ifndef MY_CXT_CLONE +/* Clones the per-interpreter data. */ +#define MY_CXT_CLONE \ + dMY_CXT_SV; \ + my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\ + Copy(INT2PTR(my_cxt_t*, SvUV(my_cxt_sv)), my_cxtp, 1, my_cxt_t);\ + sv_setuv(my_cxt_sv, PTR2UV(my_cxtp)) #endif -#ifndef sv_setpvs -# define sv_setpvs(sv, str) sv_setpvn(sv, str "", sizeof(str) - 1) +#else /* single interpreter */ + +#ifndef START_MY_CXT + +#define START_MY_CXT static my_cxt_t my_cxt; +#define dMY_CXT_SV dNOOP +#define dMY_CXT dNOOP +#define MY_CXT_INIT NOOP +#define MY_CXT my_cxt + +#define pMY_CXT void +#define pMY_CXT_ +#define _pMY_CXT +#define aMY_CXT +#define aMY_CXT_ +#define _aMY_CXT + +#endif /* START_MY_CXT */ + +#ifndef MY_CXT_CLONE +#define MY_CXT_CLONE NOOP #endif -#ifndef hv_fetchs -# define hv_fetchs(hv, key, lval) hv_fetch(hv, key "", sizeof(key) - 1, lval) #endif -#ifndef hv_stores -# define hv_stores(hv, key, val) hv_store(hv, key "", sizeof(key) - 1, val, 0) +#ifndef SvREFCNT_inc +# ifdef PERL_USE_GCC_BRACE_GROUPS +# define SvREFCNT_inc(sv) \ + ({ \ + SV * const _sv = (SV*)(sv); \ + if (_sv) \ + (SvREFCNT(_sv))++; \ + _sv; \ + }) +# else +# define SvREFCNT_inc(sv) \ + ((PL_Sv=(SV*)(sv)) ? (++(SvREFCNT(PL_Sv)),PL_Sv) : NULL) +# endif #endif -#ifndef gv_fetchpvs -# define gv_fetchpvs(name, flags, svt) gv_fetchpvn_flags(name "", sizeof(name) - 1, flags, svt) + +#ifndef SvREFCNT_inc_simple +# ifdef PERL_USE_GCC_BRACE_GROUPS +# define SvREFCNT_inc_simple(sv) \ + ({ \ + if (sv) \ + (SvREFCNT(sv))++; \ + (SV *)(sv); \ + }) +# else +# define SvREFCNT_inc_simple(sv) \ + ((sv) ? (SvREFCNT(sv)++,(SV*)(sv)) : NULL) +# endif #endif -#ifndef gv_stashpvs -# define gv_stashpvs(name, flags) gv_stashpvn(name "", sizeof(name) - 1, flags) +#ifndef SvREFCNT_inc_NN +# ifdef PERL_USE_GCC_BRACE_GROUPS +# define SvREFCNT_inc_NN(sv) \ + ({ \ + SV * const _sv = (SV*)(sv); \ + SvREFCNT(_sv)++; \ + _sv; \ + }) +# else +# define SvREFCNT_inc_NN(sv) \ + (PL_Sv=(SV*)(sv),++(SvREFCNT(PL_Sv)),PL_Sv) +# endif #endif -#ifndef get_cvs -# define get_cvs(name, flags) get_cvn_flags(name "", sizeof(name)-1, flags) + +#ifndef SvREFCNT_inc_void +# ifdef PERL_USE_GCC_BRACE_GROUPS +# define SvREFCNT_inc_void(sv) \ + ({ \ + SV * const _sv = (SV*)(sv); \ + if (_sv) \ + (void)(SvREFCNT(_sv)++); \ + }) +# else +# define SvREFCNT_inc_void(sv) \ + (void)((PL_Sv=(SV*)(sv)) ? ++(SvREFCNT(PL_Sv)) : 0) +# endif #endif -#ifndef SvGETMAGIC -# define SvGETMAGIC(x) STMT_START { if (SvGMAGICAL(x)) mg_get(x); } STMT_END +#ifndef SvREFCNT_inc_simple_void +# define SvREFCNT_inc_simple_void(sv) STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END #endif -/* That's the best we can do... */ -#ifndef sv_catpvn_nomg -# define sv_catpvn_nomg sv_catpvn +#ifndef SvREFCNT_inc_simple_NN +# define SvREFCNT_inc_simple_NN(sv) (++SvREFCNT(sv), (SV*)(sv)) #endif -#ifndef sv_catsv_nomg -# define sv_catsv_nomg sv_catsv +#ifndef SvREFCNT_inc_void_NN +# define SvREFCNT_inc_void_NN(sv) (void)(++SvREFCNT((SV*)(sv))) #endif -#ifndef sv_setsv_nomg -# define sv_setsv_nomg sv_setsv +#ifndef SvREFCNT_inc_simple_void_NN +# define SvREFCNT_inc_simple_void_NN(sv) (void)(++SvREFCNT((SV*)(sv))) #endif -#ifndef sv_pvn_nomg -# define sv_pvn_nomg sv_pvn +#ifndef newSV_type +#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) +# define newSV_type(t) ({ SV *_sv = newSV(0); sv_upgrade(_sv, (t)); _sv; }) +#else +# define newSV_type(t) ((PL_Sv = newSV(0)), sv_upgrade(PL_Sv, (t)), PL_Sv) #endif - -#ifndef SvIV_nomg -# define SvIV_nomg SvIV #endif -#ifndef SvUV_nomg -# define SvUV_nomg SvUV +#if (PERL_BCDVERSION < 0x5006000) +# define D_PPP_CONSTPV_ARG(x) ((char *) (x)) +#else +# define D_PPP_CONSTPV_ARG(x) (x) +#endif +#ifndef newSVpvn +# define newSVpvn(data,len) ((data) \ + ? ((len) ? newSVpv((data), (len)) : newSVpv("", 0)) \ + : newSV(0)) +#endif +#ifndef newSVpvn_utf8 +# define newSVpvn_utf8(s, len, u) newSVpvn_flags((s), (len), (u) ? SVf_UTF8 : 0) +#endif +#ifndef SVf_UTF8 +# define SVf_UTF8 0 #endif -#ifndef sv_catpv_mg -# define sv_catpv_mg(sv, ptr) \ - STMT_START { \ - SV *TeMpSv = sv; \ - sv_catpv(TeMpSv,ptr); \ - SvSETMAGIC(TeMpSv); \ - } STMT_END +#ifndef newSVpvn_flags +#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) +# define newSVpvn_flags(s, len, flags) ({ SV *_sv = newSVpvn(D_PPP_CONSTPV_ARG((s)), (len)); SvFLAGS(_sv) |= ((flags) & SVf_UTF8); ((flags) & SVs_TEMP) ? sv_2mortal(_sv) : _sv; }) +#else +# define newSVpvn_flags(s, len, flags) ((PL_Sv = newSVpvn(D_PPP_CONSTPV_ARG((s)), (len))), SvFLAGS(PL_Sv) |= ((flags) & SVf_UTF8), (((flags) & SVs_TEMP) ? sv_2mortal(PL_Sv) : PL_Sv)) +#endif +#endif +#ifndef SV_NOSTEAL +# define SV_NOSTEAL 16 #endif -#ifndef sv_catpvn_mg -# define sv_catpvn_mg(sv, ptr, len) \ - STMT_START { \ - SV *TeMpSv = sv; \ - sv_catpvn(TeMpSv,ptr,len); \ - SvSETMAGIC(TeMpSv); \ - } STMT_END +#if ( (PERL_BCDVERSION >= 0x5007003) && (PERL_BCDVERSION < 0x5008007) ) || ( (PERL_BCDVERSION >= 0x5009000) && (PERL_BCDVERSION < 0x5009002) ) +#undef sv_setsv_flags +#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) +#define sv_setsv_flags(dstr, sstr, flags) \ + STMT_START { \ + if (((flags) & SV_NOSTEAL) && (sstr) && (SvFLAGS((SV *)(sstr)) & SVs_TEMP)) { \ + SvTEMP_off((SV *)(sstr)); \ + Perl_sv_setsv_flags(aTHX_ (dstr), (sstr), (flags) & ~SV_NOSTEAL); \ + SvTEMP_on((SV *)(sstr)); \ + } else { \ + Perl_sv_setsv_flags(aTHX_ (dstr), (sstr), (flags) & ~SV_NOSTEAL); \ + } \ + } STMT_END +#else + ( \ + (((flags) & SV_NOSTEAL) && (sstr) && (SvFLAGS((SV *)(sstr)) & SVs_TEMP)) ? ( \ + SvTEMP_off((SV *)(sstr)), \ + Perl_sv_setsv_flags(aTHX_ (dstr), (sstr), (flags) & ~SV_NOSTEAL), \ + SvTEMP_on((SV *)(sstr)), \ + 1 \ + ) : ( \ + Perl_sv_setsv_flags(aTHX_ (dstr), (sstr), (flags) & ~SV_NOSTEAL), \ + 1 \ + ) \ + ) +#endif #endif -#ifndef sv_catsv_mg -# define sv_catsv_mg(dsv, ssv) \ - STMT_START { \ - SV *TeMpSv = dsv; \ - sv_catsv(TeMpSv,ssv); \ - SvSETMAGIC(TeMpSv); \ - } STMT_END +#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) +#ifndef sv_setsv_flags +# define sv_setsv_flags(dstr, sstr, flags) \ + STMT_START { \ + if (((flags) & SV_NOSTEAL) && (sstr) && (SvFLAGS((SV *)(sstr)) & SVs_TEMP)) { \ + SvTEMP_off((SV *)(sstr)); \ + if (!((flags) & SV_GMAGIC) && (sstr) && SvGMAGICAL((SV *)(sstr))) { \ + SvGMAGICAL_off((SV *)(sstr)); \ + sv_setsv((dstr), (sstr)); \ + SvGMAGICAL_on((SV *)(sstr)); \ + } else { \ + sv_setsv((dstr), (sstr)); \ + } \ + SvTEMP_on((SV *)(sstr)); \ + } else { \ + if (!((flags) & SV_GMAGIC) && (sstr) && SvGMAGICAL((SV *)(sstr))) { \ + SvGMAGICAL_off((SV *)(sstr)); \ + sv_setsv((dstr), (sstr)); \ + SvGMAGICAL_on((SV *)(sstr)); \ + } else { \ + sv_setsv((dstr), (sstr)); \ + } \ + } \ + } STMT_END #endif -#ifndef sv_setiv_mg -# define sv_setiv_mg(sv, i) \ - STMT_START { \ - SV *TeMpSv = sv; \ - sv_setiv(TeMpSv,i); \ - SvSETMAGIC(TeMpSv); \ - } STMT_END +#else +#ifndef sv_setsv_flags +# define sv_setsv_flags(dstr, sstr, flags) \ + ( \ + (((flags) & SV_NOSTEAL) && (sstr) && (SvFLAGS((SV *)(sstr)) & SVs_TEMP)) ? ( \ + SvTEMP_off((SV *)(sstr)), \ + (!((flags) & SV_GMAGIC) && (sstr) && SvGMAGICAL((SV *)(sstr))) ? ( \ + SvGMAGICAL_off((SV *)(sstr)), \ + sv_setsv((dstr), (sstr)), \ + SvGMAGICAL_on((SV *)(sstr)), \ + 1 \ + ) : ( \ + sv_setsv((dstr), (sstr)), \ + 1 \ + ), \ + SvTEMP_on((SV *)(sstr)), \ + 1 \ + ) : ( \ + (!((flags) & SV_GMAGIC) && (sstr) && SvGMAGICAL((SV *)(sstr))) ? ( \ + SvGMAGICAL_off((SV *)(sstr)), \ + sv_setsv((dstr), (sstr)), \ + SvGMAGICAL_on((SV *)(sstr)), \ + 1 \ + ) : ( \ + sv_setsv((dstr), (sstr)), \ + 1 \ + ) \ + ) \ + ) #endif -#ifndef sv_setnv_mg -# define sv_setnv_mg(sv, num) \ - STMT_START { \ - SV *TeMpSv = sv; \ - sv_setnv(TeMpSv,num); \ - SvSETMAGIC(TeMpSv); \ - } STMT_END #endif -#ifndef sv_setpv_mg -# define sv_setpv_mg(sv, ptr) \ - STMT_START { \ - SV *TeMpSv = sv; \ - sv_setpv(TeMpSv,ptr); \ - SvSETMAGIC(TeMpSv); \ - } STMT_END +#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) +#ifndef newSVsv_flags +# define newSVsv_flags(sv, flags) ({ SV *_sv = newSV(0); sv_setsv_flags(_sv, (sv), (flags)); _sv; }) #endif -#ifndef sv_setpvn_mg -# define sv_setpvn_mg(sv, ptr, len) \ - STMT_START { \ - SV *TeMpSv = sv; \ - sv_setpvn(TeMpSv,ptr,len); \ - SvSETMAGIC(TeMpSv); \ - } STMT_END +#else +#ifndef newSVsv_flags +# define newSVsv_flags(sv, flags) ((PL_Sv = newSV(0)), sv_setsv_flags(PL_Sv, (sv), (flags)), PL_Sv) #endif -#ifndef sv_setsv_mg -# define sv_setsv_mg(dsv, ssv) \ - STMT_START { \ - SV *TeMpSv = dsv; \ - sv_setsv(TeMpSv,ssv); \ - SvSETMAGIC(TeMpSv); \ - } STMT_END +#endif +#ifndef newSVsv_nomg +# define newSVsv_nomg(sv) newSVsv_flags((sv), SV_NOSTEAL) #endif -#ifndef sv_setuv_mg -# define sv_setuv_mg(sv, i) \ - STMT_START { \ - SV *TeMpSv = sv; \ - sv_setuv(TeMpSv,i); \ - SvSETMAGIC(TeMpSv); \ - } STMT_END +#if (PERL_BCDVERSION >= 0x5017005) +#ifndef sv_mortalcopy_flags +# define sv_mortalcopy_flags(sv, flags) Perl_sv_mortalcopy_flags(aTHX_ (sv), (flags)) #endif -#ifndef sv_usepvn_mg -# define sv_usepvn_mg(sv, ptr, len) \ - STMT_START { \ - SV *TeMpSv = sv; \ - sv_usepvn(TeMpSv,ptr,len); \ - SvSETMAGIC(TeMpSv); \ - } STMT_END -#endif -#ifndef SvVSTRING_mg -# define SvVSTRING_mg(sv) (SvMAGICAL(sv) ? mg_find(sv, PERL_MAGIC_vstring) : NULL) +#else +#ifndef sv_mortalcopy_flags +# define sv_mortalcopy_flags(sv, flags) sv_2mortal(newSVsv_flags((sv), (flags))) #endif -/* Hint: sv_magic_portable - * This is a compatibility function that is only available with - * Devel::PPPort. It is NOT in the perl core. - * Its purpose is to mimic the 5.8.0 behaviour of sv_magic() when - * it is being passed a name pointer with namlen == 0. In that - * case, perl 5.8.0 and later store the pointer, not a copy of it. - * The compatibility can be provided back to perl 5.004. With - * earlier versions, the code will not compile. - */ - -#if (PERL_BCDVERSION < 0x5004000) - - /* code that uses sv_magic_portable will not compile */ - -#elif (PERL_BCDVERSION < 0x5008000) - -# define sv_magic_portable(sv, obj, how, name, namlen) \ - STMT_START { \ - SV *SvMp_sv = (sv); \ - char *SvMp_name = (char *) (name); \ - I32 SvMp_namlen = (namlen); \ - if (SvMp_name && SvMp_namlen == 0) \ - { \ - MAGIC *mg; \ - sv_magic(SvMp_sv, obj, how, 0, 0); \ - mg = SvMAGIC(SvMp_sv); \ - mg->mg_len = -42; /* XXX: this is the tricky part */ \ - mg->mg_ptr = SvMp_name; \ - } \ - else \ - { \ - sv_magic(SvMp_sv, obj, how, SvMp_name, SvMp_namlen); \ - } \ - } STMT_END - -#else +#endif +#ifndef SvMAGIC_set +# define SvMAGIC_set(sv, val) \ + STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \ + (((XPVMG*) SvANY(sv))->xmg_magic = (val)); } STMT_END +#endif -# define sv_magic_portable(a, b, c, d, e) sv_magic(a, b, c, d, e) +#if (PERL_BCDVERSION < 0x5009003) +#ifndef SvPVX_const +# define SvPVX_const(sv) ((const char*) (0 + SvPVX(sv))) +#endif +#ifndef SvPVX_mutable +# define SvPVX_mutable(sv) (0 + SvPVX(sv)) +#endif +#ifndef SvRV_set +# define SvRV_set(sv, val) \ + STMT_START { assert(SvTYPE(sv) >= SVt_RV); \ + (((XRV*) SvANY(sv))->xrv_rv = (val)); } STMT_END #endif -#if !defined(mg_findext) -#if defined(NEED_mg_findext) -static MAGIC * DPPP_(my_mg_findext)(SV * sv, int type, const MGVTBL *vtbl); -static #else -extern MAGIC * DPPP_(my_mg_findext)(SV * sv, int type, const MGVTBL *vtbl); +#ifndef SvPVX_const +# define SvPVX_const(sv) ((const char*)((sv)->sv_u.svu_pv)) #endif -#if defined(NEED_mg_findext) || defined(NEED_mg_findext_GLOBAL) - -#define mg_findext DPPP_(my_mg_findext) -#define Perl_mg_findext DPPP_(my_mg_findext) +#ifndef SvPVX_mutable +# define SvPVX_mutable(sv) ((sv)->sv_u.svu_pv) +#endif +#ifndef SvRV_set +# define SvRV_set(sv, val) \ + STMT_START { assert(SvTYPE(sv) >= SVt_RV); \ + ((sv)->sv_u.svu_rv = (val)); } STMT_END +#endif +#endif +#ifndef SvSTASH_set +# define SvSTASH_set(sv, val) \ + STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \ + (((XPVMG*) SvANY(sv))->xmg_stash = (val)); } STMT_END +#endif -MAGIC * -DPPP_(my_mg_findext)(SV * sv, int type, const MGVTBL *vtbl) { - if (sv) { - MAGIC *mg; +#if (PERL_BCDVERSION < 0x5004000) +#ifndef SvUV_set +# define SvUV_set(sv, val) \ + STMT_START { assert(SvTYPE(sv) == SVt_IV || SvTYPE(sv) >= SVt_PVIV); \ + (((XPVIV*) SvANY(sv))->xiv_iv = (IV) (val)); } STMT_END +#endif -#ifdef AvPAD_NAMELIST - assert(!(SvTYPE(sv) == SVt_PVAV && AvPAD_NAMELIST(sv))); +#else +#ifndef SvUV_set +# define SvUV_set(sv, val) \ + STMT_START { assert(SvTYPE(sv) == SVt_IV || SvTYPE(sv) >= SVt_PVIV); \ + (((XPVUV*) SvANY(sv))->xuv_uv = (val)); } STMT_END #endif - for (mg = SvMAGIC (sv); mg; mg = mg->mg_moremagic) { - if (mg->mg_type == type && mg->mg_virtual == vtbl) - return mg; - } - } +#endif - return NULL; -} +/* Hint: newSVpvn_share + * The SVs created by this function only mimic the behaviour of + * shared PVs without really being shared. Only use if you know + * what you're doing. + */ -#endif -#endif +#ifndef newSVpvn_share -#if !defined(sv_unmagicext) -#if defined(NEED_sv_unmagicext) -static int DPPP_(my_sv_unmagicext)(pTHX_ SV * const sv, const int type, MGVTBL * vtbl); +#if defined(NEED_newSVpvn_share) +static SV * DPPP_(my_newSVpvn_share)(pTHX_ const char * s, I32 len, U32 hash); static #else -extern int DPPP_(my_sv_unmagicext)(pTHX_ SV * const sv, const int type, MGVTBL * vtbl); +extern SV * DPPP_(my_newSVpvn_share)(pTHX_ const char * s, I32 len, U32 hash); #endif -#if defined(NEED_sv_unmagicext) || defined(NEED_sv_unmagicext_GLOBAL) +#if defined(NEED_newSVpvn_share) || defined(NEED_newSVpvn_share_GLOBAL) -#ifdef sv_unmagicext -# undef sv_unmagicext +#ifdef newSVpvn_share +# undef newSVpvn_share #endif -#define sv_unmagicext(a,b,c) DPPP_(my_sv_unmagicext)(aTHX_ a,b,c) -#define Perl_sv_unmagicext DPPP_(my_sv_unmagicext) +#define newSVpvn_share(a,b,c) DPPP_(my_newSVpvn_share)(aTHX_ a,b,c) +#define Perl_newSVpvn_share DPPP_(my_newSVpvn_share) -int -DPPP_(my_sv_unmagicext)(pTHX_ SV *const sv, const int type, MGVTBL *vtbl) +SV * +DPPP_(my_newSVpvn_share)(pTHX_ const char *s, I32 len, U32 hash) { - MAGIC* mg; - MAGIC** mgp; - - if (SvTYPE(sv) < SVt_PVMG || !SvMAGIC(sv)) - return 0; - mgp = &(SvMAGIC(sv)); - for (mg = *mgp; mg; mg = *mgp) { - const MGVTBL* const virt = mg->mg_virtual; - if (mg->mg_type == type && virt == vtbl) { - *mgp = mg->mg_moremagic; - if (virt && virt->svt_free) - virt->svt_free(aTHX_ sv, mg); - if (mg->mg_ptr && mg->mg_type != PERL_MAGIC_regex_global) { - if (mg->mg_len > 0) - Safefree(mg->mg_ptr); - else if (mg->mg_len == HEf_SVKEY) /* Questionable on older perls... */ - SvREFCNT_dec(MUTABLE_SV(mg->mg_ptr)); - else if (mg->mg_type == PERL_MAGIC_utf8) - Safefree(mg->mg_ptr); - } - if (mg->mg_flags & MGf_REFCOUNTED) - SvREFCNT_dec(mg->mg_obj); - Safefree(mg); - } - else - mgp = &mg->mg_moremagic; - } - if (SvMAGIC(sv)) { - if (SvMAGICAL(sv)) /* if we're under save_magic, wait for restore_magic; */ - mg_magical(sv); /* else fix the flags now */ - } - else { - SvMAGICAL_off(sv); - SvFLAGS(sv) |= (SvFLAGS(sv) & (SVp_IOK|SVp_NOK|SVp_POK)) >> PRIVSHIFT; - } - return 0; + SV *sv; + if (len < 0) + len = -len; + if (!hash) + PERL_HASH(hash, (char*) s, len); + sv = newSVpvn((char *) s, len); + sv_upgrade(sv, SVt_PVIV); + SvIVX(sv) = hash; + SvREADONLY_on(sv); + SvPOK_on(sv); + return sv; } -#endif #endif -#ifdef USE_ITHREADS -#ifndef CopFILE -# define CopFILE(c) ((c)->cop_file) #endif - -#ifndef CopFILEGV -# define CopFILEGV(c) (CopFILE(c) ? gv_fetchfile(CopFILE(c)) : Nullgv) +#ifndef SvSHARED_HASH +# define SvSHARED_HASH(sv) (0 + SvUVX(sv)) #endif - -#ifndef CopFILE_set -# define CopFILE_set(c,pv) ((c)->cop_file = savepv(pv)) +#ifndef HvNAME_get +# define HvNAME_get(hv) HvNAME(hv) #endif - -#ifndef CopFILESV -# define CopFILESV(c) (CopFILE(c) ? GvSV(gv_fetchfile(CopFILE(c))) : Nullsv) +#ifndef HvNAMELEN_get +# define HvNAMELEN_get(hv) (HvNAME_get(hv) ? (I32)strlen(HvNAME_get(hv)) : 0) #endif -#ifndef CopFILEAV -# define CopFILEAV(c) (CopFILE(c) ? GvAV(gv_fetchfile(CopFILE(c))) : Nullav) +#if (PERL_BCDVERSION >= 0x5009002) && (PERL_BCDVERSION <= 0x5009003) /* 5.9.2 and 5.9.3 ignore the length param */ +#undef gv_fetchpvn_flags #endif - -#ifndef CopSTASHPV -# define CopSTASHPV(c) ((c)->cop_stashpv) +#ifndef GV_NOADD_MASK +# define GV_NOADD_MASK 0xE0 #endif -#ifndef CopSTASHPV_set -# define CopSTASHPV_set(c,pv) ((c)->cop_stashpv = ((pv) ? savepv(pv) : Nullch)) +#ifndef gv_fetchpvn_flags +# define gv_fetchpvn_flags(name, len, flags, sv_type) gv_fetchpv(SvPVX(sv_2mortal(newSVpvn((name), (len)))), ((flags) & GV_NOADD_MASK) ? FALSE : TRUE, (I32)(sv_type)) #endif - -#ifndef CopSTASH -# define CopSTASH(c) (CopSTASHPV(c) ? gv_stashpv(CopSTASHPV(c),GV_ADD) : Nullhv) +#ifndef GvSVn +# define GvSVn(gv) GvSV(gv) #endif -#ifndef CopSTASH_set -# define CopSTASH_set(c,hv) CopSTASHPV_set(c, (hv) ? HvNAME(hv) : Nullch) +#ifndef isGV_with_GP +# define isGV_with_GP(gv) isGV(gv) #endif -#ifndef CopSTASH_eq -# define CopSTASH_eq(c,hv) ((hv) && (CopSTASHPV(c) == HvNAME(hv) \ - || (CopSTASHPV(c) && HvNAME(hv) \ - && strEQ(CopSTASHPV(c), HvNAME(hv))))) +#ifndef gv_fetchsv +# define gv_fetchsv(name, flags, svt) gv_fetchpv(SvPV_nolen_const(name), flags, svt) #endif - -#else -#ifndef CopFILEGV -# define CopFILEGV(c) ((c)->cop_filegv) +#ifndef get_cvn_flags +# define get_cvn_flags(name, namelen, flags) get_cv(name, flags) #endif -#ifndef CopFILEGV_set -# define CopFILEGV_set(c,gv) ((c)->cop_filegv = (GV*)SvREFCNT_inc(gv)) +#ifndef gv_init_pvn +# define gv_init_pvn(gv, stash, ptr, len, flags) gv_init(gv, stash, ptr, len, flags & GV_ADDMULTI ? TRUE : FALSE) #endif -#ifndef CopFILE_set -# define CopFILE_set(c,pv) CopFILEGV_set((c), gv_fetchfile(pv)) +/* concatenating with "" ensures that only literal strings are accepted as argument + * note that STR_WITH_LEN() can't be used as argument to macros or functions that + * under some configurations might be macros + */ +#ifndef STR_WITH_LEN +# define STR_WITH_LEN(s) (s ""), (sizeof(s)-1) #endif - -#ifndef CopFILESV -# define CopFILESV(c) (CopFILEGV(c) ? GvSV(CopFILEGV(c)) : Nullsv) +#ifndef newSVpvs +# define newSVpvs(str) newSVpvn(str "", sizeof(str) - 1) #endif -#ifndef CopFILEAV -# define CopFILEAV(c) (CopFILEGV(c) ? GvAV(CopFILEGV(c)) : Nullav) +#ifndef newSVpvs_flags +# define newSVpvs_flags(str, flags) newSVpvn_flags(str "", sizeof(str) - 1, flags) #endif -#ifndef CopFILE -# define CopFILE(c) (CopFILESV(c) ? SvPVX(CopFILESV(c)) : Nullch) +#ifndef newSVpvs_share +# define newSVpvs_share(str) newSVpvn_share(str "", sizeof(str) - 1, 0) #endif -#ifndef CopSTASH -# define CopSTASH(c) ((c)->cop_stash) +#ifndef sv_catpvs +# define sv_catpvs(sv, str) sv_catpvn(sv, str "", sizeof(str) - 1) #endif -#ifndef CopSTASH_set -# define CopSTASH_set(c,hv) ((c)->cop_stash = (hv)) +#ifndef sv_setpvs +# define sv_setpvs(sv, str) sv_setpvn(sv, str "", sizeof(str) - 1) #endif -#ifndef CopSTASHPV -# define CopSTASHPV(c) (CopSTASH(c) ? HvNAME(CopSTASH(c)) : Nullch) +#ifndef hv_fetchs +# define hv_fetchs(hv, key, lval) hv_fetch(hv, key "", sizeof(key) - 1, lval) #endif -#ifndef CopSTASHPV_set -# define CopSTASHPV_set(c,pv) CopSTASH_set((c), gv_stashpv(pv,GV_ADD)) +#ifndef hv_stores +# define hv_stores(hv, key, val) hv_store(hv, key "", sizeof(key) - 1, val, 0) #endif - -#ifndef CopSTASH_eq -# define CopSTASH_eq(c,hv) (CopSTASH(c) == (hv)) +#ifndef gv_fetchpvs +# define gv_fetchpvs(name, flags, svt) gv_fetchpvn_flags(name "", sizeof(name) - 1, flags, svt) #endif -#endif /* USE_ITHREADS */ - -#if (PERL_BCDVERSION >= 0x5006000) -#ifndef caller_cx - -# if defined(NEED_caller_cx) || defined(NEED_caller_cx_GLOBAL) -static I32 -DPPP_dopoptosub_at(const PERL_CONTEXT *cxstk, I32 startingblock) -{ - I32 i; - - for (i = startingblock; i >= 0; i--) { - register const PERL_CONTEXT * const cx = &cxstk[i]; - switch (CxTYPE(cx)) { - default: - continue; - case CXt_EVAL: - case CXt_SUB: - case CXt_FORMAT: - return i; - } - } - return i; -} -# endif - -# if defined(NEED_caller_cx) -static const PERL_CONTEXT * DPPP_(my_caller_cx)(pTHX_ I32 count, const PERL_CONTEXT **dbcxp); -static -#else -extern const PERL_CONTEXT * DPPP_(my_caller_cx)(pTHX_ I32 count, const PERL_CONTEXT **dbcxp); +#ifndef gv_stashpvs +# define gv_stashpvs(name, flags) gv_stashpvn(name "", sizeof(name) - 1, flags) +#endif +#ifndef get_cvs +# define get_cvs(name, flags) get_cvn_flags(name "", sizeof(name)-1, flags) +#endif +#ifndef SvGETMAGIC +# define SvGETMAGIC(x) STMT_START { if (SvGMAGICAL(x)) mg_get(x); } STMT_END #endif -#if defined(NEED_caller_cx) || defined(NEED_caller_cx_GLOBAL) - -#ifdef caller_cx -# undef caller_cx +/* That's the best we can do... */ +#ifndef sv_catpvn_nomg +# define sv_catpvn_nomg sv_catpvn #endif -#define caller_cx(a,b) DPPP_(my_caller_cx)(aTHX_ a,b) -#define Perl_caller_cx DPPP_(my_caller_cx) +#ifndef sv_catsv_nomg +# define sv_catsv_nomg sv_catsv +#endif -const PERL_CONTEXT * -DPPP_(my_caller_cx)(pTHX_ I32 count, const PERL_CONTEXT **dbcxp) -{ - register I32 cxix = DPPP_dopoptosub_at(cxstack, cxstack_ix); - register const PERL_CONTEXT *cx; - register const PERL_CONTEXT *ccstack = cxstack; - const PERL_SI *top_si = PL_curstackinfo; +#ifndef sv_setsv_nomg +# define sv_setsv_nomg sv_setsv +#endif - for (;;) { - /* we may be in a higher stacklevel, so dig down deeper */ - while (cxix < 0 && top_si->si_type != PERLSI_MAIN) { - top_si = top_si->si_prev; - ccstack = top_si->si_cxstack; - cxix = DPPP_dopoptosub_at(ccstack, top_si->si_cxix); - } - if (cxix < 0) - return NULL; - /* caller() should not report the automatic calls to &DB::sub */ - if (PL_DBsub && GvCV(PL_DBsub) && cxix >= 0 && - ccstack[cxix].blk_sub.cv == GvCV(PL_DBsub)) - count++; - if (!count--) - break; - cxix = DPPP_dopoptosub_at(ccstack, cxix - 1); - } +#ifndef sv_pvn_nomg +# define sv_pvn_nomg sv_pvn +#endif - cx = &ccstack[cxix]; - if (dbcxp) *dbcxp = cx; +#ifdef SVf_IVisUV +#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) +#ifndef SvIV_nomg +# define SvIV_nomg(sv) (!SvGMAGICAL((sv)) ? SvIV((sv)) : ({ SV *_sviv = sv_mortalcopy_flags((sv), SV_NOSTEAL); IV _iv = SvIV(_sviv); SvFLAGS((sv)) = (SvFLAGS((sv)) & ~SVf_IVisUV) | (SvFLAGS(_sviv) & SVf_IVisUV); _iv; })) +#endif - if (CxTYPE(cx) == CXt_SUB || CxTYPE(cx) == CXt_FORMAT) { - const I32 dbcxix = DPPP_dopoptosub_at(ccstack, cxix - 1); - /* We expect that ccstack[dbcxix] is CXt_SUB, anyway, the - field below is defined for any cx. */ - /* caller() should not report the automatic calls to &DB::sub */ - if (PL_DBsub && GvCV(PL_DBsub) && dbcxix >= 0 && ccstack[dbcxix].blk_sub.cv == GvCV(PL_DBsub)) - cx = &ccstack[dbcxix]; - } +#ifndef SvUV_nomg +# define SvUV_nomg(sv) (!SvGMAGICAL((sv)) ? SvUV((sv)) : ({ SV *_svuv = sv_mortalcopy_flags((sv), SV_NOSTEAL); UV _uv = SvUV(_svuv); SvFLAGS((sv)) = (SvFLAGS((sv)) & ~SVf_IVisUV) | (SvFLAGS(_svuv) & SVf_IVisUV); _uv; })) +#endif - return cx; -} +#else +#ifndef SvIV_nomg +# define SvIV_nomg(sv) (!SvGMAGICAL((sv)) ? SvIV((sv)) : ((PL_Sv = sv_mortalcopy_flags((sv), SV_NOSTEAL)), sv_upgrade(PL_Sv, SVt_PVIV), (SvIVX(PL_Sv) = SvIV(PL_Sv)), (SvFLAGS((sv)) = (SvFLAGS((sv)) & ~SVf_IVisUV) | (SvFLAGS(PL_Sv) & SVf_IVisUV)), SvIVX(PL_Sv))) +#endif -# endif -#endif /* caller_cx */ -#endif /* 5.6.0 */ -#ifndef IN_PERL_COMPILETIME -# define IN_PERL_COMPILETIME (PL_curcop == &PL_compiling) +#ifndef SvUV_nomg +# define SvUV_nomg(sv) (!SvGMAGICAL((sv)) ? SvIV((sv)) : ((PL_Sv = sv_mortalcopy_flags((sv), SV_NOSTEAL)), sv_upgrade(PL_Sv, SVt_PVIV), (SvUVX(PL_Sv) = SvUV(PL_Sv)), (SvFLAGS((sv)) = (SvFLAGS((sv)) & ~SVf_IVisUV) | (SvFLAGS(PL_Sv) & SVf_IVisUV)), SvUVX(PL_Sv))) #endif -#ifndef IN_LOCALE_RUNTIME -# define IN_LOCALE_RUNTIME (PL_curcop->op_private & HINT_LOCALE) +#endif +#else +#ifndef SvIV_nomg +# define SvIV_nomg(sv) (!SvGMAGICAL((sv)) ? SvIV((sv)) : SvIVx(sv_mortalcopy_flags((sv), SV_NOSTEAL))) #endif -#ifndef IN_LOCALE_COMPILETIME -# define IN_LOCALE_COMPILETIME (PL_hints & HINT_LOCALE) +#ifndef SvUV_nomg +# define SvUV_nomg(sv) (!SvGMAGICAL((sv)) ? SvUV((sv)) : SvUVx(sv_mortalcopy_flags((sv), SV_NOSTEAL))) #endif -#ifndef IN_LOCALE -# define IN_LOCALE (IN_PERL_COMPILETIME ? IN_LOCALE_COMPILETIME : IN_LOCALE_RUNTIME) #endif -#ifndef IS_NUMBER_IN_UV -# define IS_NUMBER_IN_UV 0x01 +#ifndef SvNV_nomg +# define SvNV_nomg(sv) (!SvGMAGICAL((sv)) ? SvNV((sv)) : SvNVx(sv_mortalcopy_flags((sv), SV_NOSTEAL))) #endif -#ifndef IS_NUMBER_GREATER_THAN_UV_MAX -# define IS_NUMBER_GREATER_THAN_UV_MAX 0x02 +#ifndef SvTRUE_nomg +# define SvTRUE_nomg(sv) (!SvGMAGICAL((sv)) ? SvTRUE((sv)) : SvTRUEx(sv_mortalcopy_flags((sv), SV_NOSTEAL))) #endif -#ifndef IS_NUMBER_NOT_INT -# define IS_NUMBER_NOT_INT 0x04 +#ifndef sv_catpv_mg +# define sv_catpv_mg(sv, ptr) \ + STMT_START { \ + SV *TeMpSv = sv; \ + sv_catpv(TeMpSv,ptr); \ + SvSETMAGIC(TeMpSv); \ + } STMT_END #endif -#ifndef IS_NUMBER_NEG -# define IS_NUMBER_NEG 0x08 +#ifndef sv_catpvn_mg +# define sv_catpvn_mg(sv, ptr, len) \ + STMT_START { \ + SV *TeMpSv = sv; \ + sv_catpvn(TeMpSv,ptr,len); \ + SvSETMAGIC(TeMpSv); \ + } STMT_END #endif -#ifndef IS_NUMBER_INFINITY -# define IS_NUMBER_INFINITY 0x10 +#ifndef sv_catsv_mg +# define sv_catsv_mg(dsv, ssv) \ + STMT_START { \ + SV *TeMpSv = dsv; \ + sv_catsv(TeMpSv,ssv); \ + SvSETMAGIC(TeMpSv); \ + } STMT_END #endif -#ifndef IS_NUMBER_NAN -# define IS_NUMBER_NAN 0x20 +#ifndef sv_setiv_mg +# define sv_setiv_mg(sv, i) \ + STMT_START { \ + SV *TeMpSv = sv; \ + sv_setiv(TeMpSv,i); \ + SvSETMAGIC(TeMpSv); \ + } STMT_END #endif -#ifndef GROK_NUMERIC_RADIX -# define GROK_NUMERIC_RADIX(sp, send) grok_numeric_radix(sp, send) + +#ifndef sv_setnv_mg +# define sv_setnv_mg(sv, num) \ + STMT_START { \ + SV *TeMpSv = sv; \ + sv_setnv(TeMpSv,num); \ + SvSETMAGIC(TeMpSv); \ + } STMT_END #endif -#ifndef PERL_SCAN_GREATER_THAN_UV_MAX -# define PERL_SCAN_GREATER_THAN_UV_MAX 0x02 + +#ifndef sv_setpv_mg +# define sv_setpv_mg(sv, ptr) \ + STMT_START { \ + SV *TeMpSv = sv; \ + sv_setpv(TeMpSv,ptr); \ + SvSETMAGIC(TeMpSv); \ + } STMT_END #endif -#ifndef PERL_SCAN_SILENT_ILLDIGIT -# define PERL_SCAN_SILENT_ILLDIGIT 0x04 +#ifndef sv_setpvn_mg +# define sv_setpvn_mg(sv, ptr, len) \ + STMT_START { \ + SV *TeMpSv = sv; \ + sv_setpvn(TeMpSv,ptr,len); \ + SvSETMAGIC(TeMpSv); \ + } STMT_END #endif -#ifndef PERL_SCAN_ALLOW_UNDERSCORES -# define PERL_SCAN_ALLOW_UNDERSCORES 0x01 +#ifndef sv_setsv_mg +# define sv_setsv_mg(dsv, ssv) \ + STMT_START { \ + SV *TeMpSv = dsv; \ + sv_setsv(TeMpSv,ssv); \ + SvSETMAGIC(TeMpSv); \ + } STMT_END #endif -#ifndef PERL_SCAN_DISALLOW_PREFIX -# define PERL_SCAN_DISALLOW_PREFIX 0x02 +#ifndef sv_setuv_mg +# define sv_setuv_mg(sv, i) \ + STMT_START { \ + SV *TeMpSv = sv; \ + sv_setuv(TeMpSv,i); \ + SvSETMAGIC(TeMpSv); \ + } STMT_END #endif -#ifndef grok_numeric_radix -#if defined(NEED_grok_numeric_radix) -static bool DPPP_(my_grok_numeric_radix)(pTHX_ const char ** sp, const char * send); -static -#else -extern bool DPPP_(my_grok_numeric_radix)(pTHX_ const char ** sp, const char * send); +#ifndef sv_usepvn_mg +# define sv_usepvn_mg(sv, ptr, len) \ + STMT_START { \ + SV *TeMpSv = sv; \ + sv_usepvn(TeMpSv,ptr,len); \ + SvSETMAGIC(TeMpSv); \ + } STMT_END +#endif +#ifndef SvVSTRING_mg +# define SvVSTRING_mg(sv) (SvMAGICAL(sv) ? mg_find(sv, PERL_MAGIC_vstring) : NULL) #endif -#if defined(NEED_grok_numeric_radix) || defined(NEED_grok_numeric_radix_GLOBAL) +/* Hint: sv_magic_portable + * This is a compatibility function that is only available with + * Devel::PPPort. It is NOT in the perl core. + * Its purpose is to mimic the 5.8.0 behaviour of sv_magic() when + * it is being passed a name pointer with namlen == 0. In that + * case, perl 5.8.0 and later store the pointer, not a copy of it. + * The compatibility can be provided back to perl 5.004. With + * earlier versions, the code will not compile. + */ -#ifdef grok_numeric_radix -# undef grok_numeric_radix -#endif -#define grok_numeric_radix(a,b) DPPP_(my_grok_numeric_radix)(aTHX_ a,b) -#define Perl_grok_numeric_radix DPPP_(my_grok_numeric_radix) +#if (PERL_BCDVERSION < 0x5004000) -bool -DPPP_(my_grok_numeric_radix)(pTHX_ const char **sp, const char *send) -{ -#ifdef USE_LOCALE_NUMERIC -#ifdef PL_numeric_radix_sv - if (PL_numeric_radix_sv && IN_LOCALE) { + /* code that uses sv_magic_portable will not compile */ + +#elif (PERL_BCDVERSION < 0x5008000) + +# define sv_magic_portable(sv, obj, how, name, namlen) \ + STMT_START { \ + SV *SvMp_sv = (sv); \ + char *SvMp_name = (char *) (name); \ + I32 SvMp_namlen = (namlen); \ + if (SvMp_name && SvMp_namlen == 0) \ + { \ + MAGIC *mg; \ + sv_magic(SvMp_sv, obj, how, 0, 0); \ + mg = SvMAGIC(SvMp_sv); \ + mg->mg_len = -42; /* XXX: this is the tricky part */ \ + mg->mg_ptr = SvMp_name; \ + } \ + else \ + { \ + sv_magic(SvMp_sv, obj, how, SvMp_name, SvMp_namlen); \ + } \ + } STMT_END + +#else + +# define sv_magic_portable(a, b, c, d, e) sv_magic(a, b, c, d, e) + +#endif + +#if !defined(mg_findext) +#if defined(NEED_mg_findext) +static MAGIC * DPPP_(my_mg_findext)(const SV * sv, int type, const MGVTBL * vtbl); +static +#else +extern MAGIC * DPPP_(my_mg_findext)(const SV * sv, int type, const MGVTBL * vtbl); +#endif + +#if defined(NEED_mg_findext) || defined(NEED_mg_findext_GLOBAL) + +#define mg_findext DPPP_(my_mg_findext) +#define Perl_mg_findext DPPP_(my_mg_findext) + + +MAGIC * +DPPP_(my_mg_findext)(const SV * sv, int type, const MGVTBL *vtbl) { + if (sv) { + MAGIC *mg; + +#ifdef AvPAD_NAMELIST + assert(!(SvTYPE(sv) == SVt_PVAV && AvPAD_NAMELIST(sv))); +#endif + + for (mg = SvMAGIC (sv); mg; mg = mg->mg_moremagic) { + if (mg->mg_type == type && mg->mg_virtual == vtbl) + return mg; + } + } + + return NULL; +} + +#endif +#endif + +#if !defined(sv_unmagicext) +#if defined(NEED_sv_unmagicext) +static int DPPP_(my_sv_unmagicext)(pTHX_ SV * const sv, const int type, MGVTBL * vtbl); +static +#else +extern int DPPP_(my_sv_unmagicext)(pTHX_ SV * const sv, const int type, MGVTBL * vtbl); +#endif + +#if defined(NEED_sv_unmagicext) || defined(NEED_sv_unmagicext_GLOBAL) + +#ifdef sv_unmagicext +# undef sv_unmagicext +#endif +#define sv_unmagicext(a,b,c) DPPP_(my_sv_unmagicext)(aTHX_ a,b,c) +#define Perl_sv_unmagicext DPPP_(my_sv_unmagicext) + + +int +DPPP_(my_sv_unmagicext)(pTHX_ SV *const sv, const int type, MGVTBL *vtbl) +{ + MAGIC* mg; + MAGIC** mgp; + + if (SvTYPE(sv) < SVt_PVMG || !SvMAGIC(sv)) + return 0; + mgp = &(SvMAGIC(sv)); + for (mg = *mgp; mg; mg = *mgp) { + const MGVTBL* const virt = mg->mg_virtual; + if (mg->mg_type == type && virt == vtbl) { + *mgp = mg->mg_moremagic; + if (virt && virt->svt_free) + virt->svt_free(aTHX_ sv, mg); + if (mg->mg_ptr && mg->mg_type != PERL_MAGIC_regex_global) { + if (mg->mg_len > 0) + Safefree(mg->mg_ptr); + else if (mg->mg_len == HEf_SVKEY) /* Questionable on older perls... */ + SvREFCNT_dec(MUTABLE_SV(mg->mg_ptr)); + else if (mg->mg_type == PERL_MAGIC_utf8) + Safefree(mg->mg_ptr); + } + if (mg->mg_flags & MGf_REFCOUNTED) + SvREFCNT_dec(mg->mg_obj); + Safefree(mg); + } + else + mgp = &mg->mg_moremagic; + } + if (SvMAGIC(sv)) { + if (SvMAGICAL(sv)) /* if we're under save_magic, wait for restore_magic; */ + mg_magical(sv); /* else fix the flags now */ + } + else { + SvMAGICAL_off(sv); + SvFLAGS(sv) |= (SvFLAGS(sv) & (SVp_IOK|SVp_NOK|SVp_POK)) >> PRIVSHIFT; + } + return 0; +} + +#endif +#endif + +#ifdef USE_ITHREADS +#ifndef CopFILE +# define CopFILE(c) ((c)->cop_file) +#endif + +#ifndef CopFILEGV +# define CopFILEGV(c) (CopFILE(c) ? gv_fetchfile(CopFILE(c)) : Nullgv) +#endif + +#ifndef CopFILE_set +# define CopFILE_set(c,pv) ((c)->cop_file = savepv(pv)) +#endif + +#ifndef CopFILESV +# define CopFILESV(c) (CopFILE(c) ? GvSV(gv_fetchfile(CopFILE(c))) : Nullsv) +#endif + +#ifndef CopFILEAV +# define CopFILEAV(c) (CopFILE(c) ? GvAV(gv_fetchfile(CopFILE(c))) : Nullav) +#endif + +#ifndef CopSTASHPV +# define CopSTASHPV(c) ((c)->cop_stashpv) +#endif + +#ifndef CopSTASHPV_set +# define CopSTASHPV_set(c,pv) ((c)->cop_stashpv = ((pv) ? savepv(pv) : Nullch)) +#endif + +#ifndef CopSTASH +# define CopSTASH(c) (CopSTASHPV(c) ? gv_stashpv(CopSTASHPV(c),GV_ADD) : Nullhv) +#endif + +#ifndef CopSTASH_set +# define CopSTASH_set(c,hv) CopSTASHPV_set(c, (hv) ? HvNAME(hv) : Nullch) +#endif + +#ifndef CopSTASH_eq +# define CopSTASH_eq(c,hv) ((hv) && (CopSTASHPV(c) == HvNAME(hv) \ + || (CopSTASHPV(c) && HvNAME(hv) \ + && strEQ(CopSTASHPV(c), HvNAME(hv))))) +#endif + +#else +#ifndef CopFILEGV +# define CopFILEGV(c) ((c)->cop_filegv) +#endif + +#ifndef CopFILEGV_set +# define CopFILEGV_set(c,gv) ((c)->cop_filegv = (GV*)SvREFCNT_inc(gv)) +#endif + +#ifndef CopFILE_set +# define CopFILE_set(c,pv) CopFILEGV_set((c), gv_fetchfile(pv)) +#endif + +#ifndef CopFILESV +# define CopFILESV(c) (CopFILEGV(c) ? GvSV(CopFILEGV(c)) : Nullsv) +#endif + +#ifndef CopFILEAV +# define CopFILEAV(c) (CopFILEGV(c) ? GvAV(CopFILEGV(c)) : Nullav) +#endif + +#ifndef CopFILE +# define CopFILE(c) (CopFILESV(c) ? SvPVX(CopFILESV(c)) : Nullch) +#endif + +#ifndef CopSTASH +# define CopSTASH(c) ((c)->cop_stash) +#endif + +#ifndef CopSTASH_set +# define CopSTASH_set(c,hv) ((c)->cop_stash = (hv)) +#endif + +#ifndef CopSTASHPV +# define CopSTASHPV(c) (CopSTASH(c) ? HvNAME(CopSTASH(c)) : Nullch) +#endif + +#ifndef CopSTASHPV_set +# define CopSTASHPV_set(c,pv) CopSTASH_set((c), gv_stashpv(pv,GV_ADD)) +#endif + +#ifndef CopSTASH_eq +# define CopSTASH_eq(c,hv) (CopSTASH(c) == (hv)) +#endif + +#endif /* USE_ITHREADS */ + +#if (PERL_BCDVERSION >= 0x5006000) +#ifndef caller_cx + +# if defined(NEED_caller_cx) || defined(NEED_caller_cx_GLOBAL) +static I32 +DPPP_dopoptosub_at(const PERL_CONTEXT *cxstk, I32 startingblock) +{ + I32 i; + + for (i = startingblock; i >= 0; i--) { + register const PERL_CONTEXT * const cx = &cxstk[i]; + switch (CxTYPE(cx)) { + default: + continue; + case CXt_EVAL: + case CXt_SUB: + case CXt_FORMAT: + return i; + } + } + return i; +} +# endif + +# if defined(NEED_caller_cx) +static const PERL_CONTEXT * DPPP_(my_caller_cx)(pTHX_ I32 level, const PERL_CONTEXT * * dbcxp); +static +#else +extern const PERL_CONTEXT * DPPP_(my_caller_cx)(pTHX_ I32 level, const PERL_CONTEXT * * dbcxp); +#endif + +#if defined(NEED_caller_cx) || defined(NEED_caller_cx_GLOBAL) + +#ifdef caller_cx +# undef caller_cx +#endif +#define caller_cx(a,b) DPPP_(my_caller_cx)(aTHX_ a,b) +#define Perl_caller_cx DPPP_(my_caller_cx) + + +const PERL_CONTEXT * +DPPP_(my_caller_cx)(pTHX_ I32 level, const PERL_CONTEXT **dbcxp) +{ + register I32 cxix = DPPP_dopoptosub_at(cxstack, cxstack_ix); + register const PERL_CONTEXT *cx; + register const PERL_CONTEXT *ccstack = cxstack; + const PERL_SI *top_si = PL_curstackinfo; + + for (;;) { + /* we may be in a higher stacklevel, so dig down deeper */ + while (cxix < 0 && top_si->si_type != PERLSI_MAIN) { + top_si = top_si->si_prev; + ccstack = top_si->si_cxstack; + cxix = DPPP_dopoptosub_at(ccstack, top_si->si_cxix); + } + if (cxix < 0) + return NULL; + /* caller() should not report the automatic calls to &DB::sub */ + if (PL_DBsub && GvCV(PL_DBsub) && cxix >= 0 && + ccstack[cxix].blk_sub.cv == GvCV(PL_DBsub)) + level++; + if (!level--) + break; + cxix = DPPP_dopoptosub_at(ccstack, cxix - 1); + } + + cx = &ccstack[cxix]; + if (dbcxp) *dbcxp = cx; + + if (CxTYPE(cx) == CXt_SUB || CxTYPE(cx) == CXt_FORMAT) { + const I32 dbcxix = DPPP_dopoptosub_at(ccstack, cxix - 1); + /* We expect that ccstack[dbcxix] is CXt_SUB, anyway, the + field below is defined for any cx. */ + /* caller() should not report the automatic calls to &DB::sub */ + if (PL_DBsub && GvCV(PL_DBsub) && dbcxix >= 0 && ccstack[dbcxix].blk_sub.cv == GvCV(PL_DBsub)) + cx = &ccstack[dbcxix]; + } + + return cx; +} + +# endif +#endif /* caller_cx */ +#endif /* 5.6.0 */ +#ifndef IN_PERL_COMPILETIME +# define IN_PERL_COMPILETIME (PL_curcop == &PL_compiling) +#endif + +#ifndef IN_LOCALE_RUNTIME +# define IN_LOCALE_RUNTIME (PL_curcop->op_private & HINT_LOCALE) +#endif + +#ifndef IN_LOCALE_COMPILETIME +# define IN_LOCALE_COMPILETIME (PL_hints & HINT_LOCALE) +#endif + +#ifndef IN_LOCALE +# define IN_LOCALE (IN_PERL_COMPILETIME ? IN_LOCALE_COMPILETIME : IN_LOCALE_RUNTIME) +#endif +#ifndef IS_NUMBER_IN_UV +# define IS_NUMBER_IN_UV 0x01 +#endif + +#ifndef IS_NUMBER_GREATER_THAN_UV_MAX +# define IS_NUMBER_GREATER_THAN_UV_MAX 0x02 +#endif + +#ifndef IS_NUMBER_NOT_INT +# define IS_NUMBER_NOT_INT 0x04 +#endif + +#ifndef IS_NUMBER_NEG +# define IS_NUMBER_NEG 0x08 +#endif + +#ifndef IS_NUMBER_INFINITY +# define IS_NUMBER_INFINITY 0x10 +#endif + +#ifndef IS_NUMBER_NAN +# define IS_NUMBER_NAN 0x20 +#endif +#ifndef GROK_NUMERIC_RADIX +# define GROK_NUMERIC_RADIX(sp, send) grok_numeric_radix(sp, send) +#endif +#ifndef PERL_SCAN_GREATER_THAN_UV_MAX +# define PERL_SCAN_GREATER_THAN_UV_MAX 0x02 +#endif + +#ifndef PERL_SCAN_SILENT_ILLDIGIT +# define PERL_SCAN_SILENT_ILLDIGIT 0x04 +#endif + +#ifndef PERL_SCAN_ALLOW_UNDERSCORES +# define PERL_SCAN_ALLOW_UNDERSCORES 0x01 +#endif + +#ifndef PERL_SCAN_DISALLOW_PREFIX +# define PERL_SCAN_DISALLOW_PREFIX 0x02 +#endif + +#ifndef grok_numeric_radix +#if defined(NEED_grok_numeric_radix) +static bool DPPP_(my_grok_numeric_radix)(pTHX_ const char * * sp, const char * send); +static +#else +extern bool DPPP_(my_grok_numeric_radix)(pTHX_ const char * * sp, const char * send); +#endif + +#if defined(NEED_grok_numeric_radix) || defined(NEED_grok_numeric_radix_GLOBAL) + +#ifdef grok_numeric_radix +# undef grok_numeric_radix +#endif +#define grok_numeric_radix(a,b) DPPP_(my_grok_numeric_radix)(aTHX_ a,b) +#define Perl_grok_numeric_radix DPPP_(my_grok_numeric_radix) + +bool +DPPP_(my_grok_numeric_radix)(pTHX_ const char **sp, const char *send) +{ +#ifdef USE_LOCALE_NUMERIC +#ifdef PL_numeric_radix_sv + if (PL_numeric_radix_sv && IN_LOCALE) { STRLEN len; char* radix = SvPV(PL_numeric_radix_sv, len); if (*sp + len <= send && memEQ(*sp, radix, len)) { @@ -9528,439 +12585,1021 @@ DPPP_(my_grok_number)(pTHX_ const char *pv, STRLEN len, UV *valuep) static UV DPPP_(my_grok_bin)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result); static #else -extern UV DPPP_(my_grok_bin)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result); +extern UV DPPP_(my_grok_bin)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result); +#endif + +#if defined(NEED_grok_bin) || defined(NEED_grok_bin_GLOBAL) + +#ifdef grok_bin +# undef grok_bin +#endif +#define grok_bin(a,b,c,d) DPPP_(my_grok_bin)(aTHX_ a,b,c,d) +#define Perl_grok_bin DPPP_(my_grok_bin) + +UV +DPPP_(my_grok_bin)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *result) +{ + const char *s = start; + STRLEN len = *len_p; + UV value = 0; + NV value_nv = 0; + + const UV max_div_2 = UV_MAX / 2; + bool allow_underscores = *flags & PERL_SCAN_ALLOW_UNDERSCORES; + bool overflowed = FALSE; + + if (!(*flags & PERL_SCAN_DISALLOW_PREFIX)) { + /* strip off leading b or 0b. + for compatibility silently suffer "b" and "0b" as valid binary + numbers. */ + if (len >= 1) { + if (s[0] == 'b') { + s++; + len--; + } + else if (len >= 2 && s[0] == '0' && s[1] == 'b') { + s+=2; + len-=2; + } + } + } + + for (; len-- && *s; s++) { + char bit = *s; + if (bit == '0' || bit == '1') { + /* Write it in this wonky order with a goto to attempt to get the + compiler to make the common case integer-only loop pretty tight. + With gcc seems to be much straighter code than old scan_bin. */ + redo: + if (!overflowed) { + if (value <= max_div_2) { + value = (value << 1) | (bit - '0'); + continue; + } + /* Bah. We're just overflowed. */ + warn("Integer overflow in binary number"); + overflowed = TRUE; + value_nv = (NV) value; + } + value_nv *= 2.0; + /* If an NV has not enough bits in its mantissa to + * represent a UV this summing of small low-order numbers + * is a waste of time (because the NV cannot preserve + * the low-order bits anyway): we could just remember when + * did we overflow and in the end just multiply value_nv by the + * right amount. */ + value_nv += (NV)(bit - '0'); + continue; + } + if (bit == '_' && len && allow_underscores && (bit = s[1]) + && (bit == '0' || bit == '1')) + { + --len; + ++s; + goto redo; + } + if (!(*flags & PERL_SCAN_SILENT_ILLDIGIT)) + warn("Illegal binary digit '%c' ignored", *s); + break; + } + + if ( ( overflowed && value_nv > 4294967295.0) +#if UVSIZE > 4 + || (!overflowed && value > 0xffffffff ) +#endif + ) { + warn("Binary number > 0b11111111111111111111111111111111 non-portable"); + } + *len_p = s - start; + if (!overflowed) { + *flags = 0; + return value; + } + *flags = PERL_SCAN_GREATER_THAN_UV_MAX; + if (result) + *result = value_nv; + return UV_MAX; +} +#endif +#endif + +#ifndef grok_hex +#if defined(NEED_grok_hex) +static UV DPPP_(my_grok_hex)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result); +static +#else +extern UV DPPP_(my_grok_hex)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result); +#endif + +#if defined(NEED_grok_hex) || defined(NEED_grok_hex_GLOBAL) + +#ifdef grok_hex +# undef grok_hex +#endif +#define grok_hex(a,b,c,d) DPPP_(my_grok_hex)(aTHX_ a,b,c,d) +#define Perl_grok_hex DPPP_(my_grok_hex) + +UV +DPPP_(my_grok_hex)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *result) +{ + const char *s = start; + STRLEN len = *len_p; + UV value = 0; + NV value_nv = 0; + + const UV max_div_16 = UV_MAX / 16; + bool allow_underscores = *flags & PERL_SCAN_ALLOW_UNDERSCORES; + bool overflowed = FALSE; + const char *xdigit; + + if (!(*flags & PERL_SCAN_DISALLOW_PREFIX)) { + /* strip off leading x or 0x. + for compatibility silently suffer "x" and "0x" as valid hex numbers. + */ + if (len >= 1) { + if (s[0] == 'x') { + s++; + len--; + } + else if (len >= 2 && s[0] == '0' && s[1] == 'x') { + s+=2; + len-=2; + } + } + } + + for (; len-- && *s; s++) { + xdigit = strchr((char *) PL_hexdigit, *s); + if (xdigit) { + /* Write it in this wonky order with a goto to attempt to get the + compiler to make the common case integer-only loop pretty tight. + With gcc seems to be much straighter code than old scan_hex. */ + redo: + if (!overflowed) { + if (value <= max_div_16) { + value = (value << 4) | ((xdigit - PL_hexdigit) & 15); + continue; + } + warn("Integer overflow in hexadecimal number"); + overflowed = TRUE; + value_nv = (NV) value; + } + value_nv *= 16.0; + /* If an NV has not enough bits in its mantissa to + * represent a UV this summing of small low-order numbers + * is a waste of time (because the NV cannot preserve + * the low-order bits anyway): we could just remember when + * did we overflow and in the end just multiply value_nv by the + * right amount of 16-tuples. */ + value_nv += (NV)((xdigit - PL_hexdigit) & 15); + continue; + } + if (*s == '_' && len && allow_underscores && s[1] + && (xdigit = strchr((char *) PL_hexdigit, s[1]))) + { + --len; + ++s; + goto redo; + } + if (!(*flags & PERL_SCAN_SILENT_ILLDIGIT)) + warn("Illegal hexadecimal digit '%c' ignored", *s); + break; + } + + if ( ( overflowed && value_nv > 4294967295.0) +#if UVSIZE > 4 + || (!overflowed && value > 0xffffffff ) +#endif + ) { + warn("Hexadecimal number > 0xffffffff non-portable"); + } + *len_p = s - start; + if (!overflowed) { + *flags = 0; + return value; + } + *flags = PERL_SCAN_GREATER_THAN_UV_MAX; + if (result) + *result = value_nv; + return UV_MAX; +} +#endif +#endif + +#ifndef grok_oct +#if defined(NEED_grok_oct) +static UV DPPP_(my_grok_oct)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result); +static +#else +extern UV DPPP_(my_grok_oct)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result); #endif -#if defined(NEED_grok_bin) || defined(NEED_grok_bin_GLOBAL) +#if defined(NEED_grok_oct) || defined(NEED_grok_oct_GLOBAL) -#ifdef grok_bin -# undef grok_bin +#ifdef grok_oct +# undef grok_oct #endif -#define grok_bin(a,b,c,d) DPPP_(my_grok_bin)(aTHX_ a,b,c,d) -#define Perl_grok_bin DPPP_(my_grok_bin) +#define grok_oct(a,b,c,d) DPPP_(my_grok_oct)(aTHX_ a,b,c,d) +#define Perl_grok_oct DPPP_(my_grok_oct) UV -DPPP_(my_grok_bin)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *result) +DPPP_(my_grok_oct)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *result) { const char *s = start; STRLEN len = *len_p; UV value = 0; NV value_nv = 0; - const UV max_div_2 = UV_MAX / 2; + const UV max_div_8 = UV_MAX / 8; bool allow_underscores = *flags & PERL_SCAN_ALLOW_UNDERSCORES; bool overflowed = FALSE; - if (!(*flags & PERL_SCAN_DISALLOW_PREFIX)) { - /* strip off leading b or 0b. - for compatibility silently suffer "b" and "0b" as valid binary - numbers. */ - if (len >= 1) { - if (s[0] == 'b') { - s++; - len--; - } - else if (len >= 2 && s[0] == '0' && s[1] == 'b') { - s+=2; - len-=2; - } - } - } - for (; len-- && *s; s++) { - char bit = *s; - if (bit == '0' || bit == '1') { + /* gcc 2.95 optimiser not smart enough to figure that this subtraction + out front allows slicker code. */ + int digit = *s - '0'; + if (digit >= 0 && digit <= 7) { /* Write it in this wonky order with a goto to attempt to get the compiler to make the common case integer-only loop pretty tight. - With gcc seems to be much straighter code than old scan_bin. */ + */ redo: if (!overflowed) { - if (value <= max_div_2) { - value = (value << 1) | (bit - '0'); + if (value <= max_div_8) { + value = (value << 3) | digit; continue; } /* Bah. We're just overflowed. */ - warn("Integer overflow in binary number"); + warn("Integer overflow in octal number"); overflowed = TRUE; value_nv = (NV) value; } - value_nv *= 2.0; + value_nv *= 8.0; /* If an NV has not enough bits in its mantissa to * represent a UV this summing of small low-order numbers * is a waste of time (because the NV cannot preserve * the low-order bits anyway): we could just remember when * did we overflow and in the end just multiply value_nv by the - * right amount. */ - value_nv += (NV)(bit - '0'); + * right amount of 8-tuples. */ + value_nv += (NV)digit; continue; } - if (bit == '_' && len && allow_underscores && (bit = s[1]) - && (bit == '0' || bit == '1')) + if (digit == ('_' - '0') && len && allow_underscores + && (digit = s[1] - '0') && (digit >= 0 && digit <= 7)) { --len; ++s; goto redo; } - if (!(*flags & PERL_SCAN_SILENT_ILLDIGIT)) - warn("Illegal binary digit '%c' ignored", *s); + /* Allow \octal to work the DWIM way (that is, stop scanning + * as soon as non-octal characters are seen, complain only iff + * someone seems to want to use the digits eight and nine). */ + if (digit == 8 || digit == 9) { + if (!(*flags & PERL_SCAN_SILENT_ILLDIGIT)) + warn("Illegal octal digit '%c' ignored", *s); + } break; } - if ( ( overflowed && value_nv > 4294967295.0) -#if UVSIZE > 4 - || (!overflowed && value > 0xffffffff ) + if ( ( overflowed && value_nv > 4294967295.0) +#if UVSIZE > 4 + || (!overflowed && value > 0xffffffff ) +#endif + ) { + warn("Octal number > 037777777777 non-portable"); + } + *len_p = s - start; + if (!overflowed) { + *flags = 0; + return value; + } + *flags = PERL_SCAN_GREATER_THAN_UV_MAX; + if (result) + *result = value_nv; + return UV_MAX; +} +#endif +#endif + +#if !defined(my_snprintf) +#if defined(NEED_my_snprintf) +static int DPPP_(my_my_snprintf)(char * buffer, const Size_t len, const char * format, ...); +static +#else +extern int DPPP_(my_my_snprintf)(char * buffer, const Size_t len, const char * format, ...); +#endif + +#if defined(NEED_my_snprintf) || defined(NEED_my_snprintf_GLOBAL) + +#define my_snprintf DPPP_(my_my_snprintf) +#define Perl_my_snprintf DPPP_(my_my_snprintf) + + +int +DPPP_(my_my_snprintf)(char *buffer, const Size_t len, const char *format, ...) +{ + dTHX; + int retval; + va_list ap; + va_start(ap, format); +#ifdef HAS_VSNPRINTF + retval = vsnprintf(buffer, len, format, ap); +#else + retval = vsprintf(buffer, format, ap); +#endif + va_end(ap); + if (retval < 0 || (len > 0 && (Size_t)retval >= len)) + Perl_croak(aTHX_ "panic: my_snprintf buffer overflow"); + return retval; +} + +#endif +#endif + +#if !defined(my_sprintf) +#if defined(NEED_my_sprintf) +static int DPPP_(my_my_sprintf)(char * buffer, const char * pat, ...); +static +#else +extern int DPPP_(my_my_sprintf)(char * buffer, const char * pat, ...); +#endif + +#if defined(NEED_my_sprintf) || defined(NEED_my_sprintf_GLOBAL) + +#define my_sprintf DPPP_(my_my_sprintf) + + +/* Warning: my_sprintf + It's safer to use my_snprintf instead +*/ + +/* Replace my_sprintf with my_snprintf */ + +int +DPPP_(my_my_sprintf)(char *buffer, const char* pat, ...) +{ + va_list args; + va_start(args, pat); + vsprintf(buffer, pat, args); + va_end(args); + return strlen(buffer); +} + +#endif +#endif + +#ifdef NO_XSLOCKS +# ifdef dJMPENV +# define dXCPT dJMPENV; int rEtV = 0 +# define XCPT_TRY_START JMPENV_PUSH(rEtV); if (rEtV == 0) +# define XCPT_TRY_END JMPENV_POP; +# define XCPT_CATCH if (rEtV != 0) +# define XCPT_RETHROW JMPENV_JUMP(rEtV) +# else +# define dXCPT Sigjmp_buf oldTOP; int rEtV = 0 +# define XCPT_TRY_START Copy(top_env, oldTOP, 1, Sigjmp_buf); rEtV = Sigsetjmp(top_env, 1); if (rEtV == 0) +# define XCPT_TRY_END Copy(oldTOP, top_env, 1, Sigjmp_buf); +# define XCPT_CATCH if (rEtV != 0) +# define XCPT_RETHROW Siglongjmp(top_env, rEtV) +# endif +#endif + +#if !defined(my_strlcat) +#if defined(NEED_my_strlcat) +static Size_t DPPP_(my_my_strlcat)(char * dst, const char * src, Size_t size); +static +#else +extern Size_t DPPP_(my_my_strlcat)(char * dst, const char * src, Size_t size); +#endif + +#if defined(NEED_my_strlcat) || defined(NEED_my_strlcat_GLOBAL) + +#define my_strlcat DPPP_(my_my_strlcat) +#define Perl_my_strlcat DPPP_(my_my_strlcat) + + +Size_t +DPPP_(my_my_strlcat)(char *dst, const char *src, Size_t size) +{ + Size_t used, length, copy; + + used = strlen(dst); + length = strlen(src); + if (size > 0 && used < size - 1) { + copy = (length >= size - used) ? size - used - 1 : length; + memcpy(dst + used, src, copy); + dst[used + copy] = '\0'; + } + return used + length; +} +#endif +#endif + +#if !defined(my_strlcpy) +#if defined(NEED_my_strlcpy) +static Size_t DPPP_(my_my_strlcpy)(char * dst, const char * src, Size_t size); +static +#else +extern Size_t DPPP_(my_my_strlcpy)(char * dst, const char * src, Size_t size); +#endif + +#if defined(NEED_my_strlcpy) || defined(NEED_my_strlcpy_GLOBAL) + +#define my_strlcpy DPPP_(my_my_strlcpy) +#define Perl_my_strlcpy DPPP_(my_my_strlcpy) + + +Size_t +DPPP_(my_my_strlcpy)(char *dst, const char *src, Size_t size) +{ + Size_t length, copy; + + length = strlen(src); + if (size > 0) { + copy = (length >= size) ? size - 1 : length; + memcpy(dst, src, copy); + dst[copy] = '\0'; + } + return length; +} + +#endif +#endif + +#ifdef SVf_UTF8 +#ifndef SvUTF8 +# define SvUTF8(sv) (SvFLAGS(sv) & SVf_UTF8) +#endif + +#endif + +#if (PERL_BCDVERSION == 0x5019001) /* 5.19.1 does not have UTF8fARG, only broken UTF8f */ +#undef UTF8f +#endif + +#ifdef SVf_UTF8 +#ifndef UTF8f +# define UTF8f SVf +#endif + +#ifndef UTF8fARG +# define UTF8fARG(u,l,p) newSVpvn_flags((p), (l), ((u) ? SVf_UTF8 : 0) | SVs_TEMP) +#endif + +#endif + +#define D_PPP_MIN(a,b) (((a) <= (b)) ? (a) : (b)) +#ifndef UNICODE_REPLACEMENT +# define UNICODE_REPLACEMENT 0xFFFD +#endif + +#ifdef UTF8_MAXLEN +#ifndef UTF8_MAXBYTES +# define UTF8_MAXBYTES UTF8_MAXLEN +#endif + +#endif +#ifndef UTF_START_MARK +# define UTF_START_MARK(len) \ + (((len) > 7) ? 0xFF : (0xFF & (0xFE << (7-(len))))) +#endif + +#if (PERL_BCDVERSION < 0x5018000) /* On non-EBCDIC was valid before this, */ + /* but easier to just do one check */ +# undef UTF8_MAXBYTES_CASE +#endif + +#if 'A' == 65 +# define D_PPP_BYTE_INFO_BITS 6 /* 6 bits meaningful in continuation bytes */ +#ifndef UTF8_MAXBYTES_CASE +# define UTF8_MAXBYTES_CASE 13 +#endif + +#else +# define D_PPP_BYTE_INFO_BITS 5 /* 5 bits meaningful in continuation bytes */ +#ifndef UTF8_MAXBYTES_CASE +# define UTF8_MAXBYTES_CASE 15 +#endif + #endif - ) { - warn("Binary number > 0b11111111111111111111111111111111 non-portable"); - } - *len_p = s - start; - if (!overflowed) { - *flags = 0; - return value; - } - *flags = PERL_SCAN_GREATER_THAN_UV_MAX; - if (result) - *result = value_nv; - return UV_MAX; -} +#ifndef UTF_ACCUMULATION_SHIFT +# define UTF_ACCUMULATION_SHIFT D_PPP_BYTE_INFO_BITS #endif + +#ifdef NATIVE_TO_UTF +#ifndef NATIVE_UTF8_TO_I8 +# define NATIVE_UTF8_TO_I8(c) NATIVE_TO_UTF(c) #endif -#ifndef grok_hex -#if defined(NEED_grok_hex) -static UV DPPP_(my_grok_hex)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result); -static -#else -extern UV DPPP_(my_grok_hex)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result); +#else /* System doesn't support EBCDIC */ +#ifndef NATIVE_UTF8_TO_I8 +# define NATIVE_UTF8_TO_I8(c) (c) #endif -#if defined(NEED_grok_hex) || defined(NEED_grok_hex_GLOBAL) +#endif -#ifdef grok_hex -# undef grok_hex +#ifdef UTF_TO_NATIVE +#ifndef I8_TO_NATIVE_UTF8 +# define I8_TO_NATIVE_UTF8(c) UTF_TO_NATIVE(c) #endif -#define grok_hex(a,b,c,d) DPPP_(my_grok_hex)(aTHX_ a,b,c,d) -#define Perl_grok_hex DPPP_(my_grok_hex) -UV -DPPP_(my_grok_hex)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *result) -{ - const char *s = start; - STRLEN len = *len_p; - UV value = 0; - NV value_nv = 0; +#else /* System doesn't support EBCDIC */ +#ifndef I8_TO_NATIVE_UTF8 +# define I8_TO_NATIVE_UTF8(c) (c) +#endif - const UV max_div_16 = UV_MAX / 16; - bool allow_underscores = *flags & PERL_SCAN_ALLOW_UNDERSCORES; - bool overflowed = FALSE; - const char *xdigit; +#endif +#ifndef UTF_START_MASK +# define UTF_START_MASK(len) \ + (((len) >= 7) ? 0x00 : (0x1F >> ((len)-2))) +#endif - if (!(*flags & PERL_SCAN_DISALLOW_PREFIX)) { - /* strip off leading x or 0x. - for compatibility silently suffer "x" and "0x" as valid hex numbers. - */ - if (len >= 1) { - if (s[0] == 'x') { - s++; - len--; - } - else if (len >= 2 && s[0] == '0' && s[1] == 'x') { - s+=2; - len-=2; - } - } - } +#ifndef UTF_IS_CONTINUATION_MASK +# define UTF_IS_CONTINUATION_MASK \ + ((U8) (0xFF << UTF_ACCUMULATION_SHIFT)) +#endif - for (; len-- && *s; s++) { - xdigit = strchr((char *) PL_hexdigit, *s); - if (xdigit) { - /* Write it in this wonky order with a goto to attempt to get the - compiler to make the common case integer-only loop pretty tight. - With gcc seems to be much straighter code than old scan_hex. */ - redo: - if (!overflowed) { - if (value <= max_div_16) { - value = (value << 4) | ((xdigit - PL_hexdigit) & 15); - continue; - } - warn("Integer overflow in hexadecimal number"); - overflowed = TRUE; - value_nv = (NV) value; - } - value_nv *= 16.0; - /* If an NV has not enough bits in its mantissa to - * represent a UV this summing of small low-order numbers - * is a waste of time (because the NV cannot preserve - * the low-order bits anyway): we could just remember when - * did we overflow and in the end just multiply value_nv by the - * right amount of 16-tuples. */ - value_nv += (NV)((xdigit - PL_hexdigit) & 15); - continue; - } - if (*s == '_' && len && allow_underscores && s[1] - && (xdigit = strchr((char *) PL_hexdigit, s[1]))) - { - --len; - ++s; - goto redo; - } - if (!(*flags & PERL_SCAN_SILENT_ILLDIGIT)) - warn("Illegal hexadecimal digit '%c' ignored", *s); - break; - } +#ifndef UTF_CONTINUATION_MARK +# define UTF_CONTINUATION_MARK \ + (UTF_IS_CONTINUATION_MASK & 0xB0) +#endif - if ( ( overflowed && value_nv > 4294967295.0) -#if UVSIZE > 4 - || (!overflowed && value > 0xffffffff ) +#ifndef UTF_MIN_START_BYTE +# define UTF_MIN_START_BYTE \ + ((UTF_CONTINUATION_MARK >> UTF_ACCUMULATION_SHIFT) | UTF_START_MARK(2)) #endif - ) { - warn("Hexadecimal number > 0xffffffff non-portable"); - } - *len_p = s - start; - if (!overflowed) { - *flags = 0; - return value; - } - *flags = PERL_SCAN_GREATER_THAN_UV_MAX; - if (result) - *result = value_nv; - return UV_MAX; -} +#ifndef UTF_MIN_ABOVE_LATIN1_BYTE +# define UTF_MIN_ABOVE_LATIN1_BYTE \ + ((0x100 >> UTF_ACCUMULATION_SHIFT) | UTF_START_MARK(2)) +#endif + +#if (PERL_BCDVERSION < 0x5007000) /* Was the complement of what should have been */ +# undef UTF8_IS_DOWNGRADEABLE_START #endif +#ifndef UTF8_IS_DOWNGRADEABLE_START +# define UTF8_IS_DOWNGRADEABLE_START(c) \ + inRANGE(NATIVE_UTF8_TO_I8(c), \ + UTF_MIN_START_BYTE, UTF_MIN_ABOVE_LATIN1_BYTE - 1) #endif -#ifndef grok_oct -#if defined(NEED_grok_oct) -static UV DPPP_(my_grok_oct)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result); -static -#else -extern UV DPPP_(my_grok_oct)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result); +#ifndef UTF_CONTINUATION_MASK +# define UTF_CONTINUATION_MASK \ + ((U8) ((1U << UTF_ACCUMULATION_SHIFT) - 1)) +#endif +#ifndef UTF8_ACCUMULATE +# define UTF8_ACCUMULATE(base, added) \ + (((base) << UTF_ACCUMULATION_SHIFT) \ + | ((NATIVE_UTF8_TO_I8(added)) \ + & UTF_CONTINUATION_MASK)) +#endif +#ifndef UTF8_ALLOW_ANYUV +# define UTF8_ALLOW_ANYUV 0 #endif -#if defined(NEED_grok_oct) || defined(NEED_grok_oct_GLOBAL) +#ifndef UTF8_ALLOW_EMPTY +# define UTF8_ALLOW_EMPTY 0x0001 +#endif -#ifdef grok_oct -# undef grok_oct +#ifndef UTF8_ALLOW_CONTINUATION +# define UTF8_ALLOW_CONTINUATION 0x0002 #endif -#define grok_oct(a,b,c,d) DPPP_(my_grok_oct)(aTHX_ a,b,c,d) -#define Perl_grok_oct DPPP_(my_grok_oct) -UV -DPPP_(my_grok_oct)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *result) -{ - const char *s = start; - STRLEN len = *len_p; - UV value = 0; - NV value_nv = 0; +#ifndef UTF8_ALLOW_NON_CONTINUATION +# define UTF8_ALLOW_NON_CONTINUATION 0x0004 +#endif - const UV max_div_8 = UV_MAX / 8; - bool allow_underscores = *flags & PERL_SCAN_ALLOW_UNDERSCORES; - bool overflowed = FALSE; +#ifndef UTF8_ALLOW_SHORT +# define UTF8_ALLOW_SHORT 0x0008 +#endif - for (; len-- && *s; s++) { - /* gcc 2.95 optimiser not smart enough to figure that this subtraction - out front allows slicker code. */ - int digit = *s - '0'; - if (digit >= 0 && digit <= 7) { - /* Write it in this wonky order with a goto to attempt to get the - compiler to make the common case integer-only loop pretty tight. - */ - redo: - if (!overflowed) { - if (value <= max_div_8) { - value = (value << 3) | digit; - continue; - } - /* Bah. We're just overflowed. */ - warn("Integer overflow in octal number"); - overflowed = TRUE; - value_nv = (NV) value; - } - value_nv *= 8.0; - /* If an NV has not enough bits in its mantissa to - * represent a UV this summing of small low-order numbers - * is a waste of time (because the NV cannot preserve - * the low-order bits anyway): we could just remember when - * did we overflow and in the end just multiply value_nv by the - * right amount of 8-tuples. */ - value_nv += (NV)digit; - continue; - } - if (digit == ('_' - '0') && len && allow_underscores - && (digit = s[1] - '0') && (digit >= 0 && digit <= 7)) - { - --len; - ++s; - goto redo; - } - /* Allow \octal to work the DWIM way (that is, stop scanning - * as soon as non-octal characters are seen, complain only iff - * someone seems to want to use the digits eight and nine). */ - if (digit == 8 || digit == 9) { - if (!(*flags & PERL_SCAN_SILENT_ILLDIGIT)) - warn("Illegal octal digit '%c' ignored", *s); - } - break; - } +#ifndef UTF8_ALLOW_LONG +# define UTF8_ALLOW_LONG 0x0010 +#endif - if ( ( overflowed && value_nv > 4294967295.0) -#if UVSIZE > 4 - || (!overflowed && value > 0xffffffff ) +#ifndef UTF8_ALLOW_OVERFLOW +# define UTF8_ALLOW_OVERFLOW 0x0080 #endif - ) { - warn("Octal number > 037777777777 non-portable"); - } - *len_p = s - start; - if (!overflowed) { - *flags = 0; - return value; - } - *flags = PERL_SCAN_GREATER_THAN_UV_MAX; - if (result) - *result = value_nv; - return UV_MAX; -} + +#ifndef UTF8_ALLOW_ANY +# define UTF8_ALLOW_ANY ( UTF8_ALLOW_CONTINUATION \ + |UTF8_ALLOW_NON_CONTINUATION \ + |UTF8_ALLOW_SHORT \ + |UTF8_ALLOW_LONG \ + |UTF8_ALLOW_OVERFLOW) +#endif + +#if defined UTF8SKIP + +/* Don't use official versions because they use MIN, which may not be available */ +#undef UTF8_SAFE_SKIP +#undef UTF8_CHK_SKIP +#ifndef UTF8_SAFE_SKIP +# define UTF8_SAFE_SKIP(s, e) ( \ + ((((e) - (s)) <= 0) \ + ? 0 \ + : D_PPP_MIN(((e) - (s)), UTF8SKIP(s)))) #endif +#ifndef UTF8_CHK_SKIP +# define UTF8_CHK_SKIP(s) \ + (s[0] == '\0' ? 1 : ((U8) D_PPP_MIN(my_strnlen((char *) (s), UTF8SKIP(s)), \ + UTF8SKIP(s)))) +#endif + +/* UTF8_CHK_SKIP depends on my_strnlen */ +#ifndef UTF8_SKIP +# define UTF8_SKIP(s) UTF8SKIP(s) +#endif + +#endif + +#if 'A' == 65 +#ifndef UTF8_IS_INVARIANT +# define UTF8_IS_INVARIANT(c) isASCII(c) #endif -#if !defined(my_snprintf) -#if defined(NEED_my_snprintf) -static int DPPP_(my_my_snprintf)(char * buffer, const Size_t len, const char * format, ...); -static #else -extern int DPPP_(my_my_snprintf)(char * buffer, const Size_t len, const char * format, ...); +#ifndef UTF8_IS_INVARIANT +# define UTF8_IS_INVARIANT(c) (isASCII(c) || isCNTRL_L1(c)) +#endif + +#endif +#ifndef UVCHR_IS_INVARIANT +# define UVCHR_IS_INVARIANT(c) UTF8_IS_INVARIANT(c) +#endif + +#ifdef UVCHR_IS_INVARIANT +# if 'A' == 65 +# ifdef QUADKIND +# define D_PPP_UVCHR_SKIP_UPPER(c) \ + (WIDEST_UTYPE) (c) < \ + (((WIDEST_UTYPE) 1) << (6 * D_PPP_BYTE_INFO_BITS)) ? 7 : 13 +# else +# define D_PPP_UVCHR_SKIP_UPPER(c) 7 /* 32 bit platform */ +# endif +# else + /* In the releases this is backported to, UTF-EBCDIC had a max of 2**31-1 */ +# define D_PPP_UVCHR_SKIP_UPPER(c) 7 +# endif +#ifndef UVCHR_SKIP +# define UVCHR_SKIP(c) \ + UVCHR_IS_INVARIANT(c) ? 1 : \ + (WIDEST_UTYPE) (c) < (32 * (1U << ( D_PPP_BYTE_INFO_BITS))) ? 2 : \ + (WIDEST_UTYPE) (c) < (16 * (1U << (2 * D_PPP_BYTE_INFO_BITS))) ? 3 : \ + (WIDEST_UTYPE) (c) < ( 8 * (1U << (3 * D_PPP_BYTE_INFO_BITS))) ? 4 : \ + (WIDEST_UTYPE) (c) < ( 4 * (1U << (4 * D_PPP_BYTE_INFO_BITS))) ? 5 : \ + (WIDEST_UTYPE) (c) < ( 2 * (1U << (5 * D_PPP_BYTE_INFO_BITS))) ? 6 : \ + D_PPP_UVCHR_SKIP_UPPER(c) +#endif + +#endif + +#ifdef is_ascii_string +#ifndef is_invariant_string +# define is_invariant_string(s,l) is_ascii_string(s,l) +#endif + +#ifndef is_utf8_invariant_string +# define is_utf8_invariant_string(s,l) is_ascii_string(s,l) +#endif + +/* Hint: is_ascii_string, is_invariant_string + is_utf8_invariant_string() does the same thing and is preferred because its + name is more accurate as to what it does */ +#endif + +#ifdef ibcmp_utf8 +#ifndef foldEQ_utf8 +# define foldEQ_utf8(s1,pe1,l1,u1,s2,pe2,l2,u2) \ + cBOOL(! ibcmp_utf8(s1,pe1,l1,u1,s2,pe2,l2,u2)) +#endif + +#endif + +#if defined(is_utf8_string) && defined(UTF8SKIP) +#ifndef isUTF8_CHAR +# define isUTF8_CHAR(s, e) ( \ + (e) <= (s) || ! is_utf8_string(s, UTF8_SAFE_SKIP(s, e)) \ + ? 0 \ + : UTF8SKIP(s)) +#endif + +#endif + +#if 'A' == 65 +#ifndef BOM_UTF8 +# define BOM_UTF8 "\xEF\xBB\xBF" +#endif + +#ifndef REPLACEMENT_CHARACTER_UTF8 +# define REPLACEMENT_CHARACTER_UTF8 "\xEF\xBF\xBD" +#endif + +#elif '^' == 95 +#ifndef BOM_UTF8 +# define BOM_UTF8 "\xDD\x73\x66\x73" #endif -#if defined(NEED_my_snprintf) || defined(NEED_my_snprintf_GLOBAL) +#ifndef REPLACEMENT_CHARACTER_UTF8 +# define REPLACEMENT_CHARACTER_UTF8 "\xDD\x73\x73\x71" +#endif -#define my_snprintf DPPP_(my_my_snprintf) -#define Perl_my_snprintf DPPP_(my_my_snprintf) +#elif '^' == 176 +#ifndef BOM_UTF8 +# define BOM_UTF8 "\xDD\x72\x65\x72" +#endif +#ifndef REPLACEMENT_CHARACTER_UTF8 +# define REPLACEMENT_CHARACTER_UTF8 "\xDD\x72\x72\x70" +#endif -int -DPPP_(my_my_snprintf)(char *buffer, const Size_t len, const char *format, ...) -{ - dTHX; - int retval; - va_list ap; - va_start(ap, format); -#ifdef HAS_VSNPRINTF - retval = vsnprintf(buffer, len, format, ap); #else - retval = vsprintf(buffer, format, ap); +# error Unknown character set #endif - va_end(ap); - if (retval < 0 || (len > 0 && (Size_t)retval >= len)) - Perl_croak(aTHX_ "panic: my_snprintf buffer overflow"); - return retval; -} -#endif +#if (PERL_BCDVERSION < 0x5031004) + /* Versions prior to this accepted things that are now considered + * malformations, and didn't return -1 on error with warnings enabled + * */ +# undef utf8_to_uvchr_buf #endif -#if !defined(my_sprintf) -#if defined(NEED_my_sprintf) -static int DPPP_(my_my_sprintf)(char * buffer, const char * pat, ...); +/* This implementation brings modern, generally more restricted standards to + * utf8_to_uvchr_buf. Some of these are security related, and clearly must + * be done. But its arguable that the others need not, and hence should not. + * The reason they're here is that a module that intends to play with the + * latest perls should be able to work the same in all releases. An example is + * that perl no longer accepts any UV for a code point, but limits them to + * IV_MAX or below. This is for future internal use of the larger code points. + * If it turns out that some of these changes are breaking code that isn't + * intended to work with modern perls, the tighter restrictions could be + * relaxed. khw thinks this is unlikely, but has been wrong in the past. */ + +/* 5.6.0 is the first release with UTF-8, and we don't implement this function + * there due to its likely lack of still being in use, and the underlying + * implementation is very different from later ones, without the later + * safeguards, so would require extra work to deal with */ +#if (PERL_BCDVERSION >= 0x5006001) && ! defined(utf8_to_uvchr_buf) + /* Choose which underlying implementation to use. At least one must be + * present or the perl is too early to handle this function */ +# if defined(utf8n_to_uvchr) || defined(utf8_to_uvchr) || defined(utf8_to_uv) +# if defined(utf8n_to_uvchr) /* This is the preferred implementation */ +# define D_PPP_utf8_to_uvchr_buf_callee utf8n_to_uvchr +# elif /* Must be at least 5.6.1 from #if above; \ + If have both regular and _simple, regular has all args */ \ + defined(utf8_to_uv) && defined(utf8_to_uv_simple) +# define D_PPP_utf8_to_uvchr_buf_callee utf8_to_uv +# elif defined(utf8_to_uvchr) /* The below won't work well on error input */ +# define D_PPP_utf8_to_uvchr_buf_callee(s, curlen, retlen, flags) \ + utf8_to_uvchr((U8 *)(s), (retlen)) +# else +# define D_PPP_utf8_to_uvchr_buf_callee(s, curlen, retlen, flags) \ + utf8_to_uv((U8 *)(s), (retlen)) +# endif +# endif + +# if defined(NEED_utf8_to_uvchr_buf) +static UV DPPP_(my_utf8_to_uvchr_buf)(pTHX_ const U8 * s, const U8 * send, STRLEN * retlen); static #else -extern int DPPP_(my_my_sprintf)(char * buffer, const char * pat, ...); +extern UV DPPP_(my_utf8_to_uvchr_buf)(pTHX_ const U8 * s, const U8 * send, STRLEN * retlen); #endif -#if defined(NEED_my_sprintf) || defined(NEED_my_sprintf_GLOBAL) +#if defined(NEED_utf8_to_uvchr_buf) || defined(NEED_utf8_to_uvchr_buf_GLOBAL) -#define my_sprintf DPPP_(my_my_sprintf) -#define Perl_my_sprintf DPPP_(my_my_sprintf) +#ifdef utf8_to_uvchr_buf +# undef utf8_to_uvchr_buf +#endif +#define utf8_to_uvchr_buf(a,b,c) DPPP_(my_utf8_to_uvchr_buf)(aTHX_ a,b,c) +#define Perl_utf8_to_uvchr_buf DPPP_(my_utf8_to_uvchr_buf) -int -DPPP_(my_my_sprintf)(char *buffer, const char* pat, ...) +UV +DPPP_(my_utf8_to_uvchr_buf)(pTHX_ const U8 *s, const U8 *send, STRLEN *retlen) { - va_list args; - va_start(args, pat); - vsprintf(buffer, pat, args); - va_end(args); - return strlen(buffer); -} + UV ret; + STRLEN curlen; + bool overflows = 0; + const U8 *cur_s = s; + const bool do_warnings = ckWARN_d(WARN_UTF8); +# if (PERL_BCDVERSION < 0x5026000) && ! defined(EBCDIC) + STRLEN overflow_length = 0; +# endif -#endif -#endif + if (send > s) { + curlen = send - s; + } + else { + assert(0); /* Modern perls die under this circumstance */ + curlen = 0; + if (! do_warnings) { /* Handle empty here if no warnings needed */ + if (retlen) *retlen = 0; + return UNICODE_REPLACEMENT; + } + } -#ifdef NO_XSLOCKS -# ifdef dJMPENV -# define dXCPT dJMPENV; int rEtV = 0 -# define XCPT_TRY_START JMPENV_PUSH(rEtV); if (rEtV == 0) -# define XCPT_TRY_END JMPENV_POP; -# define XCPT_CATCH if (rEtV != 0) -# define XCPT_RETHROW JMPENV_JUMP(rEtV) -# else -# define dXCPT Sigjmp_buf oldTOP; int rEtV = 0 -# define XCPT_TRY_START Copy(top_env, oldTOP, 1, Sigjmp_buf); rEtV = Sigsetjmp(top_env, 1); if (rEtV == 0) -# define XCPT_TRY_END Copy(oldTOP, top_env, 1, Sigjmp_buf); -# define XCPT_CATCH if (rEtV != 0) -# define XCPT_RETHROW Siglongjmp(top_env, rEtV) -# endif -#endif +# if (PERL_BCDVERSION < 0x5026000) && ! defined(EBCDIC) -#if !defined(my_strlcat) -#if defined(NEED_my_strlcat) -static Size_t DPPP_(my_my_strlcat)(char * dst, const char * src, Size_t size); -static -#else -extern Size_t DPPP_(my_my_strlcat)(char * dst, const char * src, Size_t size); -#endif + /* Perl did not properly detect overflow for much of its history on + * non-EBCDIC platforms, often returning an overlong value which may or may + * not have been tolerated in the call. Also, earlier versions, when they + * did detect overflow, may have disallowed it completely. Modern ones can + * replace it with the REPLACEMENT CHARACTER, depending on calling + * parameters. Therefore detect it ourselves in releases it was + * problematic in. */ -#if defined(NEED_my_strlcat) || defined(NEED_my_strlcat_GLOBAL) + if (curlen > 0 && UNLIKELY(*s >= 0xFE)) { -#define my_strlcat DPPP_(my_my_strlcat) -#define Perl_my_strlcat DPPP_(my_my_strlcat) + /* First, on a 32-bit machine the first byte being at least \xFE + * automatically is overflow, as it indicates something requiring more + * than 31 bits */ + if (sizeof(ret) < 8) { + overflows = 1; + overflow_length = (*s == 0xFE) ? 7 : 13; + } + else { + const U8 highest[] = /* 2*63-1 */ + "\xFF\x80\x87\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF"; + const U8 *cur_h = highest; + for (cur_s = s; cur_s < send; cur_s++, cur_h++) { + if (UNLIKELY(*cur_s == *cur_h)) { + continue; + } -Size_t -DPPP_(my_my_strlcat)(char *dst, const char *src, Size_t size) -{ - Size_t used, length, copy; + /* If this byte is larger than the corresponding highest UTF-8 + * byte, the sequence overflows; otherwise the byte is less + * than (as we handled the equality case above), and so the + * sequence doesn't overflow */ + overflows = *cur_s > *cur_h; + break; - used = strlen(dst); - length = strlen(src); - if (size > 0 && used < size - 1) { - copy = (length >= size - used) ? size - used - 1 : length; - memcpy(dst + used, src, copy); - dst[used + copy] = '\0'; + } + + /* Here, either we set the bool and broke out of the loop, or got + * to the end and all bytes are the same which indicates it doesn't + * overflow. If it did overflow, it would be this number of bytes + * */ + overflow_length = 13; + } } - return used + length; -} -#endif -#endif -#if !defined(my_strlcpy) -#if defined(NEED_my_strlcpy) -static Size_t DPPP_(my_my_strlcpy)(char * dst, const char * src, Size_t size); -static -#else -extern Size_t DPPP_(my_my_strlcpy)(char * dst, const char * src, Size_t size); -#endif + if (UNLIKELY(overflows)) { + ret = 0; -#if defined(NEED_my_strlcpy) || defined(NEED_my_strlcpy_GLOBAL) + if (! do_warnings && retlen) { + *retlen = overflow_length; + } + } + else -#define my_strlcpy DPPP_(my_my_strlcpy) -#define Perl_my_strlcpy DPPP_(my_my_strlcpy) +# endif /* < 5.26 */ + /* Here, we are either in a release that properly detects overflow, or + * we have checked for overflow and the next statement is executing as + * part of the above conditional where we know we don't have overflow. + * + * The modern versions allow anything that evaluates to a legal UV, but + * not overlongs nor an empty input */ + ret = D_PPP_utf8_to_uvchr_buf_callee( + (U8 *) /* Early perls: no const */ + s, curlen, retlen, (UTF8_ALLOW_ANYUV + & ~(UTF8_ALLOW_LONG|UTF8_ALLOW_EMPTY))); + +# if (PERL_BCDVERSION >= 0x5026000) && (PERL_BCDVERSION < 0x5028000) + + /* But actually, more modern versions restrict the UV to being no more than + * what an IV can hold, so it could still have gotten it wrong about + * overflowing. */ + if (UNLIKELY(ret > IV_MAX)) { + overflows = 1; + } -Size_t -DPPP_(my_my_strlcpy)(char *dst, const char *src, Size_t size) -{ - Size_t length, copy; +# endif - length = strlen(src); - if (size > 0) { - copy = (length >= size) ? size - 1 : length; - memcpy(dst, src, copy); - dst[copy] = '\0'; + if (UNLIKELY(overflows)) { + if (! do_warnings) { + if (retlen) { + *retlen = D_PPP_MIN(*retlen, UTF8SKIP(s)); + *retlen = D_PPP_MIN(*retlen, curlen); + } + return UNICODE_REPLACEMENT; + } + else { + + /* We use the error message in use from 5.8-5.26 */ + Perl_warner(aTHX_ packWARN(WARN_UTF8), + "Malformed UTF-8 character (overflow at 0x%" UVxf + ", byte 0x%02x, after start byte 0x%02x)", + ret, *cur_s, *s); + if (retlen) { + *retlen = (STRLEN) -1; + } + return 0; + } } - return length; + + /* Here, did not overflow, but if it failed for some other reason, and + * warnings are off, to emulate the behavior of the real utf8_to_uvchr(), + * try again, allowing anything. (Note a return of 0 is ok if the input + * was '\0') */ + if (UNLIKELY(ret == 0 && (curlen == 0 || *s != '\0'))) { + + /* If curlen is 0, we already handled the case where warnings are + * disabled, so this 'if' will be true, and so later on, we know that + * 's' is dereferencible */ + if (do_warnings) { + *retlen = (STRLEN) -1; + } + else { + ret = D_PPP_utf8_to_uvchr_buf_callee( + (U8 *) /* Early perls: no const */ + s, curlen, retlen, UTF8_ALLOW_ANY); + /* Override with the REPLACEMENT character, as that is what the + * modern version of this function returns */ + ret = UNICODE_REPLACEMENT; + +# if (PERL_BCDVERSION < 0x5016000) + + /* Versions earlier than this don't necessarily return the proper + * length. It should not extend past the end of string, nor past + * what the first byte indicates the length is, nor past the + * continuation characters */ + if (retlen && (IV) *retlen >= 0) { + unsigned int i = 1; + + *retlen = D_PPP_MIN(*retlen, curlen); + *retlen = D_PPP_MIN(*retlen, UTF8SKIP(s)); + do { +# ifdef UTF8_IS_CONTINUATION + if (! UTF8_IS_CONTINUATION(s[i])) +# else /* Versions without the above don't support EBCDIC anyway */ + if (s[i] < 0x80 || s[i] > 0xBF) +# endif + { + *retlen = i; + break; + } + } while (++i < *retlen); + } + +# endif + + } + } + + return ret; } +# endif +#endif + +#if defined(UTF8SKIP) && defined(utf8_to_uvchr_buf) +#undef utf8_to_uvchr /* Always redefine this unsafe function so that it refuses + to read past a NUL, making it much less likely to read + off the end of the buffer. A NUL indicates the start + of the next character anyway. If the input isn't + NUL-terminated, the function remains unsafe, as it + always has been. */ +#ifndef utf8_to_uvchr +# define utf8_to_uvchr(s, lp) \ + ((*(s) == '\0') \ + ? utf8_to_uvchr_buf(s,((s)+1), lp) /* Handle single NUL specially */ \ + : utf8_to_uvchr_buf(s, (s) + UTF8_CHK_SKIP(s), (lp))) +#endif + +#endif + +/* Hint: utf8_to_uvchr + Use utf8_to_uvchr_buf() instead. But ONLY if you KNOW the upper bound + of the input string (not resorting to using UTF8SKIP, etc., to infer it). + The backported utf8_to_uvchr() will do a better job to prevent most cases + of trying to read beyond the end of the buffer */ + +/* Replace utf8_to_uvchr with utf8_to_uvchr_buf */ + +#ifdef sv_len_utf8 + /* Older Perl versions have broken sv_len_utf8() when passed sv does not have SVf_UTF8 flag set */ + /* Also note that SvGETMAGIC() may change presence of SVf_UTF8 flag */ +# if (PERL_BCDVERSION < 0x5017005) +# undef sv_len_utf8 +# if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) +# define sv_len_utf8_nomg(sv) ({ SV *_sv2 = (sv); (SvUTF8(_sv2) ? Perl_sv_len_utf8(aTHX_ (!SvGMAGICAL(_sv2) ? _sv2 : sv_mortalcopy_flags(_sv2, SV_NOSTEAL))) : ({ STRLEN _len; SvPV_nomg(_sv2, _len); _len; })); }) +# define sv_len_utf8(sv) ({ SV *_sv1 = (sv); SvGETMAGIC(_sv1); sv_len_utf8_nomg(_sv1); }) +# else +# define sv_len_utf8_nomg(sv) (PL_Sv = (sv), (SvUTF8(PL_Sv) ? Perl_sv_len_utf8(aTHX_ (!SvGMAGICAL(PL_Sv) ? PL_Sv : sv_mortalcopy_flags(PL_Sv, SV_NOSTEAL))) : (SvPV_nomg(PL_Sv, PL_na), PL_na))) +# define sv_len_utf8(sv) (PL_Sv = (sv), SvGETMAGIC(PL_Sv), sv_len_utf8_nomg(PL_Sv)) +# endif +# endif +# if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) +#ifndef sv_len_utf8_nomg +# define sv_len_utf8_nomg(sv) ({ SV *_sv = (sv); sv_len_utf8(!SvGMAGICAL(_sv) ? _sv : sv_mortalcopy_flags(_sv, SV_NOSTEAL)); }) #endif + +# else +#ifndef sv_len_utf8_nomg +# define sv_len_utf8_nomg(sv) ((PL_Sv = (sv)), sv_len_utf8(!SvGMAGICAL(PL_Sv) ? PL_Sv : sv_mortalcopy_flags(PL_Sv, SV_NOSTEAL))) +#endif + +# endif #endif #ifndef PERL_PV_ESCAPE_QUOTE # define PERL_PV_ESCAPE_QUOTE 0x0001 @@ -10217,6 +13856,36 @@ DPPP_(my_pv_display)(pTHX_ SV *dsv, const char *pv, STRLEN cur, STRLEN len, STRL #endif #endif +/* If this doesn't exist, it's not needed, so noop */ +#ifndef switch_to_global_locale +# define switch_to_global_locale() +#endif + +/* Originally, this didn't return a value, but in perls like that, the value + * should always be TRUE. Add a return to Perl_sync_locale() when it's + * available. And actually do a sync when its not, if locales are available on + * this system. */ +#ifdef sync_locale +# if (PERL_BCDVERSION < 0x5027009) +# if (PERL_BCDVERSION >= 0x5021003) +# undef sync_locale +# define sync_locale() (Perl_sync_locale(aTHX), 1) +# elif defined(sync_locale) /* These should be the 5.20 maints*/ +# undef sync_locale /* Just copy their defn and return 1 */ +# define sync_locale() (new_ctype(setlocale(LC_CTYPE, NULL)), \ + new_collate(setlocale(LC_COLLATE, NULL)), \ + set_numeric_local(), \ + new_numeric(setlocale(LC_NUMERIC, NULL)), \ + 1) +# elif defined(new_ctype) && defined(LC_CTYPE) +# define sync_locale() (new_ctype(setlocale(LC_CTYPE, NULL)), 1) +# endif +# endif +#endif +#ifndef sync_locale +# define sync_locale() 1 +#endif + #endif /* _P_P_PORTABILITY_H_ */ /* End of File ppport.h */ diff --git a/Master/tlpkg/tlperl/lib/Digest/MD5.pm b/Master/tlpkg/tlperl/lib/Digest/MD5.pm index bc0fec720a1..2742a05e658 100644 --- a/Master/tlpkg/tlperl/lib/Digest/MD5.pm +++ b/Master/tlpkg/tlperl/lib/Digest/MD5.pm @@ -3,7 +3,7 @@ package Digest::MD5; use strict; use vars qw($VERSION @ISA @EXPORT_OK); -$VERSION = '2.55'; +$VERSION = '2.55_01'; require Exporter; *import = \&Exporter::import; diff --git a/Master/tlpkg/tlperl/lib/Dumpvalue.pm b/Master/tlpkg/tlperl/lib/Dumpvalue.pm index eef9b27157b..5a0d58ade7a 100644 --- a/Master/tlpkg/tlperl/lib/Dumpvalue.pm +++ b/Master/tlpkg/tlperl/lib/Dumpvalue.pm @@ -1,7 +1,8 @@ use 5.006_001; # for (defined ref) and $#$v and our package Dumpvalue; use strict; -our $VERSION = '1.18'; +use warnings; +our $VERSION = '1.21'; our(%address, $stab, @stab, %stab, %subs); sub ASCII { return ord('A') == 65; } @@ -79,7 +80,7 @@ sub dumpValues { my $self = shift; local %address; local $^W=0; - (print "undef\n"), return unless defined $_[0]; + (print "undef\n"), return if (@_ == 1 and not defined $_[0]); $self->unwrap(\@_,0); } @@ -101,6 +102,7 @@ sub stringify { my $tick = $self->{tick}; return 'undef' unless defined $_ or not $self->{printUndef}; + $_ = '' if not defined $_; return $_ . "" if ref \$_ eq 'GLOB'; { no strict 'refs'; $_ = &{'overload::StrVal'}($_) @@ -176,7 +178,7 @@ sub unwrap { my $self = shift; return if $DB::signal and $self->{stopDbSignal}; my ($v) = shift ; - my ($s) = shift ; # extra no of spaces + my ($s) = shift || 0; # extra no of spaces my $sp; my (%v,@v,$address,$short,$fileno); @@ -254,7 +256,7 @@ sub unwrap { if ($#$v >= 0) { $short = $sp . "0..$#{$v} " . join(" ", - map {exists $v->[$_] ? $self->stringify($v->[$_]) : "empty"} (0..$tArrayDepth) + map {defined $v->[$_] ? $self->stringify($v->[$_]) : "empty"} (0..$tArrayDepth) ) . "$shortmore"; } else { $short = $sp . "empty array"; @@ -264,7 +266,7 @@ sub unwrap { for my $num (0 .. $tArrayDepth) { return if $DB::signal and $self->{stopDbSignal}; print "$sp$num "; - if (exists $v->[$num]) { + if (defined $v->[$num]) { $self->DumpElem($v->[$num], $s); } else { print "empty slot\n"; @@ -390,6 +392,7 @@ sub CvGV_name { sub dumpsub { my $self = shift; my ($off,$sub) = @_; + $off ||= 0; my $ini = $sub; my $s; $sub = $1 if $sub =~ /^\{\*(.*)\}$/; @@ -419,17 +422,17 @@ sub dumpvars { my $self = shift; my ($package,@vars) = @_; local(%address,$^W); - my ($key,$val); $package .= "::" unless $package =~ /::$/; *stab = *main::; while ($package =~ /(\w+?::)/g) { - *stab = $ {stab}{$1}; + *stab = defined ${stab}{$1} ? ${stab}{$1} : ''; } $self->{TotalStrings} = 0; $self->{Strings} = 0; $self->{CompleteTotal} = 0; - while (($key,$val) = each(%stab)) { + for my $k (keys %stab) { + my ($key,$val) = ($k, $stab{$k}); return if $DB::signal and $self->{stopDbSignal}; next if @vars && !grep( matchvar($key, $_), @vars ); if ($self->{usageOnly}) { diff --git a/Master/tlpkg/tlperl/lib/DynaLoader.pm b/Master/tlpkg/tlperl/lib/DynaLoader.pm index ee177c71f63..7abb05631a3 100644 --- a/Master/tlpkg/tlperl/lib/DynaLoader.pm +++ b/Master/tlpkg/tlperl/lib/DynaLoader.pm @@ -16,7 +16,7 @@ package DynaLoader; # Tim.Bunce@ig.co.uk, August 1994 BEGIN { - $VERSION = '1.45'; + $VERSION = '1.47_01'; } use Config; @@ -263,12 +263,15 @@ sub dl_findfile { foreach $name (@names) { my($file) = "$dir$dirsep$name"; print STDERR " checking in $dir for $name\n" if $dl_debug; - $file = ($do_expand) ? dl_expandspec($file) : (-f $file && $file); - #$file = _check_file($file); - if ($file) { + if ($do_expand && ($file = dl_expandspec($file))) { + push @found, $file; + next arg; # no need to look any further + } + elsif (-f $file) { push(@found, $file); next arg; # no need to look any further } + } } } diff --git a/Master/tlpkg/tlperl/lib/Encode.pm b/Master/tlpkg/tlperl/lib/Encode.pm index bc566879e30..de06ba149ea 100644 --- a/Master/tlpkg/tlperl/lib/Encode.pm +++ b/Master/tlpkg/tlperl/lib/Encode.pm @@ -1,5 +1,5 @@ # -# $Id: Encode.pm,v 3.01 2019/03/13 00:25:25 dankogai Exp $ +# $Id: Encode.pm,v 3.06 2020/05/02 02:31:14 dankogai Exp $ # package Encode; use strict; @@ -7,7 +7,7 @@ use warnings; use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG}; our $VERSION; BEGIN { - $VERSION = sprintf "%d.%02d", q$Revision: 3.01 $ =~ /(\d+)/g; + $VERSION = sprintf "%d.%02d", q$Revision: 3.06 $ =~ /(\d+)/g; require XSLoader; XSLoader::load( __PACKAGE__, $VERSION ); } @@ -65,7 +65,7 @@ require Encode::Config; eval { local $SIG{__DIE__}; local $SIG{__WARN__}; - local @INC = @INC; + local @INC = @INC || (); pop @INC if $INC[-1] eq '.'; require Encode::ConfigLocal; }; diff --git a/Master/tlpkg/tlperl/lib/Encode/Guess.pm b/Master/tlpkg/tlperl/lib/Encode/Guess.pm index 41fc19b7991..87a725d9993 100644 --- a/Master/tlpkg/tlperl/lib/Encode/Guess.pm +++ b/Master/tlpkg/tlperl/lib/Encode/Guess.pm @@ -2,7 +2,7 @@ package Encode::Guess; use strict; use warnings; use Encode qw(:fallbacks find_encoding); -our $VERSION = do { my @r = ( q$Revision: 2.7 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r }; +our $VERSION = do { my @r = ( q$Revision: 2.8 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r }; my $Canon = 'Guess'; use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG}; @@ -158,7 +158,7 @@ sub guess { $nline++; } $try{ascii} - or return "Encodings too ambiguous: ", join( " or ", keys %try ); + or return "Encodings too ambiguous: " . join( " or ", keys %try ); return $try{ascii}; } diff --git a/Master/tlpkg/tlperl/lib/Encode/encode.h b/Master/tlpkg/tlperl/lib/Encode/encode.h index 5d7663d5b55..ba884d42d1a 100644 --- a/Master/tlpkg/tlperl/lib/Encode/encode.h +++ b/Master/tlpkg/tlperl/lib/Encode/encode.h @@ -280,6 +280,14 @@ S_new_msg_hv(const char * const message, /* The message text */ # define PERL_UNUSED_ARG(x) ((void)x) # endif +# ifndef memGT +# define memGT(s1,s2,l) (memcmp(s1,s2,l) > 0) +# endif + +# ifndef MIN +# define MIN(a,b) ((a) < (b) ? (a) : (b)) +# endif + static const char malformed_text[] = "Malformed UTF-8 character"; static char * diff --git a/Master/tlpkg/tlperl/lib/English.pm b/Master/tlpkg/tlperl/lib/English.pm index e40cc124a13..283cd010701 100644 --- a/Master/tlpkg/tlperl/lib/English.pm +++ b/Master/tlpkg/tlperl/lib/English.pm @@ -1,6 +1,6 @@ package English; -our $VERSION = '1.10'; +our $VERSION = '1.11'; require Exporter; @ISA = qw(Exporter); @@ -13,7 +13,7 @@ English - use nice English (or awk) names for ugly punctuation variables use English; use English qw( -no_match_vars ) ; # Avoids regex performance - # penalty in perl 5.16 and + # penalty in perl 5.18 and # earlier ... if ($ERRNO =~ /denied/) { ... } diff --git a/Master/tlpkg/tlperl/lib/Errno.pm b/Master/tlpkg/tlperl/lib/Errno.pm index 40d387ce19f..9f94ec433b0 100644 --- a/Master/tlpkg/tlperl/lib/Errno.pm +++ b/Master/tlpkg/tlperl/lib/Errno.pm @@ -10,8 +10,8 @@ use strict; use Config; "$Config{'archname'}-$Config{'osvers'}" eq -"MSWin32-x86-multi-thread-10.0.18363.418" or - die "Errno architecture (MSWin32-x86-multi-thread-10.0.18363.418) does not match executable architecture ($Config{'archname'}-$Config{'osvers'})"; +"MSWin32-x86-multi-thread-10.0.19042.804" or + die "Errno architecture (MSWin32-x86-multi-thread-10.0.19042.804) does not match executable architecture ($Config{'archname'}-$Config{'osvers'})"; our $VERSION = "1.30"; $VERSION = eval $VERSION; @@ -2525,17 +2525,17 @@ our %EXPORT_TAGS = ( ETXTBSY EUSERS EWOULDBLOCK EXDEV )], WINSOCK => [qw( - WSAEINVALIDPROVIDER WSAEMFILE WSAEINVALIDPROCTABLE WSAEREMOTE - WSAESTALE WSAETIMEDOUT WSAECANCELLED WSAEPROVIDERFAILEDINIT - WSAECONNABORTED WSAEDISCON WSAENAMETOOLONG WSAEPROTOTYPE - WSAENOPROTOOPT WSAELOOP WSAEHOSTDOWN WSAEDQUOT WSAEPROTONOSUPPORT - WSAEDESTADDRREQ WSAENETRESET WSAEINPROGRESS WSAEHOSTUNREACH - WSAEADDRINUSE WSAEUSERS WSAESOCKTNOSUPPORT WSAEFAULT WSAENOTSOCK - WSAENETUNREACH WSAEISCONN WSAEALREADY WSAECONNREFUSED WSAENOTCONN - WSAECONNRESET WSAEBADF WSAENOMORE WSAENOBUFS WSAEMSGSIZE WSAEREFUSED - WSAEPFNOSUPPORT WSAESHUTDOWN WSAEINTR WSAEINVAL WSAEPROCLIM - WSAEADDRNOTAVAIL WSAEAFNOSUPPORT WSAEWOULDBLOCK WSAENOTEMPTY - WSAETOOMANYREFS WSAENETDOWN WSAEACCES WSAEOPNOTSUPP + WSAEDISCON WSAELOOP WSAEADDRNOTAVAIL WSAETOOMANYREFS WSAECANCELLED + WSAESHUTDOWN WSAEPROTONOSUPPORT WSAETIMEDOUT WSAEPFNOSUPPORT + WSAENETUNREACH WSAENETRESET WSAEHOSTUNREACH WSAEBADF WSAEINTR + WSAEWOULDBLOCK WSAEHOSTDOWN WSAENOMORE WSAEFAULT WSAEUSERS + WSAEADDRINUSE WSAEINVAL WSAEACCES WSAEREMOTE WSAESOCKTNOSUPPORT + WSAECONNREFUSED WSAEAFNOSUPPORT WSAEPROVIDERFAILEDINIT WSAEMSGSIZE + WSAEINPROGRESS WSAEREFUSED WSAENOTSOCK WSAEINVALIDPROVIDER WSAEMFILE + WSAENOPROTOOPT WSAEALREADY WSAENAMETOOLONG WSAEISCONN WSAECONNABORTED + WSAENOTEMPTY WSAEINVALIDPROCTABLE WSAENOTCONN WSAENETDOWN WSAESTALE + WSAECONNRESET WSAEPROTOTYPE WSAEDESTADDRREQ WSAEDQUOT WSAEOPNOTSUPP + WSAENOBUFS WSAEPROCLIM )], ); diff --git a/Master/tlpkg/tlperl/lib/Exporter.pm b/Master/tlpkg/tlperl/lib/Exporter.pm index 0e8775db254..19d7645ac5a 100644 --- a/Master/tlpkg/tlperl/lib/Exporter.pm +++ b/Master/tlpkg/tlperl/lib/Exporter.pm @@ -9,7 +9,7 @@ require 5.006; our $Debug = 0; our $ExportLevel = 0; our $Verbose ||= 0; -our $VERSION = '5.73'; +our $VERSION = '5.74'; our (%Cache); sub as_heavy { diff --git a/Master/tlpkg/tlperl/lib/Exporter/Heavy.pm b/Master/tlpkg/tlperl/lib/Exporter/Heavy.pm index 21b67c18c46..004815ea47b 100644 --- a/Master/tlpkg/tlperl/lib/Exporter/Heavy.pm +++ b/Master/tlpkg/tlperl/lib/Exporter/Heavy.pm @@ -148,7 +148,7 @@ sub heavy_export { if (!$export_cache->{$sym}) { # accumulate the non-exports push @carp, - qq["$sym" is not exported by the $pkg module\n]; + qq["$sym" is not exported by the $pkg module]; $oops++; } } @@ -156,7 +156,7 @@ sub heavy_export { } if ($oops) { require Carp; - Carp::croak("@{carp}Can't continue after import errors"); + Carp::croak(join("\n", @carp, "Can't continue after import errors")); } } else { diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm index e1a8b63f2a3..60b1662d58e 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm @@ -7,7 +7,7 @@ use Perl::OSType qw/os_type/; use warnings; use strict; -our $VERSION = '0.280231'; # VERSION +our $VERSION = '0.280234'; # VERSION our @ISA; # We only use this once - don't waste a symbol table entry on it. @@ -272,9 +272,9 @@ for VMS. ExtUtils::CBuilder is maintained as part of the Perl 5 core. Please submit any bug reports via the F tool included with Perl 5. Bug reports will be included in the Perl 5 ticket system at -L. +L. -The Perl 5 source code is available at +The Perl 5 source code is available at L and ExtUtils-CBuilder may be found in the F directory of the repository. diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm index f69ff38fe46..638014352c6 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm @@ -9,7 +9,7 @@ use Text::ParseWords; use IPC::Cmd qw(can_run); use File::Temp qw(tempfile); -our $VERSION = '0.280231'; # VERSION +our $VERSION = '0.280234'; # VERSION # More details about C/C++ compilers: # http://developers.sun.com/sunstudio/documentation/product/compiler.jsp diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm index a37cfa0699a..e73933fea1f 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm @@ -4,7 +4,7 @@ use warnings; use strict; use ExtUtils::CBuilder::Base; -our $VERSION = '0.280231'; # VERSION +our $VERSION = '0.280234'; # VERSION our @ISA = qw(ExtUtils::CBuilder::Base); sub link_executable { diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm index 145ebb58d2e..dc3e91b7b98 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm @@ -4,7 +4,7 @@ use warnings; use strict; use ExtUtils::CBuilder::Base; -our $VERSION = '0.280231'; # VERSION +our $VERSION = '0.280234'; # VERSION our @ISA = qw(ExtUtils::CBuilder::Base); use File::Spec::Functions qw(catfile catdir); diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm index c4420dc1d55..35093d16f12 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm @@ -8,7 +8,7 @@ use File::Spec; use ExtUtils::CBuilder::Base; use IO::File; -our $VERSION = '0.280231'; # VERSION +our $VERSION = '0.280234'; # VERSION our @ISA = qw(ExtUtils::CBuilder::Base); =begin comment diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm index 535629ea3c7..98bdb2d367f 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm @@ -1,6 +1,6 @@ package ExtUtils::CBuilder::Platform::Windows::BCC; -our $VERSION = '0.280231'; # VERSION +our $VERSION = '0.280234'; # VERSION use strict; use warnings; diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm index 0355dd1356c..5854d57a8f3 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm @@ -1,6 +1,6 @@ package ExtUtils::CBuilder::Platform::Windows::GCC; -our $VERSION = '0.280231'; # VERSION +our $VERSION = '0.280234'; # VERSION use warnings; use strict; diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm index 95b8644010d..6a9158020bd 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm @@ -1,6 +1,6 @@ package ExtUtils::CBuilder::Platform::Windows::MSVC; -our $VERSION = '0.280231'; # VERSION +our $VERSION = '0.280234'; # VERSION use warnings; use strict; diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm index 72787c723cd..8b1572d782a 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm @@ -5,7 +5,7 @@ use strict; use ExtUtils::CBuilder::Platform::Unix; use File::Spec; -our $VERSION = '0.280231'; # VERSION +our $VERSION = '0.280234'; # VERSION our @ISA = qw(ExtUtils::CBuilder::Platform::Unix); sub need_prelink { 1 } diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/android.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/android.pm index 70b02cf6139..70eb6cf9870 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/android.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/android.pm @@ -6,7 +6,7 @@ use File::Spec; use ExtUtils::CBuilder::Platform::Unix; use Config; -our $VERSION = '0.280231'; # VERSION +our $VERSION = '0.280234'; # VERSION our @ISA = qw(ExtUtils::CBuilder::Platform::Unix); # The Android linker will not recognize symbols from diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm index 4b72a7650af..40d93357ffe 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm @@ -5,7 +5,7 @@ use strict; use File::Spec; use ExtUtils::CBuilder::Platform::Unix; -our $VERSION = '0.280231'; # VERSION +our $VERSION = '0.280234'; # VERSION our @ISA = qw(ExtUtils::CBuilder::Platform::Unix); # TODO: If a specific exe_file name is requested, if the exe created diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm index 989b5e7b852..28deb76580e 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm @@ -4,7 +4,7 @@ use warnings; use strict; use ExtUtils::CBuilder::Platform::Unix; -our $VERSION = '0.280231'; # VERSION +our $VERSION = '0.280234'; # VERSION our @ISA = qw(ExtUtils::CBuilder::Platform::Unix); sub compile { diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/dec_osf.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/dec_osf.pm index 4cd12539d6c..1185f06344f 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/dec_osf.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/dec_osf.pm @@ -5,7 +5,7 @@ use strict; use ExtUtils::CBuilder::Platform::Unix; use File::Spec; -our $VERSION = '0.280231'; # VERSION +our $VERSION = '0.280234'; # VERSION our @ISA = qw(ExtUtils::CBuilder::Platform::Unix); sub link_executable { diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm index 66a1c17f7d3..b9fae17c28f 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm @@ -4,7 +4,7 @@ use warnings; use strict; use ExtUtils::CBuilder::Platform::Unix; -our $VERSION = '0.280231'; # VERSION +our $VERSION = '0.280234'; # VERSION our @ISA = qw(ExtUtils::CBuilder::Platform::Unix); sub need_prelink { 1 } diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Command.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Command.pm index 4924c81fbea..c5101c37b7d 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/Command.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/Command.pm @@ -7,8 +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 = '7.34'; -$VERSION = eval $VERSION; +$VERSION = '7.44'; +$VERSION =~ tr/_//d; my $Is_VMS = $^O eq 'VMS'; my $Is_VMS_mode = $Is_VMS; diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm index 0323ed40fa7..484fa5b69d5 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm @@ -10,8 +10,8 @@ our @ISA = qw(Exporter); our @EXPORT = qw(test_harness pod2man perllocal_install uninstall warn_if_old_packlist test_s cp_nonempty); -our $VERSION = '7.34'; -$VERSION = eval $VERSION; +our $VERSION = '7.44'; +$VERSION =~ tr/_//d; my $Is_VMS = $^O eq 'VMS'; diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Liblist.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Liblist.pm index 700cb7347ab..deec54d2883 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/Liblist.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/Liblist.pm @@ -2,8 +2,8 @@ package ExtUtils::Liblist; use strict; -our $VERSION = '7.34'; -$VERSION = eval $VERSION; +our $VERSION = '7.44'; +$VERSION =~ tr/_//d; use File::Spec; require ExtUtils::Liblist::Kid; diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm index a6da855862f..e040a899edb 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm @@ -11,8 +11,8 @@ use 5.006; use strict; use warnings; -our $VERSION = '7.34'; -$VERSION = eval $VERSION; +our $VERSION = '7.44_01'; +$VERSION =~ tr/_//d; use ExtUtils::MakeMaker::Config; use Cwd 'cwd'; @@ -49,8 +49,10 @@ sub _unix_os2_ext { # $potential_libs # this is a rewrite of Andy Dougherty's extliblist in perl + require Text::ParseWords; + my ( @searchpath ); # from "-L/path" entries in $potential_libs - my ( @libpath ) = split " ", $Config{'libpth'} || ''; + my ( @libpath ) = Text::ParseWords::quotewords( '\s+', 0, $Config{'libpth'} || '' ); my ( @ldloadlibs, @bsloadlibs, @extralibs, @ld_run_path, %ld_run_path_seen ); my ( @libs, %libs_seen ); my ( $fullname, @fullname ); @@ -63,7 +65,7 @@ sub _unix_os2_ext { $potential_libs =~ s/(^|\s)(-F)\s*(\S+)/$1-Wl,$2 -Wl,$3/g; } - foreach my $thislib ( split ' ', $potential_libs ) { + foreach my $thislib ( Text::ParseWords::quotewords( '\s+', 0, $potential_libs) ) { my ( $custom_name ) = ''; # Handle possible linker path arguments. @@ -88,6 +90,7 @@ sub _unix_os2_ext { $thislib = $self->catdir( $pwd, $thislib ); } push( @searchpath, $thislib ); + $thislib = qq{"$thislib"} if $thislib =~ / /; # protect spaces if there push( @extralibs, "$ptype$thislib" ); push( @ldloadlibs, "$rtype$thislib" ); next; @@ -171,6 +174,10 @@ sub _unix_os2_ext { && -f ( $fullname = "$thispth/lib$thislib.$Config_dlext" ) ) { } + elsif ( $^O eq 'darwin' && require DynaLoader && defined &DynaLoader::dl_load_file + && DynaLoader::dl_load_file( $fullname = "$thispth/lib$thislib.$so", 0 ) ) + { + } elsif ( -f ( $fullname = "$thispth/$thislib$Config_libext" ) ) { } elsif ( -f ( $fullname = "$thispth/lib$thislib.dll$Config_libext" ) ) { @@ -207,7 +214,8 @@ sub _unix_os2_ext { # Now update library lists # what do we know about this library... - my $is_dyna = ( $fullname !~ /\Q$Config_libext\E\z/ ); + # "Sounds like we should always assume it's a dynamic library on AIX." + my $is_dyna = $^O eq 'aix' ? 1 : ( $fullname !~ /\Q$Config_libext\E\z/ ); my $in_perl = ( $libs =~ /\B-l:?\Q${thislib}\E\b/s ); # include the path to the lib once in the dynamic linker path diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM.pm index b2c360bca3a..f1ffa91849e 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/MM.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM.pm @@ -3,8 +3,8 @@ package ExtUtils::MM; use strict; use ExtUtils::MakeMaker::Config; -our $VERSION = '7.34'; -$VERSION = eval $VERSION; +our $VERSION = '7.44'; +$VERSION =~ tr/_//d; require ExtUtils::Liblist; require ExtUtils::MakeMaker; @@ -23,9 +23,9 @@ ExtUtils::MM - OS adjusted ExtUtils::MakeMaker subclass B -ExtUtils::MM is a subclass of ExtUtils::MakeMaker which automatically +ExtUtils::MM is a subclass of L which automatically chooses the appropriate OS specific subclass for you -(ie. ExtUils::MM_Unix, etc...). +(ie. L, etc...). It also provides a convenient alias via the MM class (I didn't want MakeMaker modules outside of ExtUtils/). diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm index b114ee49d30..654e2213594 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm @@ -1,8 +1,8 @@ package ExtUtils::MM_AIX; use strict; -our $VERSION = '7.34'; -$VERSION = eval $VERSION; +our $VERSION = '7.44'; +$VERSION =~ tr/_//d; use ExtUtils::MakeMaker::Config; require ExtUtils::MM_Unix; @@ -19,10 +19,10 @@ ExtUtils::MM_AIX - AIX specific subclass of ExtUtils::MM_Unix =head1 DESCRIPTION -This is a subclass of ExtUtils::MM_Unix which contains functionality for +This is a subclass of L which contains functionality for AIX. -Unless otherwise stated it works just like ExtUtils::MM_Unix +Unless otherwise stated it works just like ExtUtils::MM_Unix. =head2 Overridden methods @@ -50,7 +50,9 @@ sub xs_dlsyms_ext { sub xs_dlsyms_arg { my($self, $file) = @_; - return qq{-bE:${file}}; + my $arg = qq{-bE:${file}}; + $arg = '-Wl,'.$arg if $Config{lddlflags} =~ /-Wl,-bE:/; + return $arg; } sub init_others { diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Any.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Any.pm index 1a3893c30b6..4f4b252c261 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Any.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Any.pm @@ -1,8 +1,8 @@ package ExtUtils::MM_Any; use strict; -our $VERSION = '7.34'; -$VERSION = eval $VERSION; +our $VERSION = '7.44'; +$VERSION =~ tr/_//d; use Carp; use File::Spec; @@ -46,7 +46,7 @@ ExtUtils::MM_Any is a superclass for the ExtUtils::MM_* set of modules. It contains methods which are either inherently cross-platform or are written in a cross-platform manner. -Subclass off of ExtUtils::MM_Any I ExtUtils::MM_Unix. This is a +Subclass off of ExtUtils::MM_Any I L. This is a temporary solution. B @@ -195,7 +195,7 @@ sub can_redirect_error { my $is_dmake = $self->is_make_type('dmake'); -Returns true if C<<$self->make>> is the given type; possibilities are: +Returns true if C<< $self->make >> is the given type; possibilities are: gmake GNU make dmake @@ -1088,9 +1088,9 @@ manifypods : pure_all config $dependencies END my @man_cmds; - foreach my $section (qw(1 3)) { - my $pods = $self->{"MAN${section}PODS"}; - my $p2m = sprintf <<'CMD', $section, $] > 5.008 ? " -u" : ""; + foreach my $num (qw(1 3)) { + my $pods = $self->{"MAN${num}PODS"}; + my $p2m = sprintf <<'CMD', "\$(MAN${num}SECTION)", "$]" > 5.008 ? " -u" : ""; $(NOECHO) $(POD2MAN) --section=%s --perm_rw=$(PERM_RW)%s CMD push @man_cmds, $self->split_command($p2m, map {($_,$pods->{$_})} sort keys %$pods); @@ -1167,7 +1167,7 @@ MAKE_FRAG $mm->_fix_metadata_before_conversion( \%metadata ); -Fixes errors in the metadata before it's handed off to CPAN::Meta for +Fixes errors in the metadata before it's handed off to L for conversion. This hopefully results in something that can be used further on, no guarantee is made though. @@ -2214,7 +2214,9 @@ sub init_INSTALL_from_INSTALL_BASE { my $key = "INSTALL".$dir.$uc_thing; $install{$key} ||= - $self->catdir('$(INSTALL_BASE)', @{$map{$thing}}); + ($thing =~ /^man.dir$/ and not $Config{lc $key}) + ? 'none' + : $self->catdir('$(INSTALL_BASE)', @{$map{$thing}}); } } @@ -2416,7 +2418,7 @@ Initializes the macro definitions having to do with compiling and linking used by tools_other() and places them in the $MM object. If there is no description, its the same as the parameter to -WriteMakefile() documented in ExtUtils::MakeMaker. +WriteMakefile() documented in L. =cut @@ -2767,7 +2769,7 @@ END =head2 File::Spec wrappers -ExtUtils::MM_Any is a subclass of File::Spec. The methods noted here +ExtUtils::MM_Any is a subclass of L. The methods noted here override File::Spec. @@ -2908,8 +2910,7 @@ sub libscan { my($self,$path) = @_; if ($path =~ m<^README\.pod$>i) { - warn "WARNING: Older versions of ExtUtils::MakeMaker may errantly install $path as part of this distribution. It is recommended to avoid using this path in CPAN modules.\n" - unless $ENV{PERL_CORE}; + warn "WARNING: Older versions of ExtUtils::MakeMaker may errantly install $path as part of this distribution. It is recommended to avoid using this path in CPAN modules.\n"; return ''; } diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm index 6fb7911390c..d62a7d132f3 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm @@ -12,7 +12,7 @@ ExtUtils::MM_BeOS - methods to override UN*X behaviour in ExtUtils::MakeMaker =head1 DESCRIPTION -See ExtUtils::MM_Unix for a documentation of the methods provided +See L for a documentation of the methods provided there. This package overrides the implementation of these methods, not the semantics. @@ -26,8 +26,8 @@ require ExtUtils::MM_Any; require ExtUtils::MM_Unix; our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix ); -our $VERSION = '7.34'; -$VERSION = eval $VERSION; +our $VERSION = '7.44'; +$VERSION =~ tr/_//d; =item os_flavor @@ -58,6 +58,8 @@ sub init_linker { =back +=cut + 1; __END__ diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm index 934e65f913d..2052c7c3aa3 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm @@ -9,8 +9,8 @@ require ExtUtils::MM_Unix; require ExtUtils::MM_Win32; our @ISA = qw( ExtUtils::MM_Unix ); -our $VERSION = '7.34'; -$VERSION = eval $VERSION; +our $VERSION = '7.44'; +$VERSION =~ tr/_//d; =head1 NAME @@ -23,7 +23,7 @@ ExtUtils::MM_Cygwin - methods to override UN*X behaviour in ExtUtils::MakeMaker =head1 DESCRIPTION -See ExtUtils::MM_Unix for a documentation of the methods provided there. +See L for a documentation of the methods provided there. =over 4 @@ -86,7 +86,7 @@ sub init_linker { if ($Config{useshrplib} eq 'true') { my $libperl = '$(PERL_INC)' .'/'. "$Config{libperl}"; - if( $] >= 5.006002 ) { + if( "$]" >= 5.006002 ) { $libperl =~ s/(dll\.)?a$/dll.a/; } $self->{PERL_ARCHIVE} = $libperl; @@ -104,8 +104,8 @@ sub init_linker { Determine whether a file is native to Cygwin by checking whether it resides inside the Cygwin installation (using Windows paths). If so, -use C to determine if it may be a command. -Otherwise use the tests from C. +use L to determine if it may be a command. +Otherwise use the tests from L. =cut @@ -158,16 +158,6 @@ sub install { $s; } -=item all_target - -Build man pages, too - -=cut - -sub all_target { - ExtUtils::MM_Unix::all_target(shift); -} - =back =cut diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm index 33a8b199df3..d5c66deb895 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm @@ -2,8 +2,8 @@ package ExtUtils::MM_DOS; use strict; -our $VERSION = '7.34'; -$VERSION = eval $VERSION; +our $VERSION = '7.44'; +$VERSION =~ tr/_//d; require ExtUtils::MM_Any; require ExtUtils::MM_Unix; @@ -21,10 +21,10 @@ ExtUtils::MM_DOS - DOS specific subclass of ExtUtils::MM_Unix =head1 DESCRIPTION -This is a subclass of ExtUtils::MM_Unix which contains functionality +This is a subclass of L which contains functionality for DOS. -Unless otherwise stated, it works just like ExtUtils::MM_Unix +Unless otherwise stated, it works just like ExtUtils::MM_Unix. =head2 Overridden methods diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm index f5359dca095..9ca9d2c6214 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm @@ -7,8 +7,8 @@ BEGIN { our @ISA = qw( ExtUtils::MM_Unix ); } -our $VERSION = '7.34'; -$VERSION = eval $VERSION; +our $VERSION = '7.44'; +$VERSION =~ tr/_//d; =head1 NAME @@ -21,7 +21,7 @@ ExtUtils::MM_Darwin - special behaviors for OS X =head1 DESCRIPTION -See L for L for documentation on the +See L or L for documentation on the methods overridden here. =head2 Overridden Methods diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm index 5646ae33406..b10e3f9cfba 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm @@ -2,8 +2,8 @@ package ExtUtils::MM_MacOS; use strict; -our $VERSION = '7.34'; -$VERSION = eval $VERSION; +our $VERSION = '7.44'; +$VERSION =~ tr/_//d; sub new { die 'MacOS Classic (MacPerl) is no longer supported by MakeMaker'; diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm index c88c4fabe98..a9e2e1af542 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm @@ -10,7 +10,7 @@ ExtUtils::MM_NW5 - methods to override UN*X behaviour in ExtUtils::MakeMaker =head1 DESCRIPTION -See ExtUtils::MM_Unix for a documentation of the methods provided +See L for a documentation of the methods provided there. This package overrides the implementation of these methods, not the semantics. @@ -22,8 +22,8 @@ use strict; use ExtUtils::MakeMaker::Config; use File::Basename; -our $VERSION = '7.34'; -$VERSION = eval $VERSION; +our $VERSION = '7.44'; +$VERSION =~ tr/_//d; require ExtUtils::MM_Win32; our @ISA = qw(ExtUtils::MM_Win32); @@ -192,7 +192,7 @@ MAKE_FRAG } # Reconstruct the X.Y.Z version. my $version = join '.', map { sprintf "%d", $_ } - $] =~ /(\d)\.(\d{3})(\d{2})/; + "$]" =~ /(\d)\.(\d{3})(\d{2})/; push @m, sprintf <<'EOF', $from, $version, $to, $exportlist; $(LD) $(LDFLAGS) %s -desc "Perl %s Extension ($(BASEEXT)) XS_VERSION: $(XS_VERSION)" -nlmversion $(NLM_VERSION) -o %s $(MYEXTLIB) $(PERL_INC)\Main.lib -commandfile %s $(CHMOD) 755 $@ diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm index dfa6dca4916..300f091c351 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm @@ -5,8 +5,8 @@ use strict; use ExtUtils::MakeMaker qw(neatvalue); use File::Spec; -our $VERSION = '7.34'; -$VERSION = eval $VERSION; +our $VERSION = '7.44'; +$VERSION =~ tr/_//d; require ExtUtils::MM_Any; require ExtUtils::MM_Unix; @@ -24,7 +24,7 @@ ExtUtils::MM_OS2 - methods to override UN*X behaviour in ExtUtils::MakeMaker =head1 DESCRIPTION -See ExtUtils::MM_Unix for a documentation of the methods provided +See L for a documentation of the methods provided there. This package overrides the implementation of these methods, not the semantics. diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm index 362d7d920fb..3e6f6d06995 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm @@ -1,8 +1,8 @@ package ExtUtils::MM_QNX; use strict; -our $VERSION = '7.34'; -$VERSION = eval $VERSION; +our $VERSION = '7.44'; +$VERSION =~ tr/_//d; require ExtUtils::MM_Unix; our @ISA = qw(ExtUtils::MM_Unix); @@ -19,10 +19,10 @@ ExtUtils::MM_QNX - QNX specific subclass of ExtUtils::MM_Unix =head1 DESCRIPTION -This is a subclass of ExtUtils::MM_Unix which contains functionality for +This is a subclass of L which contains functionality for QNX. -Unless otherwise stated it works just like ExtUtils::MM_Unix +Unless otherwise stated it works just like ExtUtils::MM_Unix. =head2 Overridden methods diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_UWIN.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_UWIN.pm index cc95c415e81..4201585e326 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_UWIN.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_UWIN.pm @@ -1,8 +1,8 @@ package ExtUtils::MM_UWIN; use strict; -our $VERSION = '7.34'; -$VERSION = eval $VERSION; +our $VERSION = '7.44'; +$VERSION =~ tr/_//d; require ExtUtils::MM_Unix; our @ISA = qw(ExtUtils::MM_Unix); @@ -19,10 +19,10 @@ ExtUtils::MM_UWIN - U/WIN specific subclass of ExtUtils::MM_Unix =head1 DESCRIPTION -This is a subclass of ExtUtils::MM_Unix which contains functionality for +This is a subclass of L which contains functionality for the AT&T U/WIN UNIX on Windows environment. -Unless otherwise stated it works just like ExtUtils::MM_Unix +Unless otherwise stated it works just like ExtUtils::MM_Unix. =head2 Overridden methods diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm index fe53be12efd..ce1292740f0 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm @@ -14,8 +14,8 @@ use ExtUtils::MakeMaker qw($Verbose neatvalue _sprintf562); # If we make $VERSION an our variable parse_version() breaks use vars qw($VERSION); -$VERSION = '7.34'; -$VERSION = eval $VERSION; ## no critic [BuiltinFunctions::ProhibitStringyEval] +$VERSION = '7.44'; +$VERSION =~ tr/_//d; require ExtUtils::MM_Any; our @ISA = qw(ExtUtils::MM_Any); @@ -37,6 +37,10 @@ BEGIN { grep( $^O eq $_, qw(bsdos interix dragonfly) ) ); $Is{Android} = $^O =~ /android/; + if ( $^O eq 'darwin' && $^X eq '/usr/bin/perl' ) { + my @osvers = split /\./, $Config{osvers}; + $Is{ApplCor} = ( $osvers[0] >= 18 ); + } } BEGIN { @@ -54,15 +58,15 @@ ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker =head1 SYNOPSIS -C + require ExtUtils::MM_Unix; =head1 DESCRIPTION The methods provided by this package are designed to be used in -conjunction with ExtUtils::MakeMaker. When MakeMaker writes a +conjunction with L. When MakeMaker writes a Makefile, it creates one or more objects that inherit their methods -from a package C. MM itself doesn't provide any methods, but it -ISA ExtUtils::MM_Unix class. The inheritance tree of MM lets operating +from a package L. MM itself doesn't provide any methods, but +it ISA ExtUtils::MM_Unix class. The inheritance tree of MM lets operating specific packages take the responsibility for all the methods provided by MM_Unix. We are trying to reduce the number of the necessary overrides by defining rather primitive operations within @@ -89,8 +93,8 @@ Not all of the methods below are overridable in a Makefile.PL. Overridable methods are marked as (o). All methods are overridable by a platform specific MM_*.pm file. -Cross-platform methods are being moved into MM_Any. If you can't find -something that used to be in here, look in MM_Any. +Cross-platform methods are being moved into L. +If you can't find something that used to be in here, look in MM_Any. =cut @@ -132,6 +136,10 @@ sub c_o { my $command = '$(CCCMD)'; my $flags = '$(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE)'; + if ( $Is{ApplCor} ) { + $flags =~ s/"-I(\$\(PERL_INC\))"/-iwithsysroot "$1"/; + } + if (my $cpp = $Config{cpprun}) { my $cpp_cmd = $self->const_cccmd; $cpp_cmd =~ s/^CCCMD\s*=\s*\$\(CC\)/$cpp/; @@ -151,8 +159,11 @@ EOF my @exts = qw(c cpp cxx cc); push @exts, 'C' if !$Is{OS2} and !$Is{Win32} and !$Is{Dos}; #Case-specific $m_o = $self->{XSMULTI} ? $self->xs_obj_opt('$*$(OBJ_EXT)') : ''; + my $dbgout = $self->dbgoutflag; for my $ext (@exts) { - push @m, "\n.$ext\$(OBJ_EXT) :\n\t$command $flags \$*.$ext" . ( $m_o ? " $m_o" : '' ) . "\n"; + push @m, "\n.$ext\$(OBJ_EXT) :\n\t$command $flags " + .($dbgout?"$dbgout ":'') + ."\$*.$ext" . ( $m_o ? " $m_o" : '' ) . "\n"; } return join "", @m; } @@ -170,6 +181,16 @@ sub xs_obj_opt { "-o $output_file"; } +=item dbgoutflag + +Returns a CC flag that tells the CC to emit a separate debugging symbol file +when compiling an object file. + +=cut + +sub dbgoutflag { + ''; +} =item cflags (o) @@ -398,6 +419,7 @@ sub constants { INST_ARCHLIB INST_SCRIPT INST_BIN INST_LIB INST_MAN1DIR INST_MAN3DIR MAN1EXT MAN3EXT + MAN1SECTION MAN3SECTION INSTALLDIRS INSTALL_BASE DESTDIR PREFIX PERLPREFIX SITEPREFIX VENDORPREFIX ), @@ -461,12 +483,20 @@ MAN1PODS = ".$self->wraplist(sort keys %{$self->{MAN1PODS}})." MAN3PODS = ".$self->wraplist(sort keys %{$self->{MAN3PODS}})." "; + push @m, q{ +SDKROOT := $(shell xcrun --show-sdk-path) +PERL_SYSROOT = $(SDKROOT) +} if $Is{ApplCor} && $self->{'PERL_INC'} =~ m!^/System/Library/Perl/!; push @m, q{ # Where is the Config information that we are using/depend on -CONFIGDEP = $(PERL_ARCHLIBDEP)$(DFSEP)Config.pm $(PERL_INCDEP)$(DFSEP)config.h -} if -e $self->catfile( $self->{PERL_INC}, 'config.h' ); +CONFIGDEP = $(PERL_ARCHLIBDEP)$(DFSEP)Config.pm $(PERL_SYSROOT)$(PERL_INCDEP)$(DFSEP)config.h +} if $Is{ApplCor}; + push @m, q{ +# Where is the Config information that we are using/depend on +CONFIGDEP = $(PERL_ARCHLIBDEP)$(DFSEP)Config.pm $(PERL_INCDEP)$(DFSEP)config.h +} if -e $self->catfile( $self->{PERL_INC}, 'config.h' ) && !$Is{ApplCor}; push @m, qq{ # Where to build things @@ -939,6 +969,7 @@ sub dynamic_lib { my ($v, $d, $f) = File::Spec->splitpath($ext); my @d = File::Spec->splitdir($d); shift @d if $d[0] eq 'lib'; + pop @d if $d[$#d] eq ''; my $instdir = $self->catdir('$(INST_ARCHLIB)', 'auto', @d, $f); # Dynamic library names may need special handling. @@ -1090,7 +1121,6 @@ Finds the executables PERL and FULLPERL sub find_perl { my($self, $ver, $names, $dirs, $trace) = @_; - if ($trace >= 2){ print "Looking for perl $ver by these names: @$names @@ -1243,12 +1273,15 @@ sub _fixin_replace_shebang { my ( $self, $file, $line ) = @_; # Now figure out the interpreter name. - my ( $cmd, $arg ) = split ' ', $line, 2; - $cmd =~ s!^.*/!!; + my ( $origcmd, $arg ) = split ' ', $line, 2; + (my $cmd = $origcmd) =~ s!^.*/!!; # Now look (in reverse) for interpreter in absolute PATH (unless perl). my $interpreter; - if ( $cmd =~ m{^perl(?:\z|[^a-z])} ) { + if ( defined $ENV{PERL_MM_SHEBANG} && $ENV{PERL_MM_SHEBANG} eq "relocatable" ) { + $interpreter = "/usr/bin/env perl"; + } + elsif ( $cmd =~ m{^perl(?:\z|[^a-z])} ) { if ( $Config{startperl} =~ m,^\#!.*/perl, ) { $interpreter = $Config{startperl}; $interpreter =~ s,^\#!,,; @@ -1270,6 +1303,24 @@ sub _fixin_replace_shebang { $interpreter = $maybefile; } } + + # If the shebang is absolute and exists in PATH, but was not + # the first one found, leave it alone if it's actually the + # same file as first one. This avoids packages built on + # merged-/usr systems with /usr/bin before /bin in the path + # breaking when installed on systems without merged /usr + if ($origcmd ne $interpreter and $self->file_name_is_absolute($origcmd)) { + my $origdir = dirname($origcmd); + if ($self->maybe_command($origcmd) && grep { $_ eq $origdir } @absdirs) { + my ($odev, $oino) = stat $origcmd; + my ($idev, $iino) = stat $interpreter; + if ($odev == $idev && $oino == $iino) { + warn "$origcmd is the same as $interpreter, leaving alone" + if $Verbose; + $interpreter = $origcmd; + } + } + } } # Figure out how to invoke interpreter on this machine. @@ -1450,6 +1501,25 @@ sub init_MANPODS { $self->$init_method(); } } + + # logic similar to picking man${num}ext in perl's Configure script + foreach my $num (1,3) { + my $installdirs = uc $self->{INSTALLDIRS}; + $installdirs = '' if $installdirs eq 'PERL'; + my @mandirs = File::Spec->splitdir( $self->_expand_macros( + $self->{ "INSTALL${installdirs}MAN${num}DIR" } ) ); + my $mandir = pop @mandirs; + my $section = $num; + + foreach ($num, "${num}p", "${num}pm", qw< l n o C L >, "L$num") { + if ( $mandir =~ /^(?:man|cat)$_$/ ) { + $section = $_; + last; + } + } + + $self->{"MAN${num}SECTION"} = $section; + } } @@ -2043,6 +2113,11 @@ sub init_PERL { # already escaped spaces. $self->{FULLPERL} =~ tr/"//d if $Is{VMS}; + # `dmake` can fail for image (aka, executable) names which start with double-quotes + # * push quote inward by at least one character (or the drive prefix, if present) + # * including any initial directory separator preserves the `file_name_is_absolute` property + $self->{FULLPERL} =~ s/^"(\S(:\\|:)?)/$1"/ if $self->is_make_type('dmake'); + # Little hack to get around VMS's find_perl putting "MCR" in front # sometimes. $self->{ABSPERL} = $self->{PERL}; @@ -2065,6 +2140,11 @@ sub init_PERL { # already escaped spaces. $self->{PERL} =~ tr/"//d if $Is{VMS}; + # `dmake` can fail for image (aka, executable) names which start with double-quotes + # * push quote inward by at least one character (or the drive prefix, if present) + # * including any initial directory separator preserves the `file_name_is_absolute` property + $self->{PERL} =~ s/^"(\S(:\\|:)?)/$1"/ if $self->is_make_type('dmake'); + # Are we building the core? $self->{PERL_CORE} = $ENV{PERL_CORE} unless exists $self->{PERL_CORE}; $self->{PERL_CORE} = 0 unless defined $self->{PERL_CORE}; @@ -2168,6 +2248,7 @@ sub init_xs { my ($v, $d, $f) = File::Spec->splitpath($ext); my @d = File::Spec->splitdir($d); shift @d if defined $d[0] and $d[0] eq 'lib'; + pop @d if $d[$#d] eq ''; my $instdir = $self->catdir('$(INST_ARCHLIB)', 'auto', @d, $f); my $instfile = $self->catfile($instdir, $f); push @statics, "$instfile\$(LIB_EXT)"; @@ -2738,14 +2819,14 @@ sub _find_static_libs { Called by a utility method of makeaperl. Checks whether a given file is an XS library by seeing whether it defines any symbols starting -with C. +with C (with an optional leading underscore - needed on MacOS). =cut sub xs_static_lib_is_xs { my ($self, $libfile) = @_; my $devnull = File::Spec->devnull; - return `nm $libfile 2>$devnull` =~ /\bboot_/; + return `nm $libfile 2>$devnull` =~ /\b_?boot_/; } =item makefile (o) @@ -2872,7 +2953,7 @@ sub parse_abstract { } close $fh; - if ( $pod_encoding and !( $] < 5.008 or !$Config{useperlio} ) ) { + if ( $pod_encoding and !( "$]" < 5.008 or !$Config{useperlio} ) ) { # Have to wrap in an eval{} for when running under PERL_CORE # Encode isn't available during build phase and parsing # ABSTRACT isn't important there @@ -2894,7 +2975,7 @@ It will return the string "undef" if it can't figure out what $VERSION is. $VERSION should be for all to see, so C or plain $VERSION are okay, but C is not. -C<> is also checked for. The first version +C is also checked for. The first version declaration found is used, but this may change as it differs from how Perl does it. @@ -3151,7 +3232,7 @@ PPD_PERLVERS } my $archname = $Config{archname}; - if ($] >= 5.008) { + if ("$]" >= 5.008) { # archname did not change from 5.6 to 5.8, but those versions may # not be not binary compatible so now we append the part of the # version that changes when binary compatibility may change @@ -3268,9 +3349,11 @@ sub processPL { my $m = ''; foreach my $plfile (sort keys %$pl_files) { - my $list = ref($pl_files->{$plfile}) - ? $pl_files->{$plfile} - : [$pl_files->{$plfile}]; + my $targets = $pl_files->{$plfile}; + my $list = + ref($targets) eq 'HASH' ? [ sort keys %$targets ] : + ref($targets) eq 'ARRAY' ? $pl_files->{$plfile} : + [$pl_files->{$plfile}]; foreach my $target (@$list) { if( $Is{VMS} ) { @@ -3294,13 +3377,27 @@ sub processPL { $perlrun = 'PERLRUNINST'; } + my $extra_inputs = ''; + if( ref($targets) eq 'HASH' ) { + my $inputs = ref($targets->{$target}) + ? $targets->{$target} + : [$targets->{$target}]; + + for my $input (@$inputs) { + if( $Is{VMS} ) { + $input = vmsify($self->eliminate_macros($input)); + } + $extra_inputs .= ' '.$input; + } + } + $m .= <::ARG_MAX. Otherwise falling back to 4096. =cut @@ -3957,13 +4054,15 @@ sub xs_o { my ($self) = @_; return '' unless $self->needs_linking(); my $m_o = $self->{XSMULTI} ? $self->xs_obj_opt('$*$(OBJ_EXT)') : ''; + my $dbgout = $self->dbgoutflag; + $dbgout = $dbgout ? "$dbgout " : ''; my $frag = ''; # dmake makes noise about ambiguous rule - $frag .= sprintf <<'EOF', $m_o unless $self->is_make_type('dmake'); + $frag .= sprintf <<'EOF', $dbgout, $m_o unless $self->is_make_type('dmake'); .xs$(OBJ_EXT) : $(XSUBPPRUN) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.xsc $(MV) $*.xsc $*.c - $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.c %s + $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) %s$*.c %s EOF if ($self->{XSMULTI}) { for my $ext ($self->_xs_list_basenames) { @@ -3977,16 +4076,17 @@ EOF $self->_xsbuild_replace_macro($cccmd, 'xs', $ext, 'INC'); my $define = '$(DEFINE)'; $self->_xsbuild_replace_macro($define, 'xs', $ext, 'DEFINE'); - # 1 2 3 4 - $frag .= _sprintf562 <<'EOF', $ext, $cccmd, $m_o, $define; + # 1 2 3 4 5 + $frag .= _sprintf562 <<'EOF', $ext, $cccmd, $m_o, $define, $dbgout; %1$s$(OBJ_EXT): %1$s.xs $(XSUBPPRUN) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.xsc $(MV) $*.xsc $*.c - %2$s $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) %4$s $*.c %3$s + %2$s $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) %4$s %5$s$*.c %3$s EOF } } + $frag =~ s/"-I(\$\(PERL_INC\))"/-iwithsysroot "$1"/sg if $Is{ApplCor}; $frag; } diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm index b6fbccfe349..fbf5f9ee265 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm @@ -15,8 +15,8 @@ BEGIN { use File::Basename; -our $VERSION = '7.34'; -$VERSION = eval $VERSION; +our $VERSION = '7.44'; +$VERSION =~ tr/_//d; require ExtUtils::MM_Any; require ExtUtils::MM_Unix; @@ -38,7 +38,7 @@ ExtUtils::MM_VMS - methods to override UN*X behaviour in ExtUtils::MakeMaker =head1 DESCRIPTION -See ExtUtils::MM_Unix for a documentation of the methods provided +See L for a documentation of the methods provided there. This package overrides the implementation of these methods, not the semantics. @@ -87,7 +87,7 @@ sub ext { Those methods which override default MM_Unix methods are marked "(override)", while methods unique to MM_VMS are marked "(specific)". For overridden methods, documentation is limited to an explanation -of why this method overrides the MM_Unix method; see the ExtUtils::MM_Unix +of why this method overrides the MM_Unix method; see the L documentation for more details. =over 4 @@ -251,7 +251,8 @@ sub find_perl { =item _fixin_replace_shebang (override) -Helper routine for MM->fixin(), overridden because there's no such thing as an +Helper routine for L<< MM->fixin()|ExtUtils::MM_Unix/fixin >>, overridden +because there's no such thing as an actual shebang line that will be interpreted by the shell, so we just prepend $Config{startperl} and preserve the shebang line argument for any switches it may contain. @@ -587,9 +588,10 @@ sub constants { # Cleanup paths for directories in MMS macros. foreach my $macro ( qw [ INST_BIN INST_SCRIPT INST_LIB INST_ARCHLIB - PERL_LIB PERL_ARCHLIB + PERL_LIB PERL_ARCHLIB PERL_ARCHLIBDEP PERL_INC PERL_SRC ], - (map { 'INSTALL'.$_ } $self->installvars) + (map { 'INSTALL'.$_ } $self->installvars), + (map { 'DESTINSTALL'.$_ } $self->installvars) ) { next unless defined $self->{$macro}; @@ -1487,8 +1489,8 @@ uninstall_from_vendordirs :: =item perldepend (override) Use VMS-style syntax for files; it's cheaper to just do it directly here -than to have the MM_Unix method call C repeatedly. Also, if -we have to rebuild Config.pm, use MM[SK] to do it. +than to have the L method call C +repeatedly. Also, if we have to rebuild Config.pm, use MM[SK] to do it. =cut @@ -2081,7 +2083,7 @@ sub init_linker { Eliminate the macros in the output to the MMS/MMK file. -(File::Spec::VMS used to do this for us, but it's being removed) +(L used to do this for us, but it's being removed) =cut @@ -2120,7 +2122,7 @@ identically named elements of C<%$self>, and returns the result as a file specification in Unix syntax. NOTE: This is the canonical version of the method. The version in -File::Spec::VMS is deprecated. +L is deprecated. =cut @@ -2182,7 +2184,7 @@ force fixpath() to consider the path to be a directory or false to force it to be a file. NOTE: This is the canonical version of the method. The version in -File::Spec::VMS is deprecated. +L is deprecated. =cut diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm index 66c7ff74722..dea49e1a566 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm @@ -1,8 +1,8 @@ package ExtUtils::MM_VOS; use strict; -our $VERSION = '7.34'; -$VERSION = eval $VERSION; +our $VERSION = '7.44'; +$VERSION =~ tr/_//d; require ExtUtils::MM_Unix; our @ISA = qw(ExtUtils::MM_Unix); @@ -19,10 +19,10 @@ ExtUtils::MM_VOS - VOS specific subclass of ExtUtils::MM_Unix =head1 DESCRIPTION -This is a subclass of ExtUtils::MM_Unix which contains functionality for +This is a subclass of L which contains functionality for VOS. -Unless otherwise stated it works just like ExtUtils::MM_Unix +Unless otherwise stated it works just like ExtUtils::MM_Unix. =head2 Overridden methods diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm index 43c974d5b41..3db0f45260f 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm @@ -13,7 +13,7 @@ ExtUtils::MM_Win32 - methods to override UN*X behaviour in ExtUtils::MakeMaker =head1 DESCRIPTION -See ExtUtils::MM_Unix for a documentation of the methods provided +See L for a documentation of the methods provided there. This package overrides the implementation of these methods, not the semantics. @@ -27,8 +27,8 @@ use ExtUtils::MakeMaker qw(neatvalue _sprintf562); require ExtUtils::MM_Any; require ExtUtils::MM_Unix; our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix ); -our $VERSION = '7.34'; -$VERSION = eval $VERSION; +our $VERSION = '7.44'; +$VERSION =~ tr/_//d; $ENV{EMXSHELL} = 'sh'; # to run `commands` @@ -77,7 +77,7 @@ Changes the path separator with . sub replace_manpage_separator { my($self,$man) = @_; - $man =~ s,/+,.,g; + $man =~ s,[/\\]+,.,g; $man; } @@ -143,7 +143,7 @@ sub init_tools { $self->{DEV_NULL} ||= '> NUL'; $self->{FIXIN} ||= $self->{PERL_CORE} ? - "\$(PERLRUN) $self->{PERL_SRC}\\win32\\bin\\pl2bat.pl" : + "\$(PERLRUN) -I$self->{PERL_SRC}\\cpan\\ExtUtils-PL2Bat\\lib $self->{PERL_SRC}\\win32\\bin\\pl2bat.pl" : 'pl2bat.bat'; $self->SUPER::init_tools; @@ -506,7 +506,7 @@ sub quote_literal { $text =~ s{\\\\"}{\\\\\\\\\\"}g; # \\" -> \\\\\" $text =~ s{(? \\\" $text =~ s{(? \" - $text = qq{"$text"} if $text =~ /[ \t]/; + $text = qq{"$text"} if $text =~ /[ \t#]/; # hash because gmake 4.2.1 # Apply the Command Prompt parsing rules (cmd.exe) my @text = split /("[^"]*")/, $text; @@ -595,6 +595,16 @@ sub os_flavor { return('Win32'); } +=item dbgoutflag + +Returns a CC flag that tells the CC to emit a separate debugging symbol file +when compiling an object file. + +=cut + +sub dbgoutflag { + $MSVC ? '-Fd$(*).pdb' : ''; +} =item cflags diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm index 85a80c638b0..4220e52dc37 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm @@ -2,8 +2,8 @@ package ExtUtils::MM_Win95; use strict; -our $VERSION = '7.34'; -$VERSION = eval $VERSION; +our $VERSION = '7.44'; +$VERSION =~ tr/_//d; require ExtUtils::MM_Win32; our @ISA = qw(ExtUtils::MM_Win32); @@ -21,7 +21,7 @@ ExtUtils::MM_Win95 - method to customize MakeMaker for Win9X =head1 DESCRIPTION -This is a subclass of ExtUtils::MM_Win32 containing changes necessary +This is a subclass of L containing changes necessary to get MakeMaker playing nice with command.com and other Win9Xisms. =head2 Overridden methods diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MY.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MY.pm index a193f3a045c..957ab164592 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/MY.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/MY.pm @@ -3,8 +3,8 @@ package ExtUtils::MY; use strict; require ExtUtils::MM; -our $VERSION = '7.34'; -$VERSION = eval $VERSION; +our $VERSION = '7.44'; +$VERSION =~ tr/_//d; our @ISA = qw(ExtUtils::MM); { @@ -30,7 +30,7 @@ ExtUtils::MY - ExtUtils::MakeMaker subclass for customization B -ExtUtils::MY is a subclass of ExtUtils::MM. Its provided in your +ExtUtils::MY is a subclass of L. Its provided in your Makefile.PL for you to add and override MakeMaker functionality. It also provides a convenient alias via the MY class. diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm index 90d9eac49c1..6dceb98be41 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm @@ -24,8 +24,8 @@ 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.34'; -$VERSION = eval $VERSION; ## no critic [BuiltinFunctions::ProhibitStringyEval] +our $VERSION = '7.44'; +$VERSION =~ tr/_//d; # Emulate something resembling CVS $Revision$ (our $Revision = $VERSION) =~ s{_}{}; @@ -316,7 +316,7 @@ sub full_setup { PERLRUNINST PERL_CORE PERM_DIR PERM_RW PERM_RWX MAGICXS PL_FILES PM PM_FILTER PMLIBDIRS PMLIBPARENTDIRS POLLUTE - PREREQ_FATAL PREREQ_PM PREREQ_PRINT PRINT_PREREQ + PREREQ_FATAL PREREQ_PM PREREQ_PRINT PRINT_PREREQ PUREPERL_ONLY SIGN SKIP TEST_REQUIRES TYPEMAPS UNINST VERSION VERSION_FROM XS XSBUILD XSMULTI XSOPT XSPROTOARG XS_VERSION clean depend dist dynamic_lib linkext macro realclean tool_autosplit @@ -398,7 +398,7 @@ sub full_setup { ); # 5.5.3 doesn't have any concept of vendor libs - push @Get_from_Config, qw( vendorarchexp vendorlibexp ) if $] >= 5.006; + push @Get_from_Config, qw( vendorarchexp vendorlibexp ) if "$]" >= 5.006; foreach my $item (@attrib_help){ $Recognized_Att_Keys{$item} = 1; @@ -534,7 +534,7 @@ sub new { # simulate "use warnings FATAL => 'all'" for vintage perls die @_; }; - !$self->{MIN_PERL_VERSION} or $self->{MIN_PERL_VERSION} <= $] + !$self->{MIN_PERL_VERSION} or $self->{MIN_PERL_VERSION} <= "$]" }; if (!$perl_version_ok) { if (!defined $perl_version_ok) { @@ -693,6 +693,7 @@ END } else { my $value = $self->{$key}; # not going to test in FS so only stripping start + $value =~ s/"// if $key =~ /PERL$/ and $self->is_make_type('dmake'); $value =~ s/^"// if $key =~ /PERL$/; $value = $self->catdir("..", $value) unless $self->file_name_is_absolute($value); @@ -702,7 +703,8 @@ END } if ($self->{PARENT}) { $self->{PARENT}->{CHILDREN}->{$newclass} = $self; - foreach my $opt (qw(POLLUTE PERL_CORE LINKTYPE LD OPTIMIZE)) { + foreach my $opt (qw(POLLUTE PERL_CORE LINKTYPE AR FULL_AR CC CCFLAGS + OPTIMIZE LD LDDLFLAGS LDFLAGS PERL_ARCHLIB DESTDIR)) { if (exists $self->{PARENT}->{$opt} and not exists $self->{$opt}) { @@ -1264,7 +1266,7 @@ sub write_file_via_tmp { die "write_file_via_tmp: 2nd arg must be ref" unless ref $contents; for my $chunk (@$contents) { my $to_write = $chunk; - utf8::encode $to_write if !$CAN_DECODE && $] > 5.008; + utf8::encode $to_write if !$CAN_DECODE && "$]" > 5.008; print $fh "$to_write\n" or die "Can't write to MakeMaker.tmp: $!"; } close $fh or die "Can't write to MakeMaker.tmp: $!"; @@ -1427,6 +1429,8 @@ seeks to handle all of these correctly. It is currently still not possible to portably use Unicode characters in module names, because this requires Perl to handle Unicode filenames, which is not yet the case on Windows. +See L for details of the design and usage. + =head2 How To Write A Makefile.PL See L. @@ -2599,6 +2603,20 @@ In this case the program will be run multiple times using each target file. perl bin/foobar.PL bin/foobar1 perl bin/foobar.PL bin/foobar2 +If an output file depends on extra input files beside the script itself, +a hash ref can be used in version 7.36 and above: + + PL_FILES => { 'foo.PL' => { + 'foo.out' => 'foo.in', + 'bar.out' => [qw(bar1.in bar2.in)], + } + +In this case the extra input files will be passed to the program after +the target file: + + perl foo.PL foo.out foo.in + perl foo.PL bar.out bar1.in bar2.in + PL files are normally run B pm_to_blib and include INST_LIB and INST_ARCH in their C<@INC>, so the just built modules can be accessed... unless the PL file is making a module (or anything else in @@ -3023,7 +3041,8 @@ be linked. =item postamble -Anything put here will be passed to MY::postamble() if you have one. +Anything put here will be passed to +L if you have one. =item realclean @@ -3070,7 +3089,7 @@ or you can edit the default by saying something like: If you are running experiments with embedding perl as a library into other applications, you might find MakeMaker is not sufficient. You'd -better have a look at ExtUtils::Embed which is a collection of utilities +better have a look at L which is a collection of utilities for embedding. If you still need a different solution, try to develop another @@ -3134,7 +3153,7 @@ override or create an attribute you would say something like =head2 Distribution Support For authors of extensions MakeMaker provides several Makefile -targets. Most of the support comes from the ExtUtils::Manifest module, +targets. Most of the support comes from the L module, where additional documentation can be found. =over 4 @@ -3142,13 +3161,13 @@ where additional documentation can be found. =item make distcheck reports which files are below the build directory but not in the -MANIFEST file and vice versa. (See ExtUtils::Manifest::fullcheck() for +MANIFEST file and vice versa. (See L for details) =item make skipcheck reports which files are skipped due to the entries in the -C file (See ExtUtils::Manifest::skipcheck() for +C file (See L for details) =item make distclean @@ -3165,7 +3184,7 @@ C<*.bak>, C<*.old> and C<*.orig> =item make manifest rewrites the MANIFEST file, adding all remaining files found (See -ExtUtils::Manifest::mkmanifest() for details) +L for details) =item make distdir @@ -3365,11 +3384,16 @@ Same as the PERL_CORE parameter. The parameter overrides this. =head1 SEE ALSO L is a pure-Perl alternative to MakeMaker which does -not rely on make or any other external utility. It is easier to +not rely on make or any other external utility. It may be easier to extend to suit your needs. -L is a wrapper around MakeMaker which adds features -not normally available. +L is a minimal pure-Perl alternative to MakeMaker +that follows the Build.PL protocol of Module::Build but without its +complexity and cruft, implementing only the installation of the module +and leaving authoring to L or other authoring tools. + +L is a (now discouraged) wrapper around MakeMaker which +adds features not normally available. L and L are both modules to help you setup your distribution. @@ -3378,10 +3402,18 @@ L and L explain CPAN Meta files in detail. L makes it easy to install static, sometimes also referred to as 'shared' files. L helps accessing -the shared files after installation. +the shared files after installation. L helps when +writing tests to use the shared files both before and after installation. + +L is an authoring tool which allows great customization and +extensibility of the author experience, relying on the existing install +tools like ExtUtils::MakeMaker only for installation. + +L is a Dist::Zilla bundle that greatly simplifies common +usage. -L makes it easy for the module author to create MakeMaker-based -distributions with lots of bells and whistles. +L is a minimal authoring tool that does the same things as +Dist::Milla without the overhead of Dist::Zilla. =head1 AUTHORS diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm index 0d4f8b1e611..5c93f0afdfb 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm @@ -2,8 +2,8 @@ package ExtUtils::MakeMaker::Config; use strict; -our $VERSION = '7.34'; -$VERSION = eval $VERSION; +our $VERSION = '7.44'; +$VERSION =~ tr/_//d; use Config (); diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod index 0ceb4f766ec..a82c53b00c0 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod +++ b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod @@ -1,7 +1,7 @@ package ExtUtils::MakeMaker::FAQ; -our $VERSION = '7.34'; -$VERSION = eval $VERSION; +our $VERSION = '7.44'; +$VERSION =~ tr/_//d; 1; __END__ @@ -12,7 +12,7 @@ ExtUtils::MakeMaker::FAQ - Frequently Asked Questions About MakeMaker =head1 DESCRIPTION -FAQs, tricks and tips for C. +FAQs, tricks and tips for L. =head2 Module Installation @@ -84,7 +84,8 @@ installation. =item How do I keep from installing man pages? Recent versions of MakeMaker will only install man pages on Unix-like -operating systems. +operating systems by default. To generate manpages on non-Unix operating +systems, make the "manifypods" target. For an individual module: @@ -568,7 +569,7 @@ What most people need to know (superclasses on top.) | MY -The object actually used is of the class MY which allows you to +The object actually used is of the class L which allows you to override bits of MakeMaker inside your Makefile.PL by declaring MY::foo() methods. @@ -599,24 +600,24 @@ NOTE: Yes, this is a mess. See L for some history. -NOTE: When ExtUtils::MM is loaded it chooses a superclass for MM from +NOTE: When L is loaded it chooses a superclass for MM from amongst the ExtUtils::MM_* modules based on the current operating system. NOTE: ExtUtils::MM_{Current OS} represents one of the ExtUtils::MM_* -modules except ExtUtils::MM_Any chosen based on your operating system. +modules except L chosen based on your operating system. NOTE: The main object used by MakeMaker is a PACK### object, *not* -ExtUtils::MakeMaker. It is, effectively, a subclass of MY, -ExtUtils::Makemaker, ExtUtils::Liblist and ExtUtils::MM_{Current OS} +L. It is, effectively, a subclass of L, +L, L and ExtUtils::MM_{Current OS} -NOTE: The methods in MY are simply copied into PACK### rather than -MY being a superclass of PACK###. I don't remember the rationale. +NOTE: The methods in L are simply copied into PACK### rather +than MY being a superclass of PACK###. I don't remember the rationale. -NOTE: ExtUtils::Liblist should be removed from the inheritance hiearchy +NOTE: L should be removed from the inheritance hiearchy and simply be called as functions. -NOTE: Modules like File::Spec and Exporter have been omitted for clarity. +NOTE: Modules like L and L have been omitted for clarity. =head2 The MM_* hierarchy @@ -631,12 +632,13 @@ NOTE: Modules like File::Spec and Exporter have been omitted for clarity. | | MM_Any -NOTE: Each direct MM_Unix subclass is also an MM_Any subclass. This +NOTE: Each direct L subclass is also an +L subclass. This is a temporary hack because MM_Unix overrides some MM_Any methods with Unix specific code. It allows the non-Unix modules to see the original MM_Any implementations. -NOTE: Modules like File::Spec and Exporter have been omitted for clarity. +NOTE: Modules like L and L have been omitted for clarity. =head1 PATCHING diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Locale.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Locale.pm index 6d97df06f61..8931826b590 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Locale.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Locale.pm @@ -1,8 +1,8 @@ package ExtUtils::MakeMaker::Locale; use strict; -our $VERSION = "7.34"; -$VERSION = eval $VERSION; +our $VERSION = "7.44"; +$VERSION =~ tr/_//d; use base 'Exporter'; our @EXPORT_OK = qw( @@ -47,7 +47,10 @@ sub _init { unless (defined &GetInputCP) { eval { require Win32; - eval { Win32::GetConsoleCP() }; + eval { + local $SIG{__WARN__} = sub {} if ( "$]" < 5.014 ); # suppress deprecation warning for inherited AUTOLOAD of Win32::GetConsoleCP() + Win32::GetConsoleCP(); + }; # manually "import" it since Win32->import refuses *GetInputCP = sub { &Win32::GetConsoleCP } if defined &Win32::GetConsoleCP; *GetOutputCP = sub { &Win32::GetConsoleOutputCP } if defined &Win32::GetConsoleOutputCP; @@ -96,6 +99,13 @@ sub _init { $ENCODING_LOCALE ||= $ENCODING_CONSOLE_IN; } + # Workaround of Encode < v2.71 for "cp65000" and "cp65001" + # The "cp65000" and "cp65001" aliases were added in [Encode v2.71](https://github.com/dankogai/p5-encode/commit/7874bd95aa10967a3b5dbae333d16bcd703ac6c6) + # via commit . + # This will avoid test failures for Win32 machines using the UTF-7 or UTF-8 code pages. + $ENCODING_LOCALE = 'UTF-7' if $ENCODING_LOCALE && lc($ENCODING_LOCALE) eq "cp65000"; + $ENCODING_LOCALE = 'utf-8-strict' if $ENCODING_LOCALE && lc($ENCODING_LOCALE) eq "cp65001"; + if ($^O eq "darwin") { $ENCODING_LOCALE_FS ||= "UTF-8"; } diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod index b49e4448330..6365e4be665 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod +++ b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod @@ -1,7 +1,7 @@ package ExtUtils::MakeMaker::Tutorial; -our $VERSION = '7.34'; -$VERSION = eval $VERSION; +our $VERSION = '7.44'; +$VERSION =~ tr/_//d; =head1 NAME @@ -205,7 +205,8 @@ L gives stylistic help writing a module. L gives more information about how to write a module. There are modules to help you through the process of writing a module: -L, L, L +L, L, L, +L, L =cut diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/version.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/version.pm index c59be1eeee7..c94c855c54b 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/version.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/version.pm @@ -15,8 +15,8 @@ use strict; use vars qw(@ISA $VERSION $CLASS $STRICT $LAX *declare *qv); -$VERSION = '7.34'; -$VERSION = eval $VERSION; +$VERSION = '7.44'; +$VERSION =~ tr/_//d; $CLASS = 'version'; { @@ -35,7 +35,7 @@ $CLASS = 'version'; *version::_VERSION = \&ExtUtils::MakeMaker::version::vpp::_VERSION; *version::vcmp = \&ExtUtils::MakeMaker::version::vpp::vcmp; *version::new = \&ExtUtils::MakeMaker::version::vpp::new; - if ($] >= 5.009000) { + if ("$]" >= 5.009000) { no strict 'refs'; *version::stringify = \&ExtUtils::MakeMaker::version::vpp::stringify; *{'version::(""'} = \&ExtUtils::MakeMaker::version::vpp::stringify; diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm index 0d4c1a20909..a11a950c1b6 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm @@ -3,8 +3,8 @@ package ExtUtils::Mkbootstrap; # There's just too much Dynaloader incest here to turn on strict vars. use strict 'refs'; -our $VERSION = '7.34'; -$VERSION = eval $VERSION; +our $VERSION = '7.44'; +$VERSION =~ tr/_//d; require Exporter; our @ISA = ('Exporter'); @@ -84,7 +84,7 @@ ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader =head1 SYNOPSIS -C + Mkbootstrap =head1 DESCRIPTION diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm index 0ec5f9dbdfd..9279b6b7852 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm @@ -10,8 +10,8 @@ use Config; our @ISA = qw(Exporter); our @EXPORT = qw(&Mksymlists); -our $VERSION = '7.34'; -$VERSION = eval $VERSION; +our $VERSION = '7.44'; +$VERSION =~ tr/_//d; sub Mksymlists { my(%spec) = @_; @@ -148,7 +148,7 @@ sub _write_win32 { # linked to directly from C. GSAR 97-07-10 #bcc dropped in 5.16, so dont create useless extra symbols for export table - unless($] >= 5.016) { + unless("$]" >= 5.016) { if ($Config::Config{'cc'} =~ /^bcc/i) { push @syms, "_$_", "$_ = _$_" for (@{$data->{DL_VARS}}, @{$data->{FUNCLIST}}); diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/testlib.pm b/Master/tlpkg/tlperl/lib/ExtUtils/testlib.pm index 01b46ee45a5..1ccaf776a03 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/testlib.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/testlib.pm @@ -3,8 +3,8 @@ package ExtUtils::testlib; use strict; use warnings; -our $VERSION = '7.34'; -$VERSION = eval $VERSION; +our $VERSION = '7.44'; +$VERSION =~ tr/_//d; use Cwd; use File::Spec; diff --git a/Master/tlpkg/tlperl/lib/Fatal.pm b/Master/tlpkg/tlperl/lib/Fatal.pm index 16e17434742..09abfb8536d 100644 --- a/Master/tlpkg/tlperl/lib/Fatal.pm +++ b/Master/tlpkg/tlperl/lib/Fatal.pm @@ -8,7 +8,7 @@ use strict; use warnings; use Tie::RefHash; # To cache subroutine refs use Config; -use Scalar::Util qw(set_prototype); +use Scalar::Util qw(set_prototype looks_like_number); use autodie::Util qw( fill_protos @@ -55,7 +55,7 @@ use constant ERROR_58_HINTS => q{Non-subroutine %s hints for %s are not supporte use constant MIN_IPC_SYS_SIMPLE_VER => 0.12; -our $VERSION = '2.29'; # VERSION: Generated by DZP::OurPkg::Version +our $VERSION = '2.32'; # VERSION: Generated by DZP::OurPkg::Version our $Debug ||= 0; @@ -165,6 +165,9 @@ my %TAGS = ( ':2.27' => [qw(:default)], ':2.28' => [qw(:default)], ':2.29' => [qw(:default)], + ':2.30' => [qw(:default)], + ':2.31' => [qw(:default)], + ':2.32' => [qw(:default)], ); @@ -580,7 +583,12 @@ sub unimport { # Record the current sub to be reinstalled at end of scope # and then restore the original (can be undef for "CORE::" # subs) - $reinstall_subs{$symbol} = \&$sub; + + { + no strict 'refs'; ## no critic # to avoid: Can't use string (...) as a symbol ref ... + $reinstall_subs{$symbol} = \&$sub + if exists ${"${pkg}::"}{$symbol}; + } $uninstall_subs{$symbol} = $Original_user_sub{$sub}; } @@ -1023,6 +1031,26 @@ sub _one_invocation { }; } + if ($call eq 'CORE::kill') { + + return qq[ + + my \$num_things = \@_ - $Returns_num_things_changed{$call}; + my \$context = ! defined wantarray() ? 'void' : 'scalar'; + my \$signal = \$_[0]; + my \$retval = $call(@argv); + my \$sigzero = looks_like_number( \$signal ) && \$signal == 0; + + if ( ( \$sigzero && \$context eq 'void' ) + or ( ! \$sigzero && \$retval != \$num_things ) ) { + + $die; + } + + return \$retval; + ]; + } + if (exists $Returns_num_things_changed{$call}) { # Some things return the number of things changed (like diff --git a/Master/tlpkg/tlperl/lib/File/Find.pm b/Master/tlpkg/tlperl/lib/File/Find.pm index 5fb9ee02fe4..4c67e882a5e 100644 --- a/Master/tlpkg/tlperl/lib/File/Find.pm +++ b/Master/tlpkg/tlperl/lib/File/Find.pm @@ -3,7 +3,7 @@ use 5.006; use strict; use warnings; use warnings::register; -our $VERSION = '1.36'; +our $VERSION = '1.37'; require Exporter; require Cwd; diff --git a/Master/tlpkg/tlperl/lib/File/Glob.pm b/Master/tlpkg/tlperl/lib/File/Glob.pm index 368a755f509..b7e71abcd3f 100644 --- a/Master/tlpkg/tlperl/lib/File/Glob.pm +++ b/Master/tlpkg/tlperl/lib/File/Glob.pm @@ -35,7 +35,7 @@ $EXPORT_TAGS{bsd_glob} = [@{$EXPORT_TAGS{glob}}]; @EXPORT_OK = (@{$EXPORT_TAGS{'glob'}}, 'csh_glob'); -$VERSION = '1.32'; +$VERSION = '1.33'; sub import { require Exporter; @@ -70,13 +70,6 @@ if ($^O =~ /^(?:MSWin32|VMS|os2|dos|riscos)$/) { $DEFAULT_FLAGS |= GLOB_NOCASE(); } -# File::Glob::glob() removed in perl-5.30 because its prototype is different -# from CORE::glob() (use bsd_glob() instead) -sub glob { - die "File::Glob::glob() was removed in perl 5.30. " . - "Use File::Glob::bsd_glob() instead. $!"; -} - 1; __END__ diff --git a/Master/tlpkg/tlperl/lib/File/Spec/Win32.pm b/Master/tlpkg/tlperl/lib/File/Spec/Win32.pm index 59340104391..a3b89c3ff60 100644 --- a/Master/tlpkg/tlperl/lib/File/Spec/Win32.pm +++ b/Master/tlpkg/tlperl/lib/File/Spec/Win32.pm @@ -5,7 +5,7 @@ use strict; use Cwd (); require File::Spec::Unix; -our $VERSION = '3.78'; +our $VERSION = '3.79'; $VERSION =~ tr/_//d; our @ISA = qw(File::Spec::Unix); @@ -84,7 +84,7 @@ sub tmpdir { MSWin32 case-tolerance depends on GetVolumeInformation() $ouFsFlags == FS_CASE_SENSITIVE, indicating the case significance when comparing file specifications. Since XP FS_CASE_SENSITIVE is effectively disabled for the NT subsubsystem. -See http://cygwin.com/ml/cygwin/2007-07/msg00891.html +See L Default: 1 =cut diff --git a/Master/tlpkg/tlperl/lib/File/stat.pm b/Master/tlpkg/tlperl/lib/File/stat.pm index 578c3118c86..863092c93dc 100644 --- a/Master/tlpkg/tlperl/lib/File/stat.pm +++ b/Master/tlpkg/tlperl/lib/File/stat.pm @@ -5,12 +5,13 @@ use strict; use warnings; use warnings::register; use Carp; +use constant _IS_CYGWIN => $^O eq "cygwin"; BEGIN { *warnif = \&warnings::warnif } our(@EXPORT, @EXPORT_OK, %EXPORT_TAGS); -our $VERSION = '1.08'; +our $VERSION = '1.09'; our @fields; our ( $st_dev, $st_ino, $st_mode, @@ -98,7 +99,7 @@ else { # This code basically assumes that the rwx bits of the mode are # the 0777 bits, but so does Perl_cando. - if ($uid == 0 && $^O ne "VMS") { + if (_IS_CYGWIN ? _ingroup(544, $eff) : ($uid == 0 && $^O ne "VMS")) { # If we're root on unix # not testing for executable status => all file tests are true return 1 if !($mode & 0111); diff --git a/Master/tlpkg/tlperl/lib/Filter/Simple.pm b/Master/tlpkg/tlperl/lib/Filter/Simple.pm index 1dcf3c80bf7..924c2aecbd3 100644 --- a/Master/tlpkg/tlperl/lib/Filter/Simple.pm +++ b/Master/tlpkg/tlperl/lib/Filter/Simple.pm @@ -2,7 +2,7 @@ package Filter::Simple; use Text::Balanced ':ALL'; -our $VERSION = '0.95'; +our $VERSION = '0.96'; use Filter::Util::Call; use Carp; @@ -70,6 +70,7 @@ my %extractor_for = ( my %selector_for = ( all => sub { my ($t)=@_; sub{ $_=$$_; $t->(@_); $_} }, executable=> sub { my ($t)=@_; sub{ref() ? $_=$$_ : $t->(@_); $_} }, + executable_no_comments=> sub { my ($t)=@_; sub{ref() ? $_=$$_ : $t->(@_); $_} }, quotelike => sub { my ($t)=@_; sub{ref() && do{$_=$$_; $t->(@_)}; $_} }, regex => sub { my ($t)=@_; sub{ref() or return $_; diff --git a/Master/tlpkg/tlperl/lib/Getopt/Long.pm b/Master/tlpkg/tlperl/lib/Getopt/Long.pm index 664c8b63c91..70ac4159565 100644 --- a/Master/tlpkg/tlperl/lib/Getopt/Long.pm +++ b/Master/tlpkg/tlperl/lib/Getopt/Long.pm @@ -4,8 +4,8 @@ # Author : Johan Vromans # Created On : Tue Sep 11 15:00:12 1990 # Last Modified By: Johan Vromans -# Last Modified On: Sat May 27 12:11:39 2017 -# Update Count : 1715 +# Last Modified On: Mon Aug 12 17:05:46 2019 +# Update Count : 1728 # Status : Released ################ Module Preamble ################ @@ -18,10 +18,10 @@ use warnings; package Getopt::Long; use vars qw($VERSION); -$VERSION = 2.50; +$VERSION = 2.51; # For testing versions only. use vars qw($VERSION_STRING); -$VERSION_STRING = "2.50"; +$VERSION_STRING = "2.51"; use Exporter; use vars qw(@ISA @EXPORT @EXPORT_OK); @@ -303,7 +303,7 @@ sub GetOptionsFromArray(@) { # Avoid some warnings if debugging. local ($^W) = 0; print STDERR - ("Getopt::Long $Getopt::Long::VERSION ", + ("Getopt::Long $Getopt::Long::VERSION_STRING ", "called from package \"$pkg\".", "\n ", "argv: ", @@ -769,7 +769,7 @@ sub GetOptionsFromArray(@) { } # Finish. - if ( @ret && $order == $PERMUTE ) { + if ( @ret && ( $order == $PERMUTE || $passthrough ) ) { # Push back accumulated arguments print STDERR ("=> restoring \"", join('" "', @ret), "\"\n") if $debug; @@ -805,10 +805,8 @@ sub ParseOptionSpec ($$) { ( # Option name (?: \w+[-\w]* ) - # Alias names, or "?" - (?: \| (?: \? | \w[-\w]* ) )* # Aliases - (?: \| (?: [^-|!+=:][^|!+=:]* )? )* + (?: \| (?: . [^|!+=:]* )? )* )? ( # Either modifiers ... @@ -1123,6 +1121,12 @@ sub FindOption ($$$$$) { $optargtype = 3; } if(($optargtype == 0) && !$mand) { + if ( $type eq 'I' ) { + # Fake incremental type. + my @c = @$ctl; + $c[CTL_TYPE] = '+'; + return (1, $opt, \@c, 1); + } my $val = defined($ctl->[CTL_DEFAULT]) ? $ctl->[CTL_DEFAULT] : $type eq 's' ? '' @@ -1541,7 +1545,7 @@ sub setup_pa_args($@) { # Sneak way to know what version the user requested. sub VERSION { - $requested_version = $_[1]; + $requested_version = $_[1] if @_ > 1; shift->SUPER::VERSION(@_); } @@ -2269,8 +2273,7 @@ it will set variable C<$stdio>. A special option 'name' C<< <> >> can be used to designate a subroutine to handle non-option arguments. When GetOptions() encounters an argument that does not look like an option, it will immediately call this -subroutine and passes it one parameter: the argument name. Well, actually -it is an object that stringifies to the argument name. +subroutine and passes it one parameter: the argument name. For example: @@ -2733,8 +2736,10 @@ version 2.13. use Getopt::Long; GetOptions ("help|?"); # -help and -? will both set $opt_help -Other characters that can't appear in Perl identifiers are also supported -as aliases with Getopt::Long of at least version 2.39. +Other characters that can't appear in Perl identifiers are also +supported in aliases with Getopt::Long of at version 2.39. Note that +the characters C, C<|>, C<+>, C<=>, and C<:> can only appear as the +first (or only) character of an alias. As of version 2.32 Getopt::Long provides auto-help, a quick and easy way to add the options --help and -? to your program, and handle them. diff --git a/Master/tlpkg/tlperl/lib/Hash/Util.pm b/Master/tlpkg/tlperl/lib/Hash/Util.pm index 1a9e9ac8103..4224239d91d 100644 --- a/Master/tlpkg/tlperl/lib/Hash/Util.pm +++ b/Master/tlpkg/tlperl/lib/Hash/Util.pm @@ -42,7 +42,7 @@ our @EXPORT_OK = qw( BEGIN { # make sure all our XS routines are available early so their prototypes # are correctly applied in the following code. - our $VERSION = '0.22'; + our $VERSION = '0.23'; require XSLoader; XSLoader::load(); } @@ -115,7 +115,7 @@ Hash::Util - A selection of general-utility hash subroutines lock_hash (%hash); unlock_hash(%hash); - my $hashes_are_randomised = hash_seed() != 0; + my $hashes_are_randomised = hash_seed() !~ /^\0+$/; my $int_hash_value = hash_value( 'string' ); diff --git a/Master/tlpkg/tlperl/lib/I18N/LangTags.pm b/Master/tlpkg/tlperl/lib/I18N/LangTags.pm index 3358d602746..35751bce03a 100644 --- a/Master/tlpkg/tlperl/lib/I18N/LangTags.pm +++ b/Master/tlpkg/tlperl/lib/I18N/LangTags.pm @@ -18,7 +18,7 @@ our @EXPORT_OK = qw(is_language_tag same_language_tag ); our %EXPORT_TAGS = ('ALL' => \@EXPORT_OK); -our $VERSION = "0.43"; +our $VERSION = "0.44"; our %Panic; sub uniq { my %seen; return grep(!($seen{$_}++), @_); } # a util function @@ -844,28 +844,28 @@ language tags with their ASCII characters shifted into Plane 14. * L -* RFC 3066, C, "Tags for the +* RFC 3066, C>, "Tags for the Identification of Languages". (Obsoletes RFC 1766) -* RFC 2277, C, "IETF Policy on +* RFC 2277, C>, "IETF Policy on Character Sets and Languages". -* RFC 2231, C, "MIME Parameter +* RFC 2231, C>, "MIME Parameter Value and Encoded Word Extensions: Character Sets, Languages, and Continuations". -* RFC 2482, C, +* RFC 2482, C>, "Language Tagging in Unicode Plain Text". * Locale::Codes, in -C +C> * ISO 639-2, "Codes for the representation of names of languages", including two-letter and three-letter codes, -C +C> * The IANA list of registered languages (hopefully up-to-date), -C +C> =head1 COPYRIGHT diff --git a/Master/tlpkg/tlperl/lib/I18N/LangTags/Detect.pm b/Master/tlpkg/tlperl/lib/I18N/LangTags/Detect.pm index 16b91db3366..d7a0d46b832 100644 --- a/Master/tlpkg/tlperl/lib/I18N/LangTags/Detect.pm +++ b/Master/tlpkg/tlperl/lib/I18N/LangTags/Detect.pm @@ -11,7 +11,7 @@ our ( $MATCH_SUPERS, $USING_LANGUAGE_TAGS, BEGIN { unless(defined &DEBUG) { *DEBUG = sub () {0} } } # define the constant 'DEBUG' at compile-time -our $VERSION = "1.07"; +our $VERSION = "1.08"; our @ISA = (); use I18N::LangTags qw(alternate_language_tags locale2language_tag); @@ -203,11 +203,13 @@ C, like so: =head1 ENVIRONMENT -This module looks for several environment variables, including +This module looks at several environment variables: REQUEST_METHOD, HTTP_ACCEPT_LANGUAGE, LANGUAGE, LC_ALL, LC_MESSAGES, and LANG. -It will also use the L module, if it's installed. +It will also use the L module, if it's installed +and IGNORE_WIN32_LOCALE is not set to a true value in the +environment. =head1 SEE ALSO diff --git a/Master/tlpkg/tlperl/lib/I18N/Langinfo.pm b/Master/tlpkg/tlperl/lib/I18N/Langinfo.pm index a0fc52a9f33..7206e1ce859 100644 --- a/Master/tlpkg/tlperl/lib/I18N/Langinfo.pm +++ b/Master/tlpkg/tlperl/lib/I18N/Langinfo.pm @@ -72,7 +72,7 @@ our @EXPORT_OK = qw( YESSTR ); -our $VERSION = '0.18'; +our $VERSION = '0.19'; XSLoader::load(); @@ -180,6 +180,8 @@ For the eras based on typically some ruler, such as the Japanese Emperor =back +=head2 For systems without C + Starting in Perl 5.28, this module is available even on systems that lack a native C. On such systems, it uses various methods to construct what that function, if present, would return. But there are potential diff --git a/Master/tlpkg/tlperl/lib/IO.pm b/Master/tlpkg/tlperl/lib/IO.pm index 44c4df84151..eacd4c2bd64 100644 --- a/Master/tlpkg/tlperl/lib/IO.pm +++ b/Master/tlpkg/tlperl/lib/IO.pm @@ -7,7 +7,7 @@ use Carp; use strict; use warnings; -our $VERSION = "1.40"; +our $VERSION = "1.43"; XSLoader::load 'IO', $VERSION; sub import { @@ -53,7 +53,7 @@ in one go. The IO modules belonging to the core are: Some other IO modules don't belong to the perl core but can be loaded as well if they have been installed from CPAN. You can discover which -ones exist by searching for "^IO::" on http://search.cpan.org. +ones exist by searching for "^IO::" on L. For more information on any of these modules, please see its respective documentation. diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Bzip2.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Bzip2.pm index 623a2c671ac..a8a7762ce70 100644 --- a/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Bzip2.pm +++ b/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Bzip2.pm @@ -4,12 +4,12 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.084 qw(:Status); +use IO::Compress::Base::Common 2.093 qw(:Status); -use Compress::Raw::Bzip2 2.084 ; +use Compress::Raw::Bzip2 2.093 ; our ($VERSION); -$VERSION = '2.084'; +$VERSION = '2.093'; sub mkCompObject { diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Deflate.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Deflate.pm index 8903287b106..140d29ff29f 100644 --- a/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Deflate.pm +++ b/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Deflate.pm @@ -4,13 +4,13 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.084 qw(:Status); -use Compress::Raw::Zlib 2.084 qw( !crc32 !adler32 ) ; +use IO::Compress::Base::Common 2.093 qw(:Status); +use Compress::Raw::Zlib 2.093 qw( !crc32 !adler32 ) ; require Exporter; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, @EXPORT, %DEFLATE_CONSTANTS); -$VERSION = '2.084'; +$VERSION = '2.093'; @ISA = qw(Exporter); @EXPORT_OK = @Compress::Raw::Zlib::DEFLATE_CONSTANTS; %EXPORT_TAGS = %Compress::Raw::Zlib::DEFLATE_CONSTANTS; diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Identity.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Identity.pm index ae23102a248..487cfa7b476 100644 --- a/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Identity.pm +++ b/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Identity.pm @@ -4,10 +4,10 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.084 qw(:Status); +use IO::Compress::Base::Common 2.093 qw(:Status); our ($VERSION); -$VERSION = '2.084'; +$VERSION = '2.093'; sub mkCompObject { diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Base.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Base.pm index 1e2a54ba397..f817d13b472 100644 --- a/Master/tlpkg/tlperl/lib/IO/Compress/Base.pm +++ b/Master/tlpkg/tlperl/lib/IO/Compress/Base.pm @@ -6,7 +6,7 @@ require 5.006 ; use strict ; use warnings; -use IO::Compress::Base::Common 2.084 ; +use IO::Compress::Base::Common 2.093 ; use IO::File (); ; use Scalar::Util (); @@ -20,7 +20,7 @@ use Symbol(); our (@ISA, $VERSION); @ISA = qw(IO::File Exporter); -$VERSION = '2.084'; +$VERSION = '2.093'; #Can't locate object method "SWASHNEW" via package "utf8" (perhaps you forgot to load "utf8"?) at .../ext/Compress-Zlib/Gzip/blib/lib/Compress/Zlib/Common.pm line 16. @@ -1021,6 +1021,12 @@ IO::Compress::Base - Base Class for IO::Compress modules This module is not intended for direct use in application code. Its sole purpose is to be sub-classed by IO::Compress modules. +=head1 SUPPORT + +General feedback/questions/bug reports should be sent to +L (preferred) or +L. + =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Base/Common.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Base/Common.pm index 53232898c47..87af18b6de8 100644 --- a/Master/tlpkg/tlperl/lib/IO/Compress/Base/Common.pm +++ b/Master/tlpkg/tlperl/lib/IO/Compress/Base/Common.pm @@ -11,7 +11,7 @@ use File::GlobMapper; require Exporter; our ($VERSION, @ISA, @EXPORT, %EXPORT_TAGS, $HAS_ENCODE); @ISA = qw(Exporter); -$VERSION = '2.084'; +$VERSION = '2.093'; @EXPORT = qw( isaFilehandle isaFilename isaScalar whatIsInput whatIsOutput diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Bzip2.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Bzip2.pm index 1c0d027abdc..13d3b4674df 100644 --- a/Master/tlpkg/tlperl/lib/IO/Compress/Bzip2.pm +++ b/Master/tlpkg/tlperl/lib/IO/Compress/Bzip2.pm @@ -5,16 +5,16 @@ use warnings; use bytes; require Exporter ; -use IO::Compress::Base 2.084 ; +use IO::Compress::Base 2.093 ; -use IO::Compress::Base::Common 2.084 qw(); -use IO::Compress::Adapter::Bzip2 2.084 ; +use IO::Compress::Base::Common 2.093 qw(); +use IO::Compress::Adapter::Bzip2 2.093 ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bzip2Error); -$VERSION = '2.084'; +$VERSION = '2.093'; $Bzip2Error = ''; @ISA = qw(IO::Compress::Base Exporter); @@ -51,7 +51,7 @@ sub getExtraParams { my $self = shift ; - use IO::Compress::Base::Common 2.084 qw(:Parse); + use IO::Compress::Base::Common 2.093 qw(:Parse); return ( 'blocksize100k' => [IO::Compress::Base::Common::Parse_unsigned, 1], @@ -183,7 +183,6 @@ IO::Compress::Bzip2 - Write bzip2 files/buffers binmode $z fileno $z close $z ; - =head1 DESCRIPTION @@ -210,7 +209,8 @@ The functional interface needs Perl5.005 or better. =head2 bzip2 $input_filename_or_reference => $output_filename_or_reference [, OPTS] C expects at least two parameters, -C<$input_filename_or_reference> and C<$output_filename_or_reference>. +C<$input_filename_or_reference> and C<$output_filename_or_reference> +and zero or more optional parameters (see L) =head3 The C<$input_filename_or_reference> parameter @@ -223,7 +223,7 @@ It can take one of the following forms: =item A filename -If the <$input_filename_or_reference> parameter is a simple scalar, it is +If the C<$input_filename_or_reference> parameter is a simple scalar, it is assumed to be a filename. This file will be opened for reading and the input data will be read from it. @@ -319,9 +319,9 @@ in C<$output_filename_or_reference> as a concatenated series of compressed data =head2 Optional Parameters -Unless specified below, the optional parameters for C, -C, are the same as those used with the OO interface defined in the -L section below. +The optional parameters for the one-shot function C +are (for the most part) identical to those used with the OO interface defined in the +L section. The exceptions are listed below =over 5 @@ -389,6 +389,22 @@ Defaults to 0. =head2 Examples +Here are a few example that show the capabilities of the module. + +=head3 Streaming + +This very simple command line example demonstrates the streaming capabilities of the module. +The code reads data from STDIN, compresses it, and writes the compressed data to STDOUT. + + $ echo hello world | perl -MIO::Compress::Bzip2=bzip2 -e 'bzip2 \*STDIN => \*STDOUT' >output.bz2 + +The special filename "-" can be used as a standin for both C<\*STDIN> and C<\*STDOUT>, +so the above can be rewritten as + + $ echo hello world | perl -MIO::Compress::Bzip2=bzip2 -e 'bzip2 "-" => "-"' >output.bz2 + +=head3 Compressing a file from the filesystem + To read the contents of the file C and write the compressed data to the file C. @@ -400,6 +416,8 @@ data to the file C. bzip2 $input => "$input.bz2" or die "bzip2 failed: $Bzip2Error\n"; +=head3 Reading from a Filehandle and writing to an in-memory buffer + To read from an existing Perl filehandle, C<$input>, and write the compressed data to a buffer, C<$buffer>. @@ -414,6 +432,8 @@ compressed data to a buffer, C<$buffer>. bzip2 $input => \$buffer or die "bzip2 failed: $Bzip2Error\n"; +=head3 Compressing multiple files + To compress all files in the directory "/my/home" that match "*.txt" and store the compressed data in the same directory @@ -488,7 +508,7 @@ return undef. =head2 Constructor Options -C is any combination of the following options: +C is any combination of zero or more the following options: =over 5 @@ -768,6 +788,12 @@ See L See L +=head1 SUPPORT + +General feedback/questions/bug reports should be sent to +L (preferred) or +L. + =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L @@ -778,7 +804,7 @@ L, L, L, L -The primary site for the bzip2 program is L. +The primary site for the bzip2 program is L. See the module L diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Deflate.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Deflate.pm index 1ca86c9331c..5ecac19b889 100644 --- a/Master/tlpkg/tlperl/lib/IO/Compress/Deflate.pm +++ b/Master/tlpkg/tlperl/lib/IO/Compress/Deflate.pm @@ -8,16 +8,16 @@ use bytes; require Exporter ; -use IO::Compress::RawDeflate 2.084 (); -use IO::Compress::Adapter::Deflate 2.084 ; +use IO::Compress::RawDeflate 2.093 (); +use IO::Compress::Adapter::Deflate 2.093 ; -use IO::Compress::Zlib::Constants 2.084 ; -use IO::Compress::Base::Common 2.084 qw(); +use IO::Compress::Zlib::Constants 2.093 ; +use IO::Compress::Base::Common 2.093 qw(); our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $DeflateError); -$VERSION = '2.084'; +$VERSION = '2.093'; $DeflateError = ''; @ISA = qw(IO::Compress::RawDeflate Exporter); @@ -212,7 +212,6 @@ IO::Compress::Deflate - Write RFC 1950 files/buffers binmode $z fileno $z close $z ; - =head1 DESCRIPTION @@ -239,7 +238,8 @@ The functional interface needs Perl5.005 or better. =head2 deflate $input_filename_or_reference => $output_filename_or_reference [, OPTS] C expects at least two parameters, -C<$input_filename_or_reference> and C<$output_filename_or_reference>. +C<$input_filename_or_reference> and C<$output_filename_or_reference> +and zero or more optional parameters (see L) =head3 The C<$input_filename_or_reference> parameter @@ -252,7 +252,7 @@ It can take one of the following forms: =item A filename -If the <$input_filename_or_reference> parameter is a simple scalar, it is +If the C<$input_filename_or_reference> parameter is a simple scalar, it is assumed to be a filename. This file will be opened for reading and the input data will be read from it. @@ -348,9 +348,9 @@ in C<$output_filename_or_reference> as a concatenated series of compressed data =head2 Optional Parameters -Unless specified below, the optional parameters for C, -C, are the same as those used with the OO interface defined in the -L section below. +The optional parameters for the one-shot function C +are (for the most part) identical to those used with the OO interface defined in the +L section. The exceptions are listed below =over 5 @@ -418,6 +418,22 @@ Defaults to 0. =head2 Examples +Here are a few example that show the capabilities of the module. + +=head3 Streaming + +This very simple command line example demonstrates the streaming capabilities of the module. +The code reads data from STDIN, compresses it, and writes the compressed data to STDOUT. + + $ echo hello world | perl -MIO::Compress::Deflate=deflate -e 'deflate \*STDIN => \*STDOUT' >output.1950 + +The special filename "-" can be used as a standin for both C<\*STDIN> and C<\*STDOUT>, +so the above can be rewritten as + + $ echo hello world | perl -MIO::Compress::Deflate=deflate -e 'deflate "-" => "-"' >output.1950 + +=head3 Compressing a file from the filesystem + To read the contents of the file C and write the compressed data to the file C. @@ -429,6 +445,8 @@ data to the file C. deflate $input => "$input.1950" or die "deflate failed: $DeflateError\n"; +=head3 Reading from a Filehandle and writing to an in-memory buffer + To read from an existing Perl filehandle, C<$input>, and write the compressed data to a buffer, C<$buffer>. @@ -443,6 +461,8 @@ compressed data to a buffer, C<$buffer>. deflate $input => \$buffer or die "deflate failed: $DeflateError\n"; +=head3 Compressing multiple files + To compress all files in the directory "/my/home" that match "*.txt" and store the compressed data in the same directory @@ -517,7 +537,7 @@ return undef. =head2 Constructor Options -C is any combination of the following options: +C is any combination of zero or more the following options: =over 5 @@ -892,6 +912,12 @@ See L See L +=head1 SUPPORT + +General feedback/questions/bug reports should be sent to +L (preferred) or +L. + =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/FAQ.pod b/Master/tlpkg/tlperl/lib/IO/Compress/FAQ.pod index 1e66507aa2d..697f0f3d3b0 100644 --- a/Master/tlpkg/tlperl/lib/IO/Compress/FAQ.pod +++ b/Master/tlpkg/tlperl/lib/IO/Compress/FAQ.pod @@ -656,6 +656,12 @@ One final point -- obviously C can only be used whenever you know the length of the compressed data beforehand, like here with a zip file. +=head1 SUPPORT + +General feedback/questions/bug reports should be sent to +L (preferred) or +L. + =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Gzip.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Gzip.pm index 5302011a20d..3fd13695083 100644 --- a/Master/tlpkg/tlperl/lib/IO/Compress/Gzip.pm +++ b/Master/tlpkg/tlperl/lib/IO/Compress/Gzip.pm @@ -8,12 +8,12 @@ use bytes; require Exporter ; -use IO::Compress::RawDeflate 2.084 () ; -use IO::Compress::Adapter::Deflate 2.084 ; +use IO::Compress::RawDeflate 2.093 () ; +use IO::Compress::Adapter::Deflate 2.093 ; -use IO::Compress::Base::Common 2.084 qw(:Status ); -use IO::Compress::Gzip::Constants 2.084 ; -use IO::Compress::Zlib::Extra 2.084 ; +use IO::Compress::Base::Common 2.093 qw(:Status ); +use IO::Compress::Gzip::Constants 2.093 ; +use IO::Compress::Zlib::Extra 2.093 ; BEGIN { @@ -25,7 +25,7 @@ BEGIN our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $GzipError); -$VERSION = '2.084'; +$VERSION = '2.093'; $GzipError = '' ; @ISA = qw(IO::Compress::RawDeflate Exporter); @@ -319,7 +319,6 @@ IO::Compress::Gzip - Write RFC 1952 files/buffers binmode $z fileno $z close $z ; - =head1 DESCRIPTION @@ -349,7 +348,8 @@ The functional interface needs Perl5.005 or better. =head2 gzip $input_filename_or_reference => $output_filename_or_reference [, OPTS] C expects at least two parameters, -C<$input_filename_or_reference> and C<$output_filename_or_reference>. +C<$input_filename_or_reference> and C<$output_filename_or_reference> +and zero or more optional parameters (see L) =head3 The C<$input_filename_or_reference> parameter @@ -362,7 +362,7 @@ It can take one of the following forms: =item A filename -If the <$input_filename_or_reference> parameter is a simple scalar, it is +If the C<$input_filename_or_reference> parameter is a simple scalar, it is assumed to be a filename. This file will be opened for reading and the input data will be read from it. @@ -466,9 +466,9 @@ in C<$output_filename_or_reference> as a concatenated series of compressed data =head2 Optional Parameters -Unless specified below, the optional parameters for C, -C, are the same as those used with the OO interface defined in the -L section below. +The optional parameters for the one-shot function C +are (for the most part) identical to those used with the OO interface defined in the +L section. The exceptions are listed below =over 5 @@ -536,6 +536,22 @@ Defaults to 0. =head2 Examples +Here are a few example that show the capabilities of the module. + +=head3 Streaming + +This very simple command line example demonstrates the streaming capabilities of the module. +The code reads data from STDIN, compresses it, and writes the compressed data to STDOUT. + + $ echo hello world | perl -MIO::Compress::Gzip=gzip -e 'gzip \*STDIN => \*STDOUT' >output.gz + +The special filename "-" can be used as a standin for both C<\*STDIN> and C<\*STDOUT>, +so the above can be rewritten as + + $ echo hello world | perl -MIO::Compress::Gzip=gzip -e 'gzip "-" => "-"' >output.gz + +=head3 Compressing a file from the filesystem + To read the contents of the file C and write the compressed data to the file C. @@ -547,6 +563,8 @@ data to the file C. gzip $input => "$input.gz" or die "gzip failed: $GzipError\n"; +=head3 Reading from a Filehandle and writing to an in-memory buffer + To read from an existing Perl filehandle, C<$input>, and write the compressed data to a buffer, C<$buffer>. @@ -561,6 +579,8 @@ compressed data to a buffer, C<$buffer>. gzip $input => \$buffer or die "gzip failed: $GzipError\n"; +=head3 Compressing multiple files + To compress all files in the directory "/my/home" that match "*.txt" and store the compressed data in the same directory @@ -635,7 +655,7 @@ return undef. =head2 Constructor Options -C is any combination of the following options: +C is any combination of zero or more the following options: =over 5 @@ -1204,6 +1224,12 @@ See L See L +=head1 SUPPORT + +General feedback/questions/bug reports should be sent to +L (preferred) or +L. + =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Gzip/Constants.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Gzip/Constants.pm index d1bd0c2bb2a..1d18fc4004c 100644 --- a/Master/tlpkg/tlperl/lib/IO/Compress/Gzip/Constants.pm +++ b/Master/tlpkg/tlperl/lib/IO/Compress/Gzip/Constants.pm @@ -9,7 +9,7 @@ require Exporter; our ($VERSION, @ISA, @EXPORT, %GZIP_OS_Names); our ($GZIP_FNAME_INVALID_CHAR_RE, $GZIP_FCOMMENT_INVALID_CHAR_RE); -$VERSION = '2.084'; +$VERSION = '2.093'; @ISA = qw(Exporter); diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm b/Master/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm index b2f38ff4021..c833f5e98b0 100644 --- a/Master/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm +++ b/Master/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm @@ -6,15 +6,15 @@ use strict ; use warnings; use bytes; -use IO::Compress::Base 2.084 ; -use IO::Compress::Base::Common 2.084 qw(:Status ); -use IO::Compress::Adapter::Deflate 2.084 ; +use IO::Compress::Base 2.093 ; +use IO::Compress::Base::Common 2.093 qw(:Status ); +use IO::Compress::Adapter::Deflate 2.093 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %DEFLATE_CONSTANTS, %EXPORT_TAGS, $RawDeflateError); -$VERSION = '2.084'; +$VERSION = '2.093'; $RawDeflateError = ''; @ISA = qw(IO::Compress::Base Exporter); @@ -116,8 +116,8 @@ sub getExtraParams return getZlibParams(); } -use IO::Compress::Base::Common 2.084 qw(:Parse); -use Compress::Raw::Zlib 2.084 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY); +use IO::Compress::Base::Common 2.093 qw(:Parse); +use Compress::Raw::Zlib 2.093 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY); our %PARAMS = ( #'method' => [IO::Compress::Base::Common::Parse_unsigned, Z_DEFLATED], 'level' => [IO::Compress::Base::Common::Parse_signed, Z_DEFAULT_COMPRESSION], @@ -265,7 +265,6 @@ IO::Compress::RawDeflate - Write RFC 1951 files/buffers binmode $z fileno $z close $z ; - =head1 DESCRIPTION @@ -295,7 +294,8 @@ The functional interface needs Perl5.005 or better. =head2 rawdeflate $input_filename_or_reference => $output_filename_or_reference [, OPTS] C expects at least two parameters, -C<$input_filename_or_reference> and C<$output_filename_or_reference>. +C<$input_filename_or_reference> and C<$output_filename_or_reference> +and zero or more optional parameters (see L) =head3 The C<$input_filename_or_reference> parameter @@ -308,7 +308,7 @@ It can take one of the following forms: =item A filename -If the <$input_filename_or_reference> parameter is a simple scalar, it is +If the C<$input_filename_or_reference> parameter is a simple scalar, it is assumed to be a filename. This file will be opened for reading and the input data will be read from it. @@ -404,9 +404,9 @@ in C<$output_filename_or_reference> as a concatenated series of compressed data =head2 Optional Parameters -Unless specified below, the optional parameters for C, -C, are the same as those used with the OO interface defined in the -L section below. +The optional parameters for the one-shot function C +are (for the most part) identical to those used with the OO interface defined in the +L section. The exceptions are listed below =over 5 @@ -474,6 +474,22 @@ Defaults to 0. =head2 Examples +Here are a few example that show the capabilities of the module. + +=head3 Streaming + +This very simple command line example demonstrates the streaming capabilities of the module. +The code reads data from STDIN, compresses it, and writes the compressed data to STDOUT. + + $ echo hello world | perl -MIO::Compress::RawDeflate=rawdeflate -e 'rawdeflate \*STDIN => \*STDOUT' >output.1951 + +The special filename "-" can be used as a standin for both C<\*STDIN> and C<\*STDOUT>, +so the above can be rewritten as + + $ echo hello world | perl -MIO::Compress::RawDeflate=rawdeflate -e 'rawdeflate "-" => "-"' >output.1951 + +=head3 Compressing a file from the filesystem + To read the contents of the file C and write the compressed data to the file C. @@ -485,6 +501,8 @@ data to the file C. rawdeflate $input => "$input.1951" or die "rawdeflate failed: $RawDeflateError\n"; +=head3 Reading from a Filehandle and writing to an in-memory buffer + To read from an existing Perl filehandle, C<$input>, and write the compressed data to a buffer, C<$buffer>. @@ -499,6 +517,8 @@ compressed data to a buffer, C<$buffer>. rawdeflate $input => \$buffer or die "rawdeflate failed: $RawDeflateError\n"; +=head3 Compressing multiple files + To compress all files in the directory "/my/home" that match "*.txt" and store the compressed data in the same directory @@ -573,7 +593,7 @@ return undef. =head2 Constructor Options -C is any combination of the following options: +C is any combination of zero or more the following options: =over 5 @@ -948,6 +968,12 @@ See L See L +=head1 SUPPORT + +General feedback/questions/bug reports should be sent to +L (preferred) or +L. + =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Zip.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Zip.pm index eabeef63e76..70b98b80d6e 100644 --- a/Master/tlpkg/tlperl/lib/IO/Compress/Zip.pm +++ b/Master/tlpkg/tlperl/lib/IO/Compress/Zip.pm @@ -4,30 +4,30 @@ use strict ; use warnings; use bytes; -use IO::Compress::Base::Common 2.084 qw(:Status ); -use IO::Compress::RawDeflate 2.084 (); -use IO::Compress::Adapter::Deflate 2.084 ; -use IO::Compress::Adapter::Identity 2.084 ; -use IO::Compress::Zlib::Extra 2.084 ; -use IO::Compress::Zip::Constants 2.084 ; +use IO::Compress::Base::Common 2.093 qw(:Status ); +use IO::Compress::RawDeflate 2.093 (); +use IO::Compress::Adapter::Deflate 2.093 ; +use IO::Compress::Adapter::Identity 2.093 ; +use IO::Compress::Zlib::Extra 2.093 ; +use IO::Compress::Zip::Constants 2.093 ; use File::Spec(); use Config; -use Compress::Raw::Zlib 2.084 (); +use Compress::Raw::Zlib 2.093 (); BEGIN { eval { require IO::Compress::Adapter::Bzip2 ; - import IO::Compress::Adapter::Bzip2 2.084 ; + import IO::Compress::Adapter::Bzip2 2.093 ; require IO::Compress::Bzip2 ; - import IO::Compress::Bzip2 2.084 ; + import IO::Compress::Bzip2 2.093 ; } ; eval { require IO::Compress::Adapter::Lzma ; - import IO::Compress::Adapter::Lzma 2.084 ; + import IO::Compress::Adapter::Lzma 2.093 ; require IO::Compress::Lzma ; - import IO::Compress::Lzma 2.084 ; + import IO::Compress::Lzma 2.093 ; } ; } @@ -36,7 +36,7 @@ require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $ZipError); -$VERSION = '2.084'; +$VERSION = '2.093'; $ZipError = ''; @ISA = qw(IO::Compress::RawDeflate Exporter); @@ -246,13 +246,17 @@ sub mkHeader &{ *$self->{ZipData}{FilterName} }() ; } -# if ( $param->getValue('utf8') ) { -# require Encode ; -# $filename = Encode::encode_utf8($filename) -# if length $filename ; -# $comment = Encode::encode_utf8($comment) -# if length $comment ; -# } + if ( $param->getValue('efs') && $] >= 5.008004) { + if (length $filename) { + utf8::downgrade($filename, 1) + or Carp::croak "Wide character in zip filename"; + } + + if (length $comment) { + utf8::downgrade($comment, 1) + or Carp::croak "Wide character in zip comment"; + } + } my $hdr = ''; @@ -325,8 +329,8 @@ sub mkHeader $gpFlag |= ZIP_GP_FLAG_LZMA_EOS_PRESENT if $method == ZIP_CM_LZMA ; -# $gpFlag |= ZIP_GP_FLAG_LANGUAGE_ENCODING -# if $param->getValue('utf8') && (length($filename) || length($comment)); + $gpFlag |= ZIP_GP_FLAG_LANGUAGE_ENCODING + if $param->getValue('efs') && (length($filename) || length($comment)); my $version = $ZIP_CM_MIN_VERSIONS{$method}; $version = ZIP64_MIN_VERSION @@ -682,7 +686,7 @@ our %PARAMS = ( 'name' => [IO::Compress::Base::Common::Parse_any, ''], 'filtername'=> [IO::Compress::Base::Common::Parse_code, undef], 'canonicalname'=> [IO::Compress::Base::Common::Parse_boolean, 0], -# 'utf8' => [IO::Compress::Base::Common::Parse_boolean, 0], + 'efs' => [IO::Compress::Base::Common::Parse_boolean, 0], 'time' => [IO::Compress::Base::Common::Parse_any, undef], 'extime' => [IO::Compress::Base::Common::Parse_any, undef], 'exunix2' => [IO::Compress::Base::Common::Parse_any, undef], @@ -905,7 +909,6 @@ IO::Compress::Zip - Write zip files/buffers binmode $z fileno $z close $z ; - =head1 DESCRIPTION @@ -916,14 +919,18 @@ The primary purpose of this module is to provide streaming write access to zip files and buffers. It is not a general-purpose file archiver. If that is what you want, check out C or C. -At present three compression methods are supported by IO::Compress::Zip, +At present the following compression methods are supported by IO::Compress::Zip, namely Store (no compression at all), Deflate, Bzip2 and LZMA. -Note that to create Bzip2 content, the module C must -be installed. +B + +=over 5 + +=item * To use Bzip2 compression, the module C must be installed. -Note that to create LZMA content, the module C must -be installed. +=item * To use LZMA compression, the module C must be installed. + +=back For reading zip files/buffers, see the companion module L. @@ -945,7 +952,8 @@ The functional interface needs Perl5.005 or better. =head2 zip $input_filename_or_reference => $output_filename_or_reference [, OPTS] C expects at least two parameters, -C<$input_filename_or_reference> and C<$output_filename_or_reference>. +C<$input_filename_or_reference> and C<$output_filename_or_reference> +and zero or more optional parameters (see L) =head3 The C<$input_filename_or_reference> parameter @@ -958,7 +966,7 @@ It can take one of the following forms: =item A filename -If the <$input_filename_or_reference> parameter is a simple scalar, it is +If the C<$input_filename_or_reference> parameter is a simple scalar, it is assumed to be a filename. This file will be opened for reading and the input data will be read from it. @@ -1062,9 +1070,9 @@ in C<$output_filename_or_reference> as a distinct entry. =head2 Optional Parameters -Unless specified below, the optional parameters for C, -C, are the same as those used with the OO interface defined in the -L section below. +The optional parameters for the one-shot function C +are (for the most part) identical to those used with the OO interface defined in the +L section. The exceptions are listed below =over 5 @@ -1132,6 +1140,50 @@ Defaults to 0. =head2 Examples +Here are a few example that show the capabilities of the module. + +=head3 Streaming + +This very simple command line example demonstrates the streaming capabilities of the module. +The code reads data from STDIN, compresses it, and writes the compressed data to STDOUT. + + $ echo hello world | perl -MIO::Compress::Zip=zip -e 'zip \*STDIN => \*STDOUT' >output.zip + +The special filename "-" can be used as a standin for both C<\*STDIN> and C<\*STDOUT>, +so the above can be rewritten as + + $ echo hello world | perl -MIO::Compress::Zip=zip -e 'zip "-" => "-"' >output.zip + +One problem with creating a zip archive directly from STDIN can be demonstrated by looking at +the contents of the zip file, output.zip, that we have just created. + + $ unzip -l output.zip + Archive: output.zip + Length Date Time Name + --------- ---------- ----- ---- + 12 2019-08-16 22:21 + --------- ------- + 12 1 file + +The archive member (filename) used is the empty string. + +If that doesn't suit your needs, you can explicitly set the filename used +in the zip archive by specifying the L option, like so + + echo hello world | perl -MIO::Compress::Zip=zip -e 'zip "-" => "-", Name => "hello.txt"' >output.zip + +Now the contents of the zip file looks like this + + $ unzip -l output.zip + Archive: output.zip + Length Date Time Name + --------- ---------- ----- ---- + 12 2019-08-16 22:22 hello.txt + --------- ------- + 12 1 file + +=head3 Compressing a file from the filesystem + To read the contents of the file C and write the compressed data to the file C. @@ -1143,6 +1195,8 @@ data to the file C. zip $input => "$input.zip" or die "zip failed: $ZipError\n"; +=head3 Reading from a Filehandle and writing to an in-memory buffer + To read from an existing Perl filehandle, C<$input>, and write the compressed data to a buffer, C<$buffer>. @@ -1157,6 +1211,8 @@ compressed data to a buffer, C<$buffer>. zip $input => \$buffer or die "zip failed: $ZipError\n"; +=head3 Compressing multiple files + To create a zip file, C, that contains the compressed contents of the files C and C @@ -1235,7 +1291,7 @@ return undef. =head2 Constructor Options -C is any combination of the following options: +C is any combination of zero or more the following options: =over 5 @@ -1278,22 +1334,52 @@ to it. Otherwise the file pointer will not be moved. This parameter defaults to 0. +=back + +=head3 File Naming Options + +A quick bit of zip file terminology -- A zip archive consists of one or more I, where each member has an associated +filename, known as the I. + +The options listed in this section control how the I (or filename) is stored the zip archive. + +=over 5 + =item C<< Name => $string >> -Stores the contents of C<$string> in the zip filename header field. +This option is used to explicitly set the I in +the zip archive to C<$string>. +Most of the time you don't need to make use of this option. +By default when adding a filename to the zip archive, the I will match the filename. + +You should only need to use this option if you want the I +to be different from the uncompressed filename or when the input is a filehandle or a buffer. -If C is not specified and the C<$input> parameter is a filename, the -value of C<$input> will be used for the zip filename header field. +The default behaviour for what I is used when the C option +is I specified depends on the form of the C<$input> parameter: + +=over 5 -If C is not specified and the C<$input> parameter is not a filename, -no zip filename field will be created. +=item * + +If the C<$input> parameter is a filename, the +value of C<$input> will be used for the I . + +=item * +If the C<$input> parameter is not a filename, +the I will be an empty string. + +=back Note that both the C and C options -can modify the value used for the zip filename header field. +can modify the value used for the I. + +Also note that you should set the C option to true if you are working +with UTF8 filenames. =item C<< CanonicalName => 0|1 >> -This option controls whether the filename field in the zip header is +This option controls whether the I is I into Unix format before being written to the zip file. It is recommended that you enable this option unless you really need @@ -1313,15 +1399,14 @@ This option defaults to B. =item C<< FilterName => sub { ... } >> -This option allow the filename field in the zip header to be modified +This option allow the I name to be modified before it is written to the zip file. This option takes a parameter that must be a reference to a sub. On entry to the sub the C<$_> variable will contain the name to be filtered. If no filename is available C<$_> will contain an empty string. -The value of C<$_> when the sub returns will be stored in the filename -header field. +The value of C<$_> when the sub returns will be used as the I. Note that if C is enabled, a normalized filename will be passed to the sub. @@ -1343,6 +1428,167 @@ filenames before they are stored in C<$zipfile>. FilterName => sub { s[^$dir/][] } ; } +=item C<< Efs => 0|1 >> + +This option controls setting of the "Language Encoding Flag" (EFS) in the zip +archive. When set, the filename and comment fields for the zip archive MUST +be valid UTF-8. + +If the string used for the filename and/or comment is not valid UTF-8 when this option +is true, the script will die with a "wide character" error. + +Note that this option only works with Perl 5.8.4 or better. + +This option defaults to B. + +=back + +=head3 Overall Zip Archive Structure + +=over 5 + +=item C<< Minimal => 1|0 >> + +If specified, this option will disable the creation of all extra fields +in the zip local and central headers. So the C, C, +C, C and C options will +be ignored. + +This parameter defaults to 0. + +=item C<< Stream => 0|1 >> + +This option controls whether the zip file/buffer output is created in +streaming mode. + +Note that when outputting to a file with streaming mode disabled (C +is 0), the output file must be seekable. + +The default is 1. + +=item C<< Zip64 => 0|1 >> + +Create a Zip64 zip file/buffer. This option is used if you want +to store files larger than 4 Gig or store more than 64K files in a single +zip archive. + +C will be automatically set, as needed, if working with the one-shot +interface when the input is either a filename or a scalar reference. + +If you intend to manipulate the Zip64 zip files created with this module +using an external zip/unzip, make sure that it supports Zip64. + +In particular, if you are using Info-Zip you need to have zip version 3.x +or better to update a Zip64 archive and unzip version 6.x to read a zip64 +archive. + +The default is 0. + +=back + +=head3 Deflate Compression Options + +=over 5 + +=item -Level + +Defines the compression level used by zlib. The value should either be +a number between 0 and 9 (0 means no compression and 9 is maximum +compression), or one of the symbolic constants defined below. + + Z_NO_COMPRESSION + Z_BEST_SPEED + Z_BEST_COMPRESSION + Z_DEFAULT_COMPRESSION + +The default is Z_DEFAULT_COMPRESSION. + +Note, these constants are not imported by C by default. + + use IO::Compress::Zip qw(:strategy); + use IO::Compress::Zip qw(:constants); + use IO::Compress::Zip qw(:all); + +=item -Strategy + +Defines the strategy used to tune the compression. Use one of the symbolic +constants defined below. + + Z_FILTERED + Z_HUFFMAN_ONLY + Z_RLE + Z_FIXED + Z_DEFAULT_STRATEGY + +The default is Z_DEFAULT_STRATEGY. + +=back + +=head3 Bzip2 Compression Options + +=over 5 + +=item C<< BlockSize100K => number >> + +Specify the number of 100K blocks bzip2 uses during compression. + +Valid values are from 1 to 9, where 9 is best compression. + +This option is only valid if the C is ZIP_CM_BZIP2. It is ignored +otherwise. + +The default is 1. + +=item C<< WorkFactor => number >> + +Specifies how much effort bzip2 should take before resorting to a slower +fallback compression algorithm. + +Valid values range from 0 to 250, where 0 means use the default value 30. + +This option is only valid if the C is ZIP_CM_BZIP2. It is ignored +otherwise. + +The default is 0. + +=back + +=head3 Lzma Compression Options + +=over 5 + +=item C<< Preset => number >> + +Used to choose the LZMA compression preset. + +Valid values are 0-9 and C. + +0 is the fastest compression with the lowest memory usage and the lowest +compression. + +9 is the slowest compression with the highest memory usage but with the best +compression. + +This option is only valid if the C is ZIP_CM_LZMA. It is ignored +otherwise. + +Defaults to C (6). + +=item C<< Extreme => 0|1 >> + +Makes LZMA compression a lot slower, but a small compression gain. + +This option is only valid if the C is ZIP_CM_LZMA. It is ignored +otherwise. + +Defaults to 0. + +=back + +=head3 Other Options + +=over 5 + =item C<< Time => $number >> Sets the last modified time field in the zip header to $number. @@ -1424,6 +1670,8 @@ By default no UnixN extra field is created. Stores the contents of C<$comment> in the Central File Header of the zip file. +Set the C option to true if you want to store a UTF8 comment. + By default, no comment field is written to the zip file. =item C<< ZipComment => $comment >> @@ -1458,34 +1706,6 @@ content when C is not available. The default method is ZIP_CM_DEFLATE. -=item C<< Stream => 0|1 >> - -This option controls whether the zip file/buffer output is created in -streaming mode. - -Note that when outputting to a file with streaming mode disabled (C -is 0), the output file must be seekable. - -The default is 1. - -=item C<< Zip64 => 0|1 >> - -Create a Zip64 zip file/buffer. This option is used if you want -to store files larger than 4 Gig or store more than 64K files in a single -zip archive. - -C will be automatically set, as needed, if working with the one-shot -interface when the input is either a filename or a scalar reference. - -If you intend to manipulate the Zip64 zip files created with this module -using an external zip/unzip, make sure that it supports Zip64. - -In particular, if you are using Info-Zip you need to have zip version 3.x -or better to update a Zip64 archive and unzip version 6.x to read a zip64 -archive. - -The default is 0. - =item C<< TextFlag => 0|1 >> This parameter controls the setting of a bit in the zip central header. It @@ -1546,96 +1766,6 @@ If the C option is set to true, this option will be ignored. The maximum size of an extra field 65535 bytes. -=item C<< Minimal => 1|0 >> - -If specified, this option will disable the creation of all extra fields -in the zip local and central headers. So the C, C, -C, C and C options will -be ignored. - -This parameter defaults to 0. - -=item C<< BlockSize100K => number >> - -Specify the number of 100K blocks bzip2 uses during compression. - -Valid values are from 1 to 9, where 9 is best compression. - -This option is only valid if the C is ZIP_CM_BZIP2. It is ignored -otherwise. - -The default is 1. - -=item C<< WorkFactor => number >> - -Specifies how much effort bzip2 should take before resorting to a slower -fallback compression algorithm. - -Valid values range from 0 to 250, where 0 means use the default value 30. - -This option is only valid if the C is ZIP_CM_BZIP2. It is ignored -otherwise. - -The default is 0. - -=item C<< Preset => number >> - -Used to choose the LZMA compression preset. - -Valid values are 0-9 and C. - -0 is the fastest compression with the lowest memory usage and the lowest -compression. - -9 is the slowest compression with the highest memory usage but with the best -compression. - -This option is only valid if the C is ZIP_CM_LZMA. It is ignored -otherwise. - -Defaults to C (6). - -=item C<< Extreme => 0|1 >> - -Makes LZMA compression a lot slower, but a small compression gain. - -This option is only valid if the C is ZIP_CM_LZMA. It is ignored -otherwise. - -Defaults to 0. - -=item -Level - -Defines the compression level used by zlib. The value should either be -a number between 0 and 9 (0 means no compression and 9 is maximum -compression), or one of the symbolic constants defined below. - - Z_NO_COMPRESSION - Z_BEST_SPEED - Z_BEST_COMPRESSION - Z_DEFAULT_COMPRESSION - -The default is Z_DEFAULT_COMPRESSION. - -Note, these constants are not imported by C by default. - - use IO::Compress::Zip qw(:strategy); - use IO::Compress::Zip qw(:constants); - use IO::Compress::Zip qw(:all); - -=item -Strategy - -Defines the strategy used to tune the compression. Use one of the symbolic -constants defined below. - - Z_FILTERED - Z_HUFFMAN_ONLY - Z_RLE - Z_FIXED - Z_DEFAULT_STRATEGY - -The default is Z_DEFAULT_STRATEGY. - =item C<< Strict => 0|1 >> This is a placeholder option. @@ -1918,6 +2048,12 @@ See L See L +=head1 SUPPORT + +General feedback/questions/bug reports should be sent to +L (preferred) or +L. + =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Zip/Constants.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Zip/Constants.pm index d28a6ae6861..edae0c29d27 100644 --- a/Master/tlpkg/tlperl/lib/IO/Compress/Zip/Constants.pm +++ b/Master/tlpkg/tlperl/lib/IO/Compress/Zip/Constants.pm @@ -7,7 +7,7 @@ require Exporter; our ($VERSION, @ISA, @EXPORT, %ZIP_CM_MIN_VERSIONS); -$VERSION = '2.084'; +$VERSION = '2.093'; @ISA = qw(Exporter); diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Constants.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Constants.pm index d0d053be95d..c2fecba974f 100644 --- a/Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Constants.pm +++ b/Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Constants.pm @@ -9,7 +9,7 @@ require Exporter; our ($VERSION, @ISA, @EXPORT); -$VERSION = '2.084'; +$VERSION = '2.093'; @ISA = qw(Exporter); diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Extra.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Extra.pm index a88adba273d..6e13d4fb2f1 100644 --- a/Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Extra.pm +++ b/Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Extra.pm @@ -8,9 +8,9 @@ use bytes; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS); -$VERSION = '2.084'; +$VERSION = '2.093'; -use IO::Compress::Gzip::Constants 2.084 ; +use IO::Compress::Gzip::Constants 2.093 ; sub ExtraFieldError { diff --git a/Master/tlpkg/tlperl/lib/IO/Dir.pm b/Master/tlpkg/tlperl/lib/IO/Dir.pm index e381880b449..3a14ca8983b 100644 --- a/Master/tlpkg/tlperl/lib/IO/Dir.pm +++ b/Master/tlpkg/tlperl/lib/IO/Dir.pm @@ -18,7 +18,7 @@ use File::stat; use File::Spec; our @ISA = qw(Tie::Hash Exporter); -our $VERSION = "1.40"; +our $VERSION = "1.41"; our @EXPORT_OK = qw(DIR_UNLINK); diff --git a/Master/tlpkg/tlperl/lib/IO/File.pm b/Master/tlpkg/tlperl/lib/IO/File.pm index 137ba540295..cf51d9bf636 100644 --- a/Master/tlpkg/tlperl/lib/IO/File.pm +++ b/Master/tlpkg/tlperl/lib/IO/File.pm @@ -135,7 +135,7 @@ require Exporter; our @ISA = qw(IO::Handle IO::Seekable Exporter); -our $VERSION = "1.40"; +our $VERSION = "1.41"; our @EXPORT = @IO::Seekable::EXPORT; diff --git a/Master/tlpkg/tlperl/lib/IO/Handle.pm b/Master/tlpkg/tlperl/lib/IO/Handle.pm index a2570246452..45b6d4f5200 100644 --- a/Master/tlpkg/tlperl/lib/IO/Handle.pm +++ b/Master/tlpkg/tlperl/lib/IO/Handle.pm @@ -270,7 +270,7 @@ use IO (); # Load the XS module require Exporter; our @ISA = qw(Exporter); -our $VERSION = "1.40"; +our $VERSION = "1.42"; our @EXPORT_OK = qw( autoflush @@ -431,26 +431,6 @@ sub say { print $this @_; } -# Special XS wrapper to make them inherit lexical hints from the caller. -_create_getline_subs( <<'END' ) or die $@; -sub getline { - @_ == 1 or croak 'usage: $io->getline()'; - my $this = shift; - return scalar <$this>; -} - -sub getlines { - @_ == 1 or croak 'usage: $io->getlines()'; - wantarray or - croak 'Can\'t call $io->getlines in a scalar context, use $io->getline'; - my $this = shift; - return <$this>; -} -1; # return true for error checking -END - -*gets = \&getline; # deprecated - sub truncate { @_ == 2 or croak 'usage: $io->truncate(LEN)'; truncate($_[0], $_[1]); diff --git a/Master/tlpkg/tlperl/lib/IO/Pipe.pm b/Master/tlpkg/tlperl/lib/IO/Pipe.pm index e314c88d0e8..c3ceb862336 100644 --- a/Master/tlpkg/tlperl/lib/IO/Pipe.pm +++ b/Master/tlpkg/tlperl/lib/IO/Pipe.pm @@ -13,7 +13,7 @@ use strict; use Carp; use Symbol; -our $VERSION = "1.40"; +our $VERSION = "1.41"; sub new { my $type = shift; diff --git a/Master/tlpkg/tlperl/lib/IO/Poll.pm b/Master/tlpkg/tlperl/lib/IO/Poll.pm index 7aa1fb75148..3fe0179626f 100644 --- a/Master/tlpkg/tlperl/lib/IO/Poll.pm +++ b/Master/tlpkg/tlperl/lib/IO/Poll.pm @@ -12,7 +12,7 @@ use IO::Handle; use Exporter (); our @ISA = qw(Exporter); -our $VERSION = "1.40"; +our $VERSION = "1.41"; our @EXPORT = qw( POLLIN POLLOUT diff --git a/Master/tlpkg/tlperl/lib/IO/Seekable.pm b/Master/tlpkg/tlperl/lib/IO/Seekable.pm index 48f6dbeaf85..2370dcb89a0 100644 --- a/Master/tlpkg/tlperl/lib/IO/Seekable.pm +++ b/Master/tlpkg/tlperl/lib/IO/Seekable.pm @@ -106,7 +106,7 @@ require Exporter; our @EXPORT = qw(SEEK_SET SEEK_CUR SEEK_END); our @ISA = qw(Exporter); -our $VERSION = "1.40"; +our $VERSION = "1.41"; sub seek { @_ == 3 or croak 'usage: $io->seek(POS, WHENCE)'; diff --git a/Master/tlpkg/tlperl/lib/IO/Select.pm b/Master/tlpkg/tlperl/lib/IO/Select.pm index 7d68feb7ab6..35a47ccbe05 100644 --- a/Master/tlpkg/tlperl/lib/IO/Select.pm +++ b/Master/tlpkg/tlperl/lib/IO/Select.pm @@ -10,7 +10,7 @@ use strict; use warnings::register; require Exporter; -our $VERSION = "1.40"; +our $VERSION = "1.42"; our @ISA = qw(Exporter); # This is only so we can do version checking @@ -57,7 +57,21 @@ sub _fileno my($self, $f) = @_; return unless defined $f; $f = $f->[0] if ref($f) eq 'ARRAY'; - ($f =~ /^\d+$/) ? $f : fileno($f); + if($f =~ /^[0-9]+$/) { # plain file number + return $f; + } + elsif(defined(my $fd = fileno($f))) { + return $fd; + } + else { + # Neither a plain file number nor an opened filehandle; but maybe it was + # previously registered and has since been closed. ->remove still wants to + # know what fileno it had + foreach my $i ( FIRST_FD .. $#$self ) { + return $i - FIRST_FD if $self->[$i] == $f; + } + return undef; + } } sub _update diff --git a/Master/tlpkg/tlperl/lib/IO/Socket.pm b/Master/tlpkg/tlperl/lib/IO/Socket.pm index 1bf57ab826b..f10ac375328 100644 --- a/Master/tlpkg/tlperl/lib/IO/Socket.pm +++ b/Master/tlpkg/tlperl/lib/IO/Socket.pm @@ -23,7 +23,7 @@ require IO::Socket::UNIX if ($^O ne 'epoc' && $^O ne 'symbian'); our @ISA = qw(IO::Handle); -our $VERSION = "1.40"; +our $VERSION = "1.43"; our @EXPORT_OK = qw(sockatmark); @@ -82,7 +82,12 @@ sub socket { ${*$sock}{'io_socket_domain'} = $domain; ${*$sock}{'io_socket_type'} = $type; - ${*$sock}{'io_socket_proto'} = $protocol; + + # "A value of 0 for protocol will let the system select an + # appropriate protocol" + # so we need to look up what the system selected, + # not cache PF_UNSPEC. + ${*$sock}{'io_socket_proto'} = $protocol if $protocol; $sock; } @@ -179,25 +184,25 @@ sub blocking { # # which is used to set blocking behaviour. - # NOTE: + # NOTE: # This is a little confusing, the perl keyword for this is # 'blocking' but the OS level behaviour is 'non-blocking', probably # because sockets are blocking by default. # Therefore internally we have to reverse the semantics. my $orig= !${*$sock}{io_sock_nonblocking}; - + return $orig unless @_; my $block = shift; - + if ( !$block != !$orig ) { ${*$sock}{io_sock_nonblocking} = $block ? 0 : 1; ioctl($sock, 0x8004667e, pack("L!",${*$sock}{io_sock_nonblocking})) or return undef; } - - return $orig; + + return $orig; } @@ -277,14 +282,24 @@ sub send { @_ >= 2 && @_ <= 4 or croak 'usage: $sock->send(BUF, [FLAGS, [TO]])'; my $sock = $_[0]; my $flags = $_[2] || 0; - my $peer = $_[3] || $sock->peername; + my $peer; - croak 'send: Cannot determine peer address' - unless(defined $peer); + if ($_[3]) { + # the caller explicitly requested a TO, so use it + # this is non-portable for "connected" UDP sockets + $peer = $_[3]; + } + elsif (!defined getpeername($sock)) { + # we're not connected, so we require a peer from somewhere + $peer = $sock->peername; + + croak 'send: Cannot determine peer address' + unless(defined $peer); + } - my $r = defined(getpeername($sock)) - ? send($sock, $_[1], $flags) - : send($sock, $_[1], $flags, $peer); + my $r = $peer + ? send($sock, $_[1], $flags, $peer) + : send($sock, $_[1], $flags); # remember who we send to, if it was successful ${*$sock}{'io_socket_peername'} = $peer @@ -386,185 +401,504 @@ IO::Socket - Object interface to socket communications =head1 SYNOPSIS - use IO::Socket; + use strict; + use warnings; + + use IO::Socket qw(AF_INET AF_UNIX); + + # create a new AF_INET socket + my $sock = IO::Socket->new(Domain => AF_INET); + # which is the same as + $sock = IO::Socket::INET->new(); + + # create a new AF_UNIX socket + $sock = IO::Socket->new(Domain => AF_UNIX); + # which is the same as + $sock = IO::Socket::UNIX->new(); =head1 DESCRIPTION -C provides an object interface to creating and using sockets. It -is built upon the L interface and inherits all the methods defined -by L. +C provides an object-oriented, L-based interface to +creating and using sockets via L, which provides a near one-to-one +interface to the C socket library. -C only defines methods for those operations which are common to all -types of socket. Operations which are specified to a socket in a particular -domain have methods defined in sub classes of C +C is a base class that really only defines methods for those +operations which are common to all types of sockets. Operations which are +specific to a particular socket domain have methods defined in subclasses of +C. See L, L, and +L for examples of such a subclass. C will export all functions (and constants) defined by L. -=head1 CONSTRUCTOR +=head1 CONSTRUCTOR ARGUMENTS -=over 4 +Given that C doesn't have attributes in the traditional sense, the +following arguments, rather than attributes, can be passed into the +constructor. -=item new ( [ARGS] ) +Constructor arguments should be passed in C<< Key => 'Value' >> pairs. -Creates an C, which is a reference to a -newly created symbol (see the C package). C -optionally takes arguments, these arguments are in key-value pairs. -C only looks for one key C which tells new which domain -the socket will be in. All other arguments will be passed to the -configuration method of the package for that domain, See below. +The only required argument is L. -B +=head2 Blocking -As of VERSION 1.18 all IO::Socket objects have autoflush turned on -by default. This was not the case with earlier releases. + my $sock = IO::Socket->new(..., Blocking => 1); + $sock = IO::Socket->new(..., Blocking => 0); -B +If defined but false, the socket will be set to non-blocking mode. If not +specified it defaults to C<1> (blocking mode). -=back +=head2 Domain -=head1 METHODS + my $sock = IO::Socket->new(Domain => IO::Socket::AF_INET); + $sock = IO::Socket->new(Domain => IO::Socket::AF_UNIX); -See L for complete descriptions of each of the following -supported C methods, which are just front ends for the -corresponding built-in functions: +The socket domain will define which subclass of C to use. The two +options available along with this distribution are C and C. - socket - socketpair - bind - listen - accept - send - recv - peername (getpeername) - sockname (getsockname) - shutdown +C is for the internet address family of sockets and is handled via +L. C sockets are bound to an internet address and +port. -Some methods take slightly different arguments to those defined in L -in attempt to make the interface more flexible. These are +C is for the unix domain socket and is handled via +L. C sockets are bound to the file system as their +address name space. -=over 4 +This argument is B. All other arguments are optional. -=item accept([PKG]) +=head2 Listen -perform the system call C on the socket and return a new -object. The new object will be created in the same class as the listen -socket, unless C is specified. This object can be used to -communicate with the client that was trying to connect. + my $sock = IO::Socket->new(..., Listen => 5); -In a scalar context the new socket is returned, or undef upon -failure. In a list context a two-element array is returned containing -the new socket and the peer address; the list will be empty upon -failure. +Listen should be an integer value or left unset. + +If provided, this argument will place the socket into listening mode. New +connections can then be accepted using the L method. The +value given is used as the C queue size. + +If the C argument is given, but false, the queue size will be set to +5. + +=head2 Timeout + + my $sock = IO::Socket->new(..., Timeout => 5); + +The timeout value, in seconds, for this socket connection. How exactly this +value is utilized is defined in the socket domain subclasses that make use of +the value. + +=head2 Type + + my $sock = IO::Socket->new(..., Type => IO::Socket::SOCK_STREAM); + +The socket type that will be used. These are usually C, +C, or C. If this argument is left undefined an attempt +will be made to infer the type from the service name. + +For example, you'll usually use C with a C connection and +C with a C connection. + +=head1 CONSTRUCTORS + +C extends the L constructor. + +=head2 new + + my $sock = IO::Socket->new(); + + # get a new IO::Socket::INET instance + $sock = IO::Socket->new(Domain => IO::Socket::AF_INET); + # get a new IO::Socket::UNIX instance + $sock = IO::Socket->new(Domain => IO::Socket::AF_UNIX); -The timeout in the [PKG] can be specified as zero to effect a "poll", -but you shouldn't do that because a new IO::Select object will be -created behind the scenes just to do the single poll. This is -horrendously inefficient. Use rather true select() with a zero -timeout on the handle, or non-blocking IO. + # Domain is the only required argument + $sock = IO::Socket->new( + Domain => IO::Socket::AF_INET, # AF_INET, AF_UNIX + Type => IO::Socket::SOCK_STREAM, # SOCK_STREAM, SOCK_DGRAM, ... + Proto => 'tcp', # 'tcp', 'udp', IPPROTO_TCP, IPPROTO_UDP + # and so on... + ); -=item socketpair(DOMAIN, TYPE, PROTOCOL) +Creates an C, which is a reference to a newly created symbol (see +the L package). C optionally takes arguments, these arguments +are defined in L. -Call C and return a list of two sockets created, or an -empty list on failure. +Any of the L may be passed to the +constructor, but if any arguments are provided, then one of them must be +the L argument. The L argument can, +by default, be either C or C. Other domains can be used if a +proper subclass for the domain family is registered. All other arguments will +be passed to the C method of the package for that domain. -=back +=head1 METHODS + +C inherits all methods from L and implements the +following new ones. -Additional methods that are provided are: +=head2 accept -=over 4 + my $client_sock = $sock->accept(); + my $inet_sock = $sock->accept('IO::Socket::INET'); -=item atmark +The accept method will perform the system call C on the socket and +return a new object. The new object will be created in the same class as the +listen socket, unless a specific package name is specified. This object can be +used to communicate with the client that was trying to connect. -True if the socket is currently positioned at the urgent data mark, -false otherwise. +This differs slightly from the C function in L. + +In a scalar context the new socket is returned, or C upon +failure. In a list context a two-element array is returned containing +the new socket and the peer address; the list will be empty upon failure. - use IO::Socket; +=head2 atmark - my $sock = IO::Socket::INET->new('some_server'); + my $integer = $sock->atmark(); + # read in some data on a given socket + my $data; $sock->read($data, 1024) until $sock->atmark; -Note: this is a reasonably new addition to the family of socket -functions, so all systems may not support this yet. If it is -unsupported by the system, an attempt to use this method will -abort the program. + # or, export the function to use: + use IO::Socket 'sockatmark'; + $sock->read($data, 1024) until sockatmark($sock); -The atmark() functionality is also exportable as sockatmark() function: +True if the socket is currently positioned at the urgent data mark, false +otherwise. If your system doesn't yet implement C this will throw +an exception. - use IO::Socket 'sockatmark'; +If your system does not support C, the C declaration will +fail at compile time. + +=head2 autoflush + + # by default, autoflush will be turned on when referenced + $sock->autoflush(); # turns on autoflush + # turn off autoflush + $sock->autoflush(0); + # turn on autoflush + $sock->autoflush(1); -This allows for a more traditional use of sockatmark() as a procedural -socket function. If your system does not support sockatmark(), the -C declaration will fail at compile time. +This attribute isn't overridden from L's implementation. However, +since we turn it on by default, it's worth mentioning here. -=item connected +=head2 bind + + use Socket qw(pack_sockaddr_in); + my $port = 3000; + my $ip_address = '0.0.0.0'; + my $packed_addr = pack_sockaddr_in($port, $ip_address); + $sock->bind($packed_addr); + +Binds a network address to a socket, just as C does. Returns true if +it succeeded, false otherwise. You should provide a packed address of the +appropriate type for the socket. + +=head2 connected + + my $peer_addr = $sock->connected(); + if ($peer_addr) { + say "We're connected to $peer_addr"; + } If the socket is in a connected state, the peer address is returned. If the -socket is not in a connected state, undef is returned. +socket is not in a connected state, C is returned. -Note that connected() considers a half-open TCP socket to be "in a connected -state". Specifically, connected() does not distinguish between the +Note that this method considers a half-open TCP socket to be "in a connected +state". Specifically, it does not distinguish between the B and B TCP states; it returns the peer address, -rather than undef, in either case. Thus, in general, connected() cannot +rather than C, in either case. Thus, in general, it cannot be used to reliably learn whether the peer has initiated a graceful shutdown because in most cases (see below) the local TCP state machine remains in -B until the local application calls shutdown() or close(); -only at that point does connected() return undef. +B until the local application calls L or +C. Only at that point does this function return C. The "in most cases" hedge is because local TCP state machine behavior may depend on the peer's socket options. In particular, if the peer socket has -SO_LINGER enabled with a zero timeout, then the peer's close() will generate -a RST segment, upon receipt of which the local TCP transitions immediately to -B, and in that state, connected() I return undef. +C enabled with a zero timeout, then the peer's C will +generate a C segment. Upon receipt of that segment, the local TCP +transitions immediately to B, and in that state, this method I +return C. + +=head2 getsockopt -=item protocol + my $value = $sock->getsockopt(SOL_SOCKET, SO_REUSEADDR); + my $buf = $socket->getsockopt(SOL_SOCKET, SO_RCVBUF); + say "Receive buffer is $buf bytes"; -Returns the numerical number for the protocol being used on the socket, if -known. If the protocol is unknown, as with an AF_UNIX socket, zero +Get an option associated with the socket. Levels other than C +may be specified here. As a convenience, this method will unpack a byte buffer +of the correct size back into a number. + +=head2 listen + + $sock->listen(5); + +Does the same thing that the C system call does. Returns true if it +succeeded, false otherwise. Listens to a socket with a given queue size. + +=head2 peername + + my $sockaddr_in = $sock->peername(); + +Returns the packed C address of the other end of the socket +connection. It calls C. + + +=head2 protocol + + my $proto = $sock->protocol(); + +Returns the number for the protocol being used on the socket, if +known. If the protocol is unknown, as with an C socket, zero is returned. -=item sockdomain +=head2 recv + + my $buffer = ""; + my $length = 1024; + my $flags = 0; # default. optional + $sock->recv($buffer, $length); + $sock->recv($buffer, $length, $flags); + +Similar in functionality to L. + +Receives a message on a socket. Attempts to receive C<$length> characters of +data into C<$buffer> from the specified socket. C<$buffer> will be grown or +shrunk to the length actually read. Takes the same flags as the system call of +the same name. Returns the address of the sender if socket's protocol supports +this; returns an empty string otherwise. If there's an error, returns +C. This call is actually implemented in terms of the C +system call. -Returns the numerical number for the socket domain type. For example, for -an AF_INET socket the value of &AF_INET will be returned. +Flags are ORed together values, such as C, C, +C. The default value for the flags is C<0>. -=item sockopt(OPT [, VAL]) +The cached value of L is updated with the result of +C. -Unified method to both set and get options in the SOL_SOCKET level. If called -with one argument then getsockopt is called, otherwise setsockopt is called. +B In Perl v5.30 and newer, if the socket has been marked as C<:utf8>, +C will throw an exception. The C<:encoding(...)> layer implicitly +introduces the C<:utf8> layer. See L. -=item getsockopt(LEVEL, OPT) +B In Perl versions older than v5.30, depending on the status of the +socket, either (8-bit) bytes or characters are received. By default all +sockets operate on bytes, but for example if the socket has been changed +using L to operate with the C<:encoding(UTF-8)> I/O layer +(see the L pragma), the I/O will operate on UTF8-encoded +Unicode characters, not bytes. Similarly for the C<:encoding> layer: in +that case pretty much any characters can be read. -Get option associated with the socket. Other levels than SOL_SOCKET -may be specified here. +=head2 send -=item setsockopt(LEVEL, OPT, VAL) + my $message = "Hello, world!"; + my $flags = 0; # defaults to zero + my $to = '0.0.0.0'; # optional destination + my $sent = $sock->send($message); + $sent = $sock->send($message, $flags); + $sent = $sock->send($message, $flags, $to); -Set option associated with the socket. Other levels than SOL_SOCKET -may be specified here. +Similar in functionality to L. -=item socktype +Sends a message on a socket. Attempts to send the scalar message to the +socket. Takes the same flags as the system call of the same name. On +unconnected sockets, you must specify a destination to send to, in which case +it does a C syscall. Returns the number of characters sent, or +C on error. The C syscall is currently unimplemented. -Returns the numerical number for the socket type. For example, for -a SOCK_STREAM socket the value of &SOCK_STREAM will be returned. +The C option is optional and defaults to C<0>. -=item timeout([VAL]) +After a successful send with C<$to>, further calls to C on an +unconnected socket without C<$to> will send to the same address, and C<$to> +will be used as the result of L. + +B In Perl v5.30 and newer, if the socket has been marked as C<:utf8>, +C will throw an exception. The C<:encoding(...)> layer implicitly +introduces the C<:utf8> layer. See L. + +B In Perl versions older than v5.30, depending on the status of the +socket, either (8-bit) bytes or characters are sent. By default all +sockets operate on bytes, but for example if the socket has been changed +using L to operate with the C<:encoding(UTF-8)> I/O layer +(see the L pragma), the I/O will operate on UTF8-encoded +Unicode characters, not bytes. Similarly for the C<:encoding> layer: in +that case pretty much any characters can be sent. + +=head2 setsockopt + + $sock->setsockopt(SOL_SOCKET, SO_REUSEADDR, 1); + $sock->setsockopt(SOL_SOCKET, SO_RCVBUF, 64*1024); + +Set option associated with the socket. Levels other than C +may be specified here. As a convenience, this method will convert a number +into a packed byte buffer. + +=head2 shutdown + + $sock->shutdown(SHUT_RD); # we stopped reading data + $sock->shutdown(SHUT_WR); # we stopped writing data + $sock->shutdown(SHUT_RDWR); # we stopped using this socket + +Shuts down a socket connection in the manner indicated by the value passed in, +which has the same interpretation as in the syscall of the same name. + +This is useful with sockets when you want to tell the other side you're done +writing but not done reading, or vice versa. It's also a more insistent form +of C because it also disables the file descriptor in any +forked copies in other processes. + +Returns C<1> for success; on error, returns C if the socket is +not a valid filehandle, or returns C<0> and sets C<$!> for any other failure. + +=head2 sockdomain + + my $domain = $sock->sockdomain(); + +Returns the number for the socket domain type. For example, for +an C socket the value of C<&AF_INET> will be returned. + +=head2 socket + + my $sock = IO::Socket->new(); # no values given + # now let's actually get a socket with the socket method + # domain, type, and protocol are required + $sock = $sock->socket(AF_INET, SOCK_STREAM, 'tcp'); + +Opens a socket of the specified kind and returns it. Domain, type, and +protocol are specified the same as for the syscall of the same name. + +=head2 socketpair + + my ($r, $w) = $sock->socketpair(AF_UNIX, SOCK_STREAM, PF_UNSPEC); + ($r, $w) = IO::Socket::UNIX + ->socketpair(AF_UNIX, SOCK_STREAM, PF_UNSPEC); + +Will return a list of two sockets created (read and write), or an empty list +on failure. + +Differs slightly from C in L in that the argument list +is a bit simpler. + +=head2 sockname + + my $packed_addr = $sock->sockname(); + +Returns the packed C address of this end of the connection. It's the +same as C. + +=head2 sockopt + + my $value = $sock->sockopt(SO_REUSEADDR); + $sock->sockopt(SO_REUSEADDR, 1); + +Unified method to both set and get options in the C level. If +called with one argument then L is called, otherwise +L is called. + +=head2 socktype + + my $type = $sock->socktype(); + +Returns the number for the socket type. For example, for +a C socket the value of C<&SOCK_STREAM> will be returned. + +=head2 timeout + + my $seconds = $sock->timeout(); + my $old_val = $sock->timeout(5); # set new and return old value Set or get the timeout value (in seconds) associated with this socket. If called without any arguments then the current setting is returned. If called with an argument the current setting is changed and the previous value returned. -=back +This method is available to all C implementations but may or may +not be used by the individual domain subclasses. + +=head1 EXAMPLES + +Let's create a TCP server on C. + + use strict; + use warnings; + use feature 'say'; + + use IO::Socket qw(AF_INET AF_UNIX SOCK_STREAM SHUT_WR); + + my $server = IO::Socket->new( + Domain => AF_INET, + Type => SOCK_STREAM, + Proto => 'tcp', + LocalHost => '0.0.0.0', + LocalPort => 3333, + ReusePort => 1, + Listen => 5, + ) || die "Can't open socket: $@"; + say "Waiting on 3333"; + + while (1) { + # waiting for a new client connection + my $client = $server->accept(); + + # get information about a newly connected client + my $client_address = $client->peerhost(); + my $client_port = $client->peerport(); + say "Connection from $client_address:$client_port"; + + # read up to 1024 characters from the connected client + my $data = ""; + $client->recv($data, 1024); + say "received data: $data"; + + # write response data to the connected client + $data = "ok"; + $client->send($data); + + # notify client that response has been sent + $client->shutdown(SHUT_WR); + } + + $server->close(); + +A client for such a server could be + + use strict; + use warnings; + use feature 'say'; + + use IO::Socket qw(AF_INET AF_UNIX SOCK_STREAM SHUT_WR); + + my $client = IO::Socket->new( + Domain => AF_INET, + Type => SOCK_STREAM, + proto => 'tcp', + PeerPort => 3333, + PeerHost => '0.0.0.0', + ) || die "Can't open socket: $@"; + + say "Sending Hello World!"; + my $size = $client->send("Hello World!"); + say "Sent data of length: $size"; + + $client->shutdown(SHUT_WR); + + my $buffer; + $client->recv($buffer, 1024); + say "Got back $buffer"; + + $client->close(); + =head1 LIMITATIONS -On some systems, for an IO::Socket object created with new_from_fd(), -or created with accept() from such an object, the protocol(), -sockdomain() and socktype() methods may return undef. +On some systems, for an IO::Socket object created with C, +or created with L from such an object, the +L, L and +L methods may return C. =head1 SEE ALSO -L, L, L, L +L, L, L, L, +L =head1 AUTHOR diff --git a/Master/tlpkg/tlperl/lib/IO/Socket/INET.pm b/Master/tlpkg/tlperl/lib/IO/Socket/INET.pm index 8b4373f2618..8688f375b5f 100644 --- a/Master/tlpkg/tlperl/lib/IO/Socket/INET.pm +++ b/Master/tlpkg/tlperl/lib/IO/Socket/INET.pm @@ -14,7 +14,7 @@ use Exporter; use Errno; our @ISA = qw(IO::Socket); -our $VERSION = "1.40"; +our $VERSION = "1.41"; my $EINVAL = exists(&Errno::EINVAL) ? Errno::EINVAL() : 1; diff --git a/Master/tlpkg/tlperl/lib/IO/Socket/UNIX.pm b/Master/tlpkg/tlperl/lib/IO/Socket/UNIX.pm index ff38af0f634..04b36eaf74b 100644 --- a/Master/tlpkg/tlperl/lib/IO/Socket/UNIX.pm +++ b/Master/tlpkg/tlperl/lib/IO/Socket/UNIX.pm @@ -11,7 +11,7 @@ use IO::Socket; use Carp; our @ISA = qw(IO::Socket); -our $VERSION = "1.40"; +our $VERSION = "1.41"; IO::Socket::UNIX->register_domain( AF_UNIX ); diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Bunzip2.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Bunzip2.pm index 1aa9a8c39b7..3fc176e5006 100644 --- a/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Bunzip2.pm +++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Bunzip2.pm @@ -4,12 +4,12 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.084 qw(:Status); +use IO::Compress::Base::Common 2.093 qw(:Status); -use Compress::Raw::Bzip2 2.084 ; +use Compress::Raw::Bzip2 2.093 ; our ($VERSION, @ISA); -$VERSION = '2.084'; +$VERSION = '2.093'; sub mkUncompObject { diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Identity.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Identity.pm index 5601599225f..c8622a59137 100644 --- a/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Identity.pm +++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Identity.pm @@ -4,14 +4,14 @@ use warnings; use strict; use bytes; -use IO::Compress::Base::Common 2.084 qw(:Status); +use IO::Compress::Base::Common 2.093 qw(:Status); use IO::Compress::Zip::Constants ; our ($VERSION); -$VERSION = '2.084'; +$VERSION = '2.093'; -use Compress::Raw::Zlib 2.084 (); +use Compress::Raw::Zlib 2.093 (); sub mkUncompObject { @@ -139,7 +139,7 @@ sub reset { my $self = shift; - $self->{CompSize} = 0; + $self->{CompSize}->reset(); $self->{UnCompSize} = 0; $self->{CRC32} = Compress::Raw::Zlib::crc32(''); $self->{ADLER32} = Compress::Raw::Zlib::adler32(''); diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Inflate.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Inflate.pm index f51c64d7e54..a27af5ba8e7 100644 --- a/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Inflate.pm +++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Inflate.pm @@ -4,11 +4,11 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.084 qw(:Status); -use Compress::Raw::Zlib 2.084 qw(Z_OK Z_BUF_ERROR Z_STREAM_END Z_FINISH MAX_WBITS); +use IO::Compress::Base::Common 2.093 qw(:Status); +use Compress::Raw::Zlib 2.093 qw(Z_OK Z_BUF_ERROR Z_STREAM_END Z_FINISH MAX_WBITS); our ($VERSION); -$VERSION = '2.084'; +$VERSION = '2.093'; diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/AnyInflate.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/AnyInflate.pm index be464889ebb..6172737e26e 100644 --- a/Master/tlpkg/tlperl/lib/IO/Uncompress/AnyInflate.pm +++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/AnyInflate.pm @@ -6,22 +6,22 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.084 (); +use IO::Compress::Base::Common 2.093 (); -use IO::Uncompress::Adapter::Inflate 2.084 (); +use IO::Uncompress::Adapter::Inflate 2.093 (); -use IO::Uncompress::Base 2.084 ; -use IO::Uncompress::Gunzip 2.084 ; -use IO::Uncompress::Inflate 2.084 ; -use IO::Uncompress::RawInflate 2.084 ; -use IO::Uncompress::Unzip 2.084 ; +use IO::Uncompress::Base 2.093 ; +use IO::Uncompress::Gunzip 2.093 ; +use IO::Uncompress::Inflate 2.093 ; +use IO::Uncompress::RawInflate 2.093 ; +use IO::Uncompress::Unzip 2.093 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyInflateError); -$VERSION = '2.084'; +$VERSION = '2.093'; $AnyInflateError = ''; @ISA = qw(IO::Uncompress::Base Exporter); @@ -48,7 +48,7 @@ sub anyinflate sub getExtraParams { - use IO::Compress::Base::Common 2.084 qw(:Parse); + use IO::Compress::Base::Common 2.093 qw(:Parse); return ( 'rawinflate' => [Parse_boolean, 0] ) ; } @@ -213,7 +213,8 @@ The functional interface needs Perl5.005 or better. =head2 anyinflate $input_filename_or_reference => $output_filename_or_reference [, OPTS] C expects at least two parameters, -C<$input_filename_or_reference> and C<$output_filename_or_reference>. +C<$input_filename_or_reference> and C<$output_filename_or_reference> +and zero or more optional parameters (see L) =head3 The C<$input_filename_or_reference> parameter @@ -226,7 +227,7 @@ It can take one of the following forms: =item A filename -If the <$input_filename_or_reference> parameter is a simple scalar, it is +If the C<$input_filename_or_reference> parameter is a simple scalar, it is assumed to be a filename. This file will be opened for reading and the input data will be read from it. @@ -323,9 +324,9 @@ files/buffers. =head2 Optional Parameters -Unless specified below, the optional parameters for C, -C, are the same as those used with the OO interface defined in the -L section below. +The optional parameters for the one-shot function C +are (for the most part) identical to those used with the OO interface defined in the +L section. The exceptions are listed below =over 5 @@ -959,6 +960,12 @@ Same as doing this See L +=head1 SUPPORT + +General feedback/questions/bug reports should be sent to +L (preferred) or +L. + =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/AnyUncompress.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/AnyUncompress.pm index c6dfce536b4..251b7cf2632 100644 --- a/Master/tlpkg/tlperl/lib/IO/Uncompress/AnyUncompress.pm +++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/AnyUncompress.pm @@ -4,16 +4,16 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.084 (); +use IO::Compress::Base::Common 2.093 (); -use IO::Uncompress::Base 2.084 ; +use IO::Uncompress::Base 2.093 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyUncompressError); -$VERSION = '2.084'; +$VERSION = '2.093'; $AnyUncompressError = ''; @ISA = qw(IO::Uncompress::Base Exporter); @@ -29,26 +29,30 @@ BEGIN { local @INC = @INC; pop @INC if $INC[-1] eq '.'; - eval ' use IO::Uncompress::Adapter::Inflate 2.084 ;'; - eval ' use IO::Uncompress::Adapter::Bunzip2 2.084 ;'; - eval ' use IO::Uncompress::Adapter::LZO 2.084 ;'; - eval ' use IO::Uncompress::Adapter::Lzf 2.084 ;'; - eval ' use IO::Uncompress::Adapter::UnLzma 2.084 ;'; - eval ' use IO::Uncompress::Adapter::UnXz 2.084 ;'; + + # Don't trigger any __DIE__ Hooks. + local $SIG{__DIE__}; + + eval ' use IO::Uncompress::Adapter::Inflate 2.093 ;'; + eval ' use IO::Uncompress::Adapter::Bunzip2 2.093 ;'; + eval ' use IO::Uncompress::Adapter::LZO 2.093 ;'; + eval ' use IO::Uncompress::Adapter::Lzf 2.093 ;'; + eval ' use IO::Uncompress::Adapter::UnLzma 2.093 ;'; + eval ' use IO::Uncompress::Adapter::UnXz 2.093 ;'; eval ' use IO::Uncompress::Adapter::UnZstd 2.083 ;'; - eval ' use IO::Uncompress::Adapter::UnLzip 2.084 ;'; - - eval ' use IO::Uncompress::Bunzip2 2.084 ;'; - eval ' use IO::Uncompress::UnLzop 2.084 ;'; - eval ' use IO::Uncompress::Gunzip 2.084 ;'; - eval ' use IO::Uncompress::Inflate 2.084 ;'; - eval ' use IO::Uncompress::RawInflate 2.084 ;'; - eval ' use IO::Uncompress::Unzip 2.084 ;'; - eval ' use IO::Uncompress::UnLzf 2.084 ;'; - eval ' use IO::Uncompress::UnLzma 2.084 ;'; - eval ' use IO::Uncompress::UnXz 2.084 ;'; - eval ' use IO::Uncompress::UnZstd 2.084 ;'; - eval ' use IO::Uncompress::UnLzip 2.084 ;'; + eval ' use IO::Uncompress::Adapter::UnLzip 2.093 ;'; + + eval ' use IO::Uncompress::Bunzip2 2.093 ;'; + eval ' use IO::Uncompress::UnLzop 2.093 ;'; + eval ' use IO::Uncompress::Gunzip 2.093 ;'; + eval ' use IO::Uncompress::Inflate 2.093 ;'; + eval ' use IO::Uncompress::RawInflate 2.093 ;'; + eval ' use IO::Uncompress::Unzip 2.093 ;'; + eval ' use IO::Uncompress::UnLzf 2.093 ;'; + eval ' use IO::Uncompress::UnLzma 2.093 ;'; + eval ' use IO::Uncompress::UnXz 2.093 ;'; + eval ' use IO::Uncompress::UnZstd 2.093 ;'; + eval ' use IO::Uncompress::UnLzip 2.093 ;'; } @@ -266,7 +270,7 @@ __END__ =head1 NAME -IO::Uncompress::AnyUncompress - Uncompress gzip, zip, bzip2 or lzop file/buffer +IO::Uncompress::AnyUncompress - Uncompress gzip, zip, bzip2, xz, lzma, lzip, lzf or lzop file/buffer =head1 SYNOPSIS @@ -363,7 +367,8 @@ The functional interface needs Perl5.005 or better. =head2 anyuncompress $input_filename_or_reference => $output_filename_or_reference [, OPTS] C expects at least two parameters, -C<$input_filename_or_reference> and C<$output_filename_or_reference>. +C<$input_filename_or_reference> and C<$output_filename_or_reference> +and zero or more optional parameters (see L) =head3 The C<$input_filename_or_reference> parameter @@ -376,7 +381,7 @@ It can take one of the following forms: =item A filename -If the <$input_filename_or_reference> parameter is a simple scalar, it is +If the C<$input_filename_or_reference> parameter is a simple scalar, it is assumed to be a filename. This file will be opened for reading and the input data will be read from it. @@ -473,9 +478,9 @@ files/buffers. =head2 Optional Parameters -Unless specified below, the optional parameters for C, -C, are the same as those used with the OO interface defined in the -L section below. +The optional parameters for the one-shot function C +are (for the most part) identical to those used with the OO interface defined in the +L section. The exceptions are listed below =over 5 @@ -1044,6 +1049,12 @@ Same as doing this =head1 EXAMPLES +=head1 SUPPORT + +General feedback/questions/bug reports should be sent to +L (preferred) or +L. + =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/Base.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/Base.pm index 06fb04a81c9..b9901ca1fff 100644 --- a/Master/tlpkg/tlperl/lib/IO/Uncompress/Base.pm +++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/Base.pm @@ -9,12 +9,12 @@ our (@ISA, $VERSION, @EXPORT_OK, %EXPORT_TAGS); @ISA = qw(IO::File Exporter); -$VERSION = '2.084'; +$VERSION = '2.093'; use constant G_EOF => 0 ; use constant G_ERR => -1 ; -use IO::Compress::Base::Common 2.084 ; +use IO::Compress::Base::Common 2.093 ; use IO::File ; use Symbol; @@ -1010,6 +1010,9 @@ sub nextStream $status == 1 or return $status ; + *$self->{Pending} = '' + if $self !~ /IO::Uncompress::RawInflate/ && ! *$self->{MultiStream}; + *$self->{TotalInflatedBytesRead} = 0 ; *$self->{LineNo} = $. = 0; @@ -1050,6 +1053,10 @@ sub gotoNextStream return 0; } + # Not EOF, so Transparent mode kicks in now for trailing data + # Reset member name in case anyone calls getHeaderInfo()->{Name} + *$self->{Info} = { Name => undef, Type => 'plain' }; + $self->clearError(); *$self->{Type} = 'plain'; *$self->{Plain} = 1; @@ -1527,6 +1534,12 @@ IO::Uncompress::Base - Base Class for IO::Uncompress modules This module is not intended for direct use in application code. Its sole purpose is to be sub-classed by IO::Uncompress modules. +=head1 SUPPORT + +General feedback/questions/bug reports should be sent to +L (preferred) or +L. + =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/Bunzip2.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/Bunzip2.pm index 7a84bcd15cb..8e805d4c9e2 100644 --- a/Master/tlpkg/tlperl/lib/IO/Uncompress/Bunzip2.pm +++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/Bunzip2.pm @@ -4,15 +4,15 @@ use strict ; use warnings; use bytes; -use IO::Compress::Base::Common 2.084 qw(:Status ); +use IO::Compress::Base::Common 2.093 qw(:Status ); -use IO::Uncompress::Base 2.084 ; -use IO::Uncompress::Adapter::Bunzip2 2.084 ; +use IO::Uncompress::Base 2.093 ; +use IO::Uncompress::Adapter::Bunzip2 2.093 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bunzip2Error); -$VERSION = '2.084'; +$VERSION = '2.093'; $Bunzip2Error = ''; @ISA = qw(IO::Uncompress::Base Exporter); @@ -209,7 +209,8 @@ The functional interface needs Perl5.005 or better. =head2 bunzip2 $input_filename_or_reference => $output_filename_or_reference [, OPTS] C expects at least two parameters, -C<$input_filename_or_reference> and C<$output_filename_or_reference>. +C<$input_filename_or_reference> and C<$output_filename_or_reference> +and zero or more optional parameters (see L) =head3 The C<$input_filename_or_reference> parameter @@ -222,7 +223,7 @@ It can take one of the following forms: =item A filename -If the <$input_filename_or_reference> parameter is a simple scalar, it is +If the C<$input_filename_or_reference> parameter is a simple scalar, it is assumed to be a filename. This file will be opened for reading and the input data will be read from it. @@ -319,9 +320,9 @@ files/buffers. =head2 Optional Parameters -Unless specified below, the optional parameters for C, -C, are the same as those used with the OO interface defined in the -L section below. +The optional parameters for the one-shot function C +are (for the most part) identical to those used with the OO interface defined in the +L section. The exceptions are listed below =over 5 @@ -876,6 +877,12 @@ Same as doing this See L +=head1 SUPPORT + +General feedback/questions/bug reports should be sent to +L (preferred) or +L. + =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L @@ -886,7 +893,7 @@ L, L, L, L -The primary site for the bzip2 program is L. +The primary site for the bzip2 program is L. See the module L diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/Gunzip.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/Gunzip.pm index 46dd108341a..6e57e961184 100644 --- a/Master/tlpkg/tlperl/lib/IO/Uncompress/Gunzip.pm +++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/Gunzip.pm @@ -9,12 +9,12 @@ use strict ; use warnings; use bytes; -use IO::Uncompress::RawInflate 2.084 ; +use IO::Uncompress::RawInflate 2.093 ; -use Compress::Raw::Zlib 2.084 () ; -use IO::Compress::Base::Common 2.084 qw(:Status ); -use IO::Compress::Gzip::Constants 2.084 ; -use IO::Compress::Zlib::Extra 2.084 ; +use Compress::Raw::Zlib 2.093 () ; +use IO::Compress::Base::Common 2.093 qw(:Status ); +use IO::Compress::Gzip::Constants 2.093 ; +use IO::Compress::Zlib::Extra 2.093 ; require Exporter ; @@ -28,7 +28,7 @@ Exporter::export_ok_tags('all'); $GunzipError = ''; -$VERSION = '2.084'; +$VERSION = '2.093'; sub new { @@ -348,7 +348,8 @@ The functional interface needs Perl5.005 or better. =head2 gunzip $input_filename_or_reference => $output_filename_or_reference [, OPTS] C expects at least two parameters, -C<$input_filename_or_reference> and C<$output_filename_or_reference>. +C<$input_filename_or_reference> and C<$output_filename_or_reference> +and zero or more optional parameters (see L) =head3 The C<$input_filename_or_reference> parameter @@ -361,7 +362,7 @@ It can take one of the following forms: =item A filename -If the <$input_filename_or_reference> parameter is a simple scalar, it is +If the C<$input_filename_or_reference> parameter is a simple scalar, it is assumed to be a filename. This file will be opened for reading and the input data will be read from it. @@ -458,9 +459,9 @@ files/buffers. =head2 Optional Parameters -Unless specified below, the optional parameters for C, -C, are the same as those used with the OO interface defined in the -L section below. +The optional parameters for the one-shot function C +are (for the most part) identical to those used with the OO interface defined in the +L section. The exceptions are listed below =over 5 @@ -1082,6 +1083,12 @@ Same as doing this See L +=head1 SUPPORT + +General feedback/questions/bug reports should be sent to +L (preferred) or +L. + =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/Inflate.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/Inflate.pm index 4d89db5b195..993a1dddc89 100644 --- a/Master/tlpkg/tlperl/lib/IO/Uncompress/Inflate.pm +++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/Inflate.pm @@ -5,15 +5,15 @@ use strict ; use warnings; use bytes; -use IO::Compress::Base::Common 2.084 qw(:Status ); -use IO::Compress::Zlib::Constants 2.084 ; +use IO::Compress::Base::Common 2.093 qw(:Status ); +use IO::Compress::Zlib::Constants 2.093 ; -use IO::Uncompress::RawInflate 2.084 ; +use IO::Uncompress::RawInflate 2.093 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $InflateError); -$VERSION = '2.084'; +$VERSION = '2.093'; $InflateError = ''; @ISA = qw(IO::Uncompress::RawInflate Exporter); @@ -270,7 +270,8 @@ The functional interface needs Perl5.005 or better. =head2 inflate $input_filename_or_reference => $output_filename_or_reference [, OPTS] C expects at least two parameters, -C<$input_filename_or_reference> and C<$output_filename_or_reference>. +C<$input_filename_or_reference> and C<$output_filename_or_reference> +and zero or more optional parameters (see L) =head3 The C<$input_filename_or_reference> parameter @@ -283,7 +284,7 @@ It can take one of the following forms: =item A filename -If the <$input_filename_or_reference> parameter is a simple scalar, it is +If the C<$input_filename_or_reference> parameter is a simple scalar, it is assumed to be a filename. This file will be opened for reading and the input data will be read from it. @@ -380,9 +381,9 @@ files/buffers. =head2 Optional Parameters -Unless specified below, the optional parameters for C, -C, are the same as those used with the OO interface defined in the -L section below. +The optional parameters for the one-shot function C +are (for the most part) identical to those used with the OO interface defined in the +L section. The exceptions are listed below =over 5 @@ -954,6 +955,12 @@ Same as doing this See L +=head1 SUPPORT + +General feedback/questions/bug reports should be sent to +L (preferred) or +L. + =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/RawInflate.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/RawInflate.pm index 63703cd9750..2fa318816ac 100644 --- a/Master/tlpkg/tlperl/lib/IO/Uncompress/RawInflate.pm +++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/RawInflate.pm @@ -5,16 +5,16 @@ use strict ; use warnings; use bytes; -use Compress::Raw::Zlib 2.084 ; -use IO::Compress::Base::Common 2.084 qw(:Status ); +use Compress::Raw::Zlib 2.093 ; +use IO::Compress::Base::Common 2.093 qw(:Status ); -use IO::Uncompress::Base 2.084 ; -use IO::Uncompress::Adapter::Inflate 2.084 ; +use IO::Uncompress::Base 2.093 ; +use IO::Uncompress::Adapter::Inflate 2.093 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $RawInflateError); -$VERSION = '2.084'; +$VERSION = '2.093'; $RawInflateError = ''; @ISA = qw(IO::Uncompress::Base Exporter); @@ -418,7 +418,8 @@ The functional interface needs Perl5.005 or better. =head2 rawinflate $input_filename_or_reference => $output_filename_or_reference [, OPTS] C expects at least two parameters, -C<$input_filename_or_reference> and C<$output_filename_or_reference>. +C<$input_filename_or_reference> and C<$output_filename_or_reference> +and zero or more optional parameters (see L) =head3 The C<$input_filename_or_reference> parameter @@ -431,7 +432,7 @@ It can take one of the following forms: =item A filename -If the <$input_filename_or_reference> parameter is a simple scalar, it is +If the C<$input_filename_or_reference> parameter is a simple scalar, it is assumed to be a filename. This file will be opened for reading and the input data will be read from it. @@ -528,9 +529,9 @@ files/buffers. =head2 Optional Parameters -Unless specified below, the optional parameters for C, -C, are the same as those used with the OO interface defined in the -L section below. +The optional parameters for the one-shot function C +are (for the most part) identical to those used with the OO interface defined in the +L section. The exceptions are listed below =over 5 @@ -1082,6 +1083,12 @@ Same as doing this See L +=head1 SUPPORT + +General feedback/questions/bug reports should be sent to +L (preferred) or +L. + =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/Unzip.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/Unzip.pm index 4e8a0d67c7a..856487f8fcd 100644 --- a/Master/tlpkg/tlperl/lib/IO/Uncompress/Unzip.pm +++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/Unzip.pm @@ -9,17 +9,20 @@ use warnings; use bytes; use IO::File; -use IO::Uncompress::RawInflate 2.084 ; -use IO::Compress::Base::Common 2.084 qw(:Status ); -use IO::Uncompress::Adapter::Inflate 2.084 ; -use IO::Uncompress::Adapter::Identity 2.084 ; -use IO::Compress::Zlib::Extra 2.084 ; -use IO::Compress::Zip::Constants 2.084 ; +use IO::Uncompress::RawInflate 2.093 ; +use IO::Compress::Base::Common 2.093 qw(:Status ); +use IO::Uncompress::Adapter::Inflate 2.093 ; +use IO::Uncompress::Adapter::Identity 2.093 ; +use IO::Compress::Zlib::Extra 2.093 ; +use IO::Compress::Zip::Constants 2.093 ; -use Compress::Raw::Zlib 2.084 () ; +use Compress::Raw::Zlib 2.093 () ; BEGIN { + # Don't trigger any __DIE__ Hooks. + local $SIG{__DIE__}; + eval{ require IO::Uncompress::Adapter::Bunzip2 ; import IO::Uncompress::Adapter::Bunzip2 } ; eval{ require IO::Uncompress::Adapter::UnLzma ; @@ -31,7 +34,7 @@ require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $UnzipError, %headerLookup); -$VERSION = '2.084'; +$VERSION = '2.093'; $UnzipError = ''; @ISA = qw(IO::Uncompress::RawInflate Exporter); @@ -70,6 +73,7 @@ sub getExtraParams 'name' => [IO::Compress::Base::Common::Parse_any, undef], 'stream' => [IO::Compress::Base::Common::Parse_boolean, 0], + 'efs' => [IO::Compress::Base::Common::Parse_boolean, 0], # TODO - This means reading the central directory to get # 1. the local header offsets @@ -86,6 +90,7 @@ sub ckParams $got->setValue('crc32' => 1); *$self->{UnzipData}{Name} = $got->getValue('name'); + *$self->{UnzipData}{efs} = $got->getValue('efs'); return 1; } @@ -551,6 +556,7 @@ sub _readZipHeader($) my $extraField; my @EXTRA = (); my $streamingMode = ($gpFlag & ZIP_GP_FLAG_STREAMING_MASK) ? 1 : 0 ; + my $efs_flag = ($gpFlag & ZIP_GP_FLAG_LANGUAGE_ENCODING) ? 1 : 0; return $self->HeaderError("Encrypted content not supported") if $gpFlag & (ZIP_GP_FLAG_ENCRYPTED_MASK|ZIP_GP_FLAG_STRONG_ENCRYPTED_MASK); @@ -565,6 +571,14 @@ sub _readZipHeader($) { $self->smartReadExact(\$filename, $filename_length) or return $self->TruncatedHeader("Filename"); + + if (*$self->{UnzipData}{efs} && $efs_flag && $] >= 5.008004) + { + require Encode; + eval { $filename = Encode::decode_utf8($filename, 1) } + or Carp::croak "Zip Filename not UTF-8" ; + } + $keep .= $filename ; } @@ -705,6 +719,7 @@ sub _readZipHeader($) 'UncompressedLength' => $uncompressedLength , 'CRC32' => $crc32 , 'Name' => $filename, + 'efs' => $efs_flag, # language encoding flag 'Time' => _dosToUnixTime($lastModTime), 'Stream' => $streamingMode, @@ -1107,7 +1122,8 @@ The functional interface needs Perl5.005 or better. =head2 unzip $input_filename_or_reference => $output_filename_or_reference [, OPTS] C expects at least two parameters, -C<$input_filename_or_reference> and C<$output_filename_or_reference>. +C<$input_filename_or_reference> and C<$output_filename_or_reference> +and zero or more optional parameters (see L) =head3 The C<$input_filename_or_reference> parameter @@ -1120,7 +1136,7 @@ It can take one of the following forms: =item A filename -If the <$input_filename_or_reference> parameter is a simple scalar, it is +If the C<$input_filename_or_reference> parameter is a simple scalar, it is assumed to be a filename. This file will be opened for reading and the input data will be read from it. @@ -1217,9 +1233,9 @@ files/buffers. =head2 Optional Parameters -Unless specified below, the optional parameters for C, -C, are the same as those used with the OO interface defined in the -L section below. +The optional parameters for the one-shot function C +are (for the most part) identical to those used with the OO interface defined in the +L section. The exceptions are listed below =over 5 @@ -1431,6 +1447,18 @@ OPTS is a combination of the following options: Open "membername" from the zip file for reading. +=item C<< Efs => 0| 1 >> + +When this option is set to true AND the zip archive being read has +the "Language Encoding Flag" (EFS) set, the member name is assumed to be encoded in UTF-8. + +If the member name in the zip archive is not valid UTF-8 when this optionn is true, +the script will die with an error message. + +Note that this option only works with Perl 5.8.4 or better. + +This option defaults to B. + =item C<< AutoClose => 0|1 >> This option is only valid when the C<$input> parameter is a filehandle. If @@ -1731,6 +1759,10 @@ Skips to the next compressed data stream in the input file/buffer. If a new compressed data stream is found, the eof marker will be cleared and C<$.> will be reset to 0. +If trailing data is present immediately after the zip archive and the +C option is enabled, this method will consider that trailing +data to be another member of the zip archive. + Returns 1 if a new stream was found, 0 if none was found, and -1 if an error was encountered. @@ -1828,6 +1860,12 @@ to read a zip file and unzip its contents to disk. The script is available from L +=head1 SUPPORT + +General feedback/questions/bug reports should be sent to +L (preferred) or +L. + =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L diff --git a/Master/tlpkg/tlperl/lib/IPC/Cmd.pm b/Master/tlpkg/tlperl/lib/IPC/Cmd.pm index 42cdd5990cb..88ed2955a9d 100644 --- a/Master/tlpkg/tlperl/lib/IPC/Cmd.pm +++ b/Master/tlpkg/tlperl/lib/IPC/Cmd.pm @@ -19,7 +19,7 @@ BEGIN { $HAVE_MONOTONIC ]; - $VERSION = '1.02'; + $VERSION = '1.04'; $VERBOSE = 0; $DEBUG = 0; $WARN = 1; @@ -1204,7 +1204,7 @@ sub run_forked { # which do setsid theirselves -- can't do anything # with those) - POSIX::setsid() || Carp::confess("Error running setsid: " . $!); + POSIX::setsid() == -1 and Carp::confess("Error running setsid: " . $!); if ($opts->{'child_BEGIN'} && ref($opts->{'child_BEGIN'}) eq 'CODE') { $opts->{'child_BEGIN'}->(); diff --git a/Master/tlpkg/tlperl/lib/IPC/Open2.pm b/Master/tlpkg/tlperl/lib/IPC/Open2.pm index 9e27144571d..cd330507990 100644 --- a/Master/tlpkg/tlperl/lib/IPC/Open2.pm +++ b/Master/tlpkg/tlperl/lib/IPC/Open2.pm @@ -6,7 +6,7 @@ our ($VERSION, @ISA, @EXPORT); require 5.000; require Exporter; -$VERSION = 1.04; +$VERSION = 1.05; @ISA = qw(Exporter); @EXPORT = qw(open2); @@ -18,38 +18,42 @@ IPC::Open2 - open a process for both reading and writing using open2() use IPC::Open2; - $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'some cmd and args'); - # or without using the shell - $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'some', 'cmd', 'and', 'args'); + my $pid = open2(my $chld_out, my $chld_in, + 'some', 'cmd', 'and', 'args'); + # or passing the command through the shell + my $pid = open2(my $chld_out, my $chld_in, 'some cmd and args'); - # or with handle autovivification - my($chld_out, $chld_in); - $pid = open2($chld_out, $chld_in, 'some cmd and args'); - # or without using the shell - $pid = open2($chld_out, $chld_in, 'some', 'cmd', 'and', 'args'); + # read from parent STDIN and write to already open handle + open my $outfile, '>', 'outfile.txt' or die "open failed: $!"; + my $pid = open2($outfile, '<&STDIN', 'some', 'cmd', 'and', 'args'); + # read from already open handle and write to parent STDOUT + open my $infile, '<', 'infile.txt' or die "open failed: $!"; + my $pid = open2('>&STDOUT', $infile, 'some', 'cmd', 'and', 'args'); + + # reap zombie and retrieve exit status waitpid( $pid, 0 ); my $child_exit_status = $? >> 8; =head1 DESCRIPTION -The open2() function runs the given $cmd and connects $chld_out for +The open2() function runs the given command and connects $chld_out for reading and $chld_in for writing. It's what you think should work when you try - $pid = open(HANDLE, "|cmd args|"); + my $pid = open(my $fh, "|cmd args|"); -The write filehandle will have autoflush turned on. +The $chld_in filehandle will have autoflush turned on. If $chld_out is a string (that is, a bareword filehandle rather than a glob or a reference) and it begins with C<< >& >>, then the child will send output directly to that file handle. If $chld_in is a string that begins with C<< <& >>, then $chld_in will be closed in the parent, and the child will -read from it directly. In both cases, there will be a dup(2) instead of a -pipe(2) made. +read from it directly. In both cases, there will be a L instead of a +L made. -If either reader or writer is the null string, this will be replaced -by an autogenerated filehandle. If so, you must pass a valid lvalue +If either reader or writer is the empty string or undefined, this will be +replaced by an autogenerated filehandle. If so, you must pass a valid lvalue in the parameter slot so it can be overwritten in the caller, or an exception will be raised. @@ -66,10 +70,10 @@ Failing to do this can result in an accumulation of defunct or "zombie" processes. See L for more information. This whole affair is quite dangerous, as you may block forever. It -assumes it's going to talk to something like B, both writing +assumes it's going to talk to something like L, both writing to it and reading from it. This is presumably safe because you -"know" that commands like B will read a line at a time and -output a line at a time. Programs like B that read their +"know" that commands like L will read a line at a time and +output a line at a time. Programs like L that read their entire input stream first, however, are quite apt to cause deadlock. The big problem with this approach is that if you don't have control @@ -77,8 +81,8 @@ over source code being run in the child process, you can't control what it does with pipe buffering. Thus you can't just open a pipe to C and continually read and write a line from it. -The IO::Pty and Expect modules from CPAN can help with this, as they -provide a real tty (well, a pseudo-tty, actually), which gets you +The L and L modules from CPAN can help with this, as +they provide a real tty (well, a pseudo-tty, actually), which gets you back to line buffering in the invoked command again. =head1 WARNING diff --git a/Master/tlpkg/tlperl/lib/IPC/Open3.pm b/Master/tlpkg/tlperl/lib/IPC/Open3.pm index e5924a30a65..ce39d78f1ea 100644 --- a/Master/tlpkg/tlperl/lib/IPC/Open3.pm +++ b/Master/tlpkg/tlperl/lib/IPC/Open3.pm @@ -9,7 +9,7 @@ require Exporter; use Carp; use Symbol qw(gensym qualify); -$VERSION = '1.20'; +$VERSION = '1.21'; @ISA = qw(Exporter); @EXPORT = qw(open3); @@ -19,37 +19,48 @@ IPC::Open3 - open a process for reading, writing, and error handling using open3 =head1 SYNOPSIS - $pid = open3(\*CHLD_IN, \*CHLD_OUT, \*CHLD_ERR, - 'some cmd and args', 'optarg', ...); + use Symbol 'gensym'; # vivify a separate handle for STDERR + my $pid = open3(my $chld_in, my $chld_out, my $chld_err = gensym, + 'some', 'cmd', 'and', 'args'); + # or pass the command through the shell + my $pid = open3(my $chld_in, my $chld_out, my $chld_err = gensym, + 'some cmd and args'); - my($wtr, $rdr, $err); - use Symbol 'gensym'; $err = gensym; - $pid = open3($wtr, $rdr, $err, - 'some cmd and args', 'optarg', ...); + # read from parent STDIN + # send STDOUT and STDERR to already open handle + open my $outfile, '>>', 'output.txt' or die "open failed: $!"; + my $pid = open3('<&STDIN', $outfile, undef, + 'some', 'cmd', 'and', 'args'); + # write to parent STDOUT and STDERR + my $pid = open3(my $chld_in, '>&STDOUT', '>&STDERR', + 'some', 'cmd', 'and', 'args'); + + # reap zombie and retrieve exit status waitpid( $pid, 0 ); my $child_exit_status = $? >> 8; =head1 DESCRIPTION -Extremely similar to open2(), open3() spawns the given $cmd and -connects CHLD_OUT for reading from the child, CHLD_IN for writing to -the child, and CHLD_ERR for errors. If CHLD_ERR is false, or the -same file descriptor as CHLD_OUT, then STDOUT and STDERR of the child -are on the same filehandle (this means that an autovivified lexical -cannot be used for the STDERR filehandle, see SYNOPSIS). The CHLD_IN +Extremely similar to open2(), open3() spawns the given command and +connects $chld_out for reading from the child, $chld_in for writing to +the child, and $chld_err for errors. If $chld_err is false, or the +same file descriptor as $chld_out, then STDOUT and STDERR of the child +are on the same filehandle. This means that an autovivified lexical +cannot be used for the STDERR filehandle, but gensym from L can +be used to vivify a new glob reference, see L. The $chld_in will have autoflush turned on. -If CHLD_IN begins with C<< <& >>, then CHLD_IN will be closed in the -parent, and the child will read from it directly. If CHLD_OUT or -CHLD_ERR begins with C<< >& >>, then the child will send output -directly to that filehandle. In both cases, there will be a dup(2) -instead of a pipe(2) made. +If $chld_in begins with C<< <& >>, then $chld_in will be closed in the +parent, and the child will read from it directly. If $chld_out or +$chld_err begins with C<< >& >>, then the child will send output +directly to that filehandle. In both cases, there will be a L +instead of a L made. -If either reader or writer is the null string, this will be replaced -by an autogenerated filehandle. If so, you must pass a valid lvalue -in the parameter slot so it can be overwritten in the caller, or -an exception will be raised. +If either reader or writer is the empty string or undefined, this will +be replaced by an autogenerated filehandle. If so, you must pass a +valid lvalue in the parameter slot so it can be overwritten in the +caller, or an exception will be raised. The filehandles may also be integers, in which case they are understood as file descriptors. @@ -57,15 +68,15 @@ as file descriptors. open3() returns the process ID of the child process. It doesn't return on failure: it just raises an exception matching C. However, C failures in the child (such as no such file or permission denied), -are just reported to CHLD_ERR under Windows and OS/2, as it is not possible +are just reported to $chld_err under Windows and OS/2, as it is not possible to trap them. -If the child process dies for any reason, the next write to CHLD_IN is +If the child process dies for any reason, the next write to $chld_in is likely to generate a SIGPIPE in the parent, which is fatal by default. So you may wish to handle this signal. Note if you specify C<-> as the command, in an analogous fashion to -C the child process will just be the forked Perl +C the child process will just be the forked Perl process rather than an external command. This feature isn't yet supported on Win32 platforms. @@ -78,14 +89,14 @@ processes. See L for more information. If you try to read from the child's stdout writer and their stderr writer, you'll have problems with blocking, which means you'll want -to use select() or the IO::Select, which means you'd best use +to use select() or L, which means you'd best use sysread() instead of readline() for normal stuff. This is very dangerous, as you may block forever. It assumes it's -going to talk to something like B, both writing to it and reading +going to talk to something like L, both writing to it and reading from it. This is presumably safe because you "know" that commands -like B will read a line at a time and output a line at a time. -Programs like B that read their entire input stream first, +like L will read a line at a time and output a line at a time. +Programs like L that read their entire input stream first, however, are quite apt to cause deadlock. The big problem with this approach is that if you don't have control diff --git a/Master/tlpkg/tlperl/lib/JSON/PP.pm b/Master/tlpkg/tlperl/lib/JSON/PP.pm index d8b7ab30656..9f083542851 100644 --- a/Master/tlpkg/tlperl/lib/JSON/PP.pm +++ b/Master/tlpkg/tlperl/lib/JSON/PP.pm @@ -14,7 +14,7 @@ use JSON::PP::Boolean; use Carp (); #use Devel::Peek; -$JSON::PP::VERSION = '4.02'; +$JSON::PP::VERSION = '4.04'; @JSON::PP::EXPORT = qw(encode_json decode_json from_json to_json); @@ -1773,7 +1773,7 @@ JSON::PP - JSON::XS compatible pure-Perl module. =head1 VERSION - 4.02 + 4.04 =head1 DESCRIPTION diff --git a/Master/tlpkg/tlperl/lib/JSON/PP/Boolean.pm b/Master/tlpkg/tlperl/lib/JSON/PP/Boolean.pm index 8b98c95c2f4..8ef6949daf6 100644 --- a/Master/tlpkg/tlperl/lib/JSON/PP/Boolean.pm +++ b/Master/tlpkg/tlperl/lib/JSON/PP/Boolean.pm @@ -10,7 +10,7 @@ overload::import('overload', fallback => 1, ); -$JSON::PP::Boolean::VERSION = '4.02'; +$JSON::PP::Boolean::VERSION = '4.04'; 1; diff --git a/Master/tlpkg/tlperl/lib/List/Util.pm b/Master/tlpkg/tlperl/lib/List/Util.pm index b650d3585ac..e582d608743 100644 --- a/Master/tlpkg/tlperl/lib/List/Util.pm +++ b/Master/tlpkg/tlperl/lib/List/Util.pm @@ -12,16 +12,20 @@ require Exporter; our @ISA = qw(Exporter); our @EXPORT_OK = qw( - all any first min max minstr maxstr none notall product reduce sum sum0 shuffle uniq uniqnum uniqstr + all any first min max minstr maxstr none notall product reduce reductions sum sum0 + sample shuffle uniq uniqint uniqnum uniqstr head tail pairs unpairs pairkeys pairvalues pairmap pairgrep pairfirst ); -our $VERSION = "1.50"; +our $VERSION = "1.55"; our $XS_VERSION = $VERSION; -$VERSION = eval $VERSION; +$VERSION =~ tr/_//d; require XSLoader; XSLoader::load('List::Util', $XS_VERSION); +# Used by shuffle() +our $RAND; + sub import { my $pkg = caller; @@ -38,6 +42,7 @@ sub import # For objects returned by pairs() sub List::Util::_Pair::key { shift->[0] } sub List::Util::_Pair::value { shift->[1] } +sub List::Util::_Pair::TO_JSON { [ @{+shift} ] } =head1 NAME @@ -46,13 +51,13 @@ List::Util - A selection of general-utility list subroutines =head1 SYNOPSIS use List::Util qw( - reduce any all none notall first + reduce any all none notall first reductions max maxstr min minstr product sum sum0 pairs unpairs pairkeys pairvalues pairfirst pairgrep pairmap - shuffle uniq uniqnum uniqstr + shuffle uniq uniqint uniqnum uniqstr ); =head1 DESCRIPTION @@ -68,7 +73,8 @@ By default C does not export any subroutines. =head1 LIST-REDUCTION FUNCTIONS -The following set of functions all reduce a list down to a single value. +The following set of functions all apply a given block of code to a list of +values. =cut @@ -128,8 +134,28 @@ block that accumulates lengths by writing this instead as: $total = reduce { $a + length $b } 0, @strings -The remaining list-reduction functions are all specialisations of this generic -idea. +The other scalar-returning list reduction functions are all specialisations of +this generic idea. + +=head2 reductions + + @results = reductions { BLOCK } @list + +I + +Similar to C except that it also returns the intermediate values along +with the final result. As before, C<$a> is set to the first element of the +given list, and the C is then called once for remaining item in the +list set into C<$b>, with the result being captured for return as well as +becoming the new value for C<$a>. + +The returned list will begin with the initial value for C<$a>, followed by +each return value from the block in order. The final value of the result will +be identical to what the C function would have returned given the same +block and list. + + reduce { "$a-$b" } "a".."d" # "a-b-c-d" + reductions { "$a-$b" } "a".."d" # "a", "a-b", "a-b-c", "a-b-c-d" =head2 any @@ -341,6 +367,9 @@ equivalent: ... } +Since version C<1.51> they also have a C method to ease +serialisation. + =head2 unpairs my @kvlist = unpairs @pairs @@ -485,6 +514,25 @@ Returns the values of the input in a random order @cards = shuffle 0..51 # 0..51 in a random order +This function is affected by the C<$RAND> variable. + +=cut + +=head2 sample + + my @items = sample $count, @values + +I + +Randomly select the given number of elements from the input list. Any given +position in the input list will be selected at most once. + +If there are fewer than C<$count> items in the list then the function will +return once all of them have been randomly selected; effectively the function +behaves similarly to L. + +This function is affected by the C<$RAND> variable. + =head2 uniq my @subset = uniq @values @@ -505,6 +553,28 @@ string, and no warning will be produced. It is left as-is in the returned list. Subsequent C values are still considered identical to the first, and will be removed. +=head2 uniqint + + my @subset = uniqint @values + +I + +Filters a list of values to remove subsequent duplicates, as judged by an +integer numerical equality test. Preserves the order of unique elements, and +retains the first value of any duplicate set. Values in the returned list will +be coerced into integers. + + my $count = uniqint @values + +In scalar context, returns the number of elements that would have been +returned as a list. + +Note that C is treated much as other numerical operations treat it; it +compares equal to zero but additionally produces a warning if such warnings +are enabled (C). In addition, an C in +the returned list is coerced into a numerical zero, so that the entire list of +values returned by C are well-behaved as integers. + =head2 uniqnum my @subset = uniqnum @values @@ -557,6 +627,8 @@ entire list of values returned by C are well-behaved as strings. my @values = head $size, @list; +I + Returns the first C<$size> elements from C<@list>. If C<$size> is negative, returns all but the last C<$size> elements from C<@list>. @@ -570,6 +642,8 @@ all but the last C<$size> elements from C<@list>. my @values = tail $size, @list; +I + Returns the last C<$size> elements from C<@list>. If C<$size> is negative, returns all but the first C<$size> elements from C<@list>. @@ -579,6 +653,21 @@ all but the first C<$size> elements from C<@list>. @result = tail -2, qw( foo bar baz ); # baz +=head1 CONFIGURATION VARIABLES + +=head2 $RAND + + local $List::Util::RAND = sub { ... }; + +I + +This package variable is used by code which needs to generate random numbers +(such as the L and L functions). If set to a CODE reference +it provides an alternative to perl's builtin C function. When a new +random number is needed this function will be invoked with no arguments and is +expected to return a floating-point value, of which only the fractional part +will be used. + =head1 KNOWN BUGS =head2 RT #95409 diff --git a/Master/tlpkg/tlperl/lib/List/Util/XS.pm b/Master/tlpkg/tlperl/lib/List/Util/XS.pm index c8c066f8256..88f663f0ec4 100644 --- a/Master/tlpkg/tlperl/lib/List/Util/XS.pm +++ b/Master/tlpkg/tlperl/lib/List/Util/XS.pm @@ -3,8 +3,8 @@ use strict; use warnings; use List::Util; -our $VERSION = "1.50"; # FIXUP -$VERSION = eval $VERSION; # FIXUP +our $VERSION = "1.55"; # FIXUP +$VERSION =~ tr/_//d; # FIXUP 1; __END__ diff --git a/Master/tlpkg/tlperl/lib/Locale/Maketext.pod b/Master/tlpkg/tlperl/lib/Locale/Maketext.pod index 24c8f24d8f6..26be348353d 100644 --- a/Master/tlpkg/tlperl/lib/Locale/Maketext.pod +++ b/Master/tlpkg/tlperl/lib/Locale/Maketext.pod @@ -1387,16 +1387,16 @@ L. L. RFC 3066, I, -as at http://sunsite.dk/RFC/rfc/rfc3066.html +as at L RFC 2277, I -is at http://sunsite.dk/RFC/rfc/rfc2277.html -- much of it is +is at L -- much of it is just things of interest to protocol designers, but it explains some basic concepts, like the distinction between locales and language-tags. The manual for GNU C. The gettext dist is available in -C -- get +C> -- get a recent gettext tarball and look in its "doc/" directory, there's an easily browsable HTML version in there. The gettext documentation asks lots of questions worth thinking diff --git a/Master/tlpkg/tlperl/lib/Locale/Maketext/Cookbook.pod b/Master/tlpkg/tlperl/lib/Locale/Maketext/Cookbook.pod index 3457f7ca12a..51fad9528b3 100644 --- a/Master/tlpkg/tlperl/lib/Locale/Maketext/Cookbook.pod +++ b/Master/tlpkg/tlperl/lib/Locale/Maketext/Cookbook.pod @@ -68,7 +68,7 @@ should be more time expensive as an option. =head1 DECIMAL PLACES IN NUMBER FORMATTING -I +I)> The documentation of L advises that the standard bracket method C is limited and that diff --git a/Master/tlpkg/tlperl/lib/Locale/Maketext/TPJ13.pod b/Master/tlpkg/tlperl/lib/Locale/Maketext/TPJ13.pod index 7025b7f42c3..761af6c18ae 100644 --- a/Master/tlpkg/tlperl/lib/Locale/Maketext/TPJ13.pod +++ b/Master/tlpkg/tlperl/lib/Locale/Maketext/TPJ13.pod @@ -750,16 +750,16 @@ morphology and pedagogy of North American native languages. Alvestrand, Harald Tveit. 1995. I -C +C> [Now see RFC 3066.] Callon, Ross, editor. 1996. I -C +C> Drepper, Ulrich, Peter Miller, and FranEois Pinard. 1995-2001. GNU -C. Available in C, with +C. Available in C>, with extensive docs in the distribution tarball. [Since I wrote this article in 1998, I now see that the gettext docs are now trying more to come to terms with diff --git a/Master/tlpkg/tlperl/lib/Math/BigFloat.pm b/Master/tlpkg/tlperl/lib/Math/BigFloat.pm index 8a92b5818da..f1d7a1a0a0a 100644 --- a/Master/tlpkg/tlperl/lib/Math/BigFloat.pm +++ b/Master/tlpkg/tlperl/lib/Math/BigFloat.pm @@ -19,8 +19,9 @@ use warnings; use Carp qw< carp croak >; use Math::BigInt (); -our $VERSION = '1.999816'; +our $VERSION = '1.999818'; +require Exporter; our @ISA = qw/Math::BigInt/; our @EXPORT_OK = qw/bpi/; @@ -28,8 +29,6 @@ our @EXPORT_OK = qw/bpi/; our ($AUTOLOAD, $accuracy, $precision, $div_scale, $round_mode, $rnd_mode, $upgrade, $downgrade, $_trap_nan, $_trap_inf); -my $class = "Math::BigFloat"; - use overload # overload key: with_assign @@ -273,7 +272,7 @@ sub AUTOLOAD { my $name = $AUTOLOAD; $name =~ s/(.*):://; # split package - my $c = $1 || $class; + my $c = $1 || __PACKAGE__; no strict 'refs'; $c->import() if $IMPORT == 0; if (!_method_alias($name)) { @@ -418,7 +417,8 @@ sub new { return $self; } - # Handle hexadecimal numbers. + # Handle hexadecimal numbers. We auto-detect hexadecimal numbers if they + # have a "0x" or "0X" prefix. if ($wanted =~ /^\s*[+-]?0[Xx]/) { $self = $class -> from_hex($wanted); @@ -426,7 +426,42 @@ sub new { return $self; } - # Handle binary numbers. + # Handle octal numbers. We auto-detect octal numbers if they have a "0" + # prefix and a binary exponent. + + if ($wanted =~ / + ^ + \s* + + # sign + [+-]? + + # prefix + 0 + + # significand using the octal digits 0..7 + [0-7]+ (?: _ [0-7]+ )* + (?: + \. + (?: [0-7]+ (?: _ [0-7]+ )* )? + )? + + # exponent (power of 2) using decimal digits + [Pp] + [+-]? + \d+ (?: _ \d+ )* + + \s* + $ + /x) + { + $self = $class -> from_oct($wanted); + $self->round(@r) unless @r >= 2 && !defined $r[0] && !defined $r[1]; + return $self; + } + + # Handle binary numbers. We auto-detect binary numbers if they have a "0b" + # or "0B" prefix. if ($wanted =~ /^\s*[+-]?0[Bb]/) { $self = $class -> from_bin($wanted); @@ -781,6 +816,165 @@ sub from_bin { return $self->bnan(); } +sub from_ieee754 { + my $self = shift; + my $selfref = ref $self; + my $class = $selfref || $self; + + # Don't modify constant (read-only) objects. + + return if $selfref && $self->modify('from_ieee754'); + + my $in = shift; # input string (or raw bytes) + my $format = shift; # format ("binary32", "decimal64" etc.) + my $enc; # significand encoding (applies only to decimal) + my $k; # storage width in bits + my $b; # base + + if ($format =~ /^binary(\d+)\z/) { + $k = $1; + $b = 2; + } elsif ($format =~ /^decimal(\d+)(dpd|bcd)?\z/) { + $k = $1; + $b = 10; + $enc = $2 || 'dpd'; # default is dencely-packed decimals (DPD) + } elsif ($format eq 'half') { + $k = 16; + $b = 2; + } elsif ($format eq 'single') { + $k = 32; + $b = 2; + } elsif ($format eq 'double') { + $k = 64; + $b = 2; + } elsif ($format eq 'quadruple') { + $k = 128; + $b = 2; + } elsif ($format eq 'octuple') { + $k = 256; + $b = 2; + } elsif ($format eq 'sexdecuple') { + $k = 512; + $b = 2; + } + + if ($b == 2) { + + # Get the parameters for this format. + + my $p; # precision (in bits) + my $t; # number of bits in significand + my $w; # number of bits in exponent + + if ($k == 16) { # binary16 (half-precision) + $p = 11; + $t = 10; + $w = 5; + } elsif ($k == 32) { # binary32 (single-precision) + $p = 24; + $t = 23; + $w = 8; + } elsif ($k == 64) { # binary64 (double-precision) + $p = 53; + $t = 52; + $w = 11; + } else { # binaryN (quadruple-precision and above) + if ($k < 128 || $k != 32 * sprintf('%.0f', $k / 32)) { + croak "Number of bits must be 16, 32, 64, or >= 128 and", + " a multiple of 32"; + } + $p = $k - sprintf('%.0f', 4 * log($k) / log(2)) + 13; + $t = $p - 1; + $w = $k - $t - 1; + } + + # The maximum exponent, minimum exponent, and exponent bias. + + my $emax = Math::BigInt -> new(2) -> bpow($w - 1) -> bdec(); + my $emin = 1 - $emax; + my $bias = $emax; + + # Undefined input. + + unless (defined $in) { + carp("Input is undefined"); + return $self -> bzero(); + } + + # Make sure input string is a string of zeros and ones. + + my $len = CORE::length $in; + if (8 * $len == $k) { # bytes + $in = unpack "B*", $in; + } elsif (4 * $len == $k) { # hexadecimal + if ($in =~ /([^\da-f])/i) { + croak "Illegal hexadecimal digit '$1'"; + } + $in = unpack "B*", pack "H*", $in; + } elsif ($len == $k) { # bits + if ($in =~ /([^01])/) { + croak "Illegal binary digit '$1'"; + } + } else { + croak "Unknown input -- $in"; + } + + # Split bit string into sign, exponent, and mantissa/significand. + + my $sign = substr($in, 0, 1) eq '1' ? '-' : '+'; + my $expo = $class -> from_bin(substr($in, 1, $w)); + my $mant = $class -> from_bin(substr($in, $w + 1)); + + my $x; + + $expo -> bsub($bias); # subtract bias + + if ($expo < $emin) { # zero and subnormals + if ($mant == 0) { # zero + $x = $class -> bzero(); + } else { # subnormals + # compute (1/$b)**(N) rather than ($b)**(-N) + $x = $class -> new("0.5"); # 1/$b + $x -> bpow($bias + $t - 1) -> bmul($mant); + $x -> bneg() if $sign eq '-'; + } + } + + elsif ($expo > $emax) { # inf and nan + if ($mant == 0) { # inf + $x = $class -> binf($sign); + } else { # nan + $x = $class -> bnan(); + } + } + + else { # normals + $mant = $class -> new(2) -> bpow($t) -> badd($mant); + if ($expo < $t) { + # compute (1/$b)**(N) rather than ($b)**(-N) + $x = $class -> new("0.5"); # 1/$b + $x -> bpow($t - $expo) -> bmul($mant); + } else { + $x = $class -> new(2); + $x -> bpow($expo - $t) -> bmul($mant); + } + $x -> bneg() if $sign eq '-'; + } + + if ($selfref) { + $self -> {sign} = $x -> {sign}; + $self -> {_m} = $x -> {_m}; + $self -> {_es} = $x -> {_es}; + $self -> {_e} = $x -> {_e}; + } else { + $self = $x; + } + return $self; + } + + croak("The format '$format' is not yet supported."); +} + sub bzero { # create/assign '+0' @@ -3023,7 +3217,7 @@ sub bsqrt { return $x if $x->modify('bsqrt'); - return $x->bnan() if $x->{sign} !~ /^[+]/; # NaN, -inf or < 0 + return $x->bnan() if $x->{sign} !~ /^\+/; # NaN, -inf or < 0 return $x if $x->{sign} eq '+inf'; # sqrt(inf) == inf return $x->round($a, $p, $r) if $x->is_zero() || $x->is_one(); @@ -3783,7 +3977,7 @@ sub mantissa { if ($x->{sign} !~ /^[+-]$/) { my $s = $x->{sign}; - $s =~ s/^[+]//; + $s =~ s/^\+//; return Math::BigInt->new($s, undef, undef); # -inf, +inf => +inf } my $m = Math::BigInt->new($LIB->_str($x->{_m}), undef, undef); @@ -3798,7 +3992,7 @@ sub exponent { if ($x->{sign} !~ /^[+-]$/) { my $s = $x->{sign}; -$s =~ s/^[+-]//; + $s =~ s/^[+-]//; return Math::BigInt->new($s, undef, undef); # -inf, +inf => +inf } Math::BigInt->new($x->{_es} . $LIB->_str($x->{_e}), undef, undef); @@ -3810,9 +4004,9 @@ sub parts { if ($x->{sign} !~ /^[+-]$/) { my $s = $x->{sign}; -$s =~ s/^[+]//; -my $se = $s; -$se =~ s/^[-]//; + $s =~ s/^\+//; + my $se = $s; + $se =~ s/^-//; return ($class->new($s), $class->new($se)); # +inf => inf and -inf, +inf => inf } my $m = Math::BigInt->bzero(); @@ -3981,9 +4175,9 @@ sub bstr { } my $es = '0'; -my $len = 1; -my $cad = 0; -my $dot = '.'; + my $len = 1; + my $cad = 0; + my $dot = '.'; # $x is zero? my $not_zero = !($x->{sign} eq '+' && $LIB->_is_zero($x->{_m})); @@ -4007,8 +4201,8 @@ my $dot = '.'; } elsif ($e > 0) { # expand with zeros $es .= '0' x $e; -$len += $e; -$cad = 0; + $len += $e; + $cad = 0; } } # if not zero @@ -4160,6 +4354,197 @@ sub to_bin { return $x->{sign} eq '-' ? "-$str" : $str; } +sub to_ieee754 { + my $x = shift; + my $format = shift; + my $class = ref $x; + + my $enc; # significand encoding (applies only to decimal) + my $k; # storage width in bits + my $b; # base + + if ($format =~ /^binary(\d+)\z/) { + $k = $1; + $b = 2; + } elsif ($format =~ /^decimal(\d+)(dpd|bcd)?\z/) { + $k = $1; + $b = 10; + $enc = $2 || 'dpd'; # default is dencely-packed decimals (DPD) + } elsif ($format eq 'half') { + $k = 16; + $b = 2; + } elsif ($format eq 'single') { + $k = 32; + $b = 2; + } elsif ($format eq 'double') { + $k = 64; + $b = 2; + } elsif ($format eq 'quadruple') { + $k = 128; + $b = 2; + } elsif ($format eq 'octuple') { + $k = 256; + $b = 2; + } elsif ($format eq 'sexdecuple') { + $k = 512; + $b = 2; + } + + if ($b == 2) { + + # Get the parameters for this format. + + my $p; # precision (in bits) + my $t; # number of bits in significand + my $w; # number of bits in exponent + + if ($k == 16) { # binary16 (half-precision) + $p = 11; + $t = 10; + $w = 5; + } elsif ($k == 32) { # binary32 (single-precision) + $p = 24; + $t = 23; + $w = 8; + } elsif ($k == 64) { # binary64 (double-precision) + $p = 53; + $t = 52; + $w = 11; + } else { # binaryN (quadruple-precition and above) + if ($k < 128 || $k != 32 * sprintf('%.0f', $k / 32)) { + croak "Number of bits must be 16, 32, 64, or >= 128 and", + " a multiple of 32"; + } + $p = $k - sprintf('%.0f', 4 * log($k) / log(2)) + 13; + $t = $p - 1; + $w = $k - $t - 1; + } + + # The maximum exponent, minimum exponent, and exponent bias. + + my $emax = $class -> new(2) -> bpow($w - 1) -> bdec(); + my $emin = 1 - $emax; + my $bias = $emax; + + # Get numerical sign, exponent, and mantissa/significand for bit + # string. + + my $sign = 0; + my $expo; + my $mant; + + if ($x -> is_nan()) { # nan + $sign = 1; + $expo = $emax -> copy() -> binc(); + $mant = $class -> new(2) -> bpow($t - 1); + } elsif ($x -> is_inf()) { # inf + $sign = 1 if $x -> is_neg(); + $expo = $emax -> copy() -> binc(); + $mant = $class -> bzero(); + } elsif ($x -> is_zero()) { # zero + $expo = $emin -> copy() -> bdec(); + $mant = $class -> bzero(); + } else { # normal and subnormal + + $sign = 1 if $x -> is_neg(); + + # Now we need to compute the mantissa and exponent in base $b. + + my $binv = $class -> new("0.5"); + my $b = $class -> new(2); + my $one = $class -> bone(); + + # We start off by initializing the exponent to zero and the + # mantissa to the input value. Then we increase the mantissa and + # decrease the exponent, or vice versa, until the mantissa is in + # the desired range or we hit one of the limits for the exponent. + + $mant = $x -> copy() -> babs(); + + # We need to find the base 2 exponent. First make an estimate of + # the base 2 exponent, before adjusting it below. We could skip + # this estimation and go straight to the while-loops below, but the + # loops are slow, especially when the final exponent is far from + # zero and even more so if the number of digits is large. This + # initial estimation speeds up the computation dramatically. + # + # log2($m * 10**$e) = log10($m + 10**$e) * log(10)/log(2) + # = (log10($m) + $e) * log(10)/log(2) + # = (log($m)/log(10) + $e) * log(10)/log(2) + + my ($m, $e) = $x -> nparts(); + my $ms = $m -> numify(); + my $es = $e -> numify(); + + my $expo_est = (log(abs($ms))/log(10) + $es) * log(10)/log(2); + $expo_est = int($expo_est); + + # Limit the exponent. + + if ($expo_est > $emax) { + $expo_est = $emax; + } elsif ($expo_est < $emin) { + $expo_est = $emin; + } + + # Don't multiply by a number raised to a negative exponent. This + # will cause a division, whose result is truncated to some fixed + # number of digits. Instead, multiply by the inverse number raised + # to a positive exponent. + + $expo = $class -> new($expo_est); + if ($expo_est > 0) { + $mant -> bmul($binv -> copy() -> bpow($expo)); + } elsif ($expo_est < 0) { + my $expo_abs = $expo -> copy() -> bneg(); + $mant -> bmul($b -> copy() -> bpow($expo_abs)); + } + + # Final adjustment. + + while ($mant >= $b && $expo <= $emax) { + $mant -> bmul($binv); + $expo -> binc(); + } + + while ($mant < $one && $expo >= $emin) { + $mant -> bmul($b); + $expo -> bdec(); + } + + # Encode as infinity, normal number or subnormal number? + + if ($expo > $emax) { # overflow => infinity + $expo = $emax -> copy() -> binc(); + $mant = $class -> bzero(); + } elsif ($expo < $emin) { # subnormal number + my $const = $class -> new(2) -> bpow($t - 1); + $mant -> bmul($const); + $mant -> bfround(0); + } else { # normal number + $mant -> bdec(); # remove implicit leading bit + my $const = $class -> new(2) -> bpow($t); + $mant -> bmul($const) -> bfround(0); + } + } + + $expo -> badd($bias); # add bias + + my $signbit = "$sign"; + + my $mantbits = $mant -> to_bin(); + $mantbits = ("0" x ($t - CORE::length($mantbits))) . $mantbits; + + my $expobits = $expo -> to_bin(); + $expobits = ("0" x ($w - CORE::length($expobits))) . $expobits; + + my $bin = $signbit . $expobits . $mantbits; + return pack "B*", $bin; + } + + croak("The format '$format' is not yet supported."); +} + sub as_hex { # return number as hexadecimal string (only for integers defined) @@ -4231,7 +4616,7 @@ sub numify { } # Create a string and let Perl's atoi()/atof() handle the rest. - return 0 + $x -> bsstr(); + return 0 + $x -> bnstr(); } ############################################################################### @@ -4242,7 +4627,7 @@ sub import { my $class = shift; my $l = scalar @_; my $lib = ''; -my @a; + my @a; my $lib_kind = 'try'; $IMPORT=1; for (my $i = 0; $i < $l ; $i++) { @@ -4314,7 +4699,7 @@ sub _len_to_steps { # D = 50 => N => 42, so L = 40 and R = 50 my $l = 40; -my $r = $d; + my $r = $d; # Otherwise this does not work under -Mbignum and we do not yet have "no bignum;" :( $l = $l->numify if ref($l); @@ -4370,7 +4755,6 @@ sub _log { $over->bmul($u); $factor = $class->new(3); $f = $class->new(2); - my $steps = 0; $limit = $class->new("1E-". ($scale-1)); while (3 < 5) { @@ -4717,7 +5101,6 @@ sub _pow { $over = $u->copy(); $limit = $class->new("1E-". ($scale-1)); - #my $steps = 0; while (3 < 5) { # we calculate the next term, and add it to the last # when the next term is below our limit, it won't affect the outcome @@ -4731,8 +5114,6 @@ sub _pow { $factor->binc(); last if $x->{sign} !~ /^[-+]$/; - - #$steps++; } if ($do_invert) { @@ -4795,6 +5176,7 @@ Math::BigFloat - Arbitrary size floating point math package $x = Math::BigFloat->from_oct('0377'); # ditto $x = Math::BigFloat->from_bin('0b1.1001p-4'); # from binary $x = Math::BigFloat->from_bin('0101'); # ditto + $x = Math::BigFloat->from_ieee754($b, "binary64"); # from IEEE-754 bytes $x = Math::BigFloat->bzero(); # create a +0 $x = Math::BigFloat->bone(); # create a +1 $x = Math::BigFloat->bone('-'); # create a -1 @@ -4926,6 +5308,7 @@ Math::BigFloat - Arbitrary size floating point math package $x->as_hex(); # as signed hexadecimal string with prefixed 0x $x->as_bin(); # as signed binary string with prefixed 0b $x->as_oct(); # as signed octal string with prefixed 0 + $x->to_ieee754($format); # to bytes encoded according to IEEE 754-2008 # Other conversion methods @@ -5106,6 +5489,17 @@ using decimal digits. If called as an instance method, the value is assigned to the invocand. +=item from_ieee754() + +Interpret the input as a value encoded as described in IEEE754-2008. The input +can be given as a byte string, hex string or binary string. The input is +assumed to be in big-endian byte-order. + + # both $dbl and $mbf are 3.141592... + $bytes = "\x40\x09\x21\xfb\x54\x44\x2d\x18"; + $dbl = unpack "d>", $bytes; + $mbf = Math::BigFloat -> from_ieee754($bytes, "binary64"); + =item bpi() print Math::BigFloat->bpi(100), "\n"; @@ -5225,6 +5619,29 @@ Cnew()> can parse to create an object. In Math::BigFloat, C has the same effect as C. +=item to_ieee754() + +Encodes the invocand as a byte string in the given format as specified in IEEE +754-2008. Note that the encoded value is the nearest possible representation of +the value. This value might not be exactly the same as the value in the +invocand. + + # $x = 3.1415926535897932385 + $x = Math::BigFloat -> bpi(30); + + $b = $x -> to_ieee754("binary64"); # encode as 8 bytes + $h = unpack "H*", $b; # "400921fb54442d18" + + # 3.141592653589793115997963... + $y = Math::BigFloat -> from_ieee754($h, "binary64"); + +All binary formats in IEEE 754-2008 are accepted. For convenience, som aliases +are recognized: "half" for "binary16", "single" for "binary32", "double" for +"binary64", "quadruple" for "binary128", "octuple" for "binary256", and +"sexdecuple" for "binary512". + +See also L. + =back =head2 ACCURACY AND PRECISION @@ -5552,11 +5969,11 @@ L =item * CPAN Ratings -L +L -=item * Search CPAN +=item * MetaCPAN -L +L =item * CPAN Testers Matrix diff --git a/Master/tlpkg/tlperl/lib/Math/BigInt.pm b/Master/tlpkg/tlperl/lib/Math/BigInt.pm index a443cd4a5d4..185f8028350 100644 --- a/Master/tlpkg/tlperl/lib/Math/BigInt.pm +++ b/Master/tlpkg/tlperl/lib/Math/BigInt.pm @@ -1,3 +1,5 @@ +# -*- coding: utf-8-unix -*- + package Math::BigInt; # @@ -20,14 +22,12 @@ use warnings; use Carp qw< carp croak >; -our $VERSION = '1.999816'; +our $VERSION = '1.999818'; require Exporter; our @ISA = qw(Exporter); our @EXPORT_OK = qw(objectify bgcd blcm); -my $class = "Math::BigInt"; - # Inside overload, the first arg is always an object. If the original code had # it reversed (like $x = 2 * $y), then the third parameter is true. # In some cases (like add, $x = $x + 2 is the same as $x = 2 + $x) this makes @@ -232,9 +232,7 @@ my $LIB = 'Math::BigInt::Calc'; # module to do the low level math # default is Calc.pm my $IMPORT = 0; # was import() called yet? # used to make require work -my %WARN; # warn only once for low-level libs my %CALLBACKS; # callbacks to notify on lib loads -my $EMU_LIB = 'Math/BigInt/CalcEmu.pm'; # emulate low-level math ############################################################################## # the old code had $rnd_mode, so we need to support it, too @@ -1135,7 +1133,7 @@ sub bpi { if (@_ == 1) { # called like Math::BigInt::bpi(10); $n = $self; - $self = $class; + $self = __PACKAGE__; } $self = ref($self) if ref($self); @@ -1234,6 +1232,24 @@ sub is_negative { $x->{sign} =~ /^-/ ? 1 : 0; # -inf is negative, but NaN is not } +sub is_non_negative { + # Return true if argument is non-negative (>= 0). + my ($class, $x) = ref($_[0]) ? (undef,$_[0]) : objectify(1,@_); + + return 1 if $x->{sign} =~ /^\+/; + return 1 if $x -> is_zero(); + return 0; +} + +sub is_non_positive { + # Return true if argument is non-positive (<= 0). + my ($class, $x) = ref($_[0]) ? (undef,$_[0]) : objectify(1,@_); + + return 1 if $x->{sign} =~ /^\-/; + return 1 if $x -> is_zero(); + return 0; +} + sub is_odd { # return true when arg (BINT or num_str) is odd, false for even my ($class, $x) = ref($_[0]) ? (undef, $_[0]) : objectify(1, @_); @@ -2354,7 +2370,7 @@ sub bmodpow { $num->{value} = $value; $num->{sign} = $sign; - return $num; + return $num -> round(@r); } sub bpow { @@ -2401,21 +2417,14 @@ sub bpow { $r[3] = $y; # no push! - # cases 0 ** Y, X ** 0, X ** 1, 1 ** Y are handled by Calc or Emu - - my $new_sign = '+'; - $new_sign = $y->is_odd() ? '-' : '+' if ($x->{sign} ne '+'); + # 0 ** -y => ( 1 / (0 ** y)) => 1 / 0 => +inf + return $x->binf() if $y->is_negative() && $x->is_zero(); - # 0 ** -7 => ( 1 / (0 ** 7)) => 1 / 0 => +inf - return $x->binf() - if $y->{sign} eq '-' && $x->{sign} eq '+' && $LIB->_is_zero($x->{value}); # 1 ** -y => 1 / (1 ** |y|) - # so do test for negative $y after above's clause - return $x->bnan() if $y->{sign} eq '-' && !$LIB->_is_one($x->{value}); + return $x->bzero() if $y->is_negative() && !$LIB->_is_one($x->{value}); $x->{value} = $LIB->_pow($x->{value}, $y->{value}); - $x->{sign} = $new_sign; - $x->{sign} = '+' if $LIB->_is_zero($y->{value}); + $x->{sign} = $x->is_negative() && $y->is_odd() ? '-' : '+'; $x->round(@r); } @@ -2483,7 +2492,7 @@ sub blog { return $x; } - my ($rc, $exact) = $LIB->_log_int($x->{value}, $base->{value}); + my ($rc) = $LIB->_log_int($x->{value}, $base->{value}); return $x->bnan() unless defined $rc; # not possible to take log? $x->{value} = $rc; $x->round(@r); @@ -2602,6 +2611,126 @@ sub bnok { $n->round(@r); } +sub buparrow { + my $a = shift; + my $y = $a -> uparrow(@_); + $a -> {value} = $y -> {value}; + return $a; +} + +sub uparrow { + # Knuth's up-arrow notation buparrow(a, n, b) + # + # The following is a simple, recursive implementation of the up-arrow + # notation, just to show the idea. Such implementations cause "Deep + # recursion on subroutine ..." warnings, so we use a faster, non-recursive + # algorithm below with @_ as a stack. + # + # sub buparrow { + # my ($a, $n, $b) = @_; + # return $a ** $b if $n == 1; + # return $a * $b if $n == 0; + # return 1 if $b == 0; + # return buparrow($a, $n - 1, buparrow($a, $n, $b - 1)); + # } + + my ($a, $b, $n) = @_; + my $class = ref $a; + croak("a must be non-negative") if $a < 0; + croak("n must be non-negative") if $n < 0; + croak("b must be non-negative") if $b < 0; + + while (@_ >= 3) { + + # return $a ** $b if $n == 1; + + if ($_[-2] == 1) { + my ($a, $n, $b) = splice @_, -3; + push @_, $a ** $b; + next; + } + + # return $a * $b if $n == 0; + + if ($_[-2] == 0) { + my ($a, $n, $b) = splice @_, -3; + push @_, $a * $b; + next; + } + + # return 1 if $b == 0; + + if ($_[-1] == 0) { + splice @_, -3; + push @_, $class -> bone(); + next; + } + + # return buparrow($a, $n - 1, buparrow($a, $n, $b - 1)); + + my ($a, $n, $b) = splice @_, -3; + push @_, ($a, $n - 1, + $a, $n, $b - 1); + + } + + pop @_; +} + +sub backermann { + my $m = shift; + my $y = $m -> ackermann(@_); + $m -> {value} = $y -> {value}; + return $m; +} + +sub ackermann { + # Ackermann's function ackermann(m, n) + # + # The following is a simple, recursive implementation of the ackermann + # function, just to show the idea. Such implementations cause "Deep + # recursion on subroutine ..." warnings, so we use a faster, non-recursive + # algorithm below with @_ as a stack. + # + # sub ackermann { + # my ($m, $n) = @_; + # return $n + 1 if $m == 0; + # return ackermann($m - 1, 1) if $m > 0 && $n == 0; + # return ackermann($m - 1, ackermann($m, $n - 1) if $m > 0 && $n > 0; + # } + + my ($m, $n) = @_; + my $class = ref $m; + croak("m must be non-negative") if $m < 0; + croak("n must be non-negative") if $n < 0; + + my $two = $class -> new("2"); + my $three = $class -> new("3"); + my $thirteen = $class -> new("13"); + + $n = pop; + $n = $class -> new($n) unless ref($n); + while (@_) { + my $m = pop; + if ($m > $three) { + push @_, (--$m) x $n; + while (--$m >= $three) { + push @_, $m; + } + $n = $thirteen; + } elsif ($m == $three) { + $n = $class -> bone() -> blsft($n + $three) -> bsub($three); + } elsif ($m == $two) { + $n -> bmul($two) -> badd($three); + } elsif ($m >= 0) { + $n -> badd($m) -> binc(); + } else { + die "negative m!"; + } + } + $n; +} + sub bsin { # Calculate sinus(x) to N digits. Unless upgrading is in effect, returns the # result truncated to an integer. @@ -2654,9 +2783,9 @@ sub batan { return $upgrade->new($x)->batan(@r) if defined $upgrade; # calculate the result and truncate it to integer - my $t = Math::BigFloat->new($x)->batan(@r); + my $tmp = Math::BigFloat->new($x)->batan(@r); - $x->{value} = $LIB->_new($x->as_int()->bstr()); + $x->{value} = $LIB->_new($tmp->as_int()->bstr()); $x->round(@r); } @@ -2902,12 +3031,19 @@ sub blsft { # (BINT or num_str, BINT or num_str) return BINT # compute x << y, base n, y >= 0 - # set up parameters - my ($class, $x, $y, $b, @r) = (ref($_[0]), @_); + my ($class, $x, $y, $b, @r); - # objectify is costly, so avoid it - if ((!ref($_[0])) || (ref($_[0]) ne ref($_[1]))) { - ($class, $x, $y, $b, @r) = objectify(2, @_); + # Objectify the base only when it is defined, since an undefined base, as + # in $x->blsft(3) or $x->blog(3, undef) means use the default base 2. + + if (!ref($_[0]) && $_[0] =~ /^[A-Za-z]|::/) { + # E.g., Math::BigInt->blog(256, 5, 2) + ($class, $x, $y, $b, @r) = + defined $_[3] ? objectify(3, @_) : objectify(2, @_); + } else { + # E.g., Math::BigInt::blog(256, 5, 2) or $x->blog(5, 2) + ($class, $x, $y, $b, @r) = + defined $_[2] ? objectify(3, @_) : objectify(2, @_); } return $x if $x -> modify('blsft'); @@ -2915,7 +3051,15 @@ sub blsft { $y -> {sign} !~ /^[+-]$/); return $x -> round(@r) if $y -> is_zero(); - $b = 2 if !defined $b; + $b = defined($b) ? $b -> numify() : 2; + + # While some of the libraries support an arbitrarily large base, not all of + # them do, so rather than returning an incorrect result in those cases, + # disallow bases that don't work with all libraries. + + my $uintmax = ~0; + croak("Base is too large.") if $b > $uintmax; + return $x -> bnan() if $b <= 0 || $y -> {sign} eq '-'; $x -> {value} = $LIB -> _lsft($x -> {value}, $y -> {value}, $b); @@ -3146,7 +3290,7 @@ sub bround { # do not return $x->bnorm(), but $x my $x = shift; - $x = $class->new($x) unless ref $x; + $x = __PACKAGE__->new($x) unless ref $x; my ($scale, $mode) = $x->_scale_a(@_); return $x if !defined $scale || $x->modify('bround'); # no-op @@ -3264,7 +3408,7 @@ sub fround { # Exists to make life easier for switch between MBF and MBI (should we # autoload fxxx() like MBF does for bxxx()?) my $x = shift; - $x = $class->new($x) unless ref $x; + $x = __PACKAGE__->new($x) unless ref $x; $x->bround(@_); } @@ -3356,6 +3500,31 @@ sub digit { $LIB->_digit($x->{value}, $n || 0); } +sub bdigitsum { + # like digitsum(), but assigns the result to the invocand + my $x = shift; + + return $x if $x -> is_nan(); + return $x -> bnan() if $x -> is_inf(); + + $x -> {value} = $LIB -> _digitsum($x -> {value}); + $x -> {sign} = '+'; + return $x; +} + +sub digitsum { + # compute sum of decimal digits and return it + my $x = shift; + my $class = ref $x; + + return $class -> bnan() if $x -> is_nan(); + return $class -> bnan() if $x -> is_inf(); + + my $y = $class -> bzero(); + $y -> {value} = $LIB -> _digitsum($x -> {value}); + return $y; +} + sub length { my ($class, $x) = ref($_[0]) ? (undef, $_[0]) : objectify(1, @_); @@ -3652,7 +3821,7 @@ sub bdstr { sub to_hex { # return as hex string, with prefixed 0x my $x = shift; - $x = $class->new($x) if !ref($x); + $x = __PACKAGE__->new($x) if !ref($x); return $x->bstr() if $x->{sign} !~ /^[+-]$/; # inf, nan etc @@ -3663,7 +3832,7 @@ sub to_hex { sub to_oct { # return as octal string, with prefixed 0 my $x = shift; - $x = $class->new($x) if !ref($x); + $x = __PACKAGE__->new($x) if !ref($x); return $x->bstr() if $x->{sign} !~ /^[+-]$/; # inf, nan etc @@ -3674,7 +3843,7 @@ sub to_oct { sub to_bin { # return as binary string, with prefixed 0b my $x = shift; - $x = $class->new($x) if !ref($x); + $x = __PACKAGE__->new($x) if !ref($x); return $x->bstr() if $x->{sign} !~ /^[+-]$/; # inf, nan etc @@ -3685,7 +3854,7 @@ sub to_bin { sub to_bytes { # return a byte string my $x = shift; - $x = $class->new($x) if !ref($x); + $x = __PACKAGE__->new($x) if !ref($x); croak("to_bytes() requires a finite, non-negative integer") if $x -> is_neg() || ! $x -> is_int(); @@ -3699,13 +3868,13 @@ sub to_bytes { sub to_base { # return a base anything string my $x = shift; - $x = $class->new($x) if !ref($x); + $x = __PACKAGE__->new($x) if !ref($x); croak("the value to convert must be a finite, non-negative integer") if $x -> is_neg() || !$x -> is_int(); my $base = shift; - $base = $class->new($base) unless ref($base); + $base = __PACKAGE__->new($base) unless ref($base); croak("the base must be a finite integer >= 2") if $base < 2 || ! $base -> is_int(); @@ -3729,7 +3898,7 @@ sub to_base { sub as_hex { # return as hex string, with prefixed 0x my $x = shift; - $x = $class->new($x) if !ref($x); + $x = __PACKAGE__->new($x) if !ref($x); return $x->bstr() if $x->{sign} !~ /^[+-]$/; # inf, nan etc @@ -3740,7 +3909,7 @@ sub as_hex { sub as_oct { # return as octal string, with prefixed 0 my $x = shift; - $x = $class->new($x) if !ref($x); + $x = __PACKAGE__->new($x) if !ref($x); return $x->bstr() if $x->{sign} !~ /^[+-]$/; # inf, nan etc @@ -3751,7 +3920,7 @@ sub as_oct { sub as_bin { # return as binary string, with prefixed 0b my $x = shift; - $x = $class->new($x) if !ref($x); + $x = __PACKAGE__->new($x) if !ref($x); return $x->bstr() if $x->{sign} !~ /^[+-]$/; # inf, nan etc @@ -3768,7 +3937,7 @@ sub as_bin { sub numify { # Make a Perl scalar number from a Math::BigInt object. my $x = shift; - $x = $class->new($x) unless ref $x; + $x = __PACKAGE__->new($x) unless ref $x; if ($x -> is_nan()) { require Math::Complex; @@ -3817,7 +3986,7 @@ sub objectify { # Check the context. unless (wantarray) { - croak("${class}::objectify() needs list context"); + croak(__PACKAGE__ . "::objectify() needs list context"); } # Get the number of arguments to objectify. @@ -3935,10 +4104,9 @@ sub objectify { sub import { my $class = shift; $IMPORT++; # remember we did import() - my @a; - my $l = scalar @_; + my @a; # unrecognized arguments my $warn_or_die = 0; # 0 - no warn, 1 - warn, 2 - die - for (my $i = 0; $i < $l ; $i++) { + for (my $i = 0; $i <= $#_ ; $i++) { if ($_[$i] eq ':constant') { # this causes overlord er load to step in overload::constant @@ -3951,7 +4119,9 @@ sub import { } elsif ($_[$i] =~ /^(lib|try|only)\z/) { # this causes a different low lib to take care... $LIB = $_[$i+1] || ''; - # lib => 1 (warn on fallback), try => 0 (no warn), only => 2 (die on fallback) + # try => 0 (no warn) + # lib => 1 (warn on fallback) + # only => 2 (die on fallback) $warn_or_die = 1 if $_[$i] eq 'lib'; $warn_or_die = 2 if $_[$i] eq 'only'; $i++; @@ -3968,77 +4138,34 @@ sub import { # try to load core math lib my @c = split /\s*,\s*/, $LIB; foreach (@c) { - $_ =~ tr/a-zA-Z0-9://cd; # limit to sane characters + tr/a-zA-Z0-9://cd; # limit to sane characters } push @c, \'Calc' # if all fail, try these if $warn_or_die < 2; # but not for "only" - $LIB = ''; # signal error + $LIB = ''; # signal error foreach my $l (@c) { # fallback libraries are "marked" as \'string', extract string if nec. my $lib = $l; $lib = $$l if ref($l); - next if ($lib || '') eq ''; + next unless defined($lib) && CORE::length($lib); $lib = 'Math::BigInt::'.$lib if $lib !~ /^Math::BigInt/i; $lib =~ s/\.pm$//; - if ($] < 5.006) { - # Perl < 5.6.0 dies with "out of memory!" when eval("") and ':constant' is - # used in the same script, or eval("") inside import(). - my @parts = split /::/, $lib; # Math::BigInt => Math BigInt - my $file = pop @parts; - $file .= '.pm'; # BigInt => BigInt.pm - require File::Spec; - $file = File::Spec->catfile (@parts, $file); - eval { - require "$file"; - $lib->import(@c); - } - } else { - eval "use $lib qw/@c/;"; - } + my @parts = split /::/, $lib; # Math::BigInt => Math BigInt + $parts[-1] .= '.pm'; # BigInt => BigInt.pm + require File::Spec; + my $file = File::Spec->catfile(@parts); + eval { require $file; }; if ($@ eq '') { - my $ok = 1; - # loaded it ok, see if the api_version() is high enough - if ($lib->can('api_version') && $lib->api_version() >= 1.0) { - $ok = 0; - # api_version matches, check if it really provides anything we need - for my $method (qw/ - one two ten - str num - add mul div sub dec inc - acmp len digit is_one is_zero is_even is_odd - is_two is_ten - zeros new copy check - from_hex from_oct from_bin as_hex as_bin as_oct - rsft lsft xor and or - mod sqrt root fac pow modinv modpow log_int gcd - /) { - if (!$lib->can("_$method")) { - if (($WARN{$lib} || 0) < 2) { - carp("$lib is missing method '_$method'"); - $WARN{$lib} = 1; # still warn about the lib - } - $ok++; - last; - } - } - } - if ($ok == 0) { - $LIB = $lib; - if ($warn_or_die > 0 && ref($l)) { - my $msg = "Math::BigInt: couldn't load specified" - . " math lib(s), fallback to $lib"; - carp($msg) if $warn_or_die == 1; - croak($msg) if $warn_or_die == 2; - } - last; # found a usable one, break - } else { - if (($WARN{$lib} || 0) < 2) { - my $ver = eval "\$$lib\::VERSION" || 'unknown'; - carp("Cannot load outdated $lib v$ver, please upgrade"); - $WARN{$lib} = 2; # never warn again - } + $lib->import(); + $LIB = $lib; + if ($warn_or_die > 0 && ref($l)) { + my $msg = "Math::BigInt: couldn't load specified" + . " math lib(s), fallback to $lib"; + carp($msg) if $warn_or_die == 1; + croak($msg) if $warn_or_die == 2; } + last; # found a usable one, break } } if ($LIB eq '') { @@ -4210,7 +4337,7 @@ sub _split { sub _trailing_zeros { # return the amount of trailing zeros in $x (as scalar) my $x = shift; - $x = $class->new($x) unless ref $x; + $x = __PACKAGE__->new($x) unless ref $x; return 0 if $x->{sign} !~ /^[+-]$/; # NaN, inf, -inf etc @@ -4423,6 +4550,8 @@ Math::BigInt - Arbitrary size integer/float math package $x->blog($base); # logarithm of $x to base $base (e.g., base 2) $x->bexp(); # calculate e ** $x where e is Euler's number $x->bnok($y); # x over y (binomial coefficient n over k) + $x->buparrow($n, $y); # Knuth's up-arrow notation + $x->backermann($y); # the Ackermann function $x->bsin(); # sine $x->bcos(); # cosine $x->batan(); # inverse tangent @@ -4987,6 +5116,18 @@ neither positive nor negative. Returns true if the invocand is negative and false otherwise. A C is neither positive nor negative. +=item is_non_positive() + + $x->is_non_positive(); # true if <= 0 + +Returns true if the invocand is negative or zero. + +=item is_non_negative() + + $x->is_non_negative(); # true if >= 0 + +Returns true if the invocand is positive or zero. + =item is_odd() $x->is_odd(); # true if odd, false for even @@ -5292,6 +5433,38 @@ pseudo-code: The behaviour is identical to the behaviour of the Maple and Mathematica function for negative integers n, k. +=item buparrow() + +=item uparrow() + + $a -> buparrow($n, $b); # modifies $a + $x = $a -> uparrow($n, $b); # does not modify $a + +This method implements Knuth's up-arrow notation, where $n is a non-negative +integer representing the number of up-arrows. $n = 0 gives multiplication, $n = +1 gives exponentiation, $n = 2 gives tetration, $n = 3 gives hexation etc. The +following illustrates the relation between the first values of $n. + +See L. + +=item backermann() + +=item ackermann() + + $m -> backermann($n); # modifies $a + $x = $m -> ackermann($n); # does not modify $a + +This method implements the Ackermann function: + + / n + 1 if m = 0 + A(m, n) = | A(m-1, 1) if m > 0 and n = 0 + \ A(m-1, A(m, n-1)) if m > 0 and n > 0 + +Its value grows rapidly, even for small inputs. For example, A(4, 2) is an +integer of 19729 decimal digits. + +See https://en.wikipedia.org/wiki/Ackermann_function + =item bsin() my $x = Math::BigInt->new(1); @@ -5590,6 +5763,18 @@ If you want $x to have a certain sign, use one of the following methods: If C<$n> is negative, returns the digit counting from left. +=item digitsum() + + $x->digitsum(); + +Computes the sum of the base 10 digits and returns it. + +=item bdigitsum() + + $x->bdigitsum(); + +Computes the sum of the base 10 digits and assigns the result to the invocand. + =item length() $x->length(); @@ -6696,11 +6881,11 @@ L =item * CPAN Ratings -L +L -=item * Search CPAN +=item * MetaCPAN -L +L =item * CPAN Testers Matrix diff --git a/Master/tlpkg/tlperl/lib/Math/BigInt/Calc.pm b/Master/tlpkg/tlperl/lib/Math/BigInt/Calc.pm index 2bb06a0976b..cd8f1ee44e6 100644 --- a/Master/tlpkg/tlperl/lib/Math/BigInt/Calc.pm +++ b/Master/tlpkg/tlperl/lib/Math/BigInt/Calc.pm @@ -7,7 +7,7 @@ use warnings; use Carp qw< carp croak >; use Math::BigInt::Lib; -our $VERSION = '1.999816'; +our $VERSION = '1.999818'; our @ISA = ('Math::BigInt::Lib'); @@ -35,9 +35,6 @@ our @ISA = ('Math::BigInt::Lib'); ############################################################################## # global constants, flags and accessory -# announce that we are compatible with MBI v1.83 and up -sub api_version () { 2; } - # constants for easier life my ($BASE, $BASE_LEN, $RBASE, $MAX_VAL); my ($AND_BITS, $XOR_BITS, $OR_BITS); @@ -50,9 +47,7 @@ sub _base_len { my ($class, $b, $int) = @_; if (defined $b) { - # avoid redefinitions - undef &_mul; - undef &_div; + no warnings "redefine"; if ($] >= 5.008 && $int && $b > 7) { $BASE_LEN = $b; @@ -403,13 +398,14 @@ sub _mul_use_mul { my ($c, $xv, $yv) = @_; if (@$yv == 1) { - # shortcut for two very short numbers (improved by Nathan Zook) - # works also if xv and yv are the same reference, and handles also $x == 0 + # shortcut for two very short numbers (improved by Nathan Zook) works + # also if xv and yv are the same reference, and handles also $x == 0 if (@$xv == 1) { if (($xv->[0] *= $yv->[0]) >= $BASE) { - $xv->[0] = $xv->[0] - ($xv->[1] = int($xv->[0] * $RBASE)) * $BASE; + my $rem = $xv->[0] % $BASE; + $xv->[1] = ($xv->[0] - $rem) * $RBASE; + $xv->[0] = $rem; } - ; return $xv; } # $x * 0 => 0 @@ -417,56 +413,44 @@ sub _mul_use_mul { @$xv = (0); return $xv; } + # multiply a large number a by a single element one, so speed up my $y = $yv->[0]; my $car = 0; + my $rem; foreach my $i (@$xv) { $i = $i * $y + $car; - $car = int($i * $RBASE); - $i -= $car * $BASE; + $rem = $i % $BASE; + $car = ($i - $rem) * $RBASE; + $i = $rem; } push @$xv, $car if $car != 0; return $xv; } + # shortcut for result $x == 0 => result = 0 return $xv if @$xv == 1 && $xv->[0] == 0; # since multiplying $x with $x fails, make copy in this case - $yv = [ @$xv ] if $xv == $yv; # same references? + $yv = $c->_copy($xv) if $xv == $yv; # same references? my @prod = (); - my ($prod, $car, $cty, $xi, $yi); - + my ($prod, $rem, $car, $cty, $xi, $yi); for $xi (@$xv) { $car = 0; $cty = 0; - - # slow variant - # for $yi (@$yv) - # { - # $prod = $xi * $yi + ($prod[$cty] || 0) + $car; - # $prod[$cty++] = - # $prod - ($car = int($prod * RBASE)) * $BASE; # see USE_MUL - # } - # $prod[$cty] += $car if $car; # need really to check for 0? - # $xi = shift @prod; - - # faster variant # looping through this if $xi == 0 is silly - so optimize it away! - $xi = (shift @prod || 0), next if $xi == 0; + $xi = (shift(@prod) || 0), next if $xi == 0; for $yi (@$yv) { $prod = $xi * $yi + ($prod[$cty] || 0) + $car; - ## this is actually a tad slower - ## $prod = $prod[$cty]; $prod += ($car + $xi * $yi); # no ||0 here - $prod[$cty++] = - $prod - ($car = int($prod * $RBASE)) * $BASE; # see USE_MUL + $rem = $prod % $BASE; + $car = int(($prod - $rem) * $RBASE); + $prod[$cty++] = $rem; } - $prod[$cty] += $car if $car; # need really to check for 0? - $xi = shift @prod || 0; # || 0 makes v5.005_3 happy + $prod[$cty] += $car if $car; # need really to check for 0? + $xi = shift(@prod) || 0; # || 0 makes v5.005_3 happy } push @$xv, @prod; - # can't have leading zeros - # __strip_zeros($xv); $xv; } @@ -478,11 +462,11 @@ sub _mul_use_div_64 { my ($c, $xv, $yv) = @_; use integer; + if (@$yv == 1) { - # shortcut for two small numbers, also handles $x == 0 + # shortcut for two very short numbers (improved by Nathan Zook) works + # also if xv and yv are the same reference, and handles also $x == 0 if (@$xv == 1) { - # shortcut for two very short numbers (improved by Nathan Zook) - # works also if xv and yv are the same reference, and handles also $x == 0 if (($xv->[0] *= $yv->[0]) >= $BASE) { $xv->[0] = $xv->[0] - ($xv->[1] = $xv->[0] / $BASE) * $BASE; @@ -494,6 +478,7 @@ sub _mul_use_div_64 { @$xv = (0); return $xv; } + # multiply a large number a by a single element one, so speed up my $y = $yv->[0]; my $car = 0; @@ -505,11 +490,12 @@ sub _mul_use_div_64 { push @$xv, $car if $car != 0; return $xv; } + # shortcut for result $x == 0 => result = 0 - return $xv if ( ((@$xv == 1) && ($xv->[0] == 0)) ); + return $xv if @$xv == 1 && $xv->[0] == 0; # since multiplying $x with $x fails, make copy in this case - $yv = $c->_copy($xv) if $xv == $yv; # same references? + $yv = $c->_copy($xv) if $xv == $yv; # same references? my @prod = (); my ($prod, $car, $cty, $xi, $yi); @@ -517,13 +503,13 @@ sub _mul_use_div_64 { $car = 0; $cty = 0; # looping through this if $xi == 0 is silly - so optimize it away! - $xi = (shift @prod || 0), next if $xi == 0; + $xi = (shift(@prod) || 0), next if $xi == 0; for $yi (@$yv) { $prod = $xi * $yi + ($prod[$cty] || 0) + $car; $prod[$cty++] = $prod - ($car = $prod / $BASE) * $BASE; } - $prod[$cty] += $car if $car; # need really to check for 0? - $xi = shift @prod || 0; # || 0 makes v5.005_3 happy + $prod[$cty] += $car if $car; # need really to check for 0? + $xi = shift(@prod) || 0; # || 0 makes v5.005_3 happy } push @$xv, @prod; $xv; @@ -536,15 +522,14 @@ sub _mul_use_div { my ($c, $xv, $yv) = @_; if (@$yv == 1) { - # shortcut for two small numbers, also handles $x == 0 + # shortcut for two very short numbers (improved by Nathan Zook) works + # also if xv and yv are the same reference, and handles also $x == 0 if (@$xv == 1) { - # shortcut for two very short numbers (improved by Nathan Zook) - # works also if xv and yv are the same reference, and handles also $x == 0 if (($xv->[0] *= $yv->[0]) >= $BASE) { - $xv->[0] = - $xv->[0] - ($xv->[1] = int($xv->[0] / $BASE)) * $BASE; + my $rem = $xv->[0] % $BASE; + $xv->[1] = ($xv->[0] - $rem) / $BASE; + $xv->[0] = $rem; } - ; return $xv; } # $x * 0 => 0 @@ -552,42 +537,44 @@ sub _mul_use_div { @$xv = (0); return $xv; } + # multiply a large number a by a single element one, so speed up my $y = $yv->[0]; my $car = 0; + my $rem; foreach my $i (@$xv) { $i = $i * $y + $car; - $car = int($i / $BASE); - $i -= $car * $BASE; - # This (together with use integer;) does not work on 32-bit Perls - #$i = $i * $y + $car; $i -= ($car = $i / $BASE) * $BASE; + $rem = $i % $BASE; + $car = ($i - $rem) / $BASE; + $i = $rem; } push @$xv, $car if $car != 0; return $xv; } + # shortcut for result $x == 0 => result = 0 - return $xv if ( ((@$xv == 1) && ($xv->[0] == 0)) ); + return $xv if @$xv == 1 && $xv->[0] == 0; # since multiplying $x with $x fails, make copy in this case - $yv = $c->_copy($xv) if $xv == $yv; # same references? + $yv = $c->_copy($xv) if $xv == $yv; # same references? my @prod = (); - my ($prod, $car, $cty, $xi, $yi); + my ($prod, $rem, $car, $cty, $xi, $yi); for $xi (@$xv) { $car = 0; $cty = 0; # looping through this if $xi == 0 is silly - so optimize it away! - $xi = (shift @prod || 0), next if $xi == 0; + $xi = (shift(@prod) || 0), next if $xi == 0; for $yi (@$yv) { $prod = $xi * $yi + ($prod[$cty] || 0) + $car; - $prod[$cty++] = $prod - ($car = int($prod / $BASE)) * $BASE; + $rem = $prod % $BASE; + $car = ($prod - $rem) / $BASE; + $prod[$cty++] = $rem; } - $prod[$cty] += $car if $car; # need really to check for 0? - $xi = shift @prod || 0; # || 0 makes v5.005_3 happy + $prod[$cty] += $car if $car; # need really to check for 0? + $xi = shift(@prod) || 0; # || 0 makes v5.005_3 happy } push @$xv, @prod; - # can't have leading zeros - # __strip_zeros($xv); $xv; } @@ -595,28 +582,19 @@ sub _div_use_mul { # ref to array, ref to array, modify first array and return remainder if # in list context - # see comments in _div_use_div() for more explanations - my ($c, $x, $yorg) = @_; # the general div algorithm here is about O(N*N) and thus quite slow, so # we first check for some special cases and use shortcuts to handle them. - # This works, because we store the numbers in a chunked format where each - # element contains 5..7 digits (depending on system). - # if both numbers have only one element: if (@$x == 1 && @$yorg == 1) { # shortcut, $yorg and $x are two small numbers - if (wantarray) { - my $rem = [ $x->[0] % $yorg->[0] ]; - bless $rem, $c; - $x->[0] = int($x->[0] / $yorg->[0]); - return ($x, $rem); - } else { - $x->[0] = int($x->[0] / $yorg->[0]); - return $x; - } + my $rem = [ $x->[0] % $yorg->[0] ]; + bless $rem, $c; + $x->[0] = ($x->[0] - $rem->[0]) / $yorg->[0]; + return ($x, $rem) if wantarray; + return $x; } # if x has more than one, but y has only one element: @@ -631,120 +609,120 @@ sub _div_use_mul { my $b; while ($j-- > 0) { $b = $r * $BASE + $x->[$j]; - $x->[$j] = int($b/$y); $r = $b % $y; + $x->[$j] = ($b - $r) / $y; } - pop @$x if @$x > 1 && $x->[-1] == 0; # splice up a leading zero + pop(@$x) if @$x > 1 && $x->[-1] == 0; # remove any trailing zero return ($x, $rem) if wantarray; return $x; } # now x and y have more than one element - # check whether y has more elements than x, if yet, the result will be 0 + # check whether y has more elements than x, if so, the result is 0 if (@$yorg > @$x) { my $rem; - $rem = $c->_copy($x) if wantarray; # make copy - @$x = 0; # set to 0 - return ($x, $rem) if wantarray; # including remainder? - return $x; # only x, which is [0] now + $rem = $c->_copy($x) if wantarray; # make copy + @$x = 0; # set to 0 + return ($x, $rem) if wantarray; # including remainder? + return $x; # only x, which is [0] now } + # check whether the numbers have the same number of elements, in that case # the result will fit into one element and can be computed efficiently if (@$yorg == @$x) { + my $cmp = 0; + for (my $j = $#$x ; $j >= 0 ; --$j) { + last if $cmp = $x->[$j] - $yorg->[$j]; + } - # if $yorg has more digits than $x (it's leading element is longer than - # the one from $x), the result will also be 0: - if (length(int($yorg->[-1])) > length(int($x->[-1]))) { - my $rem = $c->_copy($x) if wantarray; # make copy - @$x = 0; # set to 0 - return ($x, $rem) if wantarray; # including remainder? + if ($cmp == 0) { # x = y + @$x = 1; + return $x, $c->_zero() if wantarray; return $x; } - # now calculate $x / $yorg - if (length(int($yorg->[-1])) == length(int($x->[-1]))) { - # same length, so make full compare - my $a = 0; - my $j = @$x - 1; - # manual way (abort if unequal, good for early ne) - while ($j >= 0) { - last if ($a = $x->[$j] - $yorg->[$j]); - $j--; - } - # $a contains the result of the compare between X and Y - # a < 0: x < y, a == 0: x == y, a > 0: x > y - if ($a <= 0) { - # a = 0 => x == y => rem 0 - # a < 0 => x < y => rem = x - my $rem = $a == 0 ? $c->_zero() : $c->_copy($x); - @$x = 0; # if $a < 0 - $x->[0] = 1 if $a == 0; # $x == $y - return ($x, $rem) if wantarray; - return $x; + if ($cmp < 0) { # x < y + if (wantarray) { + my $rem = $c->_copy($x); + @$x = 0; + return $x, $rem; } - # $x >= $y, so proceed normally + @$x = 0; + return $x; } } # all other cases: - my $y = $c->_copy($yorg); # always make copy to preserve + my $y = $c->_copy($yorg); # always make copy to preserve - my ($car, $bar, $prd, $dd, $xi, $yi, @q, $v2, $v1, $tmp, $q, $u2, $u1, $u0); - - $car = $bar = $prd = 0; - if (($dd = int($BASE / ($y->[-1] + 1))) != 1) { - for $xi (@$x) { + my $tmp = $y->[-1] + 1; + my $rem = $BASE % $tmp; + my $dd = ($BASE - $rem) / $tmp; + if ($dd != 1) { + my $car = 0; + for my $xi (@$x) { $xi = $xi * $dd + $car; - $xi -= ($car = int($xi * $RBASE)) * $BASE; # see USE_MUL + $xi -= ($car = int($xi * $RBASE)) * $BASE; # see USE_MUL } push(@$x, $car); $car = 0; - for $yi (@$y) { + for my $yi (@$y) { $yi = $yi * $dd + $car; - $yi -= ($car = int($yi * $RBASE)) * $BASE; # see USE_MUL + $yi -= ($car = int($yi * $RBASE)) * $BASE; # see USE_MUL } } else { push(@$x, 0); } - @q = (); - ($v2, $v1) = @$y[-2, -1]; + + # @q will accumulate the final result, $q contains the current computed + # part of the final result + + my @q = (); + my ($v2, $v1) = @$y[-2, -1]; $v2 = 0 unless $v2; while ($#$x > $#$y) { - ($u2, $u1, $u0) = @$x[-3 .. -1]; + my ($u2, $u1, $u0) = @$x[-3 .. -1]; $u2 = 0 unless $u2; #warn "oups v1 is 0, u0: $u0 $y->[-2] $y->[-1] l ",scalar @$y,"\n" # if $v1 == 0; - $q = (($u0 == $v1) ? $MAX_VAL : int(($u0 * $BASE + $u1) / $v1)); - --$q while ($v2 * $q > ($u0 * $BASE + $u1 - $q * $v1) * $BASE + $u2); + my $tmp = $u0 * $BASE + $u1; + my $rem = $tmp % $v1; + my $q = $u0 == $v1 ? $MAX_VAL : (($tmp - $rem) / $v1); + --$q while $v2 * $q > ($u0 * $BASE + $u1 - $q * $v1) * $BASE + $u2; if ($q) { - ($car, $bar) = (0, 0); - for ($yi = 0, $xi = $#$x - $#$y-1; $yi <= $#$y; ++$yi, ++$xi) { + my $prd; + my ($car, $bar) = (0, 0); + for (my $yi = 0, my $xi = $#$x - $#$y - 1; $yi <= $#$y; ++$yi, ++$xi) { $prd = $q * $y->[$yi] + $car; - $prd -= ($car = int($prd * $RBASE)) * $BASE; # see USE_MUL - $x->[$xi] += $BASE if ($bar = (($x->[$xi] -= $prd + $bar) < 0)); + $prd -= ($car = int($prd * $RBASE)) * $BASE; # see USE_MUL + $x->[$xi] += $BASE if $bar = (($x->[$xi] -= $prd + $bar) < 0); } if ($x->[-1] < $car + $bar) { $car = 0; --$q; - for ($yi = 0, $xi = $#$x - $#$y-1; $yi <= $#$y; ++$yi, ++$xi) { + for (my $yi = 0, my $xi = $#$x - $#$y - 1; $yi <= $#$y; ++$yi, ++$xi) { $x->[$xi] -= $BASE - if ($car = (($x->[$xi] += $y->[$yi] + $car) >= $BASE)); + if $car = (($x->[$xi] += $y->[$yi] + $car) >= $BASE); } } } pop(@$x); unshift(@q, $q); } + if (wantarray) { my $d = bless [], $c; if ($dd != 1) { - $car = 0; - for $xi (reverse @$x) { + my $car = 0; + my ($prd, $rem); + for my $xi (reverse @$x) { $prd = $car * $BASE + $xi; - $car = $prd - ($tmp = int($prd / $dd)) * $dd; # see USE_MUL - unshift(@$d, $tmp); + $rem = $prd % $dd; + $tmp = ($prd - $rem) / $dd; + $car = $rem; + unshift @$d, $tmp; } } else { @$d = @$x; @@ -762,29 +740,29 @@ sub _div_use_mul { sub _div_use_div_64 { # ref to array, ref to array, modify first array and return remainder if # in list context - # This version works on 64 bit integers - my ($c, $x, $yorg) = @_; + # This version works on integers use integer; + + my ($c, $x, $yorg) = @_; + # the general div algorithm here is about O(N*N) and thus quite slow, so # we first check for some special cases and use shortcuts to handle them. - # This works, because we store the numbers in a chunked format where each - # element contains 5..7 digits (depending on system). - # if both numbers have only one element: if (@$x == 1 && @$yorg == 1) { # shortcut, $yorg and $x are two small numbers if (wantarray) { my $rem = [ $x->[0] % $yorg->[0] ]; bless $rem, $c; - $x->[0] = int($x->[0] / $yorg->[0]); + $x->[0] = $x->[0] / $yorg->[0]; return ($x, $rem); } else { - $x->[0] = int($x->[0] / $yorg->[0]); + $x->[0] = $x->[0] / $yorg->[0]; return $x; } } + # if x has more than one, but y has only one element: if (@$yorg == 1) { my $rem; @@ -797,78 +775,67 @@ sub _div_use_div_64 { my $b; while ($j-- > 0) { $b = $r * $BASE + $x->[$j]; - $x->[$j] = int($b/$y); $r = $b % $y; + $x->[$j] = $b / $y; } - pop @$x if @$x > 1 && $x->[-1] == 0; # splice up a leading zero + pop(@$x) if @$x > 1 && $x->[-1] == 0; # remove any trailing zero return ($x, $rem) if wantarray; return $x; } + # now x and y have more than one element - # check whether y has more elements than x, if yet, the result will be 0 + # check whether y has more elements than x, if so, the result is 0 if (@$yorg > @$x) { my $rem; - $rem = $c->_copy($x) if wantarray; # make copy - @$x = 0; # set to 0 - return ($x, $rem) if wantarray; # including remainder? - return $x; # only x, which is [0] now + $rem = $c->_copy($x) if wantarray; # make copy + @$x = 0; # set to 0 + return ($x, $rem) if wantarray; # including remainder? + return $x; # only x, which is [0] now } + # check whether the numbers have the same number of elements, in that case # the result will fit into one element and can be computed efficiently if (@$yorg == @$x) { - my $rem; - # if $yorg has more digits than $x (it's leading element is longer than - # the one from $x), the result will also be 0: - if (length(int($yorg->[-1])) > length(int($x->[-1]))) { - $rem = $c->_copy($x) if wantarray; # make copy - @$x = 0; # set to 0 - return ($x, $rem) if wantarray; # including remainder? - return $x; + my $cmp = 0; + for (my $j = $#$x ; $j >= 0 ; --$j) { + last if $cmp = $x->[$j] - $yorg->[$j]; } - # now calculate $x / $yorg - if (length(int($yorg->[-1])) == length(int($x->[-1]))) { - # same length, so make full compare + if ($cmp == 0) { # x = y + @$x = 1; + return $x, $c->_zero() if wantarray; + return $x; + } - my $a = 0; - my $j = @$x - 1; - # manual way (abort if unequal, good for early ne) - while ($j >= 0) { - last if ($a = $x->[$j] - $yorg->[$j]); - $j--; - } - # $a contains the result of the compare between X and Y - # a < 0: x < y, a == 0: x == y, a > 0: x > y - if ($a <= 0) { - $rem = $c->_zero(); # a = 0 => x == y => rem 0 - $rem = $c->_copy($x) if $a != 0; # a < 0 => x < y => rem = x - @$x = 0; # if $a < 0 - $x->[0] = 1 if $a == 0; # $x == $y - return ($x, $rem) if wantarray; # including remainder? - return $x; + if ($cmp < 0) { # x < y + if (wantarray) { + my $rem = $c->_copy($x); + @$x = 0; + return $x, $rem; } - # $x >= $y, so proceed normally + @$x = 0; + return $x; } } # all other cases: - my $y = $c->_copy($yorg); # always make copy to preserve - - my ($car, $bar, $prd, $dd, $xi, $yi, @q, $v2, $v1, $tmp, $q, $u2, $u1, $u0); + my $y = $c->_copy($yorg); # always make copy to preserve - $car = $bar = $prd = 0; - if (($dd = int($BASE / ($y->[-1] + 1))) != 1) { - for $xi (@$x) { + my $tmp; + my $dd = $BASE / ($y->[-1] + 1); + if ($dd != 1) { + my $car = 0; + for my $xi (@$x) { $xi = $xi * $dd + $car; - $xi -= ($car = int($xi / $BASE)) * $BASE; + $xi -= ($car = $xi / $BASE) * $BASE; } push(@$x, $car); $car = 0; - for $yi (@$y) { + for my $yi (@$y) { $yi = $yi * $dd + $car; - $yi -= ($car = int($yi / $BASE)) * $BASE; + $yi -= ($car = $yi / $BASE) * $BASE; } } else { push(@$x, 0); @@ -877,43 +844,48 @@ sub _div_use_div_64 { # @q will accumulate the final result, $q contains the current computed # part of the final result - @q = (); - ($v2, $v1) = @$y[-2, -1]; + my @q = (); + my ($v2, $v1) = @$y[-2, -1]; $v2 = 0 unless $v2; while ($#$x > $#$y) { - ($u2, $u1, $u0) = @$x[-3..-1]; + my ($u2, $u1, $u0) = @$x[-3 .. -1]; $u2 = 0 unless $u2; #warn "oups v1 is 0, u0: $u0 $y->[-2] $y->[-1] l ",scalar @$y,"\n" # if $v1 == 0; - $q = (($u0 == $v1) ? $MAX_VAL : int(($u0 * $BASE + $u1) / $v1)); - --$q while ($v2 * $q > ($u0 * $BASE +$ u1- $q*$v1) * $BASE + $u2); + my $tmp = $u0 * $BASE + $u1; + my $rem = $tmp % $v1; + my $q = $u0 == $v1 ? $MAX_VAL : (($tmp - $rem) / $v1); + --$q while $v2 * $q > ($u0 * $BASE + $u1 - $q * $v1) * $BASE + $u2; if ($q) { - ($car, $bar) = (0, 0); - for ($yi = 0, $xi = $#$x - $#$y - 1; $yi <= $#$y; ++$yi, ++$xi) { + my $prd; + my ($car, $bar) = (0, 0); + for (my $yi = 0, my $xi = $#$x - $#$y - 1; $yi <= $#$y; ++$yi, ++$xi) { $prd = $q * $y->[$yi] + $car; $prd -= ($car = int($prd / $BASE)) * $BASE; - $x->[$xi] += $BASE if ($bar = (($x->[$xi] -= $prd + $bar) < 0)); + $x->[$xi] += $BASE if $bar = (($x->[$xi] -= $prd + $bar) < 0); } if ($x->[-1] < $car + $bar) { $car = 0; --$q; - for ($yi = 0, $xi = $#$x - $#$y - 1; $yi <= $#$y; ++$yi, ++$xi) { + for (my $yi = 0, my $xi = $#$x - $#$y - 1; $yi <= $#$y; ++$yi, ++$xi) { $x->[$xi] -= $BASE - if ($car = (($x->[$xi] += $y->[$yi] + $car) >= $BASE)); + if $car = (($x->[$xi] += $y->[$yi] + $car) >= $BASE); } } } pop(@$x); unshift(@q, $q); } + if (wantarray) { my $d = bless [], $c; if ($dd != 1) { - $car = 0; - for $xi (reverse @$x) { + my $car = 0; + my $prd; + for my $xi (reverse @$x) { $prd = $car * $BASE + $xi; - $car = $prd - ($tmp = int($prd / $dd)) * $dd; - unshift(@$d, $tmp); + $car = $prd - ($tmp = $prd / $dd) * $dd; + unshift @$d, $tmp; } } else { @$d = @$x; @@ -931,27 +903,22 @@ sub _div_use_div_64 { sub _div_use_div { # ref to array, ref to array, modify first array and return remainder if # in list context + my ($c, $x, $yorg) = @_; # the general div algorithm here is about O(N*N) and thus quite slow, so # we first check for some special cases and use shortcuts to handle them. - # This works, because we store the numbers in a chunked format where each - # element contains 5..7 digits (depending on system). - # if both numbers have only one element: if (@$x == 1 && @$yorg == 1) { # shortcut, $yorg and $x are two small numbers - if (wantarray) { - my $rem = [ $x->[0] % $yorg->[0] ]; - bless $rem, $c; - $x->[0] = int($x->[0] / $yorg->[0]); - return ($x, $rem); - } else { - $x->[0] = int($x->[0] / $yorg->[0]); - return $x; - } + my $rem = [ $x->[0] % $yorg->[0] ]; + bless $rem, $c; + $x->[0] = ($x->[0] - $rem->[0]) / $yorg->[0]; + return ($x, $rem) if wantarray; + return $x; } + # if x has more than one, but y has only one element: if (@$yorg == 1) { my $rem; @@ -964,80 +931,72 @@ sub _div_use_div { my $b; while ($j-- > 0) { $b = $r * $BASE + $x->[$j]; - $x->[$j] = int($b/$y); $r = $b % $y; + $x->[$j] = ($b - $r) / $y; } - pop @$x if @$x > 1 && $x->[-1] == 0; # splice up a leading zero + pop(@$x) if @$x > 1 && $x->[-1] == 0; # remove any trailing zero return ($x, $rem) if wantarray; return $x; } + # now x and y have more than one element - # check whether y has more elements than x, if yet, the result will be 0 + # check whether y has more elements than x, if so, the result is 0 if (@$yorg > @$x) { my $rem; - $rem = $c->_copy($x) if wantarray; # make copy - @$x = 0; # set to 0 - return ($x, $rem) if wantarray; # including remainder? - return $x; # only x, which is [0] now + $rem = $c->_copy($x) if wantarray; # make copy + @$x = 0; # set to 0 + return ($x, $rem) if wantarray; # including remainder? + return $x; # only x, which is [0] now } + # check whether the numbers have the same number of elements, in that case # the result will fit into one element and can be computed efficiently if (@$yorg == @$x) { - my $rem; - # if $yorg has more digits than $x (it's leading element is longer than - # the one from $x), the result will also be 0: - if (length(int($yorg->[-1])) > length(int($x->[-1]))) { - $rem = $c->_copy($x) if wantarray; # make copy - @$x = 0; # set to 0 - return ($x, $rem) if wantarray; # including remainder? - return $x; + my $cmp = 0; + for (my $j = $#$x ; $j >= 0 ; --$j) { + last if $cmp = $x->[$j] - $yorg->[$j]; } - # now calculate $x / $yorg - if (length(int($yorg->[-1])) == length(int($x->[-1]))) { - # same length, so make full compare + if ($cmp == 0) { # x = y + @$x = 1; + return $x, $c->_zero() if wantarray; + return $x; + } - my $a = 0; - my $j = @$x - 1; - # manual way (abort if unequal, good for early ne) - while ($j >= 0) { - last if ($a = $x->[$j] - $yorg->[$j]); - $j--; - } - # $a contains the result of the compare between X and Y - # a < 0: x < y, a == 0: x == y, a > 0: x > y - if ($a <= 0) { - $rem = $c->_zero(); # a = 0 => x == y => rem 0 - $rem = $c->_copy($x) if $a != 0; # a < 0 => x < y => rem = x + if ($cmp < 0) { # x < y + if (wantarray) { + my $rem = $c->_copy($x); @$x = 0; - $x->[0] = 0; # if $a < 0 - $x->[0] = 1 if $a == 0; # $x == $y - return ($x, $rem) if wantarray; # including remainder? - return $x; + return $x, $rem; } - # $x >= $y, so proceed normally - + @$x = 0; + return $x; } } # all other cases: - my $y = $c->_copy($yorg); # always make copy to preserve - - my ($car, $bar, $prd, $dd, $xi, $yi, @q, $v2, $v1, @d, $tmp, $q, $u2, $u1, $u0); + my $y = $c->_copy($yorg); # always make copy to preserve - $car = $bar = $prd = 0; - if (($dd = int($BASE / ($y->[-1] + 1))) != 1) { - for $xi (@$x) { + my $tmp = $y->[-1] + 1; + my $rem = $BASE % $tmp; + my $dd = ($BASE - $rem) / $tmp; + if ($dd != 1) { + my $car = 0; + for my $xi (@$x) { $xi = $xi * $dd + $car; - $xi -= ($car = int($xi / $BASE)) * $BASE; + $rem = $xi % $BASE; + $car = ($xi - $rem) / $BASE; + $xi = $rem; } push(@$x, $car); $car = 0; - for $yi (@$y) { + for my $yi (@$y) { $yi = $yi * $dd + $car; - $yi -= ($car = int($yi / $BASE)) * $BASE; + $rem = $yi % $BASE; + $car = ($yi - $rem) / $BASE; + $yi = $rem; } } else { push(@$x, 0); @@ -1046,43 +1005,52 @@ sub _div_use_div { # @q will accumulate the final result, $q contains the current computed # part of the final result - @q = (); - ($v2, $v1) = @$y[-2, -1]; + my @q = (); + my ($v2, $v1) = @$y[-2, -1]; $v2 = 0 unless $v2; while ($#$x > $#$y) { - ($u2, $u1, $u0) = @$x[-3..-1]; + my ($u2, $u1, $u0) = @$x[-3 .. -1]; $u2 = 0 unless $u2; #warn "oups v1 is 0, u0: $u0 $y->[-2] $y->[-1] l ",scalar @$y,"\n" # if $v1 == 0; - $q = (($u0 == $v1) ? $MAX_VAL : int(($u0 * $BASE + $u1) / $v1)); - --$q while ($v2 * $q > ($u0 * $BASE + $u1 - $q * $v1) * $BASE + $u2); + my $tmp = $u0 * $BASE + $u1; + my $rem = $tmp % $v1; + my $q = $u0 == $v1 ? $MAX_VAL : (($tmp - $rem) / $v1); + --$q while $v2 * $q > ($u0 * $BASE + $u1 - $q * $v1) * $BASE + $u2; if ($q) { - ($car, $bar) = (0, 0); - for ($yi = 0, $xi = $#$x - $#$y - 1; $yi <= $#$y; ++$yi, ++$xi) { + my $prd; + my ($car, $bar) = (0, 0); + for (my $yi = 0, my $xi = $#$x - $#$y - 1; $yi <= $#$y; ++$yi, ++$xi) { $prd = $q * $y->[$yi] + $car; - $prd -= ($car = int($prd / $BASE)) * $BASE; - $x->[$xi] += $BASE if ($bar = (($x->[$xi] -= $prd + $bar) < 0)); + $rem = $prd % $BASE; + $car = ($prd - $rem) / $BASE; + $prd -= $car * $BASE; + $x->[$xi] += $BASE if $bar = (($x->[$xi] -= $prd + $bar) < 0); } if ($x->[-1] < $car + $bar) { $car = 0; --$q; - for ($yi = 0, $xi = $#$x - $#$y - 1; $yi <= $#$y; ++$yi, ++$xi) { + for (my $yi = 0, my $xi = $#$x - $#$y - 1; $yi <= $#$y; ++$yi, ++$xi) { $x->[$xi] -= $BASE - if ($car = (($x->[$xi] += $y->[$yi] + $car) >= $BASE)); + if $car = (($x->[$xi] += $y->[$yi] + $car) >= $BASE); } } } pop(@$x); unshift(@q, $q); } + if (wantarray) { my $d = bless [], $c; if ($dd != 1) { - $car = 0; - for $xi (reverse @$x) { + my $car = 0; + my ($prd, $rem); + for my $xi (reverse @$x) { $prd = $car * $BASE + $xi; - $car = $prd - ($tmp = int($prd / $dd)) * $dd; - unshift(@$d, $tmp); + $rem = $prd % $dd; + $tmp = ($prd - $rem) / $dd; + $car = $rem; + unshift @$d, $tmp; } } else { @$d = @$x; @@ -1385,7 +1353,7 @@ sub _rsft { $dst++; } splice(@$x, $dst) if $dst > 0; # kill left-over array elems - pop @$x if $x->[-1] == 0 && @$x > 1; # kill last element if 0 + pop(@$x) if $x->[-1] == 0 && @$x > 1; # kill last element if 0 } # else rem == 0 $x; } @@ -1393,49 +1361,64 @@ sub _rsft { sub _lsft { my ($c, $x, $n, $b) = @_; - return $x if $c->_is_zero($x); - - # Handle the special case when the base is a power of 10. Don't check - # whether log($b)/log(10) is an integer, because log(1000)/log(10) is not - # exactly 3. - - my $log10 = sprintf "%.0f", log($b) / log(10); - if ($b == 10 ** $log10) { - $b = 10; - $n = $c->_mul($n, $c->_new($log10)); - - # shortcut (faster) for shifting by 10) since we are in base 10eX - # multiples of $BASE_LEN: - my $src = @$x; # source - my $len = $c->_num($n); # shift-len as normal int - my $rem = $len % $BASE_LEN; # remainder to shift - my $dst = $src + int($len / $BASE_LEN); # destination - my $vd; # further speedup - $x->[$src] = 0; # avoid first ||0 for speed - my $z = '0' x $BASE_LEN; - while ($src >= 0) { - $vd = $x->[$src]; - $vd = $z . $vd; - $vd = substr($vd, -$BASE_LEN + $rem, $BASE_LEN - $rem); - $vd .= $src > 0 ? substr($z . $x->[$src - 1], -$BASE_LEN, $rem) - : '0' x $rem; - $vd = substr($vd, -$BASE_LEN, $BASE_LEN) if length($vd) > $BASE_LEN; - $x->[$dst] = int($vd); - $dst--; - $src--; + return $x if $c->_is_zero($x) || $c->_is_zero($n); + + # For backwards compatibility, allow the base $b to be a scalar. + + $b = $c->_new($b) unless ref $b; + + # If the base is a power of 10, use shifting, since the internal + # representation is in base 10eX. + + my $bstr = $c->_str($b); + if ($bstr =~ /^1(0+)\z/) { + + # Adjust $n so that we're shifting in base 10. Do this by multiplying + # $n by the base 10 logarithm of $b: $b ** $n = 10 ** (log10($b) * $n). + + my $log10b = length($1); + $n = $c->_mul($c->_new($log10b), $n); + $n = $c->_num($n); # shift-len as normal int + + # $q is the number of places to shift the elements within the array, + # and $r is the number of places to shift the values within the + # elements. + + my $r = $n % $BASE_LEN; + my $q = ($n - $r) / $BASE_LEN; + + # If we must shift the values within the elements ... + + if ($r) { + my $i = @$x; # index + $x->[$i] = 0; # initialize most significant element + my $z = '0' x $BASE_LEN; + my $vd; + while ($i >= 0) { + $vd = $x->[$i]; + $vd = $z . $vd; + $vd = substr($vd, $r - $BASE_LEN, $BASE_LEN - $r); + $vd .= $i > 0 ? substr($z . $x->[$i - 1], -$BASE_LEN, $r) + : '0' x $r; + $vd = substr($vd, -$BASE_LEN, $BASE_LEN) if length($vd) > $BASE_LEN; + $x->[$i] = int($vd); # e.g., "0...048" -> 48 etc. + $i--; + } + + pop(@$x) if $x->[-1] == 0; # if most significant element is zero } - # set lowest parts to 0 - while ($dst >= 0) { - $x->[$dst--] = 0; + + # If we must shift the elements within the array ... + + if ($q) { + unshift @$x, (0) x $q; } - # fix spurious last zero element - splice @$x, -1 if $x->[-1] == 0; - return $x; + } else { - $b = $c->_new($b); - #print $c->_str($b); - return $c->_mul($x, $c->_pow($b, $n)); + $x = $c->_mul($x, $c->_pow($b, $n)); } + + return $x; } sub _pow { diff --git a/Master/tlpkg/tlperl/lib/Math/BigInt/FastCalc.pm b/Master/tlpkg/tlperl/lib/Math/BigInt/FastCalc.pm index 3e772e92a3e..4e903bd4f10 100644 --- a/Master/tlpkg/tlperl/lib/Math/BigInt/FastCalc.pm +++ b/Master/tlpkg/tlperl/lib/Math/BigInt/FastCalc.pm @@ -8,7 +8,7 @@ use Math::BigInt::Calc 1.999801; our @ISA = qw< Math::BigInt::Calc >; -our $VERSION = '0.5008'; +our $VERSION = '0.5009'; ############################################################################## # global constants, flags and accessory diff --git a/Master/tlpkg/tlperl/lib/Math/BigInt/Lib.pm b/Master/tlpkg/tlperl/lib/Math/BigInt/Lib.pm index 883f31f4c93..fde281297fb 100755 --- a/Master/tlpkg/tlperl/lib/Math/BigInt/Lib.pm +++ b/Master/tlpkg/tlperl/lib/Math/BigInt/Lib.pm @@ -4,7 +4,7 @@ use 5.006001; use strict; use warnings; -our $VERSION = '1.999816'; +our $VERSION = '1.999818'; use Carp; @@ -251,13 +251,6 @@ use overload ; -# Do we need api_version() at all, now that we have a virtual parent class that -# will provide any missing methods? Fixme! - -sub api_version () { - croak "@{[(caller 0)[3]]} method not implemented"; -} - sub _new { croak "@{[(caller 0)[3]]} method not implemented"; } @@ -386,6 +379,20 @@ sub _digit { substr($class ->_str($x), -($n+1), 1); } +sub _digitsum { + my ($class, $x) = @_; + + my $len = $class -> _len($x); + my $sum = $class -> _zero(); + for (my $i = 0 ; $i < $len ; ++$i) { + my $digit = $class -> _digit($x, $i); + $digit = $class -> _new($digit); + $sum = $class -> _add($sum, $digit); + } + + return $sum; +} + sub _zeros { my ($class, $x) = @_; my $str = $class -> _str($x); @@ -1428,16 +1435,20 @@ sub _to_base { if (@_) { $collseq = shift(); } else { - if ($class -> _acmp($base, $class -> _new("62")) <= 0) { - $collseq = '0123456789' . 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' - . 'abcdefghijklmnopqrstuvwxyz'; + if ($class -> _acmp($base, $class -> _new("94")) <= 0) { + $collseq = '0123456789' # 48 .. 57 + . 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' # 65 .. 90 + . 'abcdefghijklmnopqrstuvwxyz' # 97 .. 122 + . '!"#$%&\'()*+,-./' # 33 .. 47 + . ':;<=>?@' # 58 .. 64 + . '[\\]^_`' # 91 .. 96 + . '{|}~'; # 123 .. 126 } else { - croak "When base > 62, a collation sequence must be given"; + croak "When base > 94, a collation sequence must be given"; } } my @collseq = split '', $collseq; - my %collseq = map { $_ => $collseq[$_] } 0 .. $#collseq; my $str = ''; my $tmp = $class -> _copy($x); @@ -1573,11 +1584,16 @@ sub _from_base { if ($class -> _acmp($base, $class -> _new("36")) <= 0) { $str = uc $str; $collseq = '0123456789' . 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; - } elsif ($class -> _acmp($base, $class -> _new("62")) <= 0) { - $collseq = '0123456789' . 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' - . 'abcdefghijklmnopqrstuvwxyz'; + } elsif ($class -> _acmp($base, $class -> _new("94")) <= 0) { + $collseq = '0123456789' # 48 .. 57 + . 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' # 65 .. 90 + . 'abcdefghijklmnopqrstuvwxyz' # 97 .. 122 + . '!"#$%&\'()*+,-./' # 33 .. 47 + . ':;<=>?@' # 58 .. 64 + . '[\\]^_`' # 91 .. 96 + . '{|}~'; # 123 .. 126 } else { - croak "When base > 62, a collation sequence must be given"; + croak "When base > 94, a collation sequence must be given"; } $collseq = substr $collseq, 0, $class -> _num($base); } @@ -1920,11 +1936,8 @@ comparison routines. =item CLASS-Eapi_version() -Return API version as a Perl scalar, 1 for Math::BigInt v1.70, 2 for -Math::BigInt v1.83. - -This method is no longer used. Methods that are not implemented by a subclass -will be inherited from this class. +This method is no longer used and can be omitted. Methods that are not +implemented by a subclass will be inherited from this class. =back @@ -1986,10 +1999,20 @@ COLLSEQ. Each character in STR represents a numerical value identical to the character's position in COLLSEQ. All characters in STR must be present in COLLSEQ. -If BASE is less than or equal to 62, and a collation sequence is not specified, -a default collation sequence consisting of the 62 characters 0..9, A..Z, and -a..z is used. If the default collation sequence is used, and the BASE is less -than or equal to 36, the letter case in STR is ignored. +If BASE is less than or equal to 94, and a collation sequence is not specified, +the following default collation sequence is used. It contains of all the 94 +printable ASCII characters except space/blank: + + 0123456789 # ASCII 48 to 57 + ABCDEFGHIJKLMNOPQRSTUVWXYZ # ASCII 65 to 90 + abcdefghijklmnopqrstuvwxyz # ASCII 97 to 122 + !"#$%&'()*+,-./ # ASCII 33 to 47 + :;<=>?@ # ASCII 58 to 64 + [\]^_` # ASCII 91 to 96 + {|}~ # ASCII 123 to 126 + +If the default collation sequence is used, and the BASE is less than or equal +to 36, the letter case in STR is ignored. For instance, with base 3 and collation sequence "-/|", the character "-" represents 0, "/" represents 1, and "|" represents 2. So if STR is "/|-", the @@ -2005,10 +2028,12 @@ conversion. All examples return 250. Some more examples, all returning 250: - $x = $class -> _from_base("100021", 3, "012") - $x = $class -> _from_base("3322", 4, "0123") - $x = $class -> _from_base("2000", 5, "01234") + $x = $class -> _from_base("100021", 3) + $x = $class -> _from_base("3322", 4) + $x = $class -> _from_base("2000", 5) $x = $class -> _from_base("caaa", 5, "abcde") + $x = $class -> _from_base("42", 62) + $x = $class -> _from_base("2!", 94) =back @@ -2301,6 +2326,10 @@ from the left (most significant digit). If $obj represents the number 123, then CLASS->_digit($obj, 2) # returns 1 CLASS->_digit($obj, -1) # returns 1 +=item CLASS-E_digitsum(OBJ) + +Returns the sum of the base 10 digits. + =item CLASS-E_check(OBJ) Returns true if the object is invalid and false otherwise. Preferably, the true @@ -2394,11 +2423,11 @@ L =item * CPAN Ratings -L +L -=item * Search CPAN +=item * MetaCPAN -L +L =item * CPAN Testers Matrix diff --git a/Master/tlpkg/tlperl/lib/Module/CoreList.pm b/Master/tlpkg/tlperl/lib/Module/CoreList.pm index 75863d3f14f..cd63e480adf 100644 --- a/Master/tlpkg/tlperl/lib/Module/CoreList.pm +++ b/Master/tlpkg/tlperl/lib/Module/CoreList.pm @@ -4,7 +4,7 @@ use strict; our ( %released, %version, %families, %upstream, %bug_tracker, %deprecated, %delta ); use version; -our $VERSION = '5.20191110'; +our $VERSION = '5.20210123'; sub PKG_PATTERN () { q#\A[a-zA-Z_][0-9a-zA-Z_]*(?:(::|')[0-9a-zA-Z_]+)*\z# } sub _looks_like_invocant ($) { local $@; !!eval { $_[0]->isa(__PACKAGE__) } } @@ -134,8 +134,8 @@ sub changes_between { my $left_ver = shift; my $right_ver = shift; - my $left = $version{ $left_ver }; - my $right = $version{ $right_ver }; + my $left = $version{ $left_ver } || {}; + my $right = $version{ $right_ver } || {}; my %uniq = (%$left, %$right); @@ -356,6 +356,24 @@ sub changes_between { 5.031004 => '2019-09-20', 5.031005 => '2019-10-20', 5.030001 => '2019-11-10', + 5.031006 => '2019-11-20', + 5.031007 => '2019-12-20', + 5.031008 => '2020-01-20', + 5.031009 => '2020-02-20', + 5.030002 => '2020-03-14', + 5.031010 => '2020-03-20', + 5.031011 => '2020-04-28', + 5.028003 => '2020-06-01', + 5.030003 => '2020-06-01', + 5.032000 => '2020-06-20', + 5.033000 => '2020-07-17', + 5.033001 => '2020-08-20', + 5.033002 => '2020-09-20', + 5.033003 => '2020-10-20', + 5.033004 => '2020-11-20', + 5.033005 => '2020-12-20', + 5.033006 => '2021-01-20', + 5.032001 => '2021-01-23', ); for my $version ( sort { $a <=> $b } keys %released ) { @@ -12406,7 +12424,6 @@ for my $version ( sort { $a <=> $b } keys %released ) { 'Tie::File' => '1.02', 'Time::HiRes' => '1.9732', 'Win32API::File' => '0.1203', - 'Win32API::File::inc::ExtUtils::Myconst2perl'=> '1', 'XS::APItest' => '0.80', 'autouse' => '1.11', 'bytes' => '1.05', @@ -16862,6 +16879,1445 @@ for my $version ( sort { $a <=> $b } keys %released ) { removed => { } }, + 5.031006 => { + delta_from => 5.031005, + changed => { + 'B::Deparse' => '1.51', + 'B::Op_private' => '5.031006', + 'Compress::Raw::Bzip2' => '2.090', + 'Compress::Raw::Zlib' => '2.090', + 'Compress::Zlib' => '2.090', + 'Config' => '5.031006', + 'Devel::PPPort' => '3.55', + 'DynaLoader' => '1.46', + 'IO::Compress::Adapter::Bzip2'=> '2.090', + 'IO::Compress::Adapter::Deflate'=> '2.090', + 'IO::Compress::Adapter::Identity'=> '2.090', + 'IO::Compress::Base' => '2.090', + 'IO::Compress::Base::Common'=> '2.090', + 'IO::Compress::Bzip2' => '2.090', + 'IO::Compress::Deflate' => '2.090', + 'IO::Compress::Gzip' => '2.090', + 'IO::Compress::Gzip::Constants'=> '2.090', + 'IO::Compress::RawDeflate'=> '2.090', + 'IO::Compress::Zip' => '2.090', + 'IO::Compress::Zip::Constants'=> '2.090', + 'IO::Compress::Zlib::Constants'=> '2.090', + 'IO::Compress::Zlib::Extra'=> '2.090', + 'IO::Uncompress::Adapter::Bunzip2'=> '2.090', + 'IO::Uncompress::Adapter::Identity'=> '2.090', + 'IO::Uncompress::Adapter::Inflate'=> '2.090', + 'IO::Uncompress::AnyInflate'=> '2.090', + 'IO::Uncompress::AnyUncompress'=> '2.090', + 'IO::Uncompress::Base' => '2.090', + 'IO::Uncompress::Bunzip2'=> '2.090', + 'IO::Uncompress::Gunzip'=> '2.090', + 'IO::Uncompress::Inflate'=> '2.090', + 'IO::Uncompress::RawInflate'=> '2.090', + 'IO::Uncompress::Unzip' => '2.090', + 'List::Util' => '1.53', + 'List::Util::XS' => '1.53', + 'Math::BigFloat' => '1.999818', + 'Math::BigInt' => '1.999818', + 'Math::BigInt::Calc' => '1.999818', + 'Math::BigInt::Lib' => '1.999818', + 'Module::CoreList' => '5.20191120', + 'Module::CoreList::Utils'=> '5.20191120', + 'Module::Load::Conditional'=> '0.70', + 'POSIX' => '1.90', + 'Pod::Simple' => '3.40', + 'Pod::Simple::BlackBox' => '3.40', + 'Pod::Simple::Checker' => '3.40', + 'Pod::Simple::Debug' => '3.40', + 'Pod::Simple::DumpAsText'=> '3.40', + 'Pod::Simple::DumpAsXML'=> '3.40', + 'Pod::Simple::HTML' => '3.40', + 'Pod::Simple::HTMLBatch'=> '3.40', + 'Pod::Simple::LinkSection'=> '3.40', + 'Pod::Simple::Methody' => '3.40', + 'Pod::Simple::Progress' => '3.40', + 'Pod::Simple::PullParser'=> '3.40', + 'Pod::Simple::PullParserEndToken'=> '3.40', + 'Pod::Simple::PullParserStartToken'=> '3.40', + 'Pod::Simple::PullParserTextToken'=> '3.40', + 'Pod::Simple::PullParserToken'=> '3.40', + 'Pod::Simple::RTF' => '3.40', + 'Pod::Simple::Search' => '3.40', + 'Pod::Simple::SimpleTree'=> '3.40', + 'Pod::Simple::Text' => '3.40', + 'Pod::Simple::TextContent'=> '3.40', + 'Pod::Simple::TiedOutFH'=> '3.40', + 'Pod::Simple::Transcode'=> '3.40', + 'Pod::Simple::TranscodeDumb'=> '3.40', + 'Pod::Simple::TranscodeSmart'=> '3.40', + 'Pod::Simple::XHTML' => '3.40', + 'Pod::Simple::XMLOutStream'=> '3.40', + 'Scalar::Util' => '1.53', + 'Sub::Util' => '1.53', + 'Sys::Syslog' => '0.36', + 'Test2' => '1.302169', + 'Test2::API' => '1.302169', + 'Test2::API::Breakage' => '1.302169', + 'Test2::API::Context' => '1.302169', + 'Test2::API::Instance' => '1.302169', + 'Test2::API::Stack' => '1.302169', + 'Test2::Event' => '1.302169', + 'Test2::Event::Bail' => '1.302169', + 'Test2::Event::Diag' => '1.302169', + 'Test2::Event::Encoding'=> '1.302169', + 'Test2::Event::Exception'=> '1.302169', + 'Test2::Event::Fail' => '1.302169', + 'Test2::Event::Generic' => '1.302169', + 'Test2::Event::Note' => '1.302169', + 'Test2::Event::Ok' => '1.302169', + 'Test2::Event::Pass' => '1.302169', + 'Test2::Event::Plan' => '1.302169', + 'Test2::Event::Skip' => '1.302169', + 'Test2::Event::Subtest' => '1.302169', + 'Test2::Event::TAP::Version'=> '1.302169', + 'Test2::Event::V2' => '1.302169', + 'Test2::Event::Waiting' => '1.302169', + 'Test2::EventFacet' => '1.302169', + 'Test2::EventFacet::About'=> '1.302169', + 'Test2::EventFacet::Amnesty'=> '1.302169', + 'Test2::EventFacet::Assert'=> '1.302169', + 'Test2::EventFacet::Control'=> '1.302169', + 'Test2::EventFacet::Error'=> '1.302169', + 'Test2::EventFacet::Hub'=> '1.302169', + 'Test2::EventFacet::Info'=> '1.302169', + 'Test2::EventFacet::Info::Table'=> '1.302169', + 'Test2::EventFacet::Meta'=> '1.302169', + 'Test2::EventFacet::Parent'=> '1.302169', + 'Test2::EventFacet::Plan'=> '1.302169', + 'Test2::EventFacet::Render'=> '1.302169', + 'Test2::EventFacet::Trace'=> '1.302169', + 'Test2::Formatter' => '1.302169', + 'Test2::Formatter::TAP' => '1.302169', + 'Test2::Hub' => '1.302169', + 'Test2::Hub::Interceptor'=> '1.302169', + 'Test2::Hub::Interceptor::Terminator'=> '1.302169', + 'Test2::Hub::Subtest' => '1.302169', + 'Test2::IPC' => '1.302169', + 'Test2::IPC::Driver' => '1.302169', + 'Test2::IPC::Driver::Files'=> '1.302169', + 'Test2::Tools::Tiny' => '1.302169', + 'Test2::Util' => '1.302169', + 'Test2::Util::ExternalMeta'=> '1.302169', + 'Test2::Util::Facets2Legacy'=> '1.302169', + 'Test2::Util::HashBase' => '1.302169', + 'Test2::Util::Trace' => '1.302169', + 'Test::Builder' => '1.302169', + 'Test::Builder::Formatter'=> '1.302169', + 'Test::Builder::Module' => '1.302169', + 'Test::Builder::Tester' => '1.302169', + 'Test::Builder::Tester::Color'=> '1.302169', + 'Test::Builder::TodoDiag'=> '1.302169', + 'Test::More' => '1.302169', + 'Test::Simple' => '1.302169', + 'Test::Tester' => '1.302169', + 'Test::Tester::Capture' => '1.302169', + 'Test::Tester::CaptureRunner'=> '1.302169', + 'Test::Tester::Delegate'=> '1.302169', + 'Test::use::ok' => '1.302169', + 'Tie::StdHandle' => '4.6', + 'Unicode::UCD' => '0.74', + 'Win32API::File' => '0.1203_01', + 'feature' => '1.56', + 'mro' => '1.23', + 'ok' => '1.302169', + 'perlfaq' => '5.20191102', + }, + removed => { + } + }, + 5.031007 => { + delta_from => 5.031006, + changed => { + 'B' => '1.78', + 'B::Deparse' => '1.52', + 'B::Op_private' => '5.031007', + 'Compress::Raw::Bzip2' => '2.093', + 'Compress::Raw::Zlib' => '2.093', + 'Compress::Zlib' => '2.093', + 'Config' => '5.031007', + 'Devel::PPPort' => '3.56', + 'English' => '1.11', + 'ExtUtils::Command' => '7.42', + 'ExtUtils::Command::MM' => '7.42', + 'ExtUtils::Liblist' => '7.42', + 'ExtUtils::Liblist::Kid'=> '7.42', + 'ExtUtils::MM' => '7.42', + 'ExtUtils::MM_AIX' => '7.42', + 'ExtUtils::MM_Any' => '7.42', + 'ExtUtils::MM_BeOS' => '7.42', + 'ExtUtils::MM_Cygwin' => '7.42', + 'ExtUtils::MM_DOS' => '7.42', + 'ExtUtils::MM_Darwin' => '7.42', + 'ExtUtils::MM_MacOS' => '7.42', + 'ExtUtils::MM_NW5' => '7.42', + 'ExtUtils::MM_OS2' => '7.42', + 'ExtUtils::MM_QNX' => '7.42', + 'ExtUtils::MM_UWIN' => '7.42', + 'ExtUtils::MM_Unix' => '7.42', + 'ExtUtils::MM_VMS' => '7.42', + 'ExtUtils::MM_VOS' => '7.42', + 'ExtUtils::MM_Win32' => '7.42', + 'ExtUtils::MM_Win95' => '7.42', + 'ExtUtils::MY' => '7.42', + 'ExtUtils::MakeMaker' => '7.42', + 'ExtUtils::MakeMaker::Config'=> '7.42', + 'ExtUtils::MakeMaker::Locale'=> '7.42', + 'ExtUtils::MakeMaker::version'=> '7.42', + 'ExtUtils::MakeMaker::version::regex'=> '7.42', + 'ExtUtils::Mkbootstrap' => '7.42', + 'ExtUtils::Mksymlists' => '7.42', + 'ExtUtils::testlib' => '7.42', + 'File::stat' => '1.09', + 'Filter::Simple' => '0.96', + 'IO::Compress::Adapter::Bzip2'=> '2.093', + 'IO::Compress::Adapter::Deflate'=> '2.093', + 'IO::Compress::Adapter::Identity'=> '2.093', + 'IO::Compress::Base' => '2.093', + 'IO::Compress::Base::Common'=> '2.093', + 'IO::Compress::Bzip2' => '2.093', + 'IO::Compress::Deflate' => '2.093', + 'IO::Compress::Gzip' => '2.093', + 'IO::Compress::Gzip::Constants'=> '2.093', + 'IO::Compress::RawDeflate'=> '2.093', + 'IO::Compress::Zip' => '2.093', + 'IO::Compress::Zip::Constants'=> '2.093', + 'IO::Compress::Zlib::Constants'=> '2.093', + 'IO::Compress::Zlib::Extra'=> '2.093', + 'IO::Uncompress::Adapter::Bunzip2'=> '2.093', + 'IO::Uncompress::Adapter::Identity'=> '2.093', + 'IO::Uncompress::Adapter::Inflate'=> '2.093', + 'IO::Uncompress::AnyInflate'=> '2.093', + 'IO::Uncompress::AnyUncompress'=> '2.093', + 'IO::Uncompress::Base' => '2.093', + 'IO::Uncompress::Bunzip2'=> '2.093', + 'IO::Uncompress::Gunzip'=> '2.093', + 'IO::Uncompress::Inflate'=> '2.093', + 'IO::Uncompress::RawInflate'=> '2.093', + 'IO::Uncompress::Unzip' => '2.093', + 'Module::CoreList' => '5.20191220', + 'Module::CoreList::Utils'=> '5.20191220', + 'Net::Ping' => '2.72', + 'Opcode' => '1.45', + 'Storable' => '3.18', + 'Test2' => '1.302170', + 'Test2::API' => '1.302170', + 'Test2::API::Breakage' => '1.302170', + 'Test2::API::Context' => '1.302170', + 'Test2::API::Instance' => '1.302170', + 'Test2::API::Stack' => '1.302170', + 'Test2::Event' => '1.302170', + 'Test2::Event::Bail' => '1.302170', + 'Test2::Event::Diag' => '1.302170', + 'Test2::Event::Encoding'=> '1.302170', + 'Test2::Event::Exception'=> '1.302170', + 'Test2::Event::Fail' => '1.302170', + 'Test2::Event::Generic' => '1.302170', + 'Test2::Event::Note' => '1.302170', + 'Test2::Event::Ok' => '1.302170', + 'Test2::Event::Pass' => '1.302170', + 'Test2::Event::Plan' => '1.302170', + 'Test2::Event::Skip' => '1.302170', + 'Test2::Event::Subtest' => '1.302170', + 'Test2::Event::TAP::Version'=> '1.302170', + 'Test2::Event::V2' => '1.302170', + 'Test2::Event::Waiting' => '1.302170', + 'Test2::EventFacet' => '1.302170', + 'Test2::EventFacet::About'=> '1.302170', + 'Test2::EventFacet::Amnesty'=> '1.302170', + 'Test2::EventFacet::Assert'=> '1.302170', + 'Test2::EventFacet::Control'=> '1.302170', + 'Test2::EventFacet::Error'=> '1.302170', + 'Test2::EventFacet::Hub'=> '1.302170', + 'Test2::EventFacet::Info'=> '1.302170', + 'Test2::EventFacet::Info::Table'=> '1.302170', + 'Test2::EventFacet::Meta'=> '1.302170', + 'Test2::EventFacet::Parent'=> '1.302170', + 'Test2::EventFacet::Plan'=> '1.302170', + 'Test2::EventFacet::Render'=> '1.302170', + 'Test2::EventFacet::Trace'=> '1.302170', + 'Test2::Formatter' => '1.302170', + 'Test2::Formatter::TAP' => '1.302170', + 'Test2::Hub' => '1.302170', + 'Test2::Hub::Interceptor'=> '1.302170', + 'Test2::Hub::Interceptor::Terminator'=> '1.302170', + 'Test2::Hub::Subtest' => '1.302170', + 'Test2::IPC' => '1.302170', + 'Test2::IPC::Driver' => '1.302170', + 'Test2::IPC::Driver::Files'=> '1.302170', + 'Test2::Tools::Tiny' => '1.302170', + 'Test2::Util' => '1.302170', + 'Test2::Util::ExternalMeta'=> '1.302170', + 'Test2::Util::Facets2Legacy'=> '1.302170', + 'Test2::Util::HashBase' => '1.302170', + 'Test2::Util::Trace' => '1.302170', + 'Test::Builder' => '1.302170', + 'Test::Builder::Formatter'=> '1.302170', + 'Test::Builder::Module' => '1.302170', + 'Test::Builder::Tester' => '1.302170', + 'Test::Builder::Tester::Color'=> '1.302170', + 'Test::Builder::TodoDiag'=> '1.302170', + 'Test::More' => '1.302170', + 'Test::Simple' => '1.302170', + 'Test::Tester' => '1.302170', + 'Test::Tester::Capture' => '1.302170', + 'Test::Tester::CaptureRunner'=> '1.302170', + 'Test::Tester::Delegate'=> '1.302170', + 'Test::use::ok' => '1.302170', + 'Tie::Hash::NamedCapture'=> '0.13', + 'VMS::Stdio' => '2.45', + 'XS::APItest' => '1.05', + 'feature' => '1.57', + 'ok' => '1.302170', + 'warnings' => '1.46', + }, + removed => { + } + }, + 5.031008 => { + delta_from => 5.031007, + changed => { + 'B::Op_private' => '5.031008', + 'Config' => '5.031008', + 'DB_File' => '1.853', + 'Encode' => '3.02', + 'ExtUtils::Command' => '7.44', + 'ExtUtils::Command::MM' => '7.44', + 'ExtUtils::Liblist' => '7.44', + 'ExtUtils::Liblist::Kid'=> '7.44', + 'ExtUtils::MM' => '7.44', + 'ExtUtils::MM_AIX' => '7.44', + 'ExtUtils::MM_Any' => '7.44', + 'ExtUtils::MM_BeOS' => '7.44', + 'ExtUtils::MM_Cygwin' => '7.44', + 'ExtUtils::MM_DOS' => '7.44', + 'ExtUtils::MM_Darwin' => '7.44', + 'ExtUtils::MM_MacOS' => '7.44', + 'ExtUtils::MM_NW5' => '7.44', + 'ExtUtils::MM_OS2' => '7.44', + 'ExtUtils::MM_QNX' => '7.44', + 'ExtUtils::MM_UWIN' => '7.44', + 'ExtUtils::MM_Unix' => '7.44', + 'ExtUtils::MM_VMS' => '7.44', + 'ExtUtils::MM_VOS' => '7.44', + 'ExtUtils::MM_Win32' => '7.44', + 'ExtUtils::MM_Win95' => '7.44', + 'ExtUtils::MY' => '7.44', + 'ExtUtils::MakeMaker' => '7.44', + 'ExtUtils::MakeMaker::Config'=> '7.44', + 'ExtUtils::MakeMaker::Locale'=> '7.44', + 'ExtUtils::MakeMaker::version'=> '7.44', + 'ExtUtils::MakeMaker::version::regex'=> '7.44', + 'ExtUtils::Mkbootstrap' => '7.44', + 'ExtUtils::Mksymlists' => '7.44', + 'ExtUtils::testlib' => '7.44', + 'Fatal' => '2.32', + 'Hash::Util' => '0.23', + 'IO' => '1.42', + 'IO::Handle' => '1.42', + 'IO::Socket' => '1.42', + 'Module::CoreList' => '5.20200120', + 'Module::CoreList::Utils'=> '5.20200120', + 'POSIX' => '1.91', + 'Pod::Man' => '4.14', + 'Pod::ParseLink' => '4.14', + 'Pod::Text' => '4.14', + 'Pod::Text::Color' => '4.14', + 'Pod::Text::Overstrike' => '4.14', + 'Pod::Text::Termcap' => '4.14', + 'Term::ANSIColor' => '5.01', + 'Test2' => '1.302171', + 'Test2::API' => '1.302171', + 'Test2::API::Breakage' => '1.302171', + 'Test2::API::Context' => '1.302171', + 'Test2::API::Instance' => '1.302171', + 'Test2::API::Stack' => '1.302171', + 'Test2::Event' => '1.302171', + 'Test2::Event::Bail' => '1.302171', + 'Test2::Event::Diag' => '1.302171', + 'Test2::Event::Encoding'=> '1.302171', + 'Test2::Event::Exception'=> '1.302171', + 'Test2::Event::Fail' => '1.302171', + 'Test2::Event::Generic' => '1.302171', + 'Test2::Event::Note' => '1.302171', + 'Test2::Event::Ok' => '1.302171', + 'Test2::Event::Pass' => '1.302171', + 'Test2::Event::Plan' => '1.302171', + 'Test2::Event::Skip' => '1.302171', + 'Test2::Event::Subtest' => '1.302171', + 'Test2::Event::TAP::Version'=> '1.302171', + 'Test2::Event::V2' => '1.302171', + 'Test2::Event::Waiting' => '1.302171', + 'Test2::EventFacet' => '1.302171', + 'Test2::EventFacet::About'=> '1.302171', + 'Test2::EventFacet::Amnesty'=> '1.302171', + 'Test2::EventFacet::Assert'=> '1.302171', + 'Test2::EventFacet::Control'=> '1.302171', + 'Test2::EventFacet::Error'=> '1.302171', + 'Test2::EventFacet::Hub'=> '1.302171', + 'Test2::EventFacet::Info'=> '1.302171', + 'Test2::EventFacet::Info::Table'=> '1.302171', + 'Test2::EventFacet::Meta'=> '1.302171', + 'Test2::EventFacet::Parent'=> '1.302171', + 'Test2::EventFacet::Plan'=> '1.302171', + 'Test2::EventFacet::Render'=> '1.302171', + 'Test2::EventFacet::Trace'=> '1.302171', + 'Test2::Formatter' => '1.302171', + 'Test2::Formatter::TAP' => '1.302171', + 'Test2::Hub' => '1.302171', + 'Test2::Hub::Interceptor'=> '1.302171', + 'Test2::Hub::Interceptor::Terminator'=> '1.302171', + 'Test2::Hub::Subtest' => '1.302171', + 'Test2::IPC' => '1.302171', + 'Test2::IPC::Driver' => '1.302171', + 'Test2::IPC::Driver::Files'=> '1.302171', + 'Test2::Tools::Tiny' => '1.302171', + 'Test2::Util' => '1.302171', + 'Test2::Util::ExternalMeta'=> '1.302171', + 'Test2::Util::Facets2Legacy'=> '1.302171', + 'Test2::Util::HashBase' => '1.302171', + 'Test2::Util::Trace' => '1.302171', + 'Test::Builder' => '1.302171', + 'Test::Builder::Formatter'=> '1.302171', + 'Test::Builder::Module' => '1.302171', + 'Test::Builder::Tester' => '1.302171', + 'Test::Builder::Tester::Color'=> '1.302171', + 'Test::Builder::TodoDiag'=> '1.302171', + 'Test::More' => '1.302171', + 'Test::Simple' => '1.302171', + 'Test::Tester' => '1.302171', + 'Test::Tester::Capture' => '1.302171', + 'Test::Tester::CaptureRunner'=> '1.302171', + 'Test::Tester::Delegate'=> '1.302171', + 'Test::use::ok' => '1.302171', + 'XS::APItest' => '1.06', + 'autodie' => '2.32', + 'autodie::Scope::Guard' => '2.32', + 'autodie::Scope::GuardStack'=> '2.32', + 'autodie::Util' => '2.32', + 'autodie::exception' => '2.32', + 'autodie::exception::system'=> '2.32', + 'autodie::hints' => '2.32', + 'autodie::skip' => '2.32', + 'ok' => '1.302171', + }, + removed => { + } + }, + 5.031009 => { + delta_from => 5.031008, + changed => { + 'Archive::Tar' => '2.36', + 'Archive::Tar::Constant'=> '2.36', + 'Archive::Tar::File' => '2.36', + 'B' => '1.80', + 'B::Op_private' => '5.031009', + 'Config' => '5.031009', + 'Devel::PPPort' => '3.57', + 'Encode' => '3.03', + 'ExtUtils::CBuilder' => '0.280234', + 'ExtUtils::CBuilder::Base'=> '0.280234', + 'ExtUtils::CBuilder::Platform::Unix'=> '0.280234', + 'ExtUtils::CBuilder::Platform::VMS'=> '0.280234', + 'ExtUtils::CBuilder::Platform::Windows'=> '0.280234', + 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280234', + 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280234', + 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280234', + 'ExtUtils::CBuilder::Platform::aix'=> '0.280234', + 'ExtUtils::CBuilder::Platform::android'=> '0.280234', + 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280234', + 'ExtUtils::CBuilder::Platform::darwin'=> '0.280234', + 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280234', + 'ExtUtils::CBuilder::Platform::os2'=> '0.280234', + 'IO' => '1.43', + 'IO::Select' => '1.42', + 'IO::Socket' => '1.43', + 'Module::CoreList' => '5.20200220', + 'Module::CoreList::Utils'=> '5.20200220', + 'POSIX' => '1.92', + 'Pod::Html' => '1.25', + 'Storable' => '3.19', + 'Tie::File' => '1.06', + 'Unicode' => '13.0.0', + 'XS::APItest' => '1.07', + '_charnames' => '1.46', + 'charnames' => '1.46', + 'diagnostics' => '1.37', + 'feature' => '1.58', + 'parent' => '0.238', + 'perlfaq' => '5.20200125', + 'threads' => '2.24', + }, + removed => { + } + }, + 5.030002 => { + delta_from => 5.030001, + changed => { + 'B::Op_private' => '5.030002', + 'Compress::Raw::Bzip2' => '2.089', + 'Config' => '5.030002', + 'Module::CoreList' => '5.20200314', + 'Module::CoreList::Utils'=> '5.20200314', + }, + removed => { + } + }, + 5.031010 => { + delta_from => 5.031009, + changed => { + 'B::Op_private' => '5.031010', + 'Config' => '5.03101', + }, + removed => { + } + }, + 5.031011 => { + delta_from => 5.031010, + changed => { + 'B::Deparse' => '1.53', + 'B::Op_private' => '5.031011', + 'Config' => '5.031011', + 'DynaLoader' => '1.47', + 'Encode' => '3.04', + 'IPC::Open2' => '1.05', + 'IPC::Open3' => '1.21', + 'Module::CoreList' => '5.20200428', + 'Module::CoreList::Utils'=> '5.20200428', + 'Opcode' => '1.47', + 'POSIX' => '1.93', + 'PerlIO' => '1.11', + 'Storable' => '3.20', + 'Test2' => '1.302175', + 'Test2::API' => '1.302175', + 'Test2::API::Breakage' => '1.302175', + 'Test2::API::Context' => '1.302175', + 'Test2::API::Instance' => '1.302175', + 'Test2::API::Stack' => '1.302175', + 'Test2::Event' => '1.302175', + 'Test2::Event::Bail' => '1.302175', + 'Test2::Event::Diag' => '1.302175', + 'Test2::Event::Encoding'=> '1.302175', + 'Test2::Event::Exception'=> '1.302175', + 'Test2::Event::Fail' => '1.302175', + 'Test2::Event::Generic' => '1.302175', + 'Test2::Event::Note' => '1.302175', + 'Test2::Event::Ok' => '1.302175', + 'Test2::Event::Pass' => '1.302175', + 'Test2::Event::Plan' => '1.302175', + 'Test2::Event::Skip' => '1.302175', + 'Test2::Event::Subtest' => '1.302175', + 'Test2::Event::TAP::Version'=> '1.302175', + 'Test2::Event::V2' => '1.302175', + 'Test2::Event::Waiting' => '1.302175', + 'Test2::EventFacet' => '1.302175', + 'Test2::EventFacet::About'=> '1.302175', + 'Test2::EventFacet::Amnesty'=> '1.302175', + 'Test2::EventFacet::Assert'=> '1.302175', + 'Test2::EventFacet::Control'=> '1.302175', + 'Test2::EventFacet::Error'=> '1.302175', + 'Test2::EventFacet::Hub'=> '1.302175', + 'Test2::EventFacet::Info'=> '1.302175', + 'Test2::EventFacet::Info::Table'=> '1.302175', + 'Test2::EventFacet::Meta'=> '1.302175', + 'Test2::EventFacet::Parent'=> '1.302175', + 'Test2::EventFacet::Plan'=> '1.302175', + 'Test2::EventFacet::Render'=> '1.302175', + 'Test2::EventFacet::Trace'=> '1.302175', + 'Test2::Formatter' => '1.302175', + 'Test2::Formatter::TAP' => '1.302175', + 'Test2::Hub' => '1.302175', + 'Test2::Hub::Interceptor'=> '1.302175', + 'Test2::Hub::Interceptor::Terminator'=> '1.302175', + 'Test2::Hub::Subtest' => '1.302175', + 'Test2::IPC' => '1.302175', + 'Test2::IPC::Driver' => '1.302175', + 'Test2::IPC::Driver::Files'=> '1.302175', + 'Test2::Tools::Tiny' => '1.302175', + 'Test2::Util' => '1.302175', + 'Test2::Util::ExternalMeta'=> '1.302175', + 'Test2::Util::Facets2Legacy'=> '1.302175', + 'Test2::Util::HashBase' => '1.302175', + 'Test2::Util::Trace' => '1.302175', + 'Test::Builder' => '1.302175', + 'Test::Builder::Formatter'=> '1.302175', + 'Test::Builder::Module' => '1.302175', + 'Test::Builder::Tester' => '1.302175', + 'Test::Builder::Tester::Color'=> '1.302175', + 'Test::Builder::TodoDiag'=> '1.302175', + 'Test::More' => '1.302175', + 'Test::Simple' => '1.302175', + 'Test::Tester' => '1.302175', + 'Test::Tester::Capture' => '1.302175', + 'Test::Tester::CaptureRunner'=> '1.302175', + 'Test::Tester::Delegate'=> '1.302175', + 'Test::use::ok' => '1.302175', + 'Time::Piece' => '1.3401', + 'Time::Seconds' => '1.3401', + 'Unicode::UCD' => '0.75', + 'XS::APItest' => '1.09', + '_charnames' => '1.47', + 'charnames' => '1.47', + 'ok' => '1.302175', + 'open' => '1.12', + 're' => '0.39', + 'warnings' => '1.47', + }, + removed => { + } + }, + 5.028003 => { + delta_from => 5.028002, + changed => { + 'B::Op_private' => '5.028003', + 'Config' => '5.028003', + 'Module::CoreList' => '5.20200601_28', + 'Module::CoreList::Utils'=> '5.20200601_28', + }, + removed => { + } + }, + 5.030003 => { + delta_from => 5.030002, + changed => { + 'B::Op_private' => '5.030003', + 'Config' => '5.030003', + 'Module::CoreList' => '5.20200601_30', + 'Module::CoreList::Utils'=> '5.20200601_30', + }, + removed => { + } + }, + 5.032000 => { + delta_from => 5.031011, + changed => { + 'B::Deparse' => '1.54', + 'B::Op_private' => '5.032000', + 'Benchmark' => '1.23', + 'Config' => '5.032', + 'Encode' => '3.06', + 'Encode::Guess' => '2.08', + 'File::Glob' => '1.33', + 'List::Util' => '1.55', + 'List::Util::XS' => '1.55', + 'Module::CoreList' => '5.20200620', + 'Module::CoreList::Utils'=> '5.20200620', + 'POSIX' => '1.94', + 'Scalar::Util' => '1.55', + 'Storable' => '3.21', + 'Sub::Util' => '1.55', + 'Thread::Queue' => '3.14', + 'Tie::Scalar' => '1.05', + '_charnames' => '1.48', + 'charnames' => '1.48', + 'encoding' => '3.00', + 'perlfaq' => '5.20200523', + 're' => '0.40', + 'threads' => '2.25', + }, + removed => { + } + }, + 5.033000 => { + delta_from => 5.032000, + changed => { + 'B::Op_private' => '5.033000', + 'Config' => '5.033', + 'Module::CoreList' => '5.20200717', + 'Module::CoreList::Utils'=> '5.20200717', + 'feature' => '1.59', + }, + removed => { + } + }, + 5.033001 => { + delta_from => 5.033, + changed => { + 'B' => '1.81', + 'B::Deparse' => '1.55', + 'B::Op_private' => '5.033001', + 'Config' => '5.033001', + 'Data::Dumper' => '2.175', + 'Devel::PPPort' => '3.60', + 'Devel::Peek' => '1.29', + 'DynaLoader' => '1.48', + 'Errno' => '1.31', + 'Exporter' => '5.75', + 'Exporter::Heavy' => '5.75', + 'ExtUtils::Miniperl' => '1.10', + 'ExtUtils::PL2Bat' => '0.002', + 'ExtUtils::ParseXS' => '3.41', + 'ExtUtils::ParseXS::Constants'=> '3.41', + 'ExtUtils::ParseXS::CountLines'=> '3.41', + 'ExtUtils::ParseXS::Eval'=> '3.41', + 'ExtUtils::ParseXS::Utilities'=> '3.41', + 'Fcntl' => '1.14', + 'File::Path' => '2.17', + 'Hash::Util' => '0.24', + 'Hash::Util::FieldHash' => '1.21', + 'IO' => '1.44', + 'IO::Socket' => '1.44', + 'IO::Socket::UNIX' => '1.42', + 'IPC::Msg' => '2.08', + 'IPC::Semaphore' => '2.08', + 'IPC::SharedMem' => '2.08', + 'IPC::SysV' => '2.08', + 'JSON::PP' => '4.05', + 'JSON::PP::Boolean' => '4.05', + 'Math::Complex' => '1.5902', + 'Module::CoreList' => '5.20200820', + 'Module::CoreList::Utils'=> '5.20200820', + 'Net::Ping' => '2.73_01', + 'POSIX' => '1.95', + 'PerlIO::mmap' => '0.017', + 'Pod::Usage' => '1.70', + 'Safe' => '2.42', + 'Socket' => '2.030', + 'Storable' => '3.22', + 'Time::HiRes' => '1.9765', + 'Unicode::Normalize' => '1.28', + 'XS::APItest' => '1.11', + 'XS::Typemap' => '0.18', + 'feature' => '1.60', + 'mro' => '1.24', + 'strict' => '1.12', + 'threads' => '2.26', + 'threads::shared' => '1.62', + 'warnings' => '1.48', + }, + removed => { + 'Moped::Msg' => 1, + } + }, + 5.033002 => { + delta_from => 5.033001, + changed => { + 'Archive::Tar' => '2.38', + 'Archive::Tar::Constant'=> '2.38', + 'Archive::Tar::File' => '2.38', + 'B::Op_private' => '5.033002', + 'Compress::Raw::Bzip2' => '2.096', + 'Compress::Raw::Zlib' => '2.096', + 'Compress::Zlib' => '2.096', + 'Config' => '5.033002', + 'DB_File' => '1.854', + 'Env' => '1.05', + 'Errno' => '1.32', + 'ExtUtils::Install' => '2.18', + 'ExtUtils::Installed' => '2.18', + 'ExtUtils::Packlist' => '2.18', + 'Filter::Util::Call' => '1.60', + 'IO::Compress::Adapter::Bzip2'=> '2.096', + 'IO::Compress::Adapter::Deflate'=> '2.096', + 'IO::Compress::Adapter::Identity'=> '2.096', + 'IO::Compress::Base' => '2.096', + 'IO::Compress::Base::Common'=> '2.096', + 'IO::Compress::Bzip2' => '2.096', + 'IO::Compress::Deflate' => '2.096', + 'IO::Compress::Gzip' => '2.096', + 'IO::Compress::Gzip::Constants'=> '2.096', + 'IO::Compress::RawDeflate'=> '2.096', + 'IO::Compress::Zip' => '2.096', + 'IO::Compress::Zip::Constants'=> '2.096', + 'IO::Compress::Zlib::Constants'=> '2.096', + 'IO::Compress::Zlib::Extra'=> '2.096', + 'IO::Socket::IP' => '0.41', + 'IO::Uncompress::Adapter::Bunzip2'=> '2.096', + 'IO::Uncompress::Adapter::Identity'=> '2.096', + 'IO::Uncompress::Adapter::Inflate'=> '2.096', + 'IO::Uncompress::AnyInflate'=> '2.096', + 'IO::Uncompress::AnyUncompress'=> '2.096', + 'IO::Uncompress::Base' => '2.096', + 'IO::Uncompress::Bunzip2'=> '2.096', + 'IO::Uncompress::Gunzip'=> '2.096', + 'IO::Uncompress::Inflate'=> '2.096', + 'IO::Uncompress::RawInflate'=> '2.096', + 'IO::Uncompress::Unzip' => '2.096', + 'IO::Zlib' => '1.11', + 'Module::CoreList' => '5.20200920', + 'Module::CoreList::Utils'=> '5.20200920', + 'Module::Load::Conditional'=> '0.74', + 'Opcode' => '1.48', + 'PerlIO::scalar' => '0.31', + 'Safe' => '2.43', + 'Test2' => '1.302181', + 'Test2::API' => '1.302181', + 'Test2::API::Breakage' => '1.302181', + 'Test2::API::Context' => '1.302181', + 'Test2::API::Instance' => '1.302181', + 'Test2::API::InterceptResult'=> '1.302181', + 'Test2::API::InterceptResult::Event'=> '1.302181', + 'Test2::API::InterceptResult::Facet'=> '1.302181', + 'Test2::API::InterceptResult::Hub'=> '1.302181', + 'Test2::API::InterceptResult::Squasher'=> '1.302181', + 'Test2::API::Stack' => '1.302181', + 'Test2::Event' => '1.302181', + 'Test2::Event::Bail' => '1.302181', + 'Test2::Event::Diag' => '1.302181', + 'Test2::Event::Encoding'=> '1.302181', + 'Test2::Event::Exception'=> '1.302181', + 'Test2::Event::Fail' => '1.302181', + 'Test2::Event::Generic' => '1.302181', + 'Test2::Event::Note' => '1.302181', + 'Test2::Event::Ok' => '1.302181', + 'Test2::Event::Pass' => '1.302181', + 'Test2::Event::Plan' => '1.302181', + 'Test2::Event::Skip' => '1.302181', + 'Test2::Event::Subtest' => '1.302181', + 'Test2::Event::TAP::Version'=> '1.302181', + 'Test2::Event::V2' => '1.302181', + 'Test2::Event::Waiting' => '1.302181', + 'Test2::EventFacet' => '1.302181', + 'Test2::EventFacet::About'=> '1.302181', + 'Test2::EventFacet::Amnesty'=> '1.302181', + 'Test2::EventFacet::Assert'=> '1.302181', + 'Test2::EventFacet::Control'=> '1.302181', + 'Test2::EventFacet::Error'=> '1.302181', + 'Test2::EventFacet::Hub'=> '1.302181', + 'Test2::EventFacet::Info'=> '1.302181', + 'Test2::EventFacet::Info::Table'=> '1.302181', + 'Test2::EventFacet::Meta'=> '1.302181', + 'Test2::EventFacet::Parent'=> '1.302181', + 'Test2::EventFacet::Plan'=> '1.302181', + 'Test2::EventFacet::Render'=> '1.302181', + 'Test2::EventFacet::Trace'=> '1.302181', + 'Test2::Formatter' => '1.302181', + 'Test2::Formatter::TAP' => '1.302181', + 'Test2::Hub' => '1.302181', + 'Test2::Hub::Interceptor'=> '1.302181', + 'Test2::Hub::Interceptor::Terminator'=> '1.302181', + 'Test2::Hub::Subtest' => '1.302181', + 'Test2::IPC' => '1.302181', + 'Test2::IPC::Driver' => '1.302181', + 'Test2::IPC::Driver::Files'=> '1.302181', + 'Test2::Tools::Tiny' => '1.302181', + 'Test2::Util' => '1.302181', + 'Test2::Util::ExternalMeta'=> '1.302181', + 'Test2::Util::Facets2Legacy'=> '1.302181', + 'Test2::Util::HashBase' => '1.302181', + 'Test2::Util::Trace' => '1.302181', + 'Test::Builder' => '1.302181', + 'Test::Builder::Formatter'=> '1.302181', + 'Test::Builder::Module' => '1.302181', + 'Test::Builder::Tester' => '1.302181', + 'Test::Builder::Tester::Color'=> '1.302181', + 'Test::Builder::TodoDiag'=> '1.302181', + 'Test::More' => '1.302181', + 'Test::Simple' => '1.302181', + 'Test::Tester' => '1.302181', + 'Test::Tester::Capture' => '1.302181', + 'Test::Tester::CaptureRunner'=> '1.302181', + 'Test::Tester::Delegate'=> '1.302181', + 'Test::use::ok' => '1.302181', + 'ok' => '1.302181', + 'overload' => '1.32', + }, + removed => { + } + }, + 5.033003 => { + delta_from => 5.033002, + changed => { + 'Amiga::ARexx' => '0.05', + 'App::Cpan' => '1.676', + 'B::Op_private' => '5.033003', + 'CPAN' => '2.28', + 'CPAN::FTP' => '5.5013', + 'CPAN::FirstTime' => '5.5315', + 'Config' => '5.033003', + 'DB_File' => '1.855', + 'Data::Dumper' => '2.176', + 'Devel::PPPort' => '3.62', + 'Devel::Peek' => '1.30', + 'Digest' => '1.19', + 'Digest::MD5' => '2.58', + 'Digest::base' => '1.19', + 'Digest::file' => '1.19', + 'Encode' => '3.07', + 'Encode::GSM0338' => '2.08', + 'Errno' => '1.33', + 'Exporter' => '5.76', + 'Exporter::Heavy' => '5.76', + 'ExtUtils::Command' => '7.48', + 'ExtUtils::Command::MM' => '7.48', + 'ExtUtils::Liblist' => '7.48', + 'ExtUtils::Liblist::Kid'=> '7.48', + 'ExtUtils::MM' => '7.48', + 'ExtUtils::MM_AIX' => '7.48', + 'ExtUtils::MM_Any' => '7.48', + 'ExtUtils::MM_BeOS' => '7.48', + 'ExtUtils::MM_Cygwin' => '7.48', + 'ExtUtils::MM_DOS' => '7.48', + 'ExtUtils::MM_Darwin' => '7.48', + 'ExtUtils::MM_MacOS' => '7.48', + 'ExtUtils::MM_NW5' => '7.48', + 'ExtUtils::MM_OS2' => '7.48', + 'ExtUtils::MM_OS390' => '7.48', + 'ExtUtils::MM_QNX' => '7.48', + 'ExtUtils::MM_UWIN' => '7.48', + 'ExtUtils::MM_Unix' => '7.48', + 'ExtUtils::MM_VMS' => '7.48', + 'ExtUtils::MM_VOS' => '7.48', + 'ExtUtils::MM_Win32' => '7.48', + 'ExtUtils::MM_Win95' => '7.48', + 'ExtUtils::MY' => '7.48', + 'ExtUtils::MakeMaker' => '7.48', + 'ExtUtils::MakeMaker::Config'=> '7.48', + 'ExtUtils::MakeMaker::Locale'=> '7.48', + 'ExtUtils::MakeMaker::version'=> '7.48', + 'ExtUtils::MakeMaker::version::regex'=> '7.48', + 'ExtUtils::Mkbootstrap' => '7.48', + 'ExtUtils::Mksymlists' => '7.48', + 'ExtUtils::PL2Bat' => '0.003', + 'ExtUtils::testlib' => '7.48', + 'File::Temp' => '0.2311', + 'FindBin' => '1.52', + 'Getopt::Long' => '2.52', + 'Getopt::Std' => '1.13', + 'I18N::LangTags' => '0.45', + 'MIME::Base64' => '3.16', + 'MIME::QuotedPrint' => '3.16', + 'Module::CoreList' => '5.20201020', + 'Module::CoreList::Utils'=> '5.20201020', + 'Module::Load' => '0.36', + 'Pod::Checker' => '1.74', + 'Pod::Simple' => '3.41', + 'Pod::Simple::BlackBox' => '3.41', + 'Pod::Simple::Checker' => '3.41', + 'Pod::Simple::Debug' => '3.41', + 'Pod::Simple::DumpAsText'=> '3.41', + 'Pod::Simple::DumpAsXML'=> '3.41', + 'Pod::Simple::HTML' => '3.41', + 'Pod::Simple::HTMLBatch'=> '3.41', + 'Pod::Simple::LinkSection'=> '3.41', + 'Pod::Simple::Methody' => '3.41', + 'Pod::Simple::Progress' => '3.41', + 'Pod::Simple::PullParser'=> '3.41', + 'Pod::Simple::PullParserEndToken'=> '3.41', + 'Pod::Simple::PullParserStartToken'=> '3.41', + 'Pod::Simple::PullParserTextToken'=> '3.41', + 'Pod::Simple::PullParserToken'=> '3.41', + 'Pod::Simple::RTF' => '3.41', + 'Pod::Simple::Search' => '3.41', + 'Pod::Simple::SimpleTree'=> '3.41', + 'Pod::Simple::Text' => '3.41', + 'Pod::Simple::TextContent'=> '3.41', + 'Pod::Simple::TiedOutFH'=> '3.41', + 'Pod::Simple::Transcode'=> '3.41', + 'Pod::Simple::TranscodeDumb'=> '3.41', + 'Pod::Simple::TranscodeSmart'=> '3.41', + 'Pod::Simple::XHTML' => '3.41', + 'Pod::Simple::XMLOutStream'=> '3.41', + 'Pod::Usage' => '2.01', + 'Storable' => '3.23', + 'Symbol' => '1.09', + 'Test2' => '1.302182', + 'Test2::API' => '1.302182', + 'Test2::API::Breakage' => '1.302182', + 'Test2::API::Context' => '1.302182', + 'Test2::API::Instance' => '1.302182', + 'Test2::API::InterceptResult'=> '1.302182', + 'Test2::API::InterceptResult::Event'=> '1.302182', + 'Test2::API::InterceptResult::Facet'=> '1.302182', + 'Test2::API::InterceptResult::Hub'=> '1.302182', + 'Test2::API::InterceptResult::Squasher'=> '1.302182', + 'Test2::API::Stack' => '1.302182', + 'Test2::Event' => '1.302182', + 'Test2::Event::Bail' => '1.302182', + 'Test2::Event::Diag' => '1.302182', + 'Test2::Event::Encoding'=> '1.302182', + 'Test2::Event::Exception'=> '1.302182', + 'Test2::Event::Fail' => '1.302182', + 'Test2::Event::Generic' => '1.302182', + 'Test2::Event::Note' => '1.302182', + 'Test2::Event::Ok' => '1.302182', + 'Test2::Event::Pass' => '1.302182', + 'Test2::Event::Plan' => '1.302182', + 'Test2::Event::Skip' => '1.302182', + 'Test2::Event::Subtest' => '1.302182', + 'Test2::Event::TAP::Version'=> '1.302182', + 'Test2::Event::V2' => '1.302182', + 'Test2::Event::Waiting' => '1.302182', + 'Test2::EventFacet' => '1.302182', + 'Test2::EventFacet::About'=> '1.302182', + 'Test2::EventFacet::Amnesty'=> '1.302182', + 'Test2::EventFacet::Assert'=> '1.302182', + 'Test2::EventFacet::Control'=> '1.302182', + 'Test2::EventFacet::Error'=> '1.302182', + 'Test2::EventFacet::Hub'=> '1.302182', + 'Test2::EventFacet::Info'=> '1.302182', + 'Test2::EventFacet::Info::Table'=> '1.302182', + 'Test2::EventFacet::Meta'=> '1.302182', + 'Test2::EventFacet::Parent'=> '1.302182', + 'Test2::EventFacet::Plan'=> '1.302182', + 'Test2::EventFacet::Render'=> '1.302182', + 'Test2::EventFacet::Trace'=> '1.302182', + 'Test2::Formatter' => '1.302182', + 'Test2::Formatter::TAP' => '1.302182', + 'Test2::Hub' => '1.302182', + 'Test2::Hub::Interceptor'=> '1.302182', + 'Test2::Hub::Interceptor::Terminator'=> '1.302182', + 'Test2::Hub::Subtest' => '1.302182', + 'Test2::IPC' => '1.302182', + 'Test2::IPC::Driver' => '1.302182', + 'Test2::IPC::Driver::Files'=> '1.302182', + 'Test2::Tools::Tiny' => '1.302182', + 'Test2::Util' => '1.302182', + 'Test2::Util::ExternalMeta'=> '1.302182', + 'Test2::Util::Facets2Legacy'=> '1.302182', + 'Test2::Util::HashBase' => '1.302182', + 'Test2::Util::Trace' => '1.302182', + 'Test::Builder' => '1.302182', + 'Test::Builder::Formatter'=> '1.302182', + 'Test::Builder::Module' => '1.302182', + 'Test::Builder::Tester' => '1.302182', + 'Test::Builder::Tester::Color'=> '1.302182', + 'Test::Builder::TodoDiag'=> '1.302182', + 'Test::More' => '1.302182', + 'Test::Simple' => '1.302182', + 'Test::Tester' => '1.302182', + 'Test::Tester::Capture' => '1.302182', + 'Test::Tester::CaptureRunner'=> '1.302182', + 'Test::Tester::Delegate'=> '1.302182', + 'Test::use::ok' => '1.302182', + 'Tie::RefHash' => '1.40', + 'Time::Local' => '1.30', + 'Unicode::Collate' => '1.29', + 'Unicode::Collate::CJK::Big5'=> '1.29', + 'Unicode::Collate::CJK::GB2312'=> '1.29', + 'Unicode::Collate::CJK::JISX0208'=> '1.29', + 'Unicode::Collate::CJK::Korean'=> '1.29', + 'Unicode::Collate::CJK::Pinyin'=> '1.29', + 'Unicode::Collate::CJK::Stroke'=> '1.29', + 'Unicode::Collate::CJK::Zhuyin'=> '1.29', + 'Unicode::Collate::Locale'=> '1.29', + 'Win32' => '0.54', + 'XS::APItest' => '1.12', + 'bytes' => '1.08', + 'experimental' => '0.022', + 'feature' => '1.61', + 'if' => '0.0609', + 'locale' => '1.10', + 'mro' => '1.25', + 'ok' => '1.302182', + 'overload' => '1.33', + 're' => '0.41', + 'subs' => '1.04', + 'utf8' => '1.24', + 'version' => '0.9928', + 'version::regex' => '0.9928', + }, + removed => { + } + }, + 5.033004 => { + delta_from => 5.033003, + changed => { + 'B' => '1.82', + 'B::Op_private' => '5.033004', + 'Config' => '5.033004', + 'Cwd' => '3.79', + 'ExtUtils::CBuilder' => '0.280235', + 'ExtUtils::CBuilder::Base'=> '0.280235', + 'ExtUtils::CBuilder::Platform::Unix'=> '0.280235', + 'ExtUtils::CBuilder::Platform::VMS'=> '0.280235', + 'ExtUtils::CBuilder::Platform::Windows'=> '0.280235', + 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280235', + 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280235', + 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280235', + 'ExtUtils::CBuilder::Platform::aix'=> '0.280235', + 'ExtUtils::CBuilder::Platform::android'=> '0.280235', + 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280235', + 'ExtUtils::CBuilder::Platform::darwin'=> '0.280235', + 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280235', + 'ExtUtils::CBuilder::Platform::os2'=> '0.280235', + 'ExtUtils::Command' => '7.56', + 'ExtUtils::Command::MM' => '7.56', + 'ExtUtils::Liblist' => '7.56', + 'ExtUtils::Liblist::Kid'=> '7.56', + 'ExtUtils::MM' => '7.56', + 'ExtUtils::MM_AIX' => '7.56', + 'ExtUtils::MM_Any' => '7.56', + 'ExtUtils::MM_BeOS' => '7.56', + 'ExtUtils::MM_Cygwin' => '7.56', + 'ExtUtils::MM_DOS' => '7.56', + 'ExtUtils::MM_Darwin' => '7.56', + 'ExtUtils::MM_MacOS' => '7.56', + 'ExtUtils::MM_NW5' => '7.56', + 'ExtUtils::MM_OS2' => '7.56', + 'ExtUtils::MM_OS390' => '7.56', + 'ExtUtils::MM_QNX' => '7.56', + 'ExtUtils::MM_UWIN' => '7.56', + 'ExtUtils::MM_Unix' => '7.56', + 'ExtUtils::MM_VMS' => '7.56', + 'ExtUtils::MM_VOS' => '7.56', + 'ExtUtils::MM_Win32' => '7.56', + 'ExtUtils::MM_Win95' => '7.56', + 'ExtUtils::MY' => '7.56', + 'ExtUtils::MakeMaker' => '7.56', + 'ExtUtils::MakeMaker::Config'=> '7.56', + 'ExtUtils::MakeMaker::Locale'=> '7.56', + 'ExtUtils::MakeMaker::version'=> '7.56', + 'ExtUtils::MakeMaker::version::regex'=> '7.56', + 'ExtUtils::Mkbootstrap' => '7.56', + 'ExtUtils::Mksymlists' => '7.56', + 'ExtUtils::testlib' => '7.56', + 'File::Fetch' => '1.00', + 'File::Path' => '2.18', + 'File::Spec' => '3.79', + 'File::Spec::AmigaOS' => '3.79', + 'File::Spec::Cygwin' => '3.79', + 'File::Spec::Epoc' => '3.79', + 'File::Spec::Functions' => '3.79', + 'File::Spec::Mac' => '3.79', + 'File::Spec::OS2' => '3.79', + 'File::Spec::Unix' => '3.79', + 'File::Spec::VMS' => '3.79', + 'IPC::Msg' => '2.09', + 'IPC::Semaphore' => '2.09', + 'IPC::SharedMem' => '2.09', + 'IPC::SysV' => '2.09', + 'Module::CoreList' => '5.20201120', + 'Module::CoreList::Utils'=> '5.20201120', + 'Net::Ping' => '2.74', + 'Pod::Html' => '1.26', + 'Pod::Simple' => '3.42', + 'Pod::Simple::BlackBox' => '3.42', + 'Pod::Simple::Checker' => '3.42', + 'Pod::Simple::Debug' => '3.42', + 'Pod::Simple::DumpAsText'=> '3.42', + 'Pod::Simple::DumpAsXML'=> '3.42', + 'Pod::Simple::HTML' => '3.42', + 'Pod::Simple::HTMLBatch'=> '3.42', + 'Pod::Simple::LinkSection'=> '3.42', + 'Pod::Simple::Methody' => '3.42', + 'Pod::Simple::Progress' => '3.42', + 'Pod::Simple::PullParser'=> '3.42', + 'Pod::Simple::PullParserEndToken'=> '3.42', + 'Pod::Simple::PullParserStartToken'=> '3.42', + 'Pod::Simple::PullParserTextToken'=> '3.42', + 'Pod::Simple::PullParserToken'=> '3.42', + 'Pod::Simple::RTF' => '3.42', + 'Pod::Simple::Search' => '3.42', + 'Pod::Simple::SimpleTree'=> '3.42', + 'Pod::Simple::Text' => '3.42', + 'Pod::Simple::TextContent'=> '3.42', + 'Pod::Simple::TiedOutFH'=> '3.42', + 'Pod::Simple::Transcode'=> '3.42', + 'Pod::Simple::TranscodeDumb'=> '3.42', + 'Pod::Simple::TranscodeSmart'=> '3.42', + 'Pod::Simple::XHTML' => '3.42', + 'Pod::Simple::XMLOutStream'=> '3.42', + 'Test2' => '1.302183', + 'Test2::API' => '1.302183', + 'Test2::API::Breakage' => '1.302183', + 'Test2::API::Context' => '1.302183', + 'Test2::API::Instance' => '1.302183', + 'Test2::API::InterceptResult'=> '1.302183', + 'Test2::API::InterceptResult::Event'=> '1.302183', + 'Test2::API::InterceptResult::Facet'=> '1.302183', + 'Test2::API::InterceptResult::Hub'=> '1.302183', + 'Test2::API::InterceptResult::Squasher'=> '1.302183', + 'Test2::API::Stack' => '1.302183', + 'Test2::Event' => '1.302183', + 'Test2::Event::Bail' => '1.302183', + 'Test2::Event::Diag' => '1.302183', + 'Test2::Event::Encoding'=> '1.302183', + 'Test2::Event::Exception'=> '1.302183', + 'Test2::Event::Fail' => '1.302183', + 'Test2::Event::Generic' => '1.302183', + 'Test2::Event::Note' => '1.302183', + 'Test2::Event::Ok' => '1.302183', + 'Test2::Event::Pass' => '1.302183', + 'Test2::Event::Plan' => '1.302183', + 'Test2::Event::Skip' => '1.302183', + 'Test2::Event::Subtest' => '1.302183', + 'Test2::Event::TAP::Version'=> '1.302183', + 'Test2::Event::V2' => '1.302183', + 'Test2::Event::Waiting' => '1.302183', + 'Test2::EventFacet' => '1.302183', + 'Test2::EventFacet::About'=> '1.302183', + 'Test2::EventFacet::Amnesty'=> '1.302183', + 'Test2::EventFacet::Assert'=> '1.302183', + 'Test2::EventFacet::Control'=> '1.302183', + 'Test2::EventFacet::Error'=> '1.302183', + 'Test2::EventFacet::Hub'=> '1.302183', + 'Test2::EventFacet::Info'=> '1.302183', + 'Test2::EventFacet::Info::Table'=> '1.302183', + 'Test2::EventFacet::Meta'=> '1.302183', + 'Test2::EventFacet::Parent'=> '1.302183', + 'Test2::EventFacet::Plan'=> '1.302183', + 'Test2::EventFacet::Render'=> '1.302183', + 'Test2::EventFacet::Trace'=> '1.302183', + 'Test2::Formatter' => '1.302183', + 'Test2::Formatter::TAP' => '1.302183', + 'Test2::Hub' => '1.302183', + 'Test2::Hub::Interceptor'=> '1.302183', + 'Test2::Hub::Interceptor::Terminator'=> '1.302183', + 'Test2::Hub::Subtest' => '1.302183', + 'Test2::IPC' => '1.302183', + 'Test2::IPC::Driver' => '1.302183', + 'Test2::IPC::Driver::Files'=> '1.302183', + 'Test2::Tools::Tiny' => '1.302183', + 'Test2::Util' => '1.302183', + 'Test2::Util::ExternalMeta'=> '1.302183', + 'Test2::Util::Facets2Legacy'=> '1.302183', + 'Test2::Util::HashBase' => '1.302183', + 'Test2::Util::Trace' => '1.302183', + 'Test::Builder' => '1.302183', + 'Test::Builder::Formatter'=> '1.302183', + 'Test::Builder::Module' => '1.302183', + 'Test::Builder::Tester' => '1.302183', + 'Test::Builder::Tester::Color'=> '1.302183', + 'Test::Builder::TodoDiag'=> '1.302183', + 'Test::More' => '1.302183', + 'Test::Simple' => '1.302183', + 'Test::Tester' => '1.302183', + 'Test::Tester::Capture' => '1.302183', + 'Test::Tester::CaptureRunner'=> '1.302183', + 'Test::Tester::Delegate'=> '1.302183', + 'Test::use::ok' => '1.302183', + 'XS::APItest' => '1.13', + 'ok' => '1.302183', + 'perlfaq' => '5.20201107', + }, + removed => { + } + }, + 5.033005 => { + delta_from => 5.033004, + changed => { + 'App::Prove' => '3.43', + 'App::Prove::State' => '3.43', + 'App::Prove::State::Result'=> '3.43', + 'App::Prove::State::Result::Test'=> '3.43', + 'B::Op_private' => '5.033005', + 'Carp' => '1.51', + 'Carp::Heavy' => '1.51', + 'Config' => '5.033005', + 'Config::Perl::V' => '0.33', + 'Cwd' => '3.80', + 'DynaLoader' => '1.49', + 'Encode' => '3.08', + 'Encode::GSM0338' => '2.09', + 'ExtUtils::Install' => '2.20', + 'ExtUtils::Installed' => '2.20', + 'ExtUtils::Packlist' => '2.20', + 'ExtUtils::ParseXS' => '3.42', + 'ExtUtils::ParseXS::Constants'=> '3.42', + 'ExtUtils::ParseXS::CountLines'=> '3.42', + 'ExtUtils::ParseXS::Eval'=> '3.42', + 'ExtUtils::ParseXS::Utilities'=> '3.42', + 'File::Copy' => '2.35', + 'File::Find' => '1.38', + 'File::Spec' => '3.80', + 'File::Spec::AmigaOS' => '3.80', + 'File::Spec::Cygwin' => '3.80', + 'File::Spec::Epoc' => '3.80', + 'File::Spec::Functions' => '3.80', + 'File::Spec::Mac' => '3.80', + 'File::Spec::OS2' => '3.80', + 'File::Spec::Unix' => '3.80', + 'File::Spec::VMS' => '3.80', + 'File::Spec::Win32' => '3.80', + 'Module::CoreList' => '5.20201220', + 'Module::CoreList::Utils'=> '5.20201220', + 'Net::Cmd' => '3.12', + 'Net::Config' => '3.12', + 'Net::Domain' => '3.12', + 'Net::FTP' => '3.12', + 'Net::FTP::A' => '3.12', + 'Net::FTP::E' => '3.12', + 'Net::FTP::I' => '3.12', + 'Net::FTP::L' => '3.12', + 'Net::FTP::dataconn' => '3.12', + 'Net::NNTP' => '3.12', + 'Net::Netrc' => '3.12', + 'Net::POP3' => '3.12', + 'Net::SMTP' => '3.12', + 'Net::Time' => '3.12', + 'ODBM_File' => '1.17', + 'Opcode' => '1.49', + 'POSIX' => '1.96', + 'PerlIO::via::QuotedPrint'=> '0.09', + 'TAP::Base' => '3.43', + 'TAP::Formatter::Base' => '3.43', + 'TAP::Formatter::Color' => '3.43', + 'TAP::Formatter::Console'=> '3.43', + 'TAP::Formatter::Console::ParallelSession'=> '3.43', + 'TAP::Formatter::Console::Session'=> '3.43', + 'TAP::Formatter::File' => '3.43', + 'TAP::Formatter::File::Session'=> '3.43', + 'TAP::Formatter::Session'=> '3.43', + 'TAP::Harness' => '3.43', + 'TAP::Harness::Env' => '3.43', + 'TAP::Object' => '3.43', + 'TAP::Parser' => '3.43', + 'TAP::Parser::Aggregator'=> '3.43', + 'TAP::Parser::Grammar' => '3.43', + 'TAP::Parser::Iterator' => '3.43', + 'TAP::Parser::Iterator::Array'=> '3.43', + 'TAP::Parser::Iterator::Process'=> '3.43', + 'TAP::Parser::Iterator::Stream'=> '3.43', + 'TAP::Parser::IteratorFactory'=> '3.43', + 'TAP::Parser::Multiplexer'=> '3.43', + 'TAP::Parser::Result' => '3.43', + 'TAP::Parser::Result::Bailout'=> '3.43', + 'TAP::Parser::Result::Comment'=> '3.43', + 'TAP::Parser::Result::Plan'=> '3.43', + 'TAP::Parser::Result::Pragma'=> '3.43', + 'TAP::Parser::Result::Test'=> '3.43', + 'TAP::Parser::Result::Unknown'=> '3.43', + 'TAP::Parser::Result::Version'=> '3.43', + 'TAP::Parser::Result::YAML'=> '3.43', + 'TAP::Parser::ResultFactory'=> '3.43', + 'TAP::Parser::Scheduler'=> '3.43', + 'TAP::Parser::Scheduler::Job'=> '3.43', + 'TAP::Parser::Scheduler::Spinner'=> '3.43', + 'TAP::Parser::Source' => '3.43', + 'TAP::Parser::SourceHandler'=> '3.43', + 'TAP::Parser::SourceHandler::Executable'=> '3.43', + 'TAP::Parser::SourceHandler::File'=> '3.43', + 'TAP::Parser::SourceHandler::Handle'=> '3.43', + 'TAP::Parser::SourceHandler::Perl'=> '3.43', + 'TAP::Parser::SourceHandler::RawTAP'=> '3.43', + 'TAP::Parser::YAMLish::Reader'=> '3.43', + 'TAP::Parser::YAMLish::Writer'=> '3.43', + 'Test::Harness' => '3.43', + 'Text::Balanced' => '2.04', + 'Time::HiRes' => '1.9766', + 'XS::APItest' => '1.14', + 'warnings' => '1.49', + }, + removed => { + } + }, + 5.033006 => { + delta_from => 5.033005, + changed => { + 'B::Op_private' => '5.033006', + 'Carp' => '1.52', + 'Carp::Heavy' => '1.52', + 'Compress::Raw::Bzip2' => '2.100', + 'Compress::Raw::Zlib' => '2.100', + 'Compress::Zlib' => '2.100', + 'Config' => '5.033006', + 'DynaLoader' => '1.50', + 'ExtUtils::Command' => '7.58', + 'ExtUtils::Command::MM' => '7.58', + 'ExtUtils::Liblist' => '7.58', + 'ExtUtils::Liblist::Kid'=> '7.58', + 'ExtUtils::MM' => '7.58', + 'ExtUtils::MM_AIX' => '7.58', + 'ExtUtils::MM_Any' => '7.58', + 'ExtUtils::MM_BeOS' => '7.58', + 'ExtUtils::MM_Cygwin' => '7.58', + 'ExtUtils::MM_DOS' => '7.58', + 'ExtUtils::MM_Darwin' => '7.58', + 'ExtUtils::MM_MacOS' => '7.58', + 'ExtUtils::MM_NW5' => '7.58', + 'ExtUtils::MM_OS2' => '7.58', + 'ExtUtils::MM_OS390' => '7.58', + 'ExtUtils::MM_QNX' => '7.58', + 'ExtUtils::MM_UWIN' => '7.58', + 'ExtUtils::MM_Unix' => '7.58', + 'ExtUtils::MM_VMS' => '7.58', + 'ExtUtils::MM_VOS' => '7.58', + 'ExtUtils::MM_Win32' => '7.58', + 'ExtUtils::MM_Win95' => '7.58', + 'ExtUtils::MY' => '7.58', + 'ExtUtils::MakeMaker' => '7.58', + 'ExtUtils::MakeMaker::Config'=> '7.58', + 'ExtUtils::MakeMaker::Locale'=> '7.58', + 'ExtUtils::MakeMaker::version'=> '7.58', + 'ExtUtils::MakeMaker::version::regex'=> '7.58', + 'ExtUtils::Manifest' => '1.73', + 'ExtUtils::Mkbootstrap' => '7.58', + 'ExtUtils::Mksymlists' => '7.58', + 'ExtUtils::testlib' => '7.58', + 'GDBM_File' => '1.19', + 'IO' => '1.45', + 'IO::Compress::Adapter::Bzip2'=> '2.100', + 'IO::Compress::Adapter::Deflate'=> '2.100', + 'IO::Compress::Adapter::Identity'=> '2.100', + 'IO::Compress::Base' => '2.100', + 'IO::Compress::Base::Common'=> '2.100', + 'IO::Compress::Bzip2' => '2.100', + 'IO::Compress::Deflate' => '2.100', + 'IO::Compress::Gzip' => '2.100', + 'IO::Compress::Gzip::Constants'=> '2.100', + 'IO::Compress::RawDeflate'=> '2.100', + 'IO::Compress::Zip' => '2.100', + 'IO::Compress::Zip::Constants'=> '2.100', + 'IO::Compress::Zlib::Constants'=> '2.100', + 'IO::Compress::Zlib::Extra'=> '2.100', + 'IO::Dir' => '1.45', + 'IO::File' => '1.45', + 'IO::Handle' => '1.45', + 'IO::Pipe' => '1.45', + 'IO::Poll' => '1.45', + 'IO::Seekable' => '1.45', + 'IO::Select' => '1.45', + 'IO::Socket' => '1.45', + 'IO::Socket::INET' => '1.45', + 'IO::Socket::UNIX' => '1.45', + 'IO::Uncompress::Adapter::Bunzip2'=> '2.100', + 'IO::Uncompress::Adapter::Identity'=> '2.100', + 'IO::Uncompress::Adapter::Inflate'=> '2.100', + 'IO::Uncompress::AnyInflate'=> '2.100', + 'IO::Uncompress::AnyUncompress'=> '2.100', + 'IO::Uncompress::Base' => '2.100', + 'IO::Uncompress::Bunzip2'=> '2.100', + 'IO::Uncompress::Gunzip'=> '2.100', + 'IO::Uncompress::Inflate'=> '2.100', + 'IO::Uncompress::RawInflate'=> '2.100', + 'IO::Uncompress::Unzip' => '2.100', + 'Module::CoreList' => '5.20210120', + 'Module::CoreList::Utils'=> '5.20210120', + 'Net::Cmd' => '3.13', + 'Net::Config' => '3.13', + 'Net::Domain' => '3.13', + 'Net::FTP' => '3.13', + 'Net::FTP::A' => '3.13', + 'Net::FTP::E' => '3.13', + 'Net::FTP::I' => '3.13', + 'Net::FTP::L' => '3.13', + 'Net::FTP::dataconn' => '3.13', + 'Net::NNTP' => '3.13', + 'Net::Netrc' => '3.13', + 'Net::POP3' => '3.13', + 'Net::SMTP' => '3.13', + 'Net::Time' => '3.13', + 'POSIX' => '1.97', + 'Socket' => '2.031', + 'XS::APItest' => '1.15', + 'feature' => '1.62', + 'warnings' => '1.50', + }, + removed => { + } + }, + 5.032001 => { + delta_from => 5.032000, + changed => { + 'B::Op_private' => '5.032001', + 'Config' => '5.032001', + 'Data::Dumper' => '2.174_01', + 'DynaLoader' => '1.47_01', + 'ExtUtils::Liblist::Kid'=> '7.44_01', + 'Module::CoreList' => '5.20210123', + 'Module::CoreList::Utils'=> '5.20210123', + 'Opcode' => '1.48', + 'Safe' => '2.41_01', + 'Win32API::File::inc::ExtUtils::Myconst2perl'=> '1', + }, + removed => { + } + }, ); sub is_core @@ -17913,6 +19369,132 @@ sub is_core removed => { } }, + 5.031006 => { + delta_from => 5.031005, + changed => { + }, + removed => { + } + }, + 5.031007 => { + delta_from => 5.031006, + changed => { + }, + removed => { + } + }, + 5.031008 => { + delta_from => 5.031007, + changed => { + }, + removed => { + } + }, + 5.031009 => { + delta_from => 5.031008, + changed => { + }, + removed => { + } + }, + 5.030002 => { + delta_from => 5.030001, + changed => { + }, + removed => { + } + }, + 5.031010 => { + delta_from => 5.031009, + changed => { + }, + removed => { + } + }, + 5.031011 => { + delta_from => 5.03101, + changed => { + }, + removed => { + } + }, + 5.028003 => { + delta_from => 5.028002, + changed => { + }, + removed => { + } + }, + 5.030003 => { + delta_from => 5.030002, + changed => { + }, + removed => { + } + }, + 5.032000 => { + delta_from => 5.031011, + changed => { + }, + removed => { + } + }, + 5.033000 => { + delta_from => 5.032, + changed => { + }, + removed => { + } + }, + 5.033001 => { + delta_from => 5.033000, + changed => { + }, + removed => { + } + }, + 5.033002 => { + delta_from => 5.033001, + changed => { + }, + removed => { + } + }, + 5.033003 => { + delta_from => 5.033002, + changed => { + }, + removed => { + } + }, + 5.033004 => { + delta_from => 5.033003, + changed => { + }, + removed => { + } + }, + 5.033005 => { + delta_from => 5.033004, + changed => { + }, + removed => { + } + }, + 5.033006 => { + delta_from => 5.033005, + changed => { + }, + removed => { + } + }, + 5.032001 => { + delta_from => 5.032, + changed => { + }, + removed => { + } + }, ); %deprecated = _undelta(\%deprecated); @@ -18136,12 +19718,8 @@ sub is_core 'PerlIO::via::QuotedPrint'=> 'cpan', 'Pod::Checker' => 'cpan', 'Pod::Escapes' => 'cpan', - 'Pod::Find' => 'cpan', - 'Pod::InputObjects' => 'cpan', 'Pod::Man' => 'cpan', 'Pod::ParseLink' => 'cpan', - 'Pod::ParseUtils' => 'cpan', - 'Pod::Parser' => 'cpan', 'Pod::Perldoc' => 'cpan', 'Pod::Perldoc::BaseTo' => 'cpan', 'Pod::Perldoc::GetOptsOO'=> 'cpan', @@ -18155,8 +19733,6 @@ sub is_core 'Pod::Perldoc::ToText' => 'cpan', 'Pod::Perldoc::ToTk' => 'cpan', 'Pod::Perldoc::ToXml' => 'cpan', - 'Pod::PlainText' => 'cpan', - 'Pod::Select' => 'cpan', 'Pod::Simple' => 'cpan', 'Pod::Simple::BlackBox' => 'cpan', 'Pod::Simple::Checker' => 'cpan', @@ -18166,6 +19742,7 @@ sub is_core 'Pod::Simple::HTML' => 'cpan', 'Pod::Simple::HTMLBatch'=> 'cpan', 'Pod::Simple::HTMLLegacy'=> 'cpan', + 'Pod::Simple::JustPod' => 'cpan', 'Pod::Simple::LinkSection'=> 'cpan', 'Pod::Simple::Methody' => 'cpan', 'Pod::Simple::Progress' => 'cpan', @@ -18325,7 +19902,6 @@ sub is_core 'Unicode::Collate::Locale'=> 'cpan', 'Win32' => 'cpan', 'Win32API::File' => 'cpan', - 'Win32API::File::inc::ExtUtils::Myconst2perl'=> 'cpan', 'autodie' => 'cpan', 'autodie::Scope::Guard' => 'cpan', 'autodie::Scope::GuardStack'=> 'cpan', @@ -18403,13 +19979,13 @@ sub is_core 'Compress::Raw::Bzip2' => 'https://github.com/pmqs/Compress-Raw-Bzip2/issues', 'Compress::Raw::Zlib' => 'https://github.com/pmqs/Compress-Raw-Zlib/issues', 'Compress::Zlib' => 'https://github.com/pmqs/IO-Compress/issues', - 'Config::Perl::V' => undef, + 'Config::Perl::V' => 'https://github.com/Tux/Config-Perl-V/issues', 'DB_File' => 'https://github.com/pmqs/DB_File/issues', - 'Digest' => undef, - 'Digest::MD5' => undef, + 'Digest' => 'https://github.com/Dual-Life/digest/issues', + 'Digest::MD5' => 'https://github.com/Dual-Life/digest-md5/issues', 'Digest::SHA' => undef, - 'Digest::base' => undef, - 'Digest::file' => undef, + 'Digest::base' => 'https://github.com/Dual-Life/digest/issues', + 'Digest::file' => 'https://github.com/Dual-Life/digest/issues', 'Encode' => undef, 'Encode::Alias' => undef, 'Encode::Byte' => undef, @@ -18434,8 +20010,8 @@ sub is_core 'Encode::TW' => undef, 'Encode::Unicode' => undef, 'Encode::Unicode::UTF7' => undef, - '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::Command' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::Command::MM' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', 'ExtUtils::Constant' => undef, 'ExtUtils::Constant::Base'=> undef, 'ExtUtils::Constant::ProxySubs'=> undef, @@ -18443,36 +20019,36 @@ sub is_core 'ExtUtils::Constant::XS'=> undef, 'ExtUtils::Install' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-Install', 'ExtUtils::Installed' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-Install', - 'ExtUtils::Liblist' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', - 'ExtUtils::Liblist::Kid'=> 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', - 'ExtUtils::MM' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', - 'ExtUtils::MM_AIX' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', - 'ExtUtils::MM_Any' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', - 'ExtUtils::MM_BeOS' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', - 'ExtUtils::MM_Cygwin' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', - 'ExtUtils::MM_DOS' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', - 'ExtUtils::MM_Darwin' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', - 'ExtUtils::MM_MacOS' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', - 'ExtUtils::MM_NW5' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', - 'ExtUtils::MM_OS2' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', - 'ExtUtils::MM_QNX' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', - 'ExtUtils::MM_UWIN' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', - 'ExtUtils::MM_Unix' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', - 'ExtUtils::MM_VMS' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', - 'ExtUtils::MM_VOS' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', - 'ExtUtils::MM_Win32' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', - 'ExtUtils::MM_Win95' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', - 'ExtUtils::MY' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', - 'ExtUtils::MakeMaker' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', - 'ExtUtils::MakeMaker::Config'=> 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', - 'ExtUtils::MakeMaker::Locale'=> 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', - 'ExtUtils::MakeMaker::version'=> 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', - 'ExtUtils::MakeMaker::version::regex'=> 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::Liblist' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::Liblist::Kid'=> 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::MM' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::MM_AIX' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::MM_Any' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::MM_BeOS' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::MM_Cygwin' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::MM_DOS' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::MM_Darwin' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::MM_MacOS' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::MM_NW5' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::MM_OS2' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::MM_QNX' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::MM_UWIN' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::MM_Unix' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::MM_VMS' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::MM_VOS' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::MM_Win32' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::MM_Win95' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::MY' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::MakeMaker' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::MakeMaker::Config'=> 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::MakeMaker::Locale'=> 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::MakeMaker::version'=> 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::MakeMaker::version::regex'=> 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', 'ExtUtils::Manifest' => 'http://github.com/Perl-Toolchain-Gang/ExtUtils-Manifest/issues', - 'ExtUtils::Mkbootstrap' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', - 'ExtUtils::Mksymlists' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::Mkbootstrap' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::Mksymlists' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', 'ExtUtils::Packlist' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-Install', - 'ExtUtils::testlib' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::testlib' => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', 'Fatal' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie', 'File::Fetch' => undef, 'File::GlobMapper' => 'https://github.com/pmqs/IO-Compress/issues', @@ -18507,7 +20083,7 @@ sub is_core 'IO::Uncompress::Inflate'=> 'https://github.com/pmqs/IO-Compress/issues', 'IO::Uncompress::RawInflate'=> 'https://github.com/pmqs/IO-Compress/issues', 'IO::Uncompress::Unzip' => 'https://github.com/pmqs/IO-Compress/issues', - 'IO::Zlib' => undef, + 'IO::Zlib' => 'https://github.com/tomhughes/IO-Zlib/issues', 'IPC::Cmd' => undef, 'IPC::Msg' => undef, 'IPC::Semaphore' => undef, @@ -18518,8 +20094,8 @@ sub is_core 'List::Util' => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Scalar-List-Utils', 'List::Util::XS' => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Scalar-List-Utils', 'Locale::Maketext::Simple'=> undef, - 'MIME::Base64' => undef, - 'MIME::QuotedPrint' => undef, + 'MIME::Base64' => 'https://github.com/Dual-Life/mime-base64/issues', + 'MIME::QuotedPrint' => 'https://github.com/Dual-Life/mime-base64/issues', 'Math::BigFloat' => undef, 'Math::BigFloat::Trace' => undef, 'Math::BigInt' => undef, @@ -18563,12 +20139,8 @@ sub is_core 'PerlIO::via::QuotedPrint'=> undef, 'Pod::Checker' => undef, 'Pod::Escapes' => undef, - 'Pod::Find' => undef, - 'Pod::InputObjects' => undef, 'Pod::Man' => 'https://rt.cpan.org/Dist/Display.html?Name=podlators', 'Pod::ParseLink' => 'https://rt.cpan.org/Dist/Display.html?Name=podlators', - 'Pod::ParseUtils' => undef, - 'Pod::Parser' => undef, 'Pod::Perldoc' => undef, 'Pod::Perldoc::BaseTo' => undef, 'Pod::Perldoc::GetOptsOO'=> undef, @@ -18582,8 +20154,6 @@ sub is_core 'Pod::Perldoc::ToText' => undef, 'Pod::Perldoc::ToTk' => undef, 'Pod::Perldoc::ToXml' => undef, - 'Pod::PlainText' => undef, - 'Pod::Select' => 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', @@ -18593,6 +20163,7 @@ sub is_core '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::JustPod' => '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', @@ -18616,7 +20187,7 @@ sub is_core 'Pod::Text::Color' => 'https://rt.cpan.org/Dist/Display.html?Name=podlators', 'Pod::Text::Overstrike' => 'https://rt.cpan.org/Dist/Display.html?Name=podlators', 'Pod::Text::Termcap' => 'https://rt.cpan.org/Dist/Display.html?Name=podlators', - 'Pod::Usage' => undef, + 'Pod::Usage' => 'https://github.com/Dual-Life/Pod-Usage/issues', 'Scalar::Util' => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Scalar-List-Utils', 'Socket' => undef, 'Sub::Util' => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Scalar-List-Utils', @@ -18737,7 +20308,7 @@ sub is_core 'Text::ParseWords' => undef, 'Text::Tabs' => undef, 'Text::Wrap' => undef, - 'Tie::RefHash' => undef, + 'Tie::RefHash' => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Tie-RefHash', 'Time::Local' => 'https://github.com/houseabsolute/Time-Local/issues', 'Time::Piece' => undef, 'Time::Seconds' => undef, @@ -18752,7 +20323,6 @@ sub is_core 'Unicode::Collate::Locale'=> undef, 'Win32' => 'https://github.com/perl-libwin32/win32/issues', 'Win32API::File' => undef, - 'Win32API::File::inc::ExtUtils::Myconst2perl'=> undef, 'autodie' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie', 'autodie::Scope::Guard' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie', 'autodie::Scope::GuardStack'=> 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie', diff --git a/Master/tlpkg/tlperl/lib/Module/CoreList/Utils.pm b/Master/tlpkg/tlperl/lib/Module/CoreList/Utils.pm index 2ced7a66c01..cd8929babfc 100755 --- a/Master/tlpkg/tlperl/lib/Module/CoreList/Utils.pm +++ b/Master/tlpkg/tlperl/lib/Module/CoreList/Utils.pm @@ -4,7 +4,7 @@ use strict; use warnings; use Module::CoreList; -our $VERSION = '5.20191110'; +our $VERSION = '5.20210123'; our %utilities; sub utilities { @@ -1551,6 +1551,133 @@ my %delta = ( removed => { } }, + 5.031006 => { + delta_from => 5.031005, + changed => { + 'streamzip' => '1', + }, + removed => { + } + }, + 5.031007 => { + delta_from => 5.031006, + changed => { + }, + removed => { + } + }, + 5.031008 => { + delta_from => 5.031007, + changed => { + }, + removed => { + } + }, + 5.031009 => { + delta_from => 5.031008, + changed => { + }, + removed => { + } + }, + 5.030002 => { + delta_from => 5.030001, + changed => { + }, + removed => { + } + }, + 5.031010 => { + delta_from => 5.031009, + changed => { + }, + removed => { + } + }, + 5.031011 => { + delta_from => 5.031010, + changed => { + }, + removed => { + } + }, + 5.028003 => { + delta_from => 5.028002, + changed => { + }, + removed => { + } + }, + 5.030003 => { + delta_from => 5.030002, + changed => { + }, + removed => { + } + }, + 5.032000 => { + delta_from => 5.031011, + changed => { + }, + removed => { + } + }, + 5.033000 => { + delta_from => 5.032, + changed => { + }, + removed => { + } + }, + 5.033001 => { + delta_from => 5.033000, + changed => { + }, + removed => { + } + }, + 5.033002 => { + delta_from => 5.033001, + changed => { + }, + removed => { + } + }, + 5.033003 => { + delta_from => 5.033002, + changed => { + }, + removed => { + } + }, + 5.033004 => { + delta_from => 5.033003, + changed => { + }, + removed => { + } + }, + 5.033005 => { + delta_from => 5.033004, + changed => { + }, + removed => { + } + }, + 5.033006 => { + delta_from => 5.033005, + changed => { + }, + removed => { + } + }, + 5.032001 => { + delta_from => 5.032000, + changed => { + }, + removed => { + } + }, ); %utilities = Module::CoreList::_undelta(\%delta); diff --git a/Master/tlpkg/tlperl/lib/Module/Load/Conditional.pm b/Master/tlpkg/tlperl/lib/Module/Load/Conditional.pm index 89e22b57207..b0685d2ec12 100644 --- a/Master/tlpkg/tlperl/lib/Module/Load/Conditional.pm +++ b/Master/tlpkg/tlperl/lib/Module/Load/Conditional.pm @@ -22,7 +22,7 @@ BEGIN { $FIND_VERSION $ERROR $CHECK_INC_HASH $FORCE_SAFE_INC ]; use Exporter; @ISA = qw[Exporter]; - $VERSION = '0.68'; + $VERSION = '0.70'; $VERBOSE = 0; $DEPRECATED = 0; $FIND_VERSION = 1; @@ -259,13 +259,19 @@ sub check_install { last DIR unless $FIND_VERSION; ### otherwise, the user wants us to find the version from files - my $mod_info = Module::Metadata->new_from_handle( $fh, $filename ); - my $ver = $mod_info->version( $args->{module} ); - if( defined $ver ) { - $href->{version} = $ver; + { + local $SIG{__WARN__} = sub {}; + my $ver = eval { + my $mod_info = Module::Metadata->new_from_handle( $fh, $filename ); + $mod_info->version( $args->{module} ); + }; - last DIR; + if( defined $ver ) { + $href->{version} = $ver; + + last DIR; + } } } } diff --git a/Master/tlpkg/tlperl/lib/Module/Metadata.pm b/Master/tlpkg/tlperl/lib/Module/Metadata.pm index ecc535f03b0..0309d768ae8 100644 --- a/Master/tlpkg/tlperl/lib/Module/Metadata.pm +++ b/Master/tlpkg/tlperl/lib/Module/Metadata.pm @@ -1,6 +1,6 @@ # -*- mode: cperl; tab-width: 8; indent-tabs-mode: nil; basic-offset: 2 -*- # vim:ts=8:sw=2:et:sta:sts=2:tw=78 -package Module::Metadata; # git description: v1.000035-3-gaa51be1 +package Module::Metadata; # git description: v1.000036-4-g435a294 # ABSTRACT: Gather package and POD information from perl module files # Adapted from Perl-licensed code originally distributed with @@ -14,7 +14,7 @@ sub __clean_eval { eval $_[0] } use strict; use warnings; -our $VERSION = '1.000036'; +our $VERSION = '1.000037'; use Carp qw/croak/; use File::Spec; @@ -383,7 +383,7 @@ sub _init { my $handle = delete $props{handle}; my( %valid_props, @valid_props ); - @valid_props = qw( collect_pod inc ); + @valid_props = qw( collect_pod inc decode_pod ); @valid_props{@valid_props} = delete( @props{@valid_props} ); warn "Unknown properties: @{[keys %props]}\n" if scalar( %props ); @@ -542,6 +542,7 @@ sub _parse_fh { my $pod_sect = ''; my $pod_data = ''; my $in_end = 0; + my $encoding = ''; while (defined( my $line = <$fh> )) { my $line_num = $.; @@ -570,6 +571,9 @@ sub _parse_fh { $pod_sect = $1; } elsif ( $self->{collect_pod} ) { + if ( $self->{decode_pod} && $line =~ /^=encoding ([\w-]+)/ ) { + $encoding = $1; + } $pod_data .= "$line\n"; } next; @@ -658,6 +662,11 @@ sub _parse_fh { $pod{$pod_sect} = $pod_data; } + if ( $self->{decode_pod} && $encoding ) { + require Encode; + $_ = Encode::decode( $encoding, $_ ) for values %pod; + } + $self->{versions} = \%vers; $self->{packages} = \@packages; $self->{pod} = \%pod; @@ -841,7 +850,7 @@ Module::Metadata - Gather package and POD information from perl module files =head1 VERSION -version 1.000036 +version 1.000037 =head1 SYNOPSIS @@ -865,7 +874,7 @@ in the CPAN toolchain. =head1 CLASS METHODS -=head2 C<< new_from_file($filename, collect_pod => 1) >> +=head2 C<< new_from_file($filename, collect_pod => 1, decode_pod => 1) >> Constructs a C object given the path to a file. Returns undef if the filename does not exist. @@ -878,7 +887,10 @@ If the file begins by an UTF-8, UTF-16BE or UTF-16LE byte-order mark, then it is skipped before processing, and the content of the file is also decoded appropriately starting from perl 5.8. -=head2 C<< new_from_handle($handle, $filename, collect_pod => 1) >> +Alternatively, if C is set, it will decode the collected pod +sections according to the C<=encoding> declaration. + +=head2 C<< new_from_handle($handle, $filename, collect_pod => 1, decode_pod => 1) >> This works just like C, except that a handle can be provided as the first argument. @@ -891,15 +903,15 @@ mandatory or undef will be returned. You are responsible for setting the decoding layers on C<$handle> if required. -=head2 C<< new_from_module($module, collect_pod => 1, inc => \@dirs) >> +=head2 C<< new_from_module($module, collect_pod => 1, inc => \@dirs, decode_pod => 1) >> Constructs a C object given a module or package name. Returns undef if the module cannot be found. -In addition to accepting the C argument as described above, -this method accepts a C argument which is a reference to an array of -directories to search for the module. If none are given, the default is -@INC. +In addition to accepting the C and C arguments as +described above, this method accepts a C argument which is a reference to +an array of directories to search for the module. If none are given, the +default is @INC. If the file that contains the module begins by an UTF-8, UTF-16BE or UTF-16LE byte-order mark, then it is skipped before processing, and the @@ -1070,7 +1082,7 @@ assistance from David Golden (xdg) . =head1 CONTRIBUTORS -=for stopwords Karen Etheridge David Golden Vincent Pit Matt S Trout Chris Nehren Graham Knop Olivier Mengué Tomas Doran tokuhirom Christian Walde Tatsuhiko Miyagawa Peter Rabbitson Steve Hay Jerry D. Hedden Craig A. Berry Mitchell Steinbrunner Edward Zborowski Gareth Harper James Raspass 'BinGOs' Williams Josh Jore Kent Fredric +=for stopwords Karen Etheridge David Golden Vincent Pit Matt S Trout Chris Nehren Tomas Doran Olivier Mengué Graham Knop tokuhirom Tatsuhiko Miyagawa Christian Walde Leon Timmermans Peter Rabbitson Steve Hay Jerry D. Hedden Craig A. Berry Mitchell Steinbrunner Edward Zborowski Gareth Harper James Raspass 'BinGOs' Williams Josh Jore Kent Fredric =over 4 @@ -1096,7 +1108,7 @@ Chris Nehren =item * -Graham Knop +Tomas Doran =item * @@ -1104,7 +1116,7 @@ Olivier Mengué =item * -Tomas Doran +Graham Knop =item * @@ -1112,11 +1124,15 @@ tokuhirom =item * +Tatsuhiko Miyagawa + +=item * + Christian Walde =item * -Tatsuhiko Miyagawa +Leon Timmermans =item * diff --git a/Master/tlpkg/tlperl/lib/Net/Ping.pm b/Master/tlpkg/tlperl/lib/Net/Ping.pm index dce735a0a0a..932fde51363 100644 --- a/Master/tlpkg/tlperl/lib/Net/Ping.pm +++ b/Master/tlpkg/tlperl/lib/Net/Ping.pm @@ -19,7 +19,7 @@ use Time::HiRes; our @ISA = qw(Exporter); our @EXPORT = qw(pingecho); our @EXPORT_OK = qw(wakeonlan); -our $VERSION = "2.71"; +our $VERSION = "2.72"; # Globals diff --git a/Master/tlpkg/tlperl/lib/Opcode.pm b/Master/tlpkg/tlperl/lib/Opcode.pm index 9d97ef15401..9351c3ba207 100644 --- a/Master/tlpkg/tlperl/lib/Opcode.pm +++ b/Master/tlpkg/tlperl/lib/Opcode.pm @@ -6,7 +6,7 @@ use strict; our($VERSION, @ISA, @EXPORT_OK); -$VERSION = "1.43"; +$VERSION = "1.48"; use Carp; use Exporter (); @@ -117,6 +117,13 @@ Safe modules for more typical uses. =head1 WARNING +The Opcode module does not implement an effective sandbox for +evaluating untrusted code with the perl interpreter. + +Bugs in the perl interpreter that could be abused to bypass +Opcode restrictions are not treated as vulnerabilities. See +L for additional information. + The authors make B, implied or otherwise, about the suitability of this software for safety or security purposes. @@ -324,6 +331,7 @@ invert_opset function. lt i_lt gt i_gt le i_le ge i_ge eq i_eq ne i_ne ncmp i_ncmp slt sgt sle sge seq sne scmp + isa substr vec stringify study pos length index rindex ord chr @@ -344,6 +352,8 @@ invert_opset function. method_super method_redir method_redir_super -- XXX loops via recursion? + cmpchain_and cmpchain_dup + leaveeval -- needed for Safe to operate, is safe without entereval @@ -493,7 +503,7 @@ A handy tag name for a I default set of ops beyond the :default optag. Like :default (and indeed all the other optags) its current definition is unstable while development continues. It will change. -The :browse tag represents the next step beyond :default. It it a +The :browse tag represents the next step beyond :default. It is a superset of the :default ops and adds :filesys_read the :sys_db. The intent being that scripts can access more (possibly sensitive) information about your system but not be able to change it. diff --git a/Master/tlpkg/tlperl/lib/POSIX.pm b/Master/tlpkg/tlperl/lib/POSIX.pm index 4de039410f4..6c4cc547ba2 100644 --- a/Master/tlpkg/tlperl/lib/POSIX.pm +++ b/Master/tlpkg/tlperl/lib/POSIX.pm @@ -4,7 +4,7 @@ use warnings; our ($AUTOLOAD, %SIGRT); -our $VERSION = '1.88'; +our $VERSION = '1.94'; require XSLoader; diff --git a/Master/tlpkg/tlperl/lib/POSIX.pod b/Master/tlpkg/tlperl/lib/POSIX.pod index e4f9a3d18fb..53209c9731e 100644 --- a/Master/tlpkg/tlperl/lib/POSIX.pod +++ b/Master/tlpkg/tlperl/lib/POSIX.pod @@ -468,7 +468,7 @@ integer value less than or equal to the numerical argument. Returns the current floating point rounding mode, one of - FE_TONEAREST FE_TOWARDZERO FE_UPWARD FE_UPWARD + FE_TONEAREST FE_TOWARDZERO FE_UPWARD FE_DOWNWARD C is like L, C is like L [C99]. @@ -941,9 +941,11 @@ for creating hard links into files, see L. =item C Get numeric formatting information. Returns a reference to a hash -containing the current underlying locale's formatting values. Users of this function -should also read L, which provides a comprehensive -discussion of Perl locale handling, including +containing the formatting values of the locale that currently underlies +the program, regardless of whether or not it is called from within the +scope of a S>. Users of this function should also read +L, which provides a comprehensive discussion of Perl locale +handling, including L. Prior to Perl 5.28, or when operating in a non thread-safe environment, it should not be used in a threaded application unless it's certain that @@ -951,7 +953,7 @@ the underlying locale is C or POSIX. This is because it otherwise changes the locale, which globally affects all threads simultaneously. Windows platforms starting with Visual Studio 2005 are mostly thread-safe, but use of this function in those prior to Visual Studio -2015 can interefere with a thread that has called +2015 can interfere with a thread that has called L. Here is how to query the database for the B (Deutsch or German) locale. @@ -1067,25 +1069,64 @@ Not implemented. C is C-specific. Perl does memory management transp =item C -This is identical to the C function C. - -Core Perl does not have any support for the wide and multibyte -characters of the C standards, except under UTF-8 locales, so this might -be a rather useless function. - -However, Perl supports Unicode, see L. - -=item C - -This is identical to the C function C. - -See L. +This is the same as the C function C on unthreaded perls. On +threaded perls, it transparently (almost) substitutes the more +thread-safe L(3)>, if available, instead of C. + +Core Perl does not have any support for wide and multibyte locales, +except Unicode UTF-8 locales. This function, in conjunction with +L and L may be used to roll your own decoding/encoding +of other types of multi-byte locales. + +Use C as the first parameter to this function to get the effect +of passing NULL as the first parameter to C. This resets any +shift state to its initial value. The return value is undefined if +C was substituted, so you should never rely on it. + +When the first parameter is a scalar containing a value that either is a +PV string or can be forced into one, the return value is the number of +bytes occupied by the first character of that string; or 0 if that first +character is the wide NUL character; or negative if there is an error. +This is based on the locale that currently underlies the program, +regardless of whether or not the function is called from Perl code that +is within the scope of S>. Perl makes no attempt at +hiding from your code any differences in the C setting between +C and C. It does set C to 0 before calling them. + +The optional second parameter is ignored if it is larger than the +actual length of the first parameter string. =item C -This is identical to the C function C. - -See L. +This is the same as the C function C on unthreaded perls. On +threaded perls, it transparently (almost) substitutes the more +thread-safe L(3)>, if available, instead of C. + +Core Perl does not have any support for wide and multibyte locales, +except Unicode UTF-8 locales. This function, in conjunction with +L and L may be used to roll your own decoding/encoding +of other types of multi-byte locales. + +The first parameter is a scalar into which, upon success, the wide +character represented by the multi-byte string contained in the second +parameter is stored. The optional third parameter is ignored if it is +larger than the actual length of the second parameter string. + +Use C as the second parameter to this function to get the effect +of passing NULL as the second parameter to C. This resets any +shift state to its initial value. The return value is undefined if +C was substituted, so you should never rely on it. + +When the second parameter is a scalar containing a value that either is +a PV string or can be forced into one, the return value is the number of +bytes occupied by the first character of that string; or 0 if that first +character is the wide NUL character; or negative if there is an error. +This is based on the locale that currently underlies the program, +regardless of whether or not the function is called from Perl code that +is within the scope of S>. Perl makes no attempt at +hiding from your code any differences in the C setting between +C and C. It does set C to 0 before calling +them. =item C @@ -1451,14 +1492,19 @@ see L. =item C -WARNING! Do NOT use this function in a L. The locale -will change in all other threads at the same time, and should your -thread get paused by the operating system, and another started, that -thread will not have the locale it is expecting. On some platforms, -there can be a race leading to segfaults if two threads call this -function nearly simultaneously. - -Modifies and queries the program's underlying locale. Users of this +WARNING! Prior to Perl 5.28 or on a system that does not support +thread-safe locale operations, do NOT use this function in a +L. The locale will change in all other threads at the +same time, and should your thread get paused by the operating system, +and another started, that thread will not have the locale it is +expecting. On some platforms, there can be a race leading to segfaults +if two threads call this function nearly simultaneously. This warning +does not apply on unthreaded builds, or on perls where +C<${^SAFE_LOCALES}> exists and is non-zero; namely Perl 5.28 and later +compiled to be locale-thread-safe. + +This function +modifies and queries the program's underlying locale. Users of this function should read L, whch provides a comprehensive discussion of Perl locale handling, knowledge of which is necessary to properly use this function. It contains @@ -1466,7 +1512,9 @@ L. The discussion here is merely a summary reference for C. Note that Perl itself is almost entirely unaffected by the locale except within the scope of S>. (Exceptions are listed -in L.) +in L, and +locale-dependent functions within the POSIX module ARE always affected +by the current locale.) The following examples assume @@ -1816,10 +1864,11 @@ POSIX-compliant systems set C<$!> (C<$ERRNO>) to indicate a translation error, so clear C<$!> before calling C. However, non-POSIX systems may not check for overflow, and therefore will never set C<$!>. -C respects any POSIX C C settings, +C respects any POSIX C C settings, regardless of whether or not it is called from Perl code that is within -the scope of S>. This means it should not be used in a -threaded application unless it's certain that the underlying locale is C +the scope of S>. Prior to Perl 5.28, or when operating in +a non thread-safe environment, it should not be used in a threaded +application unless it's certain that the underlying locale is C or POSIX. This is because it otherwise changes the locale, which globally affects all threads simultaneously. @@ -2004,6 +2053,7 @@ is no longer available; instead use L. =item C +This function has been removed as of v5.26. This is identical to the C function, except that it can apply to a single character or to a whole string, and currently operates as if the locale always is "C". Consider using the C function, see L, @@ -2012,6 +2062,7 @@ strings. =item C +This function has been removed as of v5.26. This is similar to the C function, except that it can apply to a single character or to a whole string, and currently operates as if the locale always is "C". Consider using the C function, see L, @@ -2104,17 +2155,34 @@ builtin C function, see L. $pid = POSIX::waitpid( -1, POSIX::WNOHANG ); print "status = ", ($? / 256), "\n"; -=item C - -This is identical to the C function C. - See L. =item C -This is identical to the C function C. - -See L. +This is the same as the C function C on unthreaded perls. On +threaded perls, it transparently (almost) substitutes the more +thread-safe L(3)>, if available, instead of C. + +Core Perl does not have any support for wide and multibyte locales, +except Unicode UTF-8 locales. This function, in conjunction with +L and L may be used to roll your own decoding/encoding +of other types of multi-byte locales. + +Use C as the first parameter to this function to get the effect +of passing NULL as the first parameter to C. This resets any +shift state to its initial value. The return value is undefined if +C was substituted, so you should never rely on it. + +When the first parameter is a scalar, the code point contained in the +scalar second parameter is converted into a multi-byte string and stored +into the first parameter scalar. This is based on the locale that +currently underlies the program, regardless of whether or not the +function is called from Perl code that is within the scope of S>. The return value is the number of bytes stored; or negative +if the code point isn't representable in the current locale. Perl makes +no attempt at hiding from your code any differences in the C +setting between C and C. It does set C to 0 +before calling them. =item C @@ -2257,6 +2325,9 @@ Create a set with C. $sigset = POSIX::SigSet->new( &POSIX::SIGUSR1 ); +Throws an error if any of the signals supplied cannot be added to the +set. + =item C Add a signal to a SigSet object. diff --git a/Master/tlpkg/tlperl/lib/PerlIO.pm b/Master/tlpkg/tlperl/lib/PerlIO.pm index 7658ce497bc..85dd083cc02 100644 --- a/Master/tlpkg/tlperl/lib/PerlIO.pm +++ b/Master/tlpkg/tlperl/lib/PerlIO.pm @@ -1,6 +1,6 @@ package PerlIO; -our $VERSION = '1.10'; +our $VERSION = '1.11'; # Map layer name to package that defines it our %alias; @@ -35,14 +35,19 @@ PerlIO - On demand loader for PerlIO layers and root of PerlIO::* name space =head1 SYNOPSIS - open($fh, "<:crlf", "my.txt"); # support platform-native and - # CRLF text files + # support platform-native and CRLF text files + open(my $fh, "<:crlf", "my.txt") or die "open failed: $!"; - open($fh, "<", "his.jpg"); # portably open a binary file for reading - binmode($fh); + # append UTF-8 encoded text + open(my $fh, ">>:encoding(UTF-8)", "some.log") + or die "open failed: $!"; + + # portably open a binary file for reading + open(my $fh, "<", "his.jpg") or die "open failed: $!"; + binmode($fh) or die "binmode failed: $!"; Shell: - PERLIO=perlio perl .... + PERLIO=:perlio perl .... =head1 DESCRIPTION @@ -51,13 +56,52 @@ C layer specification then C code performs the equivalent of: use PerlIO 'foo'; -The perl code in PerlIO.pm then attempts to locate a layer by doing +The Perl code in PerlIO.pm then attempts to locate a layer by doing require PerlIO::foo; Otherwise the C package is a place holder for additional PerlIO related functions. +=head2 Layers + +Generally speaking, PerlIO layers (previously sometimes referred to as +"disciplines") are an ordered stack applied to a filehandle (specified as +a space- or colon-separated list, conventionally written with a leading +colon). Each layer performs some operation on any input or output, except +when bypassed such as with C or C. Read operations go +through the stack in the order they are set (left to right), and write +operations in the reverse order. + +There are also layers which actually just set flags on lower layers, or +layers that modify the current stack but don't persist on the stack +themselves; these are referred to as pseudo-layers. + +When opening a handle, it will be opened with any layers specified +explicitly in the open() call (or the platform defaults, if specified as +a colon with no following layers). + +If layers are not explicitly specified, the handle will be opened with the +layers specified by the L<${^OPEN}|perlvar/"${^OPEN}"> variable (usually +set by using the L pragma for a lexical scope, or the C<-C> +command-line switch or C environment variable for the main +program scope). + +If layers are not specified in the open() call or C<${^OPEN}> variable, +the handle will be opened with the default layer stack configured for that +architecture; see L. + +Some layers will automatically insert required lower level layers if not +present; for example C<:perlio> will insert C<:unix> below itself for low +level IO, and C<:encoding> will insert the platform defaults for buffered +IO. + +The C function can be called on an opened handle to push +additional layers onto the stack, which may also modify the existing +layers. C called with no layers will remove or unset any +existing layers which transform the byte stream, making the handle +suitable for binary data. + The following layers are currently defined: =over 4 @@ -67,17 +111,21 @@ The following layers are currently defined: Lowest level layer which provides basic PerlIO operations in terms of UNIX/POSIX numeric file descriptor calls (open(), read(), write(), lseek(), close()). +It is used even on non-Unix architectures, and most other layers operate on +top of it. =item :stdio Layer which calls C, C and C/C etc. Note that as this is "real" stdio it will ignore any layers beneath it and go straight to the operating system via the C library as usual. +This layer implements both low level IO and buffering, but is rarely used +on modern architectures. =item :perlio A from scratch implementation of buffering for PerlIO. Provides fast -access to the buffer for C which implements perl's readline/EE +access to the buffer for C which implements Perl's readline/EE and in general attempts to minimize data copying. C<:perlio> will insert a C<:unix> layer below itself to do low level IO. @@ -92,81 +140,98 @@ refuse to be pushed on top of itself. It currently does I mimic MS-DOS as far as treating of Control-Z as being an end-of-file marker. -Based on the C<:perlio> layer. - -=item :utf8 - -Declares that the stream accepts perl's I encoding of -characters. (Which really is UTF-8 on ASCII machines, but is -UTF-EBCDIC on EBCDIC machines.) This allows any character perl can -represent to be read from or written to the stream. The UTF-X encoding -is chosen to render simple text parts (i.e. non-accented letters, -digits and common punctuation) human readable in the encoded file. - -(B: This layer does not validate byte sequences. For reading input, -you should instead use C<:encoding(UTF-8)> instead of bare C<:utf8>.) - -Here is how to write your native data out using UTF-8 (or UTF-EBCDIC) -and then read it back in. +On DOS/Windows like architectures where this layer is part of the defaults, +it also acts like the C<:perlio> layer, and removing the CRLF translation +(such as with C<:raw>) will only unset the CRLF translation flag. Since +Perl 5.14, you can also apply another C<:crlf> layer later, such as when +the CRLF translation must occur after an encoding layer. On other +architectures, it is a mundane CRLF translation layer and can be added and +removed normally. - open(F, ">:utf8", "data.utf"); - print F $out; - close(F); + # translate CRLF after encoding on Perl 5.14 or newer + binmode $fh, ":raw:encoding(UTF-16LE):crlf" + or die "binmode failed: $!"; - open(F, "<:utf8", "data.utf"); - $in = ; - close(F); +=item :utf8 +Pseudo-layer that declares that the stream accepts Perl's I +upgraded encoding of characters, which is approximately UTF-8 on ASCII +machines, but UTF-EBCDIC on EBCDIC machines. This allows any character +Perl can represent to be read from or written to the stream. + +This layer (which actually sets a flag on the preceding layer, and is +implicitly set by any C<:encoding> layer) does not translate or validate +byte sequences. It instead indicates that the byte stream will have been +arranged by other layers to be provided in Perl's internal upgraded +encoding, which Perl code (and correctly written XS code) will interpret +as decoded Unicode characters. + +B: Do not use this layer to translate from UTF-8 bytes, as +invalid UTF-8 or binary data will result in malformed Perl strings. It is +unlikely to produce invalid UTF-8 when used for output, though it will +instead produce UTF-EBCDIC on EBCDIC systems. The C<:encoding(UTF-8)> +layer (hyphen is significant) is preferred as it will ensure translation +between valid UTF-8 bytes and valid Unicode characters. =item :bytes -This is the inverse of the C<:utf8> layer. It turns off the flag +This is the inverse of the C<:utf8> pseudo-layer. It turns off the flag on the layer below so that data read from it is considered to -be "octets" i.e. characters in the range 0..255 only. Likewise -on output perl will warn if a "wide" character is written -to a such a stream. +be Perl's internal downgraded encoding, thus interpreted as the native +single-byte encoding of Latin-1 or EBCDIC. Likewise on output Perl will +warn if a "wide" character (a codepoint not in the range 0..255) is +written to a such a stream. + +This is very dangerous to push on a handle using an C<:encoding> layer, +as such a layer assumes to be working with Perl's internal upgraded +encoding, so you will likely get a mangled result. Instead use C<:raw> or +C<:pop> to remove encoding layers. =item :raw -The C<:raw> layer is I as being identical to calling +The C<:raw> pseudo-layer is I as being identical to calling C - the stream is made suitable for passing binary data, -i.e. each byte is passed as-is. The stream will still be -buffered. +i.e. each byte is passed as-is. The stream will still be buffered +(but this was not always true before Perl 5.14). -In Perl 5.6 and some books the C<:raw> layer (previously sometimes also -referred to as a "discipline") is documented as the inverse of the -C<:crlf> layer. That is no longer the case - other layers which would -alter the binary nature of the stream are also disabled. If you want UNIX -line endings on a platform that normally does CRLF translation, but still -want UTF-8 or encoding defaults, the appropriate thing to do is to add -C<:perlio> to the PERLIO environment variable. +In Perl 5.6 and some books the C<:raw> layer is documented as the inverse +of the C<:crlf> layer. That is no longer the case - other layers which +would alter the binary nature of the stream are also disabled. If you +want UNIX line endings on a platform that normally does CRLF translation, +but still want UTF-8 or encoding defaults, the appropriate thing to do is +to add C<:perlio> to the PERLIO environment variable, or open the handle +explicitly with that layer, to replace the platform default of C<:crlf>. The implementation of C<:raw> is as a pseudo-layer which when "pushed" -pops itself and then any layers which do not declare themselves as suitable -for binary data. (Undoing :utf8 and :crlf are implemented by clearing -flags rather than popping layers but that is an implementation detail.) +pops itself and then any layers which would modify the binary data stream. +(Undoing C<:utf8> and C<:crlf> may be implemented by clearing flags +rather than popping layers but that is an implementation detail.) As a consequence of the fact that C<:raw> normally pops layers, it usually only makes sense to have it as the only or first element in a layer specification. When used as the first element it provides a known base on which to build e.g. - open($fh,":raw:utf8",...) + open(my $fh,">:raw:encoding(UTF-8)",...) + or die "open failed: $!"; -will construct a "binary" stream, but then enable UTF-8 translation. +will construct a "binary" stream regardless of the platform defaults, +but then enable UTF-8 translation. =item :pop -A pseudo layer that removes the top-most layer. Gives perl code a +A pseudo-layer that removes the top-most layer. Gives Perl code a way to manipulate the layer stack. Note that C<:pop> only works on -real layers and will not undo the effects of pseudo layers like -C<:utf8>. An example of a possible use might be: +real layers and will not undo the effects of pseudo-layers or flags +like C<:utf8>. An example of a possible use might be: - open($fh,...) + open(my $fh,...) or die "open failed: $!"; ... - binmode($fh,":encoding(...)"); # next chunk is encoded + binmode($fh,":encoding(...)") or die "binmode failed: $!"; + # next chunk is encoded ... - binmode($fh,":pop"); # back to un-encoded + binmode($fh,":pop") or die "binmode failed: $!"; + # back to un-encoded A more elegant (and safer) interface is needed. @@ -174,25 +239,24 @@ A more elegant (and safer) interface is needed. On Win32 platforms this I layer uses the native "handle" IO rather than the unix-like numeric file descriptor layer. Known to be -buggy as of perl 5.8.2. +buggy as of Perl 5.8.2. =back =head2 Custom Layers It is possible to write custom layers in addition to the above builtin -ones, both in C/XS and Perl. Two such layers (and one example written -in Perl using the latter) come with the Perl distribution. +ones, both in C/XS and Perl, as a module named C<< PerlIO:: >>. +Some custom layers come with the Perl distribution. =over 4 =item :encoding -Use C<:encoding(ENCODING)> either in open() or binmode() to install -a layer that transparently does character set and encoding transformations, -for example from Shift-JIS to Unicode. Note that under C -an C<:encoding> also enables C<:utf8>. See L -for more information. +Use C<:encoding(ENCODING)> to transparently do character set and encoding +transformations, for example from Shift-JIS to Unicode. Note that an +C<:encoding> also enables C<:utf8>. See L for more +information. =item :mmap @@ -207,64 +271,81 @@ layer. Writes also behave like the C<:perlio> layer, as C for write needs extra house-keeping (to extend the file) which negates any advantage. The C<:mmap> layer will not exist if the platform does not support C. +See L for more information. =item :via -Use C<:via(MODULE)> either in open() or binmode() to install a layer -that does whatever transformation (for example compression / -decompression, encryption / decryption) to the filehandle. +C<:via(MODULE)> allows a transformation to be applied by an arbitrary Perl +module, for example compression / decompression, encryption / decryption. See L for more information. +=item :scalar + +A layer implementing "in memory" files using scalar variables, +automatically used in place of the platform defaults for IO when opening +such a handle. As such, the scalar is expected to act like a file, only +containing or storing bytes. See L for more information. + =back =head2 Alternatives to raw To get a binary stream an alternate method is to use: - open($fh,"whatever") - binmode($fh); + open(my $fh,"<","whatever") or die "open failed: $!"; + binmode($fh) or die "binmode failed: $!"; -this has the advantage of being backward compatible with how such things have -had to be coded on some platforms for years. +This has the advantage of being backward compatible with older versions +of Perl that did not use PerlIO or where C<:raw> was buggy (as it was +before Perl 5.14). To get an unbuffered stream specify an unbuffered layer (e.g. C<:unix>) in the open call: - open($fh,"<:unix",$path) + open(my $fh,"<:unix",$path) or die "open failed: $!"; =head2 Defaults and how to override them If the platform is MS-DOS like and normally does CRLF to "\n" -translation for text files then the default layers are : +translation for text files then the default layers are: - unix crlf - -(The low level "unix" layer may be replaced by a platform specific low -level layer.) + :unix:crlf Otherwise if C found out how to do "fast" IO using the system's -stdio, then the default layers are: +stdio (not common on modern architectures), then the default layers are: - unix stdio + :stdio Otherwise the default layers are - unix perlio - -These defaults may change once perlio has been better tested and tuned. + :unix:perlio -The default can be overridden by setting the environment variable -PERLIO to a space separated list of layers (C or platform low -level layer is always pushed first). +Note that the "default stack" depends on the operating system and on the +Perl version, and both the compile-time and runtime configurations of +Perl. The default can be overridden by setting the environment variable +PERLIO to a space or colon separated list of layers, however this cannot +be used to set layers that require loading modules like C<:encoding>. This can be used to see the effect of/bugs in the various layers e.g. cd .../perl/t - PERLIO=stdio ./perl harness - PERLIO=perlio ./perl harness + PERLIO=:stdio ./perl harness + PERLIO=:perlio ./perl harness For the various values of PERLIO see L. +The following table summarizes the default layers on UNIX-like and +DOS-like platforms and depending on the setting of C<$ENV{PERLIO}>: + + PERLIO UNIX-like DOS-like + ------ --------- -------- + unset / "" :unix:perlio / :stdio [1] :unix:crlf + :stdio :stdio :stdio + :perlio :unix:perlio :unix:perlio + + # [1] ":stdio" if Configure found out how to do "fast stdio" (depends + # on the stdio implementation) and in Perl 5.8, else ":unix:perlio" + =head2 Querying the layers of filehandles The following returns the B of the PerlIO layers on a filehandle. @@ -272,21 +353,7 @@ The following returns the B of the PerlIO layers on a filehandle. my @layers = PerlIO::get_layers($fh); # Or FH, *FH, "FH". The layers are returned in the order an open() or binmode() call would -use them. Note that the "default stack" depends on the operating -system and on the Perl version, and both the compile-time and -runtime configurations of Perl. - -The following table summarizes the default layers on UNIX-like and -DOS-like platforms and depending on the setting of C<$ENV{PERLIO}>: - - PERLIO UNIX-like DOS-like - ------ --------- -------- - unset / "" unix perlio / stdio [1] unix crlf - stdio unix perlio / stdio [1] stdio - perlio unix perlio unix perlio - - # [1] "stdio" if Configure found out how to do "fast stdio" (depends - # on the stdio implementation) and in Perl 5.8, otherwise "unix perlio" +use them, and without colons. By default the layers from the input side of the filehandle are returned; to get the output side, use the optional C argument: @@ -294,8 +361,7 @@ returned; to get the output side, use the optional C argument: my @layers = PerlIO::get_layers($fh, output => 1); (Usually the layers are identical on either side of a filehandle but -for example with sockets there may be differences, or if you have -been using the C pragma.) +for example with sockets there may be differences.) There is no set_layers(), nor does get_layers() return a tied array mirroring the stack, or anything fancy like that. This is not @@ -306,7 +372,7 @@ You are supposed to use open() and binmode() to manipulate the stack. B The arguments to layers are by default returned in parentheses after -the name of the layer, and certain layers (like C) are not real +the name of the layer, and certain layers (like C<:utf8>) are not real layers but instead flags on real layers; to get all of these returned separately, use the optional C

argument: diff --git a/Master/tlpkg/tlperl/lib/PerlIO/encoding.pm b/Master/tlpkg/tlperl/lib/PerlIO/encoding.pm index 35ad712d0a1..daf44571880 100644 --- a/Master/tlpkg/tlperl/lib/PerlIO/encoding.pm +++ b/Master/tlpkg/tlperl/lib/PerlIO/encoding.pm @@ -1,7 +1,7 @@ package PerlIO::encoding; use strict; -our $VERSION = '0.27'; +our $VERSION = '0.28'; our $DEBUG = 0; $DEBUG and warn __PACKAGE__, " called by ", join(", ", caller), "\n"; diff --git a/Master/tlpkg/tlperl/lib/PerlIO/via.pm b/Master/tlpkg/tlperl/lib/PerlIO/via.pm index 30083feae80..84e54bbd5c4 100644 --- a/Master/tlpkg/tlperl/lib/PerlIO/via.pm +++ b/Master/tlpkg/tlperl/lib/PerlIO/via.pm @@ -1,5 +1,5 @@ package PerlIO::via; -our $VERSION = '0.17'; +our $VERSION = '0.18'; require XSLoader; XSLoader::load(); 1; diff --git a/Master/tlpkg/tlperl/lib/Pod/Find.pm b/Master/tlpkg/tlperl/lib/Pod/Find.pm deleted file mode 100644 index f258f26df68..00000000000 --- a/Master/tlpkg/tlperl/lib/Pod/Find.pm +++ /dev/null @@ -1,553 +0,0 @@ -############################################################################# -# Pod/Find.pm -- finds files containing POD documentation -# -# Author: Marek Rouchal -# -# Copyright (C) 1999-2000 by Marek Rouchal (and borrowing code -# from Nick Ing-Simmon's PodToHtml). All rights reserved. -# This file is part of "PodParser". Pod::Find is free software; -# you can redistribute it and/or modify it under the same terms -# as Perl itself. -############################################################################# - -package Pod::Find; -use strict; - -use vars qw($VERSION); -$VERSION = '1.63'; ## Current version of this package -require 5.005; ## requires this Perl version or later -use Carp; - -BEGIN { - if ($] < 5.006) { - require Symbol; - import Symbol; - } -} - -############################################################################# - -=head1 NAME - -Pod::Find - find POD documents in directory trees - -=head1 SYNOPSIS - - use Pod::Find qw(pod_find simplify_name); - my %pods = pod_find({ -verbose => 1, -inc => 1 }); - foreach(keys %pods) { - print "found library POD `$pods{$_}' in $_\n"; - } - - print "podname=",simplify_name('a/b/c/mymodule.pod'),"\n"; - - $location = pod_where( { -inc => 1 }, "Pod::Find" ); - -=head1 DESCRIPTION - -B -for all things POD.> - -B provides a set of functions to locate POD files. Note that -no function is exported by default to avoid pollution of your namespace, -so be sure to specify them in the B statement if you need them: - - use Pod::Find qw(pod_find); - -From this version on the typical SCM (software configuration management) -directories are ignored. These are: RCS, CVS, SCCS, .svn, .hg, .git, .sync - -=cut - -#use diagnostics; -use Exporter; -use File::Spec; -use File::Find; -use Cwd qw(abs_path cwd); - -use vars qw(@ISA @EXPORT_OK $VERSION); -@ISA = qw(Exporter); -@EXPORT_OK = qw(&pod_find &simplify_name &pod_where &contains_pod); - -# package global variables -my $SIMPLIFY_RX; - -=head2 C - -The function B searches for POD documents in a given set of -files and/or directories. It returns a hash with the file names as keys -and the POD name as value. The POD name is derived from the file name -and its position in the directory tree. - -E.g. when searching in F<$HOME/perl5lib>, the file -F<$HOME/perl5lib/MyModule.pm> would get the POD name I, -whereas F<$HOME/perl5lib/Myclass/Subclass.pm> would be -I. The name information can be used for POD -translators. - -Only text files containing at least one valid POD command are found. - -A warning is printed if more than one POD file with the same POD name -is found, e.g. F in different directories. This usually -indicates duplicate occurrences of modules in the I<@INC> search path. - -B The first argument for B may be a hash reference -with options. The rest are either directories that are searched -recursively or files. The POD names of files are the plain basenames -with any Perl-like extension (.pm, .pl, .pod) stripped. - -=over 4 - -=item C<-verbose =E 1> - -Print progress information while scanning. - -=item C<-perl =E 1> - -Apply Perl-specific heuristics to find the correct PODs. This includes -stripping Perl-like extensions, omitting subdirectories that are numeric -but do I match the current Perl interpreter's version id, suppressing -F as a module hierarchy name etc. - -=item C<-script =E 1> - -Search for PODs in the current Perl interpreter's installation -B. This is taken from the local L module. - -=item C<-inc =E 1> - -Search for PODs in the current Perl interpreter's I<@INC> paths. This -automatically considers paths specified in the C environment -as this is included in I<@INC> by the Perl interpreter itself. - -=back - -=cut - -# return a hash of the POD files found -# first argument may be a hashref (options), -# rest is a list of directories to search recursively -sub pod_find -{ - my %opts; - if(ref $_[0]) { - %opts = %{shift()}; - } - - $opts{-verbose} ||= 0; - $opts{-perl} ||= 0; - - my (@search) = @_; - - if($opts{-script}) { - require Config; - push(@search, $Config::Config{scriptdir}) - if -d $Config::Config{scriptdir}; - $opts{-perl} = 1; - } - - if($opts{-inc}) { - if ($^O eq 'MacOS') { - # tolerate '.', './some_dir' and '(../)+some_dir' on Mac OS - my @new_INC = @INC; - for (@new_INC) { - if ( $_ eq '.' ) { - $_ = ':'; - } elsif ( $_ =~ s{^((?:\.\./)+)}{':' x (length($1)/3)}e ) { - $_ = ':'. $_; - } else { - $_ =~ s{^\./}{:}; - } - } - push(@search, grep($_ ne File::Spec->curdir, @new_INC)); - } else { - my %seen; - my $curdir = File::Spec->curdir; - foreach(@INC) { - next if $_ eq $curdir; - my $path = abs_path($_); - push(@search, $path) unless $seen{$path}++; - } - } - - $opts{-perl} = 1; - } - - if($opts{-perl}) { - require Config; - # this code simplifies the POD name for Perl modules: - # * remove "site_perl" - # * remove e.g. "i586-linux" (from 'archname') - # * remove e.g. 5.00503 - # * remove pod/ if followed by *.pod (e.g. in pod/perlfunc.pod) - - # Mac OS: - # * remove ":?site_perl:" - # * remove :?pod: if followed by *.pod (e.g. in :pod:perlfunc.pod) - - if ($^O eq 'MacOS') { - $SIMPLIFY_RX = - qq!^(?i:\:?site_perl\:|\:?pod\:(?=.*?\\.pod\\z))*!; - } else { - $SIMPLIFY_RX = - qq!^(?i:site(_perl)?/|\Q$Config::Config{archname}\E/|\\d+\\.\\d+([_.]?\\d+)?/|pod/(?=.*?\\.pod\\z))*!; - } - } - - my %dirs_visited; - my %pods; - my %names; - my $pwd = cwd(); - - foreach my $try (@search) { - unless(File::Spec->file_name_is_absolute($try)) { - # make path absolute - $try = File::Spec->catfile($pwd,$try); - } - # simplify path - # on VMS canonpath will vmsify:[the.path], but File::Find::find - # wants /unixy/paths - if ($^O eq 'VMS') { - $try = VMS::Filespec::unixify($try); - } - else { - $try = File::Spec->canonpath($try); - } - my $name; - if(-f $try) { - if($name = _check_and_extract_name($try, $opts{-verbose})) { - _check_for_duplicates($try, $name, \%names, \%pods); - } - next; - } - my $root_rx = $^O eq 'MacOS' ? qq!^\Q$try\E! : qq!^\Q$try\E/!; - $root_rx=~ s|//$|/|; # remove trailing double slash - File::Find::find( sub { - my $item = $File::Find::name; - if(-d) { - if($item =~ m{/(?:RCS|CVS|SCCS|\.svn|\.hg|\.git|\.sync)$}) { - $File::Find::prune = 1; - return; - } - elsif($dirs_visited{$item}) { - warn "Directory '$item' already seen, skipping.\n" - if($opts{-verbose}); - $File::Find::prune = 1; - return; - } - else { - $dirs_visited{$item} = 1; - } - if($opts{-perl} && /^(\d+\.[\d_]+)\z/s && eval "$1" != $]) { - $File::Find::prune = 1; - warn "Perl $] version mismatch on $_, skipping.\n" - if($opts{-verbose}); - } - return; - } - if($name = _check_and_extract_name($item, $opts{-verbose}, $root_rx)) { - _check_for_duplicates($item, $name, \%names, \%pods); - } - }, $try); # end of File::Find::find - } - chdir $pwd; - return %pods; -} - -sub _check_for_duplicates { - my ($file, $name, $names_ref, $pods_ref) = @_; - if($$names_ref{$name}) { - warn "Duplicate POD found (shadowing?): $name ($file)\n"; - warn ' Already seen in ', - join(' ', grep($$pods_ref{$_} eq $name, keys %$pods_ref)),"\n"; - } - else { - $$names_ref{$name} = 1; - } - return $$pods_ref{$file} = $name; -} - -sub _check_and_extract_name { - my ($file, $verbose, $root_rx) = @_; - - # check extension or executable flag - # this involves testing the .bat extension on Win32! - unless(-f $file && -T $file && ($file =~ /\.(pod|pm|plx?)\z/i || -x $file )) { - return; - } - - return unless contains_pod($file,$verbose); - - # strip non-significant path components - # TODO what happens on e.g. Win32? - my $name = $file; - if(defined $root_rx) { - $name =~ s/$root_rx//is; - $name =~ s/$SIMPLIFY_RX//is if(defined $SIMPLIFY_RX); - } - else { - if ($^O eq 'MacOS') { - $name =~ s/^.*://s; - } else { - $name =~ s{^.*/}{}s; - } - } - _simplify($name); - $name =~ s{/+}{::}g; - if ($^O eq 'MacOS') { - $name =~ s{:+}{::}g; # : -> :: - } else { - $name =~ s{/+}{::}g; # / -> :: - } - return $name; -} - -=head2 C - -The function B is equivalent to B, but also -strips Perl-like extensions (.pm, .pl, .pod) and extensions like -F<.bat>, F<.cmd> on Win32 and OS/2, or F<.com> on VMS, respectively. - -=cut - -# basic simplification of the POD name: -# basename & strip extension -sub simplify_name { - my ($str) = @_; - # remove all path components - if ($^O eq 'MacOS') { - $str =~ s/^.*://s; - } else { - $str =~ s{^.*/}{}s; - } - _simplify($str); - return $str; -} - -# internal sub only -sub _simplify { - # strip Perl's own extensions - $_[0] =~ s/\.(pod|pm|plx?)\z//i; - # strip meaningless extensions on Win32 and OS/2 - $_[0] =~ s/\.(bat|exe|cmd)\z//i if($^O =~ /mswin|os2/i); - # strip meaningless extensions on VMS - $_[0] =~ s/\.(com)\z//i if($^O eq 'VMS'); -} - -# contribution from Tim Jenness - -=head2 C - -Returns the location of a pod document given a search directory -and a module (e.g. C) or script (e.g. C) name. - -Options: - -=over 4 - -=item C<-inc =E 1> - -Search @INC for the pod and also the C defined in the -L module. - -=item C<-dirs =E [ $dir1, $dir2, ... ]> - -Reference to an array of search directories. These are searched in order -before looking in C<@INC> (if B<-inc>). Current directory is used if -none are specified. - -=item C<-verbose =E 1> - -List directories as they are searched - -=back - -Returns the full path of the first occurrence to the file. -Package names (eg 'A::B') are automatically converted to directory -names in the selected directory. (eg on unix 'A::B' is converted to -'A/B'). Additionally, '.pm', '.pl' and '.pod' are appended to the -search automatically if required. - -A subdirectory F is also checked if it exists in any of the given -search directories. This ensures that e.g. L is -found. - -It is assumed that if a module name is supplied, that that name -matches the file name. Pods are not opened to check for the 'NAME' -entry. - -A check is made to make sure that the file that is found does -contain some pod documentation. - -=cut - -sub pod_where { - - # default options - my %options = ( - '-inc' => 0, - '-verbose' => 0, - '-dirs' => [ File::Spec->curdir ], - ); - - # Check for an options hash as first argument - if (defined $_[0] && ref($_[0]) eq 'HASH') { - my $opt = shift; - - # Merge default options with supplied options - %options = (%options, %$opt); - } - - # Check usage - carp 'Usage: pod_where({options}, $pod)' unless (scalar(@_)); - - # Read argument - my $pod = shift; - - # Split on :: and then join the name together using File::Spec - my @parts = split (/::/, $pod); - - # Get full directory list - my @search_dirs = @{ $options{'-dirs'} }; - - if ($options{'-inc'}) { - - require Config; - - # Add @INC - if ($^O eq 'MacOS' && $options{'-inc'}) { - # tolerate '.', './some_dir' and '(../)+some_dir' on Mac OS - my @new_INC = @INC; - for (@new_INC) { - if ( $_ eq '.' ) { - $_ = ':'; - } elsif ( $_ =~ s{^((?:\.\./)+)}{':' x (length($1)/3)}e ) { - $_ = ':'. $_; - } else { - $_ =~ s{^\./}{:}; - } - } - push (@search_dirs, @new_INC); - } elsif ($options{'-inc'}) { - push (@search_dirs, @INC); - } - - # Add location of pod documentation for perl man pages (eg perlfunc) - # This is a pod directory in the private install tree - #my $perlpoddir = File::Spec->catdir($Config::Config{'installprivlib'}, - # 'pod'); - #push (@search_dirs, $perlpoddir) - # if -d $perlpoddir; - - # Add location of binaries such as pod2text - push (@search_dirs, $Config::Config{'scriptdir'}) - if -d $Config::Config{'scriptdir'}; - } - - warn 'Search path is: '.join(' ', @search_dirs)."\n" - if $options{'-verbose'}; - - # Loop over directories - Dir: foreach my $dir ( @search_dirs ) { - - # Don't bother if can't find the directory - if (-d $dir) { - warn "Looking in directory $dir\n" - if $options{'-verbose'}; - - # Now concatenate this directory with the pod we are searching for - my $fullname = File::Spec->catfile($dir, @parts); - $fullname = VMS::Filespec::unixify($fullname) if $^O eq 'VMS'; - warn "Filename is now $fullname\n" - if $options{'-verbose'}; - - # Loop over possible extensions - foreach my $ext ('', '.pod', '.pm', '.pl') { - my $fullext = $fullname . $ext; - if (-f $fullext && - contains_pod($fullext, $options{'-verbose'}) ) { - warn "FOUND: $fullext\n" if $options{'-verbose'}; - return $fullext; - } - } - } else { - warn "Directory $dir does not exist\n" - if $options{'-verbose'}; - next Dir; - } - # for some strange reason the path on MacOS/darwin/cygwin is - # 'pods' not 'pod' - # this could be the case also for other systems that - # have a case-tolerant file system, but File::Spec - # does not recognize 'darwin' yet. And cygwin also has "pods", - # but is not case tolerant. Oh well... - if((File::Spec->case_tolerant || $^O =~ /macos|darwin|cygwin/i) - && -d File::Spec->catdir($dir,'pods')) { - $dir = File::Spec->catdir($dir,'pods'); - redo Dir; - } - if(-d File::Spec->catdir($dir,'pod')) { - $dir = File::Spec->catdir($dir,'pod'); - redo Dir; - } - } - # No match; - return; -} - -=head2 C - -Returns true if the supplied filename (not POD module) contains some pod -information. - -=cut - -sub contains_pod { - my $file = shift; - my $verbose = 0; - $verbose = shift if @_; - - # check for one line of POD - my $podfh; - if ($] < 5.006) { - $podfh = gensym(); - } - - unless(open($podfh,"<$file")) { - warn "Error: $file is unreadable: $!\n"; - return; - } - - local $/ = undef; - my $pod = <$podfh>; - close($podfh) || die "Error closing $file: $!\n"; - unless($pod =~ /^=(head\d|pod|over|item|cut)\b/m) { - warn "No POD in $file, skipping.\n" - if($verbose); - return 0; - } - - return 1; -} - -=head1 AUTHOR - -Please report bugs using L. - -Marek Rouchal Emarekr@cpan.orgE, -heavily borrowing code from Nick Ing-Simmons' PodToHtml. - -Tim Jenness Et.jenness@jach.hawaii.eduE provided -C and C. - -B is part of the L distribution. - -=head1 SEE ALSO - -L, L, L - -=cut - -1; - diff --git a/Master/tlpkg/tlperl/lib/Pod/Html.pm b/Master/tlpkg/tlperl/lib/Pod/Html.pm index 64cf376f3c9..71555e723ca 100644 --- a/Master/tlpkg/tlperl/lib/Pod/Html.pm +++ b/Master/tlpkg/tlperl/lib/Pod/Html.pm @@ -2,7 +2,7 @@ package Pod::Html; use strict; require Exporter; -our $VERSION = 1.24; +our $VERSION = 1.25; our @ISA = qw(Exporter); our @EXPORT = qw(pod2html htmlify); our @EXPORT_OK = qw(anchorify relativize_url); @@ -766,22 +766,29 @@ sub resolve_pod_page_link { push @matches, $modname if $modname =~ /::\Q$to\E\z/; } + # make it look like a path instead of a namespace + my $modloc = File::Spec->catfile(split(/::/, $to)); + if ($#matches == -1) { - warn "Cannot find \"$to\" in podpath: " . - "cannot find suitable replacement path, cannot resolve link\n" - unless $self->quiet; + warn "Cannot find file \"$modloc.*\" directly under podpath, " . + "cannot find suitable replacement: link remains unresolved.\n" + if $self->verbose; return ''; } elsif ($#matches == 0) { - warn "Cannot find \"$to\" in podpath: " . - "using $matches[0] as replacement path to $to\n" - unless $self->quiet; $path = $self->pages->{$matches[0]}; + my $matchloc = File::Spec->catfile(split(/::/, $path)); + warn "Cannot find file \"$modloc.*\" directly under podpath, but ". + "I did find \"$matchloc.*\", so I'll assume that is what you ". + "meant to link to.\n" + if $self->verbose; } else { - warn "Cannot find \"$to\" in podpath: " . - "more than one possible replacement path to $to, " . - "using $matches[-1]\n" unless $self->quiet; # Use [-1] so newer (higher numbered) perl PODs are used + # XXX currently, @matches isn't sorted so this is not true $path = $self->pages->{$matches[-1]}; + my $matchloc = File::Spec->catfile(split(/::/, $path)); + warn "Cannot find file \"$modloc.*\" directly under podpath, but ". + "I did find \"$matchloc.*\" (among others), so I'll use that " . + "to resolve the link.\n" if $self->verbose; } } else { $path = $self->pages->{$to}; diff --git a/Master/tlpkg/tlperl/lib/Pod/InputObjects.pm b/Master/tlpkg/tlperl/lib/Pod/InputObjects.pm deleted file mode 100644 index c4d6fc24691..00000000000 --- a/Master/tlpkg/tlperl/lib/Pod/InputObjects.pm +++ /dev/null @@ -1,946 +0,0 @@ -############################################################################# -# Pod/InputObjects.pm -- package which defines objects for input streams -# and paragraphs and commands when parsing POD docs. -# -# Copyright (C) 1996-2000 by Bradford Appleton. All rights reserved. -# This file is part of "PodParser". PodParser is free software; -# you can redistribute it and/or modify it under the same terms -# as Perl itself. -############################################################################# - -package Pod::InputObjects; -use strict; - -use vars qw($VERSION); -$VERSION = '1.63'; ## Current version of this package -require 5.005; ## requires this Perl version or later - -############################################################################# - -=head1 NAME - -Pod::InputObjects - objects representing POD input paragraphs, commands, etc. - -=head1 SYNOPSIS - - use Pod::InputObjects; - -=head1 REQUIRES - -perl5.004, Carp - -=head1 EXPORTS - -Nothing. - -=head1 DESCRIPTION - -B -for all things POD.> - -This module defines some basic input objects used by B when -reading and parsing POD text from an input source. The following objects -are defined: - -=begin __PRIVATE__ - -=over 4 - -=item package B - -An object corresponding to a source of POD input text. It is mostly a -wrapper around a filehandle or C-type object (or anything -that implements the C method) which keeps track of some -additional information relevant to the parsing of PODs. - -=back - -=end __PRIVATE__ - -=over 4 - -=item package B - -An object corresponding to a paragraph of POD input text. It may be a -plain paragraph, a verbatim paragraph, or a command paragraph (see -L). - -=item package B - -An object corresponding to an interior sequence command from the POD -input text (see L). - -=item package B - -An object corresponding to a tree of parsed POD text. Each "node" in -a parse-tree (or I) is either a text-string or a reference to -a B object. The nodes appear in the parse-tree -in the order in which they were parsed from left-to-right. - -=back - -Each of these input objects are described in further detail in the -sections which follow. - -=cut - -############################################################################# - -package Pod::InputSource; - -##--------------------------------------------------------------------------- - -=begin __PRIVATE__ - -=head1 B - -This object corresponds to an input source or stream of POD -documentation. When parsing PODs, it is necessary to associate and store -certain context information with each input source. All of this -information is kept together with the stream itself in one of these -C objects. Each such object is merely a wrapper around -an C object of some kind (or at least something that -implements the C method). They have the following -methods/attributes: - -=end __PRIVATE__ - -=cut - -##--------------------------------------------------------------------------- - -=begin __PRIVATE__ - -=head2 B - - my $pod_input1 = Pod::InputSource->new(-handle => $filehandle); - my $pod_input2 = new Pod::InputSource(-handle => $filehandle, - -name => $name); - my $pod_input3 = new Pod::InputSource(-handle => \*STDIN); - my $pod_input4 = Pod::InputSource->new(-handle => \*STDIN, - -name => "(STDIN)"); - -This is a class method that constructs a C object and -returns a reference to the new input source object. It takes one or more -keyword arguments in the form of a hash. The keyword C<-handle> is -required and designates the corresponding input handle. The keyword -C<-name> is optional and specifies the name associated with the input -handle (typically a file name). - -=end __PRIVATE__ - -=cut - -sub new { - ## Determine if we were called via an object-ref or a classname - my $this = shift; - my $class = ref($this) || $this; - - ## Any remaining arguments are treated as initial values for the - ## hash that is used to represent this object. Note that we default - ## certain values by specifying them *before* the arguments passed. - ## If they are in the argument list, they will override the defaults. - my $self = { -name => '(unknown)', - -handle => undef, - -was_cutting => 0, - @_ }; - - ## Bless ourselves into the desired class and perform any initialization - bless $self, $class; - return $self; -} - -##--------------------------------------------------------------------------- - -=begin __PRIVATE__ - -=head2 B - - my $filename = $pod_input->name(); - $pod_input->name($new_filename_to_use); - -This method gets/sets the name of the input source (usually a filename). -If no argument is given, it returns a string containing the name of -the input source; otherwise it sets the name of the input source to the -contents of the given argument. - -=end __PRIVATE__ - -=cut - -sub name { - (@_ > 1) and $_[0]->{'-name'} = $_[1]; - return $_[0]->{'-name'}; -} - -## allow 'filename' as an alias for 'name' -*filename = \&name; - -##--------------------------------------------------------------------------- - -=begin __PRIVATE__ - -=head2 B - - my $handle = $pod_input->handle(); - -Returns a reference to the handle object from which input is read (the -one used to contructed this input source object). - -=end __PRIVATE__ - -=cut - -sub handle { - return $_[0]->{'-handle'}; -} - -##--------------------------------------------------------------------------- - -=begin __PRIVATE__ - -=head2 B - - print "Yes.\n" if ($pod_input->was_cutting()); - -The value of the C state (that the B method would -have returned) immediately before any input was read from this input -stream. After all input from this stream has been read, the C -state is restored to this value. - -=end __PRIVATE__ - -=cut - -sub was_cutting { - (@_ > 1) and $_[0]->{-was_cutting} = $_[1]; - return $_[0]->{-was_cutting}; -} - -##--------------------------------------------------------------------------- - -############################################################################# - -package Pod::Paragraph; - -##--------------------------------------------------------------------------- - -=head1 B - -An object representing a paragraph of POD input text. -It has the following methods/attributes: - -=cut - -##--------------------------------------------------------------------------- - -=head2 Pod::Paragraph-EB - - my $pod_para1 = Pod::Paragraph->new(-text => $text); - my $pod_para2 = Pod::Paragraph->new(-name => $cmd, - -text => $text); - my $pod_para3 = new Pod::Paragraph(-text => $text); - my $pod_para4 = new Pod::Paragraph(-name => $cmd, - -text => $text); - my $pod_para5 = Pod::Paragraph->new(-name => $cmd, - -text => $text, - -file => $filename, - -line => $line_number); - -This is a class method that constructs a C object and -returns a reference to the new paragraph object. It may be given one or -two keyword arguments. The C<-text> keyword indicates the corresponding -text of the POD paragraph. The C<-name> keyword indicates the name of -the corresponding POD command, such as C or C (it should -I contain the C<=> prefix); this is needed only if the POD -paragraph corresponds to a command paragraph. The C<-file> and C<-line> -keywords indicate the filename and line number corresponding to the -beginning of the paragraph - -=cut - -sub new { - ## Determine if we were called via an object-ref or a classname - my $this = shift; - my $class = ref($this) || $this; - - ## Any remaining arguments are treated as initial values for the - ## hash that is used to represent this object. Note that we default - ## certain values by specifying them *before* the arguments passed. - ## If they are in the argument list, they will override the defaults. - my $self = { - -name => undef, - -text => (@_ == 1) ? shift : undef, - -file => '', - -line => 0, - -prefix => '=', - -separator => ' ', - -ptree => [], - @_ - }; - - ## Bless ourselves into the desired class and perform any initialization - bless $self, $class; - return $self; -} - -##--------------------------------------------------------------------------- - -=head2 $pod_para-EB - - my $para_cmd = $pod_para->cmd_name(); - -If this paragraph is a command paragraph, then this method will return -the name of the command (I any leading C<=> prefix). - -=cut - -sub cmd_name { - (@_ > 1) and $_[0]->{'-name'} = $_[1]; - return $_[0]->{'-name'}; -} - -## let name() be an alias for cmd_name() -*name = \&cmd_name; - -##--------------------------------------------------------------------------- - -=head2 $pod_para-EB - - my $para_text = $pod_para->text(); - -This method will return the corresponding text of the paragraph. - -=cut - -sub text { - (@_ > 1) and $_[0]->{'-text'} = $_[1]; - return $_[0]->{'-text'}; -} - -##--------------------------------------------------------------------------- - -=head2 $pod_para-EB - - my $raw_pod_para = $pod_para->raw_text(); - -This method will return the I text of the POD paragraph, exactly -as it appeared in the input. - -=cut - -sub raw_text { - return $_[0]->{'-text'} unless (defined $_[0]->{'-name'}); - return $_[0]->{'-prefix'} . $_[0]->{'-name'} . - $_[0]->{'-separator'} . $_[0]->{'-text'}; -} - -##--------------------------------------------------------------------------- - -=head2 $pod_para-EB - - my $prefix = $pod_para->cmd_prefix(); - -If this paragraph is a command paragraph, then this method will return -the prefix used to denote the command (which should be the string "=" -or "=="). - -=cut - -sub cmd_prefix { - return $_[0]->{'-prefix'}; -} - -##--------------------------------------------------------------------------- - -=head2 $pod_para-EB - - my $separator = $pod_para->cmd_separator(); - -If this paragraph is a command paragraph, then this method will return -the text used to separate the command name from the rest of the -paragraph (if any). - -=cut - -sub cmd_separator { - return $_[0]->{'-separator'}; -} - -##--------------------------------------------------------------------------- - -=head2 $pod_para-EB - - my $ptree = $pod_parser->parse_text( $pod_para->text() ); - $pod_para->parse_tree( $ptree ); - $ptree = $pod_para->parse_tree(); - -This method will get/set the corresponding parse-tree of the paragraph's text. - -=cut - -sub parse_tree { - (@_ > 1) and $_[0]->{'-ptree'} = $_[1]; - return $_[0]->{'-ptree'}; -} - -## let ptree() be an alias for parse_tree() -*ptree = \&parse_tree; - -##--------------------------------------------------------------------------- - -=head2 $pod_para-EB - - my ($filename, $line_number) = $pod_para->file_line(); - my $position = $pod_para->file_line(); - -Returns the current filename and line number for the paragraph -object. If called in a list context, it returns a list of two -elements: first the filename, then the line number. If called in -a scalar context, it returns a string containing the filename, followed -by a colon (':'), followed by the line number. - -=cut - -sub file_line { - my @loc = ($_[0]->{'-file'} || '', - $_[0]->{'-line'} || 0); - return (wantarray) ? @loc : join(':', @loc); -} - -##--------------------------------------------------------------------------- - -############################################################################# - -package Pod::InteriorSequence; - -##--------------------------------------------------------------------------- - -=head1 B - -An object representing a POD interior sequence command. -It has the following methods/attributes: - -=cut - -##--------------------------------------------------------------------------- - -=head2 Pod::InteriorSequence-EB - - my $pod_seq1 = Pod::InteriorSequence->new(-name => $cmd - -ldelim => $delimiter); - my $pod_seq2 = new Pod::InteriorSequence(-name => $cmd, - -ldelim => $delimiter); - my $pod_seq3 = new Pod::InteriorSequence(-name => $cmd, - -ldelim => $delimiter, - -file => $filename, - -line => $line_number); - - my $pod_seq4 = new Pod::InteriorSequence(-name => $cmd, $ptree); - my $pod_seq5 = new Pod::InteriorSequence($cmd, $ptree); - -This is a class method that constructs a C object -and returns a reference to the new interior sequence object. It should -be given two keyword arguments. The C<-ldelim> keyword indicates the -corresponding left-delimiter of the interior sequence (e.g. 'E'). -The C<-name> keyword indicates the name of the corresponding interior -sequence command, such as C or C or C. The C<-file> and -C<-line> keywords indicate the filename and line number corresponding -to the beginning of the interior sequence. If the C<$ptree> argument is -given, it must be the last argument, and it must be either string, or -else an array-ref suitable for passing to B (or -it may be a reference to a Pod::ParseTree object). - -=cut - -sub new { - ## Determine if we were called via an object-ref or a classname - my $this = shift; - my $class = ref($this) || $this; - - ## See if first argument has no keyword - if (((@_ <= 2) or (@_ % 2)) and $_[0] !~ /^-\w/) { - ## Yup - need an implicit '-name' before first parameter - unshift @_, '-name'; - } - - ## See if odd number of args - if ((@_ % 2) != 0) { - ## Yup - need an implicit '-ptree' before the last parameter - splice @_, $#_, 0, '-ptree'; - } - - ## Any remaining arguments are treated as initial values for the - ## hash that is used to represent this object. Note that we default - ## certain values by specifying them *before* the arguments passed. - ## If they are in the argument list, they will override the defaults. - my $self = { - -name => (@_ == 1) ? $_[0] : undef, - -file => '', - -line => 0, - -ldelim => '<', - -rdelim => '>', - @_ - }; - - ## Initialize contents if they haven't been already - my $ptree = $self->{'-ptree'} || new Pod::ParseTree(); - if ( ref $ptree =~ /^(ARRAY)?$/ ) { - ## We have an array-ref, or a normal scalar. Pass it as an - ## an argument to the ptree-constructor - $ptree = new Pod::ParseTree($1 ? [$ptree] : $ptree); - } - $self->{'-ptree'} = $ptree; - - ## Bless ourselves into the desired class and perform any initialization - bless $self, $class; - return $self; -} - -##--------------------------------------------------------------------------- - -=head2 $pod_seq-EB - - my $seq_cmd = $pod_seq->cmd_name(); - -The name of the interior sequence command. - -=cut - -sub cmd_name { - (@_ > 1) and $_[0]->{'-name'} = $_[1]; - return $_[0]->{'-name'}; -} - -## let name() be an alias for cmd_name() -*name = \&cmd_name; - -##--------------------------------------------------------------------------- - -## Private subroutine to set the parent pointer of all the given -## children that are interior-sequences to be $self - -sub _set_child2parent_links { - my ($self, @children) = @_; - ## Make sure any sequences know who their parent is - for (@children) { - next unless (length and ref and ref ne 'SCALAR'); - if (UNIVERSAL::isa($_, 'Pod::InteriorSequence') or - UNIVERSAL::can($_, 'nested')) - { - $_->nested($self); - } - } -} - -## Private subroutine to unset child->parent links - -sub _unset_child2parent_links { - my $self = shift; - $self->{'-parent_sequence'} = undef; - my $ptree = $self->{'-ptree'}; - for (@$ptree) { - next unless (length and ref and ref ne 'SCALAR'); - $_->_unset_child2parent_links() - if UNIVERSAL::isa($_, 'Pod::InteriorSequence'); - } -} - -##--------------------------------------------------------------------------- - -=head2 $pod_seq-EB - - $pod_seq->prepend($text); - $pod_seq1->prepend($pod_seq2); - -Prepends the given string or parse-tree or sequence object to the parse-tree -of this interior sequence. - -=cut - -sub prepend { - my $self = shift; - $self->{'-ptree'}->prepend(@_); - _set_child2parent_links($self, @_); - return $self; -} - -##--------------------------------------------------------------------------- - -=head2 $pod_seq-EB - - $pod_seq->append($text); - $pod_seq1->append($pod_seq2); - -Appends the given string or parse-tree or sequence object to the parse-tree -of this interior sequence. - -=cut - -sub append { - my $self = shift; - $self->{'-ptree'}->append(@_); - _set_child2parent_links($self, @_); - return $self; -} - -##--------------------------------------------------------------------------- - -=head2 $pod_seq-EB - - $outer_seq = $pod_seq->nested || print "not nested"; - -If this interior sequence is nested inside of another interior -sequence, then the outer/parent sequence that contains it is -returned. Otherwise C is returned. - -=cut - -sub nested { - my $self = shift; - (@_ == 1) and $self->{'-parent_sequence'} = shift; - return $self->{'-parent_sequence'} || undef; -} - -##--------------------------------------------------------------------------- - -=head2 $pod_seq-EB - - my $seq_raw_text = $pod_seq->raw_text(); - -This method will return the I text of the POD interior sequence, -exactly as it appeared in the input. - -=cut - -sub raw_text { - my $self = shift; - my $text = $self->{'-name'} . $self->{'-ldelim'}; - for ( $self->{'-ptree'}->children ) { - $text .= (ref $_) ? $_->raw_text : $_; - } - $text .= $self->{'-rdelim'}; - return $text; -} - -##--------------------------------------------------------------------------- - -=head2 $pod_seq-EB - - my $ldelim = $pod_seq->left_delimiter(); - -The leftmost delimiter beginning the argument text to the interior -sequence (should be "<"). - -=cut - -sub left_delimiter { - (@_ > 1) and $_[0]->{'-ldelim'} = $_[1]; - return $_[0]->{'-ldelim'}; -} - -## let ldelim() be an alias for left_delimiter() -*ldelim = \&left_delimiter; - -##--------------------------------------------------------------------------- - -=head2 $pod_seq-EB - -The rightmost delimiter beginning the argument text to the interior -sequence (should be ">"). - -=cut - -sub right_delimiter { - (@_ > 1) and $_[0]->{'-rdelim'} = $_[1]; - return $_[0]->{'-rdelim'}; -} - -## let rdelim() be an alias for right_delimiter() -*rdelim = \&right_delimiter; - -##--------------------------------------------------------------------------- - -=head2 $pod_seq-EB - - my $ptree = $pod_parser->parse_text($paragraph_text); - $pod_seq->parse_tree( $ptree ); - $ptree = $pod_seq->parse_tree(); - -This method will get/set the corresponding parse-tree of the interior -sequence's text. - -=cut - -sub parse_tree { - (@_ > 1) and $_[0]->{'-ptree'} = $_[1]; - return $_[0]->{'-ptree'}; -} - -## let ptree() be an alias for parse_tree() -*ptree = \&parse_tree; - -##--------------------------------------------------------------------------- - -=head2 $pod_seq-EB - - my ($filename, $line_number) = $pod_seq->file_line(); - my $position = $pod_seq->file_line(); - -Returns the current filename and line number for the interior sequence -object. If called in a list context, it returns a list of two -elements: first the filename, then the line number. If called in -a scalar context, it returns a string containing the filename, followed -by a colon (':'), followed by the line number. - -=cut - -sub file_line { - my @loc = ($_[0]->{'-file'} || '', - $_[0]->{'-line'} || 0); - return (wantarray) ? @loc : join(':', @loc); -} - -##--------------------------------------------------------------------------- - -=head2 Pod::InteriorSequence::B - -This method performs any necessary cleanup for the interior-sequence. -If you override this method then it is B that you invoke -the parent method from within your own method, otherwise -I - -=cut - -sub DESTROY { - ## We need to get rid of all child->parent pointers throughout the - ## tree so their reference counts will go to zero and they can be - ## garbage-collected - _unset_child2parent_links(@_); -} - -##--------------------------------------------------------------------------- - -############################################################################# - -package Pod::ParseTree; - -##--------------------------------------------------------------------------- - -=head1 B - -This object corresponds to a tree of parsed POD text. As POD text is -scanned from left to right, it is parsed into an ordered list of -text-strings and B objects (in order of -appearance). A B object corresponds to this list of -strings and sequences. Each interior sequence in the parse-tree may -itself contain a parse-tree (since interior sequences may be nested). - -=cut - -##--------------------------------------------------------------------------- - -=head2 Pod::ParseTree-EB - - my $ptree1 = Pod::ParseTree->new; - my $ptree2 = new Pod::ParseTree; - my $ptree4 = Pod::ParseTree->new($array_ref); - my $ptree3 = new Pod::ParseTree($array_ref); - -This is a class method that constructs a C object and -returns a reference to the new parse-tree. If a single-argument is given, -it must be a reference to an array, and is used to initialize the root -(top) of the parse tree. - -=cut - -sub new { - ## Determine if we were called via an object-ref or a classname - my $this = shift; - my $class = ref($this) || $this; - - my $self = (@_ == 1 and ref $_[0]) ? $_[0] : []; - - ## Bless ourselves into the desired class and perform any initialization - bless $self, $class; - return $self; -} - -##--------------------------------------------------------------------------- - -=head2 $ptree-EB - - my $top_node = $ptree->top(); - $ptree->top( $top_node ); - $ptree->top( @children ); - -This method gets/sets the top node of the parse-tree. If no arguments are -given, it returns the topmost node in the tree (the root), which is also -a B. If it is given a single argument that is a reference, -then the reference is assumed to a parse-tree and becomes the new top node. -Otherwise, if arguments are given, they are treated as the new list of -children for the top node. - -=cut - -sub top { - my $self = shift; - if (@_ > 0) { - @{ $self } = (@_ == 1 and ref $_[0]) ? ${ @_ } : @_; - } - return $self; -} - -## let parse_tree() & ptree() be aliases for the 'top' method -*parse_tree = *ptree = \⊤ - -##--------------------------------------------------------------------------- - -=head2 $ptree-EB - -This method gets/sets the children of the top node in the parse-tree. -If no arguments are given, it returns the list (array) of children -(each of which should be either a string or a B. -Otherwise, if arguments are given, they are treated as the new list of -children for the top node. - -=cut - -sub children { - my $self = shift; - if (@_ > 0) { - @{ $self } = (@_ == 1 and ref $_[0]) ? ${ @_ } : @_; - } - return @{ $self }; -} - -##--------------------------------------------------------------------------- - -=head2 $ptree-EB - -This method prepends the given text or parse-tree to the current parse-tree. -If the first item on the parse-tree is text and the argument is also text, -then the text is prepended to the first item (not added as a separate string). -Otherwise the argument is added as a new string or parse-tree I -the current one. - -=cut - -use vars qw(@ptree); ## an alias used for performance reasons - -sub prepend { - my $self = shift; - local *ptree = $self; - for (@_) { - next unless length; - if (@ptree && !(ref $ptree[0]) && !(ref $_)) { - $ptree[0] = $_ . $ptree[0]; - } - else { - unshift @ptree, $_; - } - } -} - -##--------------------------------------------------------------------------- - -=head2 $ptree-EB - -This method appends the given text or parse-tree to the current parse-tree. -If the last item on the parse-tree is text and the argument is also text, -then the text is appended to the last item (not added as a separate string). -Otherwise the argument is added as a new string or parse-tree I -the current one. - -=cut - -sub append { - my $self = shift; - local *ptree = $self; - my $can_append = @ptree && !(ref $ptree[-1]); - for (@_) { - if (ref) { - push @ptree, $_; - } - elsif(!length) { - next; - } - elsif ($can_append) { - $ptree[-1] .= $_; - } - else { - push @ptree, $_; - } - } -} - -=head2 $ptree-EB - - my $ptree_raw_text = $ptree->raw_text(); - -This method will return the I text of the POD parse-tree -exactly as it appeared in the input. - -=cut - -sub raw_text { - my $self = shift; - my $text = ''; - for ( @$self ) { - $text .= (ref $_) ? $_->raw_text : $_; - } - return $text; -} - -##--------------------------------------------------------------------------- - -## Private routines to set/unset child->parent links - -sub _unset_child2parent_links { - my $self = shift; - local *ptree = $self; - for (@ptree) { - next unless (defined and length and ref and ref ne 'SCALAR'); - $_->_unset_child2parent_links() - if UNIVERSAL::isa($_, 'Pod::InteriorSequence'); - } -} - -sub _set_child2parent_links { - ## nothing to do, Pod::ParseTrees cant have parent pointers -} - -=head2 Pod::ParseTree::B - -This method performs any necessary cleanup for the parse-tree. -If you override this method then it is B -that you invoke the parent method from within your own method, -otherwise I - -=cut - -sub DESTROY { - ## We need to get rid of all child->parent pointers throughout the - ## tree so their reference counts will go to zero and they can be - ## garbage-collected - _unset_child2parent_links(@_); -} - -############################################################################# - -=head1 SEE ALSO - -B is part of the L distribution. - -See L, L - -=head1 AUTHOR - -Please report bugs using L. - -Brad Appleton Ebradapp@enteract.comE - -=cut - -1; diff --git a/Master/tlpkg/tlperl/lib/Pod/Man.pm b/Master/tlpkg/tlperl/lib/Pod/Man.pm index 6ebab1e0e5c..d7c029357a2 100644 --- a/Master/tlpkg/tlperl/lib/Pod/Man.pm +++ b/Master/tlpkg/tlperl/lib/Pod/Man.pm @@ -14,7 +14,7 @@ package Pod::Man; -use 5.006; +use 5.008; use strict; use warnings; @@ -24,7 +24,9 @@ use vars qw(@ISA %ESCAPES $PREAMBLE $VERSION); use Carp qw(carp croak); use Pod::Simple (); -# Conditionally import Encode and set $HAS_ENCODE if it is available. +# Conditionally import Encode and set $HAS_ENCODE if it is available. This is +# required to support building as part of Perl core, since podlators is built +# before Encode is. our $HAS_ENCODE; BEGIN { $HAS_ENCODE = eval { require Encode }; @@ -32,7 +34,7 @@ BEGIN { @ISA = qw(Pod::Simple); -$VERSION = '4.11'; +$VERSION = '4.14'; # Set the debugging level. If someone has inserted a debug function into this # class already, use that. Otherwise, use any Pod::Simple debug function @@ -245,13 +247,8 @@ sub init_quotes { sub init_page { my ($self) = @_; - # We used to try first to get the version number from a local binary, but - # we shouldn't need that any more. Get the version from the running Perl. - # Work a little magic to handle subversions correctly under both the - # pre-5.6 and the post-5.6 version numbering schemes. - my @version = ($] =~ /^(\d+)\.(\d{3})(\d{0,3})$/); - $version[2] ||= 0; - $version[2] *= 10 ** (3 - length $version[2]); + # Get the version from the running Perl. + my @version = ($] =~ /^(\d+)\.(\d{3})(\d+)$/); for (@version) { $_ += 0 } my $version = join ('.', @version); @@ -799,7 +796,7 @@ sub start_document { eval { my @options = (output => 1, details => 1); my @layers = PerlIO::get_layers (*{$$self{output_fh}}, @options); - if ($layers[-1] & PerlIO::F_UTF8 ()) { + if ($layers[-1] && ($layers[-1] & PerlIO::F_UTF8 ())) { $$self{ENCODE} = 0; } } @@ -1881,7 +1878,9 @@ being the file to write the formatted output to. You can also call parse_lines() to parse an array of lines or parse_string_document() to parse a document already in memory. As with parse_file(), parse_lines() and parse_string_document() default to sending -their output to C unless changed with the output_fh() method. +their output to C unless changed with the output_fh() method. Be +aware that parse_lines() and parse_string_document() both expect raw bytes, +not decoded characters. To put the output from any parse method into a string instead of a file handle, call the output_string() method instead of output_fh(). @@ -2012,7 +2011,7 @@ are mine). =head1 COPYRIGHT AND LICENSE -Copyright 1999-2010, 2012-2018 Russ Allbery +Copyright 1999-2010, 2012-2019 Russ Allbery Substantial contributions by Sean Burke . diff --git a/Master/tlpkg/tlperl/lib/Pod/ParseLink.pm b/Master/tlpkg/tlperl/lib/Pod/ParseLink.pm index 0be5323973b..273c95847ac 100644 --- a/Master/tlpkg/tlperl/lib/Pod/ParseLink.pm +++ b/Master/tlpkg/tlperl/lib/Pod/ParseLink.pm @@ -13,7 +13,7 @@ package Pod::ParseLink; -use 5.006; +use 5.008; use strict; use warnings; @@ -23,7 +23,7 @@ use Exporter; @ISA = qw(Exporter); @EXPORT = qw(parselink); -$VERSION = '4.11'; +$VERSION = '4.14'; ############################################################################## # Implementation @@ -167,11 +167,11 @@ L for more information. =head1 AUTHOR -Russ Allbery . +Russ Allbery =head1 COPYRIGHT AND LICENSE -Copyright 2001, 2008, 2009, 2014, 2018 Russ Allbery +Copyright 2001, 2008, 2009, 2014, 2018-2019 Russ Allbery This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself. diff --git a/Master/tlpkg/tlperl/lib/Pod/ParseUtils.pm b/Master/tlpkg/tlperl/lib/Pod/ParseUtils.pm deleted file mode 100644 index 2afd0cd420e..00000000000 --- a/Master/tlpkg/tlperl/lib/Pod/ParseUtils.pm +++ /dev/null @@ -1,861 +0,0 @@ -############################################################################# -# Pod/ParseUtils.pm -- helpers for POD parsing and conversion -# -# Copyright (C) 1999-2000 by Marek Rouchal. All rights reserved. -# This file is part of "PodParser". PodParser is free software; -# you can redistribute it and/or modify it under the same terms -# as Perl itself. -############################################################################# - -package Pod::ParseUtils; -use strict; - -use vars qw($VERSION); -$VERSION = '1.63'; ## Current version of this package -require 5.005; ## requires this Perl version or later - -=head1 NAME - -Pod::ParseUtils - helpers for POD parsing and conversion - -=head1 SYNOPSIS - - use Pod::ParseUtils; - - my $list = new Pod::List; - my $link = Pod::Hyperlink->new('Pod::Parser'); - -=head1 DESCRIPTION - -B -for all things POD.> - -B contains a few object-oriented helper packages for -POD parsing and processing (i.e. in POD formatters and translators). - -=cut - -#----------------------------------------------------------------------------- -# Pod::List -# -# class to hold POD list info (=over, =item, =back) -#----------------------------------------------------------------------------- - -package Pod::List; - -use Carp; - -=head2 Pod::List - -B can be used to hold information about POD lists -(written as =over ... =item ... =back) for further processing. -The following methods are available: - -=over 4 - -=item Pod::List-Enew() - -Create a new list object. Properties may be specified through a hash -reference like this: - - my $list = Pod::List->new({ -start => $., -indent => 4 }); - -See the individual methods/properties for details. - -=cut - -sub new { - my $this = shift; - my $class = ref($this) || $this; - my %params = @_; - my $self = {%params}; - bless $self, $class; - $self->initialize(); - return $self; -} - -sub initialize { - my $self = shift; - $self->{-file} ||= 'unknown'; - $self->{-start} ||= 'unknown'; - $self->{-indent} ||= 4; # perlpod: "should be the default" - $self->{_items} = []; - $self->{-type} ||= ''; -} - -=item $list-Efile() - -Without argument, retrieves the file name the list is in. This must -have been set before by either specifying B<-file> in the B -method or by calling the B method with a scalar argument. - -=cut - -# The POD file name the list appears in -sub file { - return (@_ > 1) ? ($_[0]->{-file} = $_[1]) : $_[0]->{-file}; -} - -=item $list-Estart() - -Without argument, retrieves the line number where the list started. -This must have been set before by either specifying B<-start> in the -B method or by calling the B method with a scalar -argument. - -=cut - -# The line in the file the node appears -sub start { - return (@_ > 1) ? ($_[0]->{-start} = $_[1]) : $_[0]->{-start}; -} - -=item $list-Eindent() - -Without argument, retrieves the indent level of the list as specified -in C<=over n>. This must have been set before by either specifying -B<-indent> in the B method or by calling the B method -with a scalar argument. - -=cut - -# indent level -sub indent { - return (@_ > 1) ? ($_[0]->{-indent} = $_[1]) : $_[0]->{-indent}; -} - -=item $list-Etype() - -Without argument, retrieves the list type, which can be an arbitrary value, -e.g. C
    , C