summaryrefslogtreecommitdiffstats
path: root/debian/patches
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches')
-rw-r--r--debian/patches/Force-LDB-as-standalone.patch25
-rw-r--r--debian/patches/README_nosmbldap-tools.patch23
-rw-r--r--debian/patches/add-missing-libs-deps.diff49
-rw-r--r--debian/patches/add-so-version-to-private-libraries22
-rw-r--r--debian/patches/ctdb-config-enable-syslog-by-default.patch42
-rw-r--r--debian/patches/ctdb-create-piddir.patch26
-rw-r--r--debian/patches/ctdb-use-run-instead-of-var-run.patch26
-rw-r--r--debian/patches/ctdb_etcd_lock-path.patch20
-rw-r--r--debian/patches/disable-setuid-confchecks.patch25
-rw-r--r--debian/patches/fix-nfs-service-name-to-nfs-kernel-server.patch96
-rw-r--r--debian/patches/fruit-disable-useless-size_t-overflow-check.patch53
-rw-r--r--debian/patches/heimdal-rfc3454.txt7122
-rw-r--r--debian/patches/heimdal-to-support-KEYRING-ccache.patch60
-rw-r--r--debian/patches/hurd-compat.patch43
-rw-r--r--debian/patches/libsmbclient-ensure-lfs-221618.patch50
-rw-r--r--debian/patches/meaningful-error-if-no-python3-markdown.patch27
-rw-r--r--debian/patches/meaningful-error-if-no-samba-ad-provision.patch28
-rw-r--r--debian/patches/move-msg.sock-from-var-lib-samba-to-run-samba.patch55
-rw-r--r--debian/patches/series26
-rw-r--r--debian/patches/silence-waf-uselib_local.diff31
-rw-r--r--debian/patches/smbclient-pager.patch22
-rw-r--r--debian/patches/smbd.service-Run-update-apparmor-samba-profile-befor.patch25
-rw-r--r--debian/patches/spelling.patch212
-rw-r--r--debian/patches/testparm-do-not-fail-if-pid-dir-does-not-exist.patch70
-rw-r--r--debian/patches/unwrap-getresgid-typo.patch20
-rw-r--r--debian/patches/use-bzero-instead-of-memset_s.diff24
-rw-r--r--debian/patches/usershare.patch52
27 files changed, 8274 insertions, 0 deletions
diff --git a/debian/patches/Force-LDB-as-standalone.patch b/debian/patches/Force-LDB-as-standalone.patch
new file mode 100644
index 0000000..9be14c0
--- /dev/null
+++ b/debian/patches/Force-LDB-as-standalone.patch
@@ -0,0 +1,25 @@
+From 052023a67ca022b8bf323574c540964cf656f0b2 Mon Sep 17 00:00:00 2001
+From: Mathieu Parent <math.parent@gmail.com>
+Date: Sun, 19 Dec 2021 22:29:13 +0100
+Subject: [PATCH] Force LDB as standalone
+
+---
+ lib/ldb/wscript | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/ldb/wscript b/lib/ldb/wscript
+index 57dfdd6fe6b..70a982da352 100644
+--- a/lib/ldb/wscript
++++ b/lib/ldb/wscript
+@@ -68,7 +68,7 @@ def configure(conf):
+ #
+ conf.CONFIG_PATH('LDB_MODULESDIR', conf.SUBST_ENV_VAR('MODULESDIR') + '/ldb')
+
+- conf.env.standalone_ldb = conf.IN_LAUNCH_DIR()
++ conf.env.standalone_ldb = conf.IN_LAUNCH_DIR() or True
+
+ if not conf.env.standalone_ldb:
+ max_ldb_version = [int(x) for x in VERSION.split(".")]
+--
+2.30.2
+
diff --git a/debian/patches/README_nosmbldap-tools.patch b/debian/patches/README_nosmbldap-tools.patch
new file mode 100644
index 0000000..c8748c7
--- /dev/null
+++ b/debian/patches/README_nosmbldap-tools.patch
@@ -0,0 +1,23 @@
+From: Christian Perrier <bubulle@debian.org>
+Subject: Mention smbldap-tools package in examples/LDAP/README
+
+Bug-Debian: http://bugs.debian.org/341934
+Forwarded: not-needed
+---
+ examples/LDAP/README | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/examples/LDAP/README b/examples/LDAP/README
+index f6ce3a9..a918acf 100644
+--- a/examples/LDAP/README
++++ b/examples/LDAP/README
+@@ -69,6 +69,9 @@ in Samba releases.
+ The smbldap-tools package can be downloaded individually from
+ https://gna.org/projects/smbldap-tools/
+
++On Debian systems, the smbldap-tools exists as a separate package
++and is not included in LDAP examples.
++
+ !==
+ !== end of README
+ !==
diff --git a/debian/patches/add-missing-libs-deps.diff b/debian/patches/add-missing-libs-deps.diff
new file mode 100644
index 0000000..9db8e78
--- /dev/null
+++ b/debian/patches/add-missing-libs-deps.diff
@@ -0,0 +1,49 @@
+From: Michael Tokarev <mjt@tls.msk.ru>
+Date: Thu, 19 May 2022 20:37:21 +0300
+Subject: add missing libs deps
+Bug-Debian: https://bugs.debian.org/1010922
+
+Lots of samba libraries has incomplete dependencies listed
+in wscript files. This usually is not a problem since the
+link line includes dependencies of their dependencies of
+their dependencies, and somewhere down that line all immediate
+dependencies which are missing are actually present. But
+sometimes this becomes a problem when a library does not
+declare direct dependency on at least one private library
+which it actually uses: in case no private library is
+listed as direct dependency, private library directory is
+not put into RUNPATH of the resulting binary, so the binary
+can not find its own dependencies.
+
+Fix a few such places, including one library which is a part
+of public abi (libsmbldap).
+
+diff --git a/lib/util/wscript_build b/lib/util/wscript_build
+index 2f31e8fa5b1..08a77b8940c 100644
+--- a/lib/util/wscript_build
++++ b/lib/util/wscript_build
+@@ -218,5 +218,5 @@ else:
+ bld.SAMBA_LIBRARY('samba-modules',
+ source='modules.c',
+- deps='samba-errors samba-util',
++ deps='samba-errors samba-util samba-debug',
+ local_include=False,
+ private_library=True)
+diff --git a/source3/wscript_build b/source3/wscript_build
+index acfc0c56f03..e919f38d9cb 100644
+--- a/source3/wscript_build
++++ b/source3/wscript_build
+@@ -189,5 +189,5 @@ bld.SAMBA3_LIBRARY('smbldaphelper',
+ passdb/pdb_ldap_util.c
+ ''',
+- deps='smbldap secrets3',
++ deps='smbldap secrets3 replace',
+ allow_undefined_symbols=True,
+ enabled=bld.CONFIG_SET('HAVE_LDAP'),
+@@ -483,5 +483,5 @@ bld.SAMBA3_LIBRARY('secrets3',
+ bld.SAMBA3_LIBRARY('smbldap',
+ source='lib/smbldap.c',
+- deps='ldap lber samba-util smbconf',
++ deps='ldap lber samba-util smbconf replace samba-debug samba-security',
+ enabled=bld.CONFIG_SET("HAVE_LDAP"),
+ private_library=False,
diff --git a/debian/patches/add-so-version-to-private-libraries b/debian/patches/add-so-version-to-private-libraries
new file mode 100644
index 0000000..8313f1e
--- /dev/null
+++ b/debian/patches/add-so-version-to-private-libraries
@@ -0,0 +1,22 @@
+From: Jeroen Dekkers <jeroen@dekkers.ch>
+Subject: Add so version number to private libraries for dpkg-shlibdeps
+
+We also want dpkg-shlibdeps to generate correct dependency information
+for the private libraries in our binary packages, but dpkg-shlibdeps
+only works when the library has a version number.
+
+Origin: vendor
+Forwarded: not-needed
+---
+ buildtools/wafsamba/wafsamba.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py
+index 185ef3b73a2..291239fcaa7 100644
+--- a/buildtools/wafsamba/wafsamba.py
++++ b/buildtools/wafsamba/wafsamba.py
+@@ -307,3 +307,3 @@ def SAMBA_LIBRARY(bld, libname, source,
+ bundled_name = PRIVATE_NAME(bld, libname.replace('_', '-'))
+- vnum = None
++ vnum = '0'
+
diff --git a/debian/patches/ctdb-config-enable-syslog-by-default.patch b/debian/patches/ctdb-config-enable-syslog-by-default.patch
new file mode 100644
index 0000000..3ab746d
--- /dev/null
+++ b/debian/patches/ctdb-config-enable-syslog-by-default.patch
@@ -0,0 +1,42 @@
+ctdb-config: enable syslog by default
+
+CTDB uses /var/log/ctdb/ directory for the default log files. With
+syslog disabled, systemd journal is not able to correctly inform
+errors happening during service initialization.
+
+Upstream community creates generic config files to be used by different
+distributions, so this change makes no big difference to be accepted by
+upstream.
+
+With this patch the end user will be able to identify initialization
+errors by executing:
+
+ systemctl status ctdb.service
+
+or to follow ctdb logs by executing:
+
+ journalctl -f -u ctdb
+
+Signed-off-by: Rafael David Tinoco <rafaeldtinoco@ubuntu.com>
+-
+Author: Rafael David Tinoco <rafaeldtinoco@ubuntu.com>
+Bug-Debian: https://bugs.debian.org/929931
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/722201
+Last-Update: 2022-03-24
+---
+ ctdb/config/ctdb.conf | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/ctdb/config/ctdb.conf b/ctdb/config/ctdb.conf
+index 8e1b3760973..def0803578f 100644
+--- a/ctdb/config/ctdb.conf
++++ b/ctdb/config/ctdb.conf
+@@ -7,6 +7,6 @@
+ # Enable logging to syslog
+- # location = syslog
++ location = syslog
+
+ # Default log level
+- # log level = NOTICE
++ log level = NOTICE
+
diff --git a/debian/patches/ctdb-create-piddir.patch b/debian/patches/ctdb-create-piddir.patch
new file mode 100644
index 0000000..708f787
--- /dev/null
+++ b/debian/patches/ctdb-create-piddir.patch
@@ -0,0 +1,26 @@
+From: Michael Tokarev <mjt@tls.msk.ru>
+Date: Fri, 09 Sep 2022 12:49:55 +0300
+Subject: create ctdb pid directory
+
+(which is /run/ctdb/). Create it in the systemd service
+file (using RuntimeDirectory directive) and in the sysv-init
+script.
+
+diff --git a/ctdb/config/ctdb.init b/ctdb/config/ctdb.init
+index 7fe8f0085ae..57fd0dda63d 100755
+--- a/ctdb/config/ctdb.init
++++ b/ctdb/config/ctdb.init
+@@ -78,4 +78,5 @@ start()
+ ;;
+ debian)
++ mkdir -p -m0755 ${pidfile%/*}
+ eval start-stop-daemon --start --quiet --background --exec "$ctdbd"
+ ;;
+diff --git a/packaging/systemd/ctdb.service.in b/packaging/systemd/ctdb.service.in
+index 7905a93e242..eefc7468a44 100644
+--- a/packaging/systemd/ctdb.service.in
++++ b/packaging/systemd/ctdb.service.in
+@@ -12,2 +12,3 @@ TasksMax=4096
+ PIDFile=@CTDB_RUNDIR@/ctdbd.pid
++RuntimeDirectory=ctdb
+ ExecStart=@SBINDIR@/ctdbd
diff --git a/debian/patches/ctdb-use-run-instead-of-var-run.patch b/debian/patches/ctdb-use-run-instead-of-var-run.patch
new file mode 100644
index 0000000..946d6dc
--- /dev/null
+++ b/debian/patches/ctdb-use-run-instead-of-var-run.patch
@@ -0,0 +1,26 @@
+From a4f5852f55439bcc1aaaa6762d230a28599298d2 Mon Sep 17 00:00:00 2001
+From: Michael Tokarev <mjt@tls.msk.ru>
+Date: Fri, 2 Dec 2022 11:45:01 +0300
+Subject: ctdb: use /run/ctdb instead of /var/run/ctdb
+
+Whole upstream path assignment needs a review.
+---
+ ctdb/wscript | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ctdb/wscript b/ctdb/wscript
+index c082c3b7a7d..523984487a3 100644
+--- a/ctdb/wscript
++++ b/ctdb/wscript
+@@ -288,7 +288,7 @@ def configure(conf):
+ conf.env.CTDB_DATADIR = os.path.join(conf.env.EXEC_PREFIX, 'share/ctdb')
+ conf.env.CTDB_ETCDIR = os.path.join(conf.env.SYSCONFDIR, 'ctdb')
+ conf.env.CTDB_VARDIR = os.path.join(conf.env.LOCALSTATEDIR, 'lib/ctdb')
+- conf.env.CTDB_RUNDIR = os.path.join(conf.env.LOCALSTATEDIR, 'run/ctdb')
++ conf.env.CTDB_RUNDIR = '/run/ctdb'
+ conf.env.CTDB_HELPER_BINDIR = os.path.join(conf.env.LIBEXECDIR, 'ctdb')
+
+ if Options.options.ctdb_logdir:
+--
+2.30.2
+
diff --git a/debian/patches/ctdb_etcd_lock-path.patch b/debian/patches/ctdb_etcd_lock-path.patch
new file mode 100644
index 0000000..411b047
--- /dev/null
+++ b/debian/patches/ctdb_etcd_lock-path.patch
@@ -0,0 +1,20 @@
+Subject: fix pathname for ctdb_etcd_lock
+From: Michael Tokarev <mjt@tls.msk.ru>
+Date: Sat, 02 Apr 2022 17:49:38 +0300
+
+Specify the actual installation path for this helper script.
+
+diff --git a/ctdb/doc/ctdb-etcd.7.xml b/ctdb/doc/ctdb-etcd.7.xml
+index f84989f854f..fcb3d0c3b5f 100644
+--- a/ctdb/doc/ctdb-etcd.7.xml
++++ b/ctdb/doc/ctdb-etcd.7.xml
+@@ -71 +71 @@
+-cluster lock = !/usr/local/usr/libexec/ctdb/ctdb_etcd_lock
++cluster lock = !/usr/libexec/ctdb/ctdb_etcd_lock
+diff --git a/ctdb/utils/etcd/ctdb_etcd_lock b/ctdb/utils/etcd/ctdb_etcd_lock
+index dac24361e77..e695ac7cab2 100755
+--- a/ctdb/utils/etcd/ctdb_etcd_lock
++++ b/ctdb/utils/etcd/ctdb_etcd_lock
+@@ -26 +26 @@ the following line in the ctdb.conf:
+- cluster lock = !/path/to/script
++ cluster lock = !/usr/libexec/ctdb/ctdb_etcd_lock
diff --git a/debian/patches/disable-setuid-confchecks.patch b/debian/patches/disable-setuid-confchecks.patch
new file mode 100644
index 0000000..68ad262
--- /dev/null
+++ b/debian/patches/disable-setuid-confchecks.patch
@@ -0,0 +1,25 @@
+From: Michael Tokarev <mjt@tls.msk.ru>
+Date: Fri, 08 Apr 2022 11:50:21 +0300
+Subject: disable setuid configure checks
+
+For some strange reason, when running reprotest test on salsa-ci,
+which apparently is running as root, - on the *second* build only
+the configure fails (after successfully built package the first
+time). The configure test tries to change gid and verifies it
+actually changed (not that the syscall exist), - and that fails.
+Since it is extremely uncommon to configure the build process as
+root, salsa-ci test environment details are quite deep down the line,
+and we know the syscall actually works, just disable the probe,
+pretending we are not root.
+
+diff --git a/source3/lib/util_sec.c b/source3/lib/util_sec.c
+index 30a29f535b1..451ad396965 100644
+--- a/source3/lib/util_sec.c
++++ b/source3/lib/util_sec.c
+@@ -556,5 +556,5 @@ static int have_syscall(void)
+ int main(void)
+ {
+- if (getuid() != 0) {
++ if (1 || getuid() != 0) {
+ #if (defined(AIX) && defined(USE_SETREUID))
+ /* setreuid is badly broken on AIX 4.1, we avoid it completely */
diff --git a/debian/patches/fix-nfs-service-name-to-nfs-kernel-server.patch b/debian/patches/fix-nfs-service-name-to-nfs-kernel-server.patch
new file mode 100644
index 0000000..ad0a9b9
--- /dev/null
+++ b/debian/patches/fix-nfs-service-name-to-nfs-kernel-server.patch
@@ -0,0 +1,96 @@
+From: Rafael David Tinoco <rafaeldtinoco@gmail.com>
+Subject: fix nfs related service names
+
+Upstream defines nfs related service names based on the Linux
+distribution. This patch fixes the names for Debian and derivatives.
+
+Update by Andreas Hasenack <andreas@canonical.com> (LP: #1961840):
+Use nfsconf(8) if it's available, instead of parsing the old config
+files in /etc/default/nfs-*
+
+Bug-Debian: https://bugs.debian.org/929931
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/722201
+Last-Update: 2022-09-09
+diff --git a/ctdb/config/events/legacy/06.nfs.script b/ctdb/config/events/legacy/06.nfs.script
+index b937d433254..943b5005bd9 100755
+--- a/ctdb/config/events/legacy/06.nfs.script
++++ b/ctdb/config/events/legacy/06.nfs.script
+@@ -6,7 +6,7 @@
+
+ . "${CTDB_BASE}/functions"
+
+-service_name="nfs"
++service_name="nfs-kernel-server"
+
+ load_script_options "service" "60.nfs"
+
+diff --git a/ctdb/config/events/legacy/60.nfs.script b/ctdb/config/events/legacy/60.nfs.script
+index 8e496f73cc5..f47b91bff2d 100755
+--- a/ctdb/config/events/legacy/60.nfs.script
++++ b/ctdb/config/events/legacy/60.nfs.script
+@@ -6,9 +6,11 @@
+
+ . "${CTDB_BASE}/functions"
+
+-service_name="nfs"
++service_name="nfs-kernel-server"
+
+-load_system_config "nfs"
++if ! type nfsconf > /dev/null 2>&1; then
++ load_system_config "nfs-kernel-server"
++fi
+
+ load_script_options
+
+diff --git a/ctdb/config/nfs-linux-kernel-callout b/ctdb/config/nfs-linux-kernel-callout
+index f2f3e3824d0..4e3b1e21c04 100755
+--- a/ctdb/config/nfs-linux-kernel-callout
++++ b/ctdb/config/nfs-linux-kernel-callout
+@@ -14,7 +14,7 @@ nfs_exports_file="${CTDB_NFS_EXPORTS_FILE:-/var/lib/nfs/etab}"
+
+ # As above, edit the default value below. CTDB_NFS_DISTRO_STYLE is a
+ # test variable only.
+-nfs_distro_style="${CTDB_NFS_DISTRO_STYLE:-systemd-redhat}"
++nfs_distro_style="${CTDB_NFS_DISTRO_STYLE:-systemd-debian}"
+
+ # As above, edit the default value below. CTDB_SYS_ETCDIR is a
+ # test variable only.
+@@ -42,7 +42,22 @@ systemd-*)
+ : # Defaults only
+ ;;
+ *-debian)
+- nfs_rquotad_service="quotarpc"
++ # XXX
++ # Undefine nfs_rquotad_services because the quotarpc service won't
++ # start unless there are specific "quota" mount options in /etc/fstab.
++ # In this way, we let ctdb start it up manually once the
++ # /etc/ctdb/nfs-checks.d/50.rquotad.check detects rpc.rquotad isn't
++ # running.
++ # Users who really don't want rpc.rquotad running should then move
++ # the 50.rquotad.check script away.
++ nfs_rquotad_service=""
++ nfs_service="nfs-kernel-server"
++ if type nfsconf >/dev/null 2>&1; then
++ nfs_config=""
++ else
++ nfs_config="/etc/default/nfs-kernel-server"
++ fi
++ nfs_rquotad_config="/etc/default/quota"
+ ;;
+ *)
+ echo "Internal error"
+diff --git a/ctdb/config/statd-callout b/ctdb/config/statd-callout
+index 38c155e4793..c138e71c7b1 100755
+--- a/ctdb/config/statd-callout
++++ b/ctdb/config/statd-callout
+@@ -29,7 +29,9 @@ die ()
+ }
+
+ # Try different variables to find config file for NFS_HOSTNAME
+-load_system_config "nfs" "nfs-common"
++if ! type nfsconf > /dev/null 2>&1; then
++ load_system_config "nfs-common" "nfs-kernel-server"
++fi
+
+ # If NFS_HOSTNAME not set then try to pull it out of /etc/nfs.conf
+ if [ -z "$NFS_HOSTNAME" ]; then
diff --git a/debian/patches/fruit-disable-useless-size_t-overflow-check.patch b/debian/patches/fruit-disable-useless-size_t-overflow-check.patch
new file mode 100644
index 0000000..828f835
--- /dev/null
+++ b/debian/patches/fruit-disable-useless-size_t-overflow-check.patch
@@ -0,0 +1,53 @@
+From e4bf63c976b0e3253f980360b2fe6244092b777c Mon Sep 17 00:00:00 2001
+From: Michael Tokarev <mjt@tls.msk.ru>
+Date: Thu, 17 Nov 2022 23:51:03 +0300
+Subject: [PATCH] fruit: disable useless size_t overflow check
+Bug-Debian: http://bugs.debian.org/974868
+
+As has been said several times in
+https://bugzilla.samba.org/show_bug.cgi?id=13622 ,
+the check 'bandsize > SIZE_MAX/nbands' is useless. But it
+is also wrong, in 2 ways: first, nbands might be 0 (when
+no bands has been allocated yet), and second, there's no
+point in comparing this with SIZE_MAX, since size_t on 32bit
+platforms is a 32bit integer, while bandsize is off_t which
+is 64bits (samba always enables LFS).
+
+This check causes the module to fail when bandsize*nbands
+exceeds 32bits, which has been reported for example at
+https://bugs.debian.org/974868 .
+
+Whole thing can't overflow because it is already guarded
+by time_machine_max_size. Or at the very least, by current
+disk sizes... :)
+
+Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
+---
+ source3/modules/vfs_fruit.c | 11 -----------
+ 1 file changed, 11 deletions(-)
+
+diff --git a/source3/modules/vfs_fruit.c b/source3/modules/vfs_fruit.c
+index 4058d4834e7..8e31e74f2a6 100644
+--- a/source3/modules/vfs_fruit.c
++++ b/source3/modules/vfs_fruit.c
+@@ -5273,17 +5273,6 @@ static bool fruit_tmsize_do_dirent(vfs_handle_struct *handle,
+ return true;
+ }
+
+- /*
+- * Arithmetic on 32-bit systems may cause overflow, depending on
+- * size_t precision. First we check its unlikely, then we
+- * force the precision into target off_t, then we check that
+- * the total did not overflow either.
+- */
+- if (bandsize > SIZE_MAX/nbands) {
+- DBG_ERR("tmsize potential overflow: bandsize [%zu] nbands [%zu]\n",
+- bandsize, nbands);
+- return false;
+- }
+ tm_size = (off_t)bandsize * (off_t)nbands;
+
+ if (state->total_size + tm_size < state->total_size) {
+--
+2.30.2
+
diff --git a/debian/patches/heimdal-rfc3454.txt b/debian/patches/heimdal-rfc3454.txt
new file mode 100644
index 0000000..162bd2e
--- /dev/null
+++ b/debian/patches/heimdal-rfc3454.txt
@@ -0,0 +1,7122 @@
+From: Brian May <bam@debian.org>
+Subject: Patch in symbol table from rfc3454, for Heimdal scripts
+Forwarded: not-needed
+
+Status: cherry-picked from heimdal package
+---
+ third_party/heimdal/lib/wind/rfc3454.txt-table | 7074 ++++++++++++++++++++++++++++
+ third_party/heimdal_build/wscript_build | 6 +-
+ 2 files changed, 7077 insertions(+), 3 deletions(-)
+ create mode 100644 source4/heimdal/lib/wind/rfc3454.txt-table
+
+diff --git a/third_party/heimdal/lib/wind/rfc3454.txt-table b/third_party/heimdal/lib/wind/rfc3454.txt-table
+new file mode 100644
+index 0000000..5bef0b5
+--- /dev/null
++++ b/third_party/heimdal/lib/wind/rfc3454.txt-table
+@@ -0,0 +1,7074 @@
++ ----- Start Table A.1 -----
++
++ 0221
++
++ 0234-024F
++
++ 02AE-02AF
++
++ 02EF-02FF
++
++ 0350-035F
++
++ 0370-0373
++
++ 0376-0379
++
++ 037B-037D
++
++ 037F-0383
++
++ 038B
++
++ 038D
++
++ 03A2
++
++ 03CF
++
++ 03F7-03FF
++
++ 0487
++
++ 04CF
++
++ 04F6-04F7
++
++ 04FA-04FF
++
++ 0510-0530
++
++ 0557-0558
++
++ 0560
++
++ 0588
++
++ 058B-0590
++
++ 05A2
++
++ 05BA
++
++ 05C5-05CF
++
++ 05EB-05EF
++
++ 05F5-060B
++
++ 060D-061A
++
++ 061C-061E
++
++ 0620
++
++ 063B-063F
++
++ 0656-065F
++
++ 06EE-06EF
++
++ 06FF
++
++ 070E
++
++ 072D-072F
++
++ 074B-077F
++
++ 07B2-0900
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 0904
++
++ 093A-093B
++
++ 094E-094F
++
++ 0955-0957
++
++ 0971-0980
++
++ 0984
++
++ 098D-098E
++
++ 0991-0992
++
++ 09A9
++
++ 09B1
++
++ 09B3-09B5
++
++ 09BA-09BB
++
++ 09BD
++
++ 09C5-09C6
++
++ 09C9-09CA
++
++ 09CE-09D6
++
++ 09D8-09DB
++
++ 09DE
++
++ 09E4-09E5
++
++ 09FB-0A01
++
++ 0A03-0A04
++
++ 0A0B-0A0E
++
++ 0A11-0A12
++
++ 0A29
++
++ 0A31
++
++ 0A34
++
++ 0A37
++
++ 0A3A-0A3B
++
++ 0A3D
++
++ 0A43-0A46
++
++ 0A49-0A4A
++
++ 0A4E-0A58
++
++ 0A5D
++
++ 0A5F-0A65
++
++ 0A75-0A80
++
++ 0A84
++
++ 0A8C
++
++ 0A8E
++
++ 0A92
++
++ 0AA9
++
++ 0AB1
++
++ 0AB4
++
++ 0ABA-0ABB
++
++ 0AC6
++
++ 0ACA
++
++ 0ACE-0ACF
++
++ 0AD1-0ADF
++
++ 0AE1-0AE5
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 0AF0-0B00
++
++ 0B04
++
++ 0B0D-0B0E
++
++ 0B11-0B12
++
++ 0B29
++
++ 0B31
++
++ 0B34-0B35
++
++ 0B3A-0B3B
++
++ 0B44-0B46
++
++ 0B49-0B4A
++
++ 0B4E-0B55
++
++ 0B58-0B5B
++
++ 0B5E
++
++ 0B62-0B65
++
++ 0B71-0B81
++
++ 0B84
++
++ 0B8B-0B8D
++
++ 0B91
++
++ 0B96-0B98
++
++ 0B9B
++
++ 0B9D
++
++ 0BA0-0BA2
++
++ 0BA5-0BA7
++
++ 0BAB-0BAD
++
++ 0BB6
++
++ 0BBA-0BBD
++
++ 0BC3-0BC5
++
++ 0BC9
++
++ 0BCE-0BD6
++
++ 0BD8-0BE6
++
++ 0BF3-0C00
++
++ 0C04
++
++ 0C0D
++
++ 0C11
++
++ 0C29
++
++ 0C34
++
++ 0C3A-0C3D
++
++ 0C45
++
++ 0C49
++
++ 0C4E-0C54
++
++ 0C57-0C5F
++
++ 0C62-0C65
++
++ 0C70-0C81
++
++ 0C84
++
++ 0C8D
++
++ 0C91
++
++ 0CA9
++
++ 0CB4
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 0CBA-0CBD
++
++ 0CC5
++
++ 0CC9
++
++ 0CCE-0CD4
++
++ 0CD7-0CDD
++
++ 0CDF
++
++ 0CE2-0CE5
++
++ 0CF0-0D01
++
++ 0D04
++
++ 0D0D
++
++ 0D11
++
++ 0D29
++
++ 0D3A-0D3D
++
++ 0D44-0D45
++
++ 0D49
++
++ 0D4E-0D56
++
++ 0D58-0D5F
++
++ 0D62-0D65
++
++ 0D70-0D81
++
++ 0D84
++
++ 0D97-0D99
++
++ 0DB2
++
++ 0DBC
++
++ 0DBE-0DBF
++
++ 0DC7-0DC9
++
++ 0DCB-0DCE
++
++ 0DD5
++
++ 0DD7
++
++ 0DE0-0DF1
++
++ 0DF5-0E00
++
++ 0E3B-0E3E
++
++ 0E5C-0E80
++
++ 0E83
++
++ 0E85-0E86
++
++ 0E89
++
++ 0E8B-0E8C
++
++ 0E8E-0E93
++
++ 0E98
++
++ 0EA0
++
++ 0EA4
++
++ 0EA6
++
++ 0EA8-0EA9
++
++ 0EAC
++
++ 0EBA
++
++ 0EBE-0EBF
++
++ 0EC5
++
++ 0EC7
++
++ 0ECE-0ECF
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 0EDA-0EDB
++
++ 0EDE-0EFF
++
++ 0F48
++
++ 0F6B-0F70
++
++ 0F8C-0F8F
++
++ 0F98
++
++ 0FBD
++
++ 0FCD-0FCE
++
++ 0FD0-0FFF
++
++ 1022
++
++ 1028
++
++ 102B
++
++ 1033-1035
++
++ 103A-103F
++
++ 105A-109F
++
++ 10C6-10CF
++
++ 10F9-10FA
++
++ 10FC-10FF
++
++ 115A-115E
++
++ 11A3-11A7
++
++ 11FA-11FF
++
++ 1207
++
++ 1247
++
++ 1249
++
++ 124E-124F
++
++ 1257
++
++ 1259
++
++ 125E-125F
++
++ 1287
++
++ 1289
++
++ 128E-128F
++
++ 12AF
++
++ 12B1
++
++ 12B6-12B7
++
++ 12BF
++
++ 12C1
++
++ 12C6-12C7
++
++ 12CF
++
++ 12D7
++
++ 12EF
++
++ 130F
++
++ 1311
++
++ 1316-1317
++
++ 131F
++
++ 1347
++
++ 135B-1360
++
++ 137D-139F
++
++ 13F5-1400
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1677-167F
++
++ 169D-169F
++
++ 16F1-16FF
++
++ 170D
++
++ 1715-171F
++
++ 1737-173F
++
++ 1754-175F
++
++ 176D
++
++ 1771
++
++ 1774-177F
++
++ 17DD-17DF
++
++ 17EA-17FF
++
++ 180F
++
++ 181A-181F
++
++ 1878-187F
++
++ 18AA-1DFF
++
++ 1E9C-1E9F
++
++ 1EFA-1EFF
++
++ 1F16-1F17
++
++ 1F1E-1F1F
++
++ 1F46-1F47
++
++ 1F4E-1F4F
++
++ 1F58
++
++ 1F5A
++
++ 1F5C
++
++ 1F5E
++
++ 1F7E-1F7F
++
++ 1FB5
++
++ 1FC5
++
++ 1FD4-1FD5
++
++ 1FDC
++
++ 1FF0-1FF1
++
++ 1FF5
++
++ 1FFF
++
++ 2053-2056
++
++ 2058-205E
++
++ 2064-2069
++
++ 2072-2073
++
++ 208F-209F
++
++ 20B2-20CF
++
++ 20EB-20FF
++
++ 213B-213C
++
++ 214C-2152
++
++ 2184-218F
++
++ 23CF-23FF
++
++ 2427-243F
++
++ 244B-245F
++
++ 24FF
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 2614-2615
++
++ 2618
++
++ 267E-267F
++
++ 268A-2700
++
++ 2705
++
++ 270A-270B
++
++ 2728
++
++ 274C
++
++ 274E
++
++ 2753-2755
++
++ 2757
++
++ 275F-2760
++
++ 2795-2797
++
++ 27B0
++
++ 27BF-27CF
++
++ 27EC-27EF
++
++ 2B00-2E7F
++
++ 2E9A
++
++ 2EF4-2EFF
++
++ 2FD6-2FEF
++
++ 2FFC-2FFF
++
++ 3040
++
++ 3097-3098
++
++ 3100-3104
++
++ 312D-3130
++
++ 318F
++
++ 31B8-31EF
++
++ 321D-321F
++
++ 3244-3250
++
++ 327C-327E
++
++ 32CC-32CF
++
++ 32FF
++
++ 3377-337A
++
++ 33DE-33DF
++
++ 33FF
++
++ 4DB6-4DFF
++
++ 9FA6-9FFF
++
++ A48D-A48F
++
++ A4C7-ABFF
++
++ D7A4-D7FF
++
++ FA2E-FA2F
++
++ FA6B-FAFF
++
++ FB07-FB12
++
++ FB18-FB1C
++
++ FB37
++
++ FB3D
++
++ FB3F
++
++ FB42
++
++
++
++
++
++
++
++
++
++
++
++
++
++ FB45
++
++ FBB2-FBD2
++
++ FD40-FD4F
++
++ FD90-FD91
++
++ FDC8-FDCF
++
++ FDFD-FDFF
++
++ FE10-FE1F
++
++ FE24-FE2F
++
++ FE47-FE48
++
++ FE53
++
++ FE67
++
++ FE6C-FE6F
++
++ FE75
++
++ FEFD-FEFE
++
++ FF00
++
++ FFBF-FFC1
++
++ FFC8-FFC9
++
++ FFD0-FFD1
++
++ FFD8-FFD9
++
++ FFDD-FFDF
++
++ FFE7
++
++ FFEF-FFF8
++
++ 10000-102FF
++
++ 1031F
++
++ 10324-1032F
++
++ 1034B-103FF
++
++ 10426-10427
++
++ 1044E-1CFFF
++
++ 1D0F6-1D0FF
++
++ 1D127-1D129
++
++ 1D1DE-1D3FF
++
++ 1D455
++
++ 1D49D
++
++ 1D4A0-1D4A1
++
++ 1D4A3-1D4A4
++
++ 1D4A7-1D4A8
++
++ 1D4AD
++
++ 1D4BA
++
++ 1D4BC
++
++ 1D4C1
++
++ 1D4C4
++
++ 1D506
++
++ 1D50B-1D50C
++
++ 1D515
++
++ 1D51D
++
++ 1D53A
++
++ 1D53F
++
++ 1D545
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1D547-1D549
++
++ 1D551
++
++ 1D6A4-1D6A7
++
++ 1D7CA-1D7CD
++
++ 1D800-1FFFD
++
++ 2A6D7-2F7FF
++
++ 2FA1E-2FFFD
++
++ 30000-3FFFD
++
++ 40000-4FFFD
++
++ 50000-5FFFD
++
++ 60000-6FFFD
++
++ 70000-7FFFD
++
++ 80000-8FFFD
++
++ 90000-9FFFD
++
++ A0000-AFFFD
++
++ B0000-BFFFD
++
++ C0000-CFFFD
++
++ D0000-DFFFD
++
++ E0000
++
++ E0002-E001F
++
++ E0080-EFFFD
++
++ ----- End Table A.1 -----
++
++ ----- Start Table B.1 -----
++
++ 00AD; ; Map to nothing
++
++ 034F; ; Map to nothing
++
++ 1806; ; Map to nothing
++
++ 180B; ; Map to nothing
++
++ 180C; ; Map to nothing
++
++ 180D; ; Map to nothing
++
++ 200B; ; Map to nothing
++
++ 200C; ; Map to nothing
++
++ 200D; ; Map to nothing
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 2060; ; Map to nothing
++
++ FE00; ; Map to nothing
++
++ FE01; ; Map to nothing
++
++ FE02; ; Map to nothing
++
++ FE03; ; Map to nothing
++
++ FE04; ; Map to nothing
++
++ FE05; ; Map to nothing
++
++ FE06; ; Map to nothing
++
++ FE07; ; Map to nothing
++
++ FE08; ; Map to nothing
++
++ FE09; ; Map to nothing
++
++ FE0A; ; Map to nothing
++
++ FE0B; ; Map to nothing
++
++ FE0C; ; Map to nothing
++
++ FE0D; ; Map to nothing
++
++ FE0E; ; Map to nothing
++
++ FE0F; ; Map to nothing
++
++ FEFF; ; Map to nothing
++
++ ----- End Table B.1 -----
++
++ ----- Start Table B.2 -----
++
++ 0041; 0061; Case map
++
++ 0042; 0062; Case map
++
++ 0043; 0063; Case map
++
++ 0044; 0064; Case map
++
++ 0045; 0065; Case map
++
++ 0046; 0066; Case map
++
++ 0047; 0067; Case map
++
++ 0048; 0068; Case map
++
++ 0049; 0069; Case map
++
++ 004A; 006A; Case map
++
++ 004B; 006B; Case map
++
++ 004C; 006C; Case map
++
++ 004D; 006D; Case map
++
++ 004E; 006E; Case map
++
++ 004F; 006F; Case map
++
++ 0050; 0070; Case map
++
++ 0051; 0071; Case map
++
++ 0052; 0072; Case map
++
++ 0053; 0073; Case map
++
++ 0054; 0074; Case map
++
++ 0055; 0075; Case map
++
++ 0056; 0076; Case map
++
++ 0057; 0077; Case map
++
++ 0058; 0078; Case map
++
++ 0059; 0079; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 005A; 007A; Case map
++
++ 00B5; 03BC; Case map
++
++ 00C0; 00E0; Case map
++
++ 00C1; 00E1; Case map
++
++ 00C2; 00E2; Case map
++
++ 00C3; 00E3; Case map
++
++ 00C4; 00E4; Case map
++
++ 00C5; 00E5; Case map
++
++ 00C6; 00E6; Case map
++
++ 00C7; 00E7; Case map
++
++ 00C8; 00E8; Case map
++
++ 00C9; 00E9; Case map
++
++ 00CA; 00EA; Case map
++
++ 00CB; 00EB; Case map
++
++ 00CC; 00EC; Case map
++
++ 00CD; 00ED; Case map
++
++ 00CE; 00EE; Case map
++
++ 00CF; 00EF; Case map
++
++ 00D0; 00F0; Case map
++
++ 00D1; 00F1; Case map
++
++ 00D2; 00F2; Case map
++
++ 00D3; 00F3; Case map
++
++ 00D4; 00F4; Case map
++
++ 00D5; 00F5; Case map
++
++ 00D6; 00F6; Case map
++
++ 00D8; 00F8; Case map
++
++ 00D9; 00F9; Case map
++
++ 00DA; 00FA; Case map
++
++ 00DB; 00FB; Case map
++
++ 00DC; 00FC; Case map
++
++ 00DD; 00FD; Case map
++
++ 00DE; 00FE; Case map
++
++ 00DF; 0073 0073; Case map
++
++ 0100; 0101; Case map
++
++ 0102; 0103; Case map
++
++ 0104; 0105; Case map
++
++ 0106; 0107; Case map
++
++ 0108; 0109; Case map
++
++ 010A; 010B; Case map
++
++ 010C; 010D; Case map
++
++ 010E; 010F; Case map
++
++ 0110; 0111; Case map
++
++ 0112; 0113; Case map
++
++ 0114; 0115; Case map
++
++ 0116; 0117; Case map
++
++ 0118; 0119; Case map
++
++ 011A; 011B; Case map
++
++ 011C; 011D; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 011E; 011F; Case map
++
++ 0120; 0121; Case map
++
++ 0122; 0123; Case map
++
++ 0124; 0125; Case map
++
++ 0126; 0127; Case map
++
++ 0128; 0129; Case map
++
++ 012A; 012B; Case map
++
++ 012C; 012D; Case map
++
++ 012E; 012F; Case map
++
++ 0130; 0069 0307; Case map
++
++ 0132; 0133; Case map
++
++ 0134; 0135; Case map
++
++ 0136; 0137; Case map
++
++ 0139; 013A; Case map
++
++ 013B; 013C; Case map
++
++ 013D; 013E; Case map
++
++ 013F; 0140; Case map
++
++ 0141; 0142; Case map
++
++ 0143; 0144; Case map
++
++ 0145; 0146; Case map
++
++ 0147; 0148; Case map
++
++ 0149; 02BC 006E; Case map
++
++ 014A; 014B; Case map
++
++ 014C; 014D; Case map
++
++ 014E; 014F; Case map
++
++ 0150; 0151; Case map
++
++ 0152; 0153; Case map
++
++ 0154; 0155; Case map
++
++ 0156; 0157; Case map
++
++ 0158; 0159; Case map
++
++ 015A; 015B; Case map
++
++ 015C; 015D; Case map
++
++ 015E; 015F; Case map
++
++ 0160; 0161; Case map
++
++ 0162; 0163; Case map
++
++ 0164; 0165; Case map
++
++ 0166; 0167; Case map
++
++ 0168; 0169; Case map
++
++ 016A; 016B; Case map
++
++ 016C; 016D; Case map
++
++ 016E; 016F; Case map
++
++ 0170; 0171; Case map
++
++ 0172; 0173; Case map
++
++ 0174; 0175; Case map
++
++ 0176; 0177; Case map
++
++ 0178; 00FF; Case map
++
++ 0179; 017A; Case map
++
++ 017B; 017C; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 017D; 017E; Case map
++
++ 017F; 0073; Case map
++
++ 0181; 0253; Case map
++
++ 0182; 0183; Case map
++
++ 0184; 0185; Case map
++
++ 0186; 0254; Case map
++
++ 0187; 0188; Case map
++
++ 0189; 0256; Case map
++
++ 018A; 0257; Case map
++
++ 018B; 018C; Case map
++
++ 018E; 01DD; Case map
++
++ 018F; 0259; Case map
++
++ 0190; 025B; Case map
++
++ 0191; 0192; Case map
++
++ 0193; 0260; Case map
++
++ 0194; 0263; Case map
++
++ 0196; 0269; Case map
++
++ 0197; 0268; Case map
++
++ 0198; 0199; Case map
++
++ 019C; 026F; Case map
++
++ 019D; 0272; Case map
++
++ 019F; 0275; Case map
++
++ 01A0; 01A1; Case map
++
++ 01A2; 01A3; Case map
++
++ 01A4; 01A5; Case map
++
++ 01A6; 0280; Case map
++
++ 01A7; 01A8; Case map
++
++ 01A9; 0283; Case map
++
++ 01AC; 01AD; Case map
++
++ 01AE; 0288; Case map
++
++ 01AF; 01B0; Case map
++
++ 01B1; 028A; Case map
++
++ 01B2; 028B; Case map
++
++ 01B3; 01B4; Case map
++
++ 01B5; 01B6; Case map
++
++ 01B7; 0292; Case map
++
++ 01B8; 01B9; Case map
++
++ 01BC; 01BD; Case map
++
++ 01C4; 01C6; Case map
++
++ 01C5; 01C6; Case map
++
++ 01C7; 01C9; Case map
++
++ 01C8; 01C9; Case map
++
++ 01CA; 01CC; Case map
++
++ 01CB; 01CC; Case map
++
++ 01CD; 01CE; Case map
++
++ 01CF; 01D0; Case map
++
++ 01D1; 01D2; Case map
++
++ 01D3; 01D4; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 01D5; 01D6; Case map
++
++ 01D7; 01D8; Case map
++
++ 01D9; 01DA; Case map
++
++ 01DB; 01DC; Case map
++
++ 01DE; 01DF; Case map
++
++ 01E0; 01E1; Case map
++
++ 01E2; 01E3; Case map
++
++ 01E4; 01E5; Case map
++
++ 01E6; 01E7; Case map
++
++ 01E8; 01E9; Case map
++
++ 01EA; 01EB; Case map
++
++ 01EC; 01ED; Case map
++
++ 01EE; 01EF; Case map
++
++ 01F0; 006A 030C; Case map
++
++ 01F1; 01F3; Case map
++
++ 01F2; 01F3; Case map
++
++ 01F4; 01F5; Case map
++
++ 01F6; 0195; Case map
++
++ 01F7; 01BF; Case map
++
++ 01F8; 01F9; Case map
++
++ 01FA; 01FB; Case map
++
++ 01FC; 01FD; Case map
++
++ 01FE; 01FF; Case map
++
++ 0200; 0201; Case map
++
++ 0202; 0203; Case map
++
++ 0204; 0205; Case map
++
++ 0206; 0207; Case map
++
++ 0208; 0209; Case map
++
++ 020A; 020B; Case map
++
++ 020C; 020D; Case map
++
++ 020E; 020F; Case map
++
++ 0210; 0211; Case map
++
++ 0212; 0213; Case map
++
++ 0214; 0215; Case map
++
++ 0216; 0217; Case map
++
++ 0218; 0219; Case map
++
++ 021A; 021B; Case map
++
++ 021C; 021D; Case map
++
++ 021E; 021F; Case map
++
++ 0220; 019E; Case map
++
++ 0222; 0223; Case map
++
++ 0224; 0225; Case map
++
++ 0226; 0227; Case map
++
++ 0228; 0229; Case map
++
++ 022A; 022B; Case map
++
++ 022C; 022D; Case map
++
++ 022E; 022F; Case map
++
++ 0230; 0231; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 0232; 0233; Case map
++
++ 0345; 03B9; Case map
++
++ 037A; 0020 03B9; Additional folding
++
++ 0386; 03AC; Case map
++
++ 0388; 03AD; Case map
++
++ 0389; 03AE; Case map
++
++ 038A; 03AF; Case map
++
++ 038C; 03CC; Case map
++
++ 038E; 03CD; Case map
++
++ 038F; 03CE; Case map
++
++ 0390; 03B9 0308 0301; Case map
++
++ 0391; 03B1; Case map
++
++ 0392; 03B2; Case map
++
++ 0393; 03B3; Case map
++
++ 0394; 03B4; Case map
++
++ 0395; 03B5; Case map
++
++ 0396; 03B6; Case map
++
++ 0397; 03B7; Case map
++
++ 0398; 03B8; Case map
++
++ 0399; 03B9; Case map
++
++ 039A; 03BA; Case map
++
++ 039B; 03BB; Case map
++
++ 039C; 03BC; Case map
++
++ 039D; 03BD; Case map
++
++ 039E; 03BE; Case map
++
++ 039F; 03BF; Case map
++
++ 03A0; 03C0; Case map
++
++ 03A1; 03C1; Case map
++
++ 03A3; 03C3; Case map
++
++ 03A4; 03C4; Case map
++
++ 03A5; 03C5; Case map
++
++ 03A6; 03C6; Case map
++
++ 03A7; 03C7; Case map
++
++ 03A8; 03C8; Case map
++
++ 03A9; 03C9; Case map
++
++ 03AA; 03CA; Case map
++
++ 03AB; 03CB; Case map
++
++ 03B0; 03C5 0308 0301; Case map
++
++ 03C2; 03C3; Case map
++
++ 03D0; 03B2; Case map
++
++ 03D1; 03B8; Case map
++
++ 03D2; 03C5; Additional folding
++
++ 03D3; 03CD; Additional folding
++
++ 03D4; 03CB; Additional folding
++
++ 03D5; 03C6; Case map
++
++ 03D6; 03C0; Case map
++
++ 03D8; 03D9; Case map
++
++ 03DA; 03DB; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 03DC; 03DD; Case map
++
++ 03DE; 03DF; Case map
++
++ 03E0; 03E1; Case map
++
++ 03E2; 03E3; Case map
++
++ 03E4; 03E5; Case map
++
++ 03E6; 03E7; Case map
++
++ 03E8; 03E9; Case map
++
++ 03EA; 03EB; Case map
++
++ 03EC; 03ED; Case map
++
++ 03EE; 03EF; Case map
++
++ 03F0; 03BA; Case map
++
++ 03F1; 03C1; Case map
++
++ 03F2; 03C3; Case map
++
++ 03F4; 03B8; Case map
++
++ 03F5; 03B5; Case map
++
++ 0400; 0450; Case map
++
++ 0401; 0451; Case map
++
++ 0402; 0452; Case map
++
++ 0403; 0453; Case map
++
++ 0404; 0454; Case map
++
++ 0405; 0455; Case map
++
++ 0406; 0456; Case map
++
++ 0407; 0457; Case map
++
++ 0408; 0458; Case map
++
++ 0409; 0459; Case map
++
++ 040A; 045A; Case map
++
++ 040B; 045B; Case map
++
++ 040C; 045C; Case map
++
++ 040D; 045D; Case map
++
++ 040E; 045E; Case map
++
++ 040F; 045F; Case map
++
++ 0410; 0430; Case map
++
++ 0411; 0431; Case map
++
++ 0412; 0432; Case map
++
++ 0413; 0433; Case map
++
++ 0414; 0434; Case map
++
++ 0415; 0435; Case map
++
++ 0416; 0436; Case map
++
++ 0417; 0437; Case map
++
++ 0418; 0438; Case map
++
++ 0419; 0439; Case map
++
++ 041A; 043A; Case map
++
++ 041B; 043B; Case map
++
++ 041C; 043C; Case map
++
++ 041D; 043D; Case map
++
++ 041E; 043E; Case map
++
++ 041F; 043F; Case map
++
++ 0420; 0440; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 0421; 0441; Case map
++
++ 0422; 0442; Case map
++
++ 0423; 0443; Case map
++
++ 0424; 0444; Case map
++
++ 0425; 0445; Case map
++
++ 0426; 0446; Case map
++
++ 0427; 0447; Case map
++
++ 0428; 0448; Case map
++
++ 0429; 0449; Case map
++
++ 042A; 044A; Case map
++
++ 042B; 044B; Case map
++
++ 042C; 044C; Case map
++
++ 042D; 044D; Case map
++
++ 042E; 044E; Case map
++
++ 042F; 044F; Case map
++
++ 0460; 0461; Case map
++
++ 0462; 0463; Case map
++
++ 0464; 0465; Case map
++
++ 0466; 0467; Case map
++
++ 0468; 0469; Case map
++
++ 046A; 046B; Case map
++
++ 046C; 046D; Case map
++
++ 046E; 046F; Case map
++
++ 0470; 0471; Case map
++
++ 0472; 0473; Case map
++
++ 0474; 0475; Case map
++
++ 0476; 0477; Case map
++
++ 0478; 0479; Case map
++
++ 047A; 047B; Case map
++
++ 047C; 047D; Case map
++
++ 047E; 047F; Case map
++
++ 0480; 0481; Case map
++
++ 048A; 048B; Case map
++
++ 048C; 048D; Case map
++
++ 048E; 048F; Case map
++
++ 0490; 0491; Case map
++
++ 0492; 0493; Case map
++
++ 0494; 0495; Case map
++
++ 0496; 0497; Case map
++
++ 0498; 0499; Case map
++
++ 049A; 049B; Case map
++
++ 049C; 049D; Case map
++
++ 049E; 049F; Case map
++
++ 04A0; 04A1; Case map
++
++ 04A2; 04A3; Case map
++
++ 04A4; 04A5; Case map
++
++ 04A6; 04A7; Case map
++
++ 04A8; 04A9; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 04AA; 04AB; Case map
++
++ 04AC; 04AD; Case map
++
++ 04AE; 04AF; Case map
++
++ 04B0; 04B1; Case map
++
++ 04B2; 04B3; Case map
++
++ 04B4; 04B5; Case map
++
++ 04B6; 04B7; Case map
++
++ 04B8; 04B9; Case map
++
++ 04BA; 04BB; Case map
++
++ 04BC; 04BD; Case map
++
++ 04BE; 04BF; Case map
++
++ 04C1; 04C2; Case map
++
++ 04C3; 04C4; Case map
++
++ 04C5; 04C6; Case map
++
++ 04C7; 04C8; Case map
++
++ 04C9; 04CA; Case map
++
++ 04CB; 04CC; Case map
++
++ 04CD; 04CE; Case map
++
++ 04D0; 04D1; Case map
++
++ 04D2; 04D3; Case map
++
++ 04D4; 04D5; Case map
++
++ 04D6; 04D7; Case map
++
++ 04D8; 04D9; Case map
++
++ 04DA; 04DB; Case map
++
++ 04DC; 04DD; Case map
++
++ 04DE; 04DF; Case map
++
++ 04E0; 04E1; Case map
++
++ 04E2; 04E3; Case map
++
++ 04E4; 04E5; Case map
++
++ 04E6; 04E7; Case map
++
++ 04E8; 04E9; Case map
++
++ 04EA; 04EB; Case map
++
++ 04EC; 04ED; Case map
++
++ 04EE; 04EF; Case map
++
++ 04F0; 04F1; Case map
++
++ 04F2; 04F3; Case map
++
++ 04F4; 04F5; Case map
++
++ 04F8; 04F9; Case map
++
++ 0500; 0501; Case map
++
++ 0502; 0503; Case map
++
++ 0504; 0505; Case map
++
++ 0506; 0507; Case map
++
++ 0508; 0509; Case map
++
++ 050A; 050B; Case map
++
++ 050C; 050D; Case map
++
++ 050E; 050F; Case map
++
++ 0531; 0561; Case map
++
++ 0532; 0562; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 0533; 0563; Case map
++
++ 0534; 0564; Case map
++
++ 0535; 0565; Case map
++
++ 0536; 0566; Case map
++
++ 0537; 0567; Case map
++
++ 0538; 0568; Case map
++
++ 0539; 0569; Case map
++
++ 053A; 056A; Case map
++
++ 053B; 056B; Case map
++
++ 053C; 056C; Case map
++
++ 053D; 056D; Case map
++
++ 053E; 056E; Case map
++
++ 053F; 056F; Case map
++
++ 0540; 0570; Case map
++
++ 0541; 0571; Case map
++
++ 0542; 0572; Case map
++
++ 0543; 0573; Case map
++
++ 0544; 0574; Case map
++
++ 0545; 0575; Case map
++
++ 0546; 0576; Case map
++
++ 0547; 0577; Case map
++
++ 0548; 0578; Case map
++
++ 0549; 0579; Case map
++
++ 054A; 057A; Case map
++
++ 054B; 057B; Case map
++
++ 054C; 057C; Case map
++
++ 054D; 057D; Case map
++
++ 054E; 057E; Case map
++
++ 054F; 057F; Case map
++
++ 0550; 0580; Case map
++
++ 0551; 0581; Case map
++
++ 0552; 0582; Case map
++
++ 0553; 0583; Case map
++
++ 0554; 0584; Case map
++
++ 0555; 0585; Case map
++
++ 0556; 0586; Case map
++
++ 0587; 0565 0582; Case map
++
++ 1E00; 1E01; Case map
++
++ 1E02; 1E03; Case map
++
++ 1E04; 1E05; Case map
++
++ 1E06; 1E07; Case map
++
++ 1E08; 1E09; Case map
++
++ 1E0A; 1E0B; Case map
++
++ 1E0C; 1E0D; Case map
++
++ 1E0E; 1E0F; Case map
++
++ 1E10; 1E11; Case map
++
++ 1E12; 1E13; Case map
++
++ 1E14; 1E15; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1E16; 1E17; Case map
++
++ 1E18; 1E19; Case map
++
++ 1E1A; 1E1B; Case map
++
++ 1E1C; 1E1D; Case map
++
++ 1E1E; 1E1F; Case map
++
++ 1E20; 1E21; Case map
++
++ 1E22; 1E23; Case map
++
++ 1E24; 1E25; Case map
++
++ 1E26; 1E27; Case map
++
++ 1E28; 1E29; Case map
++
++ 1E2A; 1E2B; Case map
++
++ 1E2C; 1E2D; Case map
++
++ 1E2E; 1E2F; Case map
++
++ 1E30; 1E31; Case map
++
++ 1E32; 1E33; Case map
++
++ 1E34; 1E35; Case map
++
++ 1E36; 1E37; Case map
++
++ 1E38; 1E39; Case map
++
++ 1E3A; 1E3B; Case map
++
++ 1E3C; 1E3D; Case map
++
++ 1E3E; 1E3F; Case map
++
++ 1E40; 1E41; Case map
++
++ 1E42; 1E43; Case map
++
++ 1E44; 1E45; Case map
++
++ 1E46; 1E47; Case map
++
++ 1E48; 1E49; Case map
++
++ 1E4A; 1E4B; Case map
++
++ 1E4C; 1E4D; Case map
++
++ 1E4E; 1E4F; Case map
++
++ 1E50; 1E51; Case map
++
++ 1E52; 1E53; Case map
++
++ 1E54; 1E55; Case map
++
++ 1E56; 1E57; Case map
++
++ 1E58; 1E59; Case map
++
++ 1E5A; 1E5B; Case map
++
++ 1E5C; 1E5D; Case map
++
++ 1E5E; 1E5F; Case map
++
++ 1E60; 1E61; Case map
++
++ 1E62; 1E63; Case map
++
++ 1E64; 1E65; Case map
++
++ 1E66; 1E67; Case map
++
++ 1E68; 1E69; Case map
++
++ 1E6A; 1E6B; Case map
++
++ 1E6C; 1E6D; Case map
++
++ 1E6E; 1E6F; Case map
++
++ 1E70; 1E71; Case map
++
++ 1E72; 1E73; Case map
++
++ 1E74; 1E75; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1E76; 1E77; Case map
++
++ 1E78; 1E79; Case map
++
++ 1E7A; 1E7B; Case map
++
++ 1E7C; 1E7D; Case map
++
++ 1E7E; 1E7F; Case map
++
++ 1E80; 1E81; Case map
++
++ 1E82; 1E83; Case map
++
++ 1E84; 1E85; Case map
++
++ 1E86; 1E87; Case map
++
++ 1E88; 1E89; Case map
++
++ 1E8A; 1E8B; Case map
++
++ 1E8C; 1E8D; Case map
++
++ 1E8E; 1E8F; Case map
++
++ 1E90; 1E91; Case map
++
++ 1E92; 1E93; Case map
++
++ 1E94; 1E95; Case map
++
++ 1E96; 0068 0331; Case map
++
++ 1E97; 0074 0308; Case map
++
++ 1E98; 0077 030A; Case map
++
++ 1E99; 0079 030A; Case map
++
++ 1E9A; 0061 02BE; Case map
++
++ 1E9B; 1E61; Case map
++
++ 1EA0; 1EA1; Case map
++
++ 1EA2; 1EA3; Case map
++
++ 1EA4; 1EA5; Case map
++
++ 1EA6; 1EA7; Case map
++
++ 1EA8; 1EA9; Case map
++
++ 1EAA; 1EAB; Case map
++
++ 1EAC; 1EAD; Case map
++
++ 1EAE; 1EAF; Case map
++
++ 1EB0; 1EB1; Case map
++
++ 1EB2; 1EB3; Case map
++
++ 1EB4; 1EB5; Case map
++
++ 1EB6; 1EB7; Case map
++
++ 1EB8; 1EB9; Case map
++
++ 1EBA; 1EBB; Case map
++
++ 1EBC; 1EBD; Case map
++
++ 1EBE; 1EBF; Case map
++
++ 1EC0; 1EC1; Case map
++
++ 1EC2; 1EC3; Case map
++
++ 1EC4; 1EC5; Case map
++
++ 1EC6; 1EC7; Case map
++
++ 1EC8; 1EC9; Case map
++
++ 1ECA; 1ECB; Case map
++
++ 1ECC; 1ECD; Case map
++
++ 1ECE; 1ECF; Case map
++
++ 1ED0; 1ED1; Case map
++
++ 1ED2; 1ED3; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1ED4; 1ED5; Case map
++
++ 1ED6; 1ED7; Case map
++
++ 1ED8; 1ED9; Case map
++
++ 1EDA; 1EDB; Case map
++
++ 1EDC; 1EDD; Case map
++
++ 1EDE; 1EDF; Case map
++
++ 1EE0; 1EE1; Case map
++
++ 1EE2; 1EE3; Case map
++
++ 1EE4; 1EE5; Case map
++
++ 1EE6; 1EE7; Case map
++
++ 1EE8; 1EE9; Case map
++
++ 1EEA; 1EEB; Case map
++
++ 1EEC; 1EED; Case map
++
++ 1EEE; 1EEF; Case map
++
++ 1EF0; 1EF1; Case map
++
++ 1EF2; 1EF3; Case map
++
++ 1EF4; 1EF5; Case map
++
++ 1EF6; 1EF7; Case map
++
++ 1EF8; 1EF9; Case map
++
++ 1F08; 1F00; Case map
++
++ 1F09; 1F01; Case map
++
++ 1F0A; 1F02; Case map
++
++ 1F0B; 1F03; Case map
++
++ 1F0C; 1F04; Case map
++
++ 1F0D; 1F05; Case map
++
++ 1F0E; 1F06; Case map
++
++ 1F0F; 1F07; Case map
++
++ 1F18; 1F10; Case map
++
++ 1F19; 1F11; Case map
++
++ 1F1A; 1F12; Case map
++
++ 1F1B; 1F13; Case map
++
++ 1F1C; 1F14; Case map
++
++ 1F1D; 1F15; Case map
++
++ 1F28; 1F20; Case map
++
++ 1F29; 1F21; Case map
++
++ 1F2A; 1F22; Case map
++
++ 1F2B; 1F23; Case map
++
++ 1F2C; 1F24; Case map
++
++ 1F2D; 1F25; Case map
++
++ 1F2E; 1F26; Case map
++
++ 1F2F; 1F27; Case map
++
++ 1F38; 1F30; Case map
++
++ 1F39; 1F31; Case map
++
++ 1F3A; 1F32; Case map
++
++ 1F3B; 1F33; Case map
++
++ 1F3C; 1F34; Case map
++
++ 1F3D; 1F35; Case map
++
++ 1F3E; 1F36; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1F3F; 1F37; Case map
++
++ 1F48; 1F40; Case map
++
++ 1F49; 1F41; Case map
++
++ 1F4A; 1F42; Case map
++
++ 1F4B; 1F43; Case map
++
++ 1F4C; 1F44; Case map
++
++ 1F4D; 1F45; Case map
++
++ 1F50; 03C5 0313; Case map
++
++ 1F52; 03C5 0313 0300; Case map
++
++ 1F54; 03C5 0313 0301; Case map
++
++ 1F56; 03C5 0313 0342; Case map
++
++ 1F59; 1F51; Case map
++
++ 1F5B; 1F53; Case map
++
++ 1F5D; 1F55; Case map
++
++ 1F5F; 1F57; Case map
++
++ 1F68; 1F60; Case map
++
++ 1F69; 1F61; Case map
++
++ 1F6A; 1F62; Case map
++
++ 1F6B; 1F63; Case map
++
++ 1F6C; 1F64; Case map
++
++ 1F6D; 1F65; Case map
++
++ 1F6E; 1F66; Case map
++
++ 1F6F; 1F67; Case map
++
++ 1F80; 1F00 03B9; Case map
++
++ 1F81; 1F01 03B9; Case map
++
++ 1F82; 1F02 03B9; Case map
++
++ 1F83; 1F03 03B9; Case map
++
++ 1F84; 1F04 03B9; Case map
++
++ 1F85; 1F05 03B9; Case map
++
++ 1F86; 1F06 03B9; Case map
++
++ 1F87; 1F07 03B9; Case map
++
++ 1F88; 1F00 03B9; Case map
++
++ 1F89; 1F01 03B9; Case map
++
++ 1F8A; 1F02 03B9; Case map
++
++ 1F8B; 1F03 03B9; Case map
++
++ 1F8C; 1F04 03B9; Case map
++
++ 1F8D; 1F05 03B9; Case map
++
++ 1F8E; 1F06 03B9; Case map
++
++ 1F8F; 1F07 03B9; Case map
++
++ 1F90; 1F20 03B9; Case map
++
++ 1F91; 1F21 03B9; Case map
++
++ 1F92; 1F22 03B9; Case map
++
++ 1F93; 1F23 03B9; Case map
++
++ 1F94; 1F24 03B9; Case map
++
++ 1F95; 1F25 03B9; Case map
++
++ 1F96; 1F26 03B9; Case map
++
++ 1F97; 1F27 03B9; Case map
++
++ 1F98; 1F20 03B9; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1F99; 1F21 03B9; Case map
++
++ 1F9A; 1F22 03B9; Case map
++
++ 1F9B; 1F23 03B9; Case map
++
++ 1F9C; 1F24 03B9; Case map
++
++ 1F9D; 1F25 03B9; Case map
++
++ 1F9E; 1F26 03B9; Case map
++
++ 1F9F; 1F27 03B9; Case map
++
++ 1FA0; 1F60 03B9; Case map
++
++ 1FA1; 1F61 03B9; Case map
++
++ 1FA2; 1F62 03B9; Case map
++
++ 1FA3; 1F63 03B9; Case map
++
++ 1FA4; 1F64 03B9; Case map
++
++ 1FA5; 1F65 03B9; Case map
++
++ 1FA6; 1F66 03B9; Case map
++
++ 1FA7; 1F67 03B9; Case map
++
++ 1FA8; 1F60 03B9; Case map
++
++ 1FA9; 1F61 03B9; Case map
++
++ 1FAA; 1F62 03B9; Case map
++
++ 1FAB; 1F63 03B9; Case map
++
++ 1FAC; 1F64 03B9; Case map
++
++ 1FAD; 1F65 03B9; Case map
++
++ 1FAE; 1F66 03B9; Case map
++
++ 1FAF; 1F67 03B9; Case map
++
++ 1FB2; 1F70 03B9; Case map
++
++ 1FB3; 03B1 03B9; Case map
++
++ 1FB4; 03AC 03B9; Case map
++
++ 1FB6; 03B1 0342; Case map
++
++ 1FB7; 03B1 0342 03B9; Case map
++
++ 1FB8; 1FB0; Case map
++
++ 1FB9; 1FB1; Case map
++
++ 1FBA; 1F70; Case map
++
++ 1FBB; 1F71; Case map
++
++ 1FBC; 03B1 03B9; Case map
++
++ 1FBE; 03B9; Case map
++
++ 1FC2; 1F74 03B9; Case map
++
++ 1FC3; 03B7 03B9; Case map
++
++ 1FC4; 03AE 03B9; Case map
++
++ 1FC6; 03B7 0342; Case map
++
++ 1FC7; 03B7 0342 03B9; Case map
++
++ 1FC8; 1F72; Case map
++
++ 1FC9; 1F73; Case map
++
++ 1FCA; 1F74; Case map
++
++ 1FCB; 1F75; Case map
++
++ 1FCC; 03B7 03B9; Case map
++
++ 1FD2; 03B9 0308 0300; Case map
++
++ 1FD3; 03B9 0308 0301; Case map
++
++ 1FD6; 03B9 0342; Case map
++
++ 1FD7; 03B9 0308 0342; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1FD8; 1FD0; Case map
++
++ 1FD9; 1FD1; Case map
++
++ 1FDA; 1F76; Case map
++
++ 1FDB; 1F77; Case map
++
++ 1FE2; 03C5 0308 0300; Case map
++
++ 1FE3; 03C5 0308 0301; Case map
++
++ 1FE4; 03C1 0313; Case map
++
++ 1FE6; 03C5 0342; Case map
++
++ 1FE7; 03C5 0308 0342; Case map
++
++ 1FE8; 1FE0; Case map
++
++ 1FE9; 1FE1; Case map
++
++ 1FEA; 1F7A; Case map
++
++ 1FEB; 1F7B; Case map
++
++ 1FEC; 1FE5; Case map
++
++ 1FF2; 1F7C 03B9; Case map
++
++ 1FF3; 03C9 03B9; Case map
++
++ 1FF4; 03CE 03B9; Case map
++
++ 1FF6; 03C9 0342; Case map
++
++ 1FF7; 03C9 0342 03B9; Case map
++
++ 1FF8; 1F78; Case map
++
++ 1FF9; 1F79; Case map
++
++ 1FFA; 1F7C; Case map
++
++ 1FFB; 1F7D; Case map
++
++ 1FFC; 03C9 03B9; Case map
++
++ 20A8; 0072 0073; Additional folding
++
++ 2102; 0063; Additional folding
++
++ 2103; 00B0 0063; Additional folding
++
++ 2107; 025B; Additional folding
++
++ 2109; 00B0 0066; Additional folding
++
++ 210B; 0068; Additional folding
++
++ 210C; 0068; Additional folding
++
++ 210D; 0068; Additional folding
++
++ 2110; 0069; Additional folding
++
++ 2111; 0069; Additional folding
++
++ 2112; 006C; Additional folding
++
++ 2115; 006E; Additional folding
++
++ 2116; 006E 006F; Additional folding
++
++ 2119; 0070; Additional folding
++
++ 211A; 0071; Additional folding
++
++ 211B; 0072; Additional folding
++
++ 211C; 0072; Additional folding
++
++ 211D; 0072; Additional folding
++
++ 2120; 0073 006D; Additional folding
++
++ 2121; 0074 0065 006C; Additional folding
++
++ 2122; 0074 006D; Additional folding
++
++ 2124; 007A; Additional folding
++
++ 2126; 03C9; Case map
++
++ 2128; 007A; Additional folding
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 212A; 006B; Case map
++
++ 212B; 00E5; Case map
++
++ 212C; 0062; Additional folding
++
++ 212D; 0063; Additional folding
++
++ 2130; 0065; Additional folding
++
++ 2131; 0066; Additional folding
++
++ 2133; 006D; Additional folding
++
++ 213E; 03B3; Additional folding
++
++ 213F; 03C0; Additional folding
++
++ 2145; 0064; Additional folding
++
++ 2160; 2170; Case map
++
++ 2161; 2171; Case map
++
++ 2162; 2172; Case map
++
++ 2163; 2173; Case map
++
++ 2164; 2174; Case map
++
++ 2165; 2175; Case map
++
++ 2166; 2176; Case map
++
++ 2167; 2177; Case map
++
++ 2168; 2178; Case map
++
++ 2169; 2179; Case map
++
++ 216A; 217A; Case map
++
++ 216B; 217B; Case map
++
++ 216C; 217C; Case map
++
++ 216D; 217D; Case map
++
++ 216E; 217E; Case map
++
++ 216F; 217F; Case map
++
++ 24B6; 24D0; Case map
++
++ 24B7; 24D1; Case map
++
++ 24B8; 24D2; Case map
++
++ 24B9; 24D3; Case map
++
++ 24BA; 24D4; Case map
++
++ 24BB; 24D5; Case map
++
++ 24BC; 24D6; Case map
++
++ 24BD; 24D7; Case map
++
++ 24BE; 24D8; Case map
++
++ 24BF; 24D9; Case map
++
++ 24C0; 24DA; Case map
++
++ 24C1; 24DB; Case map
++
++ 24C2; 24DC; Case map
++
++ 24C3; 24DD; Case map
++
++ 24C4; 24DE; Case map
++
++ 24C5; 24DF; Case map
++
++ 24C6; 24E0; Case map
++
++ 24C7; 24E1; Case map
++
++ 24C8; 24E2; Case map
++
++ 24C9; 24E3; Case map
++
++ 24CA; 24E4; Case map
++
++ 24CB; 24E5; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 24CC; 24E6; Case map
++
++ 24CD; 24E7; Case map
++
++ 24CE; 24E8; Case map
++
++ 24CF; 24E9; Case map
++
++ 3371; 0068 0070 0061; Additional folding
++
++ 3373; 0061 0075; Additional folding
++
++ 3375; 006F 0076; Additional folding
++
++ 3380; 0070 0061; Additional folding
++
++ 3381; 006E 0061; Additional folding
++
++ 3382; 03BC 0061; Additional folding
++
++ 3383; 006D 0061; Additional folding
++
++ 3384; 006B 0061; Additional folding
++
++ 3385; 006B 0062; Additional folding
++
++ 3386; 006D 0062; Additional folding
++
++ 3387; 0067 0062; Additional folding
++
++ 338A; 0070 0066; Additional folding
++
++ 338B; 006E 0066; Additional folding
++
++ 338C; 03BC 0066; Additional folding
++
++ 3390; 0068 007A; Additional folding
++
++ 3391; 006B 0068 007A; Additional folding
++
++ 3392; 006D 0068 007A; Additional folding
++
++ 3393; 0067 0068 007A; Additional folding
++
++ 3394; 0074 0068 007A; Additional folding
++
++ 33A9; 0070 0061; Additional folding
++
++ 33AA; 006B 0070 0061; Additional folding
++
++ 33AB; 006D 0070 0061; Additional folding
++
++ 33AC; 0067 0070 0061; Additional folding
++
++ 33B4; 0070 0076; Additional folding
++
++ 33B5; 006E 0076; Additional folding
++
++ 33B6; 03BC 0076; Additional folding
++
++ 33B7; 006D 0076; Additional folding
++
++ 33B8; 006B 0076; Additional folding
++
++ 33B9; 006D 0076; Additional folding
++
++ 33BA; 0070 0077; Additional folding
++
++ 33BB; 006E 0077; Additional folding
++
++ 33BC; 03BC 0077; Additional folding
++
++ 33BD; 006D 0077; Additional folding
++
++ 33BE; 006B 0077; Additional folding
++
++ 33BF; 006D 0077; Additional folding
++
++ 33C0; 006B 03C9; Additional folding
++
++ 33C1; 006D 03C9; Additional folding
++
++ 33C3; 0062 0071; Additional folding
++
++ 33C6; 0063 2215 006B 0067; Additional folding
++
++ 33C7; 0063 006F 002E; Additional folding
++
++ 33C8; 0064 0062; Additional folding
++
++ 33C9; 0067 0079; Additional folding
++
++ 33CB; 0068 0070; Additional folding
++
++ 33CD; 006B 006B; Additional folding
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 33CE; 006B 006D; Additional folding
++
++ 33D7; 0070 0068; Additional folding
++
++ 33D9; 0070 0070 006D; Additional folding
++
++ 33DA; 0070 0072; Additional folding
++
++ 33DC; 0073 0076; Additional folding
++
++ 33DD; 0077 0062; Additional folding
++
++ FB00; 0066 0066; Case map
++
++ FB01; 0066 0069; Case map
++
++ FB02; 0066 006C; Case map
++
++ FB03; 0066 0066 0069; Case map
++
++ FB04; 0066 0066 006C; Case map
++
++ FB05; 0073 0074; Case map
++
++ FB06; 0073 0074; Case map
++
++ FB13; 0574 0576; Case map
++
++ FB14; 0574 0565; Case map
++
++ FB15; 0574 056B; Case map
++
++ FB16; 057E 0576; Case map
++
++ FB17; 0574 056D; Case map
++
++ FF21; FF41; Case map
++
++ FF22; FF42; Case map
++
++ FF23; FF43; Case map
++
++ FF24; FF44; Case map
++
++ FF25; FF45; Case map
++
++ FF26; FF46; Case map
++
++ FF27; FF47; Case map
++
++ FF28; FF48; Case map
++
++ FF29; FF49; Case map
++
++ FF2A; FF4A; Case map
++
++ FF2B; FF4B; Case map
++
++ FF2C; FF4C; Case map
++
++ FF2D; FF4D; Case map
++
++ FF2E; FF4E; Case map
++
++ FF2F; FF4F; Case map
++
++ FF30; FF50; Case map
++
++ FF31; FF51; Case map
++
++ FF32; FF52; Case map
++
++ FF33; FF53; Case map
++
++ FF34; FF54; Case map
++
++ FF35; FF55; Case map
++
++ FF36; FF56; Case map
++
++ FF37; FF57; Case map
++
++ FF38; FF58; Case map
++
++ FF39; FF59; Case map
++
++ FF3A; FF5A; Case map
++
++ 10400; 10428; Case map
++
++ 10401; 10429; Case map
++
++ 10402; 1042A; Case map
++
++ 10403; 1042B; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 10404; 1042C; Case map
++
++ 10405; 1042D; Case map
++
++ 10406; 1042E; Case map
++
++ 10407; 1042F; Case map
++
++ 10408; 10430; Case map
++
++ 10409; 10431; Case map
++
++ 1040A; 10432; Case map
++
++ 1040B; 10433; Case map
++
++ 1040C; 10434; Case map
++
++ 1040D; 10435; Case map
++
++ 1040E; 10436; Case map
++
++ 1040F; 10437; Case map
++
++ 10410; 10438; Case map
++
++ 10411; 10439; Case map
++
++ 10412; 1043A; Case map
++
++ 10413; 1043B; Case map
++
++ 10414; 1043C; Case map
++
++ 10415; 1043D; Case map
++
++ 10416; 1043E; Case map
++
++ 10417; 1043F; Case map
++
++ 10418; 10440; Case map
++
++ 10419; 10441; Case map
++
++ 1041A; 10442; Case map
++
++ 1041B; 10443; Case map
++
++ 1041C; 10444; Case map
++
++ 1041D; 10445; Case map
++
++ 1041E; 10446; Case map
++
++ 1041F; 10447; Case map
++
++ 10420; 10448; Case map
++
++ 10421; 10449; Case map
++
++ 10422; 1044A; Case map
++
++ 10423; 1044B; Case map
++
++ 10424; 1044C; Case map
++
++ 10425; 1044D; Case map
++
++ 1D400; 0061; Additional folding
++
++ 1D401; 0062; Additional folding
++
++ 1D402; 0063; Additional folding
++
++ 1D403; 0064; Additional folding
++
++ 1D404; 0065; Additional folding
++
++ 1D405; 0066; Additional folding
++
++ 1D406; 0067; Additional folding
++
++ 1D407; 0068; Additional folding
++
++ 1D408; 0069; Additional folding
++
++ 1D409; 006A; Additional folding
++
++ 1D40A; 006B; Additional folding
++
++ 1D40B; 006C; Additional folding
++
++ 1D40C; 006D; Additional folding
++
++ 1D40D; 006E; Additional folding
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1D40E; 006F; Additional folding
++
++ 1D40F; 0070; Additional folding
++
++ 1D410; 0071; Additional folding
++
++ 1D411; 0072; Additional folding
++
++ 1D412; 0073; Additional folding
++
++ 1D413; 0074; Additional folding
++
++ 1D414; 0075; Additional folding
++
++ 1D415; 0076; Additional folding
++
++ 1D416; 0077; Additional folding
++
++ 1D417; 0078; Additional folding
++
++ 1D418; 0079; Additional folding
++
++ 1D419; 007A; Additional folding
++
++ 1D434; 0061; Additional folding
++
++ 1D435; 0062; Additional folding
++
++ 1D436; 0063; Additional folding
++
++ 1D437; 0064; Additional folding
++
++ 1D438; 0065; Additional folding
++
++ 1D439; 0066; Additional folding
++
++ 1D43A; 0067; Additional folding
++
++ 1D43B; 0068; Additional folding
++
++ 1D43C; 0069; Additional folding
++
++ 1D43D; 006A; Additional folding
++
++ 1D43E; 006B; Additional folding
++
++ 1D43F; 006C; Additional folding
++
++ 1D440; 006D; Additional folding
++
++ 1D441; 006E; Additional folding
++
++ 1D442; 006F; Additional folding
++
++ 1D443; 0070; Additional folding
++
++ 1D444; 0071; Additional folding
++
++ 1D445; 0072; Additional folding
++
++ 1D446; 0073; Additional folding
++
++ 1D447; 0074; Additional folding
++
++ 1D448; 0075; Additional folding
++
++ 1D449; 0076; Additional folding
++
++ 1D44A; 0077; Additional folding
++
++ 1D44B; 0078; Additional folding
++
++ 1D44C; 0079; Additional folding
++
++ 1D44D; 007A; Additional folding
++
++ 1D468; 0061; Additional folding
++
++ 1D469; 0062; Additional folding
++
++ 1D46A; 0063; Additional folding
++
++ 1D46B; 0064; Additional folding
++
++ 1D46C; 0065; Additional folding
++
++ 1D46D; 0066; Additional folding
++
++ 1D46E; 0067; Additional folding
++
++ 1D46F; 0068; Additional folding
++
++ 1D470; 0069; Additional folding
++
++ 1D471; 006A; Additional folding
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1D472; 006B; Additional folding
++
++ 1D473; 006C; Additional folding
++
++ 1D474; 006D; Additional folding
++
++ 1D475; 006E; Additional folding
++
++ 1D476; 006F; Additional folding
++
++ 1D477; 0070; Additional folding
++
++ 1D478; 0071; Additional folding
++
++ 1D479; 0072; Additional folding
++
++ 1D47A; 0073; Additional folding
++
++ 1D47B; 0074; Additional folding
++
++ 1D47C; 0075; Additional folding
++
++ 1D47D; 0076; Additional folding
++
++ 1D47E; 0077; Additional folding
++
++ 1D47F; 0078; Additional folding
++
++ 1D480; 0079; Additional folding
++
++ 1D481; 007A; Additional folding
++
++ 1D49C; 0061; Additional folding
++
++ 1D49E; 0063; Additional folding
++
++ 1D49F; 0064; Additional folding
++
++ 1D4A2; 0067; Additional folding
++
++ 1D4A5; 006A; Additional folding
++
++ 1D4A6; 006B; Additional folding
++
++ 1D4A9; 006E; Additional folding
++
++ 1D4AA; 006F; Additional folding
++
++ 1D4AB; 0070; Additional folding
++
++ 1D4AC; 0071; Additional folding
++
++ 1D4AE; 0073; Additional folding
++
++ 1D4AF; 0074; Additional folding
++
++ 1D4B0; 0075; Additional folding
++
++ 1D4B1; 0076; Additional folding
++
++ 1D4B2; 0077; Additional folding
++
++ 1D4B3; 0078; Additional folding
++
++ 1D4B4; 0079; Additional folding
++
++ 1D4B5; 007A; Additional folding
++
++ 1D4D0; 0061; Additional folding
++
++ 1D4D1; 0062; Additional folding
++
++ 1D4D2; 0063; Additional folding
++
++ 1D4D3; 0064; Additional folding
++
++ 1D4D4; 0065; Additional folding
++
++ 1D4D5; 0066; Additional folding
++
++ 1D4D6; 0067; Additional folding
++
++ 1D4D7; 0068; Additional folding
++
++ 1D4D8; 0069; Additional folding
++
++ 1D4D9; 006A; Additional folding
++
++ 1D4DA; 006B; Additional folding
++
++ 1D4DB; 006C; Additional folding
++
++ 1D4DC; 006D; Additional folding
++
++ 1D4DD; 006E; Additional folding
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1D4DE; 006F; Additional folding
++
++ 1D4DF; 0070; Additional folding
++
++ 1D4E0; 0071; Additional folding
++
++ 1D4E1; 0072; Additional folding
++
++ 1D4E2; 0073; Additional folding
++
++ 1D4E3; 0074; Additional folding
++
++ 1D4E4; 0075; Additional folding
++
++ 1D4E5; 0076; Additional folding
++
++ 1D4E6; 0077; Additional folding
++
++ 1D4E7; 0078; Additional folding
++
++ 1D4E8; 0079; Additional folding
++
++ 1D4E9; 007A; Additional folding
++
++ 1D504; 0061; Additional folding
++
++ 1D505; 0062; Additional folding
++
++ 1D507; 0064; Additional folding
++
++ 1D508; 0065; Additional folding
++
++ 1D509; 0066; Additional folding
++
++ 1D50A; 0067; Additional folding
++
++ 1D50D; 006A; Additional folding
++
++ 1D50E; 006B; Additional folding
++
++ 1D50F; 006C; Additional folding
++
++ 1D510; 006D; Additional folding
++
++ 1D511; 006E; Additional folding
++
++ 1D512; 006F; Additional folding
++
++ 1D513; 0070; Additional folding
++
++ 1D514; 0071; Additional folding
++
++ 1D516; 0073; Additional folding
++
++ 1D517; 0074; Additional folding
++
++ 1D518; 0075; Additional folding
++
++ 1D519; 0076; Additional folding
++
++ 1D51A; 0077; Additional folding
++
++ 1D51B; 0078; Additional folding
++
++ 1D51C; 0079; Additional folding
++
++ 1D538; 0061; Additional folding
++
++ 1D539; 0062; Additional folding
++
++ 1D53B; 0064; Additional folding
++
++ 1D53C; 0065; Additional folding
++
++ 1D53D; 0066; Additional folding
++
++ 1D53E; 0067; Additional folding
++
++ 1D540; 0069; Additional folding
++
++ 1D541; 006A; Additional folding
++
++ 1D542; 006B; Additional folding
++
++ 1D543; 006C; Additional folding
++
++ 1D544; 006D; Additional folding
++
++ 1D546; 006F; Additional folding
++
++ 1D54A; 0073; Additional folding
++
++ 1D54B; 0074; Additional folding
++
++ 1D54C; 0075; Additional folding
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1D54D; 0076; Additional folding
++
++ 1D54E; 0077; Additional folding
++
++ 1D54F; 0078; Additional folding
++
++ 1D550; 0079; Additional folding
++
++ 1D56C; 0061; Additional folding
++
++ 1D56D; 0062; Additional folding
++
++ 1D56E; 0063; Additional folding
++
++ 1D56F; 0064; Additional folding
++
++ 1D570; 0065; Additional folding
++
++ 1D571; 0066; Additional folding
++
++ 1D572; 0067; Additional folding
++
++ 1D573; 0068; Additional folding
++
++ 1D574; 0069; Additional folding
++
++ 1D575; 006A; Additional folding
++
++ 1D576; 006B; Additional folding
++
++ 1D577; 006C; Additional folding
++
++ 1D578; 006D; Additional folding
++
++ 1D579; 006E; Additional folding
++
++ 1D57A; 006F; Additional folding
++
++ 1D57B; 0070; Additional folding
++
++ 1D57C; 0071; Additional folding
++
++ 1D57D; 0072; Additional folding
++
++ 1D57E; 0073; Additional folding
++
++ 1D57F; 0074; Additional folding
++
++ 1D580; 0075; Additional folding
++
++ 1D581; 0076; Additional folding
++
++ 1D582; 0077; Additional folding
++
++ 1D583; 0078; Additional folding
++
++ 1D584; 0079; Additional folding
++
++ 1D585; 007A; Additional folding
++
++ 1D5A0; 0061; Additional folding
++
++ 1D5A1; 0062; Additional folding
++
++ 1D5A2; 0063; Additional folding
++
++ 1D5A3; 0064; Additional folding
++
++ 1D5A4; 0065; Additional folding
++
++ 1D5A5; 0066; Additional folding
++
++ 1D5A6; 0067; Additional folding
++
++ 1D5A7; 0068; Additional folding
++
++ 1D5A8; 0069; Additional folding
++
++ 1D5A9; 006A; Additional folding
++
++ 1D5AA; 006B; Additional folding
++
++ 1D5AB; 006C; Additional folding
++
++ 1D5AC; 006D; Additional folding
++
++ 1D5AD; 006E; Additional folding
++
++ 1D5AE; 006F; Additional folding
++
++ 1D5AF; 0070; Additional folding
++
++ 1D5B0; 0071; Additional folding
++
++ 1D5B1; 0072; Additional folding
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1D5B2; 0073; Additional folding
++
++ 1D5B3; 0074; Additional folding
++
++ 1D5B4; 0075; Additional folding
++
++ 1D5B5; 0076; Additional folding
++
++ 1D5B6; 0077; Additional folding
++
++ 1D5B7; 0078; Additional folding
++
++ 1D5B8; 0079; Additional folding
++
++ 1D5B9; 007A; Additional folding
++
++ 1D5D4; 0061; Additional folding
++
++ 1D5D5; 0062; Additional folding
++
++ 1D5D6; 0063; Additional folding
++
++ 1D5D7; 0064; Additional folding
++
++ 1D5D8; 0065; Additional folding
++
++ 1D5D9; 0066; Additional folding
++
++ 1D5DA; 0067; Additional folding
++
++ 1D5DB; 0068; Additional folding
++
++ 1D5DC; 0069; Additional folding
++
++ 1D5DD; 006A; Additional folding
++
++ 1D5DE; 006B; Additional folding
++
++ 1D5DF; 006C; Additional folding
++
++ 1D5E0; 006D; Additional folding
++
++ 1D5E1; 006E; Additional folding
++
++ 1D5E2; 006F; Additional folding
++
++ 1D5E3; 0070; Additional folding
++
++ 1D5E4; 0071; Additional folding
++
++ 1D5E5; 0072; Additional folding
++
++ 1D5E6; 0073; Additional folding
++
++ 1D5E7; 0074; Additional folding
++
++ 1D5E8; 0075; Additional folding
++
++ 1D5E9; 0076; Additional folding
++
++ 1D5EA; 0077; Additional folding
++
++ 1D5EB; 0078; Additional folding
++
++ 1D5EC; 0079; Additional folding
++
++ 1D5ED; 007A; Additional folding
++
++ 1D608; 0061; Additional folding
++
++ 1D609; 0062; Additional folding
++
++ 1D60A; 0063; Additional folding
++
++ 1D60B; 0064; Additional folding
++
++ 1D60C; 0065; Additional folding
++
++ 1D60D; 0066; Additional folding
++
++ 1D60E; 0067; Additional folding
++
++ 1D60F; 0068; Additional folding
++
++ 1D610; 0069; Additional folding
++
++ 1D611; 006A; Additional folding
++
++ 1D612; 006B; Additional folding
++
++ 1D613; 006C; Additional folding
++
++ 1D614; 006D; Additional folding
++
++ 1D615; 006E; Additional folding
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1D616; 006F; Additional folding
++
++ 1D617; 0070; Additional folding
++
++ 1D618; 0071; Additional folding
++
++ 1D619; 0072; Additional folding
++
++ 1D61A; 0073; Additional folding
++
++ 1D61B; 0074; Additional folding
++
++ 1D61C; 0075; Additional folding
++
++ 1D61D; 0076; Additional folding
++
++ 1D61E; 0077; Additional folding
++
++ 1D61F; 0078; Additional folding
++
++ 1D620; 0079; Additional folding
++
++ 1D621; 007A; Additional folding
++
++ 1D63C; 0061; Additional folding
++
++ 1D63D; 0062; Additional folding
++
++ 1D63E; 0063; Additional folding
++
++ 1D63F; 0064; Additional folding
++
++ 1D640; 0065; Additional folding
++
++ 1D641; 0066; Additional folding
++
++ 1D642; 0067; Additional folding
++
++ 1D643; 0068; Additional folding
++
++ 1D644; 0069; Additional folding
++
++ 1D645; 006A; Additional folding
++
++ 1D646; 006B; Additional folding
++
++ 1D647; 006C; Additional folding
++
++ 1D648; 006D; Additional folding
++
++ 1D649; 006E; Additional folding
++
++ 1D64A; 006F; Additional folding
++
++ 1D64B; 0070; Additional folding
++
++ 1D64C; 0071; Additional folding
++
++ 1D64D; 0072; Additional folding
++
++ 1D64E; 0073; Additional folding
++
++ 1D64F; 0074; Additional folding
++
++ 1D650; 0075; Additional folding
++
++ 1D651; 0076; Additional folding
++
++ 1D652; 0077; Additional folding
++
++ 1D653; 0078; Additional folding
++
++ 1D654; 0079; Additional folding
++
++ 1D655; 007A; Additional folding
++
++ 1D670; 0061; Additional folding
++
++ 1D671; 0062; Additional folding
++
++ 1D672; 0063; Additional folding
++
++ 1D673; 0064; Additional folding
++
++ 1D674; 0065; Additional folding
++
++ 1D675; 0066; Additional folding
++
++ 1D676; 0067; Additional folding
++
++ 1D677; 0068; Additional folding
++
++ 1D678; 0069; Additional folding
++
++ 1D679; 006A; Additional folding
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1D67A; 006B; Additional folding
++
++ 1D67B; 006C; Additional folding
++
++ 1D67C; 006D; Additional folding
++
++ 1D67D; 006E; Additional folding
++
++ 1D67E; 006F; Additional folding
++
++ 1D67F; 0070; Additional folding
++
++ 1D680; 0071; Additional folding
++
++ 1D681; 0072; Additional folding
++
++ 1D682; 0073; Additional folding
++
++ 1D683; 0074; Additional folding
++
++ 1D684; 0075; Additional folding
++
++ 1D685; 0076; Additional folding
++
++ 1D686; 0077; Additional folding
++
++ 1D687; 0078; Additional folding
++
++ 1D688; 0079; Additional folding
++
++ 1D689; 007A; Additional folding
++
++ 1D6A8; 03B1; Additional folding
++
++ 1D6A9; 03B2; Additional folding
++
++ 1D6AA; 03B3; Additional folding
++
++ 1D6AB; 03B4; Additional folding
++
++ 1D6AC; 03B5; Additional folding
++
++ 1D6AD; 03B6; Additional folding
++
++ 1D6AE; 03B7; Additional folding
++
++ 1D6AF; 03B8; Additional folding
++
++ 1D6B0; 03B9; Additional folding
++
++ 1D6B1; 03BA; Additional folding
++
++ 1D6B2; 03BB; Additional folding
++
++ 1D6B3; 03BC; Additional folding
++
++ 1D6B4; 03BD; Additional folding
++
++ 1D6B5; 03BE; Additional folding
++
++ 1D6B6; 03BF; Additional folding
++
++ 1D6B7; 03C0; Additional folding
++
++ 1D6B8; 03C1; Additional folding
++
++ 1D6B9; 03B8; Additional folding
++
++ 1D6BA; 03C3; Additional folding
++
++ 1D6BB; 03C4; Additional folding
++
++ 1D6BC; 03C5; Additional folding
++
++ 1D6BD; 03C6; Additional folding
++
++ 1D6BE; 03C7; Additional folding
++
++ 1D6BF; 03C8; Additional folding
++
++ 1D6C0; 03C9; Additional folding
++
++ 1D6D3; 03C3; Additional folding
++
++ 1D6E2; 03B1; Additional folding
++
++ 1D6E3; 03B2; Additional folding
++
++ 1D6E4; 03B3; Additional folding
++
++ 1D6E5; 03B4; Additional folding
++
++ 1D6E6; 03B5; Additional folding
++
++ 1D6E7; 03B6; Additional folding
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1D6E8; 03B7; Additional folding
++
++ 1D6E9; 03B8; Additional folding
++
++ 1D6EA; 03B9; Additional folding
++
++ 1D6EB; 03BA; Additional folding
++
++ 1D6EC; 03BB; Additional folding
++
++ 1D6ED; 03BC; Additional folding
++
++ 1D6EE; 03BD; Additional folding
++
++ 1D6EF; 03BE; Additional folding
++
++ 1D6F0; 03BF; Additional folding
++
++ 1D6F1; 03C0; Additional folding
++
++ 1D6F2; 03C1; Additional folding
++
++ 1D6F3; 03B8; Additional folding
++
++ 1D6F4; 03C3; Additional folding
++
++ 1D6F5; 03C4; Additional folding
++
++ 1D6F6; 03C5; Additional folding
++
++ 1D6F7; 03C6; Additional folding
++
++ 1D6F8; 03C7; Additional folding
++
++ 1D6F9; 03C8; Additional folding
++
++ 1D6FA; 03C9; Additional folding
++
++ 1D70D; 03C3; Additional folding
++
++ 1D71C; 03B1; Additional folding
++
++ 1D71D; 03B2; Additional folding
++
++ 1D71E; 03B3; Additional folding
++
++ 1D71F; 03B4; Additional folding
++
++ 1D720; 03B5; Additional folding
++
++ 1D721; 03B6; Additional folding
++
++ 1D722; 03B7; Additional folding
++
++ 1D723; 03B8; Additional folding
++
++ 1D724; 03B9; Additional folding
++
++ 1D725; 03BA; Additional folding
++
++ 1D726; 03BB; Additional folding
++
++ 1D727; 03BC; Additional folding
++
++ 1D728; 03BD; Additional folding
++
++ 1D729; 03BE; Additional folding
++
++ 1D72A; 03BF; Additional folding
++
++ 1D72B; 03C0; Additional folding
++
++ 1D72C; 03C1; Additional folding
++
++ 1D72D; 03B8; Additional folding
++
++ 1D72E; 03C3; Additional folding
++
++ 1D72F; 03C4; Additional folding
++
++ 1D730; 03C5; Additional folding
++
++ 1D731; 03C6; Additional folding
++
++ 1D732; 03C7; Additional folding
++
++ 1D733; 03C8; Additional folding
++
++ 1D734; 03C9; Additional folding
++
++ 1D747; 03C3; Additional folding
++
++ 1D756; 03B1; Additional folding
++
++ 1D757; 03B2; Additional folding
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1D758; 03B3; Additional folding
++
++ 1D759; 03B4; Additional folding
++
++ 1D75A; 03B5; Additional folding
++
++ 1D75B; 03B6; Additional folding
++
++ 1D75C; 03B7; Additional folding
++
++ 1D75D; 03B8; Additional folding
++
++ 1D75E; 03B9; Additional folding
++
++ 1D75F; 03BA; Additional folding
++
++ 1D760; 03BB; Additional folding
++
++ 1D761; 03BC; Additional folding
++
++ 1D762; 03BD; Additional folding
++
++ 1D763; 03BE; Additional folding
++
++ 1D764; 03BF; Additional folding
++
++ 1D765; 03C0; Additional folding
++
++ 1D766; 03C1; Additional folding
++
++ 1D767; 03B8; Additional folding
++
++ 1D768; 03C3; Additional folding
++
++ 1D769; 03C4; Additional folding
++
++ 1D76A; 03C5; Additional folding
++
++ 1D76B; 03C6; Additional folding
++
++ 1D76C; 03C7; Additional folding
++
++ 1D76D; 03C8; Additional folding
++
++ 1D76E; 03C9; Additional folding
++
++ 1D781; 03C3; Additional folding
++
++ 1D790; 03B1; Additional folding
++
++ 1D791; 03B2; Additional folding
++
++ 1D792; 03B3; Additional folding
++
++ 1D793; 03B4; Additional folding
++
++ 1D794; 03B5; Additional folding
++
++ 1D795; 03B6; Additional folding
++
++ 1D796; 03B7; Additional folding
++
++ 1D797; 03B8; Additional folding
++
++ 1D798; 03B9; Additional folding
++
++ 1D799; 03BA; Additional folding
++
++ 1D79A; 03BB; Additional folding
++
++ 1D79B; 03BC; Additional folding
++
++ 1D79C; 03BD; Additional folding
++
++ 1D79D; 03BE; Additional folding
++
++ 1D79E; 03BF; Additional folding
++
++ 1D79F; 03C0; Additional folding
++
++ 1D7A0; 03C1; Additional folding
++
++ 1D7A1; 03B8; Additional folding
++
++ 1D7A2; 03C3; Additional folding
++
++ 1D7A3; 03C4; Additional folding
++
++ 1D7A4; 03C5; Additional folding
++
++ 1D7A5; 03C6; Additional folding
++
++ 1D7A6; 03C7; Additional folding
++
++ 1D7A7; 03C8; Additional folding
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1D7A8; 03C9; Additional folding
++
++ 1D7BB; 03C3; Additional folding
++
++ ----- End Table B.2 -----
++
++ ----- Start Table B.3 -----
++
++ 0041; 0061; Case map
++
++ 0042; 0062; Case map
++
++ 0043; 0063; Case map
++
++ 0044; 0064; Case map
++
++ 0045; 0065; Case map
++
++ 0046; 0066; Case map
++
++ 0047; 0067; Case map
++
++ 0048; 0068; Case map
++
++ 0049; 0069; Case map
++
++ 004A; 006A; Case map
++
++ 004B; 006B; Case map
++
++ 004C; 006C; Case map
++
++ 004D; 006D; Case map
++
++ 004E; 006E; Case map
++
++ 004F; 006F; Case map
++
++ 0050; 0070; Case map
++
++ 0051; 0071; Case map
++
++ 0052; 0072; Case map
++
++ 0053; 0073; Case map
++
++ 0054; 0074; Case map
++
++ 0055; 0075; Case map
++
++ 0056; 0076; Case map
++
++ 0057; 0077; Case map
++
++ 0058; 0078; Case map
++
++ 0059; 0079; Case map
++
++ 005A; 007A; Case map
++
++ 00B5; 03BC; Case map
++
++ 00C0; 00E0; Case map
++
++ 00C1; 00E1; Case map
++
++ 00C2; 00E2; Case map
++
++ 00C3; 00E3; Case map
++
++ 00C4; 00E4; Case map
++
++ 00C5; 00E5; Case map
++
++ 00C6; 00E6; Case map
++
++ 00C7; 00E7; Case map
++
++ 00C8; 00E8; Case map
++
++ 00C9; 00E9; Case map
++
++ 00CA; 00EA; Case map
++
++ 00CB; 00EB; Case map
++
++ 00CC; 00EC; Case map
++
++ 00CD; 00ED; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 00CE; 00EE; Case map
++
++ 00CF; 00EF; Case map
++
++ 00D0; 00F0; Case map
++
++ 00D1; 00F1; Case map
++
++ 00D2; 00F2; Case map
++
++ 00D3; 00F3; Case map
++
++ 00D4; 00F4; Case map
++
++ 00D5; 00F5; Case map
++
++ 00D6; 00F6; Case map
++
++ 00D8; 00F8; Case map
++
++ 00D9; 00F9; Case map
++
++ 00DA; 00FA; Case map
++
++ 00DB; 00FB; Case map
++
++ 00DC; 00FC; Case map
++
++ 00DD; 00FD; Case map
++
++ 00DE; 00FE; Case map
++
++ 00DF; 0073 0073; Case map
++
++ 0100; 0101; Case map
++
++ 0102; 0103; Case map
++
++ 0104; 0105; Case map
++
++ 0106; 0107; Case map
++
++ 0108; 0109; Case map
++
++ 010A; 010B; Case map
++
++ 010C; 010D; Case map
++
++ 010E; 010F; Case map
++
++ 0110; 0111; Case map
++
++ 0112; 0113; Case map
++
++ 0114; 0115; Case map
++
++ 0116; 0117; Case map
++
++ 0118; 0119; Case map
++
++ 011A; 011B; Case map
++
++ 011C; 011D; Case map
++
++ 011E; 011F; Case map
++
++ 0120; 0121; Case map
++
++ 0122; 0123; Case map
++
++ 0124; 0125; Case map
++
++ 0126; 0127; Case map
++
++ 0128; 0129; Case map
++
++ 012A; 012B; Case map
++
++ 012C; 012D; Case map
++
++ 012E; 012F; Case map
++
++ 0130; 0069 0307; Case map
++
++ 0132; 0133; Case map
++
++ 0134; 0135; Case map
++
++ 0136; 0137; Case map
++
++ 0139; 013A; Case map
++
++ 013B; 013C; Case map
++
++ 013D; 013E; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 013F; 0140; Case map
++
++ 0141; 0142; Case map
++
++ 0143; 0144; Case map
++
++ 0145; 0146; Case map
++
++ 0147; 0148; Case map
++
++ 0149; 02BC 006E; Case map
++
++ 014A; 014B; Case map
++
++ 014C; 014D; Case map
++
++ 014E; 014F; Case map
++
++ 0150; 0151; Case map
++
++ 0152; 0153; Case map
++
++ 0154; 0155; Case map
++
++ 0156; 0157; Case map
++
++ 0158; 0159; Case map
++
++ 015A; 015B; Case map
++
++ 015C; 015D; Case map
++
++ 015E; 015F; Case map
++
++ 0160; 0161; Case map
++
++ 0162; 0163; Case map
++
++ 0164; 0165; Case map
++
++ 0166; 0167; Case map
++
++ 0168; 0169; Case map
++
++ 016A; 016B; Case map
++
++ 016C; 016D; Case map
++
++ 016E; 016F; Case map
++
++ 0170; 0171; Case map
++
++ 0172; 0173; Case map
++
++ 0174; 0175; Case map
++
++ 0176; 0177; Case map
++
++ 0178; 00FF; Case map
++
++ 0179; 017A; Case map
++
++ 017B; 017C; Case map
++
++ 017D; 017E; Case map
++
++ 017F; 0073; Case map
++
++ 0181; 0253; Case map
++
++ 0182; 0183; Case map
++
++ 0184; 0185; Case map
++
++ 0186; 0254; Case map
++
++ 0187; 0188; Case map
++
++ 0189; 0256; Case map
++
++ 018A; 0257; Case map
++
++ 018B; 018C; Case map
++
++ 018E; 01DD; Case map
++
++ 018F; 0259; Case map
++
++ 0190; 025B; Case map
++
++ 0191; 0192; Case map
++
++ 0193; 0260; Case map
++
++ 0194; 0263; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 0196; 0269; Case map
++
++ 0197; 0268; Case map
++
++ 0198; 0199; Case map
++
++ 019C; 026F; Case map
++
++ 019D; 0272; Case map
++
++ 019F; 0275; Case map
++
++ 01A0; 01A1; Case map
++
++ 01A2; 01A3; Case map
++
++ 01A4; 01A5; Case map
++
++ 01A6; 0280; Case map
++
++ 01A7; 01A8; Case map
++
++ 01A9; 0283; Case map
++
++ 01AC; 01AD; Case map
++
++ 01AE; 0288; Case map
++
++ 01AF; 01B0; Case map
++
++ 01B1; 028A; Case map
++
++ 01B2; 028B; Case map
++
++ 01B3; 01B4; Case map
++
++ 01B5; 01B6; Case map
++
++ 01B7; 0292; Case map
++
++ 01B8; 01B9; Case map
++
++ 01BC; 01BD; Case map
++
++ 01C4; 01C6; Case map
++
++ 01C5; 01C6; Case map
++
++ 01C7; 01C9; Case map
++
++ 01C8; 01C9; Case map
++
++ 01CA; 01CC; Case map
++
++ 01CB; 01CC; Case map
++
++ 01CD; 01CE; Case map
++
++ 01CF; 01D0; Case map
++
++ 01D1; 01D2; Case map
++
++ 01D3; 01D4; Case map
++
++ 01D5; 01D6; Case map
++
++ 01D7; 01D8; Case map
++
++ 01D9; 01DA; Case map
++
++ 01DB; 01DC; Case map
++
++ 01DE; 01DF; Case map
++
++ 01E0; 01E1; Case map
++
++ 01E2; 01E3; Case map
++
++ 01E4; 01E5; Case map
++
++ 01E6; 01E7; Case map
++
++ 01E8; 01E9; Case map
++
++ 01EA; 01EB; Case map
++
++ 01EC; 01ED; Case map
++
++ 01EE; 01EF; Case map
++
++ 01F0; 006A 030C; Case map
++
++ 01F1; 01F3; Case map
++
++ 01F2; 01F3; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 01F4; 01F5; Case map
++
++ 01F6; 0195; Case map
++
++ 01F7; 01BF; Case map
++
++ 01F8; 01F9; Case map
++
++ 01FA; 01FB; Case map
++
++ 01FC; 01FD; Case map
++
++ 01FE; 01FF; Case map
++
++ 0200; 0201; Case map
++
++ 0202; 0203; Case map
++
++ 0204; 0205; Case map
++
++ 0206; 0207; Case map
++
++ 0208; 0209; Case map
++
++ 020A; 020B; Case map
++
++ 020C; 020D; Case map
++
++ 020E; 020F; Case map
++
++ 0210; 0211; Case map
++
++ 0212; 0213; Case map
++
++ 0214; 0215; Case map
++
++ 0216; 0217; Case map
++
++ 0218; 0219; Case map
++
++ 021A; 021B; Case map
++
++ 021C; 021D; Case map
++
++ 021E; 021F; Case map
++
++ 0220; 019E; Case map
++
++ 0222; 0223; Case map
++
++ 0224; 0225; Case map
++
++ 0226; 0227; Case map
++
++ 0228; 0229; Case map
++
++ 022A; 022B; Case map
++
++ 022C; 022D; Case map
++
++ 022E; 022F; Case map
++
++ 0230; 0231; Case map
++
++ 0232; 0233; Case map
++
++ 0345; 03B9; Case map
++
++ 0386; 03AC; Case map
++
++ 0388; 03AD; Case map
++
++ 0389; 03AE; Case map
++
++ 038A; 03AF; Case map
++
++ 038C; 03CC; Case map
++
++ 038E; 03CD; Case map
++
++ 038F; 03CE; Case map
++
++ 0390; 03B9 0308 0301; Case map
++
++ 0391; 03B1; Case map
++
++ 0392; 03B2; Case map
++
++ 0393; 03B3; Case map
++
++ 0394; 03B4; Case map
++
++ 0395; 03B5; Case map
++
++ 0396; 03B6; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 0397; 03B7; Case map
++
++ 0398; 03B8; Case map
++
++ 0399; 03B9; Case map
++
++ 039A; 03BA; Case map
++
++ 039B; 03BB; Case map
++
++ 039C; 03BC; Case map
++
++ 039D; 03BD; Case map
++
++ 039E; 03BE; Case map
++
++ 039F; 03BF; Case map
++
++ 03A0; 03C0; Case map
++
++ 03A1; 03C1; Case map
++
++ 03A3; 03C3; Case map
++
++ 03A4; 03C4; Case map
++
++ 03A5; 03C5; Case map
++
++ 03A6; 03C6; Case map
++
++ 03A7; 03C7; Case map
++
++ 03A8; 03C8; Case map
++
++ 03A9; 03C9; Case map
++
++ 03AA; 03CA; Case map
++
++ 03AB; 03CB; Case map
++
++ 03B0; 03C5 0308 0301; Case map
++
++ 03C2; 03C3; Case map
++
++ 03D0; 03B2; Case map
++
++ 03D1; 03B8; Case map
++
++ 03D5; 03C6; Case map
++
++ 03D6; 03C0; Case map
++
++ 03D8; 03D9; Case map
++
++ 03DA; 03DB; Case map
++
++ 03DC; 03DD; Case map
++
++ 03DE; 03DF; Case map
++
++ 03E0; 03E1; Case map
++
++ 03E2; 03E3; Case map
++
++ 03E4; 03E5; Case map
++
++ 03E6; 03E7; Case map
++
++ 03E8; 03E9; Case map
++
++ 03EA; 03EB; Case map
++
++ 03EC; 03ED; Case map
++
++ 03EE; 03EF; Case map
++
++ 03F0; 03BA; Case map
++
++ 03F1; 03C1; Case map
++
++ 03F2; 03C3; Case map
++
++ 03F4; 03B8; Case map
++
++ 03F5; 03B5; Case map
++
++ 0400; 0450; Case map
++
++ 0401; 0451; Case map
++
++ 0402; 0452; Case map
++
++ 0403; 0453; Case map
++
++ 0404; 0454; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 0405; 0455; Case map
++
++ 0406; 0456; Case map
++
++ 0407; 0457; Case map
++
++ 0408; 0458; Case map
++
++ 0409; 0459; Case map
++
++ 040A; 045A; Case map
++
++ 040B; 045B; Case map
++
++ 040C; 045C; Case map
++
++ 040D; 045D; Case map
++
++ 040E; 045E; Case map
++
++ 040F; 045F; Case map
++
++ 0410; 0430; Case map
++
++ 0411; 0431; Case map
++
++ 0412; 0432; Case map
++
++ 0413; 0433; Case map
++
++ 0414; 0434; Case map
++
++ 0415; 0435; Case map
++
++ 0416; 0436; Case map
++
++ 0417; 0437; Case map
++
++ 0418; 0438; Case map
++
++ 0419; 0439; Case map
++
++ 041A; 043A; Case map
++
++ 041B; 043B; Case map
++
++ 041C; 043C; Case map
++
++ 041D; 043D; Case map
++
++ 041E; 043E; Case map
++
++ 041F; 043F; Case map
++
++ 0420; 0440; Case map
++
++ 0421; 0441; Case map
++
++ 0422; 0442; Case map
++
++ 0423; 0443; Case map
++
++ 0424; 0444; Case map
++
++ 0425; 0445; Case map
++
++ 0426; 0446; Case map
++
++ 0427; 0447; Case map
++
++ 0428; 0448; Case map
++
++ 0429; 0449; Case map
++
++ 042A; 044A; Case map
++
++ 042B; 044B; Case map
++
++ 042C; 044C; Case map
++
++ 042D; 044D; Case map
++
++ 042E; 044E; Case map
++
++ 042F; 044F; Case map
++
++ 0460; 0461; Case map
++
++ 0462; 0463; Case map
++
++ 0464; 0465; Case map
++
++ 0466; 0467; Case map
++
++ 0468; 0469; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 046A; 046B; Case map
++
++ 046C; 046D; Case map
++
++ 046E; 046F; Case map
++
++ 0470; 0471; Case map
++
++ 0472; 0473; Case map
++
++ 0474; 0475; Case map
++
++ 0476; 0477; Case map
++
++ 0478; 0479; Case map
++
++ 047A; 047B; Case map
++
++ 047C; 047D; Case map
++
++ 047E; 047F; Case map
++
++ 0480; 0481; Case map
++
++ 048A; 048B; Case map
++
++ 048C; 048D; Case map
++
++ 048E; 048F; Case map
++
++ 0490; 0491; Case map
++
++ 0492; 0493; Case map
++
++ 0494; 0495; Case map
++
++ 0496; 0497; Case map
++
++ 0498; 0499; Case map
++
++ 049A; 049B; Case map
++
++ 049C; 049D; Case map
++
++ 049E; 049F; Case map
++
++ 04A0; 04A1; Case map
++
++ 04A2; 04A3; Case map
++
++ 04A4; 04A5; Case map
++
++ 04A6; 04A7; Case map
++
++ 04A8; 04A9; Case map
++
++ 04AA; 04AB; Case map
++
++ 04AC; 04AD; Case map
++
++ 04AE; 04AF; Case map
++
++ 04B0; 04B1; Case map
++
++ 04B2; 04B3; Case map
++
++ 04B4; 04B5; Case map
++
++ 04B6; 04B7; Case map
++
++ 04B8; 04B9; Case map
++
++ 04BA; 04BB; Case map
++
++ 04BC; 04BD; Case map
++
++ 04BE; 04BF; Case map
++
++ 04C1; 04C2; Case map
++
++ 04C3; 04C4; Case map
++
++ 04C5; 04C6; Case map
++
++ 04C7; 04C8; Case map
++
++ 04C9; 04CA; Case map
++
++ 04CB; 04CC; Case map
++
++ 04CD; 04CE; Case map
++
++ 04D0; 04D1; Case map
++
++ 04D2; 04D3; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 04D4; 04D5; Case map
++
++ 04D6; 04D7; Case map
++
++ 04D8; 04D9; Case map
++
++ 04DA; 04DB; Case map
++
++ 04DC; 04DD; Case map
++
++ 04DE; 04DF; Case map
++
++ 04E0; 04E1; Case map
++
++ 04E2; 04E3; Case map
++
++ 04E4; 04E5; Case map
++
++ 04E6; 04E7; Case map
++
++ 04E8; 04E9; Case map
++
++ 04EA; 04EB; Case map
++
++ 04EC; 04ED; Case map
++
++ 04EE; 04EF; Case map
++
++ 04F0; 04F1; Case map
++
++ 04F2; 04F3; Case map
++
++ 04F4; 04F5; Case map
++
++ 04F8; 04F9; Case map
++
++ 0500; 0501; Case map
++
++ 0502; 0503; Case map
++
++ 0504; 0505; Case map
++
++ 0506; 0507; Case map
++
++ 0508; 0509; Case map
++
++ 050A; 050B; Case map
++
++ 050C; 050D; Case map
++
++ 050E; 050F; Case map
++
++ 0531; 0561; Case map
++
++ 0532; 0562; Case map
++
++ 0533; 0563; Case map
++
++ 0534; 0564; Case map
++
++ 0535; 0565; Case map
++
++ 0536; 0566; Case map
++
++ 0537; 0567; Case map
++
++ 0538; 0568; Case map
++
++ 0539; 0569; Case map
++
++ 053A; 056A; Case map
++
++ 053B; 056B; Case map
++
++ 053C; 056C; Case map
++
++ 053D; 056D; Case map
++
++ 053E; 056E; Case map
++
++ 053F; 056F; Case map
++
++ 0540; 0570; Case map
++
++ 0541; 0571; Case map
++
++ 0542; 0572; Case map
++
++ 0543; 0573; Case map
++
++ 0544; 0574; Case map
++
++ 0545; 0575; Case map
++
++ 0546; 0576; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 0547; 0577; Case map
++
++ 0548; 0578; Case map
++
++ 0549; 0579; Case map
++
++ 054A; 057A; Case map
++
++ 054B; 057B; Case map
++
++ 054C; 057C; Case map
++
++ 054D; 057D; Case map
++
++ 054E; 057E; Case map
++
++ 054F; 057F; Case map
++
++ 0550; 0580; Case map
++
++ 0551; 0581; Case map
++
++ 0552; 0582; Case map
++
++ 0553; 0583; Case map
++
++ 0554; 0584; Case map
++
++ 0555; 0585; Case map
++
++ 0556; 0586; Case map
++
++ 0587; 0565 0582; Case map
++
++ 1E00; 1E01; Case map
++
++ 1E02; 1E03; Case map
++
++ 1E04; 1E05; Case map
++
++ 1E06; 1E07; Case map
++
++ 1E08; 1E09; Case map
++
++ 1E0A; 1E0B; Case map
++
++ 1E0C; 1E0D; Case map
++
++ 1E0E; 1E0F; Case map
++
++ 1E10; 1E11; Case map
++
++ 1E12; 1E13; Case map
++
++ 1E14; 1E15; Case map
++
++ 1E16; 1E17; Case map
++
++ 1E18; 1E19; Case map
++
++ 1E1A; 1E1B; Case map
++
++ 1E1C; 1E1D; Case map
++
++ 1E1E; 1E1F; Case map
++
++ 1E20; 1E21; Case map
++
++ 1E22; 1E23; Case map
++
++ 1E24; 1E25; Case map
++
++ 1E26; 1E27; Case map
++
++ 1E28; 1E29; Case map
++
++ 1E2A; 1E2B; Case map
++
++ 1E2C; 1E2D; Case map
++
++ 1E2E; 1E2F; Case map
++
++ 1E30; 1E31; Case map
++
++ 1E32; 1E33; Case map
++
++ 1E34; 1E35; Case map
++
++ 1E36; 1E37; Case map
++
++ 1E38; 1E39; Case map
++
++ 1E3A; 1E3B; Case map
++
++ 1E3C; 1E3D; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1E3E; 1E3F; Case map
++
++ 1E40; 1E41; Case map
++
++ 1E42; 1E43; Case map
++
++ 1E44; 1E45; Case map
++
++ 1E46; 1E47; Case map
++
++ 1E48; 1E49; Case map
++
++ 1E4A; 1E4B; Case map
++
++ 1E4C; 1E4D; Case map
++
++ 1E4E; 1E4F; Case map
++
++ 1E50; 1E51; Case map
++
++ 1E52; 1E53; Case map
++
++ 1E54; 1E55; Case map
++
++ 1E56; 1E57; Case map
++
++ 1E58; 1E59; Case map
++
++ 1E5A; 1E5B; Case map
++
++ 1E5C; 1E5D; Case map
++
++ 1E5E; 1E5F; Case map
++
++ 1E60; 1E61; Case map
++
++ 1E62; 1E63; Case map
++
++ 1E64; 1E65; Case map
++
++ 1E66; 1E67; Case map
++
++ 1E68; 1E69; Case map
++
++ 1E6A; 1E6B; Case map
++
++ 1E6C; 1E6D; Case map
++
++ 1E6E; 1E6F; Case map
++
++ 1E70; 1E71; Case map
++
++ 1E72; 1E73; Case map
++
++ 1E74; 1E75; Case map
++
++ 1E76; 1E77; Case map
++
++ 1E78; 1E79; Case map
++
++ 1E7A; 1E7B; Case map
++
++ 1E7C; 1E7D; Case map
++
++ 1E7E; 1E7F; Case map
++
++ 1E80; 1E81; Case map
++
++ 1E82; 1E83; Case map
++
++ 1E84; 1E85; Case map
++
++ 1E86; 1E87; Case map
++
++ 1E88; 1E89; Case map
++
++ 1E8A; 1E8B; Case map
++
++ 1E8C; 1E8D; Case map
++
++ 1E8E; 1E8F; Case map
++
++ 1E90; 1E91; Case map
++
++ 1E92; 1E93; Case map
++
++ 1E94; 1E95; Case map
++
++ 1E96; 0068 0331; Case map
++
++ 1E97; 0074 0308; Case map
++
++ 1E98; 0077 030A; Case map
++
++ 1E99; 0079 030A; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1E9A; 0061 02BE; Case map
++
++ 1E9B; 1E61; Case map
++
++ 1EA0; 1EA1; Case map
++
++ 1EA2; 1EA3; Case map
++
++ 1EA4; 1EA5; Case map
++
++ 1EA6; 1EA7; Case map
++
++ 1EA8; 1EA9; Case map
++
++ 1EAA; 1EAB; Case map
++
++ 1EAC; 1EAD; Case map
++
++ 1EAE; 1EAF; Case map
++
++ 1EB0; 1EB1; Case map
++
++ 1EB2; 1EB3; Case map
++
++ 1EB4; 1EB5; Case map
++
++ 1EB6; 1EB7; Case map
++
++ 1EB8; 1EB9; Case map
++
++ 1EBA; 1EBB; Case map
++
++ 1EBC; 1EBD; Case map
++
++ 1EBE; 1EBF; Case map
++
++ 1EC0; 1EC1; Case map
++
++ 1EC2; 1EC3; Case map
++
++ 1EC4; 1EC5; Case map
++
++ 1EC6; 1EC7; Case map
++
++ 1EC8; 1EC9; Case map
++
++ 1ECA; 1ECB; Case map
++
++ 1ECC; 1ECD; Case map
++
++ 1ECE; 1ECF; Case map
++
++ 1ED0; 1ED1; Case map
++
++ 1ED2; 1ED3; Case map
++
++ 1ED4; 1ED5; Case map
++
++ 1ED6; 1ED7; Case map
++
++ 1ED8; 1ED9; Case map
++
++ 1EDA; 1EDB; Case map
++
++ 1EDC; 1EDD; Case map
++
++ 1EDE; 1EDF; Case map
++
++ 1EE0; 1EE1; Case map
++
++ 1EE2; 1EE3; Case map
++
++ 1EE4; 1EE5; Case map
++
++ 1EE6; 1EE7; Case map
++
++ 1EE8; 1EE9; Case map
++
++ 1EEA; 1EEB; Case map
++
++ 1EEC; 1EED; Case map
++
++ 1EEE; 1EEF; Case map
++
++ 1EF0; 1EF1; Case map
++
++ 1EF2; 1EF3; Case map
++
++ 1EF4; 1EF5; Case map
++
++ 1EF6; 1EF7; Case map
++
++ 1EF8; 1EF9; Case map
++
++ 1F08; 1F00; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1F09; 1F01; Case map
++
++ 1F0A; 1F02; Case map
++
++ 1F0B; 1F03; Case map
++
++ 1F0C; 1F04; Case map
++
++ 1F0D; 1F05; Case map
++
++ 1F0E; 1F06; Case map
++
++ 1F0F; 1F07; Case map
++
++ 1F18; 1F10; Case map
++
++ 1F19; 1F11; Case map
++
++ 1F1A; 1F12; Case map
++
++ 1F1B; 1F13; Case map
++
++ 1F1C; 1F14; Case map
++
++ 1F1D; 1F15; Case map
++
++ 1F28; 1F20; Case map
++
++ 1F29; 1F21; Case map
++
++ 1F2A; 1F22; Case map
++
++ 1F2B; 1F23; Case map
++
++ 1F2C; 1F24; Case map
++
++ 1F2D; 1F25; Case map
++
++ 1F2E; 1F26; Case map
++
++ 1F2F; 1F27; Case map
++
++ 1F38; 1F30; Case map
++
++ 1F39; 1F31; Case map
++
++ 1F3A; 1F32; Case map
++
++ 1F3B; 1F33; Case map
++
++ 1F3C; 1F34; Case map
++
++ 1F3D; 1F35; Case map
++
++ 1F3E; 1F36; Case map
++
++ 1F3F; 1F37; Case map
++
++ 1F48; 1F40; Case map
++
++ 1F49; 1F41; Case map
++
++ 1F4A; 1F42; Case map
++
++ 1F4B; 1F43; Case map
++
++ 1F4C; 1F44; Case map
++
++ 1F4D; 1F45; Case map
++
++ 1F50; 03C5 0313; Case map
++
++ 1F52; 03C5 0313 0300; Case map
++
++ 1F54; 03C5 0313 0301; Case map
++
++ 1F56; 03C5 0313 0342; Case map
++
++ 1F59; 1F51; Case map
++
++ 1F5B; 1F53; Case map
++
++ 1F5D; 1F55; Case map
++
++ 1F5F; 1F57; Case map
++
++ 1F68; 1F60; Case map
++
++ 1F69; 1F61; Case map
++
++ 1F6A; 1F62; Case map
++
++ 1F6B; 1F63; Case map
++
++ 1F6C; 1F64; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1F6D; 1F65; Case map
++
++ 1F6E; 1F66; Case map
++
++ 1F6F; 1F67; Case map
++
++ 1F80; 1F00 03B9; Case map
++
++ 1F81; 1F01 03B9; Case map
++
++ 1F82; 1F02 03B9; Case map
++
++ 1F83; 1F03 03B9; Case map
++
++ 1F84; 1F04 03B9; Case map
++
++ 1F85; 1F05 03B9; Case map
++
++ 1F86; 1F06 03B9; Case map
++
++ 1F87; 1F07 03B9; Case map
++
++ 1F88; 1F00 03B9; Case map
++
++ 1F89; 1F01 03B9; Case map
++
++ 1F8A; 1F02 03B9; Case map
++
++ 1F8B; 1F03 03B9; Case map
++
++ 1F8C; 1F04 03B9; Case map
++
++ 1F8D; 1F05 03B9; Case map
++
++ 1F8E; 1F06 03B9; Case map
++
++ 1F8F; 1F07 03B9; Case map
++
++ 1F90; 1F20 03B9; Case map
++
++ 1F91; 1F21 03B9; Case map
++
++ 1F92; 1F22 03B9; Case map
++
++ 1F93; 1F23 03B9; Case map
++
++ 1F94; 1F24 03B9; Case map
++
++ 1F95; 1F25 03B9; Case map
++
++ 1F96; 1F26 03B9; Case map
++
++ 1F97; 1F27 03B9; Case map
++
++ 1F98; 1F20 03B9; Case map
++
++ 1F99; 1F21 03B9; Case map
++
++ 1F9A; 1F22 03B9; Case map
++
++ 1F9B; 1F23 03B9; Case map
++
++ 1F9C; 1F24 03B9; Case map
++
++ 1F9D; 1F25 03B9; Case map
++
++ 1F9E; 1F26 03B9; Case map
++
++ 1F9F; 1F27 03B9; Case map
++
++ 1FA0; 1F60 03B9; Case map
++
++ 1FA1; 1F61 03B9; Case map
++
++ 1FA2; 1F62 03B9; Case map
++
++ 1FA3; 1F63 03B9; Case map
++
++ 1FA4; 1F64 03B9; Case map
++
++ 1FA5; 1F65 03B9; Case map
++
++ 1FA6; 1F66 03B9; Case map
++
++ 1FA7; 1F67 03B9; Case map
++
++ 1FA8; 1F60 03B9; Case map
++
++ 1FA9; 1F61 03B9; Case map
++
++ 1FAA; 1F62 03B9; Case map
++
++ 1FAB; 1F63 03B9; Case map
++
++ 1FAC; 1F64 03B9; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1FAD; 1F65 03B9; Case map
++
++ 1FAE; 1F66 03B9; Case map
++
++ 1FAF; 1F67 03B9; Case map
++
++ 1FB2; 1F70 03B9; Case map
++
++ 1FB3; 03B1 03B9; Case map
++
++ 1FB4; 03AC 03B9; Case map
++
++ 1FB6; 03B1 0342; Case map
++
++ 1FB7; 03B1 0342 03B9; Case map
++
++ 1FB8; 1FB0; Case map
++
++ 1FB9; 1FB1; Case map
++
++ 1FBA; 1F70; Case map
++
++ 1FBB; 1F71; Case map
++
++ 1FBC; 03B1 03B9; Case map
++
++ 1FBE; 03B9; Case map
++
++ 1FC2; 1F74 03B9; Case map
++
++ 1FC3; 03B7 03B9; Case map
++
++ 1FC4; 03AE 03B9; Case map
++
++ 1FC6; 03B7 0342; Case map
++
++ 1FC7; 03B7 0342 03B9; Case map
++
++ 1FC8; 1F72; Case map
++
++ 1FC9; 1F73; Case map
++
++ 1FCA; 1F74; Case map
++
++ 1FCB; 1F75; Case map
++
++ 1FCC; 03B7 03B9; Case map
++
++ 1FD2; 03B9 0308 0300; Case map
++
++ 1FD3; 03B9 0308 0301; Case map
++
++ 1FD6; 03B9 0342; Case map
++
++ 1FD7; 03B9 0308 0342; Case map
++
++ 1FD8; 1FD0; Case map
++
++ 1FD9; 1FD1; Case map
++
++ 1FDA; 1F76; Case map
++
++ 1FDB; 1F77; Case map
++
++ 1FE2; 03C5 0308 0300; Case map
++
++ 1FE3; 03C5 0308 0301; Case map
++
++ 1FE4; 03C1 0313; Case map
++
++ 1FE6; 03C5 0342; Case map
++
++ 1FE7; 03C5 0308 0342; Case map
++
++ 1FE8; 1FE0; Case map
++
++ 1FE9; 1FE1; Case map
++
++ 1FEA; 1F7A; Case map
++
++ 1FEB; 1F7B; Case map
++
++ 1FEC; 1FE5; Case map
++
++ 1FF2; 1F7C 03B9; Case map
++
++ 1FF3; 03C9 03B9; Case map
++
++ 1FF4; 03CE 03B9; Case map
++
++ 1FF6; 03C9 0342; Case map
++
++ 1FF7; 03C9 0342 03B9; Case map
++
++ 1FF8; 1F78; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1FF9; 1F79; Case map
++
++ 1FFA; 1F7C; Case map
++
++ 1FFB; 1F7D; Case map
++
++ 1FFC; 03C9 03B9; Case map
++
++ 2126; 03C9; Case map
++
++ 212A; 006B; Case map
++
++ 212B; 00E5; Case map
++
++ 2160; 2170; Case map
++
++ 2161; 2171; Case map
++
++ 2162; 2172; Case map
++
++ 2163; 2173; Case map
++
++ 2164; 2174; Case map
++
++ 2165; 2175; Case map
++
++ 2166; 2176; Case map
++
++ 2167; 2177; Case map
++
++ 2168; 2178; Case map
++
++ 2169; 2179; Case map
++
++ 216A; 217A; Case map
++
++ 216B; 217B; Case map
++
++ 216C; 217C; Case map
++
++ 216D; 217D; Case map
++
++ 216E; 217E; Case map
++
++ 216F; 217F; Case map
++
++ 24B6; 24D0; Case map
++
++ 24B7; 24D1; Case map
++
++ 24B8; 24D2; Case map
++
++ 24B9; 24D3; Case map
++
++ 24BA; 24D4; Case map
++
++ 24BB; 24D5; Case map
++
++ 24BC; 24D6; Case map
++
++ 24BD; 24D7; Case map
++
++ 24BE; 24D8; Case map
++
++ 24BF; 24D9; Case map
++
++ 24C0; 24DA; Case map
++
++ 24C1; 24DB; Case map
++
++ 24C2; 24DC; Case map
++
++ 24C3; 24DD; Case map
++
++ 24C4; 24DE; Case map
++
++ 24C5; 24DF; Case map
++
++ 24C6; 24E0; Case map
++
++ 24C7; 24E1; Case map
++
++ 24C8; 24E2; Case map
++
++ 24C9; 24E3; Case map
++
++ 24CA; 24E4; Case map
++
++ 24CB; 24E5; Case map
++
++ 24CC; 24E6; Case map
++
++ 24CD; 24E7; Case map
++
++ 24CE; 24E8; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 24CF; 24E9; Case map
++
++ FB00; 0066 0066; Case map
++
++ FB01; 0066 0069; Case map
++
++ FB02; 0066 006C; Case map
++
++ FB03; 0066 0066 0069; Case map
++
++ FB04; 0066 0066 006C; Case map
++
++ FB05; 0073 0074; Case map
++
++ FB06; 0073 0074; Case map
++
++ FB13; 0574 0576; Case map
++
++ FB14; 0574 0565; Case map
++
++ FB15; 0574 056B; Case map
++
++ FB16; 057E 0576; Case map
++
++ FB17; 0574 056D; Case map
++
++ FF21; FF41; Case map
++
++ FF22; FF42; Case map
++
++ FF23; FF43; Case map
++
++ FF24; FF44; Case map
++
++ FF25; FF45; Case map
++
++ FF26; FF46; Case map
++
++ FF27; FF47; Case map
++
++ FF28; FF48; Case map
++
++ FF29; FF49; Case map
++
++ FF2A; FF4A; Case map
++
++ FF2B; FF4B; Case map
++
++ FF2C; FF4C; Case map
++
++ FF2D; FF4D; Case map
++
++ FF2E; FF4E; Case map
++
++ FF2F; FF4F; Case map
++
++ FF30; FF50; Case map
++
++ FF31; FF51; Case map
++
++ FF32; FF52; Case map
++
++ FF33; FF53; Case map
++
++ FF34; FF54; Case map
++
++ FF35; FF55; Case map
++
++ FF36; FF56; Case map
++
++ FF37; FF57; Case map
++
++ FF38; FF58; Case map
++
++ FF39; FF59; Case map
++
++ FF3A; FF5A; Case map
++
++ 10400; 10428; Case map
++
++ 10401; 10429; Case map
++
++ 10402; 1042A; Case map
++
++ 10403; 1042B; Case map
++
++ 10404; 1042C; Case map
++
++ 10405; 1042D; Case map
++
++ 10406; 1042E; Case map
++
++ 10407; 1042F; Case map
++
++ 10408; 10430; Case map
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 10409; 10431; Case map
++
++ 1040A; 10432; Case map
++
++ 1040B; 10433; Case map
++
++ 1040C; 10434; Case map
++
++ 1040D; 10435; Case map
++
++ 1040E; 10436; Case map
++
++ 1040F; 10437; Case map
++
++ 10410; 10438; Case map
++
++ 10411; 10439; Case map
++
++ 10412; 1043A; Case map
++
++ 10413; 1043B; Case map
++
++ 10414; 1043C; Case map
++
++ 10415; 1043D; Case map
++
++ 10416; 1043E; Case map
++
++ 10417; 1043F; Case map
++
++ 10418; 10440; Case map
++
++ 10419; 10441; Case map
++
++ 1041A; 10442; Case map
++
++ 1041B; 10443; Case map
++
++ 1041C; 10444; Case map
++
++ 1041D; 10445; Case map
++
++ 1041E; 10446; Case map
++
++ 1041F; 10447; Case map
++
++ 10420; 10448; Case map
++
++ 10421; 10449; Case map
++
++ 10422; 1044A; Case map
++
++ 10423; 1044B; Case map
++
++ 10424; 1044C; Case map
++
++ 10425; 1044D; Case map
++
++ ----- End Table B.3 -----
++
++ ----- Start Table C.1.1 -----
++
++ 0020; SPACE
++
++ ----- End Table C.1.1 -----
++
++ ----- Start Table C.1.2 -----
++
++ 00A0; NO-BREAK SPACE
++
++ 1680; OGHAM SPACE MARK
++
++ 2000; EN QUAD
++
++ 2001; EM QUAD
++
++ 2002; EN SPACE
++
++ 2003; EM SPACE
++
++ 2004; THREE-PER-EM SPACE
++
++ 2005; FOUR-PER-EM SPACE
++
++ 2006; SIX-PER-EM SPACE
++
++ 2007; FIGURE SPACE
++
++ 2008; PUNCTUATION SPACE
++
++ 2009; THIN SPACE
++
++ 200A; HAIR SPACE
++
++ 200B; ZERO WIDTH SPACE
++
++ 202F; NARROW NO-BREAK SPACE
++
++ 205F; MEDIUM MATHEMATICAL SPACE
++
++ 3000; IDEOGRAPHIC SPACE
++
++ ----- End Table C.1.2 -----
++
++ ----- Start Table C.2.1 -----
++
++ 0000-001F; [CONTROL CHARACTERS]
++
++ 007F; DELETE
++
++ ----- End Table C.2.1 -----
++
++ ----- Start Table C.2.2 -----
++
++ 0080-009F; [CONTROL CHARACTERS]
++
++ 06DD; ARABIC END OF AYAH
++
++ 070F; SYRIAC ABBREVIATION MARK
++
++ 180E; MONGOLIAN VOWEL SEPARATOR
++
++ 200C; ZERO WIDTH NON-JOINER
++
++ 200D; ZERO WIDTH JOINER
++
++ 2028; LINE SEPARATOR
++
++ 2029; PARAGRAPH SEPARATOR
++
++ 2060; WORD JOINER
++
++ 2061; FUNCTION APPLICATION
++
++ 2062; INVISIBLE TIMES
++
++ 2063; INVISIBLE SEPARATOR
++
++ 206A-206F; [CONTROL CHARACTERS]
++
++ FEFF; ZERO WIDTH NO-BREAK SPACE
++
++ FFF9-FFFC; [CONTROL CHARACTERS]
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1D173-1D17A; [MUSICAL CONTROL CHARACTERS]
++
++ ----- End Table C.2.2 -----
++
++ ----- Start Table C.3 -----
++
++ E000-F8FF; [PRIVATE USE, PLANE 0]
++
++ F0000-FFFFD; [PRIVATE USE, PLANE 15]
++
++ 100000-10FFFD; [PRIVATE USE, PLANE 16]
++
++ ----- End Table C.3 -----
++
++ ----- Start Table C.4 -----
++
++ FDD0-FDEF; [NONCHARACTER CODE POINTS]
++
++ FFFE-FFFF; [NONCHARACTER CODE POINTS]
++
++ 1FFFE-1FFFF; [NONCHARACTER CODE POINTS]
++
++ 2FFFE-2FFFF; [NONCHARACTER CODE POINTS]
++
++ 3FFFE-3FFFF; [NONCHARACTER CODE POINTS]
++
++ 4FFFE-4FFFF; [NONCHARACTER CODE POINTS]
++
++ 5FFFE-5FFFF; [NONCHARACTER CODE POINTS]
++
++ 6FFFE-6FFFF; [NONCHARACTER CODE POINTS]
++
++ 7FFFE-7FFFF; [NONCHARACTER CODE POINTS]
++
++ 8FFFE-8FFFF; [NONCHARACTER CODE POINTS]
++
++ 9FFFE-9FFFF; [NONCHARACTER CODE POINTS]
++
++ AFFFE-AFFFF; [NONCHARACTER CODE POINTS]
++
++ BFFFE-BFFFF; [NONCHARACTER CODE POINTS]
++
++ CFFFE-CFFFF; [NONCHARACTER CODE POINTS]
++
++ DFFFE-DFFFF; [NONCHARACTER CODE POINTS]
++
++ EFFFE-EFFFF; [NONCHARACTER CODE POINTS]
++
++ FFFFE-FFFFF; [NONCHARACTER CODE POINTS]
++
++ 10FFFE-10FFFF; [NONCHARACTER CODE POINTS]
++
++ ----- End Table C.4 -----
++
++ ----- Start Table C.5 -----
++
++ D800-DFFF; [SURROGATE CODES]
++
++ ----- End Table C.5 -----
++
++ ----- Start Table C.6 -----
++
++ FFF9; INTERLINEAR ANNOTATION ANCHOR
++
++ FFFA; INTERLINEAR ANNOTATION SEPARATOR
++
++ FFFB; INTERLINEAR ANNOTATION TERMINATOR
++
++ FFFC; OBJECT REPLACEMENT CHARACTER
++
++ FFFD; REPLACEMENT CHARACTER
++
++
++
++
++
++
++
++
++
++
++
++
++
++ ----- End Table C.6 -----
++
++ ----- Start Table C.7 -----
++
++ 2FF0-2FFB; [IDEOGRAPHIC DESCRIPTION CHARACTERS]
++
++ ----- End Table C.7 -----
++
++ ----- Start Table C.8 -----
++
++ 0340; COMBINING GRAVE TONE MARK
++
++ 0341; COMBINING ACUTE TONE MARK
++
++ 200E; LEFT-TO-RIGHT MARK
++
++ 200F; RIGHT-TO-LEFT MARK
++
++ 202A; LEFT-TO-RIGHT EMBEDDING
++
++ 202B; RIGHT-TO-LEFT EMBEDDING
++
++ 202C; POP DIRECTIONAL FORMATTING
++
++ 202D; LEFT-TO-RIGHT OVERRIDE
++
++ 202E; RIGHT-TO-LEFT OVERRIDE
++
++ 206A; INHIBIT SYMMETRIC SWAPPING
++
++ 206B; ACTIVATE SYMMETRIC SWAPPING
++
++ 206C; INHIBIT ARABIC FORM SHAPING
++
++ 206D; ACTIVATE ARABIC FORM SHAPING
++
++ 206E; NATIONAL DIGIT SHAPES
++
++ 206F; NOMINAL DIGIT SHAPES
++
++ ----- End Table C.8 -----
++
++ ----- Start Table C.9 -----
++
++ E0001; LANGUAGE TAG
++
++ E0020-E007F; [TAGGING CHARACTERS]
++
++ ----- End Table C.9 -----
++
++ ----- Start Table D.1 -----
++
++ 05BE
++
++ 05C0
++
++ 05C3
++
++ 05D0-05EA
++
++ 05F0-05F4
++
++ 061B
++
++ 061F
++
++ 0621-063A
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 0640-064A
++
++ 066D-066F
++
++ 0671-06D5
++
++ 06DD
++
++ 06E5-06E6
++
++ 06FA-06FE
++
++ 0700-070D
++
++ 0710
++
++ 0712-072C
++
++ 0780-07A5
++
++ 07B1
++
++ 200F
++
++ FB1D
++
++ FB1F-FB28
++
++ FB2A-FB36
++
++ FB38-FB3C
++
++ FB3E
++
++ FB40-FB41
++
++ FB43-FB44
++
++ FB46-FBB1
++
++ FBD3-FD3D
++
++ FD50-FD8F
++
++ FD92-FDC7
++
++ FDF0-FDFC
++
++ FE70-FE74
++
++ FE76-FEFC
++
++ ----- End Table D.1 -----
++
++ ----- Start Table D.2 -----
++
++ 0041-005A
++
++ 0061-007A
++
++ 00AA
++
++ 00B5
++
++ 00BA
++
++ 00C0-00D6
++
++ 00D8-00F6
++
++ 00F8-0220
++
++ 0222-0233
++
++ 0250-02AD
++
++ 02B0-02B8
++
++ 02BB-02C1
++
++ 02D0-02D1
++
++ 02E0-02E4
++
++ 02EE
++
++ 037A
++
++ 0386
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 0388-038A
++
++ 038C
++
++ 038E-03A1
++
++ 03A3-03CE
++
++ 03D0-03F5
++
++ 0400-0482
++
++ 048A-04CE
++
++ 04D0-04F5
++
++ 04F8-04F9
++
++ 0500-050F
++
++ 0531-0556
++
++ 0559-055F
++
++ 0561-0587
++
++ 0589
++
++ 0903
++
++ 0905-0939
++
++ 093D-0940
++
++ 0949-094C
++
++ 0950
++
++ 0958-0961
++
++ 0964-0970
++
++ 0982-0983
++
++ 0985-098C
++
++ 098F-0990
++
++ 0993-09A8
++
++ 09AA-09B0
++
++ 09B2
++
++ 09B6-09B9
++
++ 09BE-09C0
++
++ 09C7-09C8
++
++ 09CB-09CC
++
++ 09D7
++
++ 09DC-09DD
++
++ 09DF-09E1
++
++ 09E6-09F1
++
++ 09F4-09FA
++
++ 0A05-0A0A
++
++ 0A0F-0A10
++
++ 0A13-0A28
++
++ 0A2A-0A30
++
++ 0A32-0A33
++
++ 0A35-0A36
++
++ 0A38-0A39
++
++ 0A3E-0A40
++
++ 0A59-0A5C
++
++ 0A5E
++
++ 0A66-0A6F
++
++ 0A72-0A74
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 0A83
++
++ 0A85-0A8B
++
++ 0A8D
++
++ 0A8F-0A91
++
++ 0A93-0AA8
++
++ 0AAA-0AB0
++
++ 0AB2-0AB3
++
++ 0AB5-0AB9
++
++ 0ABD-0AC0
++
++ 0AC9
++
++ 0ACB-0ACC
++
++ 0AD0
++
++ 0AE0
++
++ 0AE6-0AEF
++
++ 0B02-0B03
++
++ 0B05-0B0C
++
++ 0B0F-0B10
++
++ 0B13-0B28
++
++ 0B2A-0B30
++
++ 0B32-0B33
++
++ 0B36-0B39
++
++ 0B3D-0B3E
++
++ 0B40
++
++ 0B47-0B48
++
++ 0B4B-0B4C
++
++ 0B57
++
++ 0B5C-0B5D
++
++ 0B5F-0B61
++
++ 0B66-0B70
++
++ 0B83
++
++ 0B85-0B8A
++
++ 0B8E-0B90
++
++ 0B92-0B95
++
++ 0B99-0B9A
++
++ 0B9C
++
++ 0B9E-0B9F
++
++ 0BA3-0BA4
++
++ 0BA8-0BAA
++
++ 0BAE-0BB5
++
++ 0BB7-0BB9
++
++ 0BBE-0BBF
++
++ 0BC1-0BC2
++
++ 0BC6-0BC8
++
++ 0BCA-0BCC
++
++ 0BD7
++
++ 0BE7-0BF2
++
++ 0C01-0C03
++
++ 0C05-0C0C
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 0C0E-0C10
++
++ 0C12-0C28
++
++ 0C2A-0C33
++
++ 0C35-0C39
++
++ 0C41-0C44
++
++ 0C60-0C61
++
++ 0C66-0C6F
++
++ 0C82-0C83
++
++ 0C85-0C8C
++
++ 0C8E-0C90
++
++ 0C92-0CA8
++
++ 0CAA-0CB3
++
++ 0CB5-0CB9
++
++ 0CBE
++
++ 0CC0-0CC4
++
++ 0CC7-0CC8
++
++ 0CCA-0CCB
++
++ 0CD5-0CD6
++
++ 0CDE
++
++ 0CE0-0CE1
++
++ 0CE6-0CEF
++
++ 0D02-0D03
++
++ 0D05-0D0C
++
++ 0D0E-0D10
++
++ 0D12-0D28
++
++ 0D2A-0D39
++
++ 0D3E-0D40
++
++ 0D46-0D48
++
++ 0D4A-0D4C
++
++ 0D57
++
++ 0D60-0D61
++
++ 0D66-0D6F
++
++ 0D82-0D83
++
++ 0D85-0D96
++
++ 0D9A-0DB1
++
++ 0DB3-0DBB
++
++ 0DBD
++
++ 0DC0-0DC6
++
++ 0DCF-0DD1
++
++ 0DD8-0DDF
++
++ 0DF2-0DF4
++
++ 0E01-0E30
++
++ 0E32-0E33
++
++ 0E40-0E46
++
++ 0E4F-0E5B
++
++ 0E81-0E82
++
++ 0E84
++
++ 0E87-0E88
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 0E8A
++
++ 0E8D
++
++ 0E94-0E97
++
++ 0E99-0E9F
++
++ 0EA1-0EA3
++
++ 0EA5
++
++ 0EA7
++
++ 0EAA-0EAB
++
++ 0EAD-0EB0
++
++ 0EB2-0EB3
++
++ 0EBD
++
++ 0EC0-0EC4
++
++ 0EC6
++
++ 0ED0-0ED9
++
++ 0EDC-0EDD
++
++ 0F00-0F17
++
++ 0F1A-0F34
++
++ 0F36
++
++ 0F38
++
++ 0F3E-0F47
++
++ 0F49-0F6A
++
++ 0F7F
++
++ 0F85
++
++ 0F88-0F8B
++
++ 0FBE-0FC5
++
++ 0FC7-0FCC
++
++ 0FCF
++
++ 1000-1021
++
++ 1023-1027
++
++ 1029-102A
++
++ 102C
++
++ 1031
++
++ 1038
++
++ 1040-1057
++
++ 10A0-10C5
++
++ 10D0-10F8
++
++ 10FB
++
++ 1100-1159
++
++ 115F-11A2
++
++ 11A8-11F9
++
++ 1200-1206
++
++ 1208-1246
++
++ 1248
++
++ 124A-124D
++
++ 1250-1256
++
++ 1258
++
++ 125A-125D
++
++ 1260-1286
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1288
++
++ 128A-128D
++
++ 1290-12AE
++
++ 12B0
++
++ 12B2-12B5
++
++ 12B8-12BE
++
++ 12C0
++
++ 12C2-12C5
++
++ 12C8-12CE
++
++ 12D0-12D6
++
++ 12D8-12EE
++
++ 12F0-130E
++
++ 1310
++
++ 1312-1315
++
++ 1318-131E
++
++ 1320-1346
++
++ 1348-135A
++
++ 1361-137C
++
++ 13A0-13F4
++
++ 1401-1676
++
++ 1681-169A
++
++ 16A0-16F0
++
++ 1700-170C
++
++ 170E-1711
++
++ 1720-1731
++
++ 1735-1736
++
++ 1740-1751
++
++ 1760-176C
++
++ 176E-1770
++
++ 1780-17B6
++
++ 17BE-17C5
++
++ 17C7-17C8
++
++ 17D4-17DA
++
++ 17DC
++
++ 17E0-17E9
++
++ 1810-1819
++
++ 1820-1877
++
++ 1880-18A8
++
++ 1E00-1E9B
++
++ 1EA0-1EF9
++
++ 1F00-1F15
++
++ 1F18-1F1D
++
++ 1F20-1F45
++
++ 1F48-1F4D
++
++ 1F50-1F57
++
++ 1F59
++
++ 1F5B
++
++ 1F5D
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1F5F-1F7D
++
++ 1F80-1FB4
++
++ 1FB6-1FBC
++
++ 1FBE
++
++ 1FC2-1FC4
++
++ 1FC6-1FCC
++
++ 1FD0-1FD3
++
++ 1FD6-1FDB
++
++ 1FE0-1FEC
++
++ 1FF2-1FF4
++
++ 1FF6-1FFC
++
++ 200E
++
++ 2071
++
++ 207F
++
++ 2102
++
++ 2107
++
++ 210A-2113
++
++ 2115
++
++ 2119-211D
++
++ 2124
++
++ 2126
++
++ 2128
++
++ 212A-212D
++
++ 212F-2131
++
++ 2133-2139
++
++ 213D-213F
++
++ 2145-2149
++
++ 2160-2183
++
++ 2336-237A
++
++ 2395
++
++ 249C-24E9
++
++ 3005-3007
++
++ 3021-3029
++
++ 3031-3035
++
++ 3038-303C
++
++ 3041-3096
++
++ 309D-309F
++
++ 30A1-30FA
++
++ 30FC-30FF
++
++ 3105-312C
++
++ 3131-318E
++
++ 3190-31B7
++
++ 31F0-321C
++
++ 3220-3243
++
++ 3260-327B
++
++ 327F-32B0
++
++ 32C0-32CB
++
++ 32D0-32FE
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 3300-3376
++
++ 337B-33DD
++
++ 33E0-33FE
++
++ 3400-4DB5
++
++ 4E00-9FA5
++
++ A000-A48C
++
++ AC00-D7A3
++
++ D800-FA2D
++
++ FA30-FA6A
++
++ FB00-FB06
++
++ FB13-FB17
++
++ FF21-FF3A
++
++ FF41-FF5A
++
++ FF66-FFBE
++
++ FFC2-FFC7
++
++ FFCA-FFCF
++
++ FFD2-FFD7
++
++ FFDA-FFDC
++
++ 10300-1031E
++
++ 10320-10323
++
++ 10330-1034A
++
++ 10400-10425
++
++ 10428-1044D
++
++ 1D000-1D0F5
++
++ 1D100-1D126
++
++ 1D12A-1D166
++
++ 1D16A-1D172
++
++ 1D183-1D184
++
++ 1D18C-1D1A9
++
++ 1D1AE-1D1DD
++
++ 1D400-1D454
++
++ 1D456-1D49C
++
++ 1D49E-1D49F
++
++ 1D4A2
++
++ 1D4A5-1D4A6
++
++ 1D4A9-1D4AC
++
++ 1D4AE-1D4B9
++
++ 1D4BB
++
++ 1D4BD-1D4C0
++
++ 1D4C2-1D4C3
++
++ 1D4C5-1D505
++
++ 1D507-1D50A
++
++ 1D50D-1D514
++
++ 1D516-1D51C
++
++ 1D51E-1D539
++
++ 1D53B-1D53E
++
++ 1D540-1D544
++
++ 1D546
++
++
++
++
++
++
++
++
++
++
++
++
++
++ 1D54A-1D550
++
++ 1D552-1D6A3
++
++ 1D6A8-1D7C9
++
++ 20000-2A6D6
++
++ 2F800-2FA1D
++
++ F0000-FFFFD
++
++ 100000-10FFFD
++
++ ----- End Table D.2 -----
++
+diff --git a/third_party/heimdal_build/wscript_build b/third_party/heimdal_build/wscript_build
+index 2072be4..c93bdb8 100644
+--- a/third_party/heimdal_build/wscript_build
++++ b/third_party/heimdal_build/wscript_build
+@@ -842,7 +842,7 @@ if not bld.CONFIG_SET('USING_SYSTEM_WIND'):
+ HEIMDAL_GENERATOR(
+ name="HEIMDAL_ERRORLIST",
+ rule="${PYTHON} '${SRC[0].abspath()}' '${SRC[1].abspath()}' '${SRC[1].parent.abspath(env)}'",
+- source = '../heimdal/lib/wind/gen-errorlist.py ../heimdal/lib/wind/rfc3454.txt ../heimdal/lib/wind/stringprep.py',
++ source = '../heimdal/lib/wind/gen-errorlist.py ../heimdal/lib/wind/rfc3454.txt-table ../heimdal/lib/wind/stringprep.py',
+ target = '../heimdal/lib/wind/errorlist_table.c ../heimdal/lib/wind/errorlist_table.h'
+ )
+
+@@ -864,7 +864,7 @@ if not bld.CONFIG_SET('USING_SYSTEM_WIND'):
+ HEIMDAL_GENERATOR(
+ name = 'HEIMDAL_BIDI_TABLE',
+ rule="${PYTHON} '${SRC[0].abspath()}' '${SRC[1].abspath()}' '${SRC[1].parent.abspath(env)}'",
+- source = '../heimdal/lib/wind/gen-bidi.py ../heimdal/lib/wind/rfc3454.txt',
++ source = '../heimdal/lib/wind/gen-bidi.py ../heimdal/lib/wind/rfc3454.txt-table',
+ target = '../heimdal/lib/wind/bidi_table.h ../heimdal/lib/wind/bidi_table.c'
+ )
+
+@@ -872,7 +872,7 @@ if not bld.CONFIG_SET('USING_SYSTEM_WIND'):
+ HEIMDAL_GENERATOR(
+ name = 'HEIMDAL_MAP_TABLE',
+ rule="${PYTHON} '${SRC[0].abspath()}' '${SRC[2].abspath()}' '${SRC[2].parent.abspath(env)}'",
+- source = '../heimdal/lib/wind/gen-map.py ../heimdal/lib/wind/stringprep.py ../heimdal/lib/wind/rfc3454.txt',
++ source = '../heimdal/lib/wind/gen-map.py ../heimdal/lib/wind/stringprep.py ../heimdal/lib/wind/rfc3454.txt-table',
+ target = '../heimdal/lib/wind/map_table.h ../heimdal/lib/wind/map_table.c'
+ )
+
diff --git a/debian/patches/heimdal-to-support-KEYRING-ccache.patch b/debian/patches/heimdal-to-support-KEYRING-ccache.patch
new file mode 100644
index 0000000..48bc94c
--- /dev/null
+++ b/debian/patches/heimdal-to-support-KEYRING-ccache.patch
@@ -0,0 +1,60 @@
+From d76344ee0cefcf8adb42928537ba031dd585f797 Mon Sep 17 00:00:00 2001
+From: Łukasz Stelmach <l.stelmach@samsung.com>
+Date: Mon, 3 Apr 2023 10:07:30 +0200
+Subject: Configure builtin heimdal to support KEYRING ccache
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+Organization: Samsung R&D Institute Poland
+
+Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
+---
+ third_party/heimdal_build/wscript_build | 8 ++++++--
+ third_party/heimdal_build/wscript_configure | 2 ++
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/third_party/heimdal_build/wscript_build b/third_party/heimdal_build/wscript_build
+index 1518afe9ef4..8aea52b55f5 100644
+--- a/third_party/heimdal_build/wscript_build
++++ b/third_party/heimdal_build/wscript_build
+@@ -710,7 +710,7 @@ if not bld.CONFIG_SET("USING_SYSTEM_KRB5"):
+ get_port.c init_creds.c init_creds_pw.c
+ kcm.c keyblock.c keytab.c keytab_any.c
+ keytab_file.c keytab_memory.c
+- keytab_keyfile.c krbhst.c log.c
++ keytab_keyfile.c krbhst.c krcache.c log.c
+ mcache.c misc.c mk_error.c mk_priv.c
+ mk_rep.c mk_req.c mk_req_ext.c
+ mit_glue.c net_read.c net_write.c n-fold.c padata.c pkinit.c pkinit-ec.c
+@@ -726,10 +726,14 @@ if not bld.CONFIG_SET("USING_SYSTEM_KRB5"):
+ mk_cred.c kx509_err.c
+ k524_err.c krb_err.c k5e1_err.c''')] + ["../heimdal_build/krb5-glue.c"]
+
++ krb5_keyutils_dep = ''
++ if bld.CONFIG_SET('HAVE_KEYCTL_GET_PERSISTENT'):
++ krb5_keyutils_dep = ' keyutils'
++
+ HEIMDAL_LIBRARY('krb5', KRB5_SOURCE,
+ version_script='lib/krb5/version-script.map',
+ includes='../heimdal/lib/krb5 ../heimdal/lib/asn1 ../heimdal/include',
+- deps='roken wind asn1 hx509 HEIMDAL_KX509_ASN1 hcrypto com_err HEIMDAL_CONFIG heimbase execinfo samba_intl HEIMDAL_IPC_CLIENT KRB5_CRYPTO',
++ deps='roken wind asn1 hx509 HEIMDAL_KX509_ASN1 hcrypto com_err HEIMDAL_CONFIG heimbase execinfo samba_intl HEIMDAL_IPC_CLIENT KRB5_CRYPTO' + krb5_keyutils_dep,
+ cflags=['-DLOCALSTATEDIR="/2"'] + bld.dynconfig_cflags(),
+ )
+ KRB5_PROTO_SOURCE = KRB5_SOURCE + ['lib/krb5/expand_path.c', 'lib/krb5/plugin.c', 'lib/krb5/context.c', 'lib/krb5/crypto.c']
+diff --git a/third_party/heimdal_build/wscript_configure b/third_party/heimdal_build/wscript_configure
+index a97a1b9baa8..36ba02d25ad 100644
+--- a/third_party/heimdal_build/wscript_configure
++++ b/third_party/heimdal_build/wscript_configure
+@@ -65,6 +65,8 @@ conf.DEFINE('HAVE_KRB5',1)
+ conf.CHECK_FUNCS('dirfd', headers='dirent.h')
+ conf.CHECK_DECLS('dirfd', reverse=True, headers='dirent.h')
+ conf.CHECK_STRUCTURE_MEMBER('DIR', 'dd_fd', define='HAVE_DIR_DD_FD', headers='dirent.h')
++conf.CHECK_FUNCS_IN('add_key keyctl_get_persistent', 'keyutils', headers='keyutils.h')
++conf.CHECK_SIZEOF('key_serial_t', headers='keyutils.h')
+
+ heimdal_no_error_flags = ['-Wno-error=discarded-qualifiers',
+ '-Wno-error=cast-qual',
+--
+2.30.2
+
diff --git a/debian/patches/hurd-compat.patch b/debian/patches/hurd-compat.patch
new file mode 100644
index 0000000..5657fdf
--- /dev/null
+++ b/debian/patches/hurd-compat.patch
@@ -0,0 +1,43 @@
+Subject: hurd compatibility changes
+From: Michael Tokarev <mjt@tls.msk.ru>
+Date: Thu, 03 Nov 2022 20:49:33 +0300
+
+Hurd does not define PIPE_BUF, so lib/tevent/testsuite.c fails to compile
+(yes, this file is used as part of *samba* testsuite, not tevent testsuite).
+Define it to a safe minimal value like 512 bytes.
+
+Hurd does not provide SA_NOCLDWAIT define, so lib/util/tests/tfork.c does
+not compile. This is only needed during testing to omit zombie process
+generation, which has only cosmetic effect. Define it to be 0.
+
+Based on prior work and ideas by Samuel Thibault.
+
+diff --git a/lib/tevent/testsuite.c b/lib/tevent/testsuite.c
+index 8894e445203..27f873cd484 100644
+--- a/lib/tevent/testsuite.c
++++ b/lib/tevent/testsuite.c
+@@ -36,6 +36,10 @@
+ #include "system/threads.h"
+ #include <assert.h>
+ #endif
++#include <limits.h>
++#ifndef PIPE_BUF /* eg hurd does not define it */
++# define PIPE_BUF 512 /* a safe bet */
++#endif
+
+ static int fde_count;
+
+diff --git a/lib/util/tests/tfork.c b/lib/util/tests/tfork.c
+index 70ae97583fc..0dc8e1688d3 100644
+--- a/lib/util/tests/tfork.c
++++ b/lib/util/tests/tfork.c
+@@ -33,6 +33,9 @@
+ #ifdef HAVE_PTHREAD
+ #include <pthread.h>
+ #endif
++#ifndef SA_NOCLDWAIT
++#define SA_NOCLDWAIT 0
++#endif
+
+ static bool test_tfork_simple(struct torture_context *tctx)
+ {
diff --git a/debian/patches/libsmbclient-ensure-lfs-221618.patch b/debian/patches/libsmbclient-ensure-lfs-221618.patch
new file mode 100644
index 0000000..11f8521
--- /dev/null
+++ b/debian/patches/libsmbclient-ensure-lfs-221618.patch
@@ -0,0 +1,50 @@
+Subject: ensure libsmbclient.h is being used with LFS enabled
+From: Michael Tokarev <mjt@tls.msk.ru>
+Date: Sat, 02 Apr 2022 19:01:55 +0300
+Bug-Debian: https://bugs.debian.org/221618
+
+We build samba with LFS (Large File Support) even on 32bits.
+This means some types like off_t are 64-bit wide, again,
+even on a 32bit host. libsmbclient.h uses off_t in function
+prototypes, and thes prototypes muct match those which were
+used at samba compile time - if some other source includes
+libsmbclient.h without LFS, it'll get wrong prototypes and
+the resulting binary will most likely crash when using
+libsmbclient functions.
+
+Detect and error-out this at compile time.
+
+We can not do anything with this in the public header since
+it is alredy too late to redefine things, since we can't
+guarantee we're the first header a program #includes, and
+at the time this libsmbclient.h is included, off_t can
+already be defined so our (re)define of _FILE_OFFSET_BITS
+does nothing already.
+
+Patching libsmbclient.h to use off64_t means client program
+should change their off_t to off64_t too when storing
+file offsets returning from libsmbclient, so this is not
+an option too.
+
+With this change, we will error out even if the user source
+does not use any off_t-related functions. Namely, it was ok
+to #include <libsmbclient.h> and use smbc_open/smbc_read/
+smbc_write/smbc_close without _F_O_B=64, - neither of these
+functions uses off_t. smbc_lseek and others doesn't work,
+but if a program does not use them anyway, whole thing will
+just work even without enabling LFS. Ideally we can probably
+check each individual function which is being affected, by
+replacing it with #error if sizeof(off_t) < 8. But this
+requires quite some hackery...
+
+diff --git a/source3/include/libsmbclient.h b/source3/include/libsmbclient.h
+index 84c98089251..1a6ea599cfa 100644
+--- a/source3/include/libsmbclient.h
++++ b/source3/include/libsmbclient.h
+@@ -82,4 +82,6 @@ extern "C" {
+ #include <utime.h>
+
++typedef int smbc_off_t_should_be_at_least_64bits_use_LFS_CFLAGS[sizeof(off_t)-7];
++
+ #define SMBC_BASE_FD 10000 /* smallest file descriptor returned */
+
diff --git a/debian/patches/meaningful-error-if-no-python3-markdown.patch b/debian/patches/meaningful-error-if-no-python3-markdown.patch
new file mode 100644
index 0000000..2b21c5d
--- /dev/null
+++ b/debian/patches/meaningful-error-if-no-python3-markdown.patch
@@ -0,0 +1,27 @@
+From 545162e59916b3bd712d2e8e52063278cf2bb7ca Mon Sep 17 00:00:00 2001
+From: Michael Tokarev <mjt@tls.msk.ru>
+Date: Fri, 2 Dec 2022 11:08:27 +0300
+Subject: print meaningful error message if python3-markdown is not installed
+
+---
+ python/samba/netcmd/domain.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/python/samba/netcmd/domain.py b/python/samba/netcmd/domain.py
+index 2a548ed1ad4..cfbd602dce8 100644
+--- a/python/samba/netcmd/domain.py
++++ b/python/samba/netcmd/domain.py
+@@ -4133,8 +4133,8 @@ class cmd_domain_schema_upgrade(Command):
+ try:
+ from samba.ms_schema_markdown import read_ms_markdown
+ except ImportError as e:
+- self.outf.write("Exception in importing markdown: %s" % e)
+- raise CommandError('Failed to import module markdown')
++ self.outf.write("Exception in importing markdown: %s\n" % e)
++ raise CommandError('Failed to import module markdown, please install python3-markdown package')
+ from samba.schema import Schema
+
+ updates_allowed_overridden = False
+--
+2.30.2
+
diff --git a/debian/patches/meaningful-error-if-no-samba-ad-provision.patch b/debian/patches/meaningful-error-if-no-samba-ad-provision.patch
new file mode 100644
index 0000000..6f271f6
--- /dev/null
+++ b/debian/patches/meaningful-error-if-no-samba-ad-provision.patch
@@ -0,0 +1,28 @@
+From 9610c15759fd6b27615615160f2c5019a32a7154 Mon Sep 17 00:00:00 2001
+From: Michael Tokarev <mjt@tls.msk.ru>
+Date: Fri, 2 Dec 2022 10:54:31 +0300
+Subject: print meaningful error message if samba-ad-provision is not installed
+
+---
+ python/samba/provision/common.py | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/python/samba/provision/common.py b/python/samba/provision/common.py
+index 2f95492d33a..0561624baf8 100644
+--- a/python/samba/provision/common.py
++++ b/python/samba/provision/common.py
+@@ -39,7 +39,10 @@ FILL_DRS = "DRS"
+
+ def setup_path(file):
+ """Return an absolute path to the provision tempate file specified by file"""
+- return os.path.join(setup_dir(), file)
++ path = os.path.join(setup_dir(), file)
++ if not os.path.exists(path):
++ raise Exception("File [%s] not found. Please install samba-ad-provision package" % path)
++ return path
+
+
+ def setup_add_ldif(ldb, ldif_path, subst_vars=None, controls=["relax:0"]):
+--
+2.30.2
+
diff --git a/debian/patches/move-msg.sock-from-var-lib-samba-to-run-samba.patch b/debian/patches/move-msg.sock-from-var-lib-samba-to-run-samba.patch
new file mode 100644
index 0000000..ceb2a4f
--- /dev/null
+++ b/debian/patches/move-msg.sock-from-var-lib-samba-to-run-samba.patch
@@ -0,0 +1,55 @@
+From: Michael Tokarev <mjt@tls.msk.ru>
+Date: Tue, 26 Apr 2022 16:11:48 +0300
+Subject: move msg.sock from /var/lib/samba to /run/samba
+
+This moves a socket directory from /var/lib/samba to /run/samba.
+
+https://lists.samba.org/archive/samba-technical/2022-April/137322.html
+
+diff --git a/source3/lib/messages.c b/source3/lib/messages.c
+index 8641a9dad56..bf866e65e44 100644
+--- a/source3/lib/messages.c
++++ b/source3/lib/messages.c
+@@ -461,11 +461,6 @@ static int messaging_context_destructor(struct messaging_context *ctx)
+ return 0;
+ }
+
+-static const char *private_path(const char *name)
+-{
+- return talloc_asprintf(talloc_tos(), "%s/%s", lp_private_dir(), name);
+-}
+-
+ static NTSTATUS messaging_init_internal(TALLOC_CTX *mem_ctx,
+ struct tevent_context *ev,
+ struct messaging_context **pmsg_ctx)
+@@ -500,7 +495,7 @@ static NTSTATUS messaging_init_internal(TALLOC_CTX *mem_ctx,
+ return NT_STATUS_ACCESS_DENIED;
+ }
+
+- priv_path = private_path("msg.sock");
++ priv_path = lock_path(talloc_tos(), "msg.sock");
+ if (priv_path == NULL) {
+ return NT_STATUS_NO_MEMORY;
+ }
+@@ -663,7 +658,7 @@ NTSTATUS messaging_reinit(struct messaging_context *msg_ctx)
+ msg_ctx->per_process_talloc_ctx,
+ msg_ctx->event_ctx,
+ &msg_ctx->id.unique_id,
+- private_path("msg.sock"),
++ lock_path(talloc_tos(), "msg.sock"),
+ lck_path,
+ messaging_recv_cb,
+ msg_ctx,
+diff --git a/source4/lib/messaging/messaging.c b/source4/lib/messaging/messaging.c
+index a00c35be0d5..da641bc06aa 100644
+--- a/source4/lib/messaging/messaging.c
++++ b/source4/lib/messaging/messaging.c
+@@ -500,7 +500,7 @@ struct imessaging_context *imessaging_init(TALLOC_CTX *mem_ctx,
+ goto fail;
+ }
+
+- msg->sock_dir = lpcfg_private_path(msg, lp_ctx, "msg.sock");
++ msg->sock_dir = lpcfg_lock_path(msg, lp_ctx, "msg.sock");
+ if (msg->sock_dir == NULL) {
+ goto fail;
+ }
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..91101ba
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,26 @@
+libsmbclient-ensure-lfs-221618.patch
+hurd-compat.patch
+README_nosmbldap-tools.patch
+smbclient-pager.patch
+usershare.patch
+heimdal-rfc3454.txt
+add-so-version-to-private-libraries
+smbd.service-Run-update-apparmor-samba-profile-befor.patch
+fix-nfs-service-name-to-nfs-kernel-server.patch
+ctdb-config-enable-syslog-by-default.patch
+Force-LDB-as-standalone.patch
+use-bzero-instead-of-memset_s.diff
+ctdb_etcd_lock-path.patch
+ctdb-create-piddir.patch
+silence-waf-uselib_local.diff
+disable-setuid-confchecks.patch
+move-msg.sock-from-var-lib-samba-to-run-samba.patch
+testparm-do-not-fail-if-pid-dir-does-not-exist.patch
+add-missing-libs-deps.diff
+spelling.patch
+unwrap-getresgid-typo.patch
+fruit-disable-useless-size_t-overflow-check.patch
+meaningful-error-if-no-samba-ad-provision.patch
+meaningful-error-if-no-python3-markdown.patch
+ctdb-use-run-instead-of-var-run.patch
+heimdal-to-support-KEYRING-ccache.patch
diff --git a/debian/patches/silence-waf-uselib_local.diff b/debian/patches/silence-waf-uselib_local.diff
new file mode 100644
index 0000000..ecbae47
--- /dev/null
+++ b/debian/patches/silence-waf-uselib_local.diff
@@ -0,0 +1,31 @@
+Subject: silence uselib_local warning produced by waf
+From: Michael Tokarev <mjt@tls.msk.ru>
+Date: Sun, 03 Apr 2022 07:57:38 +0300
+
+During config/build process in verbose mode, waf produces
+about 2k repetitions of this warning:
+
+ compat: "uselib_local" is deprecated, replace by "use"
+
+which clutters the build log.
+
+Comment this warning out for now until it will be
+fixed properly.
+
+diff --git a/buildtools/wafsamba/samba_waf18.py b/buildtools/wafsamba/samba_waf18.py
+index e2a078bd3a0..dfd53a012d1 100644
+--- a/buildtools/wafsamba/samba_waf18.py
++++ b/buildtools/wafsamba/samba_waf18.py
+@@ -314,9 +314,9 @@ def apply_uselib_local(self):
+ seen = set()
+ seen_uselib = set()
+ tmp = Utils.deque(names) # consume a copy of the list of names
+- if tmp:
+- if Logs.verbose:
+- Logs.warn('compat: "uselib_local" is deprecated, replace by "use"')
++ #if tmp:
++ # if Logs.verbose:
++ # Logs.warn('compat: "uselib_local" is deprecated, replace by "use"')
+ while tmp:
+ lib_name = tmp.popleft()
+ # visit dependencies only once
diff --git a/debian/patches/smbclient-pager.patch b/debian/patches/smbclient-pager.patch
new file mode 100644
index 0000000..4c7af22
--- /dev/null
+++ b/debian/patches/smbclient-pager.patch
@@ -0,0 +1,22 @@
+From: Steve Langasek <vorlon@debian.org>
+Subject: Use the pager alternative as pager is PAGER is undefined
+
+Bug-Debian: http://bugs.debian.org/135603
+Forwarded: not-needed
+---
+ source3/include/local.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/source3/include/local.h b/source3/include/local.h
+index 7f97d4e..60a00d1 100644
+--- a/source3/include/local.h
++++ b/source3/include/local.h
+@@ -88,7 +88,7 @@
+ /* the default pager to use for the client "more" command. Users can
+ override this with the PAGER environment variable */
+ #ifndef PAGER
+-#define PAGER "more"
++#define PAGER "/usr/bin/pager"
+ #endif
+
+ /* the size of the uid cache used to reduce valid user checks */
diff --git a/debian/patches/smbd.service-Run-update-apparmor-samba-profile-befor.patch b/debian/patches/smbd.service-Run-update-apparmor-samba-profile-befor.patch
new file mode 100644
index 0000000..c5a64dc
--- /dev/null
+++ b/debian/patches/smbd.service-Run-update-apparmor-samba-profile-befor.patch
@@ -0,0 +1,25 @@
+From 0ecd28ff3fd7f3d5c20705a2b8233fc8648cbf9c Mon Sep 17 00:00:00 2001
+From: Mathieu Parent <math.parent@gmail.com>
+Date: Thu, 21 Feb 2019 21:04:30 +0100
+Subject: [PATCH] smbd.service: Run update-apparmor-samba-profile before start
+
+Bug-Debian: https://bugs.debian.org/896080
+---
+ packaging/systemd/smb.service.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/packaging/systemd/smb.service.in b/packaging/systemd/smb.service.in
+index 18912ef0e98..6bb24861682 100644
+--- a/packaging/systemd/smb.service.in
++++ b/packaging/systemd/smb.service.in
+@@ -10,6 +10,7 @@ NotifyAccess=all
+ PIDFile=@PIDDIR@/smbd.pid
+ LimitNOFILE=16384
+ EnvironmentFile=-@SYSCONFDIR@/sysconfig/samba
++ExecStartPre=/usr/share/samba/update-apparmor-samba-profile
+ ExecStart=@SBINDIR@/smbd --foreground --no-process-group $SMBDOPTIONS
+ ExecReload=/bin/kill -HUP $MAINPID
+ LimitCORE=infinity
+--
+2.20.1
+
diff --git a/debian/patches/spelling.patch b/debian/patches/spelling.patch
new file mode 100644
index 0000000..d20cd88
--- /dev/null
+++ b/debian/patches/spelling.patch
@@ -0,0 +1,212 @@
+From: Michael Tokarev <mjt@tls.msk.ru>
+Subject: Various spelling fixes
+
+Various spelling fixes in the code which sneaks into binaries.
+
+diff --git a/bootstrap/config.py b/bootstrap/config.py
+index a00b253ae77..84330a2106a 100644
+--- a/bootstrap/config.py
++++ b/bootstrap/config.py
+@@ -127,5 +127,5 @@ PKGS = [
+ ('pkg-config', 'pkgconfig'),
+ ('procps', 'procps-ng'), # required for the free cmd in tests
+- ('lsb-release', 'lsb-release'), # we need lsb_relase to show info
++ ('lsb-release', 'lsb-release'), # we need lsb_release to show info
+ ('', 'rpcgen'), # required for test
+ # refer: https://fedoraproject.org/wiki/Changes/SunRPCRemoval
+diff --git a/ctdb/common/system.c b/ctdb/common/system.c
+index 08dc68284fd..05a95647233 100644
+--- a/ctdb/common/system.c
++++ b/ctdb/common/system.c
+@@ -158,5 +158,5 @@ bool ctdb_sys_check_iface_exists(const char *iface)
+ ifnis = if_nameindex();
+ if (ifnis == NULL) {
+- DBG_ERR("Failed to retrieve inteface list\n");
++ DBG_ERR("Failed to retrieve interface list\n");
+ return false;
+ }
+diff --git a/source3/smbd/msdfs.c b/source3/smbd/msdfs.c
+index 4819df35837..c30326234ae 100644
+--- a/source3/smbd/msdfs.c
++++ b/source3/smbd/msdfs.c
+@@ -950,5 +950,5 @@ static NTSTATUS dfs_path_lookup(TALLOC_CTX *ctx,
+ removed_components--;
+ if (p == NULL && removed_components != 0) {
+- DBG_ERR("Component missmatch. path = %s, "
++ DBG_ERR("Component mismatch. path = %s, "
+ "%zu components left\n",
+ canon_dfspath,
+diff --git a/source3/smbd/smbXsrv_client.c b/source3/smbd/smbXsrv_client.c
+index d7a6fa35bf0..14d00f4aca1 100644
+--- a/source3/smbd/smbXsrv_client.c
++++ b/source3/smbd/smbXsrv_client.c
+@@ -1243,5 +1243,5 @@ static void smbXsrv_client_connection_drop_loop(struct tevent_req *subreq)
+ struct GUID_txt_buf buf1, buf2;
+
+- DBG_WARNING("client's client_guid [%s] != droped guid [%s]\n",
++ DBG_WARNING("client's client_guid [%s] != dropped guid [%s]\n",
+ GUID_buf_string(&client->global->client_guid,
+ &buf1),
+@@ -1258,5 +1258,5 @@ static void smbXsrv_client_connection_drop_loop(struct tevent_req *subreq)
+ {
+ DBG_WARNING("client's initial connect time [%s] (%llu) != "
+- "droped initial connect time [%s] (%llu)\n",
++ "dropped initial connect time [%s] (%llu)\n",
+ nt_time_string(talloc_tos(),
+ client->global->initial_connect_time),
+diff --git a/source3/winbindd/wb_sids2xids.c b/source3/winbindd/wb_sids2xids.c
+index 179a51f81e4..9a3507ba702 100644
+--- a/source3/winbindd/wb_sids2xids.c
++++ b/source3/winbindd/wb_sids2xids.c
+@@ -234,5 +234,5 @@ static void wb_sids2xids_idmap_setup_done(struct tevent_req *subreq)
+ sid_copy(&domain_sid, &state->sids[i]);
+ sid_split_rid(&domain_sid, &rid);
+- D_DEBUG("%"PRIu32": Splitted SID %s into domain SID %s and RID %"PRIu32"\n",
++ D_DEBUG("%"PRIu32": Split SID %s into domain SID %s and RID %"PRIu32"\n",
+ i,
+ dom_sid_str_buf(&state->sids[i], &buf0),
+diff --git a/source4/torture/smb2/ea.c b/source4/torture/smb2/ea.c
+index becacaed77e..2467610f688 100644
+--- a/source4/torture/smb2/ea.c
++++ b/source4/torture/smb2/ea.c
+@@ -92,5 +92,5 @@ static bool torture_smb2_acl_xattr(struct torture_context *tctx,
+ status = smb2_setinfo_file(tree, &sfinfo);
+ torture_assert_ntstatus_ok_goto(tctx, status, ret, done,
+- "Setting EA should faild\n");
++ "Setting EA should fail\n");
+
+ /*
+diff --git a/source4/torture/smb2/session.c b/source4/torture/smb2/session.c
+index 92f9e638ff4..fe2beafbe9b 100644
+--- a/source4/torture/smb2/session.c
++++ b/source4/torture/smb2/session.c
+@@ -2755,5 +2755,5 @@ static bool test_session_bind_negative_smb210s(struct torture_context *tctx, str
+ if (encrypted) {
+ torture_skip(tctx,
+- "Can't test SMB 2.10 if encrytion is required");
++ "Can't test SMB 2.10 if encryption is required");
+ }
+
+@@ -2786,5 +2786,5 @@ static bool test_session_bind_negative_smb210d(struct torture_context *tctx, str
+ if (encrypted) {
+ torture_skip(tctx,
+- "Can't test SMB 2.10 if encrytion is required");
++ "Can't test SMB 2.10 if encryption is required");
+ }
+
+@@ -2818,5 +2818,5 @@ static bool test_session_bind_negative_smb2to3s(struct torture_context *tctx, st
+ if (encrypted) {
+ torture_skip(tctx,
+- "Can't test SMB 2.10 if encrytion is required");
++ "Can't test SMB 2.10 if encryption is required");
+ }
+
+@@ -2863,5 +2863,5 @@ static bool test_session_bind_negative_smb2to3d(struct torture_context *tctx, st
+ if (encrypted) {
+ torture_skip(tctx,
+- "Can't test SMB 2.10 if encrytion is required");
++ "Can't test SMB 2.10 if encryption is required");
+ }
+
+@@ -2909,5 +2909,5 @@ static bool test_session_bind_negative_smb3to2s(struct torture_context *tctx, st
+ if (encrypted) {
+ torture_skip(tctx,
+- "Can't test SMB 2.10 if encrytion is required");
++ "Can't test SMB 2.10 if encryption is required");
+ }
+
+@@ -2960,5 +2960,5 @@ static bool test_session_bind_negative_smb3to2d(struct torture_context *tctx, st
+ if (encrypted) {
+ torture_skip(tctx,
+- "Can't test SMB 2.10 if encrytion is required");
++ "Can't test SMB 2.10 if encryption is required");
+ }
+
+@@ -4549,5 +4549,5 @@ static bool test_session_bind_negative_smb3signH2XtoGs(struct torture_context *t
+ if (encrypted) {
+ torture_skip(tctx,
+- "Can't test SMB 2.10 if encrytion is required");
++ "Can't test SMB 2.10 if encryption is required");
+ }
+
+@@ -4609,5 +4609,5 @@ static bool test_session_bind_negative_smb3signH2XtoGd(struct torture_context *t
+ if (encrypted) {
+ torture_skip(tctx,
+- "Can't test SMB 2.10 if encrytion is required");
++ "Can't test SMB 2.10 if encryption is required");
+ }
+
+@@ -4789,5 +4789,5 @@ static bool test_session_bind_negative_smb3signGtoH2Xs(struct torture_context *t
+ if (encrypted) {
+ torture_skip(tctx,
+- "Can't test SMB 2.10 if encrytion is required");
++ "Can't test SMB 2.10 if encryption is required");
+ }
+
+@@ -4855,5 +4855,5 @@ static bool test_session_bind_negative_smb3signGtoH2Xd(struct torture_context *t
+ if (encrypted) {
+ torture_skip(tctx,
+- "Can't test SMB 2.10 if encrytion is required");
++ "Can't test SMB 2.10 if encryption is required");
+ }
+
+@@ -5067,5 +5067,5 @@ static bool test_session_signing_hmac_sha_256(struct torture_context *tctx, stru
+ if (encrypted) {
+ torture_skip(tctx,
+- "Can't test signing only if encrytion is required");
++ "Can't test signing only if encryption is required");
+ }
+
+@@ -5111,5 +5111,5 @@ static bool test_session_signing_aes_128_cmac(struct torture_context *tctx, stru
+ if (encrypted) {
+ torture_skip(tctx,
+- "Can't test signing only if encrytion is required");
++ "Can't test signing only if encryption is required");
+ }
+
+@@ -5155,5 +5155,5 @@ static bool test_session_signing_aes_128_gmac(struct torture_context *tctx, stru
+ if (encrypted) {
+ torture_skip(tctx,
+- "Can't test signing only if encrytion is required");
++ "Can't test signing only if encryption is required");
+ }
+
+diff --git a/docs-xml/manpages/vfs_fruit.8.xml b/docs-xml/manpages/vfs_fruit.8.xml
+index 4caf308a612..6950898a7d1 100644
+--- a/docs-xml/manpages/vfs_fruit.8.xml
++++ b/docs-xml/manpages/vfs_fruit.8.xml
+@@ -399,7 +399,7 @@
+ on-disk file identifier to have the semantics of HFS+ Catalog Node
+ Identifier (CNID). Samba provides File-IDs based on a file's inode
+ number which gets recycled across file creation and deletion and
+- can therefor not be used for Mac client. Returning a file identifier of
++ can therefore not be used for Mac client. Returning a file identifier of
+ zero causes the Mac client to stop using and trusting the file id
+ returned from the server.</para>
+ <para>The default is <emphasis>yes</emphasis>.</para>
+diff --git a/ctdb/server/ctdb_recoverd.c b/ctdb/server/ctdb_recoverd.c
+index bf3a66b0aaf..9d2cb6af9c9 100644
+--- a/ctdb/server/ctdb_recoverd.c
++++ b/ctdb/server/ctdb_recoverd.c
+@@ -395,7 +395,7 @@ static void ctdb_set_culprit_count(struct ctdb_recoverd *rec,
+ struct ctdb_banning_state,
+ len);
+ if (t == NULL) {
+- DBG_WARNING("Memory allocation errror");
++ DBG_WARNING("Memory allocation error");
+ return;
+ }
+ rec->banning_state = t;
+diff --git a/lib/smbconf/pysmbconf.c b/lib/smbconf/pysmbconf.c
+index 1b3c101005a..465876684ca 100644
+--- a/lib/smbconf/pysmbconf.c
++++ b/lib/smbconf/pysmbconf.c
+@@ -747,7 +747,7 @@ PyDoc_STRVAR(py_smbconf_doc,
+ "types. Future, write based functions need a writable backend (registry).\n"
+ "\n"
+ "Note that the registry backend will be provided by a different\n"
+-"library module from the source3 tree (implemenation TBD).\n");
++"library module from the source3 tree (implementation TBD).\n");
+
+ static struct PyModuleDef moduledef = {
+ PyModuleDef_HEAD_INIT,
diff --git a/debian/patches/testparm-do-not-fail-if-pid-dir-does-not-exist.patch b/debian/patches/testparm-do-not-fail-if-pid-dir-does-not-exist.patch
new file mode 100644
index 0000000..cdf1dd2
--- /dev/null
+++ b/debian/patches/testparm-do-not-fail-if-pid-dir-does-not-exist.patch
@@ -0,0 +1,70 @@
+From 68fe6de9aeca04c252d1d89165802e0fa981d28c Mon Sep 17 00:00:00 2001
+From: Michael Tokarev <mjt@tls.msk.ru>
+Date: Tue, 26 Apr 2022 16:14:38 +0300
+Subject: testparm: do not fail if /run/samba does not exist
+
+testparm explicitly fails if $piddir or $lockdir does not exist.
+However, the daemons which actually use these directories, will
+create it on demand, there is no need to fail even simple testparm
+operations if the dirs are not there.
+
+This change lets to (pre)configure samba without bothering to
+pre-create the directories which are overwise needed only to fulfil
+testparm criteria.
+
+Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
+---
+ python/samba/netcmd/testparm.py | 6 ++----
+ source3/utils/testparm.c | 6 ++----
+ 2 files changed, 4 insertions(+), 8 deletions(-)
+
+diff --git a/python/samba/netcmd/testparm.py b/python/samba/netcmd/testparm.py
+index b44dea1f141..6fecbb15303 100644
+--- a/python/samba/netcmd/testparm.py
++++ b/python/samba/netcmd/testparm.py
+@@ -142,14 +142,12 @@ class cmd_testparm(Command):
+ lockdir = lp.get("lockdir")
+
+ if not os.path.isdir(lockdir):
+- logger.error("lock directory %s does not exist", lockdir)
+- valid = False
++ logger.warning("lock directory %s does not exist", lockdir)
+
+ piddir = lp.get("pid directory")
+
+ if not os.path.isdir(piddir):
+- logger.error("pid directory %s does not exist", piddir)
+- valid = False
++ logger.warning("pid directory %s does not exist", piddir)
+
+ winbind_separator = lp.get("winbind separator")
+
+diff --git a/source3/utils/testparm.c b/source3/utils/testparm.c
+index 71bc4c2694e..4916a665c02 100644
+--- a/source3/utils/testparm.c
++++ b/source3/utils/testparm.c
+@@ -326,9 +326,8 @@ static int do_global_checks(void)
+ }
+
+ if (!directory_exist_stat(lp_lock_directory(), &st)) {
+- fprintf(stderr, "ERROR: lock directory %s does not exist\n\n",
++ fprintf(stderr, "WARNING: lock directory %s does not exist\n\n",
+ lp_lock_directory());
+- ret = 1;
+ } else if ((st.st_ex_mode & 0777) != 0755) {
+ fprintf(stderr, "WARNING: lock directory %s should have "
+ "permissions 0755 for browsing to work\n\n",
+@@ -356,9 +355,8 @@ static int do_global_checks(void)
+ }
+
+ if (!directory_exist_stat(lp_pid_directory(), &st)) {
+- fprintf(stderr, "ERROR: pid directory %s does not exist\n\n",
++ fprintf(stderr, "WARNING: pid directory %s does not exist\n\n",
+ lp_pid_directory());
+- ret = 1;
+ }
+
+ if (lp_passdb_expand_explicit()) {
+--
+2.30.2
+
diff --git a/debian/patches/unwrap-getresgid-typo.patch b/debian/patches/unwrap-getresgid-typo.patch
new file mode 100644
index 0000000..87e022f
--- /dev/null
+++ b/debian/patches/unwrap-getresgid-typo.patch
@@ -0,0 +1,20 @@
+Subject: uwrap: Fix getresgid wrapping typo
+Bug: https://bugzilla.samba.org/show_bug.cgi?id=15227
+
+This was making e.g. p11-kit crash on getresgid() call.
+
+Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+diff --git a/third_party/uid_wrapper/uid_wrapper.c b/third_party/uid_wrapper/uid_wrapper.c
+index f04642a..2e2c9e6 100644
+--- a/third_party/uid_wrapper/uid_wrapper.c
++++ b/third_party/uid_wrapper/uid_wrapper.c
+@@ -623,7 +623,7 @@ static int libc_setresgid(gid_t rgid, gid_t egid, gid_t sgid)
+ #ifdef HAVE_GETRESGID
+ static int libc_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid)
+ {
+- uwrap_bind_symbol_libc(setresgid);
++ uwrap_bind_symbol_libc(getresgid);
+
+ return uwrap.libc.symbols._libc_getresgid.f(rgid, egid, sgid);
+ }
diff --git a/debian/patches/use-bzero-instead-of-memset_s.diff b/debian/patches/use-bzero-instead-of-memset_s.diff
new file mode 100644
index 0000000..a752b24
--- /dev/null
+++ b/debian/patches/use-bzero-instead-of-memset_s.diff
@@ -0,0 +1,24 @@
+Subject: use bzero() instead of memset_s()
+
+lib/replace/replace.h header defines ZERO_STRUCT macro
+which uses memset_s() function (which is similar to
+memset() but can not be optimized out by the compiler).
+Glibc has bzero() with similar property, while memset_s()
+have is implemented in lib/replace/replace.c, - this way,
+some binaries needlessly link with libreplace-samba4 just
+to get rep_memset_s() symbol. By using bzero() instead,
+this endless linkage is eliminated, so we can package,
+for example, libldb (which uses ZERO_STRUCT) without it
+linking to libreplace-samba4.
+
+Note: actually using explicit_bzero() so it is not optimized
+out by the compiler - this is the original goal of using
+memset_s().
+
+diff --git a/lib/replace/replace.h b/lib/replace/replace.h
+index 8609d84322c..28db8d425a3 100644
+--- a/lib/replace/replace.h
++++ b/lib/replace/replace.h
+@@ -822 +822 @@
+-#define ZERO_STRUCT(x) memset_s((char *)&(x), sizeof(x), 0, sizeof(x))
++#define ZERO_STRUCT(x) explicit_bzero((char *)&(x), sizeof(x))
diff --git a/debian/patches/usershare.patch b/debian/patches/usershare.patch
new file mode 100644
index 0000000..9f072a5
--- /dev/null
+++ b/debian/patches/usershare.patch
@@ -0,0 +1,52 @@
+From: Mathias Gug <mathiaz@ubuntu.com>, Steve Langasek <vorlon@debian.org>
+Subject: Enable net usershares by default at build time
+
+Enable net usershares by default at build time, with a limit of 100, and update
+the corresponding documentation.
+
+Bug-Debian: http://bugs.debian.org/443230
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/samba/+bug/128548
+Forwarded: not-needed
+---
+ docs-xml/smbdotconf/misc/usersharemaxshares.xml | 2 +-
+ lib/param/loadparm.c | 2 ++
+ source3/param/loadparm.c | 2 +-
+ 3 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/docs-xml/smbdotconf/misc/usersharemaxshares.xml b/docs-xml/smbdotconf/misc/usersharemaxshares.xml
+index 0d69bb8..e985857 100644
+--- a/docs-xml/smbdotconf/misc/usersharemaxshares.xml
++++ b/docs-xml/smbdotconf/misc/usersharemaxshares.xml
+@@ -9,5 +9,5 @@
+ </para>
+
+ </description>
+-<value type="default">0</value>
++<value type="default">100</value>
+ </samba:parameter>
+diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c
+index a221e87..c5367fd 100644
+--- a/lib/param/loadparm.c
++++ b/lib/param/loadparm.c
+@@ -2966,6 +2966,8 @@ struct loadparm_context *loadparm_init(TALLOC_CTX *mem_ctx)
+
+ lpcfg_do_global_parameter(lp_ctx, "init logon delay", "100");
+
++ lpcfg_do_global_parameter(lp_ctx, "usershare max shares", "100");
++
+ lpcfg_do_global_parameter(lp_ctx, "usershare owner only", "yes");
+
+ lpcfg_do_global_parameter(lp_ctx, "-valid", "yes");
+diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
+index d5b1c56..5cd0a18 100644
+--- a/source3/param/loadparm.c
++++ b/source3/param/loadparm.c
+@@ -847,7 +847,7 @@ static void init_globals(struct loadparm_context *lp_ctx, bool reinit_globals)
+ lpcfg_string_set(Globals.ctx, &Globals.usershare_path, s);
+ TALLOC_FREE(s);
+ lpcfg_string_set(Globals.ctx, &Globals.usershare_template_share, "");
+- Globals.usershare_max_shares = 0;
++ Globals.usershare_max_shares = 100;
+ /* By default disallow sharing of directories not owned by the sharer. */
+ Globals.usershare_owner_only = true;
+ /* By default disallow guest access to usershares. */