diff options
author | Peter Breitenlohner <peb@mppmu.mpg.de> | 2014-12-18 08:47:14 +0000 |
---|---|---|
committer | Peter Breitenlohner <peb@mppmu.mpg.de> | 2014-12-18 08:47:14 +0000 |
commit | 0fa31eadc4d94ad8944d04f3974502b0b7e4bac4 (patch) | |
tree | a129020b7ec40bbacbcf29bfb3a465cdef385a1e /Build/source/libs | |
parent | 29ef42b190704761660554a308e208f1f468be73 (diff) |
harfbuxx 0.9.37
git-svn-id: svn://tug.org/texlive/trunk@35857 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs')
-rw-r--r-- | Build/source/libs/README | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/ChangeLog | 5 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/Makefile.in | 4 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/configure | 32 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-indic-machine.hh | 1732 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37-PATCHES/ChangeLog (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36-PATCHES/ChangeLog) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37-PATCHES/TL-Changes (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36-PATCHES/TL-Changes) | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/AUTHORS (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/AUTHORS) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/Android.mk (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/Android.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/ChangeLog (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/ChangeLog) | 125 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/Makefile.am (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/Makefile.am) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/NEWS (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/NEWS) | 8 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/README (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/README) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/THANKS (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/THANKS) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/TODO (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/TODO) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.37/autogen.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/autogen.sh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/config.h.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/config.h.in) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/configure.ac (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/configure.ac) | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/gtk-doc.make (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/gtk-doc.make) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/harfbuzz.doap (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/harfbuzz.doap) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/Makefile.am (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/Makefile.am) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-c-linkage-decls.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/check-c-linkage-decls.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-defs.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/check-defs.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-header-guards.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/check-header-guards.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-includes.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/check-includes.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-libstdc++.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/check-libstdc++.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-static-inits.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/check-static-inits.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-symbols.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/check-symbols.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/gen-arabic-table.py (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/gen-arabic-table.py) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/gen-indic-table.py (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/gen-indic-table.py) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/harfbuzz-gobject.pc.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/harfbuzz-gobject.pc.in) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/harfbuzz-icu.pc.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/harfbuzz-icu.pc.in) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/harfbuzz.pc.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/harfbuzz.pc.in) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-atomic-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-atomic-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-blob.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-blob.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-blob.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-blob.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-deserialize-json.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-buffer-deserialize-json.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-deserialize-json.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-buffer-deserialize-json.rl) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-deserialize-text.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-buffer-deserialize-text.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-deserialize-text.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-buffer-deserialize-text.rl) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-buffer-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-serialize.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-buffer-serialize.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-buffer.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-buffer.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-cache-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-cache-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-common.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-common.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-common.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-common.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-coretext.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-coretext.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-coretext.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-coretext.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-deprecated.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-deprecated.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-face-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-face-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-face.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-face.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-face.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-face.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-fallback-shape.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-fallback-shape.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-font-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-font-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-font.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-font.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-font.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-font.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ft.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ft.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ft.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ft.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-glib.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-glib.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-glib.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-glib.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject-enums.cc.tmpl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-gobject-enums.cc.tmpl) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject-enums.h.tmpl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-gobject-enums.h.tmpl) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject-structs.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-gobject-structs.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject-structs.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-gobject-structs.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-gobject.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-graphite2.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-graphite2.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-graphite2.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-graphite2.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-icu.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-icu.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-icu.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-icu.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-mutex-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-mutex-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-object-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-object-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-open-file-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-open-file-private.hh) | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-open-type-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-open-type-private.hh) | 44 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-cmap-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-cmap-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-font.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-font.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-font.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-font.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-head-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-head-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-hhea-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-hhea-table.hh) | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-hmtx-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-hmtx-table.hh) | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-layout-common-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-gdef-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-layout-gdef-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-gpos-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-layout-gpos-table.hh) | 40 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-gsub-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-layout-gsub-table.hh) | 14 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-gsubgpos-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-layout-gsubgpos-private.hh) | 74 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-jstf-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-layout-jstf-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-layout-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-layout.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-layout.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-map-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-map-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-map.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-map.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-maxp-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-maxp-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-name-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-name-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-arabic-fallback.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-arabic-fallback.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-arabic-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-arabic-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-arabic-win1256.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-arabic-win1256.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-arabic.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-arabic.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-default.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-default.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-hangul.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-hangul.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-hebrew.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-hebrew.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic-machine.hh | 1762 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic-machine.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-indic-machine.rl) | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-indic-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic-table.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-indic-table.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-indic.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-myanmar-machine.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-myanmar-machine.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-myanmar-machine.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-myanmar-machine.rl) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-myanmar.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-myanmar.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-sea-machine.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-sea-machine.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-sea-machine.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-sea-machine.rl) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-sea.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-sea.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-thai.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-thai.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-tibetan.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-tibetan.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-fallback-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-fallback-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-fallback.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-fallback.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-normalize-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-normalize-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-normalize.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-normalize.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-tag.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-tag.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-tag.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-tag.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-private.hh) | 4 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-set-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-set-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-set.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-set.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-set.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-set.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape-plan-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-shape-plan-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape-plan.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-shape-plan.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape-plan.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-shape-plan.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-shape.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-shape.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shaper-impl-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-shaper-impl-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shaper-list.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-shaper-list.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shaper-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-shaper-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shaper.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-shaper.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ucdn.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ucdn.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-unicode-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-unicode-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-unicode.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-unicode.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-unicode.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-unicode.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-uniscribe.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-uniscribe.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-uniscribe.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-uniscribe.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-utf-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-utf-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-version.h.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-version.h.in) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-warning.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-warning.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/main.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/main.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/test-buffer-serialize.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/test-buffer-serialize.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/test-size-params.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/test-size-params.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/test-would-substitute.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/test-would-substitute.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/test.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/test.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/version.ac | 2 |
153 files changed, 2022 insertions, 1838 deletions
diff --git a/Build/source/libs/README b/Build/source/libs/README index c1f5340eb88..33ded3457d9 100644 --- a/Build/source/libs/README +++ b/Build/source/libs/README @@ -24,7 +24,7 @@ gmp 6.0.0 - checked 25mar14 graphite2 1.2.4 - checked 2dec13 http://sourceforge.net/projects/silgraphite/files/graphite2/ -harfbuzz 0.9.36 - checked 11nov14 +harfbuzz 0.9.37 - checked 18dec14 http://www.freedesktop.org/software/harfbuzz/release/ icu 54.1 (release) - checked 2oct14 diff --git a/Build/source/libs/harfbuzz/ChangeLog b/Build/source/libs/harfbuzz/ChangeLog index 0677c48855a..016cf665012 100644 --- a/Build/source/libs/harfbuzz/ChangeLog +++ b/Build/source/libs/harfbuzz/ChangeLog @@ -1,3 +1,8 @@ +2014-12-18 Peter Breitenlohner <peb@mppmu.mpg.de> + + Import harfbuzz-0.9.37. + * version.ac: Adjust. + 2014-11-21 Peter Breitenlohner <peb@mppmu.mpg.de> Import harfbuzz-0.9.36. diff --git a/Build/source/libs/harfbuzz/Makefile.in b/Build/source/libs/harfbuzz/Makefile.in index 7c7b98a6d09..0f5d33ec713 100644 --- a/Build/source/libs/harfbuzz/Makefile.in +++ b/Build/source/libs/harfbuzz/Makefile.in @@ -83,7 +83,7 @@ DIST_COMMON = $(srcdir)/../../am/reconfig.am \ $(srcdir)/../../am/rebuild.am $(srcdir)/Makefile.in \ $(srcdir)/Makefile.am $(top_srcdir)/configure \ $(am__configure_deps) $(srcdir)/config.h.in \ - $(top_srcdir)/harfbuzz-0.9.36/src/hb-version.h.in \ + $(top_srcdir)/harfbuzz-0.9.37/src/hb-version.h.in \ $(am__dist_check_SCRIPTS_DIST) \ $(top_srcdir)/../../build-aux/depcomp \ $(top_srcdir)/../../build-aux/test-driver ChangeLog \ @@ -778,7 +778,7 @@ $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) distclean-hdr: -rm -f config.h stamp-h1 -hb-version.h: $(top_builddir)/config.status $(top_srcdir)/harfbuzz-0.9.36/src/hb-version.h.in +hb-version.h: $(top_builddir)/config.status $(top_srcdir)/harfbuzz-0.9.37/src/hb-version.h.in cd $(top_builddir) && $(SHELL) ./config.status $@ clean-noinstLIBRARIES: diff --git a/Build/source/libs/harfbuzz/configure b/Build/source/libs/harfbuzz/configure index f9296861ca8..ed476bb8e54 100755 --- a/Build/source/libs/harfbuzz/configure +++ b/Build/source/libs/harfbuzz/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for harfbuzz (TeX Live) 0.9.36. +# Generated by GNU Autoconf 2.69 for harfbuzz (TeX Live) 0.9.37. # # Report bugs to <tex-k@tug.org>. # @@ -580,12 +580,12 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='harfbuzz (TeX Live)' PACKAGE_TARNAME='harfbuzz--tex-live-' -PACKAGE_VERSION='0.9.36' -PACKAGE_STRING='harfbuzz (TeX Live) 0.9.36' +PACKAGE_VERSION='0.9.37' +PACKAGE_STRING='harfbuzz (TeX Live) 0.9.37' PACKAGE_BUGREPORT='tex-k@tug.org' PACKAGE_URL='' -ac_unique_file="harfbuzz-0.9.36/src/harfbuzz.pc.in" +ac_unique_file="harfbuzz-0.9.37/src/harfbuzz.pc.in" # Factoring default headers for most tests. ac_includes_default="\ #include <stdio.h> @@ -1325,7 +1325,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures harfbuzz (TeX Live) 0.9.36 to adapt to many kinds of systems. +\`configure' configures harfbuzz (TeX Live) 0.9.37 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1396,7 +1396,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of harfbuzz (TeX Live) 0.9.36:";; + short | recursive ) echo "Configuration of harfbuzz (TeX Live) 0.9.37:";; esac cat <<\_ACEOF @@ -1509,7 +1509,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -harfbuzz (TeX Live) configure 0.9.36 +harfbuzz (TeX Live) configure 0.9.37 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2099,7 +2099,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by harfbuzz (TeX Live) $as_me 0.9.36, which was +It was created by harfbuzz (TeX Live) $as_me 0.9.37, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -4022,7 +4022,7 @@ fi # Define the identity of the package. PACKAGE='harfbuzz--tex-live-' - VERSION='0.9.36' + VERSION='0.9.37' cat >>confdefs.h <<_ACEOF @@ -4224,8 +4224,8 @@ WARNING_CFLAGS=$kpse_cv_warning_cflags HB_VERSION_MAJOR=0 HB_VERSION_MINOR=9 -HB_VERSION_MICRO=36 -HB_VERSION=0.9.36 +HB_VERSION_MICRO=37 +HB_VERSION=0.9.37 ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -6641,14 +6641,14 @@ $as_echo "#define HAVE_INTEL_ATOMIC_PRIMITIVES 1" >>confdefs.h fi -HARFBUZZ_TREE=harfbuzz-0.9.36 +HARFBUZZ_TREE=harfbuzz-0.9.37 if test -f $srcdir/$HARFBUZZ_TREE/src/hb-version.h; then as_fn_error $? "Sorry, you must remove the file $HARFBUZZ_TREE/src/hb-version.h" "$LINENO" 5 fi -ac_config_files="$ac_config_files Makefile include/Makefile hb-version.h:harfbuzz-0.9.36/src/hb-version.h.in" +ac_config_files="$ac_config_files Makefile include/Makefile hb-version.h:harfbuzz-0.9.37/src/hb-version.h.in" cat >confcache <<\_ACEOF @@ -7197,7 +7197,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by harfbuzz (TeX Live) $as_me 0.9.36, which was +This file was extended by harfbuzz (TeX Live) $as_me 0.9.37, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -7263,7 +7263,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -harfbuzz (TeX Live) config.status 0.9.36 +harfbuzz (TeX Live) config.status 0.9.37 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -7396,7 +7396,7 @@ do "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;; - "hb-version.h") CONFIG_FILES="$CONFIG_FILES hb-version.h:harfbuzz-0.9.36/src/hb-version.h.in" ;; + "hb-version.h") CONFIG_FILES="$CONFIG_FILES hb-version.h:harfbuzz-0.9.37/src/hb-version.h.in" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-indic-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-indic-machine.hh deleted file mode 100644 index 522ccc67fee..00000000000 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-indic-machine.hh +++ /dev/null @@ -1,1732 +0,0 @@ - -#line 1 "hb-ot-shape-complex-indic-machine.rl" -/* - * Copyright © 2011,2012 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Google Author(s): Behdad Esfahbod - */ - -#ifndef HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH -#define HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH - -#include "hb-private.hh" - - -#line 36 "hb-ot-shape-complex-indic-machine.hh" -static const unsigned char _indic_syllable_machine_trans_keys[] = { - 1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, - 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 4u, 4u, 6u, 6u, - 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, - 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, - 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u, - 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, - 5u, 7u, 7u, 7u, 4u, 4u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, - 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, - 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, - 1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, - 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 4u, 4u, 6u, 6u, - 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, - 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, - 4u, 14u, 4u, 14u, 4u, 14u, 1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u, 7u, 7u, - 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, - 7u, 7u, 4u, 4u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, - 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, - 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, - 4u, 14u, 5u, 7u, 5u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, - 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 1u, 16u, 13u, 13u, 4u, 4u, 6u, 6u, - 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, - 6u, 6u, 16u, 16u, 1u, 31u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, - 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, - 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 14u, 8u, 14u, - 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u, - 3u, 10u, 8u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, - 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, - 6u, 14u, 3u, 14u, 1u, 16u, 4u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 1u, 16u, - 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, - 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, - 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, - 1u, 16u, 3u, 31u, 3u, 31u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, - 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, - 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 14u, 8u, 14u, - 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u, - 3u, 10u, 8u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, - 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, - 6u, 14u, 3u, 14u, 1u, 16u, 4u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 1u, 16u, - 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, - 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, - 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, - 4u, 14u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, - 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, - 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 14u, 8u, 14u, 5u, 10u, - 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u, 3u, 10u, - 8u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, - 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 6u, 14u, - 3u, 14u, 1u, 16u, 4u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, - 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, - 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, - 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, - 4u, 14u, 3u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, - 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, - 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 14u, 8u, 14u, - 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u, - 3u, 10u, 8u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, - 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, - 6u, 14u, 3u, 14u, 1u, 16u, 4u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 1u, 16u, - 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, - 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, - 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, - 1u, 16u, 3u, 31u, 1u, 31u, 3u, 31u, 1u, 31u, 4u, 14u, 1u, 16u, 3u, 31u, - 3u, 31u, 4u, 31u, 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, - 5u, 10u, 3u, 31u, 3u, 31u, 1u, 16u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, - 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 8u, 14u, - 3u, 13u, 3u, 10u, 8u, 10u, 3u, 10u, 3u, 13u, 1u, 16u, 3u, 10u, 8u, 10u, - 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 0 -}; - -static const char _indic_syllable_machine_key_spans[] = { - 16, 1, 3, 3, 1, 3, 3, 1, - 3, 3, 1, 3, 3, 1, 1, 1, - 1, 4, 1, 1, 4, 1, 1, 4, - 1, 1, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 16, 1, 3, 3, - 1, 3, 3, 1, 3, 3, 1, 3, - 3, 1, 1, 1, 1, 4, 1, 1, - 4, 1, 1, 4, 1, 1, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, - 16, 1, 3, 3, 1, 3, 3, 1, - 3, 3, 1, 3, 3, 1, 1, 1, - 1, 4, 1, 1, 4, 1, 1, 4, - 1, 1, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 16, 1, 3, 3, 1, - 3, 3, 1, 3, 3, 1, 3, 3, - 1, 1, 1, 1, 4, 1, 1, 4, - 1, 1, 4, 1, 1, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, - 11, 3, 3, 3, 3, 1, 3, 3, - 1, 3, 3, 1, 16, 1, 1, 1, - 1, 4, 1, 1, 4, 1, 1, 4, - 1, 1, 31, 29, 29, 28, 16, 29, - 29, 28, 16, 29, 29, 28, 16, 29, - 29, 28, 16, 29, 29, 28, 10, 7, - 6, 2, 1, 2, 2, 1, 6, 11, - 8, 3, 8, 11, 12, 12, 11, 10, - 12, 11, 10, 12, 11, 10, 12, 11, - 9, 12, 16, 28, 11, 29, 29, 16, - 16, 16, 16, 16, 29, 29, 16, 16, - 16, 16, 16, 29, 29, 16, 16, 16, - 16, 16, 29, 29, 16, 16, 16, 16, - 16, 29, 29, 29, 29, 28, 16, 29, - 29, 28, 16, 29, 29, 28, 16, 29, - 29, 28, 16, 29, 29, 28, 10, 7, - 6, 2, 1, 2, 2, 1, 6, 11, - 8, 3, 8, 11, 12, 12, 11, 10, - 12, 11, 10, 12, 11, 10, 12, 11, - 9, 12, 16, 28, 11, 29, 29, 16, - 16, 16, 16, 16, 29, 29, 16, 16, - 16, 16, 16, 29, 29, 16, 16, 16, - 16, 16, 29, 29, 16, 16, 16, 16, - 11, 16, 29, 29, 28, 16, 29, 29, - 28, 16, 29, 29, 28, 16, 29, 29, - 28, 16, 29, 29, 28, 10, 7, 6, - 2, 1, 2, 2, 1, 6, 11, 8, - 3, 8, 11, 12, 12, 11, 10, 12, - 11, 10, 12, 11, 10, 12, 11, 9, - 12, 16, 28, 11, 29, 29, 16, 16, - 16, 16, 16, 29, 29, 16, 16, 16, - 16, 16, 29, 29, 16, 16, 16, 16, - 16, 29, 29, 16, 16, 16, 16, 16, - 11, 29, 11, 29, 29, 28, 16, 29, - 29, 28, 16, 29, 29, 28, 16, 29, - 29, 28, 16, 29, 29, 28, 10, 7, - 6, 2, 1, 2, 2, 1, 6, 11, - 8, 3, 8, 11, 12, 12, 11, 10, - 12, 11, 10, 12, 11, 10, 12, 11, - 9, 12, 16, 28, 11, 29, 29, 16, - 16, 16, 16, 16, 29, 29, 16, 16, - 16, 16, 16, 29, 29, 16, 16, 16, - 16, 16, 29, 29, 16, 16, 16, 16, - 16, 29, 31, 29, 31, 11, 16, 29, - 29, 28, 6, 2, 1, 2, 2, 1, - 6, 29, 29, 16, 12, 11, 10, 12, - 11, 10, 12, 11, 10, 12, 11, 7, - 11, 8, 3, 8, 11, 16, 8, 3, - 6, 2, 1, 2, 2, 1, 6 -}; - -static const short _indic_syllable_machine_index_offsets[] = { - 0, 17, 19, 23, 27, 29, 33, 37, - 39, 43, 47, 49, 53, 57, 59, 61, - 63, 65, 70, 72, 74, 79, 81, 83, - 88, 90, 92, 104, 116, 128, 140, 152, - 164, 176, 188, 200, 212, 229, 231, 235, - 239, 241, 245, 249, 251, 255, 259, 261, - 265, 269, 271, 273, 275, 277, 282, 284, - 286, 291, 293, 295, 300, 302, 304, 316, - 328, 340, 352, 364, 376, 388, 400, 412, - 424, 441, 443, 447, 451, 453, 457, 461, - 463, 467, 471, 473, 477, 481, 483, 485, - 487, 489, 494, 496, 498, 503, 505, 507, - 512, 514, 516, 528, 540, 552, 564, 576, - 588, 600, 612, 624, 641, 643, 647, 651, - 653, 657, 661, 663, 667, 671, 673, 677, - 681, 683, 685, 687, 689, 694, 696, 698, - 703, 705, 707, 712, 714, 716, 728, 740, - 752, 764, 776, 788, 800, 812, 824, 836, - 848, 860, 864, 868, 872, 876, 878, 882, - 886, 888, 892, 896, 898, 915, 917, 919, - 921, 923, 928, 930, 932, 937, 939, 941, - 946, 948, 950, 982, 1012, 1042, 1071, 1088, - 1118, 1148, 1177, 1194, 1224, 1254, 1283, 1300, - 1330, 1360, 1389, 1406, 1436, 1466, 1495, 1506, - 1514, 1521, 1524, 1526, 1529, 1532, 1534, 1541, - 1553, 1562, 1566, 1575, 1587, 1600, 1613, 1625, - 1636, 1649, 1661, 1672, 1685, 1697, 1708, 1721, - 1733, 1743, 1756, 1773, 1802, 1814, 1844, 1874, - 1891, 1908, 1925, 1942, 1959, 1989, 2019, 2036, - 2053, 2070, 2087, 2104, 2134, 2164, 2181, 2198, - 2215, 2232, 2249, 2279, 2309, 2326, 2343, 2360, - 2377, 2394, 2424, 2454, 2484, 2514, 2543, 2560, - 2590, 2620, 2649, 2666, 2696, 2726, 2755, 2772, - 2802, 2832, 2861, 2878, 2908, 2938, 2967, 2978, - 2986, 2993, 2996, 2998, 3001, 3004, 3006, 3013, - 3025, 3034, 3038, 3047, 3059, 3072, 3085, 3097, - 3108, 3121, 3133, 3144, 3157, 3169, 3180, 3193, - 3205, 3215, 3228, 3245, 3274, 3286, 3316, 3346, - 3363, 3380, 3397, 3414, 3431, 3461, 3491, 3508, - 3525, 3542, 3559, 3576, 3606, 3636, 3653, 3670, - 3687, 3704, 3721, 3751, 3781, 3798, 3815, 3832, - 3849, 3861, 3878, 3908, 3938, 3967, 3984, 4014, - 4044, 4073, 4090, 4120, 4150, 4179, 4196, 4226, - 4256, 4285, 4302, 4332, 4362, 4391, 4402, 4410, - 4417, 4420, 4422, 4425, 4428, 4430, 4437, 4449, - 4458, 4462, 4471, 4483, 4496, 4509, 4521, 4532, - 4545, 4557, 4568, 4581, 4593, 4604, 4617, 4629, - 4639, 4652, 4669, 4698, 4710, 4740, 4770, 4787, - 4804, 4821, 4838, 4855, 4885, 4915, 4932, 4949, - 4966, 4983, 5000, 5030, 5060, 5077, 5094, 5111, - 5128, 5145, 5175, 5205, 5222, 5239, 5256, 5273, - 5290, 5302, 5332, 5344, 5374, 5404, 5433, 5450, - 5480, 5510, 5539, 5556, 5586, 5616, 5645, 5662, - 5692, 5722, 5751, 5768, 5798, 5828, 5857, 5868, - 5876, 5883, 5886, 5888, 5891, 5894, 5896, 5903, - 5915, 5924, 5928, 5937, 5949, 5962, 5975, 5987, - 5998, 6011, 6023, 6034, 6047, 6059, 6070, 6083, - 6095, 6105, 6118, 6135, 6164, 6176, 6206, 6236, - 6253, 6270, 6287, 6304, 6321, 6351, 6381, 6398, - 6415, 6432, 6449, 6466, 6496, 6526, 6543, 6560, - 6577, 6594, 6611, 6641, 6671, 6688, 6705, 6722, - 6739, 6756, 6786, 6818, 6848, 6880, 6892, 6909, - 6939, 6969, 6998, 7005, 7008, 7010, 7013, 7016, - 7018, 7025, 7055, 7085, 7102, 7115, 7127, 7138, - 7151, 7163, 7174, 7187, 7199, 7210, 7223, 7235, - 7243, 7255, 7264, 7268, 7277, 7289, 7306, 7315, - 7319, 7326, 7329, 7331, 7334, 7337, 7339 -}; - -static const short _indic_syllable_machine_indicies[] = { - 1, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, - 0, 3, 0, 4, 4, 5, 0, 6, - 6, 5, 0, 5, 0, 7, 7, 8, - 0, 9, 9, 8, 0, 8, 0, 10, - 10, 11, 0, 12, 12, 11, 0, 11, - 0, 13, 13, 14, 0, 15, 15, 14, - 0, 14, 0, 16, 0, 17, 0, 18, - 0, 19, 13, 13, 14, 0, 20, 0, - 21, 0, 22, 10, 10, 11, 0, 23, - 0, 24, 0, 25, 7, 7, 8, 0, - 26, 0, 27, 0, 28, 4, 4, 5, - 0, 0, 0, 0, 0, 0, 28, 0, - 28, 4, 4, 5, 0, 0, 0, 0, - 0, 29, 28, 0, 30, 4, 4, 5, - 0, 0, 0, 0, 0, 0, 30, 0, - 30, 4, 4, 5, 0, 0, 0, 0, - 0, 31, 30, 0, 32, 4, 4, 5, - 0, 0, 0, 0, 0, 0, 32, 0, - 32, 4, 4, 5, 0, 0, 0, 0, - 0, 33, 32, 0, 34, 4, 4, 5, - 0, 0, 0, 0, 0, 0, 34, 0, - 34, 4, 4, 5, 0, 0, 0, 0, - 0, 35, 34, 0, 36, 4, 4, 5, - 0, 0, 0, 0, 0, 0, 36, 0, - 36, 4, 4, 5, 0, 0, 0, 0, - 0, 37, 36, 0, 39, 40, 38, 38, - 38, 38, 38, 38, 38, 38, 38, 38, - 38, 38, 38, 39, 38, 41, 38, 42, - 42, 43, 38, 44, 44, 43, 38, 43, - 38, 45, 45, 46, 38, 47, 47, 46, - 38, 46, 38, 48, 48, 49, 38, 50, - 50, 49, 38, 49, 38, 51, 51, 52, - 38, 53, 53, 52, 38, 52, 38, 54, - 38, 55, 38, 56, 38, 57, 51, 51, - 52, 38, 58, 38, 59, 38, 60, 48, - 48, 49, 38, 61, 38, 62, 38, 63, - 45, 45, 46, 38, 64, 38, 65, 38, - 66, 42, 42, 43, 38, 38, 38, 38, - 38, 38, 66, 38, 66, 42, 42, 43, - 38, 38, 38, 38, 38, 67, 66, 38, - 68, 42, 42, 43, 38, 38, 38, 38, - 38, 38, 68, 38, 68, 42, 42, 43, - 38, 38, 38, 38, 38, 69, 68, 38, - 70, 42, 42, 43, 38, 38, 38, 38, - 38, 38, 70, 38, 70, 42, 42, 43, - 38, 38, 38, 38, 38, 71, 70, 38, - 72, 42, 42, 43, 38, 38, 38, 38, - 38, 38, 72, 38, 72, 42, 42, 43, - 38, 38, 38, 38, 38, 73, 72, 38, - 74, 42, 42, 43, 38, 38, 38, 38, - 38, 38, 74, 38, 74, 42, 42, 43, - 38, 38, 38, 38, 38, 75, 74, 38, - 77, 78, 76, 76, 76, 76, 76, 76, - 76, 76, 76, 76, 76, 76, 76, 77, - 76, 79, 76, 80, 80, 81, 76, 83, - 83, 81, 82, 81, 82, 84, 84, 85, - 76, 86, 86, 85, 76, 85, 76, 87, - 87, 88, 76, 89, 89, 88, 76, 88, - 76, 90, 90, 91, 76, 92, 92, 91, - 76, 91, 76, 93, 76, 94, 76, 95, - 76, 96, 90, 90, 91, 76, 97, 76, - 98, 76, 99, 87, 87, 88, 76, 100, - 76, 101, 76, 102, 84, 84, 85, 76, - 103, 76, 104, 76, 105, 80, 80, 81, - 76, 76, 76, 76, 76, 76, 105, 76, - 105, 80, 80, 81, 76, 76, 76, 76, - 76, 106, 105, 76, 107, 80, 80, 81, - 76, 76, 76, 76, 76, 76, 107, 76, - 107, 80, 80, 81, 76, 76, 76, 76, - 76, 108, 107, 76, 109, 80, 80, 81, - 76, 76, 76, 76, 76, 76, 109, 76, - 109, 80, 80, 81, 76, 76, 76, 76, - 76, 110, 109, 76, 111, 80, 80, 81, - 82, 82, 82, 82, 82, 82, 111, 82, - 111, 80, 80, 81, 76, 76, 76, 76, - 76, 112, 111, 76, 113, 80, 80, 81, - 76, 76, 76, 76, 76, 76, 113, 76, - 115, 116, 114, 114, 114, 114, 114, 114, - 114, 114, 114, 114, 114, 114, 114, 115, - 114, 117, 114, 118, 118, 119, 114, 120, - 120, 119, 114, 119, 114, 121, 121, 122, - 114, 123, 123, 122, 114, 122, 114, 124, - 124, 125, 114, 126, 126, 125, 114, 125, - 114, 127, 127, 128, 114, 129, 129, 128, - 114, 128, 114, 130, 114, 131, 114, 132, - 114, 133, 127, 127, 128, 114, 134, 114, - 135, 114, 136, 124, 124, 125, 114, 137, - 114, 138, 114, 139, 121, 121, 122, 114, - 140, 114, 141, 114, 142, 118, 118, 119, - 114, 114, 114, 114, 114, 114, 142, 114, - 142, 118, 118, 119, 114, 114, 114, 114, - 114, 143, 142, 114, 144, 118, 118, 119, - 114, 114, 114, 114, 114, 114, 144, 114, - 144, 118, 118, 119, 114, 114, 114, 114, - 114, 145, 144, 114, 146, 118, 118, 119, - 114, 114, 114, 114, 114, 114, 146, 114, - 146, 118, 118, 119, 114, 114, 114, 114, - 114, 147, 146, 114, 148, 118, 118, 119, - 114, 114, 114, 114, 114, 114, 148, 114, - 148, 118, 118, 119, 114, 114, 114, 114, - 114, 149, 148, 114, 150, 118, 118, 119, - 114, 114, 114, 114, 114, 114, 150, 114, - 150, 118, 118, 119, 114, 114, 114, 114, - 114, 151, 150, 114, 113, 80, 80, 81, - 76, 76, 76, 76, 76, 152, 113, 76, - 111, 80, 80, 81, 0, 0, 0, 0, - 0, 153, 111, 0, 154, 154, 155, 0, - 6, 6, 155, 0, 156, 156, 157, 0, - 158, 158, 157, 0, 157, 0, 159, 159, - 160, 0, 161, 161, 160, 0, 160, 0, - 162, 162, 163, 0, 164, 164, 163, 0, - 163, 0, 165, 166, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 165, 0, 167, 0, 168, 0, 169, - 0, 170, 0, 171, 162, 162, 163, 0, - 172, 0, 173, 0, 174, 159, 159, 160, - 0, 175, 0, 176, 0, 177, 156, 156, - 157, 0, 178, 0, 179, 0, 181, 182, - 183, 184, 185, 186, 81, 187, 188, 189, - 190, 190, 152, 191, 192, 193, 194, 195, - 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 196, 180, 198, 199, - 200, 201, 5, 202, 203, 204, 197, 197, - 37, 205, 197, 197, 206, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 207, 197, 208, 199, 209, 209, - 5, 202, 203, 204, 197, 197, 197, 205, - 197, 197, 206, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, - 207, 197, 199, 209, 209, 5, 202, 203, - 204, 197, 197, 197, 205, 197, 197, 206, - 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 207, 197, 210, - 197, 197, 197, 18, 211, 197, 202, 203, - 204, 197, 197, 197, 212, 197, 210, 197, - 213, 214, 215, 216, 5, 202, 203, 204, - 197, 197, 35, 217, 197, 197, 206, 197, - 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 207, 197, 218, 214, - 219, 219, 5, 202, 203, 204, 197, 197, - 197, 217, 197, 197, 206, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 207, 197, 214, 219, 219, 5, - 202, 203, 204, 197, 197, 197, 217, 197, - 197, 206, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 207, - 197, 220, 197, 197, 197, 18, 221, 197, - 202, 203, 204, 197, 197, 197, 212, 197, - 220, 197, 222, 223, 224, 225, 5, 202, - 203, 204, 197, 197, 33, 226, 197, 197, - 206, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 207, 197, - 227, 223, 228, 228, 5, 202, 203, 204, - 197, 197, 197, 226, 197, 197, 206, 197, - 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 207, 197, 223, 228, - 228, 5, 202, 203, 204, 197, 197, 197, - 226, 197, 197, 206, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, - 197, 207, 197, 229, 197, 197, 197, 18, - 230, 197, 202, 203, 204, 197, 197, 197, - 212, 197, 229, 197, 231, 232, 233, 234, - 5, 202, 203, 204, 197, 197, 31, 235, - 197, 197, 206, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, - 207, 197, 236, 232, 237, 237, 5, 202, - 203, 204, 197, 197, 197, 235, 197, 197, - 206, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 207, 197, - 232, 237, 237, 5, 202, 203, 204, 197, - 197, 197, 235, 197, 197, 206, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 207, 197, 238, 197, 197, - 197, 18, 239, 197, 202, 203, 204, 197, - 197, 197, 212, 197, 238, 197, 240, 241, - 242, 243, 5, 202, 203, 204, 197, 197, - 29, 244, 197, 197, 206, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 207, 197, 245, 241, 246, 246, - 5, 202, 203, 204, 197, 197, 197, 244, - 197, 197, 206, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, - 207, 197, 241, 246, 246, 5, 202, 203, - 204, 197, 197, 197, 244, 197, 197, 206, - 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 207, 197, 18, - 247, 197, 202, 203, 204, 197, 197, 197, - 212, 197, 202, 203, 204, 197, 197, 197, - 212, 197, 248, 197, 197, 249, 203, 204, - 197, 203, 204, 197, 250, 197, 203, 251, - 197, 203, 252, 197, 203, 197, 248, 197, - 197, 197, 203, 204, 197, 253, 197, 254, - 255, 197, 202, 203, 204, 197, 197, 3, - 197, 2, 197, 197, 197, 197, 202, 203, - 204, 197, 202, 203, 204, 197, 253, 197, - 197, 197, 197, 202, 203, 204, 197, 253, - 197, 254, 197, 197, 202, 203, 204, 197, - 197, 3, 197, 18, 197, 256, 256, 5, - 202, 203, 204, 197, 197, 197, 212, 197, - 257, 27, 258, 259, 8, 202, 203, 204, - 197, 197, 197, 212, 197, 27, 258, 259, - 8, 202, 203, 204, 197, 197, 197, 212, - 197, 258, 258, 8, 202, 203, 204, 197, - 197, 197, 212, 197, 260, 24, 261, 262, - 11, 202, 203, 204, 197, 197, 197, 212, - 197, 24, 261, 262, 11, 202, 203, 204, - 197, 197, 197, 212, 197, 261, 261, 11, - 202, 203, 204, 197, 197, 197, 212, 197, - 263, 21, 264, 265, 14, 202, 203, 204, - 197, 197, 197, 212, 197, 21, 264, 265, - 14, 202, 203, 204, 197, 197, 197, 212, - 197, 264, 264, 14, 202, 203, 204, 197, - 197, 197, 212, 197, 266, 18, 197, 267, - 197, 202, 203, 204, 197, 197, 197, 212, - 197, 18, 197, 267, 197, 202, 203, 204, - 197, 197, 197, 212, 197, 268, 197, 202, - 203, 204, 197, 197, 197, 212, 197, 18, - 197, 197, 197, 197, 202, 203, 204, 197, - 197, 197, 212, 197, 1, 2, 197, 197, - 18, 247, 197, 202, 203, 204, 197, 197, - 197, 212, 197, 1, 197, 241, 246, 246, - 5, 202, 203, 204, 197, 197, 197, 244, - 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, - 207, 197, 241, 246, 246, 5, 202, 203, - 204, 197, 197, 197, 244, 197, 240, 241, - 246, 246, 5, 202, 203, 204, 197, 197, - 197, 244, 197, 197, 206, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 207, 197, 240, 241, 242, 246, - 5, 202, 203, 204, 197, 197, 29, 244, - 197, 197, 206, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, - 207, 197, 238, 197, 269, 197, 256, 256, - 5, 202, 203, 204, 197, 197, 197, 212, - 197, 238, 197, 238, 197, 197, 197, 197, - 197, 197, 202, 203, 204, 197, 197, 197, - 212, 197, 238, 197, 238, 197, 197, 197, - 197, 270, 197, 202, 203, 204, 197, 197, - 197, 212, 197, 238, 197, 238, 197, 269, - 197, 197, 197, 197, 202, 203, 204, 197, - 197, 197, 212, 197, 238, 197, 238, 2, - 197, 197, 18, 239, 197, 202, 203, 204, - 197, 197, 197, 212, 197, 238, 197, 231, - 232, 237, 237, 5, 202, 203, 204, 197, - 197, 197, 235, 197, 197, 206, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 207, 197, 231, 232, 233, - 237, 5, 202, 203, 204, 197, 197, 31, - 235, 197, 197, 206, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, - 197, 207, 197, 229, 197, 271, 197, 256, - 256, 5, 202, 203, 204, 197, 197, 197, - 212, 197, 229, 197, 229, 197, 197, 197, - 197, 197, 197, 202, 203, 204, 197, 197, - 197, 212, 197, 229, 197, 229, 197, 197, - 197, 197, 272, 197, 202, 203, 204, 197, - 197, 197, 212, 197, 229, 197, 229, 197, - 271, 197, 197, 197, 197, 202, 203, 204, - 197, 197, 197, 212, 197, 229, 197, 229, - 2, 197, 197, 18, 230, 197, 202, 203, - 204, 197, 197, 197, 212, 197, 229, 197, - 222, 223, 228, 228, 5, 202, 203, 204, - 197, 197, 197, 226, 197, 197, 206, 197, - 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 207, 197, 222, 223, - 224, 228, 5, 202, 203, 204, 197, 197, - 33, 226, 197, 197, 206, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 207, 197, 220, 197, 273, 197, - 256, 256, 5, 202, 203, 204, 197, 197, - 197, 212, 197, 220, 197, 220, 197, 197, - 197, 197, 197, 197, 202, 203, 204, 197, - 197, 197, 212, 197, 220, 197, 220, 197, - 197, 197, 197, 274, 197, 202, 203, 204, - 197, 197, 197, 212, 197, 220, 197, 220, - 197, 273, 197, 197, 197, 197, 202, 203, - 204, 197, 197, 197, 212, 197, 220, 197, - 220, 2, 197, 197, 18, 221, 197, 202, - 203, 204, 197, 197, 197, 212, 197, 220, - 197, 213, 214, 219, 219, 5, 202, 203, - 204, 197, 197, 197, 217, 197, 197, 206, - 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 207, 197, 213, - 214, 215, 219, 5, 202, 203, 204, 197, - 197, 35, 217, 197, 197, 206, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 207, 197, 210, 197, 275, - 197, 256, 256, 5, 202, 203, 204, 197, - 197, 197, 212, 197, 210, 197, 210, 197, - 197, 197, 197, 197, 197, 202, 203, 204, - 197, 197, 197, 212, 197, 210, 197, 210, - 197, 197, 197, 197, 276, 197, 202, 203, - 204, 197, 197, 197, 212, 197, 210, 197, - 210, 197, 275, 197, 197, 197, 197, 202, - 203, 204, 197, 197, 197, 212, 197, 210, - 197, 210, 2, 197, 197, 18, 211, 197, - 202, 203, 204, 197, 197, 197, 212, 197, - 210, 197, 198, 199, 209, 209, 5, 202, - 203, 204, 197, 197, 197, 205, 197, 197, - 206, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 207, 197, - 198, 199, 200, 209, 5, 202, 203, 204, - 197, 197, 37, 205, 197, 197, 206, 197, - 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 207, 197, 278, 279, - 280, 281, 43, 282, 283, 284, 277, 277, - 75, 285, 277, 277, 286, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 287, 277, 288, 279, 289, 281, - 43, 282, 283, 284, 277, 277, 277, 285, - 277, 277, 286, 277, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 277, - 287, 277, 279, 289, 281, 43, 282, 283, - 284, 277, 277, 277, 285, 277, 277, 286, - 277, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 287, 277, 290, - 277, 277, 277, 56, 291, 277, 282, 283, - 284, 277, 277, 277, 292, 277, 290, 277, - 293, 294, 295, 296, 43, 282, 283, 284, - 277, 277, 73, 297, 277, 277, 286, 277, - 277, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 277, 277, 287, 277, 298, 294, - 299, 299, 43, 282, 283, 284, 277, 277, - 277, 297, 277, 277, 286, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 287, 277, 294, 299, 299, 43, - 282, 283, 284, 277, 277, 277, 297, 277, - 277, 286, 277, 277, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 287, - 277, 300, 277, 277, 277, 56, 301, 277, - 282, 283, 284, 277, 277, 277, 292, 277, - 300, 277, 302, 303, 304, 305, 43, 282, - 283, 284, 277, 277, 71, 306, 277, 277, - 286, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 287, 277, - 307, 303, 308, 308, 43, 282, 283, 284, - 277, 277, 277, 306, 277, 277, 286, 277, - 277, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 277, 277, 287, 277, 303, 308, - 308, 43, 282, 283, 284, 277, 277, 277, - 306, 277, 277, 286, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 277, - 277, 287, 277, 309, 277, 277, 277, 56, - 310, 277, 282, 283, 284, 277, 277, 277, - 292, 277, 309, 277, 311, 312, 313, 314, - 43, 282, 283, 284, 277, 277, 69, 315, - 277, 277, 286, 277, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 277, - 287, 277, 316, 312, 317, 317, 43, 282, - 283, 284, 277, 277, 277, 315, 277, 277, - 286, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 287, 277, - 312, 317, 317, 43, 282, 283, 284, 277, - 277, 277, 315, 277, 277, 286, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 277, 287, 277, 318, 277, 277, - 277, 56, 319, 277, 282, 283, 284, 277, - 277, 277, 292, 277, 318, 277, 320, 321, - 322, 323, 43, 282, 283, 284, 277, 277, - 67, 324, 277, 277, 286, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 287, 277, 325, 321, 326, 326, - 43, 282, 283, 284, 277, 277, 277, 324, - 277, 277, 286, 277, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 277, - 287, 277, 321, 326, 326, 43, 282, 283, - 284, 277, 277, 277, 324, 277, 277, 286, - 277, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 287, 277, 56, - 327, 277, 282, 283, 284, 277, 277, 277, - 292, 277, 282, 283, 284, 277, 277, 277, - 292, 277, 328, 277, 277, 329, 283, 284, - 277, 283, 284, 277, 330, 277, 283, 331, - 277, 283, 332, 277, 283, 277, 328, 277, - 277, 277, 283, 284, 277, 333, 277, 334, - 335, 277, 282, 283, 284, 277, 277, 41, - 277, 40, 277, 277, 277, 277, 282, 283, - 284, 277, 282, 283, 284, 277, 333, 277, - 277, 277, 277, 282, 283, 284, 277, 333, - 277, 334, 277, 277, 282, 283, 284, 277, - 277, 41, 277, 56, 277, 336, 336, 43, - 282, 283, 284, 277, 277, 277, 292, 277, - 337, 65, 338, 339, 46, 282, 283, 284, - 277, 277, 277, 292, 277, 65, 338, 339, - 46, 282, 283, 284, 277, 277, 277, 292, - 277, 338, 338, 46, 282, 283, 284, 277, - 277, 277, 292, 277, 340, 62, 341, 342, - 49, 282, 283, 284, 277, 277, 277, 292, - 277, 62, 341, 342, 49, 282, 283, 284, - 277, 277, 277, 292, 277, 341, 341, 49, - 282, 283, 284, 277, 277, 277, 292, 277, - 343, 59, 344, 345, 52, 282, 283, 284, - 277, 277, 277, 292, 277, 59, 344, 345, - 52, 282, 283, 284, 277, 277, 277, 292, - 277, 344, 344, 52, 282, 283, 284, 277, - 277, 277, 292, 277, 346, 56, 277, 347, - 277, 282, 283, 284, 277, 277, 277, 292, - 277, 56, 277, 347, 277, 282, 283, 284, - 277, 277, 277, 292, 277, 348, 277, 282, - 283, 284, 277, 277, 277, 292, 277, 56, - 277, 277, 277, 277, 282, 283, 284, 277, - 277, 277, 292, 277, 39, 40, 277, 277, - 56, 327, 277, 282, 283, 284, 277, 277, - 277, 292, 277, 39, 277, 321, 326, 326, - 43, 282, 283, 284, 277, 277, 277, 324, - 277, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 277, - 287, 277, 321, 326, 326, 43, 282, 283, - 284, 277, 277, 277, 324, 277, 320, 321, - 326, 326, 43, 282, 283, 284, 277, 277, - 277, 324, 277, 277, 286, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 287, 277, 320, 321, 322, 326, - 43, 282, 283, 284, 277, 277, 67, 324, - 277, 277, 286, 277, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 277, - 287, 277, 318, 277, 349, 277, 336, 336, - 43, 282, 283, 284, 277, 277, 277, 292, - 277, 318, 277, 318, 277, 277, 277, 277, - 277, 277, 282, 283, 284, 277, 277, 277, - 292, 277, 318, 277, 318, 277, 277, 277, - 277, 350, 277, 282, 283, 284, 277, 277, - 277, 292, 277, 318, 277, 318, 277, 349, - 277, 277, 277, 277, 282, 283, 284, 277, - 277, 277, 292, 277, 318, 277, 318, 40, - 277, 277, 56, 319, 277, 282, 283, 284, - 277, 277, 277, 292, 277, 318, 277, 311, - 312, 317, 317, 43, 282, 283, 284, 277, - 277, 277, 315, 277, 277, 286, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 277, 287, 277, 311, 312, 313, - 317, 43, 282, 283, 284, 277, 277, 69, - 315, 277, 277, 286, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 277, - 277, 287, 277, 309, 277, 351, 277, 336, - 336, 43, 282, 283, 284, 277, 277, 277, - 292, 277, 309, 277, 309, 277, 277, 277, - 277, 277, 277, 282, 283, 284, 277, 277, - 277, 292, 277, 309, 277, 309, 277, 277, - 277, 277, 352, 277, 282, 283, 284, 277, - 277, 277, 292, 277, 309, 277, 309, 277, - 351, 277, 277, 277, 277, 282, 283, 284, - 277, 277, 277, 292, 277, 309, 277, 309, - 40, 277, 277, 56, 310, 277, 282, 283, - 284, 277, 277, 277, 292, 277, 309, 277, - 302, 303, 308, 308, 43, 282, 283, 284, - 277, 277, 277, 306, 277, 277, 286, 277, - 277, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 277, 277, 287, 277, 302, 303, - 304, 308, 43, 282, 283, 284, 277, 277, - 71, 306, 277, 277, 286, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 287, 277, 300, 277, 353, 277, - 336, 336, 43, 282, 283, 284, 277, 277, - 277, 292, 277, 300, 277, 300, 277, 277, - 277, 277, 277, 277, 282, 283, 284, 277, - 277, 277, 292, 277, 300, 277, 300, 277, - 277, 277, 277, 354, 277, 282, 283, 284, - 277, 277, 277, 292, 277, 300, 277, 300, - 277, 353, 277, 277, 277, 277, 282, 283, - 284, 277, 277, 277, 292, 277, 300, 277, - 300, 40, 277, 277, 56, 301, 277, 282, - 283, 284, 277, 277, 277, 292, 277, 300, - 277, 293, 294, 299, 299, 43, 282, 283, - 284, 277, 277, 277, 297, 277, 277, 286, - 277, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 287, 277, 293, - 294, 295, 299, 43, 282, 283, 284, 277, - 277, 73, 297, 277, 277, 286, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 277, 287, 277, 290, 277, 355, - 277, 336, 336, 43, 282, 283, 284, 277, - 277, 277, 292, 277, 290, 277, 290, 277, - 277, 277, 277, 277, 277, 282, 283, 284, - 277, 277, 277, 292, 277, 290, 277, 290, - 277, 277, 277, 277, 356, 277, 282, 283, - 284, 277, 277, 277, 292, 277, 290, 277, - 290, 277, 355, 277, 277, 277, 277, 282, - 283, 284, 277, 277, 277, 292, 277, 290, - 277, 74, 42, 42, 43, 277, 277, 277, - 277, 277, 277, 74, 277, 290, 40, 277, - 277, 56, 291, 277, 282, 283, 284, 277, - 277, 277, 292, 277, 290, 277, 278, 279, - 289, 281, 43, 282, 283, 284, 277, 277, - 277, 285, 277, 277, 286, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 287, 277, 358, 184, 359, 359, - 81, 187, 188, 189, 357, 357, 357, 191, - 357, 357, 194, 357, 357, 357, 357, 357, - 357, 357, 357, 357, 357, 357, 357, 357, - 196, 357, 184, 359, 359, 81, 187, 188, - 189, 357, 357, 357, 191, 357, 357, 194, - 357, 357, 357, 357, 357, 357, 357, 357, - 357, 357, 357, 357, 357, 196, 357, 360, - 357, 357, 357, 95, 361, 357, 187, 188, - 189, 357, 357, 357, 362, 357, 360, 357, - 363, 364, 365, 366, 81, 187, 188, 189, - 357, 357, 112, 367, 357, 357, 194, 357, - 357, 357, 357, 357, 357, 357, 357, 357, - 357, 357, 357, 357, 196, 357, 368, 364, - 369, 369, 81, 187, 188, 189, 357, 357, - 357, 367, 357, 357, 194, 357, 357, 357, - 357, 357, 357, 357, 357, 357, 357, 357, - 357, 357, 196, 357, 364, 369, 369, 81, - 187, 188, 189, 357, 357, 357, 367, 357, - 357, 194, 357, 357, 357, 357, 357, 357, - 357, 357, 357, 357, 357, 357, 357, 196, - 357, 370, 357, 357, 357, 95, 371, 357, - 187, 188, 189, 357, 357, 357, 362, 357, - 370, 357, 372, 373, 374, 375, 81, 187, - 188, 189, 357, 357, 110, 376, 357, 357, - 194, 357, 357, 357, 357, 357, 357, 357, - 357, 357, 357, 357, 357, 357, 196, 357, - 377, 373, 378, 378, 81, 187, 188, 189, - 357, 357, 357, 376, 357, 357, 194, 357, - 357, 357, 357, 357, 357, 357, 357, 357, - 357, 357, 357, 357, 196, 357, 373, 378, - 378, 81, 187, 188, 189, 357, 357, 357, - 376, 357, 357, 194, 357, 357, 357, 357, - 357, 357, 357, 357, 357, 357, 357, 357, - 357, 196, 357, 379, 357, 357, 357, 95, - 380, 357, 187, 188, 189, 357, 357, 357, - 362, 357, 379, 357, 381, 382, 383, 384, - 81, 187, 188, 189, 357, 357, 108, 385, - 357, 357, 194, 357, 357, 357, 357, 357, - 357, 357, 357, 357, 357, 357, 357, 357, - 196, 357, 386, 382, 387, 387, 81, 187, - 188, 189, 357, 357, 357, 385, 357, 357, - 194, 357, 357, 357, 357, 357, 357, 357, - 357, 357, 357, 357, 357, 357, 196, 357, - 382, 387, 387, 81, 187, 188, 189, 357, - 357, 357, 385, 357, 357, 194, 357, 357, - 357, 357, 357, 357, 357, 357, 357, 357, - 357, 357, 357, 196, 357, 388, 357, 357, - 357, 95, 389, 357, 187, 188, 189, 357, - 357, 357, 362, 357, 388, 357, 390, 391, - 392, 393, 81, 187, 188, 189, 357, 357, - 106, 394, 357, 357, 194, 357, 357, 357, - 357, 357, 357, 357, 357, 357, 357, 357, - 357, 357, 196, 357, 395, 391, 396, 396, - 81, 187, 188, 189, 357, 357, 357, 394, - 357, 357, 194, 357, 357, 357, 357, 357, - 357, 357, 357, 357, 357, 357, 357, 357, - 196, 357, 391, 396, 396, 81, 187, 188, - 189, 357, 357, 357, 394, 357, 357, 194, - 357, 357, 357, 357, 357, 357, 357, 357, - 357, 357, 357, 357, 357, 196, 357, 95, - 397, 357, 187, 188, 189, 357, 357, 357, - 362, 357, 187, 188, 189, 357, 357, 357, - 362, 357, 398, 357, 357, 399, 188, 189, - 357, 188, 189, 357, 400, 357, 188, 401, - 357, 188, 402, 357, 188, 357, 398, 357, - 357, 357, 188, 189, 357, 403, 357, 404, - 405, 357, 187, 188, 189, 357, 357, 79, - 357, 78, 357, 357, 357, 357, 187, 188, - 189, 357, 187, 188, 189, 357, 403, 357, - 357, 357, 357, 187, 188, 189, 357, 403, - 357, 404, 357, 357, 187, 188, 189, 357, - 357, 79, 357, 95, 357, 406, 406, 81, - 187, 188, 189, 357, 357, 357, 362, 357, - 407, 104, 408, 409, 85, 187, 188, 189, - 357, 357, 357, 362, 357, 104, 408, 409, - 85, 187, 188, 189, 357, 357, 357, 362, - 357, 408, 408, 85, 187, 188, 189, 357, - 357, 357, 362, 357, 410, 101, 411, 412, - 88, 187, 188, 189, 357, 357, 357, 362, - 357, 101, 411, 412, 88, 187, 188, 189, - 357, 357, 357, 362, 357, 411, 411, 88, - 187, 188, 189, 357, 357, 357, 362, 357, - 413, 98, 414, 415, 91, 187, 188, 189, - 357, 357, 357, 362, 357, 98, 414, 415, - 91, 187, 188, 189, 357, 357, 357, 362, - 357, 414, 414, 91, 187, 188, 189, 357, - 357, 357, 362, 357, 416, 95, 357, 417, - 357, 187, 188, 189, 357, 357, 357, 362, - 357, 95, 357, 417, 357, 187, 188, 189, - 357, 357, 357, 362, 357, 418, 357, 187, - 188, 189, 357, 357, 357, 362, 357, 95, - 357, 357, 357, 357, 187, 188, 189, 357, - 357, 357, 362, 357, 77, 78, 357, 357, - 95, 397, 357, 187, 188, 189, 357, 357, - 357, 362, 357, 77, 357, 391, 396, 396, - 81, 187, 188, 189, 357, 357, 357, 394, - 357, 357, 357, 357, 357, 357, 357, 357, - 357, 357, 357, 357, 357, 357, 357, 357, - 196, 357, 391, 396, 396, 81, 187, 188, - 189, 357, 357, 357, 394, 357, 390, 391, - 396, 396, 81, 187, 188, 189, 357, 357, - 357, 394, 357, 357, 194, 357, 357, 357, - 357, 357, 357, 357, 357, 357, 357, 357, - 357, 357, 196, 357, 390, 391, 392, 396, - 81, 187, 188, 189, 357, 357, 106, 394, - 357, 357, 194, 357, 357, 357, 357, 357, - 357, 357, 357, 357, 357, 357, 357, 357, - 196, 357, 388, 357, 419, 357, 406, 406, - 81, 187, 188, 189, 357, 357, 357, 362, - 357, 388, 357, 388, 357, 357, 357, 357, - 357, 357, 187, 188, 189, 357, 357, 357, - 362, 357, 388, 357, 388, 357, 357, 357, - 357, 420, 357, 187, 188, 189, 357, 357, - 357, 362, 357, 388, 357, 388, 357, 419, - 357, 357, 357, 357, 187, 188, 189, 357, - 357, 357, 362, 357, 388, 357, 388, 78, - 357, 357, 95, 389, 357, 187, 188, 189, - 357, 357, 357, 362, 357, 388, 357, 381, - 382, 387, 387, 81, 187, 188, 189, 357, - 357, 357, 385, 357, 357, 194, 357, 357, - 357, 357, 357, 357, 357, 357, 357, 357, - 357, 357, 357, 196, 357, 381, 382, 383, - 387, 81, 187, 188, 189, 357, 357, 108, - 385, 357, 357, 194, 357, 357, 357, 357, - 357, 357, 357, 357, 357, 357, 357, 357, - 357, 196, 357, 379, 357, 421, 357, 406, - 406, 81, 187, 188, 189, 357, 357, 357, - 362, 357, 379, 357, 379, 357, 357, 357, - 357, 357, 357, 187, 188, 189, 357, 357, - 357, 362, 357, 379, 357, 379, 357, 357, - 357, 357, 422, 357, 187, 188, 189, 357, - 357, 357, 362, 357, 379, 357, 379, 357, - 421, 357, 357, 357, 357, 187, 188, 189, - 357, 357, 357, 362, 357, 379, 357, 379, - 78, 357, 357, 95, 380, 357, 187, 188, - 189, 357, 357, 357, 362, 357, 379, 357, - 372, 373, 378, 378, 81, 187, 188, 189, - 357, 357, 357, 376, 357, 357, 194, 357, - 357, 357, 357, 357, 357, 357, 357, 357, - 357, 357, 357, 357, 196, 357, 372, 373, - 374, 378, 81, 187, 188, 189, 357, 357, - 110, 376, 357, 357, 194, 357, 357, 357, - 357, 357, 357, 357, 357, 357, 357, 357, - 357, 357, 196, 357, 370, 357, 423, 357, - 406, 406, 81, 187, 188, 189, 357, 357, - 357, 362, 357, 370, 357, 370, 357, 357, - 357, 357, 357, 357, 187, 188, 189, 357, - 357, 357, 362, 357, 370, 357, 370, 357, - 357, 357, 357, 424, 357, 187, 188, 189, - 357, 357, 357, 362, 357, 370, 357, 370, - 357, 423, 357, 357, 357, 357, 187, 188, - 189, 357, 357, 357, 362, 357, 370, 357, - 370, 78, 357, 357, 95, 371, 357, 187, - 188, 189, 357, 357, 357, 362, 357, 370, - 357, 363, 364, 369, 369, 81, 187, 188, - 189, 357, 357, 357, 367, 357, 357, 194, - 357, 357, 357, 357, 357, 357, 357, 357, - 357, 357, 357, 357, 357, 196, 357, 363, - 364, 365, 369, 81, 187, 188, 189, 357, - 357, 112, 367, 357, 357, 194, 357, 357, - 357, 357, 357, 357, 357, 357, 357, 357, - 357, 357, 357, 196, 357, 360, 357, 425, - 357, 406, 406, 81, 187, 188, 189, 357, - 357, 357, 362, 357, 360, 357, 360, 357, - 357, 357, 357, 357, 357, 187, 188, 189, - 357, 357, 357, 362, 357, 360, 357, 360, - 357, 357, 357, 357, 426, 357, 187, 188, - 189, 357, 357, 357, 362, 357, 360, 357, - 360, 357, 425, 357, 357, 357, 357, 187, - 188, 189, 357, 357, 357, 362, 357, 360, - 357, 360, 78, 357, 357, 95, 361, 357, - 187, 188, 189, 357, 357, 357, 362, 357, - 360, 357, 113, 80, 80, 81, 427, 427, - 427, 427, 427, 152, 113, 427, 183, 184, - 359, 359, 81, 187, 188, 189, 357, 357, - 357, 191, 357, 357, 194, 357, 357, 357, - 357, 357, 357, 357, 357, 357, 357, 357, - 357, 357, 196, 357, 113, 80, 80, 81, - 427, 427, 427, 427, 427, 427, 113, 427, - 429, 430, 431, 432, 119, 433, 434, 435, - 428, 428, 151, 436, 428, 428, 437, 428, - 428, 428, 428, 428, 428, 428, 428, 428, - 428, 428, 428, 428, 438, 428, 439, 430, - 432, 432, 119, 433, 434, 435, 428, 428, - 428, 436, 428, 428, 437, 428, 428, 428, - 428, 428, 428, 428, 428, 428, 428, 428, - 428, 428, 438, 428, 430, 432, 432, 119, - 433, 434, 435, 428, 428, 428, 436, 428, - 428, 437, 428, 428, 428, 428, 428, 428, - 428, 428, 428, 428, 428, 428, 428, 438, - 428, 440, 428, 428, 428, 132, 441, 428, - 433, 434, 435, 428, 428, 428, 442, 428, - 440, 428, 443, 444, 445, 446, 119, 433, - 434, 435, 428, 428, 149, 447, 428, 428, - 437, 428, 428, 428, 428, 428, 428, 428, - 428, 428, 428, 428, 428, 428, 438, 428, - 448, 444, 449, 449, 119, 433, 434, 435, - 428, 428, 428, 447, 428, 428, 437, 428, - 428, 428, 428, 428, 428, 428, 428, 428, - 428, 428, 428, 428, 438, 428, 444, 449, - 449, 119, 433, 434, 435, 428, 428, 428, - 447, 428, 428, 437, 428, 428, 428, 428, - 428, 428, 428, 428, 428, 428, 428, 428, - 428, 438, 428, 450, 428, 428, 428, 132, - 451, 428, 433, 434, 435, 428, 428, 428, - 442, 428, 450, 428, 452, 453, 454, 455, - 119, 433, 434, 435, 428, 428, 147, 456, - 428, 428, 437, 428, 428, 428, 428, 428, - 428, 428, 428, 428, 428, 428, 428, 428, - 438, 428, 457, 453, 458, 458, 119, 433, - 434, 435, 428, 428, 428, 456, 428, 428, - 437, 428, 428, 428, 428, 428, 428, 428, - 428, 428, 428, 428, 428, 428, 438, 428, - 453, 458, 458, 119, 433, 434, 435, 428, - 428, 428, 456, 428, 428, 437, 428, 428, - 428, 428, 428, 428, 428, 428, 428, 428, - 428, 428, 428, 438, 428, 459, 428, 428, - 428, 132, 460, 428, 433, 434, 435, 428, - 428, 428, 442, 428, 459, 428, 461, 462, - 463, 464, 119, 433, 434, 435, 428, 428, - 145, 465, 428, 428, 437, 428, 428, 428, - 428, 428, 428, 428, 428, 428, 428, 428, - 428, 428, 438, 428, 466, 462, 467, 467, - 119, 433, 434, 435, 428, 428, 428, 465, - 428, 428, 437, 428, 428, 428, 428, 428, - 428, 428, 428, 428, 428, 428, 428, 428, - 438, 428, 462, 467, 467, 119, 433, 434, - 435, 428, 428, 428, 465, 428, 428, 437, - 428, 428, 428, 428, 428, 428, 428, 428, - 428, 428, 428, 428, 428, 438, 428, 468, - 428, 428, 428, 132, 469, 428, 433, 434, - 435, 428, 428, 428, 442, 428, 468, 428, - 470, 471, 472, 473, 119, 433, 434, 435, - 428, 428, 143, 474, 428, 428, 437, 428, - 428, 428, 428, 428, 428, 428, 428, 428, - 428, 428, 428, 428, 438, 428, 475, 471, - 476, 476, 119, 433, 434, 435, 428, 428, - 428, 474, 428, 428, 437, 428, 428, 428, - 428, 428, 428, 428, 428, 428, 428, 428, - 428, 428, 438, 428, 471, 476, 476, 119, - 433, 434, 435, 428, 428, 428, 474, 428, - 428, 437, 428, 428, 428, 428, 428, 428, - 428, 428, 428, 428, 428, 428, 428, 438, - 428, 132, 477, 428, 433, 434, 435, 428, - 428, 428, 442, 428, 433, 434, 435, 428, - 428, 428, 442, 428, 478, 428, 428, 479, - 434, 435, 428, 434, 435, 428, 480, 428, - 434, 481, 428, 434, 482, 428, 434, 428, - 478, 428, 428, 428, 434, 435, 428, 483, - 428, 484, 485, 428, 433, 434, 435, 428, - 428, 117, 428, 116, 428, 428, 428, 428, - 433, 434, 435, 428, 433, 434, 435, 428, - 483, 428, 428, 428, 428, 433, 434, 435, - 428, 483, 428, 484, 428, 428, 433, 434, - 435, 428, 428, 117, 428, 132, 428, 486, - 486, 119, 433, 434, 435, 428, 428, 428, - 442, 428, 487, 141, 488, 489, 122, 433, - 434, 435, 428, 428, 428, 442, 428, 141, - 488, 489, 122, 433, 434, 435, 428, 428, - 428, 442, 428, 488, 488, 122, 433, 434, - 435, 428, 428, 428, 442, 428, 490, 138, - 491, 492, 125, 433, 434, 435, 428, 428, - 428, 442, 428, 138, 491, 492, 125, 433, - 434, 435, 428, 428, 428, 442, 428, 491, - 491, 125, 433, 434, 435, 428, 428, 428, - 442, 428, 493, 135, 494, 495, 128, 433, - 434, 435, 428, 428, 428, 442, 428, 135, - 494, 495, 128, 433, 434, 435, 428, 428, - 428, 442, 428, 494, 494, 128, 433, 434, - 435, 428, 428, 428, 442, 428, 496, 132, - 428, 497, 428, 433, 434, 435, 428, 428, - 428, 442, 428, 132, 428, 497, 428, 433, - 434, 435, 428, 428, 428, 442, 428, 498, - 428, 433, 434, 435, 428, 428, 428, 442, - 428, 132, 428, 428, 428, 428, 433, 434, - 435, 428, 428, 428, 442, 428, 115, 116, - 428, 428, 132, 477, 428, 433, 434, 435, - 428, 428, 428, 442, 428, 115, 428, 471, - 476, 476, 119, 433, 434, 435, 428, 428, - 428, 474, 428, 428, 428, 428, 428, 428, - 428, 428, 428, 428, 428, 428, 428, 428, - 428, 428, 438, 428, 471, 476, 476, 119, - 433, 434, 435, 428, 428, 428, 474, 428, - 470, 471, 476, 476, 119, 433, 434, 435, - 428, 428, 428, 474, 428, 428, 437, 428, - 428, 428, 428, 428, 428, 428, 428, 428, - 428, 428, 428, 428, 438, 428, 470, 471, - 472, 476, 119, 433, 434, 435, 428, 428, - 143, 474, 428, 428, 437, 428, 428, 428, - 428, 428, 428, 428, 428, 428, 428, 428, - 428, 428, 438, 428, 468, 428, 499, 428, - 486, 486, 119, 433, 434, 435, 428, 428, - 428, 442, 428, 468, 428, 468, 428, 428, - 428, 428, 428, 428, 433, 434, 435, 428, - 428, 428, 442, 428, 468, 428, 468, 428, - 428, 428, 428, 500, 428, 433, 434, 435, - 428, 428, 428, 442, 428, 468, 428, 468, - 428, 499, 428, 428, 428, 428, 433, 434, - 435, 428, 428, 428, 442, 428, 468, 428, - 468, 116, 428, 428, 132, 469, 428, 433, - 434, 435, 428, 428, 428, 442, 428, 468, - 428, 461, 462, 467, 467, 119, 433, 434, - 435, 428, 428, 428, 465, 428, 428, 437, - 428, 428, 428, 428, 428, 428, 428, 428, - 428, 428, 428, 428, 428, 438, 428, 461, - 462, 463, 467, 119, 433, 434, 435, 428, - 428, 145, 465, 428, 428, 437, 428, 428, - 428, 428, 428, 428, 428, 428, 428, 428, - 428, 428, 428, 438, 428, 459, 428, 501, - 428, 486, 486, 119, 433, 434, 435, 428, - 428, 428, 442, 428, 459, 428, 459, 428, - 428, 428, 428, 428, 428, 433, 434, 435, - 428, 428, 428, 442, 428, 459, 428, 459, - 428, 428, 428, 428, 502, 428, 433, 434, - 435, 428, 428, 428, 442, 428, 459, 428, - 459, 428, 501, 428, 428, 428, 428, 433, - 434, 435, 428, 428, 428, 442, 428, 459, - 428, 459, 116, 428, 428, 132, 460, 428, - 433, 434, 435, 428, 428, 428, 442, 428, - 459, 428, 452, 453, 458, 458, 119, 433, - 434, 435, 428, 428, 428, 456, 428, 428, - 437, 428, 428, 428, 428, 428, 428, 428, - 428, 428, 428, 428, 428, 428, 438, 428, - 452, 453, 454, 458, 119, 433, 434, 435, - 428, 428, 147, 456, 428, 428, 437, 428, - 428, 428, 428, 428, 428, 428, 428, 428, - 428, 428, 428, 428, 438, 428, 450, 428, - 503, 428, 486, 486, 119, 433, 434, 435, - 428, 428, 428, 442, 428, 450, 428, 450, - 428, 428, 428, 428, 428, 428, 433, 434, - 435, 428, 428, 428, 442, 428, 450, 428, - 450, 428, 428, 428, 428, 504, 428, 433, - 434, 435, 428, 428, 428, 442, 428, 450, - 428, 450, 428, 503, 428, 428, 428, 428, - 433, 434, 435, 428, 428, 428, 442, 428, - 450, 428, 450, 116, 428, 428, 132, 451, - 428, 433, 434, 435, 428, 428, 428, 442, - 428, 450, 428, 443, 444, 449, 449, 119, - 433, 434, 435, 428, 428, 428, 447, 428, - 428, 437, 428, 428, 428, 428, 428, 428, - 428, 428, 428, 428, 428, 428, 428, 438, - 428, 443, 444, 445, 449, 119, 433, 434, - 435, 428, 428, 149, 447, 428, 428, 437, - 428, 428, 428, 428, 428, 428, 428, 428, - 428, 428, 428, 428, 428, 438, 428, 440, - 428, 505, 428, 486, 486, 119, 433, 434, - 435, 428, 428, 428, 442, 428, 440, 428, - 440, 428, 428, 428, 428, 428, 428, 433, - 434, 435, 428, 428, 428, 442, 428, 440, - 428, 440, 428, 428, 428, 428, 506, 428, - 433, 434, 435, 428, 428, 428, 442, 428, - 440, 428, 440, 428, 505, 428, 428, 428, - 428, 433, 434, 435, 428, 428, 428, 442, - 428, 440, 428, 440, 116, 428, 428, 132, - 441, 428, 433, 434, 435, 428, 428, 428, - 442, 428, 440, 428, 429, 430, 432, 432, - 119, 433, 434, 435, 428, 428, 428, 436, - 428, 428, 437, 428, 428, 428, 428, 428, - 428, 428, 428, 428, 428, 428, 428, 428, - 438, 428, 181, 182, 183, 184, 507, 359, - 81, 187, 188, 189, 190, 190, 152, 191, - 357, 181, 194, 357, 357, 357, 357, 357, - 357, 357, 357, 357, 357, 357, 357, 357, - 196, 357, 198, 508, 200, 201, 5, 202, - 203, 204, 197, 197, 37, 205, 197, 197, - 206, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 207, 197, - 210, 182, 183, 184, 509, 510, 81, 511, - 512, 513, 197, 190, 152, 514, 197, 210, - 194, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 196, 197, - 113, 80, 80, 81, 202, 203, 204, 197, - 197, 152, 515, 197, 516, 2, 357, 357, - 357, 426, 357, 187, 188, 189, 357, 357, - 357, 362, 357, 516, 357, 517, 364, 518, - 519, 81, 511, 512, 513, 197, 197, 153, - 367, 197, 197, 194, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, - 197, 196, 197, 520, 364, 369, 369, 81, - 511, 512, 513, 197, 197, 197, 367, 197, - 197, 194, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 196, - 197, 364, 369, 369, 81, 511, 512, 513, - 197, 197, 197, 367, 197, 197, 194, 197, - 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 196, 197, 521, 197, - 197, 522, 512, 513, 197, 512, 513, 197, - 250, 197, 512, 523, 197, 512, 524, 197, - 512, 197, 521, 197, 197, 197, 512, 513, - 197, 517, 364, 369, 369, 81, 511, 512, - 513, 197, 197, 197, 367, 197, 197, 194, - 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 196, 197, 517, - 364, 518, 369, 81, 511, 512, 513, 197, - 197, 153, 367, 197, 197, 194, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 196, 197, 210, 197, 275, - 113, 525, 525, 155, 202, 203, 204, 197, - 197, 197, 515, 197, 210, 197, 526, 179, - 527, 528, 157, 511, 512, 513, 197, 197, - 197, 529, 197, 179, 527, 528, 157, 511, - 512, 513, 197, 197, 197, 529, 197, 527, - 527, 157, 511, 512, 513, 197, 197, 197, - 529, 197, 530, 176, 531, 532, 160, 511, - 512, 513, 197, 197, 197, 529, 197, 176, - 531, 532, 160, 511, 512, 513, 197, 197, - 197, 529, 197, 531, 531, 160, 511, 512, - 513, 197, 197, 197, 529, 197, 533, 173, - 534, 535, 163, 511, 512, 513, 197, 197, - 197, 529, 197, 173, 534, 535, 163, 511, - 512, 513, 197, 197, 197, 529, 197, 534, - 534, 163, 511, 512, 513, 197, 197, 197, - 529, 197, 536, 170, 197, 537, 197, 511, - 512, 513, 197, 197, 197, 529, 197, 170, - 197, 537, 197, 511, 512, 513, 197, 197, - 197, 529, 197, 511, 512, 513, 197, 197, - 197, 529, 197, 538, 197, 539, 540, 197, - 511, 512, 513, 197, 197, 167, 197, 166, - 197, 197, 197, 197, 511, 512, 513, 197, - 511, 512, 513, 197, 538, 197, 197, 197, - 197, 511, 512, 513, 197, 538, 197, 539, - 197, 197, 511, 512, 513, 197, 197, 167, - 197, 516, 166, 357, 357, 95, 361, 357, - 187, 188, 189, 357, 357, 357, 362, 357, - 516, 357, 542, 541, 541, 541, 541, 543, - 544, 545, 541, 543, 544, 545, 541, 546, - 541, 541, 547, 544, 545, 541, 544, 545, - 541, 548, 541, 544, 549, 541, 544, 550, - 541, 544, 541, 546, 541, 541, 541, 544, - 545, 541, 0 -}; - -static const short _indic_syllable_machine_trans_targs[] = { - 170, 199, 201, 202, 3, 205, 4, 6, - 208, 7, 9, 211, 10, 12, 214, 13, - 15, 16, 191, 18, 19, 213, 21, 22, - 210, 24, 25, 207, 216, 221, 225, 228, - 232, 235, 239, 242, 246, 249, 170, 279, - 281, 282, 39, 285, 40, 42, 288, 43, - 45, 291, 46, 48, 294, 49, 51, 52, - 271, 54, 55, 293, 57, 58, 290, 60, - 61, 287, 296, 301, 305, 308, 312, 315, - 319, 322, 326, 330, 170, 358, 360, 361, - 75, 364, 170, 76, 78, 367, 79, 81, - 370, 82, 84, 373, 85, 87, 88, 350, - 90, 91, 372, 93, 94, 369, 96, 97, - 366, 375, 380, 384, 387, 391, 394, 398, - 401, 405, 170, 439, 441, 442, 110, 445, - 111, 113, 448, 114, 116, 451, 117, 119, - 454, 120, 122, 123, 431, 125, 126, 453, - 128, 129, 450, 131, 132, 447, 456, 461, - 465, 468, 472, 475, 479, 482, 486, 489, - 409, 505, 146, 508, 148, 511, 149, 151, - 514, 152, 154, 517, 155, 520, 522, 523, - 159, 160, 519, 162, 163, 516, 165, 166, - 513, 168, 169, 510, 170, 171, 251, 331, - 333, 408, 410, 351, 353, 354, 411, 407, - 490, 491, 378, 526, 379, 170, 172, 174, - 35, 250, 192, 194, 195, 248, 219, 220, - 173, 34, 175, 244, 0, 176, 178, 33, - 243, 241, 177, 32, 179, 237, 180, 182, - 31, 236, 234, 181, 30, 183, 230, 184, - 186, 29, 229, 227, 185, 28, 187, 223, - 188, 190, 27, 222, 218, 189, 26, 204, - 193, 198, 170, 196, 197, 200, 1, 203, - 2, 206, 5, 23, 209, 8, 20, 212, - 11, 17, 215, 14, 217, 224, 226, 231, - 233, 238, 240, 245, 247, 170, 252, 254, - 71, 328, 272, 274, 275, 329, 299, 300, - 253, 70, 255, 324, 36, 256, 258, 69, - 323, 321, 257, 68, 259, 317, 260, 262, - 67, 316, 314, 261, 66, 263, 310, 264, - 266, 65, 309, 307, 265, 64, 267, 303, - 268, 270, 63, 302, 298, 269, 62, 284, - 273, 278, 170, 276, 277, 280, 37, 283, - 38, 286, 41, 59, 289, 44, 56, 292, - 47, 53, 295, 50, 297, 304, 306, 311, - 313, 318, 320, 325, 327, 170, 332, 106, - 334, 403, 72, 335, 337, 105, 402, 400, - 336, 104, 338, 396, 339, 341, 103, 395, - 393, 340, 102, 342, 389, 343, 345, 101, - 388, 386, 344, 100, 346, 382, 347, 349, - 99, 381, 377, 348, 98, 363, 352, 357, - 170, 355, 356, 359, 73, 362, 74, 365, - 77, 95, 368, 80, 92, 371, 83, 89, - 374, 86, 376, 383, 385, 390, 392, 397, - 399, 404, 406, 170, 170, 412, 414, 142, - 141, 432, 434, 435, 488, 459, 460, 413, - 415, 484, 107, 416, 418, 140, 483, 481, - 417, 139, 419, 477, 420, 422, 138, 476, - 474, 421, 137, 423, 470, 424, 426, 136, - 469, 467, 425, 135, 427, 463, 428, 430, - 134, 462, 458, 429, 133, 444, 433, 438, - 170, 436, 437, 440, 108, 443, 109, 446, - 112, 130, 449, 115, 127, 452, 118, 124, - 455, 121, 457, 464, 466, 471, 473, 478, - 480, 485, 487, 143, 492, 493, 507, 498, - 500, 501, 525, 494, 495, 496, 144, 506, - 497, 499, 504, 502, 503, 145, 509, 147, - 167, 156, 512, 150, 164, 515, 153, 161, - 518, 158, 521, 157, 524, 170, 527, 528, - 530, 531, 529, 534, 170, 532, 533 -}; - -static const char _indic_syllable_machine_trans_actions[] = { - 1, 2, 0, 0, 0, 2, 0, 0, - 2, 0, 0, 2, 0, 0, 2, 0, - 0, 0, 2, 0, 0, 2, 0, 0, - 2, 0, 0, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 3, 2, - 0, 0, 0, 2, 0, 0, 2, 0, - 0, 2, 0, 0, 2, 0, 0, 0, - 2, 0, 0, 2, 0, 0, 2, 0, - 0, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 4, 2, 0, 0, - 0, 2, 5, 0, 0, 2, 0, 0, - 2, 0, 0, 2, 0, 0, 0, 2, - 0, 0, 2, 0, 0, 2, 0, 0, - 2, 2, 6, 2, 6, 2, 6, 2, - 6, 2, 7, 2, 0, 0, 0, 2, - 0, 0, 2, 0, 0, 2, 0, 0, - 2, 0, 0, 0, 2, 0, 0, 2, - 0, 0, 2, 0, 0, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, - 6, 8, 0, 2, 0, 2, 0, 0, - 2, 0, 0, 2, 0, 2, 0, 0, - 0, 0, 2, 0, 0, 2, 0, 0, - 2, 0, 0, 2, 11, 2, 2, 6, - 2, 12, 12, 0, 0, 0, 2, 2, - 6, 2, 6, 0, 6, 13, 2, 2, - 0, 2, 0, 0, 0, 2, 2, 2, - 2, 0, 2, 2, 0, 2, 2, 0, - 2, 2, 2, 0, 2, 2, 2, 2, - 0, 2, 2, 2, 0, 2, 2, 2, - 2, 0, 2, 2, 2, 0, 2, 2, - 2, 2, 0, 2, 2, 2, 0, 2, - 0, 0, 14, 0, 0, 0, 0, 2, - 0, 2, 0, 0, 2, 0, 0, 2, - 0, 0, 2, 0, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 15, 2, 2, - 0, 2, 0, 0, 0, 2, 2, 2, - 2, 0, 2, 2, 0, 2, 2, 0, - 2, 2, 2, 0, 2, 2, 2, 2, - 0, 2, 2, 2, 0, 2, 2, 2, - 2, 0, 2, 2, 2, 0, 2, 2, - 2, 2, 0, 2, 2, 2, 0, 2, - 0, 0, 16, 0, 0, 0, 0, 2, - 0, 2, 0, 0, 2, 0, 0, 2, - 0, 0, 2, 0, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 17, 6, 0, - 6, 6, 0, 6, 2, 0, 6, 2, - 6, 0, 6, 6, 6, 2, 0, 6, - 2, 6, 0, 6, 6, 6, 2, 0, - 6, 2, 6, 0, 6, 6, 6, 2, - 0, 6, 2, 6, 0, 6, 0, 0, - 18, 0, 0, 0, 0, 2, 0, 2, - 0, 0, 2, 0, 0, 2, 0, 0, - 2, 0, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 19, 20, 2, 2, 0, - 0, 0, 0, 0, 2, 2, 2, 2, - 2, 2, 0, 2, 2, 0, 2, 2, - 2, 0, 2, 2, 2, 2, 0, 2, - 2, 2, 0, 2, 2, 2, 2, 0, - 2, 2, 2, 0, 2, 2, 2, 2, - 0, 2, 2, 2, 0, 2, 0, 0, - 21, 0, 0, 0, 0, 2, 0, 2, - 0, 0, 2, 0, 0, 2, 0, 0, - 2, 0, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 0, 0, 8, 2, 0, - 0, 0, 2, 2, 8, 8, 0, 8, - 8, 0, 0, 0, 0, 0, 2, 0, - 0, 0, 2, 0, 0, 2, 0, 0, - 2, 0, 0, 0, 2, 22, 0, 0, - 0, 0, 0, 0, 23, 0, 0 -}; - -static const char _indic_syllable_machine_to_state_actions[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 9, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0 -}; - -static const char _indic_syllable_machine_from_state_actions[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0 -}; - -static const short _indic_syllable_machine_eof_trans[] = { - 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, - 77, 77, 77, 83, 83, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, - 83, 77, 77, 115, 115, 115, 115, 115, - 115, 115, 115, 115, 115, 115, 115, 115, - 115, 115, 115, 115, 115, 115, 115, 115, - 115, 115, 115, 115, 115, 115, 115, 115, - 115, 115, 115, 115, 115, 115, 115, 77, - 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 0, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 278, 278, 278, 278, 278, - 278, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 278, 358, 358, 358, 358, 358, - 358, 358, 358, 358, 358, 358, 358, 358, - 358, 358, 358, 358, 358, 358, 358, 358, - 358, 358, 358, 358, 358, 358, 358, 358, - 358, 358, 358, 358, 358, 358, 358, 358, - 358, 358, 358, 358, 358, 358, 358, 358, - 358, 358, 358, 358, 358, 358, 358, 358, - 358, 358, 358, 358, 358, 358, 358, 358, - 358, 358, 358, 358, 358, 358, 358, 358, - 358, 358, 358, 358, 358, 358, 358, 358, - 428, 358, 428, 429, 429, 429, 429, 429, - 429, 429, 429, 429, 429, 429, 429, 429, - 429, 429, 429, 429, 429, 429, 429, 429, - 429, 429, 429, 429, 429, 429, 429, 429, - 429, 429, 429, 429, 429, 429, 429, 429, - 429, 429, 429, 429, 429, 429, 429, 429, - 429, 429, 429, 429, 429, 429, 429, 429, - 429, 429, 429, 429, 429, 429, 429, 429, - 429, 429, 429, 429, 429, 429, 429, 429, - 429, 429, 429, 429, 429, 429, 429, 429, - 429, 429, 358, 198, 198, 198, 358, 198, - 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 358, 542, 542, - 542, 542, 542, 542, 542, 542, 542 -}; - -static const int indic_syllable_machine_start = 170; -static const int indic_syllable_machine_first_final = 170; -static const int indic_syllable_machine_error = -1; - -static const int indic_syllable_machine_en_main = 170; - - -#line 36 "hb-ot-shape-complex-indic-machine.rl" - - - -#line 97 "hb-ot-shape-complex-indic-machine.rl" - - -#define found_syllable(syllable_type) \ - HB_STMT_START { \ - if (0) fprintf (stderr, "syllable %d..%d %s\n", last, p+1, #syllable_type); \ - for (unsigned int i = last; i < p+1; i++) \ - info[i].syllable() = (syllable_serial << 4) | syllable_type; \ - last = p+1; \ - syllable_serial++; \ - if (unlikely (syllable_serial == 16)) syllable_serial = 1; \ - } HB_STMT_END - -static void -find_syllables (hb_buffer_t *buffer) -{ - unsigned int p, pe, eof, ts HB_UNUSED, te HB_UNUSED, act HB_UNUSED; - int cs; - hb_glyph_info_t *info = buffer->info; - -#line 1554 "hb-ot-shape-complex-indic-machine.hh" - { - cs = indic_syllable_machine_start; - ts = 0; - te = 0; - act = 0; - } - -#line 118 "hb-ot-shape-complex-indic-machine.rl" - - - p = 0; - pe = eof = buffer->len; - - unsigned int last = 0; - unsigned int syllable_serial = 1; - -#line 1571 "hb-ot-shape-complex-indic-machine.hh" - { - int _slen; - int _trans; - const unsigned char *_keys; - const short *_inds; - if ( p == pe ) - goto _test_eof; -_resume: - switch ( _indic_syllable_machine_from_state_actions[cs] ) { - case 10: -#line 1 "NONE" - {ts = p;} - break; -#line 1585 "hb-ot-shape-complex-indic-machine.hh" - } - - _keys = _indic_syllable_machine_trans_keys + (cs<<1); - _inds = _indic_syllable_machine_indicies + _indic_syllable_machine_index_offsets[cs]; - - _slen = _indic_syllable_machine_key_spans[cs]; - _trans = _inds[ _slen > 0 && _keys[0] <=( info[p].indic_category()) && - ( info[p].indic_category()) <= _keys[1] ? - ( info[p].indic_category()) - _keys[0] : _slen ]; - -_eof_trans: - cs = _indic_syllable_machine_trans_targs[_trans]; - - if ( _indic_syllable_machine_trans_actions[_trans] == 0 ) - goto _again; - - switch ( _indic_syllable_machine_trans_actions[_trans] ) { - case 2: -#line 1 "NONE" - {te = p+1;} - break; - case 14: -#line 88 "hb-ot-shape-complex-indic-machine.rl" - {te = p+1;{ found_syllable (consonant_syllable); }} - break; - case 16: -#line 89 "hb-ot-shape-complex-indic-machine.rl" - {te = p+1;{ found_syllable (vowel_syllable); }} - break; - case 21: -#line 90 "hb-ot-shape-complex-indic-machine.rl" - {te = p+1;{ found_syllable (standalone_cluster); }} - break; - case 23: -#line 91 "hb-ot-shape-complex-indic-machine.rl" - {te = p+1;{ found_syllable (symbol_cluster); }} - break; - case 18: -#line 92 "hb-ot-shape-complex-indic-machine.rl" - {te = p+1;{ found_syllable (broken_cluster); }} - break; - case 11: -#line 93 "hb-ot-shape-complex-indic-machine.rl" - {te = p+1;{ found_syllable (non_indic_cluster); }} - break; - case 13: -#line 88 "hb-ot-shape-complex-indic-machine.rl" - {te = p;p--;{ found_syllable (consonant_syllable); }} - break; - case 15: -#line 89 "hb-ot-shape-complex-indic-machine.rl" - {te = p;p--;{ found_syllable (vowel_syllable); }} - break; - case 20: -#line 90 "hb-ot-shape-complex-indic-machine.rl" - {te = p;p--;{ found_syllable (standalone_cluster); }} - break; - case 22: -#line 91 "hb-ot-shape-complex-indic-machine.rl" - {te = p;p--;{ found_syllable (symbol_cluster); }} - break; - case 17: -#line 92 "hb-ot-shape-complex-indic-machine.rl" - {te = p;p--;{ found_syllable (broken_cluster); }} - break; - case 19: -#line 93 "hb-ot-shape-complex-indic-machine.rl" - {te = p;p--;{ found_syllable (non_indic_cluster); }} - break; - case 1: -#line 88 "hb-ot-shape-complex-indic-machine.rl" - {{p = ((te))-1;}{ found_syllable (consonant_syllable); }} - break; - case 3: -#line 89 "hb-ot-shape-complex-indic-machine.rl" - {{p = ((te))-1;}{ found_syllable (vowel_syllable); }} - break; - case 7: -#line 90 "hb-ot-shape-complex-indic-machine.rl" - {{p = ((te))-1;}{ found_syllable (standalone_cluster); }} - break; - case 4: -#line 92 "hb-ot-shape-complex-indic-machine.rl" - {{p = ((te))-1;}{ found_syllable (broken_cluster); }} - break; - case 5: -#line 1 "NONE" - { switch( act ) { - case 1: - {{p = ((te))-1;} found_syllable (consonant_syllable); } - break; - case 5: - {{p = ((te))-1;} found_syllable (broken_cluster); } - break; - case 6: - {{p = ((te))-1;} found_syllable (non_indic_cluster); } - break; - } - } - break; - case 8: -#line 1 "NONE" - {te = p+1;} -#line 88 "hb-ot-shape-complex-indic-machine.rl" - {act = 1;} - break; - case 6: -#line 1 "NONE" - {te = p+1;} -#line 92 "hb-ot-shape-complex-indic-machine.rl" - {act = 5;} - break; - case 12: -#line 1 "NONE" - {te = p+1;} -#line 93 "hb-ot-shape-complex-indic-machine.rl" - {act = 6;} - break; -#line 1704 "hb-ot-shape-complex-indic-machine.hh" - } - -_again: - switch ( _indic_syllable_machine_to_state_actions[cs] ) { - case 9: -#line 1 "NONE" - {ts = 0;} - break; -#line 1713 "hb-ot-shape-complex-indic-machine.hh" - } - - if ( ++p != pe ) - goto _resume; - _test_eof: {} - if ( p == eof ) - { - if ( _indic_syllable_machine_eof_trans[cs] > 0 ) { - _trans = _indic_syllable_machine_eof_trans[cs] - 1; - goto _eof_trans; - } - } - - } - -#line 127 "hb-ot-shape-complex-indic-machine.rl" - -} - -#endif /* HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH */ diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36-PATCHES/ChangeLog b/Build/source/libs/harfbuzz/harfbuzz-0.9.37-PATCHES/ChangeLog index 62fff4f77ce..62fff4f77ce 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36-PATCHES/ChangeLog +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37-PATCHES/ChangeLog diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36-PATCHES/TL-Changes b/Build/source/libs/harfbuzz/harfbuzz-0.9.37-PATCHES/TL-Changes index 18fa820bbb8..00982ef523f 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36-PATCHES/TL-Changes +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37-PATCHES/TL-Changes @@ -1,4 +1,4 @@ -Changes applied to the harfbuzz-0.9.36/ tree as obtained from: +Changes applied to the harfbuzz-0.9.37/ tree as obtained from: http://www.freedesktop.org/software/harfbuzz/release/ Removed: diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/AUTHORS b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/AUTHORS index 81cdc4cf37f..81cdc4cf37f 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/AUTHORS +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/AUTHORS diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/Android.mk b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/Android.mk index 07dfa5b1d87..07dfa5b1d87 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/Android.mk +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/Android.mk diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/ChangeLog b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/ChangeLog index ebb55d5dbc6..28b88ab4438 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/ChangeLog +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/ChangeLog @@ -1,3 +1,128 @@ +commit 66e37409b3bc1eddc86704ae26d9176677ce6aa6 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Dec 17 12:09:17 2014 -0800 + + 0.9.37 + + NEWS | 8 ++++++++ + configure.ac | 2 +- + 2 files changed, 9 insertions(+), 1 deletion(-) + +commit 093c520de506aec74f3fb1e195c0ca85813424dd +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Dec 12 21:07:53 2014 -0800 + + [otlayout] Mark variables that are C arrays as opposed to OT::ArrayOf + + src/hb-ot-layout-gpos-table.hh | 24 +++++++-------- + src/hb-ot-layout-gsubgpos-private.hh | 60 + ++++++++++++++++++------------------ + 2 files changed, 42 insertions(+), 42 deletions(-) + +commit 9df0a520306a491f973d42965597bfda6023e508 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Dec 12 20:54:28 2014 -0800 + + [otlayout] Avoid invalid access with Context format 3 + + src/hb-ot-layout-gsubgpos-private.hh | 2 ++ + 1 file changed, 2 insertions(+) + +commit 295ef1dd5229f47d8e0eb5b4eb48c90a6b470073 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Dec 12 20:43:18 2014 -0800 + + [ot] Debug get_coverage + + src/hb-ot-layout-gsubgpos-private.hh | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 00f6a8e334ec4c586e4e633a95b411ccb50306d3 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Dec 12 20:36:49 2014 -0800 + + [ot] Print format in dispatch trace + + src/hb-ot-layout-gpos-table.hh | 16 ++++++++-------- + src/hb-ot-layout-gsub-table.hh | 14 +++++++------- + src/hb-ot-layout-gsubgpos-private.hh | 8 ++++---- + 3 files changed, 19 insertions(+), 19 deletions(-) + +commit 5c7d6f02d71362c2b192a7d96e6181977682921c +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Dec 12 20:28:49 2014 -0800 + + Minor + + src/hb-private.hh | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 153beebba9b76901b8b62b90ba0dc69462ae2090 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Dec 12 19:46:09 2014 -0800 + + [ot] Make sure all toplevel tables have tableTag + + src/hb-open-file-private.hh | 2 ++ + src/hb-ot-hhea-table.hh | 2 ++ + src/hb-ot-hmtx-table.hh | 2 ++ + 3 files changed, 6 insertions(+) + +commit 282b13f9b4d86b091714de7fbddc94b3e3ff3d91 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Dec 12 19:32:46 2014 -0800 + + [sanitize] Improve debug output some more + + src/hb-open-type-private.hh | 30 ++++++++++++++++-------------- + 1 file changed, 16 insertions(+), 14 deletions(-) + +commit 0766ee1f4e6046598a2e8fb1b167c3942b4a87a0 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Dec 12 18:23:20 2014 -0800 + + [sanitize] Improve debug output + + src/hb-open-type-private.hh | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +commit e6f80fa1044243898c402ec6a59d6c1b5420be53 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Dec 10 12:05:24 2014 -0800 + + [indic] Allow ZWJ/ZWNJ before SM + + In Oriya, a ZWJ/ZWNJ might be added before candrabindu to encourage + or stop ligation of the candrabindu. This is clearly specified in + the Unicode section on Oriya. Allow it there. Note that Uniscribe + doesn't allow this. + + Micro tests added using Noto Sans Oriya draft. + + No changes in numbers. Currently at: + + BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%) + DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%) + GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%) + GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%) + KANNADA: 951190 out of 951913 tests passed. 723 failed (0.0759523%) + KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%) + MALAYALAM: 1048147 out of 1048334 tests passed. 187 failed + (0.0178378%) + ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) + SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%) + TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%) + TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%) + + src/hb-ot-shape-complex-indic-machine.rl | 2 +- + test/shaping/Makefile.am | 1 + + .../sha1sum/5028afb650b1bb718ed2131e872fbcce57828fff.ttf | Bin 0 -> + 4720 bytes + test/shaping/fonts/sha1sum/MANIFEST | 1 + + test/shaping/tests/MANIFEST | 1 + + test/shaping/tests/indic-joiner-candrabindu.tests | 2 ++ + 6 files changed, 6 insertions(+), 1 deletion(-) + commit c0e95abc5f3f14121483b71f10837828a3a1d73a Author: Behdad Esfahbod <behdad@behdad.org> Date: Thu Nov 20 14:42:24 2014 -0800 diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/Makefile.am b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/Makefile.am index fa8711403d5..fa8711403d5 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/Makefile.am +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/Makefile.am diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/NEWS b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/NEWS index 21390c6188a..e3b69d39734 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/NEWS +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/NEWS @@ -1,3 +1,11 @@ +Overview of changes leading to 0.9.37 +Wednesday, December 17, 2014 +===================================== + +- Fix out-of-bounds access in Context lookup format 3. +- Indic: Allow ZWJ/ZWNJ before syllable modifiers. + + Overview of changes leading to 0.9.36 Thursday, November 20, 2014 ===================================== diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/README b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/README index d34bc74f997..d34bc74f997 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/README +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/README diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/THANKS b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/THANKS index 940cfde5c39..940cfde5c39 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/THANKS +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/THANKS diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/TODO b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/TODO index e1aa39c4c01..e1aa39c4c01 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/TODO +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/TODO diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/autogen.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/autogen.sh index a267f297b06..a267f297b06 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/autogen.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/autogen.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/config.h.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/config.h.in index 491e7f428ef..491e7f428ef 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/config.h.in +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/config.h.in diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/configure.ac b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/configure.ac index d8b7a03c751..ec4174848ce 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/configure.ac +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/configure.ac @@ -1,6 +1,6 @@ AC_PREREQ([2.64]) AC_INIT([HarfBuzz], - [0.9.36], + [0.9.37], [http://bugs.freedesktop.org/enter_bug.cgi?product=harfbuzz], [harfbuzz], [http://harfbuzz.org/]) diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/gtk-doc.make b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/gtk-doc.make index e7916563d75..e7916563d75 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/gtk-doc.make +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/gtk-doc.make diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/harfbuzz.doap b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/harfbuzz.doap index d2896ebefa8..d2896ebefa8 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/harfbuzz.doap +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/harfbuzz.doap diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/Makefile.am b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/Makefile.am index 71614a4fac9..71614a4fac9 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/Makefile.am +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/Makefile.am diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/check-c-linkage-decls.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-c-linkage-decls.sh index b10310f5384..b10310f5384 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/check-c-linkage-decls.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-c-linkage-decls.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/check-defs.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-defs.sh index 65a24670e48..65a24670e48 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/check-defs.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-defs.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/check-header-guards.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-header-guards.sh index 9a3302c7f87..9a3302c7f87 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/check-header-guards.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-header-guards.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/check-includes.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-includes.sh index 902f2357e2a..902f2357e2a 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/check-includes.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-includes.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/check-libstdc++.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-libstdc++.sh index 27deb42dc97..27deb42dc97 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/check-libstdc++.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-libstdc++.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/check-static-inits.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-static-inits.sh index 1446fa73405..1446fa73405 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/check-static-inits.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-static-inits.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/check-symbols.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-symbols.sh index b2bf43fcea5..b2bf43fcea5 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/check-symbols.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-symbols.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/gen-arabic-table.py b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/gen-arabic-table.py index 308435f991e..308435f991e 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/gen-arabic-table.py +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/gen-arabic-table.py diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/gen-indic-table.py b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/gen-indic-table.py index 4fb76f445c6..4fb76f445c6 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/gen-indic-table.py +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/gen-indic-table.py diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/harfbuzz-gobject.pc.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/harfbuzz-gobject.pc.in index 70083601901..70083601901 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/harfbuzz-gobject.pc.in +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/harfbuzz-gobject.pc.in diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/harfbuzz-icu.pc.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/harfbuzz-icu.pc.in index 949869a3563..949869a3563 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/harfbuzz-icu.pc.in +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/harfbuzz-icu.pc.in diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/harfbuzz.pc.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/harfbuzz.pc.in index 7f27bbbdef0..7f27bbbdef0 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/harfbuzz.pc.in +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/harfbuzz.pc.in diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-atomic-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-atomic-private.hh index e6738b7d9f6..e6738b7d9f6 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-atomic-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-atomic-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-blob.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-blob.cc index b82b4b2a3a3..b82b4b2a3a3 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-blob.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-blob.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-blob.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-blob.h index b2419abfd2a..b2419abfd2a 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-blob.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-blob.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-buffer-deserialize-json.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-deserialize-json.hh index 3f626bda40d..3f626bda40d 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-buffer-deserialize-json.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-deserialize-json.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-buffer-deserialize-json.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-deserialize-json.rl index 91b350f5ac0..91b350f5ac0 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-buffer-deserialize-json.rl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-deserialize-json.rl diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-buffer-deserialize-text.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-deserialize-text.hh index 803efbd23b7..803efbd23b7 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-buffer-deserialize-text.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-deserialize-text.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-buffer-deserialize-text.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-deserialize-text.rl index 8856580fbe3..8856580fbe3 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-buffer-deserialize-text.rl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-deserialize-text.rl diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-buffer-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-private.hh index 069f9255811..069f9255811 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-buffer-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-buffer-serialize.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-serialize.cc index 406d69db758..406d69db758 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-buffer-serialize.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-serialize.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-buffer.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer.cc index 74ae273eeca..74ae273eeca 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-buffer.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-buffer.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer.h index 7b0c9204688..7b0c9204688 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-buffer.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-cache-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-cache-private.hh index 19b70b7e395..19b70b7e395 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-cache-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-cache-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-common.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-common.cc index a6a51447941..a6a51447941 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-common.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-common.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-common.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-common.h index b6ce3f724de..b6ce3f724de 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-common.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-common.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-coretext.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-coretext.cc index 11629cc18ce..11629cc18ce 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-coretext.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-coretext.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-coretext.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-coretext.h index 25267bc9784..25267bc9784 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-coretext.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-coretext.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-deprecated.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-deprecated.h index 30ae4b1caf7..30ae4b1caf7 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-deprecated.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-deprecated.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-face-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-face-private.hh index c4266fff4f0..c4266fff4f0 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-face-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-face-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-face.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-face.cc index 9348af7bf8e..9348af7bf8e 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-face.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-face.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-face.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-face.h index f682c468de5..f682c468de5 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-face.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-face.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-fallback-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-fallback-shape.cc index 9d061a9e845..9d061a9e845 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-fallback-shape.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-fallback-shape.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-font-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-font-private.hh index 33bbf7143a2..33bbf7143a2 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-font-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-font-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-font.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-font.cc index 4364ca72fb0..4364ca72fb0 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-font.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-font.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-font.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-font.h index 7273db43eda..7273db43eda 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-font.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-font.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ft.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ft.cc index c42d484c48b..c42d484c48b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ft.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ft.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ft.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ft.h index 696251e143f..696251e143f 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ft.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ft.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-glib.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-glib.cc index af43cab7113..af43cab7113 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-glib.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-glib.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-glib.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-glib.h index 63a9d3366c5..63a9d3366c5 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-glib.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-glib.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-gobject-enums.cc.tmpl b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject-enums.cc.tmpl index ca458a3846c..ca458a3846c 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-gobject-enums.cc.tmpl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject-enums.cc.tmpl diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-gobject-enums.h.tmpl b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject-enums.h.tmpl index 6ecda06c2a6..6ecda06c2a6 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-gobject-enums.h.tmpl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject-enums.h.tmpl diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-gobject-structs.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject-structs.cc index 2451b66291b..2451b66291b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-gobject-structs.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject-structs.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-gobject-structs.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject-structs.h index 4a88d569e8d..4a88d569e8d 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-gobject-structs.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject-structs.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-gobject.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject.h index ea1bd25df82..ea1bd25df82 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-gobject.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-graphite2.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-graphite2.cc index 807c3308771..807c3308771 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-graphite2.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-graphite2.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-graphite2.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-graphite2.h index 3eae54acbd8..3eae54acbd8 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-graphite2.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-graphite2.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-icu.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-icu.cc index 86c8b5cc5a2..86c8b5cc5a2 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-icu.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-icu.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-icu.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-icu.h index f2f35f0f2ce..f2f35f0f2ce 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-icu.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-icu.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-mutex-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-mutex-private.hh index 62812019585..62812019585 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-mutex-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-mutex-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-object-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-object-private.hh index 7bd0f1624b5..7bd0f1624b5 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-object-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-object-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-open-file-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-open-file-private.hh index 57db59db84a..7500c32f156 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-open-file-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-open-file-private.hh @@ -197,6 +197,8 @@ struct TTCHeader struct OpenTypeFontFile { + static const hb_tag_t tableTag = HB_TAG ('_','_','_','_'); /* Sanitizer needs this. */ + static const hb_tag_t CFFTag = HB_TAG ('O','T','T','O'); /* OpenType with Postscript outlines */ static const hb_tag_t TrueTypeTag = HB_TAG ( 0 , 1 , 0 , 0 ); /* OpenType with TrueType outlines */ static const hb_tag_t TTCTag = HB_TAG ('t','t','c','f'); /* TrueType Collection */ diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-open-type-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-open-type-private.hh index a58e790e04a..5616f04deec 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-open-type-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-open-type-private.hh @@ -197,7 +197,7 @@ struct hb_sanitize_context_t this->edit_count = 0; this->debug_depth = 0; - DEBUG_MSG_LEVEL (SANITIZE, this->blob, 0, +1, + DEBUG_MSG_LEVEL (SANITIZE, start, 0, +1, "start [%p..%p] (%lu bytes)", this->start, this->end, (unsigned long) (this->end - this->start)); @@ -205,7 +205,7 @@ struct hb_sanitize_context_t inline void end_processing (void) { - DEBUG_MSG_LEVEL (SANITIZE, this->blob, 0, -1, + DEBUG_MSG_LEVEL (SANITIZE, this->start, 0, -1, "end [%p..%p] %u edit requests", this->start, this->end, this->edit_count); @@ -217,28 +217,31 @@ struct hb_sanitize_context_t inline bool check_range (const void *base, unsigned int len) const { const char *p = (const char *) base; + bool ok = this->start <= p && p <= this->end && (unsigned int) (this->end - p) >= len; - hb_auto_trace_t<HB_DEBUG_SANITIZE, bool> trace - (&this->debug_depth, "SANITIZE", this->blob, NULL, - "check_range [%p..%p] (%d bytes) in [%p..%p]", + DEBUG_MSG_LEVEL (SANITIZE, p, this->debug_depth+1, 0, + "check_range [%p..%p] (%d bytes) in [%p..%p] -> %s", p, p + len, len, - this->start, this->end); + this->start, this->end, + ok ? "OK" : "OUT-OF-RANGE"); - return TRACE_RETURN (likely (this->start <= p && p <= this->end && (unsigned int) (this->end - p) >= len)); + return likely (ok); } inline bool check_array (const void *base, unsigned int record_size, unsigned int len) const { const char *p = (const char *) base; bool overflows = _hb_unsigned_int_mul_overflows (len, record_size); + unsigned int array_size = record_size * len; + bool ok = !overflows && this->check_range (base, array_size); - hb_auto_trace_t<HB_DEBUG_SANITIZE, bool> trace - (&this->debug_depth, "SANITIZE", this->blob, NULL, - "check_array [%p..%p] (%d*%d=%ld bytes) in [%p..%p]", - p, p + (record_size * len), record_size, len, (unsigned long) record_size * len, - this->start, this->end); + DEBUG_MSG_LEVEL (SANITIZE, p, this->debug_depth+1, 0, + "check_array [%p..%p] (%d*%d=%d bytes) in [%p..%p] -> %s", + p, p + (record_size * len), record_size, len, (unsigned int) array_size, + this->start, this->end, + overflows ? "OVERFLOWS" : ok ? "OK" : "OUT-OF-RANGE"); - return TRACE_RETURN (likely (!overflows && this->check_range (base, record_size * len))); + return likely (ok); } template <typename Type> @@ -255,15 +258,14 @@ struct hb_sanitize_context_t const char *p = (const char *) base; this->edit_count++; - hb_auto_trace_t<HB_DEBUG_SANITIZE, bool> trace - (&this->debug_depth, "SANITIZE", this->blob, NULL, + DEBUG_MSG_LEVEL (SANITIZE, p, this->debug_depth+1, 0, "may_edit(%u) [%p..%p] (%d bytes) in [%p..%p] -> %s", this->edit_count, p, p + len, len, this->start, this->end, this->writable ? "GRANTED" : "DENIED"); - return TRACE_RETURN (this->writable); + return this->writable; } template <typename Type, typename ValueType> @@ -297,7 +299,7 @@ struct Sanitizer c->init (blob); retry: - DEBUG_MSG_FUNC (SANITIZE, blob, "start"); + DEBUG_MSG_FUNC (SANITIZE, c->start, "start"); c->start_processing (); @@ -311,13 +313,13 @@ struct Sanitizer sane = t->sanitize (c); if (sane) { if (c->edit_count) { - DEBUG_MSG_FUNC (SANITIZE, blob, "passed first round with %d edits; going for second round", c->edit_count); + DEBUG_MSG_FUNC (SANITIZE, c->start, "passed first round with %d edits; going for second round", c->edit_count); /* sanitize again to ensure no toe-stepping */ c->edit_count = 0; sane = t->sanitize (c); if (c->edit_count) { - DEBUG_MSG_FUNC (SANITIZE, blob, "requested %d edits in second round; FAILLING", c->edit_count); + DEBUG_MSG_FUNC (SANITIZE, c->start, "requested %d edits in second round; FAILLING", c->edit_count); sane = false; } } @@ -330,7 +332,7 @@ struct Sanitizer if (c->start) { c->writable = true; /* ok, we made it writable by relocating. try again */ - DEBUG_MSG_FUNC (SANITIZE, blob, "retry"); + DEBUG_MSG_FUNC (SANITIZE, c->start, "retry"); goto retry; } } @@ -338,7 +340,7 @@ struct Sanitizer c->end_processing (); - DEBUG_MSG_FUNC (SANITIZE, blob, sane ? "PASSED" : "FAILED"); + DEBUG_MSG_FUNC (SANITIZE, c->start, sane ? "PASSED" : "FAILED"); if (sane) return blob; else { diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-cmap-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-cmap-table.hh index d53141157d0..d53141157d0 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-cmap-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-cmap-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-font.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-font.cc index 2af2f54a759..2af2f54a759 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-font.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-font.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-font.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-font.h index 7a8c04ac33d..7a8c04ac33d 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-font.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-font.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-head-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-head-table.hh index ec4e8c9d453..ec4e8c9d453 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-head-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-head-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-hhea-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-hhea-table.hh index 6bf6d5f5f53..edc0e29cbfb 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-hhea-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-hhea-table.hh @@ -44,6 +44,8 @@ namespace OT { struct _hea { + static const hb_tag_t tableTag = HB_TAG('_','h','e','a'); + static const hb_tag_t hheaTag = HB_OT_TAG_hhea; static const hb_tag_t vheaTag = HB_OT_TAG_vhea; diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-hmtx-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-hmtx-table.hh index 932f9730118..317854ce7f8 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-hmtx-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-hmtx-table.hh @@ -52,6 +52,8 @@ struct LongMetric struct _mtx { + static const hb_tag_t tableTag = HB_TAG('_','m','t','x'); + static const hb_tag_t hmtxTag = HB_OT_TAG_hmtx; static const hb_tag_t vmtxTag = HB_OT_TAG_vmtx; diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-layout-common-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh index abd063c8961..abd063c8961 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-layout-common-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-layout-gdef-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-gdef-table.hh index 84a5e797c63..84a5e797c63 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-layout-gdef-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-gdef-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-layout-gpos-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-gpos-table.hh index 8e2860c9131..4255f5a8aea 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-layout-gpos-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-gpos-table.hh @@ -345,8 +345,8 @@ struct AnchorMatrix inline const Anchor& get_anchor (unsigned int row, unsigned int col, unsigned int cols, bool *found) const { *found = false; if (unlikely (row >= rows || col >= cols)) return Null(Anchor); - *found = !matrix[row * cols + col].is_null (); - return this+matrix[row * cols + col]; + *found = !matrixZ[row * cols + col].is_null (); + return this+matrixZ[row * cols + col]; } inline bool sanitize (hb_sanitize_context_t *c, unsigned int cols) { @@ -354,19 +354,19 @@ struct AnchorMatrix if (!c->check_struct (this)) return TRACE_RETURN (false); if (unlikely (rows > 0 && cols >= ((unsigned int) -1) / rows)) return TRACE_RETURN (false); unsigned int count = rows * cols; - if (!c->check_array (matrix, matrix[0].static_size, count)) return TRACE_RETURN (false); + if (!c->check_array (matrixZ, matrixZ[0].static_size, count)) return TRACE_RETURN (false); for (unsigned int i = 0; i < count; i++) - if (!matrix[i].sanitize (c, this)) return TRACE_RETURN (false); + if (!matrixZ[i].sanitize (c, this)) return TRACE_RETURN (false); return TRACE_RETURN (true); } USHORT rows; /* Number of rows */ protected: OffsetTo<Anchor> - matrix[VAR]; /* Matrix of offsets to Anchor tables-- + matrixZ[VAR]; /* Matrix of offsets to Anchor tables-- * from beginning of AnchorMatrix table */ public: - DEFINE_SIZE_ARRAY (2, matrix); + DEFINE_SIZE_ARRAY (2, matrixZ); }; @@ -530,7 +530,7 @@ struct SinglePos template <typename context_t> inline typename context_t::return_t dispatch (context_t *c) const { - TRACE_DISPATCH (this); + TRACE_DISPATCH (this, u.format); switch (u.format) { case 1: return TRACE_RETURN (c->dispatch (u.format1)); case 2: return TRACE_RETURN (c->dispatch (u.format2)); @@ -583,7 +583,7 @@ struct PairSet unsigned int len2 = valueFormats[1].get_len (); unsigned int record_size = USHORT::static_size * (1 + len1 + len2); - const PairValueRecord *record = CastP<PairValueRecord> (array); + const PairValueRecord *record = CastP<PairValueRecord> (arrayZ); unsigned int count = len; for (unsigned int i = 0; i < count; i++) { @@ -602,7 +602,7 @@ struct PairSet unsigned int len2 = valueFormats[1].get_len (); unsigned int record_size = USHORT::static_size * (1 + len1 + len2); - const PairValueRecord *record = CastP<PairValueRecord> (array); + const PairValueRecord *record = CastP<PairValueRecord> (arrayZ); unsigned int count = len; for (unsigned int i = 0; i < count; i++) { @@ -634,20 +634,20 @@ struct PairSet inline bool sanitize (hb_sanitize_context_t *c, const sanitize_closure_t *closure) { TRACE_SANITIZE (this); if (!(c->check_struct (this) - && c->check_array (array, USHORT::static_size * closure->stride, len))) return TRACE_RETURN (false); + && c->check_array (arrayZ, USHORT::static_size * closure->stride, len))) return TRACE_RETURN (false); unsigned int count = len; - PairValueRecord *record = CastP<PairValueRecord> (array); + PairValueRecord *record = CastP<PairValueRecord> (arrayZ); return TRACE_RETURN (closure->valueFormats[0].sanitize_values_stride_unsafe (c, closure->base, &record->values[0], count, closure->stride) && closure->valueFormats[1].sanitize_values_stride_unsafe (c, closure->base, &record->values[closure->len1], count, closure->stride)); } protected: USHORT len; /* Number of PairValueRecords */ - USHORT array[VAR]; /* Array of PairValueRecords--ordered + USHORT arrayZ[VAR]; /* Array of PairValueRecords--ordered * by GlyphID of the second glyph */ public: - DEFINE_SIZE_ARRAY (2, array); + DEFINE_SIZE_ARRAY (2, arrayZ); }; struct PairPosFormat1 @@ -822,7 +822,7 @@ struct PairPos template <typename context_t> inline typename context_t::return_t dispatch (context_t *c) const { - TRACE_DISPATCH (this); + TRACE_DISPATCH (this, u.format); switch (u.format) { case 1: return TRACE_RETURN (c->dispatch (u.format1)); case 2: return TRACE_RETURN (c->dispatch (u.format2)); @@ -989,7 +989,7 @@ struct CursivePos template <typename context_t> inline typename context_t::return_t dispatch (context_t *c) const { - TRACE_DISPATCH (this); + TRACE_DISPATCH (this, u.format); switch (u.format) { case 1: return TRACE_RETURN (c->dispatch (u.format1)); default:return TRACE_RETURN (c->default_return_value ()); @@ -1088,7 +1088,7 @@ struct MarkBasePos template <typename context_t> inline typename context_t::return_t dispatch (context_t *c) const { - TRACE_DISPATCH (this); + TRACE_DISPATCH (this, u.format); switch (u.format) { case 1: return TRACE_RETURN (c->dispatch (u.format1)); default:return TRACE_RETURN (c->default_return_value ()); @@ -1209,7 +1209,7 @@ struct MarkLigPos template <typename context_t> inline typename context_t::return_t dispatch (context_t *c) const { - TRACE_DISPATCH (this); + TRACE_DISPATCH (this, u.format); switch (u.format) { case 1: return TRACE_RETURN (c->dispatch (u.format1)); default:return TRACE_RETURN (c->default_return_value ()); @@ -1328,7 +1328,7 @@ struct MarkMarkPos template <typename context_t> inline typename context_t::return_t dispatch (context_t *c) const { - TRACE_DISPATCH (this); + TRACE_DISPATCH (this, u.format); switch (u.format) { case 1: return TRACE_RETURN (c->dispatch (u.format1)); default:return TRACE_RETURN (c->default_return_value ()); @@ -1387,7 +1387,7 @@ struct PosLookupSubTable template <typename context_t> inline typename context_t::return_t dispatch (context_t *c, unsigned int lookup_type) const { - TRACE_DISPATCH (this); + TRACE_DISPATCH (this, lookup_type); switch (lookup_type) { case Single: return TRACE_RETURN (u.single.dispatch (c)); case Pair: return TRACE_RETURN (u.pair.dispatch (c)); @@ -1488,8 +1488,8 @@ struct PosLookup : Lookup template <typename context_t> inline typename context_t::return_t dispatch (context_t *c) const { - TRACE_DISPATCH (this); unsigned int lookup_type = get_type (); + TRACE_DISPATCH (this, lookup_type); unsigned int count = get_subtable_count (); for (unsigned int i = 0; i < count; i++) { typename context_t::return_t r = get_subtable (i).dispatch (c, lookup_type); diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-layout-gsub-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-gsub-table.hh index 7d6a5a779d7..5d67be0ec0f 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-layout-gsub-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-gsub-table.hh @@ -222,7 +222,7 @@ struct SingleSubst template <typename context_t> inline typename context_t::return_t dispatch (context_t *c) const { - TRACE_DISPATCH (this); + TRACE_DISPATCH (this, u.format); switch (u.format) { case 1: return TRACE_RETURN (c->dispatch (u.format1)); case 2: return TRACE_RETURN (c->dispatch (u.format2)); @@ -422,7 +422,7 @@ struct MultipleSubst template <typename context_t> inline typename context_t::return_t dispatch (context_t *c) const { - TRACE_DISPATCH (this); + TRACE_DISPATCH (this, u.format); switch (u.format) { case 1: return TRACE_RETURN (c->dispatch (u.format1)); default:return TRACE_RETURN (c->default_return_value ()); @@ -573,7 +573,7 @@ struct AlternateSubst template <typename context_t> inline typename context_t::return_t dispatch (context_t *c) const { - TRACE_DISPATCH (this); + TRACE_DISPATCH (this, u.format); switch (u.format) { case 1: return TRACE_RETURN (c->dispatch (u.format1)); default:return TRACE_RETURN (c->default_return_value ()); @@ -889,7 +889,7 @@ struct LigatureSubst template <typename context_t> inline typename context_t::return_t dispatch (context_t *c) const { - TRACE_DISPATCH (this); + TRACE_DISPATCH (this, u.format); switch (u.format) { case 1: return TRACE_RETURN (c->dispatch (u.format1)); default:return TRACE_RETURN (c->default_return_value ()); @@ -1053,7 +1053,7 @@ struct ReverseChainSingleSubst template <typename context_t> inline typename context_t::return_t dispatch (context_t *c) const { - TRACE_DISPATCH (this); + TRACE_DISPATCH (this, u.format); switch (u.format) { case 1: return TRACE_RETURN (c->dispatch (u.format1)); default:return TRACE_RETURN (c->default_return_value ()); @@ -1100,7 +1100,7 @@ struct SubstLookupSubTable template <typename context_t> inline typename context_t::return_t dispatch (context_t *c, unsigned int lookup_type) const { - TRACE_DISPATCH (this); + TRACE_DISPATCH (this, lookup_type); switch (lookup_type) { case Single: return TRACE_RETURN (u.single.dispatch (c)); case Multiple: return TRACE_RETURN (u.multiple.dispatch (c)); @@ -1275,8 +1275,8 @@ struct SubstLookup : Lookup template <typename context_t> inline typename context_t::return_t dispatch (context_t *c) const { - TRACE_DISPATCH (this); unsigned int lookup_type = get_type (); + TRACE_DISPATCH (this, lookup_type); unsigned int count = get_subtable_count (); for (unsigned int i = 0; i < count; i++) { typename context_t::return_t r = get_subtable (i).dispatch (c, lookup_type); diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-layout-gsubgpos-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-gsubgpos-private.hh index 710687081b6..57fc1e05f76 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-layout-gsubgpos-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-gsubgpos-private.hh @@ -38,10 +38,10 @@ namespace OT { -#define TRACE_DISPATCH(this) \ +#define TRACE_DISPATCH(this, format) \ hb_auto_trace_t<context_t::max_debug_depth, typename context_t::return_t> trace \ (&c->debug_depth, c->get_name (), this, HB_FUNC, \ - ""); + "format %d", (int) format); #ifndef HB_DEBUG_CLOSURE #define HB_DEBUG_CLOSURE (HB_DEBUG+0) @@ -228,10 +228,14 @@ struct hb_collect_glyphs_context_t +#ifndef HB_DEBUG_GET_COVERAGE +#define HB_DEBUG_GET_COVERAGE (HB_DEBUG+0) +#endif + struct hb_get_coverage_context_t { inline const char *get_name (void) { return "GET_COVERAGE"; } - static const unsigned int max_debug_depth = 0; + static const unsigned int max_debug_depth = HB_DEBUG_GET_COVERAGE; typedef const Coverage &return_t; template <typename T> inline return_t dispatch (const T &obj) { return obj.get_coverage (); } @@ -1132,9 +1136,9 @@ struct Rule inline void closure (hb_closure_context_t *c, ContextClosureLookupContext &lookup_context) const { TRACE_CLOSURE (this); - const LookupRecord *lookupRecord = &StructAtOffset<LookupRecord> (input, input[0].static_size * (inputCount ? inputCount - 1 : 0)); + const LookupRecord *lookupRecord = &StructAtOffset<LookupRecord> (inputZ, inputZ[0].static_size * (inputCount ? inputCount - 1 : 0)); context_closure_lookup (c, - inputCount, input, + inputCount, inputZ, lookupCount, lookupRecord, lookup_context); } @@ -1142,9 +1146,9 @@ struct Rule inline void collect_glyphs (hb_collect_glyphs_context_t *c, ContextCollectGlyphsLookupContext &lookup_context) const { TRACE_COLLECT_GLYPHS (this); - const LookupRecord *lookupRecord = &StructAtOffset<LookupRecord> (input, input[0].static_size * (inputCount ? inputCount - 1 : 0)); + const LookupRecord *lookupRecord = &StructAtOffset<LookupRecord> (inputZ, inputZ[0].static_size * (inputCount ? inputCount - 1 : 0)); context_collect_glyphs_lookup (c, - inputCount, input, + inputCount, inputZ, lookupCount, lookupRecord, lookup_context); } @@ -1152,15 +1156,15 @@ struct Rule inline bool would_apply (hb_would_apply_context_t *c, ContextApplyLookupContext &lookup_context) const { TRACE_WOULD_APPLY (this); - const LookupRecord *lookupRecord = &StructAtOffset<LookupRecord> (input, input[0].static_size * (inputCount ? inputCount - 1 : 0)); - return TRACE_RETURN (context_would_apply_lookup (c, inputCount, input, lookupCount, lookupRecord, lookup_context)); + const LookupRecord *lookupRecord = &StructAtOffset<LookupRecord> (inputZ, inputZ[0].static_size * (inputCount ? inputCount - 1 : 0)); + return TRACE_RETURN (context_would_apply_lookup (c, inputCount, inputZ, lookupCount, lookupRecord, lookup_context)); } inline bool apply (hb_apply_context_t *c, ContextApplyLookupContext &lookup_context) const { TRACE_APPLY (this); - const LookupRecord *lookupRecord = &StructAtOffset<LookupRecord> (input, input[0].static_size * (inputCount ? inputCount - 1 : 0)); - return TRACE_RETURN (context_apply_lookup (c, inputCount, input, lookupCount, lookupRecord, lookup_context)); + const LookupRecord *lookupRecord = &StructAtOffset<LookupRecord> (inputZ, inputZ[0].static_size * (inputCount ? inputCount - 1 : 0)); + return TRACE_RETURN (context_apply_lookup (c, inputCount, inputZ, lookupCount, lookupRecord, lookup_context)); } public: @@ -1168,8 +1172,8 @@ struct Rule TRACE_SANITIZE (this); return inputCount.sanitize (c) && lookupCount.sanitize (c) - && c->check_range (input, - input[0].static_size * inputCount + && c->check_range (inputZ, + inputZ[0].static_size * inputCount + lookupRecordX[0].static_size * lookupCount); } @@ -1178,12 +1182,12 @@ struct Rule * glyph sequence--includes the first * glyph */ USHORT lookupCount; /* Number of LookupRecords */ - USHORT input[VAR]; /* Array of match inputs--start with + USHORT inputZ[VAR]; /* Array of match inputs--start with * second glyph */ LookupRecord lookupRecordX[VAR]; /* Array of LookupRecords--in * design order */ public: - DEFINE_SIZE_ARRAY2 (4, input, lookupRecordX); + DEFINE_SIZE_ARRAY2 (4, inputZ, lookupRecordX); }; struct RuleSet @@ -1428,16 +1432,16 @@ struct ContextFormat3 inline void closure (hb_closure_context_t *c) const { TRACE_CLOSURE (this); - if (!(this+coverage[0]).intersects (c->glyphs)) + if (!(this+coverageZ[0]).intersects (c->glyphs)) return; - const LookupRecord *lookupRecord = &StructAtOffset<LookupRecord> (coverage, coverage[0].static_size * glyphCount); + const LookupRecord *lookupRecord = &StructAtOffset<LookupRecord> (coverageZ, coverageZ[0].static_size * glyphCount); struct ContextClosureLookupContext lookup_context = { {intersects_coverage}, this }; context_closure_lookup (c, - glyphCount, (const USHORT *) (coverage + 1), + glyphCount, (const USHORT *) (coverageZ + 1), lookupCount, lookupRecord, lookup_context); } @@ -1445,16 +1449,16 @@ struct ContextFormat3 inline void collect_glyphs (hb_collect_glyphs_context_t *c) const { TRACE_COLLECT_GLYPHS (this); - (this+coverage[0]).add_coverage (c->input); + (this+coverageZ[0]).add_coverage (c->input); - const LookupRecord *lookupRecord = &StructAtOffset<LookupRecord> (coverage, coverage[0].static_size * glyphCount); + const LookupRecord *lookupRecord = &StructAtOffset<LookupRecord> (coverageZ, coverageZ[0].static_size * glyphCount); struct ContextCollectGlyphsLookupContext lookup_context = { {collect_coverage}, this }; context_collect_glyphs_lookup (c, - glyphCount, (const USHORT *) (coverage + 1), + glyphCount, (const USHORT *) (coverageZ + 1), lookupCount, lookupRecord, lookup_context); } @@ -1463,41 +1467,42 @@ struct ContextFormat3 { TRACE_WOULD_APPLY (this); - const LookupRecord *lookupRecord = &StructAtOffset<LookupRecord> (coverage, coverage[0].static_size * glyphCount); + const LookupRecord *lookupRecord = &StructAtOffset<LookupRecord> (coverageZ, coverageZ[0].static_size * glyphCount); struct ContextApplyLookupContext lookup_context = { {match_coverage}, this }; - return TRACE_RETURN (context_would_apply_lookup (c, glyphCount, (const USHORT *) (coverage + 1), lookupCount, lookupRecord, lookup_context)); + return TRACE_RETURN (context_would_apply_lookup (c, glyphCount, (const USHORT *) (coverageZ + 1), lookupCount, lookupRecord, lookup_context)); } inline const Coverage &get_coverage (void) const { - return this+coverage[0]; + return this+coverageZ[0]; } inline bool apply (hb_apply_context_t *c) const { TRACE_APPLY (this); - unsigned int index = (this+coverage[0]).get_coverage (c->buffer->cur().codepoint); + unsigned int index = (this+coverageZ[0]).get_coverage (c->buffer->cur().codepoint); if (likely (index == NOT_COVERED)) return TRACE_RETURN (false); - const LookupRecord *lookupRecord = &StructAtOffset<LookupRecord> (coverage, coverage[0].static_size * glyphCount); + const LookupRecord *lookupRecord = &StructAtOffset<LookupRecord> (coverageZ, coverageZ[0].static_size * glyphCount); struct ContextApplyLookupContext lookup_context = { {match_coverage}, this }; - return TRACE_RETURN (context_apply_lookup (c, glyphCount, (const USHORT *) (coverage + 1), lookupCount, lookupRecord, lookup_context)); + return TRACE_RETURN (context_apply_lookup (c, glyphCount, (const USHORT *) (coverageZ + 1), lookupCount, lookupRecord, lookup_context)); } inline bool sanitize (hb_sanitize_context_t *c) { TRACE_SANITIZE (this); if (!c->check_struct (this)) return TRACE_RETURN (false); unsigned int count = glyphCount; - if (!c->check_array (coverage, coverage[0].static_size, count)) return TRACE_RETURN (false); + if (!count) return TRACE_RETURN (false); /* We want to access coverageZ[0] freely. */ + if (!c->check_array (coverageZ, coverageZ[0].static_size, count)) return TRACE_RETURN (false); for (unsigned int i = 0; i < count; i++) - if (!coverage[i].sanitize (c, this)) return TRACE_RETURN (false); - LookupRecord *lookupRecord = &StructAtOffset<LookupRecord> (coverage, coverage[0].static_size * count); + if (!coverageZ[i].sanitize (c, this)) return TRACE_RETURN (false); + LookupRecord *lookupRecord = &StructAtOffset<LookupRecord> (coverageZ, coverageZ[0].static_size * count); return TRACE_RETURN (c->check_array (lookupRecord, lookupRecord[0].static_size, lookupCount)); } @@ -1507,12 +1512,12 @@ struct ContextFormat3 * sequence */ USHORT lookupCount; /* Number of LookupRecords */ OffsetTo<Coverage> - coverage[VAR]; /* Array of offsets to Coverage + coverageZ[VAR]; /* Array of offsets to Coverage * table in glyph sequence order */ LookupRecord lookupRecordX[VAR]; /* Array of LookupRecords--in * design order */ public: - DEFINE_SIZE_ARRAY2 (6, coverage, lookupRecordX); + DEFINE_SIZE_ARRAY2 (6, coverageZ, lookupRecordX); }; struct Context @@ -1520,7 +1525,7 @@ struct Context template <typename context_t> inline typename context_t::return_t dispatch (context_t *c) const { - TRACE_DISPATCH (this); + TRACE_DISPATCH (this, u.format); switch (u.format) { case 1: return TRACE_RETURN (c->dispatch (u.format1)); case 2: return TRACE_RETURN (c->dispatch (u.format2)); @@ -2105,6 +2110,7 @@ struct ChainContextFormat3 if (!backtrack.sanitize (c, this)) return TRACE_RETURN (false); OffsetArrayOf<Coverage> &input = StructAfter<OffsetArrayOf<Coverage> > (backtrack); if (!input.sanitize (c, this)) return TRACE_RETURN (false); + if (!input.len) return TRACE_RETURN (false); /* To be consistent with Context. */ OffsetArrayOf<Coverage> &lookahead = StructAfter<OffsetArrayOf<Coverage> > (input); if (!lookahead.sanitize (c, this)) return TRACE_RETURN (false); ArrayOf<LookupRecord> &lookup = StructAfter<ArrayOf<LookupRecord> > (lookahead); @@ -2137,7 +2143,7 @@ struct ChainContext template <typename context_t> inline typename context_t::return_t dispatch (context_t *c) const { - TRACE_DISPATCH (this); + TRACE_DISPATCH (this, u.format); switch (u.format) { case 1: return TRACE_RETURN (c->dispatch (u.format1)); case 2: return TRACE_RETURN (c->dispatch (u.format2)); diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-layout-jstf-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-jstf-table.hh index 67a6df5b421..67a6df5b421 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-layout-jstf-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-jstf-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-layout-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-private.hh index ae7daa6dbc9..ae7daa6dbc9 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-layout-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-layout.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout.cc index 661d90ea0d6..661d90ea0d6 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-layout.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-layout.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout.h index 949678ac422..949678ac422 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-layout.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-map-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-map-private.hh index 86b7e9fafea..86b7e9fafea 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-map-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-map-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-map.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-map.cc index 4985eb22b20..4985eb22b20 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-map.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-map.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-maxp-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-maxp-table.hh index b1f832852d3..b1f832852d3 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-maxp-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-maxp-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-name-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-name-table.hh index 31d9fac7e29..31d9fac7e29 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-name-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-name-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-arabic-fallback.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-arabic-fallback.hh index dc659e084c5..dc659e084c5 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-arabic-fallback.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-arabic-fallback.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-arabic-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-arabic-table.hh index 17100497ecb..17100497ecb 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-arabic-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-arabic-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-arabic-win1256.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-arabic-win1256.hh index 3a20b507d4e..3a20b507d4e 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-arabic-win1256.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-arabic-win1256.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-arabic.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-arabic.cc index ae908641271..ae908641271 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-arabic.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-arabic.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-default.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-default.cc index f7f097eedaa..f7f097eedaa 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-default.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-default.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-hangul.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-hangul.cc index 6ac18b08bff..6ac18b08bff 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-hangul.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-hangul.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-hebrew.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-hebrew.cc index c7b7a5eba6a..c7b7a5eba6a 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-hebrew.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-hebrew.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic-machine.hh new file mode 100644 index 00000000000..f652d4fda73 --- /dev/null +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic-machine.hh @@ -0,0 +1,1762 @@ + +#line 1 "hb-ot-shape-complex-indic-machine.rl" +/* + * Copyright © 2011,2012 Google, Inc. + * + * This is part of HarfBuzz, a text shaping library. + * + * Permission is hereby granted, without written agreement and without + * license or royalty fees, to use, copy, modify, and distribute this + * software and its documentation for any purpose, provided that the + * above copyright notice and the following two paragraphs appear in + * all copies of this software. + * + * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES + * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN + * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * + * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, + * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS + * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + * Google Author(s): Behdad Esfahbod + */ + +#ifndef HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH +#define HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH + +#include "hb-private.hh" + + +#line 36 "hb-ot-shape-complex-indic-machine.hh" +static const unsigned char _indic_syllable_machine_trans_keys[] = { + 8u, 8u, 1u, 16u, 8u, 13u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, + 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 4u, 8u, + 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, + 4u, 8u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, + 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 8u, 8u, 1u, 16u, 8u, 13u, + 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, + 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, + 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, + 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, + 4u, 14u, 4u, 14u, 8u, 8u, 1u, 16u, 8u, 13u, 5u, 8u, 5u, 7u, 7u, 7u, + 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, + 7u, 7u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, + 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, + 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 8u, 8u, 1u, 16u, + 8u, 13u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, + 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 4u, 8u, 6u, 6u, 16u, 16u, + 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, + 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, + 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 5u, 8u, 4u, 14u, 4u, 14u, 5u, 8u, + 5u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, + 5u, 7u, 7u, 7u, 8u, 8u, 1u, 16u, 8u, 13u, 4u, 8u, 6u, 6u, 16u, 16u, + 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, + 16u, 16u, 8u, 8u, 1u, 31u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, + 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, + 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 14u, 5u, 14u, + 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u, + 3u, 10u, 5u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, + 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, + 5u, 14u, 3u, 14u, 1u, 16u, 4u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 1u, 16u, + 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, + 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, + 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, + 1u, 16u, 3u, 31u, 3u, 31u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, + 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, + 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 14u, 5u, 14u, + 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u, + 3u, 10u, 5u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, + 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, + 5u, 14u, 3u, 14u, 1u, 16u, 4u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 1u, 16u, + 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, + 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, + 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, + 4u, 14u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, + 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, + 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 14u, 5u, 14u, 5u, 10u, + 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u, 3u, 10u, + 5u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, + 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, + 3u, 14u, 1u, 16u, 4u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, + 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, + 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, + 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, + 4u, 14u, 3u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, + 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, + 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 14u, 5u, 14u, + 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u, + 3u, 10u, 5u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, + 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, + 5u, 14u, 3u, 14u, 1u, 16u, 4u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 1u, 16u, + 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, + 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, + 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, + 1u, 16u, 3u, 31u, 1u, 31u, 3u, 31u, 1u, 31u, 4u, 14u, 5u, 10u, 9u, 10u, + 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 1u, 16u, 3u, 31u, 3u, 31u, + 4u, 31u, 3u, 31u, 3u, 31u, 1u, 16u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, + 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, + 3u, 13u, 3u, 10u, 5u, 10u, 3u, 10u, 3u, 13u, 1u, 16u, 3u, 10u, 5u, 10u, + 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 0 +}; + +static const char _indic_syllable_machine_key_spans[] = { + 1, 16, 6, 4, 3, 1, 4, 3, + 1, 4, 3, 1, 4, 3, 1, 5, + 1, 1, 5, 1, 1, 5, 1, 1, + 5, 1, 1, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 1, 16, 6, + 4, 3, 1, 4, 3, 1, 4, 3, + 1, 4, 3, 1, 5, 1, 1, 5, + 1, 1, 5, 1, 1, 5, 1, 1, + 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 1, 16, 6, 4, 3, 1, + 4, 3, 1, 4, 3, 1, 4, 3, + 1, 5, 1, 1, 5, 1, 1, 5, + 1, 1, 5, 1, 1, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 1, 16, + 6, 4, 3, 1, 4, 3, 1, 4, + 3, 1, 4, 3, 1, 5, 1, 1, + 5, 1, 1, 5, 1, 1, 5, 1, + 1, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 4, 11, 11, 4, + 3, 4, 3, 1, 4, 3, 1, 4, + 3, 1, 1, 16, 6, 5, 1, 1, + 5, 1, 1, 5, 1, 1, 5, 1, + 1, 1, 31, 29, 29, 28, 16, 29, + 29, 28, 16, 29, 29, 28, 16, 29, + 29, 28, 16, 29, 29, 28, 10, 10, + 6, 2, 1, 2, 2, 1, 6, 11, + 8, 6, 8, 11, 12, 12, 11, 10, + 12, 11, 10, 12, 11, 10, 12, 11, + 10, 12, 16, 28, 11, 29, 29, 16, + 16, 16, 16, 16, 29, 29, 16, 16, + 16, 16, 16, 29, 29, 16, 16, 16, + 16, 16, 29, 29, 16, 16, 16, 16, + 16, 29, 29, 29, 29, 28, 16, 29, + 29, 28, 16, 29, 29, 28, 16, 29, + 29, 28, 16, 29, 29, 28, 10, 10, + 6, 2, 1, 2, 2, 1, 6, 11, + 8, 6, 8, 11, 12, 12, 11, 10, + 12, 11, 10, 12, 11, 10, 12, 11, + 10, 12, 16, 28, 11, 29, 29, 16, + 16, 16, 16, 16, 29, 29, 16, 16, + 16, 16, 16, 29, 29, 16, 16, 16, + 16, 16, 29, 29, 16, 16, 16, 16, + 11, 16, 29, 29, 28, 16, 29, 29, + 28, 16, 29, 29, 28, 16, 29, 29, + 28, 16, 29, 29, 28, 10, 10, 6, + 2, 1, 2, 2, 1, 6, 11, 8, + 6, 8, 11, 12, 12, 11, 10, 12, + 11, 10, 12, 11, 10, 12, 11, 10, + 12, 16, 28, 11, 29, 29, 16, 16, + 16, 16, 16, 29, 29, 16, 16, 16, + 16, 16, 29, 29, 16, 16, 16, 16, + 16, 29, 29, 16, 16, 16, 16, 16, + 11, 29, 11, 29, 29, 28, 16, 29, + 29, 28, 16, 29, 29, 28, 16, 29, + 29, 28, 16, 29, 29, 28, 10, 10, + 6, 2, 1, 2, 2, 1, 6, 11, + 8, 6, 8, 11, 12, 12, 11, 10, + 12, 11, 10, 12, 11, 10, 12, 11, + 10, 12, 16, 28, 11, 29, 29, 16, + 16, 16, 16, 16, 29, 29, 16, 16, + 16, 16, 16, 29, 29, 16, 16, 16, + 16, 16, 29, 29, 16, 16, 16, 16, + 16, 29, 31, 29, 31, 11, 6, 2, + 1, 2, 2, 1, 6, 16, 29, 29, + 28, 29, 29, 16, 12, 11, 10, 12, + 11, 10, 12, 11, 10, 12, 11, 10, + 11, 8, 6, 8, 11, 16, 8, 6, + 6, 2, 1, 2, 2, 1, 6 +}; + +static const short _indic_syllable_machine_index_offsets[] = { + 0, 2, 19, 26, 31, 35, 37, 42, + 46, 48, 53, 57, 59, 64, 68, 70, + 76, 78, 80, 86, 88, 90, 96, 98, + 100, 106, 108, 110, 122, 134, 146, 158, + 170, 182, 194, 206, 218, 230, 232, 249, + 256, 261, 265, 267, 272, 276, 278, 283, + 287, 289, 294, 298, 300, 306, 308, 310, + 316, 318, 320, 326, 328, 330, 336, 338, + 340, 352, 364, 376, 388, 400, 412, 424, + 436, 448, 460, 462, 479, 486, 491, 495, + 497, 502, 506, 508, 513, 517, 519, 524, + 528, 530, 536, 538, 540, 546, 548, 550, + 556, 558, 560, 566, 568, 570, 582, 594, + 606, 618, 630, 642, 654, 666, 678, 680, + 697, 704, 709, 713, 715, 720, 724, 726, + 731, 735, 737, 742, 746, 748, 754, 756, + 758, 764, 766, 768, 774, 776, 778, 784, + 786, 788, 800, 812, 824, 836, 848, 860, + 872, 884, 896, 908, 920, 925, 937, 949, + 954, 958, 963, 967, 969, 974, 978, 980, + 985, 989, 991, 993, 1010, 1017, 1023, 1025, + 1027, 1033, 1035, 1037, 1043, 1045, 1047, 1053, + 1055, 1057, 1059, 1091, 1121, 1151, 1180, 1197, + 1227, 1257, 1286, 1303, 1333, 1363, 1392, 1409, + 1439, 1469, 1498, 1515, 1545, 1575, 1604, 1615, + 1626, 1633, 1636, 1638, 1641, 1644, 1646, 1653, + 1665, 1674, 1681, 1690, 1702, 1715, 1728, 1740, + 1751, 1764, 1776, 1787, 1800, 1812, 1823, 1836, + 1848, 1859, 1872, 1889, 1918, 1930, 1960, 1990, + 2007, 2024, 2041, 2058, 2075, 2105, 2135, 2152, + 2169, 2186, 2203, 2220, 2250, 2280, 2297, 2314, + 2331, 2348, 2365, 2395, 2425, 2442, 2459, 2476, + 2493, 2510, 2540, 2570, 2600, 2630, 2659, 2676, + 2706, 2736, 2765, 2782, 2812, 2842, 2871, 2888, + 2918, 2948, 2977, 2994, 3024, 3054, 3083, 3094, + 3105, 3112, 3115, 3117, 3120, 3123, 3125, 3132, + 3144, 3153, 3160, 3169, 3181, 3194, 3207, 3219, + 3230, 3243, 3255, 3266, 3279, 3291, 3302, 3315, + 3327, 3338, 3351, 3368, 3397, 3409, 3439, 3469, + 3486, 3503, 3520, 3537, 3554, 3584, 3614, 3631, + 3648, 3665, 3682, 3699, 3729, 3759, 3776, 3793, + 3810, 3827, 3844, 3874, 3904, 3921, 3938, 3955, + 3972, 3984, 4001, 4031, 4061, 4090, 4107, 4137, + 4167, 4196, 4213, 4243, 4273, 4302, 4319, 4349, + 4379, 4408, 4425, 4455, 4485, 4514, 4525, 4536, + 4543, 4546, 4548, 4551, 4554, 4556, 4563, 4575, + 4584, 4591, 4600, 4612, 4625, 4638, 4650, 4661, + 4674, 4686, 4697, 4710, 4722, 4733, 4746, 4758, + 4769, 4782, 4799, 4828, 4840, 4870, 4900, 4917, + 4934, 4951, 4968, 4985, 5015, 5045, 5062, 5079, + 5096, 5113, 5130, 5160, 5190, 5207, 5224, 5241, + 5258, 5275, 5305, 5335, 5352, 5369, 5386, 5403, + 5420, 5432, 5462, 5474, 5504, 5534, 5563, 5580, + 5610, 5640, 5669, 5686, 5716, 5746, 5775, 5792, + 5822, 5852, 5881, 5898, 5928, 5958, 5987, 5998, + 6009, 6016, 6019, 6021, 6024, 6027, 6029, 6036, + 6048, 6057, 6064, 6073, 6085, 6098, 6111, 6123, + 6134, 6147, 6159, 6170, 6183, 6195, 6206, 6219, + 6231, 6242, 6255, 6272, 6301, 6313, 6343, 6373, + 6390, 6407, 6424, 6441, 6458, 6488, 6518, 6535, + 6552, 6569, 6586, 6603, 6633, 6663, 6680, 6697, + 6714, 6731, 6748, 6778, 6808, 6825, 6842, 6859, + 6876, 6893, 6923, 6955, 6985, 7017, 7029, 7036, + 7039, 7041, 7044, 7047, 7049, 7056, 7073, 7103, + 7133, 7162, 7192, 7222, 7239, 7252, 7264, 7275, + 7288, 7300, 7311, 7324, 7336, 7347, 7360, 7372, + 7383, 7395, 7404, 7411, 7420, 7432, 7449, 7458, + 7465, 7472, 7475, 7477, 7480, 7483, 7485 +}; + +static const short _indic_syllable_machine_indicies[] = { + 1, 0, 2, 3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2, 0, 1, 0, 0, 0, 0, + 4, 0, 5, 5, 6, 1, 0, 7, + 7, 6, 0, 6, 0, 8, 8, 9, + 1, 0, 10, 10, 9, 0, 9, 0, + 11, 11, 12, 1, 0, 13, 13, 12, + 0, 12, 0, 14, 14, 15, 1, 0, + 16, 16, 15, 0, 15, 0, 17, 0, + 0, 0, 1, 0, 18, 0, 19, 0, + 20, 14, 14, 15, 1, 0, 21, 0, + 22, 0, 23, 11, 11, 12, 1, 0, + 24, 0, 25, 0, 26, 8, 8, 9, + 1, 0, 27, 0, 28, 0, 29, 5, + 5, 6, 1, 0, 0, 0, 0, 0, + 29, 0, 29, 5, 5, 6, 1, 0, + 0, 0, 0, 30, 29, 0, 31, 5, + 5, 6, 1, 0, 0, 0, 0, 0, + 31, 0, 31, 5, 5, 6, 1, 0, + 0, 0, 0, 32, 31, 0, 33, 5, + 5, 6, 1, 0, 0, 0, 0, 0, + 33, 0, 33, 5, 5, 6, 1, 0, + 0, 0, 0, 34, 33, 0, 35, 5, + 5, 6, 1, 0, 0, 0, 0, 0, + 35, 0, 35, 5, 5, 6, 1, 0, + 0, 0, 0, 36, 35, 0, 37, 5, + 5, 6, 1, 0, 0, 0, 0, 0, + 37, 0, 37, 5, 5, 6, 1, 0, + 0, 0, 0, 38, 37, 0, 40, 39, + 41, 42, 39, 39, 39, 39, 39, 39, + 39, 39, 39, 39, 39, 39, 39, 41, + 39, 40, 39, 39, 39, 39, 43, 39, + 44, 44, 45, 40, 39, 46, 46, 45, + 39, 45, 39, 47, 47, 48, 40, 39, + 49, 49, 48, 39, 48, 39, 50, 50, + 51, 40, 39, 52, 52, 51, 39, 51, + 39, 53, 53, 54, 40, 39, 55, 55, + 54, 39, 54, 39, 56, 39, 39, 39, + 40, 39, 57, 39, 58, 39, 59, 53, + 53, 54, 40, 39, 60, 39, 61, 39, + 62, 50, 50, 51, 40, 39, 63, 39, + 64, 39, 65, 47, 47, 48, 40, 39, + 66, 39, 67, 39, 68, 44, 44, 45, + 40, 39, 39, 39, 39, 39, 68, 39, + 68, 44, 44, 45, 40, 39, 39, 39, + 39, 69, 68, 39, 70, 44, 44, 45, + 40, 39, 39, 39, 39, 39, 70, 39, + 70, 44, 44, 45, 40, 39, 39, 39, + 39, 71, 70, 39, 72, 44, 44, 45, + 40, 39, 39, 39, 39, 39, 72, 39, + 72, 44, 44, 45, 40, 39, 39, 39, + 39, 73, 72, 39, 74, 44, 44, 45, + 40, 39, 39, 39, 39, 39, 74, 39, + 74, 44, 44, 45, 40, 39, 39, 39, + 39, 75, 74, 39, 76, 44, 44, 45, + 40, 39, 39, 39, 39, 39, 76, 39, + 76, 44, 44, 45, 40, 39, 39, 39, + 39, 77, 76, 39, 79, 78, 80, 81, + 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 80, 78, 79, + 78, 78, 78, 78, 82, 78, 83, 83, + 84, 79, 78, 86, 86, 84, 85, 84, + 85, 87, 87, 88, 79, 78, 89, 89, + 88, 78, 88, 78, 90, 90, 91, 79, + 78, 92, 92, 91, 78, 91, 78, 93, + 93, 94, 79, 78, 95, 95, 94, 78, + 94, 78, 96, 78, 78, 78, 79, 78, + 97, 78, 98, 78, 99, 93, 93, 94, + 79, 78, 100, 78, 101, 78, 102, 90, + 90, 91, 79, 78, 103, 78, 104, 78, + 105, 87, 87, 88, 79, 78, 106, 78, + 107, 78, 108, 83, 83, 84, 79, 78, + 78, 78, 78, 78, 108, 78, 108, 83, + 83, 84, 79, 78, 78, 78, 78, 109, + 108, 78, 110, 83, 83, 84, 79, 78, + 78, 78, 78, 78, 110, 78, 110, 83, + 83, 84, 79, 78, 78, 78, 78, 111, + 110, 78, 112, 83, 83, 84, 79, 78, + 78, 78, 78, 78, 112, 78, 112, 83, + 83, 84, 79, 78, 78, 78, 78, 113, + 112, 78, 114, 83, 83, 84, 79, 78, + 78, 78, 78, 78, 114, 78, 114, 83, + 83, 84, 79, 78, 78, 78, 78, 115, + 114, 78, 116, 83, 83, 84, 79, 78, + 78, 78, 78, 78, 116, 78, 118, 117, + 119, 120, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 119, + 117, 118, 117, 117, 117, 117, 121, 117, + 122, 122, 123, 118, 117, 124, 124, 123, + 117, 123, 117, 125, 125, 126, 118, 117, + 127, 127, 126, 117, 126, 117, 128, 128, + 129, 118, 117, 130, 130, 129, 117, 129, + 117, 131, 131, 132, 118, 117, 133, 133, + 132, 117, 132, 117, 134, 117, 117, 117, + 118, 117, 135, 117, 136, 117, 137, 131, + 131, 132, 118, 117, 138, 117, 139, 117, + 140, 128, 128, 129, 118, 117, 141, 117, + 142, 117, 143, 125, 125, 126, 118, 117, + 144, 117, 145, 117, 146, 122, 122, 123, + 118, 117, 117, 117, 117, 117, 146, 117, + 146, 122, 122, 123, 118, 117, 117, 117, + 117, 147, 146, 117, 148, 122, 122, 123, + 118, 117, 117, 117, 117, 117, 148, 117, + 148, 122, 122, 123, 118, 117, 117, 117, + 117, 149, 148, 117, 150, 122, 122, 123, + 118, 117, 117, 117, 117, 117, 150, 117, + 150, 122, 122, 123, 118, 117, 117, 117, + 117, 151, 150, 117, 152, 122, 122, 123, + 118, 117, 117, 117, 117, 117, 152, 117, + 152, 122, 122, 123, 118, 117, 117, 117, + 117, 153, 152, 117, 154, 122, 122, 123, + 118, 117, 117, 117, 117, 117, 154, 117, + 154, 122, 122, 123, 118, 117, 117, 117, + 117, 155, 154, 117, 116, 83, 83, 84, + 79, 78, 78, 78, 78, 156, 116, 78, + 86, 86, 84, 1, 0, 114, 83, 83, + 84, 157, 0, 0, 0, 0, 0, 114, + 0, 114, 83, 83, 84, 157, 0, 0, + 0, 0, 158, 114, 0, 159, 159, 160, + 1, 0, 7, 7, 160, 0, 161, 161, + 162, 157, 0, 163, 163, 162, 0, 162, + 0, 164, 164, 165, 157, 0, 166, 166, + 165, 0, 165, 0, 167, 167, 168, 157, + 0, 169, 169, 168, 0, 168, 0, 157, + 0, 170, 171, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 170, 0, 157, 0, 0, 0, 0, 172, + 0, 173, 0, 0, 0, 157, 0, 174, + 0, 175, 0, 176, 167, 167, 168, 157, + 0, 177, 0, 178, 0, 179, 164, 164, + 165, 157, 0, 180, 0, 181, 0, 182, + 161, 161, 162, 157, 0, 183, 0, 184, + 0, 186, 185, 188, 189, 190, 191, 192, + 193, 84, 79, 194, 195, 196, 196, 156, + 197, 198, 199, 200, 201, 187, 187, 187, + 187, 187, 187, 187, 187, 187, 187, 187, + 187, 202, 187, 204, 205, 206, 207, 6, + 1, 208, 209, 203, 203, 38, 210, 203, + 203, 211, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 212, + 203, 213, 205, 214, 214, 6, 1, 208, + 209, 203, 203, 203, 210, 203, 203, 211, + 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 212, 203, 205, + 214, 214, 6, 1, 208, 209, 203, 203, + 203, 210, 203, 203, 211, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 212, 203, 215, 203, 203, 203, + 19, 216, 203, 1, 208, 209, 203, 203, + 203, 217, 203, 215, 203, 218, 219, 220, + 221, 6, 1, 208, 209, 203, 203, 36, + 222, 203, 203, 211, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, + 203, 212, 203, 223, 219, 224, 224, 6, + 1, 208, 209, 203, 203, 203, 222, 203, + 203, 211, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 212, + 203, 219, 224, 224, 6, 1, 208, 209, + 203, 203, 203, 222, 203, 203, 211, 203, + 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 212, 203, 225, 203, + 203, 203, 19, 226, 203, 1, 208, 209, + 203, 203, 203, 217, 203, 225, 203, 227, + 228, 229, 230, 6, 1, 208, 209, 203, + 203, 34, 231, 203, 203, 211, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 212, 203, 232, 228, 233, + 233, 6, 1, 208, 209, 203, 203, 203, + 231, 203, 203, 211, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, + 203, 212, 203, 228, 233, 233, 6, 1, + 208, 209, 203, 203, 203, 231, 203, 203, + 211, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 212, 203, + 234, 203, 203, 203, 19, 235, 203, 1, + 208, 209, 203, 203, 203, 217, 203, 234, + 203, 236, 237, 238, 239, 6, 1, 208, + 209, 203, 203, 32, 240, 203, 203, 211, + 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 212, 203, 241, + 237, 242, 242, 6, 1, 208, 209, 203, + 203, 203, 240, 203, 203, 211, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 212, 203, 237, 242, 242, + 6, 1, 208, 209, 203, 203, 203, 240, + 203, 203, 211, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, + 212, 203, 243, 203, 203, 203, 19, 244, + 203, 1, 208, 209, 203, 203, 203, 217, + 203, 243, 203, 245, 246, 247, 248, 6, + 1, 208, 209, 203, 203, 30, 249, 203, + 203, 211, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 212, + 203, 250, 246, 251, 251, 6, 1, 208, + 209, 203, 203, 203, 249, 203, 203, 211, + 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 212, 203, 246, + 251, 251, 6, 1, 208, 209, 203, 203, + 203, 249, 203, 203, 211, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 212, 203, 19, 252, 203, 1, + 208, 209, 203, 203, 203, 217, 203, 253, + 253, 203, 1, 208, 209, 203, 203, 203, + 217, 203, 254, 203, 203, 255, 208, 209, + 203, 208, 209, 203, 256, 203, 208, 257, + 203, 208, 258, 203, 208, 203, 254, 203, + 203, 203, 208, 209, 203, 259, 203, 260, + 261, 203, 1, 208, 209, 203, 203, 4, + 203, 3, 203, 253, 253, 203, 1, 208, + 209, 203, 253, 253, 203, 1, 208, 209, + 203, 259, 203, 253, 253, 203, 1, 208, + 209, 203, 259, 203, 260, 253, 203, 1, + 208, 209, 203, 203, 4, 203, 19, 203, + 262, 262, 6, 1, 208, 209, 203, 203, + 203, 217, 203, 263, 28, 264, 265, 9, + 1, 208, 209, 203, 203, 203, 217, 203, + 28, 264, 265, 9, 1, 208, 209, 203, + 203, 203, 217, 203, 264, 264, 9, 1, + 208, 209, 203, 203, 203, 217, 203, 266, + 25, 267, 268, 12, 1, 208, 209, 203, + 203, 203, 217, 203, 25, 267, 268, 12, + 1, 208, 209, 203, 203, 203, 217, 203, + 267, 267, 12, 1, 208, 209, 203, 203, + 203, 217, 203, 269, 22, 270, 271, 15, + 1, 208, 209, 203, 203, 203, 217, 203, + 22, 270, 271, 15, 1, 208, 209, 203, + 203, 203, 217, 203, 270, 270, 15, 1, + 208, 209, 203, 203, 203, 217, 203, 272, + 19, 253, 273, 203, 1, 208, 209, 203, + 203, 203, 217, 203, 19, 253, 273, 203, + 1, 208, 209, 203, 203, 203, 217, 203, + 253, 274, 203, 1, 208, 209, 203, 203, + 203, 217, 203, 19, 203, 253, 253, 203, + 1, 208, 209, 203, 203, 203, 217, 203, + 2, 3, 203, 203, 19, 252, 203, 1, + 208, 209, 203, 203, 203, 217, 203, 2, + 203, 246, 251, 251, 6, 1, 208, 209, + 203, 203, 203, 249, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 212, 203, 246, 251, + 251, 6, 1, 208, 209, 203, 203, 203, + 249, 203, 245, 246, 251, 251, 6, 1, + 208, 209, 203, 203, 203, 249, 203, 203, + 211, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 212, 203, + 245, 246, 247, 251, 6, 1, 208, 209, + 203, 203, 30, 249, 203, 203, 211, 203, + 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 212, 203, 243, 203, + 275, 203, 262, 262, 6, 1, 208, 209, + 203, 203, 203, 217, 203, 243, 203, 243, + 203, 203, 203, 253, 253, 203, 1, 208, + 209, 203, 203, 203, 217, 203, 243, 203, + 243, 203, 203, 203, 253, 276, 203, 1, + 208, 209, 203, 203, 203, 217, 203, 243, + 203, 243, 203, 275, 203, 253, 253, 203, + 1, 208, 209, 203, 203, 203, 217, 203, + 243, 203, 243, 3, 203, 203, 19, 244, + 203, 1, 208, 209, 203, 203, 203, 217, + 203, 243, 203, 236, 237, 242, 242, 6, + 1, 208, 209, 203, 203, 203, 240, 203, + 203, 211, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 212, + 203, 236, 237, 238, 242, 6, 1, 208, + 209, 203, 203, 32, 240, 203, 203, 211, + 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 212, 203, 234, + 203, 277, 203, 262, 262, 6, 1, 208, + 209, 203, 203, 203, 217, 203, 234, 203, + 234, 203, 203, 203, 253, 253, 203, 1, + 208, 209, 203, 203, 203, 217, 203, 234, + 203, 234, 203, 203, 203, 253, 278, 203, + 1, 208, 209, 203, 203, 203, 217, 203, + 234, 203, 234, 203, 277, 203, 253, 253, + 203, 1, 208, 209, 203, 203, 203, 217, + 203, 234, 203, 234, 3, 203, 203, 19, + 235, 203, 1, 208, 209, 203, 203, 203, + 217, 203, 234, 203, 227, 228, 233, 233, + 6, 1, 208, 209, 203, 203, 203, 231, + 203, 203, 211, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, + 212, 203, 227, 228, 229, 233, 6, 1, + 208, 209, 203, 203, 34, 231, 203, 203, + 211, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 212, 203, + 225, 203, 279, 203, 262, 262, 6, 1, + 208, 209, 203, 203, 203, 217, 203, 225, + 203, 225, 203, 203, 203, 253, 253, 203, + 1, 208, 209, 203, 203, 203, 217, 203, + 225, 203, 225, 203, 203, 203, 253, 280, + 203, 1, 208, 209, 203, 203, 203, 217, + 203, 225, 203, 225, 203, 279, 203, 253, + 253, 203, 1, 208, 209, 203, 203, 203, + 217, 203, 225, 203, 225, 3, 203, 203, + 19, 226, 203, 1, 208, 209, 203, 203, + 203, 217, 203, 225, 203, 218, 219, 224, + 224, 6, 1, 208, 209, 203, 203, 203, + 222, 203, 203, 211, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, + 203, 212, 203, 218, 219, 220, 224, 6, + 1, 208, 209, 203, 203, 36, 222, 203, + 203, 211, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 212, + 203, 215, 203, 281, 203, 262, 262, 6, + 1, 208, 209, 203, 203, 203, 217, 203, + 215, 203, 215, 203, 203, 203, 253, 253, + 203, 1, 208, 209, 203, 203, 203, 217, + 203, 215, 203, 215, 203, 203, 203, 253, + 282, 203, 1, 208, 209, 203, 203, 203, + 217, 203, 215, 203, 215, 203, 281, 203, + 253, 253, 203, 1, 208, 209, 203, 203, + 203, 217, 203, 215, 203, 215, 3, 203, + 203, 19, 216, 203, 1, 208, 209, 203, + 203, 203, 217, 203, 215, 203, 204, 205, + 214, 214, 6, 1, 208, 209, 203, 203, + 203, 210, 203, 203, 211, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 212, 203, 204, 205, 206, 214, + 6, 1, 208, 209, 203, 203, 38, 210, + 203, 203, 211, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, + 212, 203, 284, 285, 286, 287, 45, 40, + 288, 289, 283, 283, 77, 290, 283, 283, + 291, 283, 283, 283, 283, 283, 283, 283, + 283, 283, 283, 283, 283, 283, 292, 283, + 293, 285, 294, 287, 45, 40, 288, 289, + 283, 283, 283, 290, 283, 283, 291, 283, + 283, 283, 283, 283, 283, 283, 283, 283, + 283, 283, 283, 283, 292, 283, 285, 294, + 287, 45, 40, 288, 289, 283, 283, 283, + 290, 283, 283, 291, 283, 283, 283, 283, + 283, 283, 283, 283, 283, 283, 283, 283, + 283, 292, 283, 295, 283, 283, 283, 58, + 296, 283, 40, 288, 289, 283, 283, 283, + 297, 283, 295, 283, 298, 299, 300, 301, + 45, 40, 288, 289, 283, 283, 75, 302, + 283, 283, 291, 283, 283, 283, 283, 283, + 283, 283, 283, 283, 283, 283, 283, 283, + 292, 283, 303, 299, 304, 304, 45, 40, + 288, 289, 283, 283, 283, 302, 283, 283, + 291, 283, 283, 283, 283, 283, 283, 283, + 283, 283, 283, 283, 283, 283, 292, 283, + 299, 304, 304, 45, 40, 288, 289, 283, + 283, 283, 302, 283, 283, 291, 283, 283, + 283, 283, 283, 283, 283, 283, 283, 283, + 283, 283, 283, 292, 283, 305, 283, 283, + 283, 58, 306, 283, 40, 288, 289, 283, + 283, 283, 297, 283, 305, 283, 307, 308, + 309, 310, 45, 40, 288, 289, 283, 283, + 73, 311, 283, 283, 291, 283, 283, 283, + 283, 283, 283, 283, 283, 283, 283, 283, + 283, 283, 292, 283, 312, 308, 313, 313, + 45, 40, 288, 289, 283, 283, 283, 311, + 283, 283, 291, 283, 283, 283, 283, 283, + 283, 283, 283, 283, 283, 283, 283, 283, + 292, 283, 308, 313, 313, 45, 40, 288, + 289, 283, 283, 283, 311, 283, 283, 291, + 283, 283, 283, 283, 283, 283, 283, 283, + 283, 283, 283, 283, 283, 292, 283, 314, + 283, 283, 283, 58, 315, 283, 40, 288, + 289, 283, 283, 283, 297, 283, 314, 283, + 316, 317, 318, 319, 45, 40, 288, 289, + 283, 283, 71, 320, 283, 283, 291, 283, + 283, 283, 283, 283, 283, 283, 283, 283, + 283, 283, 283, 283, 292, 283, 321, 317, + 322, 322, 45, 40, 288, 289, 283, 283, + 283, 320, 283, 283, 291, 283, 283, 283, + 283, 283, 283, 283, 283, 283, 283, 283, + 283, 283, 292, 283, 317, 322, 322, 45, + 40, 288, 289, 283, 283, 283, 320, 283, + 283, 291, 283, 283, 283, 283, 283, 283, + 283, 283, 283, 283, 283, 283, 283, 292, + 283, 323, 283, 283, 283, 58, 324, 283, + 40, 288, 289, 283, 283, 283, 297, 283, + 323, 283, 325, 326, 327, 328, 45, 40, + 288, 289, 283, 283, 69, 329, 283, 283, + 291, 283, 283, 283, 283, 283, 283, 283, + 283, 283, 283, 283, 283, 283, 292, 283, + 330, 326, 331, 331, 45, 40, 288, 289, + 283, 283, 283, 329, 283, 283, 291, 283, + 283, 283, 283, 283, 283, 283, 283, 283, + 283, 283, 283, 283, 292, 283, 326, 331, + 331, 45, 40, 288, 289, 283, 283, 283, + 329, 283, 283, 291, 283, 283, 283, 283, + 283, 283, 283, 283, 283, 283, 283, 283, + 283, 292, 283, 58, 332, 283, 40, 288, + 289, 283, 283, 283, 297, 283, 333, 333, + 283, 40, 288, 289, 283, 283, 283, 297, + 283, 334, 283, 283, 335, 288, 289, 283, + 288, 289, 283, 336, 283, 288, 337, 283, + 288, 338, 283, 288, 283, 334, 283, 283, + 283, 288, 289, 283, 339, 283, 340, 341, + 283, 40, 288, 289, 283, 283, 43, 283, + 42, 283, 333, 333, 283, 40, 288, 289, + 283, 333, 333, 283, 40, 288, 289, 283, + 339, 283, 333, 333, 283, 40, 288, 289, + 283, 339, 283, 340, 333, 283, 40, 288, + 289, 283, 283, 43, 283, 58, 283, 342, + 342, 45, 40, 288, 289, 283, 283, 283, + 297, 283, 343, 67, 344, 345, 48, 40, + 288, 289, 283, 283, 283, 297, 283, 67, + 344, 345, 48, 40, 288, 289, 283, 283, + 283, 297, 283, 344, 344, 48, 40, 288, + 289, 283, 283, 283, 297, 283, 346, 64, + 347, 348, 51, 40, 288, 289, 283, 283, + 283, 297, 283, 64, 347, 348, 51, 40, + 288, 289, 283, 283, 283, 297, 283, 347, + 347, 51, 40, 288, 289, 283, 283, 283, + 297, 283, 349, 61, 350, 351, 54, 40, + 288, 289, 283, 283, 283, 297, 283, 61, + 350, 351, 54, 40, 288, 289, 283, 283, + 283, 297, 283, 350, 350, 54, 40, 288, + 289, 283, 283, 283, 297, 283, 352, 58, + 333, 353, 283, 40, 288, 289, 283, 283, + 283, 297, 283, 58, 333, 353, 283, 40, + 288, 289, 283, 283, 283, 297, 283, 333, + 354, 283, 40, 288, 289, 283, 283, 283, + 297, 283, 58, 283, 333, 333, 283, 40, + 288, 289, 283, 283, 283, 297, 283, 41, + 42, 283, 283, 58, 332, 283, 40, 288, + 289, 283, 283, 283, 297, 283, 41, 283, + 326, 331, 331, 45, 40, 288, 289, 283, + 283, 283, 329, 283, 283, 283, 283, 283, + 283, 283, 283, 283, 283, 283, 283, 283, + 283, 283, 283, 292, 283, 326, 331, 331, + 45, 40, 288, 289, 283, 283, 283, 329, + 283, 325, 326, 331, 331, 45, 40, 288, + 289, 283, 283, 283, 329, 283, 283, 291, + 283, 283, 283, 283, 283, 283, 283, 283, + 283, 283, 283, 283, 283, 292, 283, 325, + 326, 327, 331, 45, 40, 288, 289, 283, + 283, 69, 329, 283, 283, 291, 283, 283, + 283, 283, 283, 283, 283, 283, 283, 283, + 283, 283, 283, 292, 283, 323, 283, 355, + 283, 342, 342, 45, 40, 288, 289, 283, + 283, 283, 297, 283, 323, 283, 323, 283, + 283, 283, 333, 333, 283, 40, 288, 289, + 283, 283, 283, 297, 283, 323, 283, 323, + 283, 283, 283, 333, 356, 283, 40, 288, + 289, 283, 283, 283, 297, 283, 323, 283, + 323, 283, 355, 283, 333, 333, 283, 40, + 288, 289, 283, 283, 283, 297, 283, 323, + 283, 323, 42, 283, 283, 58, 324, 283, + 40, 288, 289, 283, 283, 283, 297, 283, + 323, 283, 316, 317, 322, 322, 45, 40, + 288, 289, 283, 283, 283, 320, 283, 283, + 291, 283, 283, 283, 283, 283, 283, 283, + 283, 283, 283, 283, 283, 283, 292, 283, + 316, 317, 318, 322, 45, 40, 288, 289, + 283, 283, 71, 320, 283, 283, 291, 283, + 283, 283, 283, 283, 283, 283, 283, 283, + 283, 283, 283, 283, 292, 283, 314, 283, + 357, 283, 342, 342, 45, 40, 288, 289, + 283, 283, 283, 297, 283, 314, 283, 314, + 283, 283, 283, 333, 333, 283, 40, 288, + 289, 283, 283, 283, 297, 283, 314, 283, + 314, 283, 283, 283, 333, 358, 283, 40, + 288, 289, 283, 283, 283, 297, 283, 314, + 283, 314, 283, 357, 283, 333, 333, 283, + 40, 288, 289, 283, 283, 283, 297, 283, + 314, 283, 314, 42, 283, 283, 58, 315, + 283, 40, 288, 289, 283, 283, 283, 297, + 283, 314, 283, 307, 308, 313, 313, 45, + 40, 288, 289, 283, 283, 283, 311, 283, + 283, 291, 283, 283, 283, 283, 283, 283, + 283, 283, 283, 283, 283, 283, 283, 292, + 283, 307, 308, 309, 313, 45, 40, 288, + 289, 283, 283, 73, 311, 283, 283, 291, + 283, 283, 283, 283, 283, 283, 283, 283, + 283, 283, 283, 283, 283, 292, 283, 305, + 283, 359, 283, 342, 342, 45, 40, 288, + 289, 283, 283, 283, 297, 283, 305, 283, + 305, 283, 283, 283, 333, 333, 283, 40, + 288, 289, 283, 283, 283, 297, 283, 305, + 283, 305, 283, 283, 283, 333, 360, 283, + 40, 288, 289, 283, 283, 283, 297, 283, + 305, 283, 305, 283, 359, 283, 333, 333, + 283, 40, 288, 289, 283, 283, 283, 297, + 283, 305, 283, 305, 42, 283, 283, 58, + 306, 283, 40, 288, 289, 283, 283, 283, + 297, 283, 305, 283, 298, 299, 304, 304, + 45, 40, 288, 289, 283, 283, 283, 302, + 283, 283, 291, 283, 283, 283, 283, 283, + 283, 283, 283, 283, 283, 283, 283, 283, + 292, 283, 298, 299, 300, 304, 45, 40, + 288, 289, 283, 283, 75, 302, 283, 283, + 291, 283, 283, 283, 283, 283, 283, 283, + 283, 283, 283, 283, 283, 283, 292, 283, + 295, 283, 361, 283, 342, 342, 45, 40, + 288, 289, 283, 283, 283, 297, 283, 295, + 283, 295, 283, 283, 283, 333, 333, 283, + 40, 288, 289, 283, 283, 283, 297, 283, + 295, 283, 295, 283, 283, 283, 333, 362, + 283, 40, 288, 289, 283, 283, 283, 297, + 283, 295, 283, 295, 283, 361, 283, 333, + 333, 283, 40, 288, 289, 283, 283, 283, + 297, 283, 295, 283, 76, 44, 44, 45, + 40, 283, 283, 283, 283, 283, 76, 283, + 295, 42, 283, 283, 58, 296, 283, 40, + 288, 289, 283, 283, 283, 297, 283, 295, + 283, 284, 285, 294, 287, 45, 40, 288, + 289, 283, 283, 283, 290, 283, 283, 291, + 283, 283, 283, 283, 283, 283, 283, 283, + 283, 283, 283, 283, 283, 292, 283, 364, + 191, 365, 365, 84, 79, 194, 195, 363, + 363, 363, 197, 363, 363, 200, 363, 363, + 363, 363, 363, 363, 363, 363, 363, 363, + 363, 363, 363, 202, 363, 191, 365, 365, + 84, 79, 194, 195, 363, 363, 363, 197, + 363, 363, 200, 363, 363, 363, 363, 363, + 363, 363, 363, 363, 363, 363, 363, 363, + 202, 363, 366, 363, 363, 363, 98, 367, + 363, 79, 194, 195, 363, 363, 363, 368, + 363, 366, 363, 369, 370, 371, 372, 84, + 79, 194, 195, 363, 363, 115, 373, 363, + 363, 200, 363, 363, 363, 363, 363, 363, + 363, 363, 363, 363, 363, 363, 363, 202, + 363, 374, 370, 375, 375, 84, 79, 194, + 195, 363, 363, 363, 373, 363, 363, 200, + 363, 363, 363, 363, 363, 363, 363, 363, + 363, 363, 363, 363, 363, 202, 363, 370, + 375, 375, 84, 79, 194, 195, 363, 363, + 363, 373, 363, 363, 200, 363, 363, 363, + 363, 363, 363, 363, 363, 363, 363, 363, + 363, 363, 202, 363, 376, 363, 363, 363, + 98, 377, 363, 79, 194, 195, 363, 363, + 363, 368, 363, 376, 363, 378, 379, 380, + 381, 84, 79, 194, 195, 363, 363, 113, + 382, 363, 363, 200, 363, 363, 363, 363, + 363, 363, 363, 363, 363, 363, 363, 363, + 363, 202, 363, 383, 379, 384, 384, 84, + 79, 194, 195, 363, 363, 363, 382, 363, + 363, 200, 363, 363, 363, 363, 363, 363, + 363, 363, 363, 363, 363, 363, 363, 202, + 363, 379, 384, 384, 84, 79, 194, 195, + 363, 363, 363, 382, 363, 363, 200, 363, + 363, 363, 363, 363, 363, 363, 363, 363, + 363, 363, 363, 363, 202, 363, 385, 363, + 363, 363, 98, 386, 363, 79, 194, 195, + 363, 363, 363, 368, 363, 385, 363, 387, + 388, 389, 390, 84, 79, 194, 195, 363, + 363, 111, 391, 363, 363, 200, 363, 363, + 363, 363, 363, 363, 363, 363, 363, 363, + 363, 363, 363, 202, 363, 392, 388, 393, + 393, 84, 79, 194, 195, 363, 363, 363, + 391, 363, 363, 200, 363, 363, 363, 363, + 363, 363, 363, 363, 363, 363, 363, 363, + 363, 202, 363, 388, 393, 393, 84, 79, + 194, 195, 363, 363, 363, 391, 363, 363, + 200, 363, 363, 363, 363, 363, 363, 363, + 363, 363, 363, 363, 363, 363, 202, 363, + 394, 363, 363, 363, 98, 395, 363, 79, + 194, 195, 363, 363, 363, 368, 363, 394, + 363, 396, 397, 398, 399, 84, 79, 194, + 195, 363, 363, 109, 400, 363, 363, 200, + 363, 363, 363, 363, 363, 363, 363, 363, + 363, 363, 363, 363, 363, 202, 363, 401, + 397, 402, 402, 84, 79, 194, 195, 363, + 363, 363, 400, 363, 363, 200, 363, 363, + 363, 363, 363, 363, 363, 363, 363, 363, + 363, 363, 363, 202, 363, 397, 402, 402, + 84, 79, 194, 195, 363, 363, 363, 400, + 363, 363, 200, 363, 363, 363, 363, 363, + 363, 363, 363, 363, 363, 363, 363, 363, + 202, 363, 98, 403, 363, 79, 194, 195, + 363, 363, 363, 368, 363, 404, 404, 363, + 79, 194, 195, 363, 363, 363, 368, 363, + 405, 363, 363, 406, 194, 195, 363, 194, + 195, 363, 407, 363, 194, 408, 363, 194, + 409, 363, 194, 363, 405, 363, 363, 363, + 194, 195, 363, 410, 363, 411, 412, 363, + 79, 194, 195, 363, 363, 82, 363, 81, + 363, 404, 404, 363, 79, 194, 195, 363, + 404, 404, 363, 79, 194, 195, 363, 410, + 363, 404, 404, 363, 79, 194, 195, 363, + 410, 363, 411, 404, 363, 79, 194, 195, + 363, 363, 82, 363, 98, 363, 413, 413, + 84, 79, 194, 195, 363, 363, 363, 368, + 363, 414, 107, 415, 416, 88, 79, 194, + 195, 363, 363, 363, 368, 363, 107, 415, + 416, 88, 79, 194, 195, 363, 363, 363, + 368, 363, 415, 415, 88, 79, 194, 195, + 363, 363, 363, 368, 363, 417, 104, 418, + 419, 91, 79, 194, 195, 363, 363, 363, + 368, 363, 104, 418, 419, 91, 79, 194, + 195, 363, 363, 363, 368, 363, 418, 418, + 91, 79, 194, 195, 363, 363, 363, 368, + 363, 420, 101, 421, 422, 94, 79, 194, + 195, 363, 363, 363, 368, 363, 101, 421, + 422, 94, 79, 194, 195, 363, 363, 363, + 368, 363, 421, 421, 94, 79, 194, 195, + 363, 363, 363, 368, 363, 423, 98, 404, + 424, 363, 79, 194, 195, 363, 363, 363, + 368, 363, 98, 404, 424, 363, 79, 194, + 195, 363, 363, 363, 368, 363, 404, 425, + 363, 79, 194, 195, 363, 363, 363, 368, + 363, 98, 363, 404, 404, 363, 79, 194, + 195, 363, 363, 363, 368, 363, 80, 81, + 363, 363, 98, 403, 363, 79, 194, 195, + 363, 363, 363, 368, 363, 80, 363, 397, + 402, 402, 84, 79, 194, 195, 363, 363, + 363, 400, 363, 363, 363, 363, 363, 363, + 363, 363, 363, 363, 363, 363, 363, 363, + 363, 363, 202, 363, 397, 402, 402, 84, + 79, 194, 195, 363, 363, 363, 400, 363, + 396, 397, 402, 402, 84, 79, 194, 195, + 363, 363, 363, 400, 363, 363, 200, 363, + 363, 363, 363, 363, 363, 363, 363, 363, + 363, 363, 363, 363, 202, 363, 396, 397, + 398, 402, 84, 79, 194, 195, 363, 363, + 109, 400, 363, 363, 200, 363, 363, 363, + 363, 363, 363, 363, 363, 363, 363, 363, + 363, 363, 202, 363, 394, 363, 426, 363, + 413, 413, 84, 79, 194, 195, 363, 363, + 363, 368, 363, 394, 363, 394, 363, 363, + 363, 404, 404, 363, 79, 194, 195, 363, + 363, 363, 368, 363, 394, 363, 394, 363, + 363, 363, 404, 427, 363, 79, 194, 195, + 363, 363, 363, 368, 363, 394, 363, 394, + 363, 426, 363, 404, 404, 363, 79, 194, + 195, 363, 363, 363, 368, 363, 394, 363, + 394, 81, 363, 363, 98, 395, 363, 79, + 194, 195, 363, 363, 363, 368, 363, 394, + 363, 387, 388, 393, 393, 84, 79, 194, + 195, 363, 363, 363, 391, 363, 363, 200, + 363, 363, 363, 363, 363, 363, 363, 363, + 363, 363, 363, 363, 363, 202, 363, 387, + 388, 389, 393, 84, 79, 194, 195, 363, + 363, 111, 391, 363, 363, 200, 363, 363, + 363, 363, 363, 363, 363, 363, 363, 363, + 363, 363, 363, 202, 363, 385, 363, 428, + 363, 413, 413, 84, 79, 194, 195, 363, + 363, 363, 368, 363, 385, 363, 385, 363, + 363, 363, 404, 404, 363, 79, 194, 195, + 363, 363, 363, 368, 363, 385, 363, 385, + 363, 363, 363, 404, 429, 363, 79, 194, + 195, 363, 363, 363, 368, 363, 385, 363, + 385, 363, 428, 363, 404, 404, 363, 79, + 194, 195, 363, 363, 363, 368, 363, 385, + 363, 385, 81, 363, 363, 98, 386, 363, + 79, 194, 195, 363, 363, 363, 368, 363, + 385, 363, 378, 379, 384, 384, 84, 79, + 194, 195, 363, 363, 363, 382, 363, 363, + 200, 363, 363, 363, 363, 363, 363, 363, + 363, 363, 363, 363, 363, 363, 202, 363, + 378, 379, 380, 384, 84, 79, 194, 195, + 363, 363, 113, 382, 363, 363, 200, 363, + 363, 363, 363, 363, 363, 363, 363, 363, + 363, 363, 363, 363, 202, 363, 376, 363, + 430, 363, 413, 413, 84, 79, 194, 195, + 363, 363, 363, 368, 363, 376, 363, 376, + 363, 363, 363, 404, 404, 363, 79, 194, + 195, 363, 363, 363, 368, 363, 376, 363, + 376, 363, 363, 363, 404, 431, 363, 79, + 194, 195, 363, 363, 363, 368, 363, 376, + 363, 376, 363, 430, 363, 404, 404, 363, + 79, 194, 195, 363, 363, 363, 368, 363, + 376, 363, 376, 81, 363, 363, 98, 377, + 363, 79, 194, 195, 363, 363, 363, 368, + 363, 376, 363, 369, 370, 375, 375, 84, + 79, 194, 195, 363, 363, 363, 373, 363, + 363, 200, 363, 363, 363, 363, 363, 363, + 363, 363, 363, 363, 363, 363, 363, 202, + 363, 369, 370, 371, 375, 84, 79, 194, + 195, 363, 363, 115, 373, 363, 363, 200, + 363, 363, 363, 363, 363, 363, 363, 363, + 363, 363, 363, 363, 363, 202, 363, 366, + 363, 432, 363, 413, 413, 84, 79, 194, + 195, 363, 363, 363, 368, 363, 366, 363, + 366, 363, 363, 363, 404, 404, 363, 79, + 194, 195, 363, 363, 363, 368, 363, 366, + 363, 366, 363, 363, 363, 404, 433, 363, + 79, 194, 195, 363, 363, 363, 368, 363, + 366, 363, 366, 363, 432, 363, 404, 404, + 363, 79, 194, 195, 363, 363, 363, 368, + 363, 366, 363, 366, 81, 363, 363, 98, + 367, 363, 79, 194, 195, 363, 363, 363, + 368, 363, 366, 363, 116, 83, 83, 84, + 79, 434, 434, 434, 434, 156, 116, 434, + 190, 191, 365, 365, 84, 79, 194, 195, + 363, 363, 363, 197, 363, 363, 200, 363, + 363, 363, 363, 363, 363, 363, 363, 363, + 363, 363, 363, 363, 202, 363, 116, 83, + 83, 84, 79, 434, 434, 434, 434, 434, + 116, 434, 436, 437, 438, 439, 123, 118, + 440, 441, 435, 435, 155, 442, 435, 435, + 443, 435, 435, 435, 435, 435, 435, 435, + 435, 435, 435, 435, 435, 435, 444, 435, + 445, 437, 439, 439, 123, 118, 440, 441, + 435, 435, 435, 442, 435, 435, 443, 435, + 435, 435, 435, 435, 435, 435, 435, 435, + 435, 435, 435, 435, 444, 435, 437, 439, + 439, 123, 118, 440, 441, 435, 435, 435, + 442, 435, 435, 443, 435, 435, 435, 435, + 435, 435, 435, 435, 435, 435, 435, 435, + 435, 444, 435, 446, 435, 435, 435, 136, + 447, 435, 118, 440, 441, 435, 435, 435, + 448, 435, 446, 435, 449, 450, 451, 452, + 123, 118, 440, 441, 435, 435, 153, 453, + 435, 435, 443, 435, 435, 435, 435, 435, + 435, 435, 435, 435, 435, 435, 435, 435, + 444, 435, 454, 450, 455, 455, 123, 118, + 440, 441, 435, 435, 435, 453, 435, 435, + 443, 435, 435, 435, 435, 435, 435, 435, + 435, 435, 435, 435, 435, 435, 444, 435, + 450, 455, 455, 123, 118, 440, 441, 435, + 435, 435, 453, 435, 435, 443, 435, 435, + 435, 435, 435, 435, 435, 435, 435, 435, + 435, 435, 435, 444, 435, 456, 435, 435, + 435, 136, 457, 435, 118, 440, 441, 435, + 435, 435, 448, 435, 456, 435, 458, 459, + 460, 461, 123, 118, 440, 441, 435, 435, + 151, 462, 435, 435, 443, 435, 435, 435, + 435, 435, 435, 435, 435, 435, 435, 435, + 435, 435, 444, 435, 463, 459, 464, 464, + 123, 118, 440, 441, 435, 435, 435, 462, + 435, 435, 443, 435, 435, 435, 435, 435, + 435, 435, 435, 435, 435, 435, 435, 435, + 444, 435, 459, 464, 464, 123, 118, 440, + 441, 435, 435, 435, 462, 435, 435, 443, + 435, 435, 435, 435, 435, 435, 435, 435, + 435, 435, 435, 435, 435, 444, 435, 465, + 435, 435, 435, 136, 466, 435, 118, 440, + 441, 435, 435, 435, 448, 435, 465, 435, + 467, 468, 469, 470, 123, 118, 440, 441, + 435, 435, 149, 471, 435, 435, 443, 435, + 435, 435, 435, 435, 435, 435, 435, 435, + 435, 435, 435, 435, 444, 435, 472, 468, + 473, 473, 123, 118, 440, 441, 435, 435, + 435, 471, 435, 435, 443, 435, 435, 435, + 435, 435, 435, 435, 435, 435, 435, 435, + 435, 435, 444, 435, 468, 473, 473, 123, + 118, 440, 441, 435, 435, 435, 471, 435, + 435, 443, 435, 435, 435, 435, 435, 435, + 435, 435, 435, 435, 435, 435, 435, 444, + 435, 474, 435, 435, 435, 136, 475, 435, + 118, 440, 441, 435, 435, 435, 448, 435, + 474, 435, 476, 477, 478, 479, 123, 118, + 440, 441, 435, 435, 147, 480, 435, 435, + 443, 435, 435, 435, 435, 435, 435, 435, + 435, 435, 435, 435, 435, 435, 444, 435, + 481, 477, 482, 482, 123, 118, 440, 441, + 435, 435, 435, 480, 435, 435, 443, 435, + 435, 435, 435, 435, 435, 435, 435, 435, + 435, 435, 435, 435, 444, 435, 477, 482, + 482, 123, 118, 440, 441, 435, 435, 435, + 480, 435, 435, 443, 435, 435, 435, 435, + 435, 435, 435, 435, 435, 435, 435, 435, + 435, 444, 435, 136, 483, 435, 118, 440, + 441, 435, 435, 435, 448, 435, 484, 484, + 435, 118, 440, 441, 435, 435, 435, 448, + 435, 485, 435, 435, 486, 440, 441, 435, + 440, 441, 435, 487, 435, 440, 488, 435, + 440, 489, 435, 440, 435, 485, 435, 435, + 435, 440, 441, 435, 490, 435, 491, 492, + 435, 118, 440, 441, 435, 435, 121, 435, + 120, 435, 484, 484, 435, 118, 440, 441, + 435, 484, 484, 435, 118, 440, 441, 435, + 490, 435, 484, 484, 435, 118, 440, 441, + 435, 490, 435, 491, 484, 435, 118, 440, + 441, 435, 435, 121, 435, 136, 435, 493, + 493, 123, 118, 440, 441, 435, 435, 435, + 448, 435, 494, 145, 495, 496, 126, 118, + 440, 441, 435, 435, 435, 448, 435, 145, + 495, 496, 126, 118, 440, 441, 435, 435, + 435, 448, 435, 495, 495, 126, 118, 440, + 441, 435, 435, 435, 448, 435, 497, 142, + 498, 499, 129, 118, 440, 441, 435, 435, + 435, 448, 435, 142, 498, 499, 129, 118, + 440, 441, 435, 435, 435, 448, 435, 498, + 498, 129, 118, 440, 441, 435, 435, 435, + 448, 435, 500, 139, 501, 502, 132, 118, + 440, 441, 435, 435, 435, 448, 435, 139, + 501, 502, 132, 118, 440, 441, 435, 435, + 435, 448, 435, 501, 501, 132, 118, 440, + 441, 435, 435, 435, 448, 435, 503, 136, + 484, 504, 435, 118, 440, 441, 435, 435, + 435, 448, 435, 136, 484, 504, 435, 118, + 440, 441, 435, 435, 435, 448, 435, 484, + 505, 435, 118, 440, 441, 435, 435, 435, + 448, 435, 136, 435, 484, 484, 435, 118, + 440, 441, 435, 435, 435, 448, 435, 119, + 120, 435, 435, 136, 483, 435, 118, 440, + 441, 435, 435, 435, 448, 435, 119, 435, + 477, 482, 482, 123, 118, 440, 441, 435, + 435, 435, 480, 435, 435, 435, 435, 435, + 435, 435, 435, 435, 435, 435, 435, 435, + 435, 435, 435, 444, 435, 477, 482, 482, + 123, 118, 440, 441, 435, 435, 435, 480, + 435, 476, 477, 482, 482, 123, 118, 440, + 441, 435, 435, 435, 480, 435, 435, 443, + 435, 435, 435, 435, 435, 435, 435, 435, + 435, 435, 435, 435, 435, 444, 435, 476, + 477, 478, 482, 123, 118, 440, 441, 435, + 435, 147, 480, 435, 435, 443, 435, 435, + 435, 435, 435, 435, 435, 435, 435, 435, + 435, 435, 435, 444, 435, 474, 435, 506, + 435, 493, 493, 123, 118, 440, 441, 435, + 435, 435, 448, 435, 474, 435, 474, 435, + 435, 435, 484, 484, 435, 118, 440, 441, + 435, 435, 435, 448, 435, 474, 435, 474, + 435, 435, 435, 484, 507, 435, 118, 440, + 441, 435, 435, 435, 448, 435, 474, 435, + 474, 435, 506, 435, 484, 484, 435, 118, + 440, 441, 435, 435, 435, 448, 435, 474, + 435, 474, 120, 435, 435, 136, 475, 435, + 118, 440, 441, 435, 435, 435, 448, 435, + 474, 435, 467, 468, 473, 473, 123, 118, + 440, 441, 435, 435, 435, 471, 435, 435, + 443, 435, 435, 435, 435, 435, 435, 435, + 435, 435, 435, 435, 435, 435, 444, 435, + 467, 468, 469, 473, 123, 118, 440, 441, + 435, 435, 149, 471, 435, 435, 443, 435, + 435, 435, 435, 435, 435, 435, 435, 435, + 435, 435, 435, 435, 444, 435, 465, 435, + 508, 435, 493, 493, 123, 118, 440, 441, + 435, 435, 435, 448, 435, 465, 435, 465, + 435, 435, 435, 484, 484, 435, 118, 440, + 441, 435, 435, 435, 448, 435, 465, 435, + 465, 435, 435, 435, 484, 509, 435, 118, + 440, 441, 435, 435, 435, 448, 435, 465, + 435, 465, 435, 508, 435, 484, 484, 435, + 118, 440, 441, 435, 435, 435, 448, 435, + 465, 435, 465, 120, 435, 435, 136, 466, + 435, 118, 440, 441, 435, 435, 435, 448, + 435, 465, 435, 458, 459, 464, 464, 123, + 118, 440, 441, 435, 435, 435, 462, 435, + 435, 443, 435, 435, 435, 435, 435, 435, + 435, 435, 435, 435, 435, 435, 435, 444, + 435, 458, 459, 460, 464, 123, 118, 440, + 441, 435, 435, 151, 462, 435, 435, 443, + 435, 435, 435, 435, 435, 435, 435, 435, + 435, 435, 435, 435, 435, 444, 435, 456, + 435, 510, 435, 493, 493, 123, 118, 440, + 441, 435, 435, 435, 448, 435, 456, 435, + 456, 435, 435, 435, 484, 484, 435, 118, + 440, 441, 435, 435, 435, 448, 435, 456, + 435, 456, 435, 435, 435, 484, 511, 435, + 118, 440, 441, 435, 435, 435, 448, 435, + 456, 435, 456, 435, 510, 435, 484, 484, + 435, 118, 440, 441, 435, 435, 435, 448, + 435, 456, 435, 456, 120, 435, 435, 136, + 457, 435, 118, 440, 441, 435, 435, 435, + 448, 435, 456, 435, 449, 450, 455, 455, + 123, 118, 440, 441, 435, 435, 435, 453, + 435, 435, 443, 435, 435, 435, 435, 435, + 435, 435, 435, 435, 435, 435, 435, 435, + 444, 435, 449, 450, 451, 455, 123, 118, + 440, 441, 435, 435, 153, 453, 435, 435, + 443, 435, 435, 435, 435, 435, 435, 435, + 435, 435, 435, 435, 435, 435, 444, 435, + 446, 435, 512, 435, 493, 493, 123, 118, + 440, 441, 435, 435, 435, 448, 435, 446, + 435, 446, 435, 435, 435, 484, 484, 435, + 118, 440, 441, 435, 435, 435, 448, 435, + 446, 435, 446, 435, 435, 435, 484, 513, + 435, 118, 440, 441, 435, 435, 435, 448, + 435, 446, 435, 446, 435, 512, 435, 484, + 484, 435, 118, 440, 441, 435, 435, 435, + 448, 435, 446, 435, 446, 120, 435, 435, + 136, 447, 435, 118, 440, 441, 435, 435, + 435, 448, 435, 446, 435, 436, 437, 439, + 439, 123, 118, 440, 441, 435, 435, 435, + 442, 435, 435, 443, 435, 435, 435, 435, + 435, 435, 435, 435, 435, 435, 435, 435, + 435, 444, 435, 188, 189, 190, 191, 514, + 365, 84, 79, 194, 195, 196, 196, 156, + 197, 363, 188, 200, 363, 363, 363, 363, + 363, 363, 363, 363, 363, 363, 363, 363, + 363, 202, 363, 204, 515, 206, 207, 6, + 1, 208, 209, 203, 203, 38, 210, 203, + 203, 211, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 212, + 203, 215, 189, 190, 191, 516, 517, 84, + 157, 518, 519, 203, 196, 156, 520, 203, + 215, 200, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 202, + 203, 116, 521, 521, 84, 157, 208, 209, + 203, 203, 156, 522, 203, 523, 203, 203, + 524, 518, 519, 203, 518, 519, 203, 256, + 203, 518, 525, 203, 518, 526, 203, 518, + 203, 523, 203, 203, 203, 518, 519, 203, + 527, 3, 363, 363, 404, 433, 363, 79, + 194, 195, 363, 363, 363, 368, 363, 527, + 363, 528, 370, 529, 530, 84, 157, 518, + 519, 203, 203, 158, 373, 203, 203, 200, + 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 202, 203, 531, + 370, 532, 532, 84, 157, 518, 519, 203, + 203, 203, 373, 203, 203, 200, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 202, 203, 370, 532, 532, + 84, 157, 518, 519, 203, 203, 203, 373, + 203, 203, 200, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, + 202, 203, 528, 370, 532, 532, 84, 157, + 518, 519, 203, 203, 203, 373, 203, 203, + 200, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 202, 203, + 528, 370, 529, 532, 84, 157, 518, 519, + 203, 203, 158, 373, 203, 203, 200, 203, + 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 202, 203, 215, 203, + 281, 116, 533, 533, 160, 157, 208, 209, + 203, 203, 203, 522, 203, 215, 203, 534, + 184, 535, 536, 162, 157, 518, 519, 203, + 203, 203, 537, 203, 184, 535, 536, 162, + 157, 518, 519, 203, 203, 203, 537, 203, + 535, 535, 162, 157, 518, 519, 203, 203, + 203, 537, 203, 538, 181, 539, 540, 165, + 157, 518, 519, 203, 203, 203, 537, 203, + 181, 539, 540, 165, 157, 518, 519, 203, + 203, 203, 537, 203, 539, 539, 165, 157, + 518, 519, 203, 203, 203, 537, 203, 541, + 178, 542, 543, 168, 157, 518, 519, 203, + 203, 203, 537, 203, 178, 542, 543, 168, + 157, 518, 519, 203, 203, 203, 537, 203, + 542, 542, 168, 157, 518, 519, 203, 203, + 203, 537, 203, 544, 175, 545, 546, 203, + 157, 518, 519, 203, 203, 203, 537, 203, + 175, 545, 546, 203, 157, 518, 519, 203, + 203, 203, 537, 203, 545, 545, 203, 157, + 518, 519, 203, 203, 203, 537, 203, 547, + 203, 548, 549, 203, 157, 518, 519, 203, + 203, 172, 203, 171, 203, 545, 545, 203, + 157, 518, 519, 203, 545, 545, 203, 157, + 518, 519, 203, 547, 203, 545, 545, 203, + 157, 518, 519, 203, 547, 203, 548, 545, + 203, 157, 518, 519, 203, 203, 172, 203, + 527, 171, 363, 363, 98, 367, 363, 79, + 194, 195, 363, 363, 363, 368, 363, 527, + 363, 551, 550, 552, 552, 550, 186, 553, + 554, 550, 552, 552, 550, 186, 553, 554, + 550, 555, 550, 550, 556, 553, 554, 550, + 553, 554, 550, 557, 550, 553, 558, 550, + 553, 559, 550, 553, 550, 555, 550, 550, + 550, 553, 554, 550, 0 +}; + +static const short _indic_syllable_machine_trans_targs[] = { + 178, 200, 207, 209, 210, 4, 213, 5, + 7, 216, 8, 10, 219, 11, 13, 222, + 14, 16, 17, 199, 19, 20, 221, 22, + 23, 218, 25, 26, 215, 224, 229, 233, + 236, 240, 243, 247, 250, 254, 257, 178, + 280, 287, 289, 290, 41, 293, 42, 44, + 296, 45, 47, 299, 48, 50, 302, 51, + 53, 54, 279, 56, 57, 301, 59, 60, + 298, 62, 63, 295, 304, 309, 313, 316, + 320, 323, 327, 330, 334, 338, 178, 359, + 366, 368, 369, 78, 372, 178, 79, 81, + 375, 82, 84, 378, 85, 87, 381, 88, + 90, 91, 358, 93, 94, 380, 96, 97, + 377, 99, 100, 374, 383, 388, 392, 395, + 399, 402, 406, 409, 413, 178, 440, 447, + 449, 450, 114, 453, 115, 117, 456, 118, + 120, 459, 121, 123, 462, 124, 126, 127, + 439, 129, 130, 461, 132, 133, 458, 135, + 136, 455, 464, 469, 473, 476, 480, 483, + 487, 490, 494, 497, 417, 502, 513, 152, + 516, 154, 519, 155, 157, 522, 158, 160, + 525, 161, 528, 530, 531, 166, 167, 527, + 169, 170, 524, 172, 173, 521, 175, 176, + 518, 178, 536, 178, 179, 259, 339, 341, + 416, 418, 361, 362, 419, 415, 498, 499, + 386, 534, 387, 178, 180, 182, 36, 258, + 202, 203, 256, 227, 228, 181, 35, 183, + 252, 1, 184, 186, 34, 251, 249, 185, + 33, 187, 245, 188, 190, 32, 244, 242, + 189, 31, 191, 238, 192, 194, 30, 237, + 235, 193, 29, 195, 231, 196, 198, 28, + 230, 226, 197, 27, 212, 0, 201, 206, + 178, 204, 205, 208, 2, 211, 3, 214, + 6, 24, 217, 9, 21, 220, 12, 18, + 223, 15, 225, 232, 234, 239, 241, 246, + 248, 253, 255, 178, 260, 262, 73, 336, + 282, 283, 337, 307, 308, 261, 72, 263, + 332, 38, 264, 266, 71, 331, 329, 265, + 70, 267, 325, 268, 270, 69, 324, 322, + 269, 68, 271, 318, 272, 274, 67, 317, + 315, 273, 66, 275, 311, 276, 278, 65, + 310, 306, 277, 64, 292, 37, 281, 286, + 178, 284, 285, 288, 39, 291, 40, 294, + 43, 61, 297, 46, 58, 300, 49, 55, + 303, 52, 305, 312, 314, 319, 321, 326, + 328, 333, 335, 178, 340, 109, 342, 411, + 75, 343, 345, 108, 410, 408, 344, 107, + 346, 404, 347, 349, 106, 403, 401, 348, + 105, 350, 397, 351, 353, 104, 396, 394, + 352, 103, 354, 390, 355, 357, 102, 389, + 385, 356, 101, 371, 74, 360, 365, 178, + 363, 364, 367, 76, 370, 77, 373, 80, + 98, 376, 83, 95, 379, 86, 92, 382, + 89, 384, 391, 393, 398, 400, 405, 407, + 412, 414, 178, 178, 420, 422, 146, 145, + 442, 443, 496, 467, 468, 421, 423, 492, + 111, 424, 426, 144, 491, 489, 425, 143, + 427, 485, 428, 430, 142, 484, 482, 429, + 141, 431, 478, 432, 434, 140, 477, 475, + 433, 139, 435, 471, 436, 438, 138, 470, + 466, 437, 137, 452, 110, 441, 446, 178, + 444, 445, 448, 112, 451, 113, 454, 116, + 134, 457, 119, 131, 460, 122, 128, 463, + 125, 465, 472, 474, 479, 481, 486, 488, + 493, 495, 147, 500, 501, 515, 504, 505, + 533, 148, 509, 503, 508, 506, 507, 510, + 511, 150, 514, 512, 149, 151, 517, 153, + 174, 163, 520, 156, 171, 523, 159, 168, + 526, 162, 165, 529, 164, 532, 178, 535, + 177, 538, 539, 537, 542, 178, 540, 541 +}; + +static const char _indic_syllable_machine_trans_actions[] = { + 1, 0, 2, 2, 2, 0, 2, 0, + 0, 2, 0, 0, 2, 0, 0, 2, + 0, 0, 0, 2, 0, 0, 2, 0, + 0, 2, 0, 0, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 3, + 0, 2, 2, 2, 0, 2, 0, 0, + 2, 0, 0, 2, 0, 0, 2, 0, + 0, 0, 2, 0, 0, 2, 0, 0, + 2, 0, 0, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 4, 0, + 2, 2, 2, 0, 2, 5, 0, 0, + 2, 0, 0, 2, 0, 0, 2, 0, + 0, 0, 2, 0, 0, 2, 0, 0, + 2, 0, 0, 2, 2, 6, 2, 6, + 2, 6, 2, 6, 2, 7, 0, 2, + 2, 2, 0, 2, 0, 0, 2, 0, + 0, 2, 0, 0, 2, 0, 0, 0, + 2, 0, 0, 2, 0, 0, 2, 0, + 0, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 6, 0, 8, 0, + 2, 0, 2, 0, 0, 2, 0, 0, + 2, 0, 2, 2, 2, 0, 0, 2, + 0, 0, 2, 0, 0, 2, 0, 0, + 2, 9, 0, 12, 2, 2, 6, 2, + 13, 13, 0, 0, 2, 2, 6, 2, + 6, 2, 6, 14, 2, 2, 0, 2, + 0, 0, 2, 2, 2, 2, 0, 2, + 2, 0, 2, 2, 0, 2, 2, 2, + 0, 2, 2, 2, 2, 0, 2, 2, + 2, 0, 2, 2, 2, 2, 0, 2, + 2, 2, 0, 2, 2, 2, 2, 0, + 2, 2, 2, 0, 2, 0, 0, 0, + 15, 0, 0, 2, 0, 2, 0, 2, + 0, 0, 2, 0, 0, 2, 0, 0, + 2, 0, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 16, 2, 2, 0, 2, + 0, 0, 2, 2, 2, 2, 0, 2, + 2, 0, 2, 2, 0, 2, 2, 2, + 0, 2, 2, 2, 2, 0, 2, 2, + 2, 0, 2, 2, 2, 2, 0, 2, + 2, 2, 0, 2, 2, 2, 2, 0, + 2, 2, 2, 0, 2, 0, 0, 0, + 17, 0, 0, 2, 0, 2, 0, 2, + 0, 0, 2, 0, 0, 2, 0, 0, + 2, 0, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 18, 6, 0, 6, 6, + 0, 6, 2, 0, 6, 2, 6, 0, + 6, 6, 6, 2, 0, 6, 2, 6, + 0, 6, 6, 6, 2, 0, 6, 2, + 6, 0, 6, 6, 6, 2, 0, 6, + 2, 6, 0, 6, 0, 0, 0, 19, + 0, 0, 2, 0, 2, 0, 2, 0, + 0, 2, 0, 0, 2, 0, 0, 2, + 0, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 20, 21, 2, 2, 0, 0, + 0, 0, 2, 2, 2, 2, 2, 2, + 0, 2, 2, 0, 2, 2, 2, 0, + 2, 2, 2, 2, 0, 2, 2, 2, + 0, 2, 2, 2, 2, 0, 2, 2, + 2, 0, 2, 2, 2, 2, 0, 2, + 2, 2, 0, 2, 0, 0, 0, 22, + 0, 0, 2, 0, 2, 0, 2, 0, + 0, 2, 0, 0, 2, 0, 0, 2, + 0, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 0, 0, 8, 2, 0, 0, + 2, 0, 2, 0, 0, 0, 0, 8, + 8, 0, 8, 8, 0, 0, 2, 0, + 0, 0, 2, 0, 0, 2, 0, 0, + 2, 0, 0, 2, 0, 2, 23, 2, + 0, 0, 0, 0, 0, 24, 0, 0 +}; + +static const char _indic_syllable_machine_to_state_actions[] = { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 10, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0 +}; + +static const char _indic_syllable_machine_from_state_actions[] = { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 11, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0 +}; + +static const short _indic_syllable_machine_eof_trans[] = { + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 79, 79, 79, 79, 86, 86, + 79, 79, 79, 79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 118, 118, + 118, 118, 118, 118, 118, 118, 118, 118, + 118, 118, 118, 118, 118, 118, 118, 118, + 118, 118, 118, 118, 118, 118, 118, 118, + 118, 118, 118, 118, 118, 118, 118, 118, + 118, 118, 118, 79, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 186, 0, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 284, 284, 284, 284, 284, + 284, 284, 284, 284, 284, 284, 284, 284, + 284, 284, 284, 284, 284, 284, 284, 284, + 284, 284, 284, 284, 284, 284, 284, 284, + 284, 284, 284, 284, 284, 284, 284, 284, + 284, 284, 284, 284, 284, 284, 284, 284, + 284, 284, 284, 284, 284, 284, 284, 284, + 284, 284, 284, 284, 284, 284, 284, 284, + 284, 284, 284, 284, 284, 284, 284, 284, + 284, 284, 284, 284, 284, 284, 284, 284, + 284, 284, 284, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, + 435, 364, 435, 436, 436, 436, 436, 436, + 436, 436, 436, 436, 436, 436, 436, 436, + 436, 436, 436, 436, 436, 436, 436, 436, + 436, 436, 436, 436, 436, 436, 436, 436, + 436, 436, 436, 436, 436, 436, 436, 436, + 436, 436, 436, 436, 436, 436, 436, 436, + 436, 436, 436, 436, 436, 436, 436, 436, + 436, 436, 436, 436, 436, 436, 436, 436, + 436, 436, 436, 436, 436, 436, 436, 436, + 436, 436, 436, 436, 436, 436, 436, 436, + 436, 436, 364, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 364, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 364, 551, 551, + 551, 551, 551, 551, 551, 551, 551 +}; + +static const int indic_syllable_machine_start = 178; +static const int indic_syllable_machine_first_final = 178; +static const int indic_syllable_machine_error = -1; + +static const int indic_syllable_machine_en_main = 178; + + +#line 36 "hb-ot-shape-complex-indic-machine.rl" + + + +#line 97 "hb-ot-shape-complex-indic-machine.rl" + + +#define found_syllable(syllable_type) \ + HB_STMT_START { \ + if (0) fprintf (stderr, "syllable %d..%d %s\n", last, p+1, #syllable_type); \ + for (unsigned int i = last; i < p+1; i++) \ + info[i].syllable() = (syllable_serial << 4) | syllable_type; \ + last = p+1; \ + syllable_serial++; \ + if (unlikely (syllable_serial == 16)) syllable_serial = 1; \ + } HB_STMT_END + +static void +find_syllables (hb_buffer_t *buffer) +{ + unsigned int p, pe, eof, ts HB_UNUSED, te HB_UNUSED, act HB_UNUSED; + int cs; + hb_glyph_info_t *info = buffer->info; + +#line 1580 "hb-ot-shape-complex-indic-machine.hh" + { + cs = indic_syllable_machine_start; + ts = 0; + te = 0; + act = 0; + } + +#line 118 "hb-ot-shape-complex-indic-machine.rl" + + + p = 0; + pe = eof = buffer->len; + + unsigned int last = 0; + unsigned int syllable_serial = 1; + +#line 1597 "hb-ot-shape-complex-indic-machine.hh" + { + int _slen; + int _trans; + const unsigned char *_keys; + const short *_inds; + if ( p == pe ) + goto _test_eof; +_resume: + switch ( _indic_syllable_machine_from_state_actions[cs] ) { + case 11: +#line 1 "NONE" + {ts = p;} + break; +#line 1611 "hb-ot-shape-complex-indic-machine.hh" + } + + _keys = _indic_syllable_machine_trans_keys + (cs<<1); + _inds = _indic_syllable_machine_indicies + _indic_syllable_machine_index_offsets[cs]; + + _slen = _indic_syllable_machine_key_spans[cs]; + _trans = _inds[ _slen > 0 && _keys[0] <=( info[p].indic_category()) && + ( info[p].indic_category()) <= _keys[1] ? + ( info[p].indic_category()) - _keys[0] : _slen ]; + +_eof_trans: + cs = _indic_syllable_machine_trans_targs[_trans]; + + if ( _indic_syllable_machine_trans_actions[_trans] == 0 ) + goto _again; + + switch ( _indic_syllable_machine_trans_actions[_trans] ) { + case 2: +#line 1 "NONE" + {te = p+1;} + break; + case 15: +#line 88 "hb-ot-shape-complex-indic-machine.rl" + {te = p+1;{ found_syllable (consonant_syllable); }} + break; + case 17: +#line 89 "hb-ot-shape-complex-indic-machine.rl" + {te = p+1;{ found_syllable (vowel_syllable); }} + break; + case 22: +#line 90 "hb-ot-shape-complex-indic-machine.rl" + {te = p+1;{ found_syllable (standalone_cluster); }} + break; + case 24: +#line 91 "hb-ot-shape-complex-indic-machine.rl" + {te = p+1;{ found_syllable (symbol_cluster); }} + break; + case 19: +#line 92 "hb-ot-shape-complex-indic-machine.rl" + {te = p+1;{ found_syllable (broken_cluster); }} + break; + case 12: +#line 93 "hb-ot-shape-complex-indic-machine.rl" + {te = p+1;{ found_syllable (non_indic_cluster); }} + break; + case 14: +#line 88 "hb-ot-shape-complex-indic-machine.rl" + {te = p;p--;{ found_syllable (consonant_syllable); }} + break; + case 16: +#line 89 "hb-ot-shape-complex-indic-machine.rl" + {te = p;p--;{ found_syllable (vowel_syllable); }} + break; + case 21: +#line 90 "hb-ot-shape-complex-indic-machine.rl" + {te = p;p--;{ found_syllable (standalone_cluster); }} + break; + case 23: +#line 91 "hb-ot-shape-complex-indic-machine.rl" + {te = p;p--;{ found_syllable (symbol_cluster); }} + break; + case 18: +#line 92 "hb-ot-shape-complex-indic-machine.rl" + {te = p;p--;{ found_syllable (broken_cluster); }} + break; + case 20: +#line 93 "hb-ot-shape-complex-indic-machine.rl" + {te = p;p--;{ found_syllable (non_indic_cluster); }} + break; + case 1: +#line 88 "hb-ot-shape-complex-indic-machine.rl" + {{p = ((te))-1;}{ found_syllable (consonant_syllable); }} + break; + case 3: +#line 89 "hb-ot-shape-complex-indic-machine.rl" + {{p = ((te))-1;}{ found_syllable (vowel_syllable); }} + break; + case 7: +#line 90 "hb-ot-shape-complex-indic-machine.rl" + {{p = ((te))-1;}{ found_syllable (standalone_cluster); }} + break; + case 9: +#line 91 "hb-ot-shape-complex-indic-machine.rl" + {{p = ((te))-1;}{ found_syllable (symbol_cluster); }} + break; + case 4: +#line 92 "hb-ot-shape-complex-indic-machine.rl" + {{p = ((te))-1;}{ found_syllable (broken_cluster); }} + break; + case 5: +#line 1 "NONE" + { switch( act ) { + case 1: + {{p = ((te))-1;} found_syllable (consonant_syllable); } + break; + case 5: + {{p = ((te))-1;} found_syllable (broken_cluster); } + break; + case 6: + {{p = ((te))-1;} found_syllable (non_indic_cluster); } + break; + } + } + break; + case 8: +#line 1 "NONE" + {te = p+1;} +#line 88 "hb-ot-shape-complex-indic-machine.rl" + {act = 1;} + break; + case 6: +#line 1 "NONE" + {te = p+1;} +#line 92 "hb-ot-shape-complex-indic-machine.rl" + {act = 5;} + break; + case 13: +#line 1 "NONE" + {te = p+1;} +#line 93 "hb-ot-shape-complex-indic-machine.rl" + {act = 6;} + break; +#line 1734 "hb-ot-shape-complex-indic-machine.hh" + } + +_again: + switch ( _indic_syllable_machine_to_state_actions[cs] ) { + case 10: +#line 1 "NONE" + {ts = 0;} + break; +#line 1743 "hb-ot-shape-complex-indic-machine.hh" + } + + if ( ++p != pe ) + goto _resume; + _test_eof: {} + if ( p == eof ) + { + if ( _indic_syllable_machine_eof_trans[cs] > 0 ) { + _trans = _indic_syllable_machine_eof_trans[cs] - 1; + goto _eof_trans; + } + } + + } + +#line 127 "hb-ot-shape-complex-indic-machine.rl" + +} + +#endif /* HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH */ diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-indic-machine.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic-machine.rl index f6768a581f2..694b235d1d1 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-indic-machine.rl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic-machine.rl @@ -69,7 +69,7 @@ cn = c.ZWJ?.n?; forced_rakar = ZWJ H ZWJ Ra; symbol = Symbol.N?; matra_group = z{0,3}.M.N?.(H | forced_rakar)?; -syllable_tail = (SM.SM?.ZWNJ?)? A{0,3}? VD{0,2}; +syllable_tail = (z?.SM.SM?.ZWNJ?)? A{0,3}? VD{0,2}; place_holder = PLACEHOLDER | DOTTEDCIRCLE; halant_group = (z?.h.(ZWJ.N?)?); final_halant_group = halant_group | h.ZWNJ; diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-indic-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic-private.hh index d8dfc6507d9..d8dfc6507d9 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-indic-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-indic-table.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic-table.cc index f58380e0c8a..f58380e0c8a 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-indic-table.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic-table.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-indic.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic.cc index 7723600410a..7723600410a 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-indic.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-myanmar-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-myanmar-machine.hh index 83ade212235..83ade212235 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-myanmar-machine.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-myanmar-machine.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-myanmar-machine.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-myanmar-machine.rl index 9649a916f02..9649a916f02 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-myanmar-machine.rl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-myanmar-machine.rl diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-myanmar.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-myanmar.cc index d016380cc63..d016380cc63 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-myanmar.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-myanmar.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-private.hh index 9a7afcbd7b1..9a7afcbd7b1 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-sea-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-sea-machine.hh index 789e4d60e1d..789e4d60e1d 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-sea-machine.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-sea-machine.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-sea-machine.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-sea-machine.rl index 46140fc4d5f..46140fc4d5f 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-sea-machine.rl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-sea-machine.rl diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-sea.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-sea.cc index f08b7ccb9f4..f08b7ccb9f4 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-sea.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-sea.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-thai.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-thai.cc index feb7fc7a148..feb7fc7a148 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-thai.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-thai.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-tibetan.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-tibetan.cc index 01465a426f8..01465a426f8 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-complex-tibetan.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-tibetan.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-fallback-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-fallback-private.hh index ec653513f1b..ec653513f1b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-fallback-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-fallback-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-fallback.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-fallback.cc index 80d7da82f38..80d7da82f38 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-fallback.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-fallback.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-normalize-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-normalize-private.hh index c744e26451d..c744e26451d 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-normalize-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-normalize-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-normalize.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-normalize.cc index 4287253aed1..4287253aed1 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-normalize.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-normalize.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-private.hh index 54ac2c3cf7c..54ac2c3cf7c 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape.cc index a0b503ab0f2..a0b503ab0f2 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape.h index 1402f54acc5..1402f54acc5 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-shape.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-tag.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-tag.cc index 878dd79b62c..878dd79b62c 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-tag.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-tag.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-tag.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-tag.h index 1bf12ab3c09..1bf12ab3c09 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot-tag.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-tag.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot.h index 47c92a58e4b..47c92a58e4b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ot.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-private.hh index cd02e2b30eb..c92cdec5164 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-private.hh @@ -715,7 +715,9 @@ _hb_debug_msg<0> (const char *what HB_UNUSED, */ template <typename T> -struct hb_printer_t {}; +struct hb_printer_t { + const char *print (const T&) { return "something"; } +}; template <> struct hb_printer_t<bool> { diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-set-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-set-private.hh index 59e8f4559f5..59e8f4559f5 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-set-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-set-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-set.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-set.cc index 59a0af46ed4..59a0af46ed4 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-set.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-set.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-set.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-set.h index bafdae96333..bafdae96333 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-set.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-set.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-shape-plan-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape-plan-private.hh index 607da5e7791..607da5e7791 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-shape-plan-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape-plan-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-shape-plan.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape-plan.cc index 2166173f9e5..2166173f9e5 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-shape-plan.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape-plan.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-shape-plan.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape-plan.h index 8f54552f90b..8f54552f90b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-shape-plan.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape-plan.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape.cc index 74747f88b89..74747f88b89 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-shape.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-shape.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape.h index 10a35cb517e..10a35cb517e 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-shape.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-shaper-impl-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shaper-impl-private.hh index 7844081e95b..7844081e95b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-shaper-impl-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shaper-impl-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-shaper-list.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shaper-list.hh index 6c537d49215..6c537d49215 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-shaper-list.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shaper-list.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-shaper-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shaper-private.hh index 29c4493943d..29c4493943d 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-shaper-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shaper-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-shaper.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shaper.cc index 6ae26013821..6ae26013821 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-shaper.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shaper.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ucdn.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ucdn.cc index 5b53821f923..5b53821f923 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-ucdn.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ucdn.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-unicode-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-unicode-private.hh index a2c59da274a..a2c59da274a 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-unicode-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-unicode-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-unicode.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-unicode.cc index d59dfb24572..d59dfb24572 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-unicode.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-unicode.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-unicode.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-unicode.h index 1c4e097b92d..1c4e097b92d 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-unicode.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-unicode.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-uniscribe.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-uniscribe.cc index e7bcad2ea86..e7bcad2ea86 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-uniscribe.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-uniscribe.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-uniscribe.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-uniscribe.h index 001ab38ea87..001ab38ea87 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-uniscribe.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-uniscribe.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-utf-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-utf-private.hh index 0b798a05c30..0b798a05c30 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-utf-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-utf-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-version.h.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-version.h.in index 2517160d18b..2517160d18b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-version.h.in +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-version.h.in diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-warning.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-warning.cc index e0f88e2d4ad..e0f88e2d4ad 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb-warning.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-warning.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb.h index c5a938a3818..c5a938a3818 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/hb.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/main.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/main.cc index f9708cc948e..f9708cc948e 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/main.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/main.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/test-buffer-serialize.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/test-buffer-serialize.cc index 18c46e9524b..18c46e9524b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/test-buffer-serialize.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/test-buffer-serialize.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/test-size-params.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/test-size-params.cc index 35d9e3c8e25..35d9e3c8e25 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/test-size-params.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/test-size-params.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/test-would-substitute.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/test-would-substitute.cc index 8ea87cdf397..8ea87cdf397 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/test-would-substitute.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/test-would-substitute.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/test.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/test.cc index a8fe046f34c..a8fe046f34c 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.36/src/test.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/test.cc diff --git a/Build/source/libs/harfbuzz/version.ac b/Build/source/libs/harfbuzz/version.ac index 2465ecc6d39..4f44a863def 100644 --- a/Build/source/libs/harfbuzz/version.ac +++ b/Build/source/libs/harfbuzz/version.ac @@ -8,4 +8,4 @@ dnl dnl -------------------------------------------------------- dnl dnl m4-include this file to define the current harfbuzz version -m4_define([harfbuzz_version], [0.9.36]) +m4_define([harfbuzz_version], [0.9.37]) |