From e2c521fb73d89945e2d90065f48bf9c2970cac3c Mon Sep 17 00:00:00 2001
From: Vadim Seregin <vseregin@qti.qualcomm.com>
Date: Wed, 24 Jul 2024 09:18:58 +0000
Subject: [PATCH] JVET-AI0281: CABAC context retraining

---
 source/App/CabacTraining/README.md        |    6 +-
 source/Lib/CommonLib/Contexts.cpp         |    4 +-
 source/Lib/CommonLib/Contexts_ecm14.0.inl | 6399 +++++++++++++++++++++
 source/Lib/CommonLib/TypeDef.h            |    1 +
 source/Lib/DecoderLib/BinDecoder.cpp      |    3 +
 5 files changed, 6410 insertions(+), 3 deletions(-)
 create mode 100644 source/Lib/CommonLib/Contexts_ecm14.0.inl

diff --git a/source/App/CabacTraining/README.md b/source/App/CabacTraining/README.md
index 13b678a03..6c53d0d66 100644
--- a/source/App/CabacTraining/README.md
+++ b/source/App/CabacTraining/README.md
@@ -29,9 +29,11 @@ The resulting parameters are in the file:
 ``
 821 A 26 41 35 7 7 8 4 4 18 99 115 99 115 99 115
 ``
-821 is the context number, ``A`` can be ignored. Following numbers are the cabac parameters.
+821 is the context number, ``A`` can be ignored. Following numbers are the initialization parameters.
 
 All contexts can be trained in parallel.
 
+## Troubleshooting
 
-
+If there is an error that the bin file is not opened, one of the reasons can be that the limit of opened files is not enough.
+In Linux, use ulimit to increase that number, for example, ulimit -n 2048 (assuming the total number of contexts is less than 2048).
\ No newline at end of file
diff --git a/source/Lib/CommonLib/Contexts.cpp b/source/Lib/CommonLib/Contexts.cpp
index d1365b15c..a671e55e1 100644
--- a/source/Lib/CommonLib/Contexts.cpp
+++ b/source/Lib/CommonLib/Contexts.cpp
@@ -728,7 +728,9 @@ std::vector<std::vector<uint8_t>> ContextSetCfg::sm_InitTables(NUMBER_OF_SLICE_T
 std::vector<std::vector<uint8_t>> ContextSetCfg::sm_InitTables(NUMBER_OF_SLICE_TYPES + 1);
 #endif
 
-#if JVET_AH0176_LOW_DELAY_B_CTX
+#if JVET_AI0281_CABAC_RETRAIN
+#include "Contexts_ecm14.0.inl"
+#elif JVET_AH0176_LOW_DELAY_B_CTX
 #include "Contexts_ecm13.inl"
 #elif JVET_ECM12_CABAC_RETRAIN
 #include "Contexts_ecm12.inl"
diff --git a/source/Lib/CommonLib/Contexts_ecm14.0.inl b/source/Lib/CommonLib/Contexts_ecm14.0.inl
new file mode 100644
index 000000000..c3dbadb5a
--- /dev/null
+++ b/source/Lib/CommonLib/Contexts_ecm14.0.inl
@@ -0,0 +1,6399 @@
+#pragma once
+#include "CommonDef.h"
+#if JVET_AG0196_WINDOWS_OFFSETS_SLICETYPE
+// CONTEXTS WSA START
+const CtxSet ContextSetCfg::SplitFlag = ContextSetCfg::addCtxSet({
+// ctx 0 8
+ {  18,  20,  52,  19,  21,  30,  42,  37,  31 },
+ {  11,  20,  52,  19,   6,  30,   5,  22,  23 },
+ {  27,  36,  38,  20,  29,  30,  28,  38,  31 },
+ {  11,  20,  52,   4,   6,  30,  20,  30,  31 },
+ {   5,   6,   7,   5,  10,  13,   8,   7,  13 },
+ {   6,  10,  10,   5,  10,  13,  10,   7,  13 },
+ {   9,   9,   9,   9,   9,   9,   6,   9,   9 },
+ {   5,   6,   6,   5,  10,  13,   9,   7,  13 },
+ {   4,  11,  25,  11,  11,  18,  11,  11,  11 },
+ {   4,  11,  32,   4,   4,  11,  11,   4,  18 },
+ {  11,   4,  18,  11,   4,   4,  18,  11,  11 },
+ {   4,   4,  18,   4,  11,  18,  11,   4,  11 },
+ { 212, 150, 133, 230, 245, 217, 101, 145, 194 },
+ { 140, 133, 114, 172, 250, 117, 181, 120, 132 },
+ { 211, 230, 209, 188, 250, 234, 101, 115, 115 },
+ { 170, 234, 113, 203, 250, 229, 244, 118, 105 },
+ { 163, 166, 151, 243, 186, 251, 101, 130, 165 },
+ { 251, 251,  84, 251, 251,  91, 116, 147,  84 },
+ { 212, 165, 133, 247, 183, 150, 115, 114, 131 },
+ { 140, 155, 107, 171, 250, 216, 216, 115,  98 },
+});
+
+const CtxSet ContextSetCfg::SplitQtFlag = ContextSetCfg::addCtxSet({
+// ctx 9 14
+ {  34,  14,  23,  11,  12,   6 },
+ {  19,  14,  23,  11,  12,  21 },
+ {   4,  13,  22,  33,  27,  22 },
+ {  11,  14,  23,  11,  12,  21 },
+ {   8,   6,  13,  12,   6,   5 },
+ {   6,   5,  13,  13,  10,  10 },
+ {   0,   1,   5,  12,  12,  13 },
+ {   7,   3,  13,  12,   6,   5 },
+ {  11,  11,  25,   4,   4,   4 },
+ {   4,   4,  18,   4,   4,  18 },
+ {   4,   4,  18,  11,  18,  32 },
+ {   4,   4,  18,   4,   4,  11 },
+ { 194, 100, 119,  86, 117, 133 },
+ { 139, 251, 234, 235, 150, 134 },
+ { 114, 102, 133, 106, 106, 116 },
+ { 138, 252, 138, 234, 213, 122 },
+ { 116, 116, 148,  85, 217, 163 },
+ { 190, 153, 115, 235, 235, 153 },
+ { 129, 116, 121,  88, 107, 117 },
+ { 135, 251, 232, 137, 164, 124 },
+});
+
+const CtxSet ContextSetCfg::SplitHvFlag = ContextSetCfg::addCtxSet({
+// ctx 15 19
+ {  43,  35,  44,  34,  45 },
+ {  36,  35,  44,  34,  45 },
+ {  43,  50,  44,  27,  52 },
+ {  43,  35,  44,  34,  45 },
+ {   6,   6,  10,   5,   5 },
+ {  10,   7,  10,   6,   6 },
+ {   9,   9,   9,   5,   5 },
+ {   7,   6,   7,   5,   5 },
+ {   4,   4,  11,   4,  11 },
+ {   4,   4,   4,   4,   4 },
+ {  11,  11,  11,  11,   4 },
+ {   4,   4,   4,   4,   4 },
+ { 149, 211, 165, 116, 164 },
+ { 123, 180, 121, 164, 118 },
+ { 118, 179, 136, 119, 243 },
+ { 122, 132, 119, 132, 117 },
+ { 244, 243, 196, 244, 228 },
+ { 243, 132, 148, 118, 181 },
+ { 133, 148, 137, 106, 212 },
+ { 120, 133, 122, 132, 121 },
+});
+
+const CtxSet ContextSetCfg::Split12Flag = ContextSetCfg::addCtxSet({
+// ctx 20 23
+ {  44,  30,  44,  37 },
+ {  44,  37,  29,  37 },
+ {  44,  45,  44,  45 },
+ {  44,  37,  44,  37 },
+ {  12,  10,  12,  13 },
+ {  13,  13,  13,  13 },
+ {  12,  13,   8,  13 },
+ {  12,  10,  12,  13 },
+ {  18,   4,  11,   4 },
+ {  18,   4,  18,   4 },
+ {  18,  11,   4,  11 },
+ {  18,   4,  11,   4 },
+ { 147, 106, 116, 117 },
+ { 100,  84, 102,  84 },
+ { 116, 100, 116, 106 },
+ { 218,  85, 234, 105 },
+ { 134, 210, 134, 100 },
+ { 131,  85, 132, 212 },
+ { 100, 103, 101, 103 },
+ { 107,  90, 229,  88 },
+});
+
+const CtxSet ContextSetCfg::SkipFlag = ContextSetCfg::addCtxSet({
+// ctx 24 26
+ {  49,  59,  53 },
+ {  57,  59,  53 },
+ {   0,  34,  29 },
+ {  56,  51,  60 },
+ {   6,   6,   9 },
+ {   6,   7,  10 },
+ {   4,   9,  10 },
+ {   6,   6,   9 },
+ {  18,  11,  18 },
+ {  11,  11,  18 },
+ {   4,  11,  11 },
+ {  11,  11,  18 },
+ { 119, 116, 123 },
+ { 118, 163, 179 },
+ { 131, 122, 134 },
+ { 116, 242, 135 },
+ { 107, 181, 234 },
+ { 118, 117, 250 },
+ { 131, 119, 134 },
+ { 116, 195, 163 },
+});
+
+const CtxSet ContextSetCfg::MergeFlag = ContextSetCfg::addCtxSet({
+// ctx 27 27
+ {   6 },
+ {   7 },
+ {   5 },
+ {  22 },
+ {   5 },
+ {   5 },
+ {   4 },
+ {   5 },
+ {  18 },
+ {   4 },
+ {   4 },
+ {  18 },
+ { 131 },
+ { 102 },
+ { 132 },
+ { 101 },
+ { 244 },
+ { 244 },
+ { 131 },
+ { 108 },
+});
+
+
+#if JVET_AG0276_LIC_FLAG_SIGNALING
+const CtxSet ContextSetCfg::MergeFlagOppositeLic = ContextSetCfg::addCtxSet
+({
+// ctx 28 28
+  {  25 },
+  {  25 },
+  {  35 },
+  {  10 },
+  {   5 },
+  {   5 },
+  {   8 },
+  {   5 },
+  {  11 },
+  {   4 },
+  {  18 },
+  {  11 },
+  {  99 },
+  { 227 },
+  { 115 },
+  { 132 },
+  { 119 },
+  { 119 },
+  { 100 },
+  { 118 },
+  });
+const CtxSet ContextSetCfg::AffineFlagOppositeLic = ContextSetCfg::addCtxSet
+({
+// ctx 29 29
+  {  18 },
+  {  18 },
+  {  35 },
+  {  18 },
+  {   5 },
+  {   5 },
+  {   8 },
+  {   5 },
+  {  11 },
+  {   4 },
+  {  18 },
+  {   4 },
+  { 115 },
+  { 243 },
+  { 115 },
+  { 132 },
+  { 119 },
+  { 119 },
+  { 131 },
+  { 132 },
+  });
+const CtxSet ContextSetCfg::TmMergeFlagOppositeLic = ContextSetCfg::addCtxSet
+({
+// ctx 30 30
+  {  19 },
+  {  11 },
+  {  35 },
+  {  42 },
+  {   5 },
+  {   5 },
+  {   8 },
+  {   5 },
+  {   4 },
+  {   4 },
+  {  18 },
+  {   4 },
+  { 102 },
+  { 117 },
+  { 117 },
+  { 117 },
+  { 119 },
+  { 119 },
+  { 117 },
+  { 117 },
+  });
+#endif
+
+
+const CtxSet ContextSetCfg::RegularMergeFlag = ContextSetCfg::addCtxSet({
+// ctx 31 32
+ {  30,  13 },
+ {  23,   6 },
+ {  35,  35 },
+ {  30,  13 },
+ {   6,   6 },
+ {   7,   6 },
+ {   8,   8 },
+ {   6,   6 },
+ {   4,  18 },
+ {   4,  18 },
+ {  18,  18 },
+ {   4,  11 },
+ { 147, 107 },
+ { 116, 115 },
+ { 122, 107 },
+ { 116, 115 },
+ { 119, 119 },
+ { 119, 119 },
+ { 117, 101 },
+ { 116, 130 },
+});
+
+#if JVET_AG0164_AFFINE_GPM
+const CtxSet ContextSetCfg::AffineGPMFlag = ContextSetCfg::addCtxSet
+({
+// ctx 33 35
+  {  35,  35,  35 },
+  {  35,  35,  35 },
+  {  35,  35,  35 },
+  {  19,   6,   7 },
+  {   8,   8,   8 },
+  {   8,   8,   8 },
+  {   8,   8,   8 },
+  {   5,   1,   0 },
+  {  18,  18,  18 },
+  {  18,  18,  18 },
+  {  18,  18,  18 },
+  {  11,  11,   4 },
+  { 119, 119, 119 },
+  { 119, 119, 119 },
+  { 119, 119, 119 },
+  { 119, 119, 119 },
+  { 119, 119, 119 },
+  { 119, 119, 119 },
+  { 116, 119, 148 },
+  { 117, 117, 116 },
+});
+
+const CtxSet ContextSetCfg::GpmMergeIdx = ContextSetCfg::addCtxSet
+({
+// ctx 36 45
+  {  35,  29,  37,  37,  37,  35,  35,  35,  35,  35 },
+  {  36,  44,  37,  37,  37,  35,  35,  35,  35,  35 },
+  {  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+  {  28,  29,  29,  37,  29,  35,  35,  35,  35,  35 },
+  {   2,   7,   6,   6,  13,   8,   8,   8,   8,   8 },
+  {   7,  10,   9,   9,  13,   8,   8,   8,   8,   8 },
+  {   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+  {   6,  10,   7,   7,  13,   8,   8,   8,   8,   8 },
+  {   4,   4,   4,   4,   4,  18,  18,  18,  18,  18 },
+  {   4,   4,   4,   4,   4,  18,  18,  18,  18,  18 },
+  {  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+  {   4,   4,   4,   4,   4,  18,  18,  18,  18,  18 },
+  { 122, 250, 134, 134, 234, 119, 119, 119, 119, 119 },
+  { 116, 154, 107, 101, 234, 119, 119, 119, 119, 119 },
+  { 115, 250, 117, 117, 234, 119, 119, 119, 119, 119 },
+  { 102, 135, 102, 101, 234, 119, 119, 119, 119, 119 },
+  { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+  { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+  { 107, 250, 122, 120, 234, 119, 119, 119, 119, 119 },
+  { 100, 201, 119, 118, 136, 119, 119, 119, 119, 119 },
+});
+
+const CtxSet ContextSetCfg::GpmAffMergeIdx = ContextSetCfg::addCtxSet
+({
+// ctx 46 55
+  {  28,  37,  37,  37,  37,  35,  35,  35,  35,  35 },
+  {  21,  37,  37,  37,  44,  35,  35,  35,  35,  35 },
+  {  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+  {  13,  22,  45,  37,  37,  35,  35,  35,  35,  35 },
+  {   5,   5,   5,   5,  13,   8,   8,   8,   8,   8 },
+  {   6,   6,   5,   5,  13,   8,   8,   8,   8,   8 },
+  {   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+  {   5,   5,   5,   5,  13,   8,   8,   8,   8,   8 },
+  {  11,   4,   4,   4,   4,  18,  18,  18,  18,  18 },
+  {   4,   4,   4,   4,   4,  18,  18,  18,  18,  18 },
+  {  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+  {   4,   4,   4,   4,   4,  18,  18,  18,  18,  18 },
+  { 252, 136, 140, 140, 234, 119, 119, 119, 119, 119 },
+  { 101, 102, 100, 100, 186, 119, 119, 119, 119, 119 },
+  { 251, 139, 139, 122, 234, 119, 119, 119, 119, 119 },
+  { 106, 106, 101, 101, 106, 119, 119, 119, 119, 119 },
+  { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+  { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+  { 136, 134, 124, 134, 233, 119, 119, 119, 119, 119 },
+  { 131, 106, 116, 102, 233, 119, 119, 119, 119, 119 },
+});
+#endif
+
+#if JVET_AG0112_REGRESSION_BASED_GPM_BLENDING
+const CtxSet ContextSetCfg::GeoBlendFlag = ContextSetCfg::addCtxSet
+({
+// ctx 56 56
+  {  40 },
+  {  33 },
+  {  35 },
+  {  40 },
+  {   5 },
+  {  10 },
+  {   8 },
+  {   5 },
+  {  11 },
+  {  18 },
+  {  18 },
+  {   4 },
+  { 102 },
+  { 117 },
+  {  97 },
+  { 177 },
+  { 119 },
+  { 119 },
+  { 108 },
+  { 132 },
+});
+#endif
+
+#if JVET_AG0135_AFFINE_CIIP
+const CtxSet ContextSetCfg::CiipAffineFlag = ContextSetCfg::addCtxSet
+({
+// ctx 57 59
+  {  12,   6,  15 },
+  {  19,   5,   6 },
+  {  35,  35,  35 },
+  {  12,  14,  15 },
+  {   5,   1,   1 },
+  {   6,   3,   5 },
+  {   8,   8,   8 },
+  {   5,   1,   1 },
+  {   4,   4,  11 },
+  {   4,   4,  11 },
+  {  18,  18,  18 },
+  {   4,   4,   4 },
+  { 105, 118, 116 },
+  { 211, 118, 116 },
+  { 107, 119, 103 },
+  { 107, 122, 148 },
+  { 119, 119, 119 },
+  { 119, 119, 119 },
+  { 107, 118, 116 },
+  { 116, 119, 118 },
+});
+#endif
+
+const CtxSet ContextSetCfg::MergeIdx = ContextSetCfg::addCtxSet({
+// ctx 60 69
+ {  33,  29,  36,  44,  29,  35,  35,  35,  35,  35 },
+ {   4,  29,  44,  44,  29,  35,  35,  35,  35,  35 },
+ {  42,  43,  36,  51,  43,  35,  35,  35,  35,  35 },
+ {  11,  29,  36,  44,  29,  35,  35,  35,  35,  35 },
+ {   5,   5,   6,   7,  13,   8,   8,   8,   8,   8 },
+ {   7,   6,   6,   6,  13,   8,   8,   8,   8,   8 },
+ {   5,   5,  10,  10,  12,   8,   8,   8,   8,   8 },
+ {   5,   5,   7,   7,  13,   8,   8,   8,   8,   8 },
+ {  11,   4,   4,   4,   4,  18,  18,  18,  18,  18 },
+ {  18,   4,   4,   4,   4,  18,  18,  18,  18,  18 },
+ {   4,   4,   4,   4,   4,  18,  18,  18,  18,  18 },
+ {  11,   4,   4,   4,   4,  18,  18,  18,  18,  18 },
+ { 116, 118, 119, 116, 234, 119, 119, 119, 119, 119 },
+ { 108, 108, 122, 122, 234, 119, 119, 119, 119, 119 },
+ { 116, 117, 117, 116, 234, 119, 119, 119, 119, 119 },
+ { 121, 116, 117, 117, 234, 119, 119, 119, 119, 119 },
+ { 116, 104, 100, 119, 219, 119, 119, 119, 119, 119 },
+ { 164, 137, 249, 115, 179, 119, 119, 119, 119, 119 },
+ { 116, 117, 116, 115, 149, 119, 119, 119, 119, 119 },
+ { 108, 118, 117, 120, 234, 119, 119, 119, 119, 119 },
+});
+
+const CtxSet ContextSetCfg::TmMergeIdx = ContextSetCfg::addCtxSet({
+// ctx 70 79
+ {  28,  28,  42,  36,  43,  35,  35,  35,  35,  35 },
+ {  51,  20,  27,  59,  48,  35,  35,  35,  35,  35 },
+ {  30,  37,  29,  44,  43,  35,  35,  35,  35,  35 },
+ {  28,  28,  50,  44,  43,  35,  35,  35,  35,  35 },
+ {   5,   5,   6,  10,  10,   8,   8,   8,   8,   8 },
+ {   6,   6,   6,  13,  10,   8,   8,   8,   8,   8 },
+ {   4,  10,   9,  13,  13,   8,   8,   8,   8,   8 },
+ {   5,   6,   6,  13,  12,   8,   8,   8,   8,   8 },
+ {  11,   4,   4,   4,  11,  18,  18,  18,  18,  18 },
+ {  18,   4,   4,   4,  32,  18,  18,  18,  18,  18 },
+ {   4,  11,   4,   4,  18,  18,  18,  18,  18,  18 },
+ {  18,   4,   4,   4,   4,  18,  18,  18,  18,  18 },
+ { 117, 108, 118, 199, 234, 119, 119, 119, 119, 119 },
+ { 132, 138, 121, 104, 113, 119, 119, 119, 119, 119 },
+ { 123, 116, 118, 233, 202, 119, 119, 119, 119, 119 },
+ { 116, 123, 133, 150, 161, 119, 119, 119, 119, 119 },
+ { 253, 134, 251, 199, 200, 119, 119, 119, 119, 119 },
+ { 100,  82, 226,  69,  67, 119, 119, 119, 119, 119 },
+ { 133, 116, 120, 168, 219, 119, 119, 119, 119, 119 },
+ { 116, 118, 117, 135,  99, 119, 119, 119, 119, 119 },
+});
+
+const CtxSet ContextSetCfg::GPMIntraFlag = ContextSetCfg::addCtxSet({
+// ctx 80 80
+ {  26 },
+ {  33 },
+ {  35 },
+ {  19 },
+ {   2 },
+ {   2 },
+ {   8 },
+ {   2 },
+ {  11 },
+ {   4 },
+ {  18 },
+ {  11 },
+ { 243 },
+ { 122 },
+ { 180 },
+ { 124 },
+ { 119 },
+ { 119 },
+ { 148 },
+ { 133 },
+});
+
+const CtxSet ContextSetCfg::MmvdFlag = ContextSetCfg::addCtxSet({
+// ctx 81 84
+ {  25,  34,  35,  35 },
+ {  25,  42,  35,  35 },
+ {  35,  35,  35,  35 },
+ {  25,  57,  35,  35 },
+ {   5,   5,   8,   8 },
+ {   6,   5,   8,   8 },
+ {   8,   8,   8,   8 },
+ {   5,   5,   8,   8 },
+ {  11,  18,  18,  18 },
+ {   4,  18,  18,  18 },
+ {  18,  18,  18,  18 },
+ {   4,  18,  18,  18 },
+ { 100, 242, 119, 119 },
+ { 147, 100, 119, 119 },
+ { 162, 115, 119, 119 },
+ { 226, 103, 119, 119 },
+ { 119, 119, 119, 119 },
+ { 119, 119, 119, 119 },
+ { 131, 115, 119, 119 },
+ { 179, 115, 119, 119 },
+});
+
+const CtxSet ContextSetCfg::MmvdMergeIdx = ContextSetCfg::addCtxSet({
+// ctx 85 88
+ {  43,  35,  35,  35 },
+ {  43,  43,  35,  35 },
+ {  35,  35,  35,  35 },
+ {  28,  43,  35,  35 },
+ {  10,   9,   8,   8 },
+ {  10,  10,   8,   8 },
+ {   8,   8,   8,   8 },
+ {  10,  10,   8,   8 },
+ {   4,   4,  18,  18 },
+ {   4,   4,  18,  18 },
+ {  18,  18,  18,  18 },
+ {   4,   4,  18,  18 },
+ { 133, 115, 119, 119 },
+ { 115, 137, 119, 119 },
+ { 168, 134, 119, 119 },
+ {  99, 106, 119, 119 },
+ { 119, 119, 119, 119 },
+ { 119, 119, 119, 119 },
+ { 167, 121, 119, 119 },
+ {  90, 103, 119, 119 },
+});
+
+const CtxSet ContextSetCfg::MmvdStepMvpIdx = ContextSetCfg::addCtxSet({
+// ctx 89 93
+ {  28,  36,  36,  28,  35 },
+ {  28,  21,  36,  28,  35 },
+ {  35,  35,  35,  35,  35 },
+ {  28,  21,  21,  28,  35 },
+ {   6,   7,   7,  10,   7 },
+ {   7,   7,   6,   9,   7 },
+ {   8,   8,   8,   8,   8 },
+ {   6,   6,   7,  10,   7 },
+ {   4,   4,   4,   4,   4 },
+ {   4,   4,   4,   4,   4 },
+ {  18,  18,  18,  18,  18 },
+ {   4,   4,   4,   4,   4 },
+ { 147, 122, 118, 138, 119 },
+ { 119, 121, 154, 100, 137 },
+ { 122, 116, 117,  90, 106 },
+ { 117, 135, 138, 120, 153 },
+ { 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119 },
+ { 118, 105, 104, 105, 118 },
+ { 118, 154, 234, 117, 134 },
+});
+
+const CtxSet ContextSetCfg::MmvdStepMvpIdxECM3 = ContextSetCfg::addCtxSet({
+// ctx 94 94
+ {  35 },
+ {  35 },
+ {  35 },
+ {  35 },
+ {   8 },
+ {   8 },
+ {   8 },
+ {   8 },
+ {  18 },
+ {  18 },
+ {  18 },
+ {  18 },
+ { 119 },
+ { 119 },
+ { 119 },
+ { 119 },
+ { 119 },
+ { 119 },
+ { 119 },
+ { 119 },
+});
+
+const CtxSet ContextSetCfg::GeoMmvdFlag = ContextSetCfg::addCtxSet({
+// ctx 95 95
+ {  33 },
+ {  33 },
+ {  35 },
+ {  48 },
+ {   3 },
+ {   7 },
+ {   8 },
+ {   3 },
+ {   4 },
+ {   4 },
+ {  18 },
+ {   4 },
+ { 115 },
+ { 123 },
+ {  98 },
+ { 106 },
+ { 119 },
+ { 119 },
+ { 115 },
+ { 115 },
+});
+
+const CtxSet ContextSetCfg::GeoMmvdStepMvpIdx = ContextSetCfg::addCtxSet({
+// ctx 96 96
+ {  45 },
+ {  60 },
+ {  35 },
+ {  30 },
+ {   1 },
+ {   3 },
+ {   8 },
+ {   2 },
+ {   4 },
+ {   4 },
+ {  18 },
+ {   4 },
+ { 125 },
+ { 117 },
+ { 116 },
+ { 155 },
+ { 119 },
+ { 119 },
+ { 118 },
+ { 123 },
+});
+
+const CtxSet ContextSetCfg::GeoBldFlag = ContextSetCfg::addCtxSet({
+#if JVET_AH0314_ADAPTIVE_GPM_BLENDING_IMPROV
+// ctx 97 104
+ {  58,  37,  45,  13,  58,  14,  31,  42 },
+ {  52,  44,  50,  36,  52,  57,  51,  34 },
+ {  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  58,  45,  45,  13,  58,  44,  38,  42 },
+ {   1,   1,   1,   1,   0,   0,   0,   1 },
+ {   1,   1,   1,   1,   1,   0,   1,   1 },
+ {   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   1,   2,   1,   2,   1,   2,   0,   1 },
+ {  11,  25,  25,  11,  11,  32,  32,  11 },
+ {   4,  18,  11,  11,   4,  18,  18,  18 },
+ {  18,  18,  18,  18,  18,  18,  18,  18 },
+ {   4,  18,  18,   4,   4,  25,  32,   4 },
+ { 243, 116, 116, 119, 244, 116, 116, 117 },
+ { 118, 117, 132, 117, 119, 132, 116, 118 },
+ { 117, 116, 115, 118, 117, 116, 147, 116 },
+ { 119, 116, 228, 118, 125, 120, 131, 135 },
+ { 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 132, 115, 116, 117, 132, 115, 133, 132 },
+ { 117, 115, 117, 116, 117, 130, 116, 118 },
+#else
+ {  58,  22,  45,  13 },
+ {  60,  36,  58,  36 },
+ {  35,  35,  35,  35 },
+ {  58,  22,  52,  13 },
+ {   1,   1,   1,   1 },
+ {   1,   1,   1,   1 },
+ {   8,   8,   8,   8 },
+ {   1,   2,   1,   1 },
+ {  11,  18,  18,  11 },
+ {   4,  18,  11,  11 },
+ {  18,  18,  18,  18 },
+ {   4,  18,  18,   4 },
+ { 132, 116, 116, 117 },
+ { 118, 116, 132, 118 },
+ { 117, 116, 116, 117 },
+ { 118, 117, 133, 119 },
+ { 119, 119, 119, 119 },
+ { 119, 119, 119, 119 },
+ { 132, 115, 116, 117 },
+ { 117, 115, 117, 117 },
+#endif
+});
+
+const CtxSet ContextSetCfg::GeoSubModeIdx = ContextSetCfg::addCtxSet({
+// ctx 105 109
+ {  35,  36,  44,  29,  29 },
+ {  13,  36,  44,  29,  29 },
+ {  35,  35,  35,  35,  35 },
+ {  43,  36,  44,  29,  29 },
+ {   7,   7,   7,   7,   8 },
+ {   7,   7,   6,   5,   8 },
+ {   8,   8,   8,   8,   8 },
+ {   7,   7,   7,   7,   8 },
+ {   4,   4,   4,   4,   4 },
+ {   4,   4,   4,   4,   4 },
+ {  18,  18,  18,  18,  18 },
+ {   4,   4,   4,   4,   4 },
+ { 117, 122, 133, 154, 185 },
+ { 121, 121, 106, 105, 101 },
+ { 120, 122, 133, 123, 137 },
+ { 122, 122, 118, 108, 101 },
+ { 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119 },
+ { 117, 122, 133, 133, 156 },
+ { 121, 117, 115, 106, 102 },
+});
+
+const CtxSet ContextSetCfg::AfMmvdFlag = ContextSetCfg::addCtxSet({
+// ctx 110 110
+ {  18 },
+ {  18 },
+ {  35 },
+ {  11 },
+ {   6 },
+ {   6 },
+ {   8 },
+ {   6 },
+ {  18 },
+ {  11 },
+ {  18 },
+ {  11 },
+ { 101 },
+ { 116 },
+ { 130 },
+ { 116 },
+ { 119 },
+ { 119 },
+ { 100 },
+ { 242 },
+});
+
+const CtxSet ContextSetCfg::AfMmvdIdx = ContextSetCfg::addCtxSet({
+// ctx 111 114
+ {  29,  35,  28,  35 },
+ {  21,  28,  43,  35 },
+ {  35,  35,  35,  35 },
+ {  29,  35,  43,  35 },
+ {  10,   9,   9,   8 },
+ {   9,  10,   9,   8 },
+ {   8,   8,   8,   8 },
+ {  10,  10,   8,   8 },
+ {  11,   4,   4,  18 },
+ {  18,  18,  11,  18 },
+ {  18,  18,  18,  18 },
+ {  11,  11,   4,  18 },
+ { 146, 132, 115, 119 },
+ { 115, 103, 149, 119 },
+ { 134, 118, 134, 119 },
+ { 100, 130, 105, 119 },
+ { 119, 119, 119, 119 },
+ { 119, 119, 119, 119 },
+ { 106, 131, 132, 119 },
+ { 116, 116, 133, 119 },
+});
+
+const CtxSet ContextSetCfg::AfMmvdOffsetStep = ContextSetCfg::addCtxSet({
+// ctx 115 120
+ {  21,  37,  37,  37,  44,  50 },
+ {  13,  45,  29,  37,  52,  58 },
+ {  35,  35,  35,  35,  35,  35 },
+ {   6,  37,  37,  37,  44,  57 },
+ {   5,   7,   6,   7,   7,   5 },
+ {   5,   6,   5,   5,   7,   5 },
+ {   8,   8,   8,   8,   8,   8 },
+ {   5,   7,   6,   7,   7,   5 },
+ {  11,  18,   4,  11,   4,  32 },
+ {   4,  11,   4,   4,   4,  25 },
+ {  18,  18,  18,  18,  18,  18 },
+ {   4,  18,   4,  11,   4,  25 },
+ { 133, 149, 153, 138, 250,  99 },
+ { 102, 101, 100,  99, 122, 114 },
+ { 133, 195, 136, 133, 170, 101 },
+ { 147, 115, 102, 108, 250, 114 },
+ { 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119 },
+ { 117, 137, 123, 132, 250, 102 },
+ { 117, 106, 103, 106, 122, 130 },
+});
+
+const CtxSet ContextSetCfg::AfMmvdOffsetStepECM3 = ContextSetCfg::addCtxSet({
+// ctx 121 121
+ {  35 },
+ {  35 },
+ {  35 },
+ {  35 },
+ {   8 },
+ {   8 },
+ {   8 },
+ {   8 },
+ {  18 },
+ {  18 },
+ {  18 },
+ {  18 },
+ { 119 },
+ { 119 },
+ { 119 },
+ { 119 },
+ { 119 },
+ { 119 },
+ { 119 },
+ { 119 },
+});
+
+const CtxSet ContextSetCfg::IbcMbvdFlag = ContextSetCfg::addCtxSet({
+// ctx 122 123
+ {  26,  35 },
+ {  40,  35 },
+ {  28,  52 },
+ {  26,  35 },
+ {   5,   8 },
+ {   5,   8 },
+ {   4,  10 },
+ {   5,   8 },
+ {  11,  18 },
+ {  11,  18 },
+ {   4,   4 },
+ {  11,  18 },
+ { 131, 119 },
+ { 108, 119 },
+ { 116, 119 },
+ { 104, 119 },
+ { 102, 106 },
+ { 108,  99 },
+ { 116, 179 },
+ { 108, 200 },
+});
+
+const CtxSet ContextSetCfg::IbcMbvdMergeIdx = ContextSetCfg::addCtxSet({
+// ctx 124 124
+ {  35 },
+ {  27 },
+ {  43 },
+ {  35 },
+ {   6 },
+ {   6 },
+ {  10 },
+ {   6 },
+ {   4 },
+ {   4 },
+ {  18 },
+ {   4 },
+ { 146 },
+ { 117 },
+ { 119 },
+ { 115 },
+ { 129 },
+ { 105 },
+ { 107 },
+ { 116 },
+});
+
+const CtxSet ContextSetCfg::IbcMbvdStepMvpIdx = ContextSetCfg::addCtxSet({
+// ctx 125 129
+ {  34,  43,  43,  35,  35 },
+ {  42,  36,  14,  35,  35 },
+ {  35,  43,  43,  35,  35 },
+ {  34,  43,  43,  35,  35 },
+ {   6,  10,  10,   8,   8 },
+ {   7,  13,   7,   8,   8 },
+ {   9,  10,  13,   8,   8 },
+ {   7,  10,  13,   8,   8 },
+ {   4,   4,   4,  18,  18 },
+ {   4,   4,   4,  18,  18 },
+ {  11,   4,   4,  18,  18 },
+ {   4,   4,   4,  18,  18 },
+ { 105, 105,  88, 119, 119 },
+ { 123, 106, 250, 119, 119 },
+ { 104,  85, 106, 119, 119 },
+ { 116, 201, 214, 119, 119 },
+ {  99, 249,  90, 119, 119 },
+ { 154,  84, 170, 119, 119 },
+ { 117, 135,  88, 119, 119 },
+ { 116, 106, 184, 119, 119 },
+});
+
+const CtxSet ContextSetCfg::TMMergeFlag = ContextSetCfg::addCtxSet({
+// ctx 130 131
+ {  40,  40 },
+ {  18,   0 },
+ {  35,  40 },
+ {  25,  40 },
+ {   5,   9 },
+ {   6,   5 },
+ {   8,   6 },
+ {   5,   5 },
+ {  11,  18 },
+ {   4,   4 },
+ {  18,   4 },
+ {   4,   4 },
+ { 117,  81 },
+ { 117, 118 },
+ { 242, 107 },
+ { 117, 148 },
+ { 119,  97 },
+ { 119, 135 },
+ { 117,  99 },
+ { 118, 119 },
+});
+
+const CtxSet ContextSetCfg::CiipTMMergeFlag = ContextSetCfg::addCtxSet({
+// ctx 132 132
+ {  27 },
+ {  19 },
+ {  35 },
+ {  34 },
+ {   5 },
+ {   6 },
+ {   8 },
+ {   5 },
+ {   4 },
+ {   4 },
+ {  18 },
+ {   4 },
+ { 140 },
+ { 108 },
+ { 121 },
+ { 117 },
+ { 119 },
+ { 119 },
+ { 234 },
+ { 106 },
+});
+
+const CtxSet ContextSetCfg::PredMode = ContextSetCfg::addCtxSet({
+// ctx 133 134
+ {  33,  21 },
+ {  40,  50 },
+ {  35,  35 },
+ {  33,  29 },
+ {   6,   1 },
+ {   7,   1 },
+ {   8,   8 },
+ {   6,   1 },
+ {  18,  11 },
+ {  18,   4 },
+ {  18,  18 },
+ {  18,  11 },
+ { 102, 117 },
+ { 116, 132 },
+ { 100, 117 },
+ { 120, 148 },
+ { 119, 119 },
+ { 119, 119 },
+ { 105, 117 },
+ { 117, 132 },
+});
+
+const CtxSet ContextSetCfg::MultiRefLineIdx = ContextSetCfg::addCtxSet({
+// ctx 135 141
+ {  35,  35,  35,  35,  35,  25,  59 },
+ {  35,  35,  35,  35,  35,  25,  59 },
+ {  35,  35,  35,  35,  35,  25,  60 },
+ {  35,  35,  35,  35,  35,  25,  52 },
+ {   8,   8,   8,   8,   8,   5,   4 },
+ {   8,   8,   8,   8,   8,   5,   6 },
+ {   8,   8,   8,   8,   8,   6,   8 },
+ {   8,   8,   8,   8,   8,   5,   4 },
+ {  18,  18,  18,  18,  18,  11,  25 },
+ {  18,  18,  18,  18,  18,   4,  18 },
+ {  18,  18,  18,  18,  18,  18,  32 },
+ {  18,  18,  18,  18,  18,   4,  18 },
+ { 119, 119, 119, 119, 119,  99, 116 },
+ { 119, 119, 119, 119, 119, 148, 131 },
+ { 119, 119, 119, 119, 119, 103, 116 },
+ { 119, 119, 119, 119, 119, 148, 130 },
+ { 119, 119, 119, 119, 119, 106, 116 },
+ { 119, 119, 119, 119, 119, 133, 114 },
+ { 119, 119, 119, 119, 119, 103, 107 },
+ { 119, 119, 119, 119, 119, 116, 211 },
+});
+
+const CtxSet ContextSetCfg::IntraLumaMpmFlag = ContextSetCfg::addCtxSet({
+// ctx 142 142
+ {  29 },
+ {  29 },
+ {  22 },
+ {  29 },
+ {   6 },
+ {   5 },
+ {   6 },
+ {   6 },
+ {  11 },
+ {   4 },
+ {  18 },
+ {  11 },
+ { 116 },
+ { 116 },
+ { 108 },
+ { 106 },
+ { 115 },
+ { 117 },
+ { 116 },
+ { 116 },
+});
+
+const CtxSet ContextSetCfg::IntraLumaSecondMpmFlag = ContextSetCfg::addCtxSet({
+// ctx 143 143
+ {  37 },
+ {  30 },
+ {  37 },
+ {  37 },
+ {   9 },
+ {  10 },
+ {   6 },
+ {  10 },
+ {   4 },
+ {  11 },
+ {   4 },
+ {  11 },
+ { 122 },
+ {  82 },
+ { 116 },
+ {  99 },
+ { 131 },
+ { 118 },
+ { 179 },
+ {  97 },
+});
+
+const CtxSet ContextSetCfg::IntraLumaMPMIdx = ContextSetCfg::addCtxSet({
+// ctx 144 146
+ {  27,  35,  42 },
+ {  12,  35,  50 },
+ {  42,  35,  49 },
+ {  27,  35,  57 },
+ {   7,   8,   9 },
+ {   9,   8,   6 },
+ {   4,   8,   6 },
+ {  10,   8,   6 },
+ {   4,  18,   4 },
+ {  25,  18,   4 },
+ {   4,  18,   4 },
+ {  11,  18,   4 },
+ { 161, 119,  84 },
+ { 135, 119, 118 },
+ {  83, 119, 100 },
+ { 251, 119, 136 },
+ { 101, 119, 100 },
+ { 125, 119, 133 },
+ {  97, 119, 100 },
+ { 120, 119, 136 },
+});
+
+const CtxSet ContextSetCfg::IntraLumaSecondMpmIdx = ContextSetCfg::addCtxSet({
+// ctx 147 151
+ {  43,  35,  35,  35,  35 },
+ {  43,  35,  35,  35,  35 },
+ {  59,  35,  35,  35,  35 },
+ {  43,  35,  35,  35,  35 },
+ {   9,  10,   9,   8,   8 },
+ {   9,  10,   9,   8,   8 },
+ {   9,  10,  13,   8,   8 },
+ {  10,  10,   9,   8,   8 },
+ {   4,   4,   4,  18,  18 },
+ {   4,   4,   4,  18,  18 },
+ {  18,   4,   4,  18,  18 },
+ {   4,   4,   4,  18,  18 },
+ { 169,  85,  84, 119, 119 },
+ {  86, 234, 235, 119, 119 },
+ { 117,  86,  83, 119, 119 },
+ { 100, 250, 235, 119, 119 },
+ { 116, 118,  73, 119, 119 },
+ { 101, 116, 234, 119, 119 },
+ { 233,  83,  84, 119, 119 },
+ {  90, 250, 250, 119, 119 },
+});
+
+const CtxSet ContextSetCfg::IntraLumaPlanarFlag = ContextSetCfg::addCtxSet({
+// ctx 152 155
+ {  14,   6,  26,  43 },
+ {  14,  13,  33,  43 },
+ {  31,  22,  11,  28 },
+ {  22,   6,  26,  43 },
+ {   0,   2,  10,  10 },
+ {   1,   2,   9,  10 },
+ {   4,   5,   8,   8 },
+ {   1,   2,   9,  10 },
+ {  11,  18,  32,  18 },
+ {  18,  11,  25,  32 },
+ {  11,  18,  18,  18 },
+ {  18,  18,  18,  25 },
+ { 121, 115,  81,  98 },
+ { 132, 116, 250, 211 },
+ { 117, 115,  89, 129 },
+ { 115, 162, 153, 122 },
+ { 148, 100,  84, 117 },
+ { 102, 242, 229, 131 },
+ { 120, 116,  82,  98 },
+ { 116, 116, 153, 131 },
+});
+
+const CtxSet ContextSetCfg::CclmModeFlag = ContextSetCfg::addCtxSet({
+// ctx 156 156
+ {  27 },
+ {  34 },
+ {  37 },
+ {  12 },
+ {   1 },
+ {   1 },
+ {   6 },
+ {   1 },
+ {  18 },
+ {  11 },
+ {  25 },
+ {  18 },
+ { 116 },
+ { 131 },
+ { 116 },
+ { 179 },
+ { 102 },
+ { 114 },
+ { 116 },
+ { 131 },
+});
+
+const CtxSet ContextSetCfg::CclmModeIdx = ContextSetCfg::addCtxSet({
+// ctx 157 157
+ {  42 },
+ {  19 },
+ {  44 },
+ {  34 },
+ {   5 },
+ {   5 },
+ {   5 },
+ {   5 },
+ {  11 },
+ {  11 },
+ {  11 },
+ {  18 },
+ { 163 },
+ { 146 },
+ { 211 },
+ { 100 },
+ { 124 },
+ {  99 },
+ { 131 },
+ { 102 },
+});
+
+const CtxSet ContextSetCfg::IntraChromaPredMode = ContextSetCfg::addCtxSet({
+// ctx 158 158
+ {  25 },
+ {  25 },
+ {  35 },
+ {  25 },
+ {   5 },
+ {   5 },
+ {   5 },
+ {   5 },
+ {  18 },
+ {  11 },
+ {   4 },
+ {  18 },
+ { 108 },
+ { 101 },
+ { 101 },
+ { 102 },
+ { 131 },
+ { 227 },
+ { 101 },
+ { 103 },
+});
+
+const CtxSet ContextSetCfg::DimdChromaMode = ContextSetCfg::addCtxSet({
+// ctx 159 159
+ {  41 },
+ {  26 },
+ {  35 },
+ {  41 },
+ {   8 },
+ {   9 },
+ {   5 },
+ {   8 },
+ {  18 },
+ {  25 },
+ {  11 },
+ {  18 },
+ {  84 },
+ { 116 },
+ {  90 },
+ { 116 },
+ { 227 },
+ { 147 },
+ {  90 },
+ { 104 },
+});
+
+const CtxSet ContextSetCfg::ChromaFusionMode = ContextSetCfg::addCtxSet({
+// ctx 160 160
+ {  44 },
+ {  51 },
+ {  26 },
+ {  29 },
+ {   8 },
+ {   9 },
+ {   4 },
+ {   9 },
+ {  32 },
+ {  32 },
+ {  11 },
+ {  32 },
+ { 124 },
+ {  84 },
+ { 163 },
+ {  83 },
+ { 109 },
+ { 132 },
+ { 116 },
+ {  84 },
+});
+
+const CtxSet ContextSetCfg::DbvChromaMode = ContextSetCfg::addCtxSet({
+// ctx 161 161
+ {  17 },
+ {  40 },
+ {  34 },
+ {   9 },
+ {   2 },
+ {   1 },
+ {   1 },
+ {   0 },
+ {  18 },
+ {  18 },
+ {  11 },
+ {   4 },
+ { 115 },
+ { 146 },
+ { 115 },
+ { 117 },
+ { 116 },
+ { 120 },
+ { 117 },
+ { 148 },
+});
+
+const CtxSet ContextSetCfg::MipFlag = ContextSetCfg::addCtxSet({
+// ctx 162 165
+ {  48,  41,  34,  40 },
+ {  48,  56,  57,  48 },
+ {  40,  33,  34,  40 },
+ {  40,  33,  49,  40 },
+ {   9,   9,   8,   9 },
+ {   9,   9,   9,   6 },
+ {   9,  12,   6,   6 },
+ {   9,  12,  12,   6 },
+ {  11,  11,   4,  18 },
+ {  11,  11,  25,  11 },
+ {   4,   4,  11,   4 },
+ {   4,  18,  32,   4 },
+ {  97,  83, 244,  85 },
+ { 135, 235, 148, 118 },
+ {  83,  84,  98,  98 },
+ { 133, 167, 251, 133 },
+ {  91, 116,  99,  97 },
+ { 117, 164, 235, 139 },
+ { 105, 103, 152,  99 },
+ { 148, 116,  99, 179 },
+});
+
+const CtxSet ContextSetCfg::TmpFlag = ContextSetCfg::addCtxSet({
+#if JVET_AH0200_INTRA_TMP_BV_REORDER
+// ctx 166 173
+ {  25,  26,  29,  25,  43,  21,  41,  42 },
+ {   9,  26,  29,  17,  13,   5,  49,  27 },
+ {  25,  19,  36,  25,  21,  13,  48,  42 },
+ {  25,  19,  29,  18,  28,  13,  41,  42 },
+ {   2,   1,   1,   1,   1,  10,   9,   8 },
+ {   5,   1,   0,   5,   1,   9,   8,   9 },
+ {   6,   5,   1,   2,   1,   8,   4,   8 },
+ {   5,   1,   1,   1,   1,   9,   9,   8 },
+ {  11,  11,   4,  11,  11,  25,  25,  32 },
+ {  11,   4,  11,  18,  11,  25,  25,  25 },
+ {  18,  18,   4,  18,  18,  18,  11,  25 },
+ {  11,  11,  11,  11,  11,  25,  25,  32 },
+ { 116, 133, 119, 117, 227, 249,  83, 100 },
+ { 147, 147, 132, 147, 117,  84, 163, 124 },
+ { 103, 149, 120, 108, 132, 155,  82,  99 },
+ { 242, 163, 133, 114, 118,  83, 218, 134 },
+ { 104, 104, 119, 116, 131, 250, 100, 147 },
+ { 146, 115, 243, 130, 118,  85, 135, 117 },
+ { 116, 133, 125, 117, 132, 251,  83, 101 },
+ { 242, 131, 116, 131, 117,  83, 243, 124 },
+#else
+ {  25,  19,  29,  25,  43,  21,  41 },
+ {   9,  19,  60,   9,  13,   5,  49 },
+ {  25,  34,  28,  25,  21,  13,  48 },
+ {  25,  19,  29,  25,  28,  13,  41 },
+ {   2,   1,   1,   2,   1,  10,   9 },
+ {   5,   1,   0,   5,   1,   9,   8 },
+ {   6,   5,   1,   2,   1,   8,   4 },
+ {   5,   1,   1,   2,   1,   9,   9 },
+ {  11,  11,   4,  11,  11,  25,  25 },
+ {  11,   4,  11,  11,  11,  25,  25 },
+ {  18,  18,   4,  18,  18,  18,  11 },
+ {  11,  11,   4,  11,  11,  25,  25 },
+ { 117, 122, 124, 116, 227, 249,  83 },
+ { 131, 116, 116, 130, 117,  84, 163 },
+ { 104, 133, 121, 102, 132, 155,  82 },
+ { 242, 195, 132, 114, 118,  83, 218 },
+ { 102, 102, 125, 115, 131, 250, 100 },
+ { 146, 115, 163, 130, 118,  85, 135 },
+ { 101, 121, 124, 116, 132, 251,  83 },
+ { 242, 116, 116, 130, 117,  83, 243 },
+#endif
+});
+
+const CtxSet ContextSetCfg::TmpIdx = ContextSetCfg::addCtxSet({
+// ctx 174 176
+ {  20,  36,  36 },
+ {  20,  43,  20 },
+ {  20,  36,  36 },
+ {  20,  36,  36 },
+ {   5,  10,  13 },
+ {   5,  10,  10 },
+ {   5,  10,  13 },
+ {   5,   9,  13 },
+ {   4,  18,   4 },
+ {   4,  25,  25 },
+ {   4,  11,   4 },
+ {   4,  11,   4 },
+ { 124, 133, 234 },
+ { 163,  98,  71 },
+ { 118, 122, 217 },
+ { 163,  88,  83 },
+ { 124, 151, 234 },
+ { 102, 129,  74 },
+ { 119, 134, 218 },
+ { 195,  98,  84 },
+});
+
+const CtxSet ContextSetCfg::TmpFusion = ContextSetCfg::addCtxSet({
+// ctx 177 182
+ {  49,  43,  37,  33,  20,  57 },
+ {  27,  21,  22,  33,  42,  50 },
+ {  49,  36,  30,  33,  13,  34 },
+ {  49,  35,  29,  33,  13,  57 },
+ {   5,   4,   7,   5,   4,   4 },
+ {   6,   6,   6,   2,   4,   5 },
+ {   4,   6,   6,   1,   4,   8 },
+ {   5,   5,   6,   6,   4,   4 },
+ {  25,   4,  11,  25,  25,   4 },
+ {  32,  18,   4,   4,  32,  18 },
+ {  18,  18,  11,   4,  11,  18 },
+ {  25,  18,   4,  25,  32,  11 },
+ { 105, 245, 154,  98, 105, 132 },
+ { 117, 100, 161, 147, 131, 180 },
+ {  98, 103, 121, 114, 121,  99 },
+ { 135, 100, 103, 243, 115, 139 },
+ { 125, 132, 102, 117, 116,  99 },
+ { 117, 115, 169, 120, 180, 117 },
+ { 108, 180, 120,  97, 106, 211 },
+ { 124, 105, 178, 241, 131, 148 },
+});
+
+#if JVET_AG0136_INTRA_TMP_LIC
+const CtxSet ContextSetCfg::TmpLic = ContextSetCfg::addCtxSet
+({
+// ctx 183 183
+  {  35 },
+  {  35 },
+  {  20 },
+  {  43 },
+  {   5 },
+  {   4 },
+  {   5 },
+  {   1 },
+  {  25 },
+  {  18 },
+  {  32 },
+  {  11 },
+  { 116 },
+  { 146 },
+  { 118 },
+  { 131 },
+  { 116 },
+  { 115 },
+  { 119 },
+  { 132 },
+  });
+
+const CtxSet ContextSetCfg::ItmpLicIndex = ContextSetCfg::addCtxSet
+({
+// ctx 184 185
+  {  19,  36 },
+  {  11,   5 },
+  {  19,  36 },
+  {  27,  51 },
+  {   8,   8 },
+  {   8,   7 },
+  {   5,   5 },
+  {  10,   7 },
+  {  32,  32 },
+  {  32,  25 },
+  {  18,  18 },
+  {  32,  25 },
+  { 100, 133 },
+  { 131, 114 },
+  { 130, 154 },
+  { 134, 105 },
+  { 121, 117 },
+  { 117, 131 },
+  {  99, 137 },
+  { 122, 114 },
+  });
+#endif
+const CtxSet ContextSetCfg::MMLMFlag = ContextSetCfg::addCtxSet({
+// ctx 186 186
+ {  28 },
+ {  36 },
+ {  11 },
+ {  51 },
+ {   5 },
+ {   5 },
+ {   5 },
+ {   5 },
+ {  25 },
+ {  18 },
+ {  11 },
+ {  25 },
+ { 103 },
+ { 140 },
+ { 114 },
+ { 229 },
+ { 108 },
+ { 227 },
+ { 107 },
+ { 134 },
+});
+
+const CtxSet ContextSetCfg::DeltaQP = ContextSetCfg::addCtxSet({
+// ctx 187 188
+ {  35,  35 },
+ {  35,  35 },
+ {  35,  35 },
+ {  35,  35 },
+ {   8,   8 },
+ {   8,   8 },
+ {   8,   8 },
+ {   8,   8 },
+ {  18,  18 },
+ {  18,  18 },
+ {  18,  18 },
+ {  18,  18 },
+ { 119, 119 },
+ { 119, 119 },
+ { 119, 119 },
+ { 119, 119 },
+ { 119, 119 },
+ { 119, 119 },
+ { 119, 119 },
+ { 119, 119 },
+});
+
+const CtxSet ContextSetCfg::InterDir = ContextSetCfg::addCtxSet({
+// ctx 189 196
+ {   7,  26,  11,  18,  25,  25,   2,  35 },
+ {   7,   6,   4,  11,  18,  18,  25,  35 },
+ {  35,  35,  35,  35,  35,  35,  35,  35 },
+ {   6,  26,  11,  18,  25,  25,   2,  35 },
+ {   0,   0,   0,   1,   4,   8,   8,   8 },
+ {   0,   0,   2,   2,   5,  10,   8,   8 },
+ {   8,   8,   8,   8,   8,   8,   8,   8 },
+ {  13,   3,   0,   1,   4,   9,   8,   8 },
+ {  32,  25,  11,   4,   4,  32,  32,  18 },
+ {  25,  25,  18,  11,  11,  25,  32,  18 },
+ {  18,  18,  18,  18,  18,  18,  18,  18 },
+ {   4,  25,   4,   4,   4,  32,  32,  18 },
+ { 116, 116, 117, 116, 101,  88,  82, 119 },
+ { 137, 116, 228, 164, 196, 146, 133, 119 },
+ { 116, 116, 117, 116, 104,  82,  82, 119 },
+ { 169, 117, 178, 179, 132, 133, 252, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 152, 113, 117, 116, 101,  87,  82, 119 },
+ { 134, 115, 244, 196, 133, 119, 120, 119 },
+});
+
+const CtxSet ContextSetCfg::RefPic = ContextSetCfg::addCtxSet({
+// ctx 197 198
+ {  35,  35 },
+ {  35,  35 },
+ {  35,  35 },
+ {  35,  35 },
+ {   8,   8 },
+ {   8,   8 },
+ {   8,   8 },
+ {   8,   8 },
+ {  18,  18 },
+ {  18,  18 },
+ {  18,  18 },
+ {  18,  18 },
+ { 119, 119 },
+ { 119, 119 },
+ { 119, 119 },
+ { 119, 119 },
+ { 119, 119 },
+ { 119, 119 },
+ { 119, 119 },
+ { 119, 119 },
+});
+
+const CtxSet ContextSetCfg::RefPicLC = ContextSetCfg::addCtxSet({
+// ctx 199 201
+ {  41,  34,  27 },
+ {  27,  35,  43 },
+ {  35,  35,  35 },
+ {  27,  28,  36 },
+ {   5,   5,   8 },
+ {   5,   9,   8 },
+ {   8,   8,   8 },
+ {   5,   6,   9 },
+ {   4,   4,   4 },
+ {   4,  18,  11 },
+ {  18,  18,  18 },
+ {   4,   4,   4 },
+ { 119, 119, 252 },
+ { 118, 118, 252 },
+ { 108, 114, 148 },
+ { 119, 136, 236 },
+ { 119, 119, 119 },
+ { 119, 119, 119 },
+ { 117, 117, 234 },
+ { 148, 117, 251 },
+});
+
+const CtxSet ContextSetCfg::SubblockMergeFlag = ContextSetCfg::addCtxSet({
+// ctx 202 204
+ {  25,  34,  21 },
+ {  40,  34,  36 },
+ {  35,  35,  35 },
+ {  25,  20,  37 },
+ {   6,   5,   4 },
+ {   6,   5,   5 },
+ {   8,   8,   8 },
+ {   6,   5,   5 },
+ {   4,   4,  18 },
+ {  11,   4,  18 },
+ {  18,  18,  18 },
+ {   4,   4,  18 },
+ { 131, 116, 117 },
+ { 131, 132, 118 },
+ { 117, 117, 119 },
+ { 117, 132, 117 },
+ { 119, 119, 119 },
+ { 119, 119, 119 },
+ { 131, 117, 118 },
+ { 131, 117, 118 },
+});
+
+const CtxSet ContextSetCfg::BMMergeFlag = ContextSetCfg::addCtxSet({
+// ctx 205 208
+ {  56,  50,  58,  28 },
+ {  49,  50,  58,  28 },
+ {  35,  35,  35,  35 },
+ {  56,  50,  58,  28 },
+ {   5,   5,   4,   5 },
+ {   6,   5,   7,   5 },
+ {   8,   8,   8,   8 },
+ {   5,   5,   4,   5 },
+ {  18,   4,   4,  11 },
+ {  18,   4,   4,   4 },
+ {  18,  18,  18,  18 },
+ {  18,  11,   4,  11 },
+ { 118, 134, 153, 108 },
+ { 116, 131, 100, 108 },
+ { 119, 118, 250, 103 },
+ { 116, 116,  99, 104 },
+ { 119, 119, 119, 119 },
+ { 119, 119, 119, 119 },
+ { 124, 164, 141, 116 },
+ { 117, 163, 101, 116 },
+});
+
+const CtxSet ContextSetCfg::affBMFlag = ContextSetCfg::addCtxSet({
+// ctx 209 210
+ {  40,  43 },
+ {  40,  43 },
+ {  35,  35 },
+ {  40,  50 },
+ {   5,   1 },
+ {   6,   4 },
+ {   8,   8 },
+ {   5,   1 },
+ {  18,   4 },
+ {  11,   4 },
+ {  18,  18 },
+ {  18,   4 },
+ { 101, 117 },
+ { 133, 117 },
+ { 113, 105 },
+ { 118, 102 },
+ { 119, 119 },
+ { 119, 119 },
+ {  99, 120 },
+ { 121, 117 },
+});
+
+const CtxSet ContextSetCfg::rribcFlipType = ContextSetCfg::addCtxSet({
+// ctx 211 214
+ {  39,  39,  39,  35 },
+ {  39,  39,   0,  35 },
+ {  39,  39,  39,  35 },
+ {  39,  39,  39,  35 },
+ {   0,   0,   0,   8 },
+ {   0,   0,   0,   8 },
+ {   0,   0,   0,   8 },
+ {   0,   0,   0,   8 },
+ {  32,  32,  32,  18 },
+ {  32,  32,  32,  18 },
+ {  32,  32,  32,  18 },
+ {  32,  32,  32,  18 },
+ { 116, 116, 116, 119 },
+ { 116, 116, 116, 119 },
+ { 116, 116, 116, 119 },
+ { 116, 116, 116, 119 },
+ { 116, 116, 116, 119 },
+ { 116, 116, 116, 119 },
+ { 116, 116, 116, 119 },
+ { 116, 116, 116, 119 },
+});
+
+const CtxSet ContextSetCfg::bvOneZeroComp = ContextSetCfg::addCtxSet({
+// ctx 215 218
+ {  34,  43,  20,  27 },
+ {  49,  41,   0,  12 },
+ {  34,  42,  43,  19 },
+ {  41,  27,  27,  27 },
+ {   1,   7,   2,   5 },
+ {   5,   5,   0,   3 },
+ {   5,   9,   2,   5 },
+ {   1,   3,   1,   5 },
+ {   4,   4,   4,  11 },
+ {  11,  18,   4,  18 },
+ {  18,   4,  11,  11 },
+ {   4,   4,   4,  11 },
+ { 132, 113, 115, 101 },
+ { 118, 121, 114, 227 },
+ {  99,  98, 117, 139 },
+ { 147, 252, 116, 130 },
+ { 115,  91, 146, 103 },
+ { 108,  85, 236, 131 },
+ { 117, 114, 211, 108 },
+ { 119, 163, 137, 131 },
+});
+
+const CtxSet ContextSetCfg::AffineFlag = ContextSetCfg::addCtxSet({
+// ctx 219 221
+ {  33,  12,  13 },
+ {  26,  19,  20 },
+ {  35,  35,  35 },
+ {  33,  20,  14 },
+ {   6,   6,   1 },
+ {   6,   3,   1 },
+ {   8,   8,   8 },
+ {   5,   3,   1 },
+ {   4,  11,  11 },
+ {   4,   4,   4 },
+ {  18,  18,  18 },
+ {  11,   4,   4 },
+ { 194, 114, 125 },
+ { 179, 180, 229 },
+ { 107, 122, 118 },
+ { 123, 163, 212 },
+ { 119, 119, 119 },
+ { 119, 119, 119 },
+ { 104, 115, 119 },
+ { 132, 242, 149 },
+});
+
+const CtxSet ContextSetCfg::AffineType = ContextSetCfg::addCtxSet({
+// ctx 222 222
+ {  20 },
+ {  26 },
+ {  35 },
+ {  19 },
+ {   0 },
+ {   5 },
+ {   8 },
+ {   1 },
+ {   4 },
+ {  18 },
+ {  18 },
+ {   4 },
+ { 125 },
+ { 133 },
+ { 105 },
+ { 179 },
+ { 119 },
+ { 119 },
+ { 117 },
+ { 212 },
+});
+
+const CtxSet ContextSetCfg::AffMergeIdx = ContextSetCfg::addCtxSet({
+// ctx 223 225
+ {  22,  14,  37 },
+ {   7,  14,  22 },
+ {  35,  35,  35 },
+ {  14,  14,  22 },
+ {   1,   5,   9 },
+ {   1,   5,   9 },
+ {   8,   8,   8 },
+ {   1,   5,   9 },
+ {  11,  11,   4 },
+ {  11,   4,   4 },
+ {  18,  18,  18 },
+ {  18,   4,   4 },
+ { 132, 117, 148 },
+ { 117, 104,  89 },
+ { 132, 132, 132 },
+ { 132, 108, 101 },
+ { 119, 119, 119 },
+ { 119, 119, 119 },
+ { 123, 227, 117 },
+ { 119, 101, 101 },
+});
+
+const CtxSet ContextSetCfg::LICFlag = ContextSetCfg::addCtxSet({
+#if JVET_AG0276_LIC_SLOPE_ADJUST
+// ctx 226 228
+  {  18,  18,  11 },
+  {  18,  41,  11 },
+  {  35,  35,  35 },
+  {  26,  34,  34 },
+  {   4,   4,   0 },
+  {   5,   4,   4 },
+  {   8,   8,   8 },
+  {   4,   4,   4 },
+  {   4,  18,  18 },
+  {  11,  18,  18 },
+  {  18,  18,  18 },
+  {   4,  25,  32 },
+  { 102, 115, 116 },
+  { 212, 148, 151 },
+  { 104, 100,  99 },
+  { 148, 244, 137 },
+  { 119, 119, 119 },
+  { 119, 119, 119 },
+  { 101, 100,  99 },
+  { 133, 134, 136 },
+#else
+ { 11, },
+ { 11, },
+ { 11, },
+ { 11, },
+ { 4, },
+ { 5, },
+ { 6, },
+ { 4, },
+ { 4, },
+ { 4, },
+ { 4, },
+ { 4, },
+ { 102, },
+ { 133, },
+ { 101, },
+ { 133, },
+ { 106, },
+ { 211, },
+ { 102, },
+ { 133, },
+#endif
+});
+
+#if JVET_AG0276_LIC_SLOPE_ADJUST
+const CtxSet ContextSetCfg::LicDelta = ContextSetCfg::addCtxSet
+({
+// ctx 229 230
+  {  35,  51 },
+  {  50,  59 },
+  {  35,  35 },
+  {  43,  59 },
+  {   8,   0 },
+  {   4,   0 },
+  {   8,   8 },
+  {   8,   0 },
+  {  25,  18 },
+  {  18,  18 },
+  {  18,  18 },
+  {  25,  11 },
+  { 106, 149 },
+  { 131, 116 },
+  { 124, 123 },
+  { 227, 116 },
+  { 119, 119 },
+  { 119, 119 },
+  { 186, 137 },
+  {  99, 116 },
+  });
+#endif
+
+const CtxSet ContextSetCfg::BcwIdx = ContextSetCfg::addCtxSet({
+// ctx 231 231
+ {   5 },
+ {   5 },
+ {  35 },
+ {  12 },
+ {   1 },
+ {   3 },
+ {   8 },
+ {   3 },
+ {  11 },
+ {  11 },
+ {  18 },
+ {  18 },
+ { 132 },
+ { 117 },
+ { 139 },
+ { 116 },
+ { 119 },
+ { 119 },
+ { 155 },
+ { 122 },
+});
+
+const CtxSet ContextSetCfg::Mvd = ContextSetCfg::addCtxSet({
+// ctx 232 233
+ {  44,  37 },
+ {  44,  58 },
+ {  35,  35 },
+ {  44,  22 },
+ {   2,   2 },
+ {   3,   2 },
+ {   8,   8 },
+ {   2,   2 },
+ {   4,   4 },
+ {   4,   4 },
+ {  18,  18 },
+ {   4,   4 },
+ { 252, 116 },
+ { 252, 116 },
+ { 202, 116 },
+ { 171, 115 },
+ { 119, 119 },
+ { 119, 119 },
+ { 252, 115 },
+ { 252, 115 },
+});
+
+const CtxSet ContextSetCfg::Bvd = ContextSetCfg::addCtxSet({
+// ctx 234 245
+ {  38,  38,  38,  37,  29,  28,  36,  38,  44,  28,  27,  27 },
+ {  31,  46,  38,  29,  36,  29,  28,  46,  38,  13,  34,  13 },
+ {  38,  38,  38,  30,  37,  36,  29,  45,  37,  37,  28,  42 },
+ {  38,  38,  38,  37,  21,  35,  28,  46,  30,  28,  19,  27 },
+ {   5,   9,   5,   5,   2,   5,   1,   5,   1,   0,   0,   1 },
+ {   6,   7,   7,   5,   1,   5,   2,   6,   1,   0,   1,   2 },
+ {   6,   9,  10,   7,   7,   2,   1,   6,   6,   1,   2,   2 },
+ {   5,   6,   5,   5,   2,   5,   1,   6,   1,   0,   0,   1 },
+ {  18,  11,   4,   4,   4,  11,  11,  25,   4,   4,   4,   4 },
+ {  18,   4,   4,   4,   4,  11,  11,  18,  11,   4,   4,  11 },
+ {  25,  18,  25,  18,  18,  11,  11,  25,  25,  18,  11,  18 },
+ {  18,   4,   4,   4,   4,  18,   4,  18,   4,   4,   4,  11 },
+ { 242, 243, 122, 119, 134, 148, 117, 116, 118, 126, 121, 125 },
+ { 107,  82, 102, 115, 116, 100, 117, 115, 132, 117, 117, 116 },
+ { 241, 122, 132, 148, 149, 131, 116, 130, 120, 120, 133, 133 },
+ { 101, 102, 114, 100, 117, 116, 117, 147, 117, 117, 116, 117 },
+ { 209, 147, 116, 122, 119, 179, 118, 116, 114, 125, 124, 124 },
+ { 102,  83,  90, 105, 106, 117, 120, 104,  98, 118, 131, 130 },
+ { 226, 122, 124, 118, 133, 117, 132, 130, 118, 120, 119, 120 },
+ { 102,  98, 102, 100, 117, 101, 117, 162, 132, 117, 117, 117 },
+});
+
+const CtxSet ContextSetCfg::MvsdIdxMVDMSB = ContextSetCfg::addCtxSet({
+// ctx 246 277
+ {  42,  34,  41,  41,  33,  33,  34,  34,  41,  41,  48,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  42,  49,  49,  41,  33,  26,  26,  34,  41,  41,  48,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  42,  34,  41,  41,  33,  26,  34,  34,  41,  41,  33,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  13,  13,  13,   9,  10,   6,   6,  13,  13,  13,  10,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {  12,  13,  13,  10,  10,   6,   6,  13,  13,  13,  13,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {  13,  12,  13,   9,  10,   6,   5,  12,  13,   9,  12,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   4,   4,  25,   4,  11,   4,   4,   4,   4,   4,   4,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {   4,   4,  11,   4,  11,  11,   4,   4,   4,  25,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {   4,   4,  11,   4,   4,  11,   4,  11,  11,  18,   4,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ { 162,  70, 115,  98,  96,  98, 241,  83, 193,  73,  81, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 103, 134,  99, 120, 116, 101, 218, 115, 185, 101, 105, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 219, 105,  82, 113,  81,  98,  97,  87,  98,  74,  83, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ {  85, 119, 104, 121, 116, 130, 203, 119, 230, 136, 122, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ {  89,  87, 209,  98,  97, 114,  98,  99,  71,  81,  66, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 100, 152,  90, 117, 101, 130, 233, 136, 234, 232, 115, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+});
+
+const CtxSet ContextSetCfg::MvsdIdxBVDMSB = ContextSetCfg::addCtxSet({
+// ctx 278 293
+ {  34,  41,  41,  41,  42,  41,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  42,  41,   0,  18,  34,  41,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  34,  41,  34,  41,  42,  34,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  34,  41,  26,  33,  42,  49,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  13,   9,  13,  10,  13,  13,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {  13,   9,   1,   8,  12,  13,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {  13,  10,  13,  13,  13,  13,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {  13,   9,   6,  13,  10,  13,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   4,   4,   4,  18,   4,   4,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {   4,   4,  25,  25,  32,   4,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {   4,   4,   4,   4,   4,  11,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {   4,   4,  11,   4,   4,  11,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ { 185,  83, 134,  81,  73,  84, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ {  84, 100, 151, 199, 234, 101, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ {  70,  84, 252, 252,  66,  90, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 120, 100, 119, 100, 235, 101, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 201,  84, 234, 217, 234,  84, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ {  85,  99,  87, 131, 101, 151, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 138,  84, 251, 102,  87,  70, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ {  87, 100,  98, 136, 152, 152, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+});
+
+const CtxSet ContextSetCfg::MvsdIdx = ContextSetCfg::addCtxSet({
+// ctx 294 297
+ {  34,  33,  34,  33 },
+ {  41,  48,  41,  33 },
+ {  35,  35,  35,  35 },
+ {  34,  33,  34,  33 },
+ {  13,  10,  12,  12 },
+ {  13,  10,  13,  10 },
+ {   8,   8,   8,   8 },
+ {  13,  10,  12,  13 },
+ {  11,   4,   4,  11 },
+ {   4,   4,   4,  11 },
+ {  18,  18,  18,  18 },
+ {   4,   4,   4,  18 },
+ {  66,  81,  67, 177 },
+ { 118, 106, 120,  84 },
+ {  88,  82,  72,  81 },
+ {  90, 101,  90, 178 },
+ { 119, 119, 119, 119 },
+ { 119, 119, 119, 119 },
+ {  67,  83,  67,  80 },
+ { 100, 100, 104,  99 },
+});
+
+const CtxSet ContextSetCfg::MvsdIdxIBC = ContextSetCfg::addCtxSet({
+// ctx 298 299
+ {  41,  33 },
+ {  56,  26 },
+ {  34,  41 },
+ {  34,  41 },
+ {  13,  10 },
+ {  13,  10 },
+ {  12,  13 },
+ {  10,  10 },
+ {   4,   4 },
+ {   4,  11 },
+ {   4,  11 },
+ {   4,  11 },
+ { 170,  85 },
+ { 100, 100 },
+ { 234,  82 },
+ { 101, 210 },
+ { 219,  83 },
+ {  85, 100 },
+ { 183,  82 },
+ {  99, 115 },
+});
+
+const CtxSet ContextSetCfg::MultiHypothesisFlag = ContextSetCfg::addCtxSet({
+// ctx 300 302
+ {  10,  58,  51 },
+ {  10,  42,  43 },
+ {  35,  35,  35 },
+ {  17,  50,  52 },
+ {   1,   1,   1 },
+ {   2,   5,   2 },
+ {   8,   8,   8 },
+ {   1,   4,   1 },
+ {  11,   4,  11 },
+ {   4,   4,   4 },
+ {  18,  18,  18 },
+ {   4,   4,   4 },
+ { 116, 118, 116 },
+ { 243, 148, 163 },
+ { 115, 107, 117 },
+ { 131, 147, 116 },
+ { 119, 119, 119 },
+ { 119, 119, 119 },
+ { 116, 102, 117 },
+ { 132, 103, 117 },
+});
+
+const CtxSet ContextSetCfg::MHRefPic = ContextSetCfg::addCtxSet({
+// ctx 303 304
+ {  43,  41 },
+ {  28,  26 },
+ {  35,  35 },
+ {  36,  13 },
+ {   0,   0 },
+ {   1,   0 },
+ {   8,   8 },
+ {   1,   1 },
+ {  18,  18 },
+ {   4,   4 },
+ {  18,  18 },
+ {   4,   4 },
+ { 148, 148 },
+ { 117, 116 },
+ { 155, 141 },
+ { 124, 117 },
+ { 119, 119 },
+ { 119, 119 },
+ { 212, 125 },
+ { 124, 117 },
+});
+
+const CtxSet ContextSetCfg::MHWeight = ContextSetCfg::addCtxSet({
+// ctx 305 306
+ {  51,  35 },
+ {  51,  35 },
+ {  35,  35 },
+ {  59,  35 },
+ {   0,   8 },
+ {   0,   8 },
+ {   8,   8 },
+ {   0,   8 },
+ {  18,  18 },
+ {   4,  18 },
+ {  18,  18 },
+ {   4,  18 },
+ { 120, 119 },
+ { 165, 119 },
+ { 151, 119 },
+ { 150, 119 },
+ { 119, 119 },
+ { 119, 119 },
+ { 138, 119 },
+ { 246, 119 },
+});
+
+const CtxSet ContextSetCfg::BDPCMMode = ContextSetCfg::addCtxSet({
+// ctx 307 310
+ {  25,  28,   0,  50 },
+ {  25,  21,   0,  58 },
+ {  11,  50,   0,  34 },
+ {  17,  21,   0,  58 },
+ {   1,   0,   1,   0 },
+ {   2,   0,   0,   0 },
+ {   1,   1,   8,   0 },
+ {   2,   0,   1,   0 },
+ {   4,  25,  25,  18 },
+ {  11,   4,   4,  32 },
+ {  18,  25,   4,   4 },
+ {   4,  11,  11,  32 },
+ { 117, 117, 115, 116 },
+ { 164, 118, 167, 116 },
+ { 117, 148, 116, 116 },
+ { 131, 116, 167, 117 },
+ { 120, 118,  82, 123 },
+ { 125, 131, 135, 116 },
+ { 123, 117, 115, 116 },
+ { 120, 117, 153, 116 },
+});
+
+const CtxSet ContextSetCfg::QtRootCbf = ContextSetCfg::addCtxSet({
+// ctx 311 311
+ {   5 },
+ {   5 },
+ {   6 },
+ {  13 },
+ {   1 },
+ {   2 },
+ {   1 },
+ {   1 },
+ {   4 },
+ {   4 },
+ {  11 },
+ {   4 },
+ { 117 },
+ { 118 },
+ { 117 },
+ { 117 },
+ { 117 },
+ { 117 },
+ { 118 },
+ { 118 },
+});
+
+const CtxSet ContextSetCfg::ACTFlag = ContextSetCfg::addCtxSet({
+// ctx 312 312
+ {  35 },
+ {  35 },
+ {  35 },
+ {  35 },
+ {   8 },
+ {   8 },
+ {   8 },
+ {   8 },
+ {  18 },
+ {  18 },
+ {  18 },
+ {  18 },
+ { 119 },
+ { 119 },
+ { 119 },
+ { 119 },
+ { 119 },
+ { 119 },
+ { 119 },
+ { 119 },
+});
+
+const CtxSet ContextSetCfg::QtCbf[3] = {
+  ContextSetCfg::addCtxSet({
+// ctx 313 316
+ {  30,  38,   5,   7 },
+ {  15,  14,   5,   7 },
+ {   7,  42,   4,   7 },
+ {  15,  46,   5,   7 },
+ {   5,   1,   5,   5 },
+ {   5,   1,   6,   6 },
+ {   5,   1,   5,   5 },
+ {   5,   1,   5,   5 },
+ {  18,  18,   4,   4 },
+ {  11,  11,   4,  11 },
+ {  18,  18,   4,   4 },
+ {  18,  11,   4,   4 },
+ { 131, 148, 100, 195 },
+ { 107, 115, 228, 148 },
+ { 147, 243,  99, 130 },
+ { 102, 115, 211, 185 },
+ { 131, 116, 100, 115 },
+ { 116, 131, 147, 251 },
+ { 131, 149, 100, 147 },
+ { 108, 115, 196, 232 },
+  }),
+  ContextSetCfg::addCtxSet({
+// ctx 317 318
+ {  25,  61 },
+ {  17,  59 },
+ {   4,  14 },
+ {  25,  46 },
+ {   5,   0 },
+ {   5,   1 },
+ {   5,   7 },
+ {   5,   0 },
+ {  18,  11 },
+ {  18,  32 },
+ {  18,  32 },
+ {  18,  18 },
+ {  99, 228 },
+ { 130, 119 },
+ { 101, 115 },
+ { 242, 141 },
+ { 101,  97 },
+ { 131, 154 },
+ { 101, 116 },
+ { 242, 121 },
+  }),
+  ContextSetCfg::addCtxSet({
+// ctx 319 321
+ {  17,  36,  22 },
+ {   1,   5,  58 },
+ {  33,  13,  29 },
+ {  17,  21,  15 },
+ {   3,   1,   0 },
+ {   2,   1,   1 },
+ {   2,   2,   2 },
+ {   3,   1,   1 },
+ {  18,  11,  11 },
+ {  18,  11,  32 },
+ {  11,  18,  18 },
+ {  18,   4,  18 },
+ { 114, 116, 116 },
+ { 115, 116, 254 },
+ { 118, 117, 136 },
+ { 118, 117, 115 },
+ { 116, 119, 132 },
+ { 118, 119, 114 },
+ { 115, 117, 115 },
+ { 116, 117, 253 },
+  }),
+};
+
+const CtxSet ContextSetCfg::SigCoeffGroup[2] = {
+  ContextSetCfg::addCtxSet({
+// ctx 322 323
+ {  25,  38 },
+ {  25,  52 },
+ {  18,  31 },
+ {  25,  30 },
+ {   8,   5 },
+ {   8,   5 },
+ {   4,   5 },
+ {   5,   5 },
+ {  25,  18 },
+ {  25,  18 },
+ {  11,  18 },
+ {  11,  18 },
+ {  92, 148 },
+ { 107, 148 },
+ {  92, 133 },
+ { 103, 133 },
+ { 105, 179 },
+ { 102, 116 },
+ { 101, 133 },
+ { 243, 148 },
+  }),
+  ContextSetCfg::addCtxSet({
+// ctx 324 325
+ {   1,  38 },
+ {   2,  38 },
+ {  25,  30 },
+ {   9,  53 },
+ {  12,   9 },
+ {   9,   5 },
+ {   5,   9 },
+ {   8,   4 },
+ {  25,  25 },
+ {  32,  11 },
+ {  11,  25 },
+ {  18,  18 },
+ {  67, 251 },
+ { 228, 117 },
+ {  82, 251 },
+ { 133, 171 },
+ { 147, 230 },
+ { 163, 147 },
+ {  82, 170 },
+ { 198, 251 },
+  }),
+};
+
+#if JVET_AG0100_TRANSFORM_COEFFICIENT_CODING
+const CtxSet ContextSetCfg::SigFlagL[] =
+{
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 326 343
+ {  11,  26,  27,  28,  21,  21,  42,  27,  28,  29,  37,  30,  35,  44,  37,  30,  30,  38 },
+ {  26,  41,  34,  28,   5,  44,  57,  42,  35,  29,  37,  30,  42,  37,  44,  22,  38,  38 },
+ {  34,  26,  19,  28,  13,  21,  50,  27,  28,  14,  22,  30,  43,  52,  37,  38,  38,  38 },
+ {  11,  26,  27,  28,  21,  29,  42,  27,  28,  29,  37,  30,  50,  44,  52,  30,  30,  38 },
+ {  13,  10,  10,  13,  13,  13,   8,  13,  13,  10,  10,  13,   8,  10,   8,  10,   9,  13 },
+ {  13,  10,  10,  13,  12,   8,   8,  13,  10,  10,  13,  13,   9,   9,  12,  10,  13,  13 },
+ {  13,   9,  10,  10,  13,  13,  12,  13,  13,  13,  13,  13,  12,   9,   9,  13,  13,  13 },
+ {  13,  10,  10,  13,  13,  13,  10,  13,  10,  13,  13,  13,   8,  10,  12,  12,  12,  13 },
+ {  32,   4,   4,   4,   4,  11,  25,   4,   4,   4,   4,   4,  25,   4,   4,   4,   4,  18 },
+ {  25,   4,   4,  18,   4,   4,  18,   4,   4,   4,   4,   4,  25,   4,  11,  11,  11,  11 },
+ {  25,   4,   4,   4,   4,  11,  18,   4,   4,   4,   4,   4,  32,   4,   4,   4,   4,  18 },
+ {  18,   4,  11,  11,   4,   4,  18,  11,   4,  18,   4,   4,  32,   4,  18,   4,   4,  11 },
+ { 234,  83,  85,  89,  85, 234, 252,  83, 118, 131, 234, 216, 243, 186, 118, 120, 251, 202 },
+ {  87, 250, 250, 121, 168,  66,  99, 234, 234, 202,  90,  86, 130, 100, 156, 134,  83,  65 },
+ { 121,  82,  99,  84, 155, 252, 132,  74, 106,  99, 122, 137,  90, 163, 131, 105, 100, 199 },
+ { 148, 250, 136, 233,  68,  83, 118, 234, 151, 250, 106, 118, 168, 251, 229, 250, 218,  67 },
+ { 234,  89, 100,  85, 199, 234, 201,  84, 132, 115, 117, 153, 235, 100, 119,  86, 117, 234 },
+ { 122, 202, 138, 250,  84,  66, 119, 234, 234, 234, 122,  90,  84, 251, 187, 234, 169,  65 },
+ { 217,  83,  88,  83, 105, 234, 195,  83, 116,  99, 213, 182, 100, 210, 115, 147, 120, 234 },
+ { 114, 249, 250, 233, 154,  67, 100, 234, 234, 234,  85,  88, 134, 154, 202, 235,  84, 192 },
+    }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 344 355
+ {  18,  42,  27,   5,  21,  13,   4,  52,  45,  38,  38,  31 },
+ {   4,  27,  27,  28,  21,  36,  19,  36,  14,   7,  30,  54 },
+ {  42,  34,  20,  21,  29,  37,  43,  53,  53,  38,  38,  46 },
+ {  11,  42,  27,  21,  37,  60,  12,  36,  53,  46,  38,  31 },
+ {  13,  13,  13,  12,   9,  12,   7,   5,   8,   8,  10,   8 },
+ {  12,  13,  12,  10,  10,   0,   9,   8,   8,   8,   8,   0 },
+ {   8,  13,   9,  13,  13,   8,   9,   9,  12,   8,  13,   9 },
+ {   0,  12,   9,   6,   8,   7,   4,   9,  12,  10,  10,  13 },
+ {   4,   4,   4,  25,  18,  18,   4,   4,  11,  32,  32,  25 },
+ {  18,  11,   4,  25,  25,  18,   4,  11,  11,  18,  25,   4 },
+ {   4,   4,   4,  18,   4,  18,  32,   4,  11,   4,  18,  11 },
+ {   4,  11,  18,  11,  11,   4,   4,  11,  32,  11,  32,  32 },
+ { 234, 115, 137,  84,  85, 167, 116, 102, 133, 147, 232, 236 },
+ { 184, 234, 234, 201, 251, 165, 166, 252, 181, 138,  99,  82 },
+ { 106,  69, 105,  88, 241, 254, 132,  87, 132, 163, 134, 254 },
+ { 235, 234, 235, 250, 245, 116, 170, 252, 252, 252,  82, 116 },
+ { 235,  70, 101,  83, 104, 252, 213, 104, 116, 132, 234, 234 },
+ { 118, 234, 251, 218, 212,  83, 251, 251, 235, 252,  84,  82 },
+ { 249,  85, 196,  99, 226, 184, 121,  99, 131, 164, 218, 216 },
+ { 250, 235, 219, 234,  98, 161, 131, 235, 203, 201,  80, 117 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 356 373
+ {  36,  21,  45,  46,  46,  46,  30,  54,  61,  39,  39,  39,  13,  39,  39,  39,  39,  39 },
+ {  43,  44,  22,  46,  46,  54,  44,  54,  54,  39,  39,  39,  39,  39,  39,  39,  39,  39 },
+ {  44,  21,  45,  54,  54,  54,  37,  39,  39,  39,  39,  39,  31,  39,  39,  39,  39,  39 },
+ {  29,  21,  45,  46,  46,  46,  22,  54,  61,  39,  39,  39,  61,  39,  39,  39,  39,  39 },
+ {   9,  13,  13,  10,   8,   8,   8,   8,   8,   0,   0,   0,   0,   0,   0,   0,   0,   0 },
+ {  12,  13,  12,  13,  10,   3,  10,   8,   8,   0,   0,   0,   0,   0,   0,   0,   0,   0 },
+ {   8,  12,  13,  12,  13,   4,  12,   8,   8,   4,   0,   0,   0,   0,   0,   0,   0,   0 },
+ {   9,  12,  13,   9,   5,   8,  10,   8,   8,   0,   0,   0,   0,   0,   0,   0,   0,   0 },
+ {  32,  25,  18,   4,  11,   4,  25,  25,  25,  32,  25,  25,  32,  32,  32,  32,  32,  32 },
+ {  32,  25,  18,   4,   4,   4,  25,  25,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32 },
+ {   4,   4,  11,  11,  25,   4,  18,  25,  25,  32,  25,  32,  32,  32,  32,  32,  32,  32 },
+ {  18,  11,  11,   4,   4,   4,  25,  25,  25,  25,  32,  25,  32,  32,  32,  32,  32,  32 },
+ { 251, 103, 133, 181, 217, 213, 252, 252, 236, 203, 254, 237, 254, 235, 116, 116, 116, 237 },
+ {  83, 234, 202, 248,  82,  82,  85, 242,  98, 116, 116, 116, 116, 116, 116, 116, 116, 116 },
+ { 235, 100, 107, 196, 201, 135, 250, 252, 184, 251, 254, 254, 253, 237, 116, 116, 235, 238 },
+ {  85, 216, 219, 200,  81, 114,  98, 211, 131, 118, 117, 117, 116, 116, 116, 116, 116, 116 },
+ { 188,  91, 131, 133, 233, 199, 235, 252, 252, 217, 254, 190, 235, 254, 254, 251, 251, 252 },
+ { 139, 235, 234, 201,  73,  99, 100, 242,  98,  99, 116, 116, 116, 116, 116, 116, 116, 116 },
+ { 251, 102, 106, 134, 252, 219, 250, 252, 252, 184, 254, 174, 250, 116, 116, 235, 238, 116 },
+ {  91, 235, 234, 249,  98,  82,  85, 242, 114, 116, 116, 116, 116, 116, 116, 116, 116, 116 },
+    }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 374 385
+ {  21,  29,  38,  31,  62,  39,  39,  39,  39,  39,  39,  39 },
+ {  42,  45,  53,  62,  62,  39,  31,  39,  39,  39,  39,  39 },
+ {  22,  46,  38,  39,  39,  39,  39,  39,  39,  39,  39,  39 },
+ {  13,  29,  38,  31,  54,  39,  39,  39,  39,  39,  39,  39 },
+ {   8,  13,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0 },
+ {  12,  13,   4,   0,   8,   9,   0,   0,   0,   0,   0,   0 },
+ {   4,  12,  12,   4,   0,   0,   0,   0,   0,   0,   0,   0 },
+ {  13,   9,   0,   8,   4,   2,   4,   0,   0,   0,   0,   0 },
+ {  32,  32,  25,  32,  32,  32,  32,  32,  32,  32,  32,  32 },
+ {  32,  32,  25,  11,  25,  11,  32,  32,  32,  32,  32,  32 },
+ {  25,  18,  18,  32,  25,  25,  32,  32,  32,  32,  32,  32 },
+ {  32,  25,   4,  18,  25,  32,  32,  32,  32,  32,  32,  32 },
+ { 252, 234, 254, 253, 254, 116, 235, 251, 235, 116, 116, 116 },
+ {  83, 234, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116 },
+ { 233, 197, 217, 254, 236, 162, 235, 252, 235, 116, 116, 116 },
+ {  82, 234,  99, 180,  82, 168, 116, 116, 116, 116, 116, 116 },
+ { 235, 231, 234, 253, 252, 214, 235, 253, 238, 253, 253, 254 },
+ { 100, 235, 132,  99, 116, 116, 116, 116, 116, 116, 116, 116 },
+ { 202, 139, 236, 108,  99, 235, 251, 238, 252, 238, 116, 116 },
+ { 168, 251, 116, 149, 153, 115,  99, 116, 116, 116, 116, 116 },
+    }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 386 403
+ {  36,  54,  39,  39,  39,  39,  38,  39,  39,  39,  39,  39,   0,  39,  39,  39,  39,  39 },
+ {  20,  39,  54,  39,  39,  39,  60,  39,  39,  39,  39,  39,   0,  39,  39,  39,  39,  39 },
+ {  43,  39,  39,  39,  39,  39,  44,  39,  39,  39,  39,  39,   0,  39,  39,  39,  39,  39 },
+ {  36,  54,  39,  39,  39,  39,  53,  39,  39,  39,  39,  39,   0,  39,  39,  39,  39,  39 },
+ {  13,   8,   8,  13,   5,   6,  13,   4,   4,   1,   0,   0,   0,   0,   0,   0,   0,   0 },
+ {   9,   8,   8,  12,  10,   0,  13,   4,   4,   4,   4,   0,   0,   0,   0,   0,   0,   0 },
+ {  10,   8,  12,  12,  12,  13,  12,   0,   4,   0,   0,   0,   0,   0,   0,   0,   0,   0 },
+ {  12,   9,   8,  13,   0,   2,  12,   4,   4,   0,   0,   0,   0,   0,   0,   0,   0,   0 },
+ {  25,  25,  25,  32,  18,  11,  32,  18,  32,  32,  32,  32,   4,  32,  32,  32,  32,  32 },
+ {  18,  25,  18,  32,  32,   4,  32,  18,  32,  32,  32,  32,   4,  32,  32,  32,  32,  32 },
+ {  18,  25,  32,  25,  18,  11,  11,  25,  32,  32,  32,  32,  25,  32,  32,  32,  32,  32 },
+ {  18,  25,  32,  25,  18,  18,  32,  18,  25,  32,  32,  32,  25,  32,  32,  32,  32,  32 },
+ { 234, 235, 183, 234, 252, 131, 217, 253, 253, 237, 233, 254, 116, 116, 116, 252, 116, 252 },
+ {  80, 252, 180,  80, 114,  97, 192,  99,  99, 115, 116, 116, 116, 116, 116, 116, 116, 116 },
+ { 251, 252, 186, 217, 232, 238, 234, 253, 220, 253, 215, 254, 116, 116, 116, 116, 116, 235 },
+ { 194, 235, 249,  81,  80, 120,  64, 243,  99,  99,  99, 116, 116, 116, 116, 116, 116, 116 },
+ { 248, 252, 219, 184, 181, 234, 213, 236, 234, 254, 254, 250, 116, 235, 252, 235, 251, 252 },
+ { 161, 252, 163, 114,  97, 162, 149, 116,  99, 116, 116, 116, 116, 116, 116, 116, 116, 116 },
+ { 235, 251, 229, 148, 237, 251, 234, 253, 250, 254, 254, 254, 116, 116, 116, 116, 116, 116 },
+ {  98, 251, 247, 114, 116, 116, 161, 179,  99, 116, 116, 116, 116, 116, 116, 116, 116, 116 },
+    }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 404 415
+ {  20,  38,  54,  39,  39,  39,   9,  39,  39,  39,  39,  39 },
+ {  13,  53,  39,  39,  39,  39,   5,  39,  39,  39,  39,  39 },
+ {  28,  39,  39,  39,  39,  39,   4,  39,  39,  39,  39,  39 },
+ {   5,  30,  54,  39,  39,  39,   0,  39,  39,  39,  39,  39 },
+ {  12,   8,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0 },
+ {  13,  12,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0 },
+ {  13,   8,   4,   0,   0,   0,   0,   0,   0,   0,   0,   0 },
+ {  13,   9,   4,   0,   5,   0,   0,   0,   1,   0,   0,   8 },
+ {  32,  25,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32 },
+ {  32,  32,  25,  32,  25,  32,   4,  32,  32,  32,  32,  32 },
+ {   4,  18,  25,  18,  32,  32,   4,  32,  32,  32,  32,  32 },
+ {  32,  32,  32,  25,  32,  32,   4,  32,  32,  32,  32,  32 },
+ { 235, 252, 253, 205, 116, 116, 201, 251, 235, 251, 116, 116 },
+ {  83, 252, 116, 195, 116, 116, 116, 116, 116, 116, 116, 116 },
+ { 201, 235, 134, 254, 116, 235, 123, 253, 235, 116, 235, 116 },
+ {  82, 235, 133, 118, 116, 116, 132, 116, 116, 116, 116, 116 },
+ { 218, 252, 236, 236, 251, 254, 122, 254, 252, 251, 254, 253 },
+ {  67, 252, 100, 116, 116, 116, 116, 116, 116, 116, 116, 116 },
+ { 150, 235, 253, 253, 218, 116, 116, 238, 236, 116, 235, 218 },
+ { 199, 251, 179, 164, 162, 116, 116, 116, 116, 116, 148, 114 },
+   }),
+};
+#else
+const CtxSet ContextSetCfg::SigFlagL[6] = {
+  ContextSetCfg::addCtxSet({
+    { 10, 26, 27, 21, 25, 27, 28, 37, 34, 44, 44, 38 },
+    { 10, 41, 42, 21, 19, 42, 28, 37, 27, 37, 44, 38 },
+    { 26, 26, 19, 28, 34, 27, 28, 22, 43, 52, 37, 38 },
+	{ 10, 26, 27, 21, 25, 27, 28, 37, 34, 44, 44, 38 },
+    { 12, 10, 10, 10, 8, 10, 10, 10, 8, 10, 8, 9 },
+    { 12, 10, 9, 13, 8, 10, 10, 10, 8, 10, 8, 10 },
+    { 12, 9, 9, 10, 8, 13, 13, 13, 9, 9, 9, 10 },
+    { 12, 10, 10, 10, 8, 10, 10, 10, 8, 10, 8, 9 },
+    { 25, 4, 11, 11, 25, 4, 11, 4, 25, 18, 11, 4 },
+    { 25, 4, 4, 18, 25, 4, 4, 4, 25, 18, 11, 11 },
+    { 25, 4, 4, 4, 4, 4, 11, 11, 18, 4, 4, 4 },
+    { 25, 4, 11, 11, 25, 4, 11, 4, 25, 18, 11, 4 },
+    { 231, 100, 114, 100, 251, 147, 152, 122, 201, 170, 186, 119 },
+    { 102, 138, 138, 233, 100, 137, 122, 138, 101, 99, 100, 106 },
+    { 234, 119, 227, 89, 252, 118, 199, 122, 252, 135, 251, 137 },
+    { 84, 137, 121, 234, 114, 132, 227, 122, 83, 104, 115, 90 },
+    { 131, 101, 117, 116, 252, 85, 211, 101, 131, 163, 132, 121 },
+    { 148, 152, 118, 118, 132, 186, 164, 234, 182, 235, 135, 122 },
+	{ 231, 100, 114, 100, 251, 147, 152, 122, 201, 170, 186, 119 },
+    { 102, 138, 138, 233, 100, 137, 122, 138, 101, 99, 100, 106 },
+  }),
+  ContextSetCfg::addCtxSet({
+    { 18, 42, 35, 21, 34, 52, 53, 38 },
+    { 11, 27, 20, 21, 19, 52, 30, 38 },
+    { 26, 34, 20, 21, 43, 53, 53, 38 },
+    { 18, 42, 35, 21, 34, 52, 53, 38 },
+    { 8, 13, 9, 13, 6, 5, 8, 10 },
+    { 13, 13, 12, 12, 5, 5, 8, 8 },
+    { 12, 13, 9, 13, 8, 8, 9, 9 },
+    { 8, 13, 9, 13, 6, 5, 8, 10 },
+    { 11, 18, 4, 25, 18, 11, 18, 25 },
+    { 18, 11, 11, 25, 4, 4, 18, 25 },
+    { 25, 11, 4, 11, 25, 4, 4, 4 },
+    { 11, 18, 4, 25, 18, 11, 18, 25 },
+    { 251, 215, 123, 99, 138, 132, 117, 146 },
+    { 118, 120, 171, 186, 131, 117, 139, 116 },
+    { 233, 115, 101, 84, 140, 132, 117, 147 },
+    { 106, 133, 235, 235, 138, 124, 153, 252 },
+    { 235, 86, 104, 163, 118, 164, 132, 132 },
+    { 107, 149, 251, 147, 252, 108, 251, 154 },
+	{ 251, 215, 123, 99, 138, 132, 117, 146 },
+    { 118, 120, 171, 186, 131, 117, 139, 116 },
+  }),
+  ContextSetCfg::addCtxSet({
+    { 35, 37, 45, 46, 28, 54, 61, 39, 43, 39, 39, 39 },
+    { 27, 30, 38, 46, 51, 54, 54, 39, 22, 39, 39, 39 },
+    { 20, 37, 45, 54, 36, 39, 39, 39, 38, 39, 39, 39 },
+    { 35, 37, 45, 46, 28, 54, 61, 39, 43, 39, 39, 39 },
+    { 12, 13, 13, 8, 10, 8, 8, 4, 0, 0, 0, 0 },
+    { 12, 13, 12, 8, 7, 8, 8, 5, 0, 0, 0, 0 },
+    { 8, 12, 13, 12, 13, 8, 8, 4, 0, 0, 0, 0 },
+    { 12, 13, 13, 8, 10, 8, 8, 4, 0, 0, 0, 0 },
+    { 25, 11, 18, 11, 25, 25, 25, 25, 18, 25, 25, 25 },
+    { 25, 25, 25, 4, 25, 25, 25, 25, 25, 25, 25, 25 },
+    { 11, 11, 25, 11, 25, 25, 25, 25, 25, 25, 25, 25 },
+    { 25, 11, 18, 11, 25, 25, 25, 25, 18, 25, 25, 25 },
+    { 235, 234, 232, 152, 250, 252, 235, 173, 212, 238, 116, 116 },
+    { 162, 234, 162, 101, 112, 147, 99, 99, 116, 116, 116, 116 },
+    { 235, 153, 195, 135, 250, 252, 220, 150, 230, 116, 238, 235 },
+    { 82, 234, 235, 121, 97, 136, 115, 98, 116, 116, 116, 116 },
+    { 187, 149, 228, 213, 234, 252, 231, 154, 133, 116, 123, 238 },
+    { 228, 235, 181, 187, 98, 242, 242, 99, 148, 116, 116, 116 },
+	{ 235, 234, 232, 152, 250, 252, 235, 173, 212, 238, 116, 116 },
+    { 162, 234, 162, 101, 112, 147, 99, 99, 116, 116, 116, 116 },
+  }),
+  ContextSetCfg::addCtxSet({
+    { 34, 37, 38, 31, 6, 39, 39, 39 },
+    { 34, 38, 53, 54, 38, 39, 39, 39 },
+    { 13, 46, 38, 39, 54, 39, 39, 39 },
+    { 34, 37, 38, 31, 6, 39, 39, 39 },
+    { 8, 12, 8, 4, 0, 0, 0, 0 },
+    { 10, 12, 8, 4, 12, 0, 0, 0 },
+    { 8, 12, 13, 4, 0, 0, 0, 0 },
+    { 8, 12, 8, 4, 0, 0, 0, 0 },
+    { 25, 25, 18, 18, 25, 25, 25, 25 },
+    { 18, 18, 25, 25, 25, 25, 25, 25 },
+    { 25, 18, 25, 25, 25, 25, 25, 25 },
+    { 25, 25, 18, 18, 25, 25, 25, 25 },
+    { 235, 235, 252, 151, 164, 252, 116, 238 },
+    { 115, 214, 83, 99, 132, 116, 116, 116 },
+    { 202, 235, 252, 221, 235, 235, 116, 116 },
+    { 129, 235, 83, 100, 65, 116, 116, 116 },
+    { 252, 235, 186, 246, 148, 253, 254, 133 },
+    { 242, 235, 101, 102, 132, 116, 116, 116 },
+	{ 235, 235, 252, 151, 164, 252, 116, 238 },
+    { 115, 214, 83, 99, 132, 116, 116, 116 },
+  }),
+  ContextSetCfg::addCtxSet({
+    { 35, 54, 39, 39, 35, 39, 39, 39, 0, 39, 39, 39 },
+    { 43, 39, 54, 39, 35, 39, 39, 39, 35, 39, 39, 39 },
+    { 19, 39, 39, 39, 43, 39, 39, 39, 0, 39, 39, 39 },
+    { 35, 54, 39, 39, 35, 39, 39, 39, 0, 39, 39, 39 },
+    { 12, 9, 8, 8, 13, 4, 4, 4, 0, 0, 0, 0 },
+    { 12, 8, 8, 12, 13, 4, 4, 4, 8, 0, 0, 0 },
+    { 5, 8, 12, 12, 13, 0, 0, 0, 0, 0, 0, 0 },
+    { 12, 9, 8, 8, 13, 4, 4, 4, 0, 0, 0, 0 },
+    { 25, 25, 25, 18, 4, 25, 25, 25, 4, 25, 25, 25 },
+    { 25, 25, 11, 25, 25, 18, 25, 25, 18, 25, 25, 25 },
+    { 18, 25, 25, 25, 18, 25, 18, 18, 25, 25, 25, 25 },
+    { 25, 25, 25, 18, 4, 25, 25, 25, 4, 25, 25, 25 },
+    { 197, 251, 252, 218, 233, 188, 205, 221, 116, 116, 235, 252 },
+    { 114, 250, 118, 179, 146, 99, 99, 99, 116, 116, 116, 116 },
+    { 235, 235, 236, 202, 234, 253, 215, 215, 119, 116, 235, 235 },
+    { 68, 251, 251, 162, 65, 115, 99, 99, 119, 116, 116, 116 },
+    { 119, 252, 235, 155, 184, 249, 174, 173, 116, 235, 135, 254 },
+    { 123, 251, 227, 114, 209, 116, 116, 116, 116, 116, 132, 116 },
+	{ 197, 251, 252, 218, 233, 188, 205, 221, 116, 116, 235, 252 },
+    { 114, 250, 118, 179, 146, 99, 99, 99, 116, 116, 116, 116 },
+  }),
+  ContextSetCfg::addCtxSet({
+    { 19, 30, 54, 39, 42, 39, 39, 39 },
+    { 27, 38, 62, 39, 33, 39, 39, 39 },
+    { 20, 39, 39, 39, 61, 39, 39, 39 },
+    { 19, 30, 54, 39, 42, 39, 39, 39 },
+    { 10, 8, 4, 0, 0, 0, 0, 0 },
+    { 10, 8, 0, 0, 1, 0, 0, 0 },
+    { 9, 8, 8, 0, 1, 0, 0, 0 },
+    { 10, 8, 4, 0, 0, 0, 0, 0 },
+    { 25, 18, 25, 25, 25, 25, 25, 25 },
+    { 18, 25, 25, 25, 11, 25, 25, 25 },
+    { 18, 18, 25, 4, 25, 25, 25, 25 },
+    { 25, 18, 25, 25, 25, 25, 25, 25 },
+    { 216, 236, 253, 253, 212, 116, 253, 238 },
+    { 192, 233, 100, 148, 116, 116, 116, 116 },
+    { 248, 252, 254, 254, 115, 116, 238, 235 },
+    { 100, 203, 117, 116, 221, 116, 116, 116 },
+    { 123, 252, 204, 217, 115, 148, 116, 134 },
+    { 210, 246, 162, 116, 251, 116, 116, 132 },
+	{ 216, 236, 253, 253, 212, 116, 253, 238 },
+    { 192, 233, 100, 148, 116, 116, 116, 116 },
+  }),
+};
+#endif
+
+const CtxSet ContextSetCfg::ParFlagL[2] = {
+  ContextSetCfg::addCtxSet({
+// ctx 416 436
+ {  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  33,   0,  17,  18,   0,   0,  25,  33,  26,  34,  19,  25,  34,  42,  42,  35,  26,  27,  35,  42,  35 },
+ {   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {  10,  13,  13,   0,   0,   0,  13,  13,  13,  13,  13,  12,  13,  13,  13,  13,  12,  13,  13,  12,  13 },
+ {  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {  25,  25,  11,  25,   4,   4,   4,   4,   4,   4,   4,  11,   4,   4,   4,   4,  18,  18,   4,   4,   4 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ {  66,  64, 195, 116, 116, 116,  66,  84,  75, 104,  87, 106,  86, 117, 122, 105, 122, 234, 100,  90, 122 },
+ { 181, 183, 252, 116, 116, 116, 167, 235, 235, 170, 234, 227, 234, 136, 151, 234, 101, 106, 218, 235, 122 },
+  }),
+  ContextSetCfg::addCtxSet({
+// ctx 437 447
+ {  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  33,  25,  26,  19,  42,  27,  33,  50,  35,  35,  35 },
+ {   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {  13,  13,  12,  12,  13,  12,  12,  12,  10,  13,  10 },
+ {  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {  25,   4,  18,  25,  18,  25,   4,  11,  11,  25,  11 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ {  64, 122,  85,  99,  99, 117, 219, 106, 243, 180, 249 },
+ { 234, 117, 234, 187, 203, 123,  86, 104, 168, 165,  88 },
+  }),
+};
+
+#if JVET_AG0100_TRANSFORM_COEFFICIENT_CODING
+const CtxSet ContextSetCfg::GtxFlagL[] =
+{
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 448 476
+ {  25,   0,   0,  35,  35,  35,  35,  35,   2,  10,  26,  34,   4,  12,  28,  18,  34,  27,  20,  28,  36,  29,  19,  20,  21,  29,  22,  45,  30 },
+ {   2,   0,   0,  35,  35,  35,  35,  35,  25,   2,  26,  26,  27,  27,  28,  25,  26,  27,  35,  36,  28,  29,  34,  27,  43,  36,  37,  37,  30 },
+ {  17,   0,   0,   0,   0,  35,  35,  35,   2,  10,  26,  11,  27,  27,  20,  18,  26,  27,  35,  13,  28,  29,  27,  28,  36,  29,  22,  22,  30 },
+ {  25,   0,   0,   0,  35,  35,  35,  35,   2,  18,  26,  34,   4,  12,  28,  18,  34,  12,  20,  28,  36,  29,  27,  20,  21,  29,  22,  45,  30 },
+ {   7,   0,   0,   8,   8,   8,   8,   8,   9,  13,  12,  13,  13,  10,  13,  13,  12,   9,   9,   9,  10,   9,   9,   8,  10,  10,   8,  12,   9 },
+ {   6,   0,   0,   8,   8,   8,   8,   8,  13,  13,  12,  13,  13,  12,  10,  12,  12,  10,  12,  12,   9,  10,   9,   9,   9,   8,  10,  12,  13 },
+ {   7,   0,   0,   0,   0,   8,   8,   8,  12,  13,  12,  13,  12,  13,   9,  10,  12,   9,   9,  13,   9,  13,   6,   8,   9,  12,   9,  10,   9 },
+ {  12,   0,   0,   0,   8,   8,   8,   8,  12,  13,  10,  13,  13,  13,  10,  13,  13,  13,   9,   9,  13,  10,  13,   9,  12,  13,  12,  13,  10 },
+ {   4,   4,   4,  18,  18,  18,  18,  18,   4,  25,   4,   4,  11,   4,   4,  18,  11,   4,   4,   4,   4,   4,  18,  18,  18,  18,  11,  11,   4 },
+ {  18,   4,   4,  18,  18,  18,  18,  18,   4,  25,  11,  18,   4,   4,   4,  18,  11,  11,  11,   4,   4,   4,  11,  18,  18,  11,  25,  25,  25 },
+ {  18,   4,   4,   4,   4,  18,  18,  18,  18,  18,  11,  11,  11,  18,   4,   4,  11,   4,   4,   4,   4,  11,   4,   4,  11,  18,   4,   4,   4 },
+ {  25,   4,   4,   4,  18,  18,  18,  18,  18,  18,   4,   4,   4,   4,   4,  18,  18,  25,   4,   4,  18,  11,  25,  18,  32,  32,  25,  32,  11 },
+ {  97, 116, 116, 119, 119, 119, 119, 119, 133, 234, 219, 218, 151, 169, 186, 233, 235, 234, 251, 251, 234, 202, 251, 252, 164, 202, 106, 163, 251 },
+ { 180, 116, 116, 119, 119, 119, 119, 119, 123,  99,  90,  87, 167, 184,  83,  99,  99, 101, 101,  87,  86,  83,  86,  86,  98,  85, 119, 182,  82 },
+ { 133, 116, 116, 119, 119, 119, 119, 119, 234, 218, 183, 234, 233, 235, 201, 219, 168, 163, 213, 107, 234, 167, 197, 244, 119, 244, 116, 121, 154 },
+ { 195, 116, 116, 119, 119, 119, 119, 119, 105, 115, 101, 114,  87,  87,  83,  90, 115, 106, 105,  86,  86,  87, 115, 114, 146, 115, 137, 100,  86 },
+ { 249, 116, 116, 116, 116, 119, 119, 119,  85, 234, 213, 122, 219, 234, 218, 202, 235, 250, 235, 179, 251, 234, 155, 152, 235, 136, 122, 148, 251 },
+ { 116, 116, 116, 116, 116, 119, 119, 119, 120,  99, 116, 101, 100,  83,  86, 102,  84, 101, 100, 227,  84,  68, 116,  90,  84,  83, 103,  99,  82 },
+ { 200, 116, 116, 116, 116, 116, 116, 119, 178,  82, 213, 233, 100, 198, 202, 133, 162, 106, 120, 247, 138, 202,  88, 243, 107, 120, 100,  98, 250 },
+ { 106, 116, 116, 116, 116, 116, 116, 119, 100, 138, 179, 115, 165,  99,  84, 115,  90, 116, 101, 115,  99,  82, 101, 114, 100,  90, 232, 122,  81 },
+ }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 477 491
+ {  41,  10,   3,  11,  27,  44,  52,  14,   2,  19,  27,  44,  53,   6,  54 },
+ {  17,  17,   3,  35,   3,  51,   3,  21,  10,   3,  12,  13,  61,  46,  53 },
+ {  10,  10,  26,  27,  35,  28,  20,  29,  27,  28,  29,  29,  22,  22,  38 },
+ {  41,   2,  11,  11,  28,  28,  29,   6,  10,  42,  35,  52,  29,   6,  46 },
+ {  12,   8,   8,   1,  10,   0,  13,   3,  10,  13,  10,   7,   8,   4,  10 },
+ {  12,   8,   5,   5,   3,   8,  13,   7,  13,  13,   8,   7,  13,   5,   1 },
+ {   6,   9,   9,  13,  13,  12,   9,  13,  12,   9,  10,  10,   8,  10,   8 },
+ {  12,   5,  10,  10,  12,  10,  10,   2,  13,  12,  12,   1,   1,   5,  12 },
+ {   4,   4,  11,  11,  11,   4,  32,  18,   4,  11,  18,   4,  25,  32,  18 },
+ {   4,  18,   4,  18,  18,  32,  32,  32,  25,  25,   4,   4,   4,  18,   4 },
+ {  25,   4,   4,  11,  11,  18,   4,   4,  11,  11,  11,  11,   4,   4,   4 },
+ {  32,   4,   4,  32,  32,  11,   4,  11,  25,   4,  18,  11,   4,  32,  32 },
+ { 132,  86,  83, 121,  83, 116, 232, 183, 250, 169, 131, 137, 226, 100, 180 },
+ {  72, 132, 197, 132, 138, 196, 194, 113,  99, 146, 192,  98, 195, 100,  85 },
+ { 187, 183,  99, 100, 119, 202, 234, 245, 144, 151, 196, 199, 215,  98, 205 },
+ {  72,  84, 132, 226, 209, 251, 104,  96, 122, 130, 181,  99, 154, 100, 115 },
+ { 251,  83, 251, 146, 227, 102, 106, 137, 134, 211, 177, 210, 132, 149, 251 },
+ { 146, 133, 100, 152, 130, 123,  83,  69,  84, 242, 244,  84, 247,  99,  83 },
+ { 200, 103,  82, 250,  66, 234,  82, 117,  82, 149, 148, 148, 170,  99, 235 },
+ { 234, 102, 170, 103, 234, 170, 104, 242, 121, 148, 106, 167, 115,  99,  86 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 492 520
+ {   1,   0,   9,  57,   0,   0,   0,   0,  25,  34,  27,  20,  13,  21,  29,  26,  20,  36,  29,  37,  22,  30,  35,  36,  37,  45,  38,  38,  38 },
+ {   1,   0,  17,   0,  57,   0,  35,  35,  25,  26,  27,  20,  28,  21,  21,  33,  27,  43,  36,  29,  37,  45,  34,  20,  29,  37,  37,  38,  38 },
+ {  25,   0,  17,  33,   9,   2,  39,  39,  25,  11,  27,  20,  13,  21,  21,  26,  20,  21,  21,  37,  22,  22,  28,  29,  45,  30,  38,  38,  23 },
+ {   9,   0,   9,  41,   0,   0,  35,  35,  25,  34,  27,  28,  13,  21,  29,  26,  35,  28,  21,  29,  22,  30,  27,  13,  37,  45,  38,  38,  38 },
+ {   9,  10,   3,   0,   0,   0,   0,   0,  13,  13,  13,  13,  13,  10,  13,  13,  13,  13,  10,  13,  13,  13,   7,   9,   9,  12,  13,  12,  10 },
+ {   9,   5,  13,   0,  13,   0,   8,   8,  13,  13,  13,  13,  10,  10,  10,  10,  13,  13,  13,  13,  13,  13,   8,   9,  10,  10,  12,  13,  13 },
+ {   9,  13,  13,   5,   0,   0,   0,   0,  13,  13,  13,  13,  13,  13,  13,  13,  13,  12,  10,  13,  12,  13,   9,  10,  10,  10,  12,  13,  13 },
+ {   9,   5,   7,   0,   0,   0,   8,   8,  13,  13,  13,  13,  10,  13,  13,  13,  13,  13,  13,  13,  13,  13,   9,  12,  12,  12,  13,  13,  12 },
+ {   4,   4,   4,  32,   4,   4,   4,   4,   4,   4,   4,   4,  11,   4,   4,  18,  11,  11,   4,  11,   4,   4,  18,  11,  11,  11,  18,  11,   4 },
+ {   4,  32,   4,   4,  32,   4,  18,  18,  11,  11,  11,   4,   4,  11,   4,  11,  18,  18,  11,  11,   4,  11,  11,  18,  25,  11,  32,  25,   4 },
+ {  18,   4,  11,  32,  25,   4,   4,   4,  11,  11,   4,   4,  11,  11,   4,  18,  11,   4,   4,  11,   4,   4,  11,   4,  11,   4,   4,  11,   4 },
+ {   4,   4,  32,  32,   4,   4,  18,  18,  11,  18,  11,  18,   4,  11,   4,  18,  18,  25,  18,  11,  11,   4,  18,  18,  32,  18,  25,  25,   4 },
+ {  82, 102, 232, 116, 116, 116, 116, 116,  85,  84, 120, 165,  98, 100, 134, 234, 217, 179, 117, 103, 115, 117, 116, 179, 101,  99,  86,  85, 170 },
+ { 168, 250, 145, 222, 116, 116, 116, 116, 234, 234, 200, 150, 234, 250, 186, 234, 234, 234, 250, 234, 185, 138, 122, 101, 139, 235, 234, 235,  82 },
+ {  81,  98,  64, 116, 150, 116, 119, 119,  67,  87,  87, 178,  99,  99, 218, 116, 194, 226, 131, 115,  90, 103, 163, 101, 101, 100,  99,  99, 117 },
+ { 185, 252,  70, 116,  64, 116, 119, 119, 234, 154, 170, 234, 250, 250, 100, 250, 234, 234, 234, 233, 234, 201, 148, 117, 202, 249, 235, 234,  85 },
+ {  81,  64,  74, 178, 116, 116, 116, 116,  87, 117, 186, 118,  85,  90, 218, 234, 233, 228, 249, 100,  86, 168, 131, 146,  99, 100,  99,  86, 132 },
+ { 187, 234, 101, 248, 116, 116, 116, 116, 234, 234, 199, 234, 234, 234,  83, 234, 234, 235, 250, 234, 235,  84, 117, 153, 250, 250, 235, 233, 154 },
+ {  81,  98, 227, 116, 116, 116, 116, 116,  67,  84, 100,  84, 100,  84, 164, 130, 194, 118, 178, 103,  89, 116,  99, 130, 129,  84,  84,  90, 214 },
+ { 230, 252, 250, 116, 116, 116, 116, 116, 234, 234, 218, 234, 234, 186, 217, 234, 234, 234, 234, 202, 234, 234, 115, 100, 235, 235, 233, 234,  84 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 521 535
+ {   9,  25,  27,  28,  13,  60,  45,   7,  28,  45,  38,  46,  46,  54,  62 },
+ {   9,  25,  19,   4,   5,  21,  14,  22,  12,   6,   7,  53,  23,  23,  31 },
+ {  40,  33,  27,  20,  13,  21,  29,  37,  36,  37,  45,  30,  38,  38,  46 },
+ {   9,  25,  35,  28,   5,  37,  14,  30,  36,  45,  38,  23,  46,  62,  62 },
+ {  12,  12,  12,   8,   4,   1,   1,   9,   8,   9,   4,   9,  10,  13,   8 },
+ {   9,  12,  12,   9,   8,   4,   7,   5,   5,   9,   9,   5,   8,   4,  12 },
+ {  13,  12,  12,  12,   9,  12,  13,   9,   8,  12,   8,   9,  12,  10,  12 },
+ {  12,  13,  12,   9,  10,   7,   5,  13,   8,   7,   1,  10,   9,   3,  13 },
+ {   4,  11,  32,  32,  18,  18,   4,  18,  11,  18,   4,  18,  25,   4,  32 },
+ {   4,   4,  25,  25,  18,   4,  32,   4,   4,  32,  18,  32,  25,  11,   4 },
+ {  18,   4,  11,  18,  11,   4,   4,  11,   4,  25,  11,   4,  11,   4,   4 },
+ {   4,  18,  32,  18,  32,  11,  11,   4,  18,   4,   4,   4,   4,   4,   4 },
+ {  86, 235, 178, 130, 147, 147, 147,  84, 180, 130, 180, 164, 234, 183, 116 },
+ { 148, 235, 164, 169, 218, 251, 205, 185, 100, 117, 138,  82, 160, 144,  82 },
+ {  81,  67, 113, 209,  98, 203,  99, 252, 131,  97, 100, 140, 200, 102, 219 },
+ { 181, 219, 183, 151, 217, 205, 247,  99, 118, 183, 251,  98, 130, 232,  65 },
+ {  64, 154, 163, 179, 131, 180, 148, 251, 101, 209, 132, 100, 131, 100, 165 },
+ { 217, 235, 235, 235, 251, 235, 201, 145, 101, 219, 168, 251, 162,  99,  81 },
+ {  68, 165,  88, 131, 247, 131, 236, 232,  99, 103, 121, 137, 131, 218, 103 },
+ { 149, 185, 231, 218, 216, 116, 135,  66, 219, 197, 117, 115,  82, 196,  67 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 536 564
+ {  25,   0,   0,   0,   0,  35,  35,  35,  25,  18,  19,  27,  12,  28,  36,  33,  27,  28,  36,  21,  29,  37,  27,  36,  37,  37,  30,  30,  38 },
+ {  25,   0,   0,   0,   0,  35,  35,  35,  25,  18,  26,  27,  12,  20,  28,  26,  34,  35,  36,  36,  29,  37,  34,  28,  36,  29,  37,  30,  38 },
+ {  25,   0,   9,   1,   0,   0,   0,   0,  25,   3,  11,  12,  12,   5,  13,  26,  27,  28,  21,  21,  29,  22,  20,  29,  37,  22,  30,  38,  23 },
+ {  25,  17,   1,   0,   0,  35,  35,  35,  25,  18,  11,  27,  20,  28,  36,  33,  27,  28,  36,  21,  29,  37,  27,  28,  37,  45,  30,  22,  38 },
+ {   6,   0,   9,   0,   0,   8,   8,   8,  13,  13,  13,  13,  13,  12,  13,  13,  10,  13,  13,  13,  13,  13,   9,   9,  10,   9,  12,  13,  13 },
+ {   8,   0,   0,   0,   0,   8,   8,   8,  13,  13,  13,  10,  13,  10,  13,  10,  10,  13,  10,  13,  13,  13,  12,  10,  12,  10,  12,  13,  12 },
+ {   9,   8,   0,   0,   0,   0,   0,   0,  13,  12,  13,   9,  13,  13,  13,   9,  10,  10,  10,  13,  13,  13,   9,   9,  10,  13,  13,  13,  12 },
+ {   6,   0,   8,   0,   0,   8,   8,   8,  13,  13,  13,  13,  13,  10,  13,  13,  13,  13,  13,  13,  13,  13,  10,  12,  12,  13,  13,  13,  13 },
+ {   4,   4,  25,   4,   4,  18,  18,  18,  11,   4,  11,   4,   4,   4,   4,   4,   4,  11,   4,   4,   4,   4,  11,  11,  18,  11,  11,  11,   4 },
+ {  25,  25,   4,   4,   4,  18,  18,  18,  18,  18,   4,  11,  18,   4,   4,  18,  11,  25,  11,  18,  18,  11,  25,  25,  32,  25,  32,  32,   4 },
+ {  11,   4,  32,  25,   4,   4,   4,   4,  11,  11,   4,   4,  11,  18,   4,   4,   4,   4,   4,   4,   4,   4,   4,  11,  11,  18,  18,  18,   4 },
+ {  11,  32,   4,   4,   4,  18,  18,  18,  18,  11,  11,  11,  11,   4,   4,  18,  25,  25,  18,  18,  11,  11,  18,  25,  32,  32,  32,  32,  11 },
+ {  97, 116, 234, 116, 116, 119, 119, 119,  66, 102,  73,  85,  85,  73, 233, 106, 100,  83,  88, 212, 118, 233, 131, 100,  99, 115, 115,  99, 212 },
+ { 219, 116,  81, 116, 116, 119, 119, 119, 234, 234, 234, 200, 201, 219,  88, 101, 250, 234, 218, 170, 234,  83, 105, 148, 250, 120, 232, 234,  85 },
+ {  82, 116, 116, 116, 116, 119, 119, 119,  65,  83, 106,  90,  85,  90, 182,  82, 100, 100,  99, 101, 100, 131, 145,  98, 145, 102,  99,  99, 132 },
+ { 252, 116, 116, 116, 116, 119, 119, 119, 217, 233, 215, 250, 184, 234, 104, 186, 200, 234, 250, 218, 234, 135, 165, 218, 234, 183, 235, 234, 139 },
+ {  82, 201, 116, 116, 116, 116, 116, 116,  67,  68, 115,  84, 105,  83, 101,  85, 100,  86,  90, 132, 100, 101,  89,  99,  99,  99, 100,  85, 101 },
+ { 185, 186, 236, 116, 116, 116, 116, 116, 185, 235, 218, 251, 233, 234, 122, 153, 234, 250, 250, 234, 234, 234, 135, 251, 250, 234, 184, 234, 235 },
+ {  97, 116, 170, 116, 116, 116, 116, 116,  67,  84, 130,  86,  83,  87, 229,  84,  90,  90,  89, 117, 100, 137,  90,  90,  84,  90,  98, 130, 131 },
+ { 166, 116, 187, 116, 116, 116, 116, 116, 186, 233, 234, 234, 168, 250,  90, 119, 234, 234, 234, 202, 234,  83, 116, 131, 234, 234, 184,  97, 133 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 565 579
+ {  17,  33,  11,  27,  59,   6,  60,  14,  26,  36,  29,  53,  46,  15,  46 },
+ {  25,  25,  11,  11,   5,  21,  52,  14,  18,  20,  29,  22,  54,  61,  31 },
+ {  40,  33,  19,  12,  20,   5,  21,  37,  20,  29,  37,  22,  30,  30,  38 },
+ {  17,  33,  11,  12,  59,   5,  45,  30,  26,  36,  29,  53,  46,  30,  31 },
+ {   8,   8,   8,   6,   4,   4,   2,  12,   8,   8,   4,   8,   4,   8,   0 },
+ {  12,   8,   4,   6,   6,   4,   8,   8,   8,   8,   2,   4,   3,   5,  13 },
+ {  12,  12,  12,   9,  13,  13,   8,  12,   9,  12,   4,   9,  13,  10,   9 },
+ {   9,  10,   8,   8,  13,  10,   4,  13,  10,  13,   8,   5,  10,  13,   8 },
+ {   4,   4,  18,  18,  25,  25,  11,  18,   4,  18,   4,  32,   4,  32,  25 },
+ {   4,  18,  18,  11,   4,   4,  32,  11,  11,  18,   4,  18,  25,   4,   4 },
+ {  11,  11,  25,  11,  18,  32,  18,   4,  11,  32,   4,  18,  18,   4,   4 },
+ {   4,   4,  11,  11,  32,  32,   4,   4,  18,  32,   4,   4,  25,  32,  32 },
+ { 201,  86,  84, 210, 119, 245, 147, 184,  83, 226, 109, 105, 245,  98, 252 },
+ { 116, 133, 234, 181, 147, 221, 236,  85, 235, 251, 237, 152, 155, 216, 116 },
+ { 129,  82, 131, 178, 146, 100,  98, 119,  83,  98, 244, 202, 130, 194, 132 },
+ { 217, 245, 202, 251, 251, 253, 218,  82, 248, 250, 168, 120, 184, 201,  64 },
+ { 219,  67,  71,  83,  99, 129, 101, 120,  83,  82, 117, 131, 129, 178, 152 },
+ { 179, 152, 235, 251, 167, 233, 252,  68, 251, 235, 189, 169, 218,  99,  81 },
+ { 201,  85,  88,  83, 218, 232, 101, 165,  82,  81, 227, 244, 201, 129, 213 },
+ { 106, 106, 235, 204, 114, 229, 103, 160, 249, 234, 236, 115, 234, 195,  82 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 580 608
+ {  58,  35,  35,  35,  35,  35,  35,  35,  18,  26,  11,  19,  19,  12,  20,  26,  19,  35,  35,  28,  36,  29,  28,  36,  29,  29,  22,  22,  30 },
+ {  57,  35,  35,  35,  35,  35,  35,  35,  18,  18,  26,  34,  27,  42,  12,  26,  19,  27,  20,  28,  28,  29,  27,  36,  36,  44,  37,  37,  38 },
+ {  26,  35,  35,  35,  35,  35,  35,  35,  41,  26,  26,  11,   4,   4,  20,  11,  19,  12,  20,  28,  13,  29,  35,  36,  29,  29,  22,  22,  30 },
+ {  57,  35,   0,  35,  35,  35,  35,  35,  18,  26,  11,  19,  19,  27,  20,  26,  19,  35,  35,  13,  21,  29,  43,  36,  29,  29,  22,  22,  30 },
+ {  13,   8,   8,   8,   8,   8,   8,   8,  13,  13,  13,  13,  12,  13,  13,  12,  13,  13,  12,  13,  13,  13,   3,  10,   9,  12,  12,  13,  12 },
+ {   0,   8,   8,   8,   8,   8,   8,   8,   8,  13,  13,  13,  13,  13,  13,  13,  13,  10,  13,  13,  13,  13,   3,   9,   9,  13,  13,  13,  13 },
+ {   0,   8,   8,   8,   8,   8,   8,   8,  12,  12,  12,  13,  12,  13,  13,  10,  13,  13,  13,  13,  13,  13,   9,  10,  10,   9,  13,  13,  13 },
+ {  12,   8,   0,   8,   8,   8,   8,   8,  12,  12,  13,  13,  13,  13,  13,  13,  12,  13,  12,  13,  13,  13,   9,  13,  13,  13,  13,  13,  12 },
+ {  25,  18,  18,  18,  18,  18,  18,  18,  18,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,  11,   4,   4,   4,   4,   4,  18,  11,  18,   4 },
+ {  18,  18,  18,  18,  18,  18,  18,  18,  18,  11,   4,  11,   4,   4,   4,   4,   4,   4,  18,  11,  18,   4,   4,  11,  18,  25,  25,  25,  11 },
+ {   4,  18,  18,  18,  18,  18,  18,  18,  25,  18,  11,  18,  11,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,  11,  11,  11 },
+ {  11,  18,   4,  18,  18,  18,  18,  18,  18,   4,  11,   4,  11,   4,   4,   4,   4,  11,  11,  11,  18,  11,  11,  18,  25,  32,  32,  18,   4 },
+ {  64, 119, 119, 119, 119, 119, 119, 119,  65,  68,  85, 117, 231, 136, 201, 167, 201, 103, 235, 234, 234, 234, 117, 118, 148, 186, 180, 138, 235 },
+ { 234, 119, 119, 119, 119, 119, 119, 119, 200, 233, 233, 234, 235, 234, 199,  88, 101, 218, 107, 231, 218, 131, 153, 148, 251, 107, 219, 202,  84 },
+ { 187, 119, 119, 119, 119, 119, 119, 119,  83,  67, 185, 218, 226, 234, 215, 121, 118, 150, 103, 153, 217, 233, 138, 107, 133, 180, 115, 118, 195 },
+ { 135, 119, 119, 119, 119, 119, 119, 119, 252, 234, 217, 232, 234, 202, 234, 179, 118, 201, 234, 218, 233, 234, 120, 251, 248, 200, 234, 234, 234 },
+ { 254, 119, 119, 119, 119, 119, 119, 119, 136, 148, 235, 234,  85, 103, 202,  87, 233, 164, 234, 218, 170, 234, 122, 150, 148, 218, 117, 197, 234 },
+ { 126, 119, 119, 119, 119, 119, 119, 119, 195, 219, 118, 201, 235, 234, 218, 149, 102, 234, 234, 234, 234, 119, 100, 116, 202, 103, 234, 234,  82 },
+ { 152, 119, 116, 119, 119, 119, 116, 119,  67,  68, 130, 147, 230, 234, 233, 137, 118, 162, 203, 211, 102, 218,  88, 102, 106, 131, 117, 138, 198 },
+ { 132, 119, 116, 119, 119, 119, 116, 119, 216, 155, 233, 186, 218, 234, 170,  90, 165, 234, 187, 234, 234, 120, 216, 152, 234, 233, 233, 234,  86 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 609 623
+ {  56,  10,  11,  34,  27,  11,  35,  13,  41,  34,   4,  20,  13,  36,  22 },
+ {   3,  57,  10,   3,  19,   3,  27,  44,  10,  11,  43,  34,  21,  21,  37 },
+ {  11,  18,  11,  11,  35,  20,   5,  21,  20,  13,  21,  29,  14,  22,  30 },
+ {  17,  18,  26,   3,  19,   4,  20,   5,  18,  11,  27,  20,   5,  44,  14 },
+ {   0,   3,  13,  13,  13,   4,  12,   7,   6,  12,  13,  13,  13,  10,  13 },
+ {   0,  13,   9,  12,  13,  13,   3,  10,  13,   8,  13,  13,  13,  13,  13 },
+ {  13,  12,  13,   7,  13,  13,  13,  12,  10,  13,  12,  13,  13,  10,  13 },
+ {  13,  13,  13,  12,  10,   2,  13,  12,   8,   7,  13,  13,  13,  12,  13 },
+ {  18,   4,  32,  18,  11,   4,   4,  32,   4,  32,   4,   4,   4,  11,   4 },
+ {  32,  18,  18,  32,   4,   4,   4,  25,   4,   4,  11,   4,   4,   4,   4 },
+ {  32,  11,  11,   4,   4,  18,  25,   4,  11,  18,   4,  18,  18,   4,  11 },
+ {   4,  18,   4,  11,  32,  11,   4,  25,   4,   4,  18,  11,   4,  25,  25 },
+ { 233, 168,  81,  72, 209, 172, 186, 231, 105, 150, 118, 179, 169, 250, 115 },
+ { 148, 163, 231, 198, 218, 102, 216, 209, 131, 235, 218, 234, 234, 249, 202 },
+ { 116, 149,  97, 167,  73, 234, 193, 250, 199, 130, 199, 233, 146, 167, 185 },
+ { 116, 184, 251, 234, 234, 153, 218,  86, 183, 202, 234, 200, 201, 218, 136 },
+ { 103, 116, 226, 217, 218, 163,  86, 203, 114, 179, 235, 202, 117, 210, 234 },
+ { 193, 195, 103, 101, 216, 131, 234,  91, 250, 202, 179, 226, 101, 250, 113 },
+ { 163,  97, 154, 185, 178, 194, 149, 233,  83, 100, 170, 199, 234, 219, 218 },
+ { 218, 166, 120, 195, 213, 234, 182,  88, 252, 200, 233, 234, 234, 200, 233 },
+  }),
+};
+#else
+const CtxSet ContextSetCfg::GtxFlagL[4] = {
+  ContextSetCfg::addCtxSet({
+    { 17, 0, 0, 0, 0, 0, 0, 17, 25, 25, 26, 9, 25, 18, 26, 12, 18, 26, 12, 20, 37 },
+    { 1, 0, 0, 0, 0, 35, 0, 9, 25, 25, 18, 9, 25, 33, 26, 20, 18, 26, 12, 20, 22 },
+    { 1, 0, 0, 0, 0, 0, 1, 17, 17, 25, 18, 17, 25, 18, 26, 12, 33, 19, 20, 28, 14 },
+	{ 17, 0, 0, 0, 0, 0, 0, 17, 25, 25, 26, 9, 25, 18, 26, 12, 18, 26, 12, 20, 37 },
+    { 4, 0, 0, 0, 0, 0, 12, 9, 13, 13, 6, 12, 10, 9, 9, 6, 9, 8, 5, 8, 9 },
+    { 4, 0, 0, 0, 0, 8, 13, 12, 13, 13, 5, 13, 10, 9, 10, 9, 9, 4, 8, 8, 9 },
+    { 4, 0, 0, 0, 0, 0, 12, 8, 12, 13, 6, 9, 10, 9, 10, 9, 6, 9, 10, 10, 9 },
+	{ 4, 0, 0, 0, 0, 0, 12, 9, 13, 13, 6, 12, 10, 9, 9, 6, 9, 8, 5, 8, 9 },
+    { 18, 25, 25, 25, 4, 4, 11, 11, 18, 11, 11, 4, 4, 11, 4, 4, 18, 25, 11, 11, 4 },
+    { 4, 25, 25, 25, 4, 18, 18, 4, 11, 25, 4, 4, 4, 4, 11, 4, 18, 4, 25, 18, 4 },
+    { 4, 25, 25, 25, 4, 4, 25, 4, 4, 18, 4, 4, 4, 4, 4, 4, 4, 18, 18, 18, 4 },
+	{ 18, 25, 25, 25, 4, 4, 11, 11, 18, 11, 11, 4, 4, 11, 4, 4, 18, 25, 11, 11, 4 },
+    { 99, 116, 116, 116, 116, 116, 66, 81, 65, 147, 100, 87, 121, 148, 132, 122, 118, 252, 155, 220, 118 },
+    { 149, 116, 116, 116, 116, 116, 181, 215, 184, 103, 133, 132, 105, 118, 103, 104, 104, 100, 101, 86, 122 },
+    { 99, 116, 116, 116, 116, 119, 66, 68, 66, 83, 100, 103, 138, 235, 242, 100, 235, 253, 252, 252, 123 },
+    { 168, 116, 116, 116, 116, 119, 135, 151, 234, 234, 121, 103, 106, 132, 134, 100, 100, 101, 101, 115, 101 },
+    { 99, 116, 116, 116, 116, 116, 65, 83, 99, 89, 123, 82, 90, 102, 194, 147, 107, 117, 103, 104, 118 },
+    { 171, 116, 116, 116, 116, 116, 154, 156, 229, 117, 116, 149, 122, 136, 133, 102, 119, 116, 122, 121, 117 },
+	{ 99, 116, 116, 116, 116, 116, 66, 81, 65, 147, 100, 87, 121, 148, 132, 122, 118, 252, 155, 220, 118 },
+    { 149, 116, 116, 116, 116, 116, 181, 215, 184, 103, 133, 132, 105, 118, 103, 104, 104, 100, 101, 86, 122 },
+  }),
+  ContextSetCfg::addCtxSet({
+    { 17, 9, 25, 25, 41, 4, 17, 33, 34, 36, 45 },
+    { 1, 1, 17, 10, 18, 4, 17, 33, 19, 43, 14 },
+    { 0, 1, 25, 33, 18, 19, 18, 19, 20, 28, 14 },
+	{ 17, 9, 25, 25, 41, 4, 17, 33, 34, 36, 45 },
+    { 4, 9, 12, 8, 9, 4, 5, 5, 10, 6, 12 },
+    { 5, 9, 12, 8, 12, 5, 5, 10, 5, 3, 7 },
+    { 13, 12, 12, 8, 10, 5, 5, 5, 9, 8, 8 },
+	{ 4, 9, 12, 8, 9, 4, 5, 5, 10, 6, 12 },
+    { 25, 18, 25, 18, 25, 11, 4, 4, 18, 11, 25 },
+    { 4, 11, 25, 25, 25, 4, 4, 18, 11, 4, 4 },
+    { 4, 25, 25, 18, 18, 4, 4, 4, 25, 18, 4 },
+	{ 25, 18, 25, 18, 25, 11, 4, 4, 18, 11, 25 },
+    { 99, 82, 65, 150, 226, 116, 98, 99, 210, 100, 115 },
+    { 122, 148, 232, 107, 155, 103, 134, 124, 250, 203, 234 },
+    { 98, 83, 81, 82, 225, 132, 98, 85, 100, 116, 119 },
+    { 252, 120, 120, 234, 164, 101, 185, 137, 203, 138, 129 },
+    { 183, 66, 65, 102, 98, 122, 99, 101, 114, 101, 116 },
+    { 122, 148, 154, 120, 150, 103, 119, 119, 155, 120, 200 },
+	{ 99, 82, 65, 150, 226, 116, 98, 99, 210, 100, 115 },
+    { 122, 148, 232, 107, 155, 103, 134, 124, 250, 203, 234 },
+  }),
+  ContextSetCfg::addCtxSet({
+    { 9, 17, 2, 10, 19, 0, 25, 34, 27, 28, 29, 26, 20, 36, 29, 22, 35, 29, 37, 45, 38 },
+    { 1, 1, 17, 0, 20, 0, 25, 34, 27, 28, 29, 19, 28, 36, 29, 22, 20, 36, 30, 45, 38 },
+    { 25, 0, 25, 33, 2, 2, 25, 11, 27, 20, 21, 26, 20, 36, 21, 22, 28, 29, 45, 30, 23 },
+	{ 9, 17, 2, 10, 19, 0, 25, 34, 27, 28, 29, 26, 20, 36, 29, 22, 35, 29, 37, 45, 38 },
+    { 9, 4, 7, 2, 0, 0, 13, 13, 13, 13, 10, 13, 10, 13, 10, 10, 6, 9, 9, 12, 13 },
+    { 9, 4, 7, 13, 0, 0, 13, 13, 13, 12, 13, 13, 10, 13, 10, 10, 9, 8, 9, 8, 13 },
+    { 9, 12, 10, 13, 13, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 9, 10, 10, 10, 13 },
+	{ 9, 4, 7, 2, 0, 0, 13, 13, 13, 13, 10, 13, 10, 13, 10, 10, 6, 9, 9, 12, 13 },
+    { 4, 11, 25, 25, 25, 4, 4, 11, 11, 11, 4, 18, 4, 11, 4, 4, 18, 11, 11, 11, 11 },
+    { 4, 11, 25, 25, 4, 4, 4, 4, 11, 18, 18, 18, 4, 4, 4, 4, 25, 18, 4, 4, 11 },
+    { 18, 4, 25, 11, 4, 25, 11, 11, 4, 4, 4, 18, 11, 11, 4, 4, 11, 11, 11, 4, 4 },
+	{ 4, 11, 25, 25, 25, 4, 4, 11, 11, 11, 4, 18, 4, 11, 4, 4, 18, 11, 11, 11, 11 },
+    { 84, 99, 97, 114, 116, 116, 105, 106, 152, 90, 99, 234, 250, 197, 163, 133, 155, 245, 154, 166, 169 },
+    { 148, 253, 208, 220, 116, 116, 200, 234, 197, 217, 234, 201, 149, 234, 250, 103, 107, 100, 85, 115, 70 },
+    { 87, 99, 103, 64, 116, 116, 105, 102, 131, 90, 87, 234, 250, 182, 136, 122, 250, 235, 214, 202, 153 },
+    { 180, 136, 216, 185, 116, 116, 234, 234, 234, 235, 234, 234, 234, 216, 186, 106, 99, 89, 115, 87, 72 },
+    { 82, 97, 80, 215, 122, 116, 90, 117, 148, 227, 131, 234, 213, 227, 196, 106, 131, 117, 115, 116, 117 },
+    { 137, 198, 217, 201, 168, 116, 234, 233, 197, 202, 234, 234, 234, 234, 202, 154, 117, 120, 234, 234, 185 },
+	{ 84, 99, 97, 114, 116, 116, 105, 106, 152, 90, 99, 234, 250, 197, 163, 133, 155, 245, 154, 166, 169 },
+    { 148, 253, 208, 220, 116, 116, 200, 234, 197, 217, 234, 201, 149, 234, 250, 103, 107, 100, 85, 115, 70 },
+  }),
+  ContextSetCfg::addCtxSet({
+    { 9, 18, 27, 36, 13, 37, 43, 45, 53, 46, 46 },
+    { 9, 25, 27, 20, 13, 14, 20, 22, 30, 30, 23 },
+    { 40, 33, 27, 20, 13, 29, 36, 37, 45, 30, 46 },
+	{ 9, 18, 27, 36, 13, 37, 43, 45, 53, 46, 46 },
+    { 9, 12, 12, 8, 12, 8, 9, 8, 5, 10, 9 },
+    { 12, 13, 12, 8, 5, 13, 5, 9, 4, 0, 13 },
+    { 13, 13, 12, 12, 9, 10, 8, 12, 8, 12, 13 },
+	{ 9, 12, 12, 8, 12, 8, 9, 8, 5, 10, 9 },
+    { 4, 18, 25, 18, 25, 25, 25, 11, 11, 18, 18 },
+    { 4, 18, 25, 25, 25, 18, 11, 25, 18, 4, 18 },
+    { 25, 11, 11, 25, 11, 11, 4, 25, 4, 25, 18 },
+	{ 4, 18, 25, 18, 25, 25, 25, 11, 11, 18, 18 },
+    { 103, 83, 131, 147, 210, 211, 117, 243, 119, 178, 212 },
+    { 132, 134, 148, 252, 186, 108, 115, 252, 115, 250, 81 },
+    { 87, 228, 225, 114, 146, 101, 135, 225, 148, 136, 231 },
+    { 148, 151, 235, 251, 220, 150, 116, 181, 107, 132, 210 },
+    { 64, 211, 179, 131, 100, 137, 102, 130, 148, 162, 120 },
+    { 134, 234, 235, 138, 251, 100, 108, 235, 103, 182, 104 },
+	{ 103, 83, 131, 147, 210, 211, 117, 243, 119, 178, 212 },
+    { 132, 134, 148, 252, 186, 108, 115, 252, 115, 250, 81 },
+  }),
+};
+#endif
+
+#if JVET_AG0100_TRANSFORM_COEFFICIENT_CODING
+const CtxSet ContextSetCfg::SigFlag[] =
+{
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 624 641
+ {  17,  41,  27,  44,  37,  30,   9,  42,  43,  37,  45,  30,  33,  59,  51,  45,  30,  38 },
+ {  17,  41,  42,  28,  37,  30,  40,  49,  35,  29,  45,  30,  33,  59,  51,  22,  30,  38 },
+ {  25,  19,  20,  14,  22,  30,  18,  28,  29,  30,  30,  38,  26,  45,  30,  38,  38,  38 },
+ {  17,  41,  42,  36,  37,  30,   9,  42,  43,  37,  45,  30,  33,  59,  51,  45,  30,  38 },
+ {  13,   9,   9,   9,  10,  10,   9,   9,  10,  10,  10,   9,   8,   9,   9,   9,  10,   9 },
+ {  13,   9,   9,  10,  10,  13,   9,  10,  10,  10,  10,  13,   8,   9,   9,   9,  10,  10 },
+ {  13,   9,   9,  10,  13,  10,   9,   9,   9,  13,  13,  13,   8,   9,  10,  10,  10,   9 },
+ {  13,   9,   9,  10,  10,  10,   9,  10,  10,  10,  10,  10,   8,   9,   9,   9,  10,   9 },
+ {   4,   4,  18,   4,   4,   4,  11,  11,  18,   4,   4,   4,  11,  18,  18,   4,  11,   4 },
+ {   4,   4,  18,  18,   4,  18,  18,  18,  18,   4,   4,  11,  18,  18,  18,   4,   4,  11 },
+ {  11,  11,  18,   4,   4,   4,  18,   4,   4,  11,   4,   4,  11,  18,  11,   4,   4,   4 },
+ {   4,   4,  18,  11,   4,   4,  11,  18,  18,   4,   4,   4,  11,  18,  18,   4,   4,   4 },
+ {  82, 123, 118, 116, 250, 249, 137, 163, 117, 115, 136, 250, 117, 131, 116, 116, 151, 251 },
+ { 121, 148, 116, 119,  99,  83, 211, 243, 115, 250, 103,  83, 196, 121, 117, 136,  90,  82 },
+ {  67, 116, 116, 116, 169, 120, 106, 105, 114, 106, 134, 122, 106, 131, 116, 107, 134, 167 },
+ { 150, 244, 117, 122, 102,  87, 123, 117, 116, 137, 104,  71, 118, 123, 118, 122, 114,  82 },
+ {  98, 117, 118, 115, 118, 153,  89, 195, 243, 101, 137, 199, 116, 116, 162, 118, 135, 251 },
+ { 148, 133, 117, 154, 105,  90, 122, 120, 122, 234,  89,  68, 118, 118, 244, 122,  90,  82 },
+ {  67, 105, 116, 146, 135, 250, 101, 106, 103, 102, 135, 202, 104, 131, 116, 103, 213, 251 },
+ { 197, 133, 117, 163, 103,  88, 117, 120, 116, 249, 104,  83, 118, 123, 119, 136,  87,  83 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 642 653
+ {  25,  27,  43,  44,  45,  38,  33,  45,  45,  30,  38,  31 },
+ {  18,  19,  28,  14,  22,  15,  26,  45,  37,  14,  15,  54 },
+ {  25,  35,  28,  29,  37,  30,  26,  53,  53,  46,  46,  46 },
+ {  25,  35,  51,  52,  45,  30,  41,  45,  45,  30,  46,  31 },
+ {  12,  13,   9,  13,  13,  13,   4,   1,   8,   5,   8,  12 },
+ {  12,  13,  13,  13,  13,  13,   5,   4,   8,   9,  13,   8 },
+ {  12,  12,   9,   9,  12,   9,   4,   5,   8,   8,   8,   8 },
+ {  12,   8,   8,   9,  13,  13,   4,   1,   8,   4,   8,  12 },
+ {  18,  18,  11,  18,  18,  11,  11,   4,  18,   4,  32,  32 },
+ {  11,  11,  11,  11,  18,  11,   4,   4,  11,  18,  32,  32 },
+ {  18,  18,  11,   4,  11,   4,   4,   4,  11,  11,   4,   4 },
+ {  18,   4,   4,   4,  18,   4,   4,   4,  18,   4,  18,  11 },
+ {  68,  98, 147, 122, 234, 215, 116, 148, 100, 147, 108, 186 },
+ { 118, 131, 118, 100,  82,  67, 118, 123, 137, 235, 242,  65 },
+ {  66, 115, 163, 149, 217, 153, 115, 196, 116, 117, 193, 105 },
+ { 213, 132, 132, 162,  83,  89, 120, 109, 149, 118, 128,  82 },
+ { 114, 101, 116, 103, 196, 118, 100, 132, 211, 116, 180, 252 },
+ { 103, 164, 123, 152, 101, 185, 125, 105, 251, 236, 170,  82 },
+ {  67,  90, 116, 211, 234, 200, 101, 118, 131, 101, 117,  85 },
+ { 117, 181, 150, 134,  89,  67, 118, 125, 165, 108, 107, 215 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 654 671
+ {  26,  45,  53,  46,  46,  46,  26,  54,  61,  39,  39,  39,  33,  39,  39,  39,  39,  39 },
+ {  26,  38,  38,  46,  46,  46,  48,  54,  54,  39,  39,  39,  33,  39,  39,  39,  39,  39 },
+ {  26,  38,  46,  54,  54,  54,  18,  39,  39,  39,  39,  39,  28,  39,  39,  39,  39,  39 },
+ {  26,  45,  53,  46,  46,  46,  26,  54,  61,  39,  39,  39,  49,  39,  39,  39,  39,  39 },
+ {   8,  13,  12,   8,   8,   8,   8,   8,   8,   4,   0,   4,   0,   0,   0,   0,   0,   0 },
+ {   9,  13,  13,   8,   8,   8,   8,   8,   8,   4,   4,   4,   0,   0,   0,   0,   0,   0 },
+ {  12,  13,  12,   8,   8,   8,   8,   4,   0,   0,   0,   0,   4,   0,   0,   0,   0,   0 },
+ {   9,  13,  12,   8,   8,   8,   8,   8,   8,   4,   4,   1,   0,   0,   0,   0,   0,   0 },
+ {   4,   4,  18,  18,  18,  18,  18,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32 },
+ {   4,  11,  25,  11,  11,  18,  18,  25,  32,  32,  25,  32,  32,  32,  32,  32,  32,  32 },
+ {  18,   4,  18,   4,   4,   4,  18,  32,  25,  25,  32,  25,  32,  32,  32,  32,  32,  32 },
+ {   4,   4,  18,  18,  18,  18,  18,  32,  25,  32,  32,  18,  32,  32,  32,  32,  32,  32 },
+ { 108, 234, 218, 252, 252, 252, 131, 252, 252, 173, 254, 251, 116, 253, 116, 116, 252, 238 },
+ { 123, 234, 123,  84,  82,  82, 103, 210,  82,  99, 116, 102, 132, 116, 116, 116, 116, 116 },
+ { 118, 234, 232, 252, 219, 218, 227, 246, 251, 167, 236, 234, 116, 237, 116, 235, 238, 235 },
+ { 123, 234, 152,  85,  98,  82, 108, 180, 226,  99,  99,  99, 148, 116, 116, 116, 116, 116 },
+ { 118, 234, 235, 252, 252, 219, 101, 253, 254, 254, 202, 254, 115, 254, 254, 253, 251, 254 },
+ { 118, 218, 122,  85,  83,  82, 105, 115, 116, 116, 116, 116, 147, 116, 116, 116, 116, 116 },
+ { 243, 234, 235, 234, 252, 171, 103, 252, 250, 247, 253, 180, 116, 237, 116, 134, 116, 253 },
+ { 123, 234, 151,  85,  82,  82, 108, 195, 146,  99,  99, 115, 132, 116, 116, 116, 116, 116 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 672 683
+ {  25,  30,  38,  31,  31,  31,   3,  39,  39,  39,  39,  39 },
+ {  26,  38,  53,  54,  54,  62,  20,  39,  39,  39,  39,  39 },
+ {  18,  46,  38,  39,  39,  39,  59,  39,  39,  39,  39,  39 },
+ {  25,  30,  38,  31,  31,  62,   4,  39,  39,  39,  39,  39 },
+ {   8,  12,  12,   8,   8,   8,   0,   0,   0,   0,   0,   0 },
+ {   8,  12,  12,   8,   1,  12,   0,   0,   0,   0,   0,  13 },
+ {   8,  12,  12,   4,   4,   4,   0,   0,   0,   0,   0,   0 },
+ {   8,  12,  13,   5,  13,   2,   0,   0,   0,   0,   0,   0 },
+ {  18,  11,  11,  11,  11,  32,  32,  32,  32,  32,  32,  32 },
+ {  11,   4,  25,  32,  11,   4,  32,  32,  32,  32,  32,  32 },
+ {  18,  11,  18,   4,  25,  32,  32,  32,  32,  32,  32,  32 },
+ {  25,  11,  18,   4,  32,  18,  32,  32,  32,  32,  32,  32 },
+ { 100, 235, 219, 219, 166, 220, 116, 254, 187, 238, 238, 116 },
+ { 118, 133, 194,  83,  83,  82, 117, 116, 116, 116, 116, 116 },
+ { 131, 219, 219, 182, 228, 219, 116, 253, 237, 235, 116, 199 },
+ { 106, 171,  75,  85, 115,  65, 132, 116, 116, 116, 116,  64 },
+ { 115, 235, 235, 138, 133, 252, 116, 253, 254, 253, 252, 150 },
+ { 117, 200, 145,  99,  99, 179, 228, 116, 116, 116, 116, 116 },
+ {  99, 122, 147, 252, 199, 231, 116, 254, 235, 253, 235, 235 },
+ { 117, 152, 152, 164,  65, 114, 136, 116, 116, 116, 116, 116 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 684 701
+ {  26,  62,  39,  39,  39,  39,  34,  39,  39,  39,  39,  39,   0,  39,  39,  39,  39,  39 },
+ {  19,  39,  54,  39,  39,  39,  19,  39,  39,  39,  39,  39,   0,  39,  39,  39,  39,  39 },
+ {  18,  39,  39,  39,  39,  39,  11,  39,  39,  39,  39,  39,   0,  39,  39,  39,  39,  39 },
+ {  26,  62,  39,  39,  39,  39,  34,  39,  39,  39,  39,  39,   0,  39,  39,  39,  39,  39 },
+ {   8,   8,   8,  12,  12,  13,   8,   4,   4,   1,   0,   0,   0,   0,   0,   0,   0,   0 },
+ {   8,   8,   8,  12,  13,  12,   8,   4,   4,   0,   0,   4,   0,   0,   0,   0,   0,   0 },
+ {   8,   8,  12,  12,  12,  12,   8,   0,   0,   0,   0,   4,   0,   0,   0,   0,   0,   0 },
+ {   8,   8,   8,  12,  12,  13,   8,   4,   4,   4,   0,   0,   0,   0,   0,   0,   0,   0 },
+ {  18,  32,  25,  32,  32,  25,  25,  32,  32,  32,  32,  25,  32,  32,  32,  32,  32,  32 },
+ {  18,  25,  32,  25,  25,  32,  18,  32,  32,  32,  25,  32,  32,  32,  32,  32,  32,  32 },
+ {  18,  25,  25,  25,  25,  25,  18,  32,  32,  32,  32,  25,  32,  32,  32,  32,  32,  32 },
+ {  18,  32,  32,  32,  25,  32,  18,  25,  32,  32,  25,  32,  25,  32,  32,  32,  32,  32 },
+ { 116, 252, 252, 235, 235, 234, 101, 252, 203, 253, 254, 253, 116, 116, 116, 235, 116, 116 },
+ { 119,  82,  82,  65,  65,  66, 117,  99,  99, 115, 116, 116, 253, 116, 116, 116, 116, 116 },
+ { 121, 252, 252, 235, 211, 235, 147, 253, 200, 251, 254, 251, 116, 237, 116, 116, 116, 235 },
+ { 120,  98,  82,  65,  80,  65, 117,  99,  99, 116, 116,  99, 252, 116, 116, 116, 116, 116 },
+ { 135, 252, 235, 235, 235, 234, 131, 253, 236, 238, 254, 235, 116, 238, 251, 252, 253, 253 },
+ { 117,  82,  65,  70,  72,  73, 117, 116, 116, 116, 116,  99, 254, 116, 116, 116, 116, 116 },
+ { 118, 252, 252, 235, 235, 215, 131, 205, 252, 246, 253, 254, 116, 116, 116, 238, 253, 235 },
+ { 120,  82,  82,  65,  65,  65, 117,  99,  99,  99, 116, 116, 253, 116, 116, 116, 116, 116 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 702 713
+ {  25,  38,  54,  39,  39,  39,  10,  39,  39,  39,  39,  39 },
+ {  26,  38,  54,  62,  62,  39,  10,  39,  39,  39,  39,  39 },
+ {  18,  39,  39,  39,  39,  39,   2,  39,  39,  39,  39,  39 },
+ {  18,  38,  54,  39,  39,  62,  10,  39,  39,  39,  39,  39 },
+ {   8,  12,  12,  12,   8,  12,   0,   0,   0,   0,   0,   0 },
+ {   8,  12,  12,   9,   5,   4,   0,   0,   0,   0,   0,   0 },
+ {   8,   8,   8,   4,   0,   0,   0,   0,   0,   0,   0,   0 },
+ {   4,  12,  12,  12,   8,   8,   0,   0,   0,   0,   0,   0 },
+ {  18,  25,  25,  18,   4,   4,  25,  32,  32,  32,  32,  25 },
+ {  18,  25,  25,  25,  18,  11,  25,  32,  32,  32,  25,  32 },
+ {  25,  32,  25,  18,  32,  25,  32,  32,  32,  32,  32,  32 },
+ {  18,  18,  11,  11,  32,  18,  25,  32,  32,  32,  32,  32 },
+ {  84, 235, 234, 218, 185, 235, 118, 116, 164, 251, 236, 252 },
+ { 196, 219, 130, 117,  86, 135, 116, 116, 116, 116, 116, 116 },
+ { 114, 219, 218, 251, 252, 253, 116, 237, 238, 116, 116, 116 },
+ { 117, 218,  85, 147,  98, 115, 123, 116, 116, 116, 116, 116 },
+ { 242, 252, 252, 253, 252, 254, 116, 251, 254, 254, 238, 235 },
+ { 116, 164,  82,  99, 116, 117, 153, 116, 116, 116, 116, 116 },
+ { 115, 216, 218, 235, 251, 252, 116, 253, 254, 238, 116, 235 },
+ { 123, 219, 163, 232, 104,  83, 116, 116, 116, 116, 116, 116 },
+  }),
+};
+#else
+const CtxSet ContextSetCfg::SigFlag[6] = {
+  ContextSetCfg::addCtxSet({
+    { 17, 41, 42, 29, 9, 42, 28, 37, 33, 59, 51, 45 },
+    { 17, 41, 42, 29, 25, 42, 43, 37, 33, 59, 51, 30 },
+    { 25, 19, 20, 14, 33, 28, 29, 30, 26, 45, 30, 38 },
+	{ 17, 41, 42, 29, 9, 42, 28, 37, 33, 59, 51, 45 },
+    { 13, 9, 9, 10, 9, 10, 9, 10, 8, 9, 9, 9 },
+    { 13, 9, 9, 10, 9, 10, 10, 10, 8, 9, 9, 9 },
+    { 13, 9, 9, 10, 10, 9, 9, 13, 8, 9, 10, 10 },
+	{ 13, 9, 9, 10, 9, 10, 9, 10, 8, 9, 9, 9 },
+    { 11, 11, 18, 18, 11, 18, 18, 11, 11, 18, 18, 11 },
+    { 11, 11, 18, 18, 18, 18, 18, 11, 11, 18, 18, 4 },
+    { 18, 11, 18, 11, 18, 11, 11, 11, 11, 18, 18, 11 },
+	{ 11, 11, 18, 18, 11, 18, 18, 11, 11, 18, 18, 11 },
+    { 73, 118, 117, 117, 105, 106, 116, 122, 108, 147, 117, 117 },
+    { 134, 228, 117, 119, 117, 121, 117, 116, 212, 119, 118, 103 },
+    { 73, 107, 131, 116, 107, 115, 115, 120, 148, 147, 117, 132 },
+    { 134, 244, 117, 117, 119, 122, 116, 117, 180, 118, 117, 116 },
+    { 89, 117, 117, 147, 99, 116, 179, 118, 164, 131, 115, 133 },
+    { 195, 133, 117, 131, 119, 134, 122, 122, 196, 139, 250, 99 },
+	{ 73, 118, 117, 117, 105, 106, 116, 122, 108, 147, 117, 117 },
+    { 134, 228, 117, 119, 117, 121, 117, 116, 212, 119, 118, 103 },
+  }),
+  ContextSetCfg::addCtxSet({
+    { 25, 27, 43, 37, 33, 60, 60, 38 },
+    { 18, 27, 28, 22, 34, 45, 45, 38 },
+    { 25, 35, 28, 37, 26, 53, 53, 46 },
+	{ 25, 27, 43, 37, 33, 60, 60, 38 },
+    { 8, 13, 9, 12, 5, 4, 8, 8 },
+    { 12, 13, 13, 12, 6, 5, 8, 8 },
+    { 12, 12, 9, 9, 4, 5, 8, 8 },
+	{ 8, 13, 9, 12, 5, 4, 8, 8 },
+    { 4, 25, 11, 18, 18, 11, 18, 18 },
+    { 11, 18, 18, 4, 11, 11, 18, 18 },
+    { 18, 18, 11, 4, 4, 4, 4, 4 },
+	{ 4, 25, 11, 18, 18, 11, 18, 18 },
+    { 89, 101, 116, 122, 131, 148, 211, 117 },
+    { 149, 115, 118, 100, 118, 117, 119, 137 },
+    { 82, 105, 118, 151, 115, 243, 117, 117 },
+    { 118, 120, 117, 103, 122, 108, 121, 236 },
+    { 130, 100, 227, 179, 109, 164, 116, 133 },
+    { 195, 148, 123, 135, 120, 107, 252, 236 },
+	{ 89, 101, 116, 122, 131, 148, 211, 117 },
+    { 149, 115, 118, 100, 118, 117, 119, 137 },
+  }),
+  ContextSetCfg::addCtxSet({
+    { 26, 45, 53, 46, 26, 54, 61, 39, 34, 39, 39, 39 },
+    { 26, 38, 38, 46, 34, 54, 54, 39, 5, 39, 39, 39 },
+    { 26, 38, 46, 54, 26, 39, 39, 39, 20, 39, 39, 39 },
+	{ 26, 45, 53, 46, 26, 54, 61, 39, 34, 39, 39, 39 },
+    { 9, 13, 12, 8, 8, 8, 8, 4, 0, 0, 0, 0 },
+    { 9, 13, 12, 8, 8, 8, 8, 4, 0, 0, 0, 0 },
+    { 9, 13, 12, 8, 8, 4, 4, 0, 4, 0, 0, 0 },
+	{ 9, 13, 12, 8, 8, 8, 8, 4, 0, 0, 0, 0 },
+    { 11, 4, 18, 18, 18, 25, 25, 18, 18, 25, 25, 25 },
+    { 4, 11, 25, 11, 18, 25, 25, 25, 25, 25, 25, 25 },
+    { 11, 4, 18, 4, 18, 18, 25, 18, 25, 25, 25, 25 },
+	{ 11, 4, 18, 18, 18, 25, 25, 18, 18, 25, 25, 25 },
+    { 117, 234, 201, 218, 116, 247, 184, 170, 116, 238, 238, 253 },
+    { 123, 234, 123, 84, 117, 163, 178, 99, 148, 116, 116, 116 },
+    { 132, 234, 234, 236, 116, 246, 170, 198, 116, 237, 237, 237 },
+    { 133, 234, 137, 85, 117, 243, 131, 99, 244, 116, 116, 116 },
+    { 118, 234, 235, 252, 116, 220, 188, 173, 147, 238, 237, 124 },
+    { 123, 234, 228, 85, 117, 196, 99, 116, 243, 116, 116, 116 },
+	{ 117, 234, 201, 218, 116, 247, 184, 170, 116, 238, 238, 253 },
+    { 123, 234, 123, 84, 117, 163, 178, 99, 148, 116, 116, 116 },
+  }),
+  ContextSetCfg::addCtxSet({
+    { 33, 45, 38, 31, 11, 39, 39, 39 },
+    { 26, 38, 53, 54, 29, 39, 39, 39 },
+    { 18, 46, 38, 39, 59, 39, 39, 39 },
+	{ 33, 45, 38, 31, 11, 39, 39, 39 },
+    { 8, 12, 12, 12, 0, 0, 0, 0 },
+    { 8, 12, 12, 8, 0, 0, 0, 0 },
+    { 8, 12, 12, 8, 0, 0, 0, 0 },
+	{ 8, 12, 12, 12, 0, 0, 0, 0 },
+    { 18, 18, 18, 25, 25, 25, 25, 25 },
+    { 11, 4, 18, 4, 25, 25, 25, 25 },
+    { 18, 11, 18, 25, 25, 25, 25, 25 },
+	{ 18, 18, 18, 25, 25, 25, 25, 25 },
+    { 100, 235, 235, 170, 132, 248, 254, 138 },
+    { 117, 187, 179, 85, 135, 116, 132, 116 },
+    { 227, 235, 235, 183, 132, 236, 238, 142 },
+    { 117, 235, 98, 90, 138, 116, 116, 116 },
+    { 132, 235, 235, 216, 116, 254, 253, 157 },
+    { 107, 235, 98, 101, 228, 116, 116, 116 },
+	{ 100, 235, 235, 170, 132, 248, 254, 138 },
+    { 117, 187, 179, 85, 135, 116, 132, 116 },
+  }),
+  ContextSetCfg::addCtxSet({
+    { 26, 54, 39, 39, 26, 39, 39, 39, 0, 39, 39, 39 },
+    { 19, 39, 54, 39, 19, 39, 39, 39, 40, 39, 39, 39 },
+    { 18, 39, 39, 39, 11, 39, 39, 39, 0, 39, 39, 39 },
+	{ 26, 54, 39, 39, 26, 39, 39, 39, 0, 39, 39, 39 },
+    { 8, 8, 8, 12, 8, 4, 4, 4, 0, 0, 0, 0 },
+    { 8, 8, 8, 12, 8, 4, 4, 4, 0, 0, 0, 0 },
+    { 8, 8, 12, 12, 8, 0, 0, 4, 0, 0, 0, 0 },
+	{ 8, 8, 8, 12, 8, 4, 4, 4, 0, 0, 0, 0 },
+    { 18, 25, 25, 25, 18, 25, 25, 25, 25, 25, 25, 25 },
+    { 18, 25, 25, 25, 18, 18, 25, 25, 25, 25, 25, 25 },
+    { 18, 25, 25, 25, 18, 25, 25, 25, 25, 25, 25, 25 },
+	{ 18, 25, 25, 25, 18, 25, 25, 25, 25, 25, 25, 25 },
+    { 117, 252, 252, 235, 116, 253, 153, 246, 116, 116, 116, 124 },
+    { 119, 98, 86, 82, 117, 99, 99, 99, 141, 116, 116, 116 },
+    { 118, 234, 252, 235, 116, 253, 229, 188, 116, 116, 116, 235 },
+    { 121, 98, 92, 82, 117, 99, 99, 99, 197, 116, 116, 116 },
+    { 124, 252, 235, 235, 132, 249, 189, 172, 116, 235, 235, 253 },
+    { 118, 130, 98, 75, 116, 116, 116, 99, 139, 116, 116, 116 },
+	{ 117, 252, 252, 235, 116, 253, 153, 246, 116, 116, 116, 124 },
+    { 119, 98, 86, 82, 117, 99, 99, 99, 141, 116, 116, 116 },
+  }),
+  ContextSetCfg::addCtxSet({
+    { 18, 38, 54, 39, 18, 39, 39, 39 },
+    { 26, 38, 62, 39, 18, 39, 39, 39 },
+    { 26, 39, 39, 39, 18, 39, 39, 39 },
+	{ 18, 38, 54, 39, 18, 39, 39, 39 },
+    { 8, 12, 8, 12, 0, 0, 0, 0 },
+    { 8, 8, 12, 13, 0, 0, 0, 0 },
+    { 8, 8, 8, 4, 0, 0, 0, 0 },
+	{ 8, 12, 8, 12, 0, 0, 0, 0 },
+    { 25, 25, 25, 25, 25, 25, 25, 25 },
+    { 11, 4, 25, 25, 25, 25, 25, 25 },
+    { 25, 25, 25, 11, 25, 25, 25, 25 },
+	{ 25, 25, 25, 25, 25, 25, 25, 25 },
+    { 100, 235, 167, 151, 116, 253, 238, 253 },
+    { 118, 235, 152, 203, 118, 116, 132, 116 },
+    { 242, 252, 185, 180, 116, 212, 213, 252 },
+    { 118, 188, 138, 122, 135, 132, 116, 116 },
+    { 131, 252, 252, 234, 116, 238, 237, 157 },
+    { 116, 246, 99, 100, 158, 116, 132, 116 },
+	{ 100, 235, 167, 151, 116, 253, 238, 253 },
+    { 118, 235, 152, 203, 118, 116, 132, 116 },
+  }),
+};
+#endif
+
+const CtxSet ContextSetCfg::ParFlag[2] = {
+  ContextSetCfg::addCtxSet({
+// ctx 714 734
+ {  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  33,  40,  33,  26,  34,  42,  25,  33,  34,  34,  27,  25,  34,  42,  42,  35,  33,  27,  35,  42,  35 },
+ {   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   8,  12,  13,  13,  13,  13,  13,  13,  13,  13,  13,  12,  13,  13,  13,  13,   9,  13,  13,  12,  13 },
+ {  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {  11,  18,  18,  18,   4,   4,  11,  11,  11,   4,   4,   4,  18,  11,   4,   4,   4,  25,  11,   4,   4 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ {  90,  88,  91,  89, 105, 106,  88, 104,  89, 185, 106, 235, 106, 119, 104, 122, 101, 122, 117, 105, 138 },
+ { 180, 132, 119, 116, 118, 122, 148, 122, 234, 120, 185, 100, 148, 122, 232, 136, 227, 227, 168, 198, 120 },
+  }),
+  ContextSetCfg::addCtxSet({
+// ctx 735 745
+ {  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  33,  33,  26,  34,  42,  27,  33,  34,  35,  27,  35 },
+ {   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   5,  12,  12,  12,  12,  13,  10,   8,  10,   8,  13 },
+ {  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {   4,  25,  18,  11,   4,   4,  11,  25,  18,  11,   4 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 124, 235, 102, 179, 100, 200,  72, 129, 115, 211, 234 },
+ { 196, 117, 119, 106, 246, 104, 138, 232, 153, 252,  87 },
+  }),
+};
+
+#if JVET_AG0100_TRANSFORM_COEFFICIENT_CODING
+const CtxSet ContextSetCfg::GtxFlag[] =
+{
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 746 774
+ {  34,  41,  41,  34,  42,  27,  27,  36,  33,  18,  34,  42,  43,  36,  52,  18,  34,  27,  43,  36,  44,  37,  26,  19,  20,  28,  29,  37,  30 },
+ {  33,  41,  41,  34,   3,  43,  50,  28,  25,  10,  26,  42,  35,  20,  13,  25,  26,  19,  12,  20,  28,  29,  18,  19,  20,  28,  29,  29,  30 },
+ {  27,  33,  26,  34,  19,  27,  35,  36,  10,  26,  19,  27,  20,  28,  29,  11,  27,  20,  28,  21,  21,  22,  27,  28,  21,  44,  22,  22,  38 },
+ {  19,  33,  41,  34,  34,  27,  43,  36,  10,  18,  34,  19,  35,  28,  21,  18,  19,  12,  20,  36,  44,  37,  11,  27,  20,  28,  29,  37,  38 },
+ {   0,   8,   5,  10,   7,   5,   7,   8,  10,  12,  12,  12,   6,  10,   9,  12,   8,   8,   8,   5,   8,   9,   6,   6,   8,   8,   8,  12,  12 },
+ {   2,   6,   4,   7,  10,   7,   7,   3,  13,  12,  13,  10,   7,   7,   7,   9,   8,   8,  12,   9,   9,   8,   6,   7,   8,   8,  10,   9,  13 },
+ {   4,   9,   9,   9,   9,   9,  10,   9,  13,  13,   9,   9,  10,  10,   6,  13,   9,   9,  10,   9,  10,   9,   7,   9,   9,   9,  10,  10,   9 },
+ {   0,   4,   4,  10,   2,   2,   7,   4,  10,  12,  12,  12,   7,  10,   6,  10,   8,   6,  12,   5,   9,   6,   6,   7,   8,   9,   8,  12,  10 },
+ {  11,  18,  18,  25,  11,   4,   4,  25,  18,  18,  11,  18,   4,  11,  11,  18,  11,  18,  18,   4,   4,  11,   4,   4,   4,  11,   4,  25,  11 },
+ {  25,  11,  18,  25,  25,  18,   4,   4,  18,  11,  11,   4,   4,   4,  11,  11,  11,  18,  32,  11,  11,  11,   4,   4,   4,  11,   4,  25,  32 },
+ {  11,   4,   4,   4,   4,   4,   4,  18,  25,  18,   4,   4,   4,  11,   4,  18,  11,   4,  18,   4,  11,   4,   4,  18,   4,  11,  11,   4,   4 },
+ {  18,  11,  11,  25,   4,   4,   4,   4,  18,   4,  18,   4,   4,   4,   4,  11,  11,  11,  25,   4,  11,  18,   4,   4,   4,  18,   4,  25,  11 },
+ { 118, 122, 186, 106, 233, 120, 118, 124, 250, 235, 235, 235, 136, 132, 132, 234, 123, 135, 120, 134, 108, 132, 120, 251, 150, 186, 121, 114, 137 },
+ { 117,  90, 242, 115, 145, 117, 241,  99, 129,  85,  99, 130, 107, 104,  89, 114, 116, 100, 100, 104, 101, 114, 131, 101,  92,  86, 164, 196, 225 },
+ { 124, 215, 137, 228, 178, 178, 132, 147, 234, 233, 215, 234, 122, 116, 132, 184, 106, 120, 107, 105, 120, 118, 123, 218, 149, 140, 162, 210, 118 },
+ { 130, 162, 148, 208,  98, 248, 116, 114, 161,  85, 210,  99, 136, 120, 114, 178, 227, 131, 193, 210,  86,  99, 116, 101, 102,  86, 106, 136,  83 },
+ { 100, 211,  84, 101, 106, 122, 122, 131, 234, 201, 169, 251, 212, 149, 123, 145, 181, 199, 232, 135, 170, 121, 115, 251, 135, 251, 148, 133, 152 },
+ { 118, 131, 117, 107, 103, 101, 100, 115,  98,  99, 102, 115, 114, 106, 107, 116, 131, 100,  99, 131,  90,  90, 118,  89, 115,  83, 100, 114,  83 },
+ { 118, 189, 252, 151, 250, 124, 103, 118, 168, 116,  99, 137, 134, 100, 123, 106, 102, 116, 101, 124, 101, 135, 101, 106, 196, 131, 101, 225, 131 },
+ { 132, 103, 227, 129, 116, 211, 122, 116, 129, 195, 101, 115, 116, 215, 131, 130, 102, 117, 146, 103, 131, 100, 122, 132, 104, 100, 118, 203, 130 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 775 789
+ {  35,  26,  26,  11,  12,  12,  51,  30,  26,  27,  35,  14,  45,  22,  46 },
+ {  35,   2,   3,  18,  28,   5,  59,  13,  25,  26,   4,  12,   6,  14,  22 },
+ {  12,  18,  34,  27,  20,  13,   5,  37,  27,  12,  28,  21,  37,  45,  46 },
+ {   3,  26,   3,   4,  20,  20,  36,  13,  18,  19,  12,  21,  29,  53,  46 },
+ {   3,   8,   7,   2,   2,   0,   4,   4,   3,   5,   2,   5,   3,   1,   0 },
+ {   5,  12,   0,   0,   1,   0,   2,   4,   6,  13,   7,   4,   0,   0,   6 },
+ {   4,  13,   8,   8,   8,   8,   5,  12,   8,  10,  10,   9,  10,  12,  12 },
+ {   2,   5,   5,   4,   0,   0,   0,   5,  12,   3,   4,   4,   0,   0,   4 },
+ {  25,  11,  25,  18,  25,  18,  32,  18,  25,  32,  18,  32,  18,  18,  32 },
+ {  11,  25,  32,  32,  32,  32,  25,  25,  11,  32,  32,  32,  32,  32,  32 },
+ {   4,  32,  18,  11,  18,  18,   4,  25,  11,  18,  11,  11,  11,   4,  11 },
+ {   4,   4,   4,  32,   4,  32,  32,  32,  18,   4,  32,  25,  11,   4,   4 },
+ { 139, 219, 128, 131, 115, 117, 121, 213, 202, 187, 130, 120, 117, 147, 140 },
+ { 113,  86, 113, 115, 116, 116,  99, 101, 129, 130, 124,  98, 113, 116, 116 },
+ { 235,  89, 132, 148, 131, 116, 210, 244, 250, 234, 120, 236, 140, 253, 251 },
+ {  98,  97, 139, 116, 116, 116, 115, 121, 241,  98, 115,  99, 116, 116,  97 },
+ { 115, 217, 229, 184, 148, 131, 116, 107,  82,  83, 129,  86, 130,  84, 211 },
+ { 118, 128, 102, 100, 106, 252, 140,  88, 251, 250, 196, 233, 150, 154,  86 },
+ { 219, 236, 186, 148, 148, 132, 137, 217, 235, 120,  99, 124, 213, 118, 100 },
+ { 162, 195, 100, 109, 149, 118, 116, 116,  68, 226, 147,  99, 116, 116,  99 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 790 818
+ {  17,  17,  26,  19,  35,  28,  36,  29,  25,  19,  20,  36,  29,  29,  45,  33,  35,  36,  29,  37,  37,  30,  42,  36,  37,  45,  38,  38,  38 },
+ {   9,  17,  18,  34,  19,  12,  12,  36,  25,  34,  35,  28,  21,  21,  37,  33,  27,  28,  21,  29,  37,  22,  41,  28,  37,  37,  53,  22,  38 },
+ {  25,  25,  19,  27,  20,  36,  21,  29,  18,  12,  28,  21,  29,  37,  22,  34,  28,  29,  29,  22,  22,  30,  28,  29,  45,  30,  23,  38,  23 },
+ {   9,  17,  26,  19,  35,  28,  36,  29,  25,  19,  20,  28,  21,  21,  45,  33,  35,  36,  29,  37,  37,  30,  34,  36,  37,  45,  30,  38,  38 },
+ {   9,   8,   8,   9,  13,  13,  13,   9,   9,  10,  13,  13,  10,  13,  13,  10,   9,  10,  10,  12,  12,  13,   6,   9,  10,  13,  12,  12,  13 },
+ {   9,   8,   6,  10,  13,  13,  10,  12,   9,  10,  13,  13,  10,  13,  13,  10,  10,  10,  10,  13,  13,  13,   9,   9,  10,  10,  13,  13,  13 },
+ {   9,   9,   6,  10,  10,  10,  13,   9,  13,  10,  13,  13,  13,  13,  13,   9,  10,   9,  10,  13,  13,  13,   9,  10,  10,  10,  12,  13,  13 },
+ {   9,   8,   6,   9,  13,  13,  13,   6,   9,  10,  12,  13,  10,  13,  13,  10,  10,  10,  10,  13,  13,  12,   6,   9,  10,  13,  12,   9,  12 },
+ {  11,   4,   4,  11,  18,  18,  11,  18,  11,  11,  11,  11,   4,   4,   4,  18,  11,  11,  11,  11,  11,  11,  11,   4,  18,  18,  25,  18,  18 },
+ {  11,   4,   4,  18,  25,  32,  18,  32,  11,  11,  11,   4,   4,   4,  11,  18,  18,  11,  11,   4,   4,  18,  18,   4,  11,  11,  18,  32,  25 },
+ {  18,  18,   4,   4,   4,   4,   4,  11,  18,  11,  11,  11,  11,   4,  11,   4,  11,   4,   4,   4,   4,  11,  11,  18,  11,   4,  11,  18,  11 },
+ {  11,   4,   4,  11,  18,  18,  11,   4,  11,  11,   4,   4,   4,   4,  11,  18,  18,  11,  11,  18,  11,  25,  11,  11,  18,  18,  25,   4,  18 },
+ {  82,  90, 103, 229, 163, 122, 168, 120,  88, 104, 131, 210, 114, 100, 211, 106, 147, 114, 102, 115, 101, 115, 102, 115, 106, 177, 114,  86, 116 },
+ { 163, 107, 103, 116,  99, 182, 162, 146, 243, 117, 163, 201, 250, 186, 147, 116, 147, 163, 218, 183, 107,  98, 119, 132, 151, 234, 235, 235,  82 },
+ {  82,  84, 107, 132, 195, 115, 218, 152,  85, 106, 226, 115,  99,  90, 163,  98, 106, 106, 105, 115, 100, 102, 101, 102, 130, 115, 130, 119, 117 },
+ { 147, 165, 119, 130, 103, 129, 113, 177, 116, 117, 116, 213, 250, 233,  99, 115, 115, 147, 134, 148, 137, 114, 107, 101, 136, 120, 234, 106,  87 },
+ {  82,  99, 106, 147, 118, 105,  90, 148,  98, 116, 227, 131, 131, 115, 117, 227, 132, 102, 148, 114,  90, 228, 101, 136, 227, 103,  85, 101, 149 },
+ { 243, 116, 119, 101, 106, 122, 151, 116, 106, 122, 122, 234, 218, 234, 102, 117, 116, 235, 122, 234, 234,  83, 107, 100, 100, 250, 235, 234,  69 },
+ {  81,  84, 106, 117, 102, 100, 133, 169,  85, 100, 131, 100,  90,  87, 115,  99, 102, 241,  99,  87,  87, 103, 107, 115, 145,  88,  99,  89, 227 },
+ { 147, 118, 123, 116, 118, 131, 135, 146, 243, 117, 134, 133, 250, 151, 197, 116, 120, 247, 250, 167, 180, 130, 117, 121, 200, 184, 203, 234,  82 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 819 833
+ {  25,  33,  27,  36,  21,  37,  37,  38,  50,  29,  37,  38,  38,  46,  46 },
+ {   1,  25,  26,  20,  13,   6,  13,  14,  42,  21,  14,  22,   7,  54,  31 },
+ {  40,  33,  35,  28,  13,  29,  29,  22,  43,  37,  45,  38,  46,  46,  46 },
+ {  17,  33,  27,  36,  29,  37,  37,  53,  50,  36,  53,  38,  46,  46,  54 },
+ {   2,   9,   6,   4,   6,   4,   4,   8,   4,   5,   1,   6,   2,   2,   0 },
+ {   6,  13,   7,   4,   4,   0,   2,   8,   5,   9,   4,   9,   5,   8,   4 },
+ {  12,  12,   9,  12,  12,   8,  12,  12,   8,   8,   8,  12,   8,   9,  10 },
+ {   5,  12,   5,   5,   5,   0,   0,   0,   4,   4,   4,   9,   0,   3,   4 },
+ {  11,  11,  11,  11,  32,  25,  32,  32,  11,  18,  11,  25,  11,   4,  32 },
+ {   4,  18,  18,  32,  32,  25,  25,  32,   4,  32,  11,  32,  32,  25,  32 },
+ {  18,  11,  11,  25,  25,   4,  18,  11,  11,  11,   4,  18,  11,   4,  11 },
+ {   4,  32,  11,  25,  25,  18,  18,  11,  11,  11,   4,  18,  11,   4,  11 },
+ { 123,  90, 116, 133, 151, 125, 155, 134, 101, 114, 132,  99, 130, 115, 133 },
+ { 147, 132, 147, 165, 120, 116, 100,  84, 118, 137, 119, 132, 168, 202, 116 },
+ {  99,  74, 138, 172, 150, 138, 202, 135, 100,  99, 132, 105,  98,  86, 199 },
+ { 147, 194, 241, 243, 228, 132, 131, 178, 118, 116, 107, 102, 101,  86,  99 },
+ {  74, 147, 226, 130, 146, 103, 115, 163,  99,  84, 132,  98,  86,  86, 250 },
+ { 115, 100, 118, 123, 151, 252, 137, 201, 135, 252, 123, 235, 217, 250,  96 },
+ { 101,  83, 131, 118, 122, 125, 124, 140, 101, 211, 100, 129, 116, 115, 243 },
+ { 132, 116, 148, 242, 210, 164, 132, 212, 122, 228, 105, 251, 167, 216,  99 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 834 862
+ {  18,  25,  18,  26,  27,  27,  35,  13,  25,  26,  27,  35,  36,  36,  29,  33,  19,  43,  36,  29,  37,  45,  26,  20,  21,  37,  22,  22,  38 },
+ {  25,  25,  10,  10,  42,   4,  20,  43,  25,  18,  19,  12,  20,  36,  52,  33,  11,  27,   5,  44,  21,  37,  26,  12,  36,  36,  22,  22,  30 },
+ {  26,  25,  26,  34,  27,  20,  28,  21,  18,  19,  12,  28,  13,  21,  14,  26,  20,  21,  29,  22,  22,  30,  20,  29,  45,  30,  38,  38,  23 },
+ {  11,  25,  18,  26,  50,  35,  43,  36,  25,  26,  19,  35,  28,  36,  29,  18,  19,  43,  28,  21,  29,  45,  11,  20,  21,  37,  22,  22,  38 },
+ {   5,   8,   9,  10,   9,  10,   9,   8,  10,  13,  10,  13,   9,  10,   9,   9,   9,  10,  13,  13,   9,   9,   7,  13,   9,  13,  12,  12,  13 },
+ {   5,   9,   9,  10,  10,   7,   3,   5,  10,  10,  10,  13,  10,  10,  10,   9,   9,  10,  10,  12,  10,  10,  10,  10,   9,  10,  12,  12,  13 },
+ {   8,   9,   6,  10,  10,  10,  13,   9,  13,  10,  12,  12,   9,  10,   9,  10,  10,   9,   9,  12,  13,  13,   9,  10,   9,  10,  12,  12,  13 },
+ {   5,   9,   9,  12,  10,  10,  10,   8,  10,  13,  10,  13,  10,  10,   9,   9,   9,  10,  13,  12,  10,   9,   7,  12,   9,  12,  12,  12,  13 },
+ {  18,  11,  18,  18,  11,  11,   4,  25,   4,  18,   4,  18,   4,   4,   4,   4,  11,  18,  25,  25,   4,  11,   4,  25,  18,  25,  25,  25,  18 },
+ {  11,  18,  18,  25,  18,  25,   4,  11,   4,   4,   4,  18,  11,   4,  11,   4,  11,  18,  18,  18,  11,  18,  11,  11,  18,   4,  32,  32,  32 },
+ {  32,   4,   4,   4,   4,   4,   4,  18,  18,   4,  11,   4,   4,   4,   4,   4,  11,   4,   4,  18,  18,  11,  11,  11,   4,   4,  18,   4,  11 },
+ {  25,  18,  18,  25,  18,  18,   4,  11,   4,  18,  11,  18,  11,   4,   4,   4,  11,  18,  32,  18,  11,  18,   4,  25,  18,  18,  25,  18,  25 },
+ { 100, 132, 162, 153, 115, 243, 201, 133,  86,  90, 209, 103,  99, 131, 148,  99, 116,  99,  98,  89,  90, 117,  98,  90, 100, 113,  99, 101, 146 },
+ { 131, 116, 226, 101, 131, 162, 101, 178, 131, 116, 195, 102, 203, 212, 115, 195, 131, 116, 146, 198, 235, 101, 132, 117, 136, 234, 154, 103, 193 },
+ { 100,  91, 102, 161, 162, 208, 119, 140,  82,  89,  98,  89, 114, 114, 100,  84, 102, 117, 103,  90, 100, 116,  84, 209, 115, 132, 209, 146, 133 },
+ { 242, 242, 242, 113, 106, 117, 136, 210, 147, 120, 148, 138, 168, 202, 146, 243, 115, 241, 119, 120, 137, 129, 132, 116, 154, 210, 169, 120,  83 },
+ {  88,  87, 101, 194, 102,  99, 114, 117,  68, 114, 115, 115, 102, 100, 107, 106, 115, 115, 115,  84,  85, 105,  85, 114, 131, 100, 146, 115, 118 },
+ { 118, 103, 123, 146, 104, 120, 120, 116, 133, 152, 118, 136, 170, 250, 107, 116, 122, 251, 251, 235, 234,  88, 251, 135, 251, 250, 234, 219,  86 },
+ { 105, 107, 130, 105, 115, 102, 152, 215,  82,  82, 129,  83, 241,  88, 101,  83,  99, 113,  87,  88,  99, 121,  97, 161, 114,  84, 114, 178, 116 },
+ { 146, 242, 242, 114, 105, 134,  87, 242, 179, 118, 136, 133, 249, 250, 195, 243, 195, 132, 162, 148, 121, 162, 133, 117, 249, 235, 235, 228,  86 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 863 877
+ {  49,  33,  11,   4,  13,  44,  44,  45,  26,  42,  21,  45,  15,  30,  31 },
+ {  48,  25,   3,   4,   5,  13,  13,  21,  25,   4,   5,   7,   6,   7,  54 },
+ {  26,  33,  19,  20,  13,  13,  13,  14,  19,  28,  29,  30,  53,  38,  46 },
+ {  41,  33,  11,  27,  44,  21,  36,  29,  26,  35,  29,  37,  38,  53,  54 },
+ {   1,   4,   5,   4,   1,   0,   3,   5,   9,   4,   6,   6,   0,   3,   4 },
+ {   5,   8,   1,   0,   0,   0,   1,   7,   9,   9,  10,   3,   0,   4,   3 },
+ {   8,   8,   8,   9,   8,   4,   9,   8,   8,   8,   5,   5,  12,   8,  10 },
+ {   2,   5,   1,   0,   0,   0,   3,   1,   9,   4,   7,   4,   1,   0,   3 },
+ {  18,   4,  18,  18,  11,  11,  25,  25,  32,  25,  18,  25,   4,  18,  32 },
+ {  18,  11,  18,  18,  18,  18,  18,  32,  11,  32,  32,  32,  11,  32,   4 },
+ {  18,   4,  11,  25,  18,   4,  18,   4,  11,  18,   4,   4,  18,  11,   4 },
+ {  11,  11,  11,  11,  11,  18,  18,  25,  25,  32,  18,  25,   4,  18,   4 },
+ { 125, 102, 105, 132, 132, 149, 155, 188,  82,  99,  99, 113, 116, 149, 117 },
+ { 131, 118, 117, 227, 132, 245, 115, 102, 241, 121, 217, 119, 124, 129,  99 },
+ { 119, 115, 134, 148, 133, 182, 182, 214, 148, 113, 114, 113, 140, 228, 138 },
+ { 146, 102, 125, 164, 244, 246, 211, 177, 132, 153,  96, 137, 196,  99, 113 },
+ {  83, 102, 179, 225,  99, 133, 101, 116,  98, 130, 163, 100,  86, 131, 116 },
+ { 105, 108, 135, 136, 200, 141, 139, 122, 252, 252, 252, 251, 216, 234,  82 },
+ { 121, 107, 116, 133, 124, 123, 132, 141,  82, 100, 114, 121, 147, 118, 153 },
+ { 210, 117, 134, 212, 180, 117, 129, 124, 133, 138, 134, 227, 179, 116, 113 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 878 906
+ {  43,  42,  57,  58,  58,  50,  43,  28,  34,  19,  19,  27,  35,  43,  44,  27,  27,  35,  43,  36,  36,  37,  27,  27,  28,  28,  21,  21,  30 },
+ {  11,  34,  18,   4,  50,  26,  11,  58,  18,  26,  11,  42,  50,  35,  36,  34,  11,  19,  12,  20,  28,  29,  34,  19,  35,  20,  36,  21,  22 },
+ {  44,  26,  34,  19,  27,  35,  35,  13,  11,  19,  27,  27,  20,  28,  29,  35,  12,  20,  28,  21,  29,  22,  43,  36,  29,  44,  22,  30,  38 },
+ {  20,  34,  42,  50,  50,  58,  27,  36,  19,  11,  19,  19,  35,  43,  36,  27,  27,  20,  28,  36,  36,  14,  20,  27,  28,  28,  21,  29,  30 },
+ {   0,   4,   8,   4,   6,   4,   5,   5,   3,   9,   9,   8,  12,  12,   6,   6,   9,  12,  13,  12,  13,   9,   1,   9,  10,  13,  13,  13,   9 },
+ {   0,   8,   4,   4,  12,   4,   4,   5,   4,   7,  12,  12,  12,  13,  10,   6,   9,   9,  13,  13,  12,   9,   3,   9,   9,  13,  13,  13,  13 },
+ {   4,   5,   6,   6,  10,  10,  10,  10,   4,  13,  13,  13,  12,  13,  10,  10,  10,  10,  10,  13,  10,  10,   3,  10,  10,  13,  13,  12,  13 },
+ {   0,   5,   5,   0,   7,   0,   0,   2,   2,   5,   5,   9,  13,  12,   5,   9,   9,  13,  13,  13,  10,   8,   2,   9,  12,  12,  13,  13,  12 },
+ {  11,   4,  25,  11,  11,   4,   4,  25,   4,  11,   4,   4,  18,   4,   4,  11,  18,  25,  32,  18,  25,  11,   4,  11,  11,  18,  25,  18,   4 },
+ {  11,  25,  32,  25,  25,  32,  32,  25,   4,  11,  18,  11,   4,  18,  25,   4,  11,  18,  25,  25,  32,  18,   4,   4,   4,  11,  18,  11,  18 },
+ {   4,  11,   4,   4,   4,   4,   4,  25,   4,  18,  18,  11,  11,  11,  18,  25,   4,  11,  11,  18,   4,   4,   4,   4,   4,  18,  11,  18,  11 },
+ {  18,  18,  25,   4,  18,   4,   4,  11,   4,   4,   4,   4,  11,  11,  18,  18,  11,  32,  32,  32,  32,  32,  11,  11,  11,  18,  32,  25,  18 },
+ { 119, 122, 105, 102, 163, 135, 148, 203, 123,  84, 135, 202, 232, 235, 153, 102, 117, 149, 234, 219, 233, 214, 116, 117,  98, 234, 132, 218, 201 },
+ { 118, 246, 226, 136, 155, 198, 184, 150, 195, 149, 117, 121, 217, 234, 196, 165, 148, 137, 181, 234, 234, 164, 165, 132, 250, 234, 234, 234, 251 },
+ { 230, 233, 204, 244, 170, 124, 205, 133, 108, 103, 105, 235, 196, 120, 169, 117, 132, 169, 217, 183, 185, 185, 118, 139, 117, 230, 234, 234, 232 },
+ { 132, 108, 163, 137, 130, 227, 117, 124, 165, 132, 107, 147, 235, 234, 245, 118, 147, 154, 234, 234, 231, 227, 132, 120, 251, 234, 234, 234, 106 },
+ { 101, 102, 101, 106, 130, 102, 250, 154, 118,  84, 116, 234, 234, 182, 153,  87, 122, 250, 250, 233, 133, 154, 123, 133, 132, 234, 168, 101, 169 },
+ { 109, 121, 135, 250, 250, 250, 249, 180, 133, 179, 152, 147, 235, 234, 153, 186, 138, 122, 119, 234, 250, 147, 117, 181, 250, 178, 234, 235,  83 },
+ { 155, 252, 218, 139, 250, 252, 237, 154, 120, 100, 108, 107, 118, 211, 156,  89, 101, 115, 132, 134, 201, 152, 115, 101, 178, 148, 169, 168, 218 },
+ { 117, 138, 133, 134, 194, 133, 118, 147, 227, 151, 248, 196, 186, 234, 243, 247, 149, 234, 216, 231, 233, 227, 151, 228, 235, 235, 218, 218, 218 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 907 921
+ {  51,  27,  27,  27,  27,  58,  28,  52,  42,  42,   4,  12,  28,  21,  53 },
+ {   5,  19,  27,  18,   3,   4,   4,  20,  57,  42,  27,  19,  44,   5,  45 },
+ {  13,  11,  27,  20,  20,   5,  13,  29,  36,  20,  28,  36,  29,  29,  30 },
+ {  35,  11,   4,   4,  19,   4,  19,   5,  19,  12,  12,  19,   5,  52,  30 },
+ {   1,   9,   8,  12,  12,  10,   7,  10,   0,   1,   3,   1,  13,  13,   0 },
+ {   4,  13,  12,   0,  12,  10,   8,   8,  13,   4,   8,   9,   3,  13,   8 },
+ {   3,   4,   4,   8,   8,  12,  12,  10,   1,   3,   7,   7,   9,  13,  10 },
+ {   0,   5,   3,   7,   3,   3,   2,   0,   7,   4,   3,   4,  13,   4,   5 },
+ {  32,  18,  18,  32,  32,  32,  25,  32,  32,  32,  25,  32,  32,  32,  32 },
+ {  18,  32,  32,  32,  32,  32,  32,  32,  32,  18,  32,  32,  18,  25,  32 },
+ {  11,   4,   4,  11,  11,  25,  32,  18,   4,   4,   4,   4,  11,   4,   4 },
+ {   4,   4,   4,  32,  25,  18,  18,  18,  25,  25,  25,  32,  32,  32,  18 },
+ { 155, 117, 244, 234, 235, 249, 250, 250, 186, 140, 119, 115, 218, 234, 174 },
+ { 117, 117, 118, 139, 233, 249, 200, 249, 132, 131, 131, 179, 234, 218, 116 },
+ { 221, 209,  65, 132, 225, 247, 252, 252,  96, 180, 146, 161, 251, 216, 246 },
+ { 116, 234, 219, 236, 184, 247, 252, 252, 234, 203, 219, 117, 251, 217,  82 },
+ { 115, 155, 140,  87, 118, 105, 117, 250, 115, 115, 225, 115, 151, 122, 151 },
+ { 115, 105, 119, 166, 134, 217, 235, 103, 228, 151, 249, 151, 251, 218, 147 },
+ { 254, 218, 122, 176, 227, 193, 243, 247, 152, 243, 120, 115, 234, 253, 120 },
+ { 126, 123, 135, 247, 219, 251, 202, 252, 154, 131, 138, 197, 234, 250, 211 },
+  }),
+};
+#else
+const CtxSet ContextSetCfg::GtxFlag[4] = {
+  ContextSetCfg::addCtxSet({
+    { 25, 0, 40, 25, 33, 26, 0, 17, 25, 33, 19, 9, 25, 26, 34, 20, 25, 18, 19, 20, 37 },
+    { 1, 0, 9, 17, 25, 26, 0, 9, 25, 33, 19, 9, 25, 33, 34, 20, 25, 33, 19, 27, 29 },
+    { 25, 1, 40, 25, 33, 11, 9, 25, 25, 18, 12, 17, 33, 26, 19, 13, 33, 19, 20, 28, 22 },
+	{ 25, 0, 40, 25, 33, 26, 0, 17, 25, 33, 19, 9, 25, 26, 34, 20, 25, 18, 19, 20, 37 },
+    { 1, 9, 10, 10, 7, 5, 9, 9, 10, 9, 6, 9, 9, 10, 6, 5, 6, 9, 6, 10, 10 },
+    { 2, 8, 6, 9, 7, 5, 12, 13, 10, 13, 3, 9, 9, 10, 10, 6, 6, 6, 10, 10, 10 },
+    { 4, 12, 6, 9, 10, 5, 12, 9, 9, 9, 5, 13, 10, 10, 10, 10, 6, 9, 10, 10, 9 },
+	{ 1, 9, 10, 10, 7, 5, 9, 9, 10, 9, 6, 9, 9, 10, 6, 5, 6, 9, 6, 10, 10 },
+    { 11, 11, 25, 18, 11, 18, 4, 4, 11, 4, 18, 11, 11, 25, 11, 4, 11, 18, 11, 25, 18 },
+    { 11, 11, 4, 4, 4, 18, 18, 11, 4, 11, 4, 4, 11, 18, 18, 11, 11, 4, 18, 18, 11 },
+    { 4, 25, 4, 11, 11, 18, 18, 11, 4, 11, 11, 18, 18, 18, 18, 18, 4, 18, 18, 18, 4 },
+	{ 11, 11, 25, 18, 11, 18, 4, 4, 11, 4, 18, 11, 11, 25, 11, 4, 11, 18, 11, 25, 18 },
+    { 115, 99, 86, 85, 102, 227, 82, 84, 100, 103, 117, 87, 100, 102, 106, 107, 98, 103, 115, 102, 116 },
+    { 164, 131, 193, 130, 116, 131, 212, 148, 116, 147, 116, 243, 131, 118, 147, 131, 195, 131, 116, 120, 122 },
+    { 118, 84, 99, 131, 122, 117, 65, 69, 99, 85, 118, 82, 90, 104, 99, 115, 98, 101, 99, 103, 116 },
+    { 131, 116, 243, 227, 178, 116, 148, 179, 147, 103, 117, 132, 131, 130, 146, 105, 243, 116, 116, 116, 115 },
+    { 99, 70, 98, 84, 82, 147, 68, 83, 123, 102, 107, 88, 100, 116, 104, 115, 99, 117, 106, 116, 119 },
+    { 119, 147, 121, 195, 116, 117, 119, 123, 132, 117, 117, 116, 121, 116, 120, 115, 123, 116, 118, 121, 107 },
+	{ 115, 99, 86, 85, 102, 227, 82, 84, 100, 103, 117, 87, 100, 102, 106, 107, 98, 103, 115, 102, 116 },
+    { 164, 131, 193, 130, 116, 131, 212, 148, 116, 147, 116, 243, 131, 118, 147, 131, 195, 131, 116, 120, 122 },
+  }),
+  ContextSetCfg::addCtxSet({
+    { 25, 9, 25, 33, 26, 12, 17, 33, 11, 28, 37 },
+    { 1, 1, 25, 18, 11, 12, 17, 33, 11, 4, 22 },
+    { 25, 9, 25, 18, 26, 4, 25, 26, 27, 28, 37 },
+	{ 25, 9, 25, 33, 26, 12, 17, 33, 11, 28, 37 },
+    { 2, 8, 8, 5, 8, 5, 6, 8, 7, 5, 5 },
+    { 3, 10, 12, 9, 9, 7, 5, 12, 5, 7, 8 },
+    { 1, 12, 8, 8, 8, 2, 5, 4, 6, 4, 7 },
+	{ 2, 8, 8, 5, 8, 5, 6, 8, 7, 5, 5 },
+    { 11, 4, 4, 4, 4, 4, 4, 25, 25, 11, 4 },
+    { 4, 4, 4, 4, 4, 4, 4, 25, 18, 18, 25 },
+    { 4, 25, 4, 18, 18, 4, 4, 4, 18, 4, 4 },
+	{ 11, 4, 4, 4, 4, 4, 4, 25, 25, 11, 4 },
+    { 115, 201, 135, 122, 148, 196, 98, 83, 97, 131, 131 },
+    { 131, 108, 107, 119, 91, 105, 195, 140, 150, 137, 124 },
+    { 119, 106, 87, 105, 105, 135, 98, 83, 99, 102, 130 },
+    { 130, 119, 101, 118, 102, 121, 164, 123, 152, 114, 168 },
+    { 115, 67, 100, 100, 211, 119, 98, 99, 98, 103, 117 },
+    { 120, 163, 118, 123, 104, 116, 120, 183, 219, 137, 105 },
+	{ 115, 201, 135, 122, 148, 196, 98, 83, 97, 131, 131 },
+    { 131, 108, 107, 119, 91, 105, 195, 140, 150, 137, 124 },
+  }),
+  ContextSetCfg::addCtxSet({
+    { 9, 17, 26, 27, 35, 21, 25, 27, 43, 36, 37, 33, 35, 36, 29, 30, 42, 36, 37, 45, 38 },
+    { 1, 17, 26, 42, 35, 44, 25, 34, 35, 36, 37, 33, 20, 36, 29, 22, 34, 28, 37, 37, 38 },
+    { 25, 25, 19, 27, 20, 21, 33, 12, 28, 21, 22, 34, 28, 29, 29, 30, 28, 29, 45, 30, 23 },
+	{ 9, 17, 26, 27, 35, 21, 25, 27, 43, 36, 37, 33, 35, 36, 29, 30, 42, 36, 37, 45, 38 },
+    { 9, 8, 9, 10, 10, 9, 9, 10, 13, 13, 10, 9, 10, 9, 10, 10, 5, 9, 10, 13, 13 },
+    { 9, 9, 6, 10, 10, 10, 9, 10, 10, 13, 10, 10, 10, 10, 10, 10, 9, 9, 10, 10, 13 },
+    { 9, 9, 6, 10, 10, 9, 13, 10, 13, 13, 13, 9, 10, 10, 10, 13, 9, 10, 10, 10, 13 },
+	{ 9, 8, 9, 10, 10, 9, 9, 10, 13, 13, 10, 9, 10, 9, 10, 10, 5, 9, 10, 13, 13 },
+    { 11, 4, 11, 11, 11, 18, 11, 11, 18, 4, 4, 18, 18, 11, 11, 4, 11, 11, 18, 18, 18 },
+    { 11, 11, 4, 11, 11, 18, 11, 11, 4, 4, 4, 18, 18, 11, 11, 4, 18, 11, 11, 11, 11 },
+    { 18, 18, 4, 4, 4, 18, 18, 11, 11, 11, 18, 11, 11, 11, 4, 11, 18, 18, 11, 11, 11 },
+	{ 11, 4, 11, 11, 11, 18, 11, 11, 18, 4, 4, 18, 18, 11, 11, 4, 11, 11, 18, 18, 18 },
+    { 82, 85, 102, 146, 134, 122, 90, 115, 116, 227, 116, 107, 115, 116, 116, 131, 116, 116, 116, 116, 119 },
+    { 211, 107, 106, 116, 101, 116, 243, 117, 117, 137, 131, 117, 116, 123, 136, 118, 117, 116, 119, 134, 85 },
+    { 82, 83, 107, 121, 120, 116, 89, 116, 163, 147, 116, 99, 115, 115, 116, 116, 104, 227, 116, 122, 132 },
+    { 211, 132, 117, 100, 105, 130, 227, 116, 117, 182, 117, 116, 117, 133, 135, 99, 116, 131, 120, 103, 85 },
+    { 83, 99, 107, 131, 117, 119, 98, 116, 195, 101, 102, 131, 119, 115, 120, 116, 115, 132, 132, 122, 164 },
+    { 122, 116, 118, 101, 106, 117, 116, 122, 121, 234, 138, 118, 117, 170, 121, 102, 120, 106, 106, 106, 86 },
+	{ 82, 85, 102, 146, 134, 122, 90, 115, 116, 227, 116, 107, 115, 116, 116, 131, 116, 116, 116, 116, 119 },
+    { 211, 107, 106, 116, 101, 116, 243, 117, 117, 137, 131, 117, 116, 123, 136, 118, 117, 116, 119, 134, 85 },
+  }),
+  ContextSetCfg::addCtxSet({
+    { 17, 33, 27, 28, 21, 37, 42, 37, 45, 38, 46 },
+    { 9, 25, 27, 20, 13, 22, 35, 29, 22, 30, 23 },
+    { 40, 33, 35, 28, 13, 37, 43, 37, 45, 38, 46 },
+	{ 17, 33, 27, 28, 21, 37, 42, 37, 45, 38, 46 },
+    { 9, 12, 9, 9, 12, 9, 5, 4, 4, 10, 8 },
+    { 9, 13, 12, 13, 13, 13, 5, 8, 4, 5, 8 },
+    { 12, 12, 9, 12, 12, 9, 8, 8, 8, 13, 10 },
+	{ 9, 12, 9, 9, 12, 9, 5, 4, 4, 10, 8 },
+    { 18, 11, 11, 11, 25, 4, 11, 4, 4, 25, 11 },
+    { 4, 11, 4, 11, 11, 4, 4, 18, 11, 18, 11 },
+    { 18, 11, 11, 25, 18, 11, 11, 18, 11, 25, 11 },
+	{ 18, 11, 11, 11, 25, 4, 11, 4, 4, 25, 11 },
+    { 106, 115, 101, 115, 227, 197, 147, 243, 244, 98, 116 },
+    { 242, 211, 119, 203, 117, 123, 117, 251, 120, 249, 118 },
+    { 86, 84, 87, 195, 179, 134, 116, 115, 132, 178, 132 },
+    { 195, 104, 166, 202, 106, 88, 148, 252, 138, 118, 236 },
+    { 75, 115, 131, 178, 131, 227, 179, 92, 164, 98, 243 },
+    { 131, 91, 117, 120, 137, 116, 136, 252, 105, 198, 84 },
+	{ 106, 115, 101, 115, 227, 197, 147, 243, 244, 98, 116 },
+    { 242, 211, 119, 203, 117, 123, 117, 251, 120, 249, 118 },
+  }),
+};
+#endif
+
+const CtxSet ContextSetCfg::LastX[2] = {
+  ContextSetCfg::addCtxSet({
+// ctx 922 957
+ {  13,  13,   5,   6,   6,  12,   6,  14,   6,   5,  21,   6,   6,   6,  44,  21,  21,  13,  21,  45,  52,  21,  13,  53,  53,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {   6,   5,  12,  14,   6,   4,   7,   7,   6,   5,  14,   7,   7,   7,  53,  14,   7,  14,   7,  15,  61,   7,  30,  31,  62,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {   6,  13,  12,  14,   6,   4,   6,   6,  14,   4,  14,  14,  22,   6,  11,  22,  15,  30,  22,  13,  18,   7,  37,   6,  28,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {   6,   6,   5,  14,   7,   5,  14,   7,  14,   5,   6,  14,  14,  14,  36,  14,   7,  14,  14,  52,  51,  29,   7,  45,  60,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {   5,   5,   5,   6,   5,   0,   6,   4,   2,   1,   6,   1,   2,   1,   1,   2,   2,   2,   0,   0,   0,   2,   5,   0,   0,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   7,   7,   6,   7,   6,   1,   6,   5,   1,   1,   6,   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   1,   0,   0,   0,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   9,   5,   5,   6,   5,   4,   6,   5,   1,   1,   6,   1,   1,   1,   0,   1,   2,   1,   1,   0,   0,   1,   4,   0,   0,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   5,   6,   6,   6,   6,   1,   6,   6,   2,   1,   2,   1,   1,   1,   2,   2,   1,   1,   1,   1,   0,   1,   0,   3,   0,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {  18,  18,  18,  18,  18,   4,  18,  18,  25,  32,  18,  11,  25,  32,  32,  11,  11,  25,  32,  32,  32,  18,  25,  32,  32,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {  18,  18,  18,  18,  18,   4,  18,  18,  18,  18,  18,   4,  18,  25,  25,   4,   4,  18,  25,  32,  32,  11,  18,  32,  32,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {  18,  11,  11,  18,  18,  18,  18,  25,  18,  18,  25,  18,  25,  32,  32,  11,  25,  18,  32,  32,  32,  18,  32,  32,  32,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {  11,  11,  18,  18,  18,   4,  11,  18,  18,  18,   4,   4,  18,  25,  32,  11,   4,  18,  18,  32,  32,  11,  25,  25,  32,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ { 116, 131, 131, 123, 117, 149, 135, 117, 133, 117, 136, 118, 121, 180, 115, 140, 117, 123, 118, 245, 116, 244, 252, 244, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 116, 117, 116, 228, 245, 117, 181, 246, 252, 116, 245, 181, 243, 252, 115, 167, 180, 211, 180, 254, 116, 156, 252, 180, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 116, 121, 122, 132, 123, 119, 123, 117, 134, 117, 123, 118, 121, 135, 115, 125, 117, 118, 125, 135, 116, 180, 151, 244, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 115, 114, 115, 134, 148, 117, 148, 148, 141, 116, 134, 244, 148, 153, 116, 134, 212, 132, 227, 249, 123, 149, 234, 254, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 115, 117, 119, 123, 124, 132, 123, 124, 125, 131, 123, 125, 119, 245, 116, 123, 124, 116, 116, 244, 116, 155, 253, 254, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 115, 117, 117, 139, 252, 147, 147, 251, 149, 115, 148, 246, 132, 252, 116, 213, 251, 163, 247, 252, 116, 253, 253, 254, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 116, 226, 119, 122, 123, 118, 147, 117, 133, 117, 135, 118, 120, 133, 114, 133, 117, 116, 132, 212, 116, 180, 150, 251, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 131, 115, 116, 123, 133, 117, 243, 226, 133, 116, 149, 133, 148, 148, 115, 138, 133, 147, 227, 244, 116, 228, 142, 250, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+  }),
+  ContextSetCfg::addCtxSet({
+// ctx 958 960
+ {  12,  20,  50 },
+ {  42,  50,  41 },
+ {  20,   4,   3 },
+ {  19,   5,  19 },
+ {   1,   0,   0 },
+ {   5,   5,   4 },
+ {   6,   4,   1 },
+ {   1,   0,   0 },
+ {  11,  11,  11 },
+ {  18,  18,  18 },
+ {  18,  18,   4 },
+ {  11,  11,  11 },
+ { 116, 133, 117 },
+ { 148, 228, 164 },
+ { 103, 116, 107 },
+ { 116, 117, 116 },
+ { 123, 119, 120 },
+ { 197, 228, 117 },
+ { 117, 118, 132 },
+ { 132, 244, 148 },
+  }),
+};
+
+const CtxSet ContextSetCfg::LastY[2] = {
+  ContextSetCfg::addCtxSet({
+// ctx 961 996
+ {   5,  13,  20,   6,   6,  12,   6,  14,   5,  20,   6,  21,   5,  21,  29,  21,  14,   5,   5,  52,  29,  21,  13,  45,  45,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  13,   5,  20,  14,  14,  12,  14,   7,   6,  13,  14,   7,   6,   7,  38,  21,   7,  13,  14,  30,  46,  13,   6,  23,  39,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  13,  13,  12,  14,   6,   4,  14,  14,   5,  11,  14,   7,   6,   5,  18,  37,  38,  22,  22,  12,  18,  29,  30,  13,  28,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  13,  21,  20,   6,  14,  12,   6,   7,  13,   5,   6,  14,  13,  13,  36,  14,   7,  13,  13,  51,  43,   6,  22,  30,  15,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {   5,   5,   5,   6,   5,   1,   6,   6,   1,   1,   2,   5,   1,   0,   0,   2,   2,   2,   0,   0,   0,   2,   5,   0,   0,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   5,   6,   7,   7,   7,   2,   7,   7,   2,   2,   6,   5,   1,   2,   1,   2,   2,   1,   1,   2,   0,   1,   4,   1,   0,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   9,   5,   8,   6,   5,   4,   6,   6,   1,   0,   6,   6,   1,   1,   0,   1,   1,   2,   2,   0,   0,   2,   4,   0,   0,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   5,   6,   7,   7,   6,   2,   6,   6,   1,   2,   2,   5,   1,   2,   0,   2,   2,   1,   1,   2,   0,   0,   4,   0,   0,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {  18,  18,  18,  18,  18,  11,  18,  18,  18,  25,   4,  11,  11,  32,  32,   4,   4,  18,  32,  32,  32,  18,  25,  32,  32,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {   4,  11,  11,  18,  18,   4,  18,  18,  18,  18,  11,   4,  11,  25,  32,   4,   4,   4,  18,  32,  32,  11,  25,  25,  32,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {  18,   4,   4,  18,  18,   4,  18,  18,  11,  18,  25,  18,  18,  32,  32,  18,  11,  25,  32,  32,  32,  32,  32,  32,  32,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {   4,  11,  18,  18,  18,   4,  11,  11,  11,  18,   4,   4,   4,  25,  18,   4,   4,  11,  25,  32,  25,   4,  32,  18,  25,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ { 117, 118, 123, 116, 120, 118, 117, 116, 141, 116, 134, 102, 121, 151, 116, 148, 117, 120, 126, 165, 116, 136, 236, 148, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 131, 131, 116, 132, 134, 118, 132, 151, 253, 116, 164, 148, 247, 253, 116, 132, 134, 244, 164, 228, 116, 124, 252, 116, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 108, 118, 117, 122, 122, 118, 122, 122, 140, 116, 117, 102, 125, 140, 115, 132, 121, 119, 137, 149, 116, 164, 156, 247, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 116, 115, 114, 122, 122, 117, 122, 122, 250, 116, 131, 132, 246, 246, 120, 117, 122, 244, 229, 245, 136, 116, 234, 250, 123, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 117, 120, 118, 123, 124, 109, 123, 123, 141, 133, 123, 115, 125, 173, 117, 125, 118, 124, 116, 245, 116, 140, 123, 245, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 101, 118, 103, 123, 138, 117, 123, 211, 253, 117, 118, 242, 253, 253, 116, 133, 165, 252, 249, 253, 116, 146, 253, 254, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 116, 116, 122, 117, 123, 118, 242, 116, 125, 115, 124, 102, 125, 133, 116, 132, 121, 122, 140, 170, 116, 149, 139, 254, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 243, 116, 115, 116, 122, 117, 194, 163, 247, 116, 123, 116, 246, 212, 117, 117, 124, 212, 179, 211, 117, 117, 253, 251, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+  }),
+  ContextSetCfg::addCtxSet({
+// ctx 997 999
+ {  26,  20,  42 },
+ {  41,  19,  48 },
+ {  20,   4,  19 },
+ {  11,   5,  19 },
+ {   1,   4,   0 },
+ {   2,   4,   1 },
+ {   7,   5,   4 },
+ {   1,   4,   0 },
+ {   4,  25,  11 },
+ {   4,  18,  11 },
+ {  11,  18,  11 },
+ {   4,  25,   4 },
+ { 116, 117, 119 },
+ { 243, 131, 132 },
+ { 116, 118, 119 },
+ { 131, 243, 163 },
+ { 132, 124, 106 },
+ { 243, 243, 132 },
+ { 116, 117, 119 },
+ { 243, 131, 148 },
+  }),
+};
+
+
+#if JVET_AG0143_INTER_INTRA
+const CtxSet ContextSetCfg::SigCoeffGroupCtxSetSwitch[] =
+{
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 1000 1001
+ {  11,  31 },
+ {  11,  31 },
+ {  10,  38 },
+ {   3,  31 },
+ {   4,   5 },
+ {   4,   5 },
+ {   8,   5 },
+ {   4,   5 },
+ {   4,  18 },
+ {  11,  18 },
+ {  25,  18 },
+ {   4,  18 },
+ { 132, 148 },
+ { 101, 101 },
+ { 116, 135 },
+ { 107, 101 },
+ { 179, 121 },
+ { 242, 132 },
+ { 116, 133 },
+ { 102, 101 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 1002 1003
+ {  10,  23 },
+ {  25,  38 },
+ {  17,  37 },
+ {  33,  23 },
+ {   9,  10 },
+ {   9,  10 },
+ {   0,   0 },
+ {   8,   7 },
+ {  11,   4 },
+ {   4,   4 },
+ {  25,  25 },
+ {  18,   4 },
+ {  99, 250 },
+ { 131, 101 },
+ {  82, 250 },
+ { 164, 119 },
+ { 229, 212 },
+ { 122, 197 },
+ { 103, 226 },
+ { 226,  98 },
+  }),
+};
+
+
+
+#if JVET_AG0100_TRANSFORM_COEFFICIENT_CODING
+const CtxSet ContextSetCfg::SigFlagCtxSetSwitch[] =
+{
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 1004 1021
+ {  25,  19,  28,  14,  22,  30,  18,  28,  29,  30,  30,  38,  26,  45,  30,  38,  38,  38 },
+ {  25,  19,  20,  14,  22,  30,  18,  28,  29,  30,  30,  38,  11,  45,  30,  38,  38,  38 },
+ {  17,  26,  27,  29,  37,  30,   9,  42,  28,  37,  45,  30,  33,  59,  36,  45,  30,  38 },
+ {  25,  19,  28,  14,  22,  30,  18,  28,  29,  30,  30,  38,  26,  45,  30,  38,  38,  38 },
+ {  13,   9,   9,  13,  13,  10,  10,   9,  10,  13,  13,  10,   9,  10,  10,  10,  10,   9 },
+ {  13,   9,   9,  13,  13,  10,   9,  10,  10,  13,  13,  13,   9,   8,  10,  10,  10,   9 },
+ {  13,   9,   8,  12,   9,   8,   9,   9,   8,  12,  10,  10,   8,   9,   9,   9,  13,   9 },
+ {  13,   9,   9,  13,  13,  10,  10,  10,  10,  13,  13,  10,   8,   9,  10,  10,  10,   9 },
+ {  11,   4,   4,   4,   4,   4,  11,   4,   4,   4,   4,   4,  11,  18,   4,   4,   4,  11 },
+ {  18,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,  11,   4,   4,   4,   4 },
+ {  11,  11,  11,  32,   4,   4,   4,  11,   4,   4,  11,   4,  18,  18,  18,   4,  11,  11 },
+ {  18,   4,   4,   4,   4,   4,  18,   4,   4,   4,   4,   4,   4,  11,   4,   4,   4,  11 },
+ { 114, 171, 164, 180, 137, 217, 113, 118, 138, 132, 217, 250, 171, 137, 163, 135, 231, 250 },
+ { 132, 121, 107, 196,  89,  83, 131, 121, 101, 199,  69,  82, 101,  99, 135, 100,  83,  81 },
+ {  83, 139, 244, 120, 165, 201, 226, 102, 119, 164, 169, 151, 244, 119, 179, 135, 247, 203 },
+ { 120, 122, 101, 105,  85,  85, 117, 119, 104, 170,  85,  69, 117, 180, 195, 104,  83,  81 },
+ {  74, 117, 132,  85, 251, 168, 217, 195, 116,  87, 250, 152,  98, 130, 120, 122, 135, 235 },
+ { 149, 132, 164, 235,  88,  84, 132, 131, 119, 219,  83,  82, 136, 119, 117, 106, 161,  81 },
+ {  82, 139, 164, 211, 137, 230,  85, 102, 133, 103, 233, 249, 103, 132, 120, 148, 199, 251 },
+ { 118, 120, 104, 102,  87,  86, 119, 133, 106, 135,  70,  82, 108, 195, 217, 102,  82,  82 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 1022 1033
+ {  33,  20,  28,  21,  29,  14,  26,  53,  53,  46,  46,  46 },
+ {  18,  19,  35,  28,  14,  45,  19,  53,  37,  30,  38,   7 },
+ {  25,  35,  28,  21,   6,  22,  48,  52,  60,  38,  61,  15 },
+ {  33,  20,  36,  29,  45,  30,  26,  53,  53,  46,  46,  46 },
+ {  13,  13,  13,  13,  13,  13,  10,   5,   8,   8,   9,   6 },
+ {  13,  13,  13,  13,  13,  13,   8,   5,   8,   8,  13,  13 },
+ {  10,  13,   8,  10,  12,  13,   5,   2,   8,   7,   0,  13 },
+ {  13,  12,   9,  10,  13,  13,  10,   5,   8,   9,  13,   9 },
+ {  11,  18,   4,   4,   4,   4,  18,   4,  11,  18,  11,   4 },
+ {  18,  11,   4,   4,  18,  11,  11,   4,  11,  18,  25,  32 },
+ {  18,  25,   4,   4,   4,   4,  11,   4,  25,   4,  25,  25 },
+ {  32,  18,  11,   4,   4,   4,  25,   4,   4,   4,  18,  32 },
+ { 225, 100, 131, 115, 106, 120, 241, 132, 102, 115, 163, 251 },
+ { 131, 152, 164, 148, 148, 146, 114, 149, 252, 252, 186,  98 },
+ {  82, 121, 101, 147,  88, 163, 163, 119, 101, 194, 178, 233 },
+ { 116, 234, 118, 122, 200,  83, 102, 155, 202, 251, 103,  83 },
+ {  96, 113,  85,  88,  84, 218, 118, 118, 210, 116, 138, 226 },
+ { 116, 105, 171,  85, 171, 234, 108, 115, 116, 233, 116,  64 },
+ {  97, 135, 118, 131, 179, 179, 193, 118, 103, 101, 116, 251 },
+ { 103, 131, 132, 132,  86, 213, 105, 120, 156, 187, 130,  81 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 1034 1051
+ {  26,  38,  46,  54,  54,  54,  11,  39,  39,  39,  39,  39,  28,  39,  39,  39,  39,  39 },
+ {  26,  38,  46,  54,  54,  54,  11,  39,  39,  39,  39,  39,  28,  39,  39,  39,  39,  39 },
+ {  18,  45,  53,  46,  46,  46,  11,  54,  61,  39,  39,  39,  10,  39,  39,  39,  39,  39 },
+ {  26,  38,  46,  54,  54,  54,  11,  39,  39,  39,  39,  39,  28,  39,  39,  39,  39,  39 },
+ {   9,  13,  12,   8,   8,   8,   8,   0,   0,   0,   0,   4,   4,   0,   0,   0,   0,   0 },
+ {   8,  13,  12,   8,   8,   8,   8,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0 },
+ {   8,  13,  12,   8,   8,   8,   8,   8,   4,   0,   0,   0,   0,   0,   0,   0,   0,   0 },
+ {   8,  13,  12,   8,   8,   8,   8,   0,   0,   0,   0,   0,   4,   0,   0,   0,   0,   0 },
+ {  11,   4,  25,   4,   4,   4,  18,  32,  32,  25,  32,  25,  32,  32,  32,  32,  32,  32 },
+ {   4,   4,  25,  11,   4,   4,  18,  32,  32,  32,  18,  25,  32,  32,  32,  32,  32,  32 },
+ {   4,   4,  18,  18,  18,  18,  18,  32,  11,  32,  32,  32,  32,  32,  32,  32,  32,  32 },
+ {  11,   4,  25,   4,   4,   4,  18,  32,  32,  25,  32,  25,  32,  32,  32,  32,  32,  32 },
+ { 195, 234, 219, 252, 252, 236,  99, 254, 251, 188, 186, 253, 131, 237, 235, 251, 252, 134 },
+ { 132, 234, 105,  84,  82,  82, 117, 116, 116, 116, 116,  99, 115, 116, 116, 116, 116, 116 },
+ { 132, 234, 219, 251, 252, 219, 100, 238, 252, 254, 200, 252, 116, 237, 235, 238, 252, 237 },
+ { 120, 185, 102,  83,  84,  82, 117, 116, 116, 119, 116, 116, 252, 116, 116, 116, 116, 116 },
+ { 165, 234, 233, 252, 252, 220, 194, 252, 253, 253, 253, 134, 132, 254, 139, 251, 238, 252 },
+ { 119, 234, 118,  83,  82,  82, 117,  98,  99, 116, 116, 116, 132, 116, 116, 116, 116, 116 },
+ { 163, 234, 235, 252, 250, 252, 114, 253, 253, 236, 252, 254, 101, 251, 116, 116, 254, 238 },
+ { 123, 133,  88,  84,  82,  82, 117, 116, 116, 116, 116, 116, 131, 116, 116, 116, 116, 116 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 1052 1063
+ {  18,  46,  38,  39,  39,  39,  59,  39,  39,  39,  39,  39 },
+ {  18,  46,  38,  39,  39,  39,  53,  39,  39,  39,  39,  39 },
+ {  33,  30,  46,  31,  39,  31,  11,  39,  39,  39,  39,  39 },
+ {  26,  46,  38,  39,  39,  39,  28,  39,  39,  39,  39,  39 },
+ {   8,  12,  12,   4,   4,   2,   0,   0,   0,   0,   0,   0 },
+ {   8,  12,  12,   4,   0,   1,   0,   0,   0,   0,   0,   0 },
+ {   4,   8,   9,   0,   3,  13,   0,   0,   0,   0,   0,   0 },
+ {   8,  12,  12,   0,   0,   2,   0,   0,   0,   0,   0,   0 },
+ {  11,  11,  32,  25,  32,  32,  32,  32,  32,  32,  32,  32 },
+ {  18,  11,  18,  25,  32,  32,  32,  32,  32,  32,  32,  32 },
+ {   4,  18,   4,  25,  18,   4,  25,  25,  25,  25,  25,  25 },
+ {  25,  11,  32,  25,  25,  32,  32,  32,  32,  32,  32,  32 },
+ { 244, 235, 235, 253, 133, 250, 116, 252, 254, 235, 238, 235 },
+ { 228,  87,  66,  99,  99, 115, 164, 116, 116, 116, 148, 116 },
+ { 118, 235, 235, 253, 237, 251, 116, 237, 116, 116, 116, 116 },
+ { 120, 102,  65,  99, 116, 115, 116, 116, 116, 116, 116, 116 },
+ { 100, 252, 248, 250, 250, 218, 148, 238, 235, 116, 116, 116 },
+ { 107, 102,  82, 180, 130,  68, 150, 116, 116, 116, 116, 116 },
+ { 146, 235, 235, 254, 238, 233, 116, 238, 252, 116, 238, 251 },
+ { 119, 114,  65, 116, 148, 115, 198, 116, 116, 116, 116, 116 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 1064 1081
+ {  18,  39,  39,  39,  39,  39,  11,  39,  39,  39,  39,  39,   0,  39,  39,  39,  39,  39 },
+ {  18,  39,  39,  39,  39,  39,  11,  39,  39,  39,  39,  39,   0,  39,  39,  39,  39,  39 },
+ {  26,  54,  39,  39,  39,  39,  26,  39,  39,  39,  39,  39,   0,  39,  39,  39,  39,  39 },
+ {  18,  39,  39,  39,  39,  39,  11,  39,  39,  39,  39,  39,   0,  39,  39,  39,  39,  39 },
+ {   8,   8,  12,  12,  12,  12,   8,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0 },
+ {   8,   8,  12,  12,  12,  12,   8,   0,   0,   0,   0,   4,   0,   0,   0,   0,   0,   0 },
+ {   8,   4,   4,   8,   5,  12,   8,   0,   0,   0,   1,   1,   0,   0,   0,   0,   0,   0 },
+ {   8,   8,  12,  12,  12,  12,   8,   0,   0,   0,   0,   0,   1,   0,   0,   0,   0,   0 },
+ {  11,  32,  25,  32,  25,  25,  18,  32,  32,  32,  25,  25,  32,  32,  32,  32,  32,  32 },
+ {  18,  25,  25,  32,  32,  25,  18,  25,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32 },
+ {  32,  18,  25,  11,  11,  25,  18,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32 },
+ {  18,  32,  32,  25,  25,  25,  25,  32,  25,  32,  32,  32,  32,  32,  32,  32,  32,  32 },
+ { 166, 252, 235, 219, 217, 235, 162, 218, 253, 252, 198, 238, 116, 116, 116, 251, 235, 252 },
+ { 164,  82,  65,  65,  65,  67, 116, 116, 116, 116, 116, 116, 253, 116, 116, 116, 116, 116 },
+ { 107, 252, 234, 235, 235, 235, 130, 238, 254, 158, 251, 235, 148, 116, 116, 116, 235, 238 },
+ { 121,  82,  65,  65,  68,  65, 118, 116, 116, 116, 148, 104, 254, 116, 116, 116, 116, 116 },
+ { 116, 253, 250, 252, 133, 218, 131, 254, 254, 167, 252, 253, 116, 116, 116, 116, 251, 254 },
+ { 121,  99,  99,  82,  98,  65, 102, 116, 116, 116, 115, 116, 253, 116, 116, 116, 116, 116 },
+ { 103, 219, 235, 235, 235, 219, 114, 254, 252, 186, 174, 254, 115, 116, 235, 116, 238, 251 },
+ { 124,  82,  65,  65,  65,  67, 122, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 1082 1093
+ {  11,  39,  39,  39,  39,  39,   2,  39,  39,  39,  39,  39 },
+ {  26,  39,  39,  39,  39,  39,   2,  39,  39,  39,  39,  39 },
+ {  18,  38,  54,  39,  39,  39,  33,  39,  39,  39,  39,  39 },
+ {  11,  39,  39,  39,  39,  31,  10,  39,  39,  39,  39,  39 },
+ {   8,   4,   8,   0,   0,   1,   0,   0,   0,   0,   0,   0 },
+ {   8,   8,   4,   4,   0,   1,   0,   0,   0,   0,   0,   0 },
+ {   5,  10,   0,   5,   0,   0,   3,   0,   0,   0,   0,   0 },
+ {   9,   8,   4,   4,   4,   0,   0,   0,   0,   0,   0,   0 },
+ {  18,  25,  32,  32,  32,  25,  25,  32,  32,  32,  32,  32 },
+ {  18,  25,  25,  32,  25,  25,  32,  32,  32,  32,  32,  32 },
+ {  18,  25,   4,  25,  25,  25,  25,  25,  25,  25,  25,  25 },
+ {  25,  25,  18,  11,  11,  25,  25,  32,  32,  32,  32,  32 },
+ { 147, 253, 252, 254, 253, 253, 116, 235, 238, 235, 116, 235 },
+ { 118,  99,  82, 116, 116, 117, 118, 116, 116, 116, 116, 116 },
+ { 131, 252, 253, 253, 253, 251, 116, 116, 116, 116, 116, 116 },
+ { 134,  82,  99,  99, 116, 131, 121, 116, 116, 116, 116, 116 },
+ { 162, 250, 247, 252, 116, 235, 241, 253, 116, 116, 116, 116 },
+ { 120, 129, 116,  99, 116, 116, 113, 132, 116, 132, 116, 116 },
+ {  99, 252, 253, 198, 253, 134, 125, 251, 252, 235, 116, 235 },
+ { 116,  83,  99,  99, 136, 116, 116, 116, 116, 116, 116, 116 },
+  }),
+};
+#else
+const CtxSet ContextSetCfg::SigFlagCtxSetSwitch[] =
+{
+  ContextSetCfg::addCtxSet
+  ({
+  { 25, 19, 28, 14, 18, 28, 29, 30, 19, 45, 30, 38, },
+  { 25, 19, 20, 14, 18, 28, 29, 30, 19, 45, 30, 38, },
+  { 17, 26, 27, 29, 9, 42, 28, 37, 33, 44, 36, 45, },
+  { 25, 19, 28, 14, 18, 28, 29, 30, 19, 45, 30, 38, },
+  { 13, 9, 10, 10, 10, 9, 9, 13, 10, 9, 10, 10, },
+  { 13, 9, 9, 10, 10, 9, 10, 13, 9, 9, 10, 10, },
+  { 13, 9, 9, 5, 9, 9, 9, 9, DWS, DWS, 9, 10, },
+  { 13, 9, 10, 10, 10, 9, 9, 13, 10, 9, 10, 10, },
+  { DWE, 4, DWE, 11, DWE, 4, 4, 4, DWE, DWE, 11, 11, },
+  { 11, 4, 11, 4, 11, 4, 4, 4, 11, 11, 11, 11, },
+  { 11, 11, DWE, 4, 4, DWE, DWE, 4, DWE, 11, DWE, DWE, },
+  { DWE, 4, DWE, 11, DWE, 4, 4, 4, DWE, DWE, 11, 11, },
+  { 85, 117, 131, 133, 105, 107, 107, 123, 99, 116, 117, 149, },
+  { 121, 180, 118, 124, 117, 123, 123, 102, 134, 136, 123, 90, },
+  { 85, 117, 131, 133, 105, 107, 107, 123, 99, 116, 117, 149, },
+  { 121, 180, 118, 124, 117, 123, 123, 102, 134, 136, 123, 90, },
+  { 85, 117, 131, 133, 105, 107, 107, 123, 99, 116, 117, 149, },
+  { 121, 180, 118, 124, 117, 123, 123, 102, 134, 136, 123, 90, },
+  { 85, 117, 131, 133, 105, 107, 107, 123, 99, 116, 117, 149, },
+  { 121, 180, 118, 124, 117, 123, 123, 102, 134, 136, 123, 90, },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+  { 25, 12, 28, 29, 26, 53, 53, 46, },
+  { 25, 12, 28, 29, 34, 53, 45, 38, },
+  { 25, 27, 43, 29, 33, 60, 60, 38, },
+  { 25, 12, 28, 29, 26, 53, 53, 46, },
+  { 13, 13, 10, 10, 6, 5, DWS, DWS, },
+  { 13, 12, 10, 12, 5, 5, DWS, DWS, },
+  { 9, 9, 5, 13, 4, 1, 4, 13, },
+  { 13, 13, 10, 10, 6, 5, DWS, DWS, },
+  { DWE, DWE, 11, 4, 11, 4, 4, 11, },
+  { DWE, 4, 4, 4, 4, 4, 11, DWE, },
+  { DWE, DWE, 4, 4, 25, 4, 11, 25, },
+  { DWE, DWE, 11, 4, 11, 4, 4, 11, },
+  { 131, 103, 117, 116, 117, 118, 102, 180, },
+  { 107, 136, 123, 123, 122, 107, 200, 220, },
+  { 131, 103, 117, 116, 117, 118, 102, 180, },
+  { 107, 136, 123, 123, 122, 107, 200, 220, },
+  { 131, 103, 117, 116, 117, 118, 102, 180, },
+  { 107, 136, 123, 123, 122, 107, 200, 220, },
+  { 131, 103, 117, 116, 117, 118, 102, 180, },
+  { 107, 136, 123, 123, 122, 107, 200, 220, },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+  { 26, 38, 46, 54, 19, 39, 39, 39, 13, 39, 39, 39, },
+  { 26, 38, 46, 54, 19, 39, 39, 39, 28, 39, 39, 39, },
+  { 18, 45, 53, 46, 11, 54, 61, 39, 26, 39, 39, 39, },
+  { 26, 38, 46, 54, 19, 39, 39, 39, 13, 39, 39, 39, },
+  { 9, 13, 12, DWS, DWS, 4, 4, 0, 1, 0, 0, 0, },
+  { 9, 13, 12, DWS, DWS, 4, 4, 0, 4, 0, 0, 0, },
+  { 9, 13, 12, 9, DWS, DWS, DWS, 4, 0, 0, 0, 0, },
+  { 9, 13, 12, DWS, DWS, 4, 4, 0, 1, 0, 0, 0, },
+  { 11, 4, 25, 4, 25, 25, 25, 25, 25, 25, 25, 25, },
+  { 4, 4, 25, 4, DWE, 25, 25, 25, 25, 25, 25, 25, },
+  { 11, 11, DWE, 25, DWE, 25, 25, 25, 11, 25, 25, 25, },
+  { 11, 4, 25, 4, 25, 25, 25, 25, 25, 25, 25, 25, },
+  { 165, 234, 217, 252, 104, 236, 252, 216, 115, 253, 254, 140, },
+  { 117, 234, 117, 83, 117, 146, 130, 99, 164, 116, 116, 116, },
+  { 165, 234, 217, 252, 104, 236, 252, 216, 115, 253, 254, 140, },
+  { 117, 234, 117, 83, 117, 146, 130, 99, 164, 116, 116, 116, },
+  { 165, 234, 217, 252, 104, 236, 252, 216, 115, 253, 254, 140, },
+  { 117, 234, 117, 83, 117, 146, 130, 99, 164, 116, 116, 116, },
+  { 165, 234, 217, 252, 104, 236, 252, 216, 115, 253, 254, 140, },
+  { 117, 234, 117, 83, 117, 146, 130, 99, 164, 116, 116, 116, },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+  { 26, 46, 38, 39, 44, 39, 39, 39, },
+  { 26, 46, 38, 39, 44, 39, 39, 39, },
+  { 33, 45, 38, 31, 4, 39, 39, 39, },
+  { 26, 46, 38, 39, 44, 39, 39, 39, },
+  { DWS, 12, 12, DWS, 0, 0, 0, 0, },
+  { DWS, 12, 12, 4, 0, 0, 0, 0, },
+  { DWS, 12, DWS, 7, 1, 0, 0, 0, },
+  { DWS, 12, 12, DWS, 0, 0, 0, 0, },
+  { DWE, 11, DWE, 25, 25, 25, 25, 25, },
+  { DWE, 11, DWE, 25, 25, 25, 25, 25, },
+  { 25, 25, 25, DWE, 25, 25, 25, 25, },
+  { DWE, 11, DWE, 25, 25, 25, 25, 25, },
+  { 164, 235, 235, 236, 115, 185, 253, 118, },
+  { 117, 91, 97, 82, 212, 116, 116, 116, },
+  { 164, 235, 235, 236, 115, 185, 253, 118, },
+  { 117, 91, 97, 82, 212, 116, 116, 116, },
+  { 164, 235, 235, 236, 115, 185, 253, 118, },
+  { 117, 91, 97, 82, 212, 116, 116, 116, },
+  { 164, 235, 235, 236, 115, 185, 253, 118, },
+  { 117, 91, 97, 82, 212, 116, 116, 116, },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+  { 18, 39, 39, 39, 19, 39, 39, 39, 0, 39, 39, 39, },
+  { 18, 39, 39, 39, 19, 39, 39, 39, 0, 39, 39, 39, },
+  { 26, 54, 39, 39, 34, 39, 39, 39, 0, 39, 39, 39, },
+  { 18, 39, 39, 39, 19, 39, 39, 39, 0, 39, 39, 39, },
+  { DWS, DWS, 12, 12, DWS, 0, 0, 0, 0, 0, 0, 0, },
+  { DWS, DWS, 12, 12, DWS, 0, 0, 4, 0, 0, 0, 0, },
+  { DWS, 4, 4, DWS, DWS, 4, 0, 4, 0, 0, 0, 0, },
+  { DWS, DWS, 12, 12, DWS, 0, 0, 0, 0, 0, 0, 0, },
+  { DWE, 25, 25, 25, 25, 25, 25, 25, DWE, 25, 25, 25, },
+  { 11, 25, 25, 25, DWE, 25, 25, 25, 25, 25, 25, 25, },
+  { DWE, 4, 25, DWE, DWE, 25, 25, 25, 25, 25, 25, 25, },
+  { DWE, 25, 25, 25, 25, 25, 25, 25, DWE, 25, 25, 25, },
+  { 148, 252, 235, 235, 115, 219, 187, 189, 116, 237, 252, 238, },
+  { 118, 114, 82, 73, 132, 99, 116, 99, 182, 116, 116, 116, },
+  { 148, 252, 235, 235, 115, 219, 187, 189, 116, 237, 252, 238, },
+  { 118, 114, 82, 73, 132, 99, 116, 99, 182, 116, 116, 116, },
+  { 148, 252, 235, 235, 115, 219, 187, 189, 116, 237, 252, 238, },
+  { 118, 114, 82, 73, 132, 99, 116, 99, 182, 116, 116, 116, },
+  { 148, 252, 235, 235, 115, 219, 187, 189, 116, 237, 252, 238, },
+  { 118, 114, 82, 73, 132, 99, 116, 99, 182, 116, 116, 116, },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+  { 11, 39, 39, 39, 18, 39, 39, 39, },
+  { 11, 39, 39, 39, 18, 39, 39, 39, },
+  { 18, 38, 62, 39, 18, 39, 39, 39, },
+  { 11, 39, 39, 39, 18, 39, 39, 39, },
+  { DWS, DWS, DWS, DWS, 0, 0, 0, 0, },
+  { DWS, DWS, DWS, 0, 0, 0, 0, 0, },
+  { 6, DWS, 4, 0, 0, 0, 0, 0, },
+  { DWS, DWS, DWS, DWS, 0, 0, 0, 0, },
+  { DWE, 25, 25, 25, 25, 25, 25, 25, },
+  { DWE, 25, 25, DWE, 25, 25, 25, 25, },
+  { 25, DWE, 11, 4, 25, 25, 25, 25, },
+  { DWE, 25, 25, 25, 25, 25, 25, 25, },
+  { 211, 252, 199, 252, 116, 252, 142, 252, },
+  { 117, 146, 86, 82, 151, 116, 116, 116, },
+  { 211, 252, 199, 252, 116, 252, 142, 252, },
+  { 117, 146, 86, 82, 151, 116, 116, 116, },
+  { 211, 252, 199, 252, 116, 252, 142, 252, },
+  { 117, 146, 86, 82, 151, 116, 116, 116, },
+  { 211, 252, 199, 252, 116, 252, 142, 252, },
+  { 117, 146, 86, 82, 151, 116, 116, 116, },
+  }),
+};
+#endif
+
+const CtxSet ContextSetCfg::ParFlagCtxSetSwitch[] =
+{
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 1094 1114
+ {  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  33,  25,  18,  26,  34,  27,  25,  26,  19,  42,  35,  33,  19,  27,  35,  35,  34,  42,  20,  43,  20 },
+ {   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   8,  10,  10,  13,  13,  13,  13,  13,  13,  13,  13,  13,  13,  13,  13,  13,  13,  13,  13,  13,  13 },
+ {  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 116,  91,  90, 103, 151, 120,  88, 203, 100, 233, 106, 235, 147, 119, 107, 135, 118, 105, 101, 235, 234 },
+ { 133, 115, 117, 164, 116, 164, 118, 180, 169, 106, 185, 100, 136, 134, 165, 135, 243, 216, 201, 227, 105 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 1115 1125
+ {  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  33,  25,  26,  19,  19,  27,  26,  42,  35,  35,  35 },
+ {   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {  12,  12,  12,  12,  12,  13,  13,  13,  13,  13,  13 },
+ {  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {  25,  11,  18,  25,  18,   4,  18,  25,  11,   4,   4 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ {  88, 235, 131,  99, 162, 121,  88, 106,  99, 164, 115 },
+ { 196, 101, 211, 243, 196, 106, 227, 227, 211, 102, 151 },
+  }),
+};
+
+
+#if JVET_AG0100_TRANSFORM_COEFFICIENT_CODING
+const CtxSet ContextSetCfg::GtxFlagCtxSetSwitch[] =
+{
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 1126 1154
+ {  42,  33,  26,  34,  42,  27,  20,  21,  10,  26,  19,  27,  20,  28,  29,   3,  27,  20,  28,  21,  29,  30,  19,  13,  21,  44,  22,  22,  38 },
+ {  58,  25,  18,   3,  11,   4,   4,   5,   2,  26,  11,   4,  20,  28,  29,  18,  27,  20,  28,  29,  21,  22,  42,  28,  13,  44,  22,  22,  38 },
+ {  27,  41,  49,  42,  50,  27,  59,  21,  18,  18,  11,  27,  20,  28,  21,  26,  11,  27,  28,  36,  21,  22,  11,  27,  20,  28,  29,  29,  38 },
+ {  57,  18,  26,  34,  27,  27,  20,  21,  10,  26,  19,  35,  20,  28,  29,   3,  27,  20,  13,  29,  29,  30,  27,  13,  21,  52,  22,  22,  38 },
+ {   6,   9,   7,  10,  12,   7,  13,  10,  10,  13,   9,   9,   7,   7,  10,  12,  10,   9,   9,   9,  10,  10,   5,   5,  10,   8,  10,   9,  12 },
+ {   1,  12,  13,  13,  13,  13,  13,  10,  10,  12,  10,  10,  10,   7,  10,  13,   8,   9,  12,   9,  12,  10,   7,   8,   6,   5,  10,   9,  13 },
+ {   8,   6,   3,   3,  12,   4,  13,   8,   9,   9,  12,  12,  13,  12,   8,  10,  10,   9,   9,   9,  13,  10,  10,  10,   7,   8,   9,  13,  13 },
+ {   4,   7,   7,  10,  13,   7,  13,  10,  10,  13,  10,  10,  10,   7,  10,  12,   9,   9,   9,  10,  13,  10,   7,   9,   6,   8,  10,  10,  13 },
+ {  25,  11,   4,   4,   4,   4,   4,  18,  11,  18,   4,   4,   4,   4,  11,  18,  11,  11,  11,   4,   4,   4,   4,   4,  18,  18,  11,   4,  11 },
+ {  25,  25,   4,   4,   4,   4,   4,  11,   4,   4,   4,  11,   4,   4,   4,  25,   4,   4,  18,   4,   4,   4,   4,  11,   4,   4,  11,   4,   4 },
+ {  11,  11,   4,   4,   4,   4,  11,  18,  18,   4,  18,   4,   4,   4,  11,  25,  18,  11,  18,  25,  32,  18,  11,  18,   4,   4,  25,  18,  11 },
+ {  25,  18,   4,   4,  11,   4,   4,  18,  11,   4,   4,   4,   4,   4,  11,  11,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,  11,   4,  11 },
+ { 119, 149,  99, 106, 235, 169, 131, 130, 250, 167, 251, 251, 250, 250, 122, 235, 250, 251, 219, 251, 234, 133, 252, 252, 250, 236, 250, 218, 235 },
+ { 120, 194, 120, 114,  85, 103, 137, 114, 100,  88, 100,  84, 102, 103,  85,  85,  89,  85,  84, 146,  84,  86, 100, 100,  90,  84,  82,  83,  67 },
+ { 115, 136, 148, 135, 197, 100, 168, 147, 250, 119, 234, 231, 180, 138, 117, 232, 219, 251, 203, 213, 152, 149, 153, 236, 217, 252, 135, 201, 183 },
+ { 137, 162,  84, 106,  87, 179, 199, 129, 178, 115, 100,  99, 146, 104,  90, 100, 101, 115,  84, 101,  84,  83, 105,  87,  99, 100,  86, 100,  67 },
+ { 219, 117, 233, 183, 185, 236,  70, 230, 122, 219, 198, 137, 115,  99, 236, 115, 132, 251, 243, 134, 197, 241, 218, 250, 147, 134, 115,  99, 132 },
+ { 146, 101, 120, 137, 130, 100, 113,  98, 194, 242, 105,  85, 120,  75,  84,  99, 106, 114, 163, 129, 130, 101, 100,  99, 130, 115, 102,  99, 115 },
+ { 131, 102, 105, 102,  87, 169, 104, 116, 233, 218, 233, 200, 169, 186, 117, 199, 203, 251, 138, 117, 163, 121, 122, 201, 155, 137, 151, 154, 202 },
+ { 131, 152, 122, 100,  99, 101,  87, 130, 130, 130, 130,  99,  99, 101,  98,  90, 101,  90,  99, 130,  83,  99, 105,  99, 107,  84, 241,  86,  66 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 1155 1169
+ {  11,  10,  11,   4,  12,   5,   5,   6,  18,  19,  20,  29,  29,  53,  46 },
+ {  18,  10,   3,   4,   4,  28,   5,   6,  10,  11,  20,  21,   5,  22,  15 },
+ {  35,  18,  11,  19,  36,  59,  28,  29,  11,  50,  28,  21,  22,  22,  46 },
+ {  11,  26,  19,  43,  36,  21,  13,  37,  26,  19,  20,  13,  37,  45,  46 },
+ {   5,   9,   8,   9,   8,   6,   8,   8,  12,  10,  10,   5,   6,  10,   9 },
+ {  13,  12,   8,   8,   5,   2,   8,  13,   8,  13,  13,  10,  13,   7,   9 },
+ {   4,   4,  13,   3,   9,  12,   3,  13,   6,   0,   0,  12,   0,  13,   0 },
+ {   4,   8,   8,  10,   4,   5,   9,   9,  10,  13,  12,   7,   7,  13,  13 },
+ {  32,  32,  18,  32,  25,  11,  11,   4,   4,   4,  25,   4,   4,   4,   4 },
+ {  25,  18,   4,  32,   4,   4,  25,  32,   4,   4,  32,   4,   4,  18,  18 },
+ {   4,   4,   4,   4,   4,  18,   4,  11,  25,  25,   4,  11,  25,  25,  11 },
+ {   4,  32,  11,  25,   4,  11,  25,  18,  18,   4,  32,   4,   4,  18,  18 },
+ { 219, 232, 195, 135, 180, 146, 106,  92,  91,  89,  97, 100, 105, 183, 182 },
+ {  98, 113, 131, 116, 101, 211, 106, 229, 163, 119, 247, 219, 214, 201, 131 },
+ { 168, 178, 181,  99, 180, 116, 121, 135,  82, 234, 164, 121, 218, 250, 105 },
+ {  82, 115,  91, 108, 115, 118,  92, 103, 122, 121, 215, 167, 122, 102, 200 },
+ {  99, 124, 105, 115, 161,  88, 132, 169, 250, 248, 251,  70, 117, 184, 237 },
+ { 220, 243, 234, 121, 234,  87, 249, 137,  97, 116, 116, 129, 116, 201, 116 },
+ { 138, 135, 134, 246, 229, 148, 117, 122,  84, 102,  81, 103,  99, 201,  99 },
+ { 100, 101, 115, 133, 102, 118, 163, 146, 133, 100, 219, 130, 137, 145, 132 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 1170 1198
+ {  25,  25,  19,  27,  20,  36,  21,  37,  33,  12,  28,  21,  29,  37,  22,  34,  28,  29,  29,  22,  22,  30,  28,  29,  45,  30,  23,  38,  23 },
+ {  25,  25,  19,  27,  20,  36,  13,  29,  18,  12,  28,  21,  29,  37,  22,  34,  28,  29,  37,  22,  22,  30,  13,  29,  45,  30,  15,  38,  23 },
+ {   9,  17,  26,  27,  35,  13,  36,  29,  25,  27,  20,  36,  21,  29,  22,  33,  35,  36,  21,  37,  14,  30,  19,  36,  37,  45,  30,  38,  46 },
+ {  25,  25,  19,  27,  20,  36,  21,  29,  33,  12,  28,  21,  29,  37,  22,  34,  28,  29,  29,  22,  22,  30,  28,  29,  45,  30,  23,  38,  23 },
+ {   8,   9,   9,  10,  10,  13,  13,  10,  13,  13,  13,  13,  13,  13,  13,   9,   9,  10,  10,  13,  13,  13,  10,   9,  10,  10,  12,  13,  13 },
+ {   9,   9,  10,  13,  13,  13,  13,  13,  13,  13,  13,  13,  13,  13,  13,  10,  10,  10,  10,  13,  13,  13,  10,  10,   9,  10,  12,  12,  13 },
+ {  12,   8,   8,  10,  10,   7,  13,   8,   9,   9,  12,  13,  13,  13,  13,   9,   9,   9,  12,   8,   9,   8,   6,   9,   9,   8,   9,   8,   7 },
+ {   9,   9,   7,  10,  10,  10,  13,   9,  13,  13,  13,  13,  13,  13,  13,   9,   9,  10,  10,  13,  13,  13,  10,   9,  10,  13,  12,  10,  13 },
+ {   4,  11,   4,   4,   4,  11,   4,  11,   4,  11,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,  11,  11,  11,  11,   4,   4,  18,  11 },
+ {  18,  11,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,  11,   4,   4,   4,   4,   4,   4,  11,   4,   4,  11,  18,   4,  11,   4,  11,  11 },
+ {  18,  18,  18,  18,   4,  18,  25,  18,  11,   4,  11,   4,   4,   4,   4,  11,  11,   4,  11,   4,  11,  18,   4,  11,   4,   4,  18,  11,   4 },
+ {  18,  11,   4,   4,   4,   4,   4,  11,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,  11,  11,   4,   4,   4,  11,   4,  11 },
+ {  82,  85, 101, 170, 170, 148, 103, 132,  84, 151, 231, 150, 132, 106, 228, 202, 251, 133, 250, 103, 148, 167, 244, 167, 184, 181,  89, 118, 201 },
+ { 166, 104, 106,  99, 101, 105, 122, 210, 102, 102, 103, 182, 200, 169,  83, 117, 100, 119, 100, 106, 131,  67,  98,  84,  99, 214, 234, 183,  66 },
+ {  81,  90, 115, 152, 168, 186, 103, 134,  74, 117, 150, 116, 211, 116, 105, 103, 137, 163, 179, 115, 117, 138, 194, 133, 117, 117,  90, 163, 232 },
+ { 135, 103, 116,  83,  88, 100, 152,  84, 102, 103, 117, 168, 217, 200,  88, 119, 106, 151, 168, 153, 218,  69, 106,  99, 139, 105,  91, 234,  69 },
+ { 184,  83, 132,  98, 248, 129, 234, 235,  88, 115, 131,  88,  89, 147, 114, 242, 107,  89, 211, 132, 102, 134, 146, 132, 131, 101, 242, 131, 243 },
+ { 115, 123, 118, 243, 242, 138, 118, 130, 117, 136, 200, 121, 147, 166, 233, 117, 131, 251, 197, 172, 202,  89, 117, 100, 213, 234, 122, 251, 117 },
+ {  82,  99, 106, 119, 137, 106, 106, 212,  83, 118, 153, 165, 148, 117, 229, 106, 122, 104, 170, 100, 119, 169, 100, 148, 136, 117, 100, 118, 230 },
+ { 139, 103, 116, 100, 101, 102, 122, 107, 102, 101, 103, 150, 201, 216, 146, 122, 103, 150, 102, 183, 134,  69, 115,  88,  99, 103, 235, 248,  66 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 1199 1213
+ {  40,  18,  12,   5,   5,  13,  21,  22,  43,  29,  45,  38,  38,  46,  46 },
+ {  25,  18,   4,  12,  12,  13,  13,   6,  20,  13,  37,  38,  46,  46,  54 },
+ {  17,  33,  12,  20,  59,  21,  29,  45,  42,  29,  53,  46,  54,  54,  54 },
+ {  25,  26,  20,  13,  21,   6,  14,  22,  43,  29,  45,  38,  38,  46,  46 },
+ {  12,  12,  12,  12,  12,   8,  13,  13,   8,   8,   8,  13,   8,  12,  13 },
+ {  12,  13,   9,  12,  12,  13,  10,  13,   8,   8,  12,  13,  12,  10,  10 },
+ {   6,   9,   8,   7,  12,   7,  13,  10,   4,   2,   3,  13,   0,   2,   8 },
+ {  12,  12,  12,  13,  13,   8,  12,  13,   8,   9,   9,  13,  13,   9,   9 },
+ {  32,   4,  18,  32,  32,  18,  18,  18,  25,  18,  18,  32,  18,  32,  32 },
+ {  25,   4,  11,  25,  25,  32,  11,  32,  11,  25,  32,  25,  32,  25,  25 },
+ {   4,  11,  18,  11,  11,  18,  25,  18,  25,   4,   4,  11,  25,   4,  25 },
+ {  25,   4,  11,  18,  32,   4,  11,  18,  18,   4,  18,  25,   4,   4,  18 },
+ {  91, 102, 115, 114, 210, 148, 226,  99,  99, 210, 179,  83, 119, 131, 194 },
+ { 114, 101, 103, 123, 120, 136, 138, 105, 122, 203, 244, 215, 250, 214,  81 },
+ {  66,  82, 105,  98, 114, 177, 185, 167, 227, 242, 130,  98,  88,  82, 146 },
+ { 148, 131, 117, 235, 194, 166, 118,  89, 118, 137, 177,  96, 183, 151, 116 },
+ { 114, 131, 178, 115, 233, 134, 198, 101, 163, 115, 134,  83, 150, 114, 218 },
+ { 117, 103, 236, 234,  66, 231, 116, 145, 147, 235, 115, 169, 116, 114,  82 },
+ {  73, 179, 227, 130, 115, 107, 104, 133, 115,  84, 116,  97, 201, 181, 234 },
+ { 116, 101,  99, 146, 122, 118, 212, 102, 140, 171, 100, 234, 234, 104,  81 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 1214 1242
+ {  18,  25,  26,  34,  27,  43,  28,  52,  33,  19,  12,  28,  21,  21,  37,  26,  20,  21,  29,  22,  22,  30,  20,  29,  45,  30,  38,  38,  23 },
+ {  48,  25,  10,  34,  19,  12,  20,  13,  33,  19,  12,  28,  28,  21,  14,  26,  20,  21,  29,  37,  22,  30,  20,  14,  37,  30,  38,  38,  23 },
+ {  26,  25,  26,  34,  19,  12,  51,  29,  25,  26,  27,  35,   5,  21,  37,  33,  19,  43,  36,  29,  29,  45,  11,  20,  21,  29,  22,  45,  38 },
+ {  18,  25,  26,  19,  27,  20,  28,  21,  33,  19,  12,  28,  21,  21,  14,  26,  20,  21,  29,  22,  22,  30,  20,  29,  45,  30,  38,  38,  23 },
+ {   9,  10,  10,  13,  10,  13,  10,  10,  13,  10,  13,  12,   9,  10,   9,  10,  10,  10,  10,  12,  13,  13,  10,  10,  10,  10,  10,  12,  13 },
+ {   8,  13,  13,  13,  13,  13,  13,  10,  13,  10,  13,  12,  10,  13,  10,  10,  10,  10,  10,  12,  13,  13,  10,   9,   9,  10,  12,  12,  13 },
+ {   8,   8,   5,   7,  10,   9,   8,  12,  13,   9,   8,  10,   8,   7,   8,   8,   9,   8,  13,   8,   8,   8,   7,   5,   8,  12,   9,   9,   9 },
+ {   9,  13,   7,  10,  10,  10,  10,  10,  13,  10,  13,  13,  10,  13,  10,  10,  10,  10,  10,  12,  13,  13,  10,   8,  10,   9,  12,  12,  13 },
+ {  25,  11,   4,   4,   4,  11,   4,  18,  18,   4,  11,   4,   4,   4,   4,   4,   4,   4,   4,  11,   4,   4,   4,  11,   4,  11,   4,   4,  11 },
+ {  32,  11,   4,   4,   4,   4,   4,  11,  18,   4,  11,   4,   4,   4,   4,   4,   4,   4,   4,  11,   4,   4,  11,  11,   4,   4,  18,   4,   4 },
+ {  18,  25,  18,   4,  32,  25,   4,  32,  18,   4,   4,   4,   4,   4,  11,   4,  11,  11,  32,  11,  11,  32,   4,   4,   4,  18,  18,  11,   4 },
+ {  25,  11,   4,   4,   4,   4,   4,  18,  18,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,  11,   4,   4,   4,  11,   4,   4,  18,  11,   4 },
+ { 129,  90,  85, 133, 119, 178, 102, 115,  74, 100, 227, 106, 101, 163, 121, 153, 154, 147, 132,  85,  89, 228,  89, 130, 104, 178, 117,  91, 218 },
+ { 194, 162, 118,  84, 103,  90, 151, 106, 120, 170, 116, 134, 203, 137, 101, 103, 100, 230, 184, 235, 202,  82, 116, 242, 180, 246, 184, 235,  67 },
+ {  88, 146, 152, 162, 103, 102, 164, 149,  68, 100, 131,  87, 116, 100, 118,  88, 116, 101, 100, 115, 100, 117,  84, 131, 179, 104,  90,  91, 122 },
+ { 242, 163, 101, 115, 146, 182, 182, 114, 133, 152, 184, 168, 122, 216, 106, 120, 122, 186, 218, 235, 234,  84, 154, 135, 139, 250, 187, 170,  68 },
+ { 252, 116, 130, 101, 161, 118, 121, 186, 153, 115,  87, 249,  85, 161, 117, 107,  99, 102, 224,  90, 181, 232, 102, 115, 211, 115, 146, 227, 201 },
+ {  99, 120, 228, 225, 113, 129, 210,  97, 101, 196, 134,  88, 252, 250, 100, 132, 107, 149, 168, 187, 200,  84, 122, 219, 138, 227, 231, 180,  82 },
+ { 129,  83, 105, 146, 117, 104, 104, 178,  71,  99, 115, 115, 100, 131, 117, 101, 121, 101, 103,  85, 114, 117,  87, 101, 114, 100, 102, 164, 168 },
+ { 210, 226, 121, 104,  99, 100, 104, 114, 119, 184, 105, 228, 233, 150, 114, 119, 117, 169, 167, 235, 186,  83, 152, 249, 248, 185, 235, 203,  72 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 1243 1257
+ {  33,  18,   4,   5,   5,   5,   5,   6,  11,  20,  29,  30,  22,  30,  23 },
+ {  10,  25,  11,   4,   4,   5,   5,  21,  18,   5,  29,  30,  53,  61,  54 },
+ {  34,  33,  27,  27,  52,  12,  13,   5,  34,  43,  37,  60,  45,  46,  54 },
+ {  33,  18,  27,  13,  21,  21,  29,  22,  11,  20,  29,  30,  30,  38,  46 },
+ {   8,  12,   8,   8,   8,   4,   8,   6,   9,   8,   8,   6,   9,  12,  12 },
+ {   7,  13,   8,   8,   8,  10,   7,   7,   9,   8,   6,   5,  12,   3,  12 },
+ {   8,  12,   6,  13,   3,   3,  12,  13,   2,   0,   0,   0,   3,   0,   4 },
+ {   8,  12,   8,   8,   8,   5,  12,   8,  13,   9,   8,   6,  13,   2,   8 },
+ {  32,  32,  25,  25,  25,   4,  11,   4,  11,  32,   4,   4,  25,   4,  32 },
+ {  18,  18,  25,  32,  32,  25,   4,   4,  18,  25,  18,   4,  25,  11,  32 },
+ {  25,  11,  18,  11,  11,  18,   4,  25,  18,  18,  25,  25,   4,   4,  25 },
+ {  25,  25,   4,  18,  18,   4,  25,   4,  18,  32,   4,  11,  18,   4,   4 },
+ { 133,  82, 103, 146, 162, 108, 195, 117,  97,  84,  83, 130, 115, 184, 146 },
+ {  98, 131, 139, 133, 150, 123, 150, 120, 234, 216, 249, 248, 251, 235, 101 },
+ { 102, 145, 100,  98, 146, 128, 120, 186,  83, 114,  98,  99,  70, 133, 101 },
+ { 194, 226, 123, 103, 119, 198, 117, 104, 184, 252, 134, 199, 134, 131, 148 },
+ {  83, 116,  99, 185, 161, 232,  69, 234, 122, 116, 116, 116, 113, 235, 253 },
+ { 107, 131, 251, 234, 186, 138, 227, 176, 132, 212, 116, 116, 199, 116, 232 },
+ { 136,  88, 181, 116, 102, 116,  99, 197,  67,  98, 115,  99, 104, 116, 149 },
+ { 101, 147, 124, 140, 152, 153, 130, 245, 232, 233, 232, 216, 150, 131,  98 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 1258 1286
+ {  28,  34,  26,  34,  27,  27,  35,  28,  11,  19,  19,  27,  28,  28,  29,  27,  12,  28,  28,  21,  29,  22,  20,  36,  29,  44,  30,  22,  38 },
+ {  61,  10,  18,   3,  11,  19,  27,  28,   3,  34,  19,  27,  12,  20,  21,  27,  12,  28,  28,  21,  29,  22,  43,  36,  21,  44,  22,  45,  38 },
+ {  29,  26,  42,  34,  19,  35,  58,  13,  19,  19,  19,  27,  12,  28,  29,  35,  19,  35,  20,  36,  36,  22,  12,  20,  28,   5,  21,  21,  30 },
+ {  59,  26,  26,  19,  19,  12,  35,  13,  11,  19,  19,  27,  28,  28,  29,  27,  12,  28,  28,  21,  29,  22,  28,  36,  29,  44,  30,  22,  38 },
+ {   4,   5,  10,   6,  10,  13,  10,  10,  10,  13,  10,  12,  13,  13,  10,  10,  13,  13,   9,  13,  13,  10,   3,  13,  13,  12,  13,  13,  13 },
+ {   8,   0,  13,   3,  13,  10,  13,   9,  10,  12,  13,  13,  13,  13,  10,  10,  10,  13,  10,  13,  13,  10,  10,  13,  13,  12,  13,  13,  13 },
+ {   5,   7,   2,  10,  13,   3,   8,   4,   1,   8,   8,   6,  13,  12,   5,   8,   8,   5,  12,   8,   8,   9,   3,  10,   9,   9,  10,  12,  13 },
+ {   5,   8,   7,  10,  13,  13,  13,  10,  10,  13,  10,  12,  13,  13,  10,   9,  13,  13,   9,  13,  13,  10,   6,  13,  13,  12,  13,  13,  13 },
+ {   4,  18,   4,   4,   4,   4,   4,  25,  25,  11,   4,  11,   4,   4,  11,   4,   4,   4,   4,  11,   4,   4,   4,   4,   4,  11,   4,   4,   4 },
+ {  32,  18,  32,  11,  11,   4,   4,  18,  18,   4,   4,   4,  11,  11,  11,  18,   4,   4,   4,  18,   4,   4,   4,   4,   4,  11,   4,   4,   4 },
+ {  11,  32,  11,  11,   4,  18,  18,   4,   4,  11,   4,   4,  32,  11,   4,  11,  18,   4,  32,  25,  25,  18,   4,   4,  11,   4,   4,  11,   4 },
+ {  18,  11,   4,   4,  11,   4,   4,  25,  25,  11,   4,   4,   4,   4,  18,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,  11,   4,   4 },
+ { 125, 116, 137, 122, 118, 234, 250, 217,  88,  85, 250, 219, 180, 232, 169, 113, 234, 184, 251, 200, 170, 250, 135, 232, 153, 235, 118, 228, 234 },
+ { 253, 122, 194, 147, 232, 184, 249, 210, 193, 227, 103, 103, 218, 234, 227, 250, 118, 153, 118, 234, 202,  99, 121, 232, 216, 119, 201, 234,  67 },
+ { 227, 117, 177, 119, 117,  90, 234, 203,  81,  68, 217, 218, 234, 186, 218,  83, 120, 234, 250, 179, 201, 200,  85, 195, 119, 219, 101, 199, 234 },
+ { 252, 132, 215, 130, 234, 194, 168, 154, 121, 235, 153, 167, 234, 186, 227, 234, 250, 218, 234, 234, 234, 118, 136, 234, 234, 149, 234, 202,  90 },
+ { 134, 216, 211,  88, 234, 250, 235, 253, 137, 108, 121, 234, 213, 101, 154,  85, 220, 251, 116, 219, 150, 133, 116,  89, 115, 123, 233, 216, 117 },
+ { 132, 215, 217, 226, 199, 117,  84, 105, 116, 131, 116, 104, 169, 199, 167, 133,  89, 101, 185, 203, 213, 203, 123, 149, 118, 103, 217, 235, 150 },
+ { 117, 122, 154, 102, 121, 100, 217, 250,  89,  83, 250, 219, 133, 218, 153,  83, 218, 212, 234, 234, 181, 200, 106, 202, 132, 235, 101, 103, 218 },
+ { 196, 179, 225, 178, 162, 234, 154, 180, 148, 147, 116, 103, 234, 218, 138, 203, 234, 218, 251, 217, 234, 106, 135, 233, 218, 136, 234, 231,  74 },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 1287 1301
+ {   5,  11,   4,   4,  12,   5,   5,   6,  34,  19,  12,  35,  13,  21,  22 },
+ {  51,  10,  18,  11,  35,  12,   5,  29,  42,  27,  12,  51,   5,  14,  30 },
+ {   4,  11,  12,  12,  43,  28,  36,   5,  52,  52,  29,   5,  13,  45,   7 },
+ {   5,  11,  35,   4,  20,  13,   5,   6,  50,   4,  12,  20,  13,   5,  30 },
+ {   4,   4,   8,   8,  12,   5,   9,  13,   4,  10,  13,  13,  13,  13,  13 },
+ {   3,  13,  10,   9,  13,  12,  12,  10,   7,  13,  12,  12,  13,   8,  13 },
+ {   4,   2,   4,  12,   4,  12,  13,   2,   0,   0,  10,   3,   0,   8,  10 },
+ {  10,   4,   4,   4,   8,   8,  12,   9,   2,   9,  13,  13,  13,  13,  13 },
+ {  32,   4,  18,   4,  25,   4,  18,  25,  18,  11,   4,  25,  11,  18,   4 },
+ {  18,  32,  18,   4,   4,   4,  25,  11,  32,  18,  32,  18,  11,   4,  11 },
+ {   4,   4,  18,   4,  25,   4,   4,   4,  11,  18,   4,  18,  18,  25,  25 },
+ {   4,   4,   4,   4,  11,  11,  25,  11,  18,  11,   4,  32,   4,   4,   4 },
+ { 137, 200, 101, 165, 102, 196,  89, 132,  99,  84,  66, 113, 179, 183, 199 },
+ { 131, 165, 252, 202, 233, 232, 249, 234, 204, 228, 232, 233, 234, 233, 234 },
+ { 218, 182, 209,  91,  90, 154, 201, 248,  96,  66, 168, 177, 234,  83, 233 },
+ { 114, 168, 232, 169, 231,  98, 214, 117, 250, 201, 235, 234, 217, 252, 233 },
+ { 212, 194, 115,  67, 100, 114,  72, 203, 116, 245, 185, 121, 252, 252, 196 },
+ { 115, 116, 121,  88, 244, 228,  83, 114, 182, 133, 137, 113, 158, 167, 234 },
+ { 210, 234, 138, 157, 105, 186, 227, 165, 115,  82,  88, 112, 202, 234, 200 },
+ { 102, 149, 221, 150, 151, 235, 182, 117, 180, 215, 217, 217, 234, 201, 218 },
+  }),
+};
+#else
+const CtxSet ContextSetCfg::GtxFlagCtxSetSwitch[] =
+{
+  ContextSetCfg::addCtxSet
+  ({
+  { 25, 1, 40, 25, 33, 11, 9, 25, 25, 18, 12, 17, 33, 26, 19, 13, 18, 19, 20, 28, 22, },
+  { 17, 0, 9, 25, 25, 26, 1, 25, 25, 18, 12, 17, 33, 26, 19, 13, 33, 19, 20, 28, 22, },
+  { 25, 0, 40, 17, 33, 26, 0, 17, 25, 33, 19, 9, 25, 18, 34, 20, 25, 18, 11, 12, 29, },
+  { 25, 1, 40, 25, 33, 11, 9, 25, 25, 18, 12, 17, 33, 26, 19, 13, 18, 19, 20, 28, 22, },
+  { 4, 13, 10, 10, 10, 5, 12, 9, 9, 9, 5, 13, 9, 9, 9, 9, 6, 9, 9, 9, 9, },
+  { 4, 13, 10, 10, 10, 5, 12, 10, 10, 10, 6, 13, 10, 9, 10, 9, 6, DWS, DWS, 9, 10, },
+  { 2, DWS, 5, 5, 9, 2, 9, DWS, 9, 12, 5, DWS, 12, DWS, 4, 5, 6, 9, 5, 10, 5, },
+  { 4, 13, 10, 10, 10, 5, 12, 9, 9, 9, 5, 13, 9, 9, 9, 9, 6, 9, 9, 9, 9, },
+  { 11, 25, DWE, 11, 11, DWE, DWE, 11, 4, 4, 11, 11, 11, 11, 11, 11, 4, DWE, 11, 11, 4, },
+  { 25, 25, 11, 11, 4, DWE, DWE, 11, 4, 4, 11, 11, 11, 11, DWE, 11, 4, 11, 11, 11, 4, },
+  { 4, 4, 4, DWE, 25, DWE, 4, 4, 4, 11, 11, 4, 25, DWE, 4, 11, 11, 25, 11, 25, 4, },
+  { 11, 25, DWE, 11, 11, DWE, DWE, 11, 4, 4, 11, 11, 11, 11, 11, 11, 4, DWE, 11, 11, 4, },
+  { 99, 71, 83, 84, 91, 163, 73, 83, 135, 121, 108, 85, 100, 148, 148, 116, 101, 107, 121, 118, 137, },
+  { 125, 102, 118, 116, 115, 117, 164, 134, 117, 147, 117, 108, 116, 117, 118, 101, 163, 116, 116, 115, 89, },
+  { 99, 71, 83, 84, 91, 163, 73, 83, 135, 121, 108, 85, 100, 148, 148, 116, 101, 107, 121, 118, 137, },
+  { 125, 102, 118, 116, 115, 117, 164, 134, 117, 147, 117, 108, 116, 117, 118, 101, 163, 116, 116, 115, 89, },
+  { 99, 71, 83, 84, 91, 163, 73, 83, 135, 121, 108, 85, 100, 148, 148, 116, 101, 107, 121, 118, 137, },
+  { 125, 102, 118, 116, 115, 117, 164, 134, 117, 147, 117, 108, 116, 117, 118, 101, 163, 116, 116, 115, 89, },
+  { 99, 71, 83, 84, 91, 163, 73, 83, 135, 121, 108, 85, 100, 148, 148, 116, 101, 107, 121, 118, 137, },
+  { 125, 102, 118, 116, 115, 117, 164, 134, 117, 147, 117, 108, 116, 117, 118, 101, 163, 116, 116, 115, 89, },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+  { 40, 9, 25, 3, 3, 12, 25, 18, 19, 28, 37, },
+  { 17, 1, 17, 2, 3, 4, 25, 18, 11, 12, 14, },
+  { 41, 9, 25, 33, 42, 27, 2, 41, 50, 36, 45, },
+  { 40, 9, 25, 3, 3, 12, 25, 18, 19, 28, 37, },
+  { DWS, 12, DWS, DWS, DWS, 4, 4, DWS, 10, 4, 10, },
+  { 4, DWS, 12, DWS, 4, 4, 4, 4, 4, 4, DWS, },
+  { 4, DWS, 9, 10, 4, 3, 0, 1, 0, 1, 3, },
+  { DWS, 12, DWS, DWS, DWS, 4, 4, DWS, 10, 4, 10, },
+  { 25, 25, DWE, 25, 25, 11, 4, 25, 25, 4, 4, },
+  { 25, 25, 25, 25, 25, 25, 11, DWE, 25, 11, 4, },
+  { DWE, 25, 25, 4, 4, 4, 4, 25, 25, 25, 25, },
+  { 25, 25, DWE, 25, 25, 11, 4, 25, 25, 4, 4, },
+  { 99, 82, 92, 177, 115, 117, 99, 83, 160, 228, 179, },
+  { 242, 195, 212, 117, 118, 103, 149, 123, 180, 123, 122, },
+  { 99, 82, 92, 177, 115, 117, 99, 83, 160, 228, 179, },
+  { 242, 195, 212, 117, 118, 103, 149, 123, 180, 123, 122, },
+  { 99, 82, 92, 177, 115, 117, 99, 83, 160, 228, 179, },
+  { 242, 195, 212, 117, 118, 103, 149, 123, 180, 123, 122, },
+  { 99, 82, 92, 177, 115, 117, 99, 83, 160, 228, 179, },
+  { 242, 195, 212, 117, 118, 103, 149, 123, 180, 123, 122, },  
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+  { 25, 25, 19, 27, 20, 29, 33, 12, 28, 21, 22, 34, 28, 29, 29, 30, 28, 29, 45, 30, 23, },
+  { 25, 25, 19, 27, 20, 21, 33, 12, 28, 21, 22, 34, 28, 29, 29, 30, 28, 37, 45, 30, 23, },
+  { 9, 17, 26, 27, CNU, 21, 25, 19, CNU, 36, 37, 33, CNU, 28, 29, 30, 19, 36, 37, 45, 38, },
+  { 25, 25, 19, 27, 20, 29, 33, 12, 28, 21, 22, 34, 28, 29, 29, 30, 28, 29, 45, 30, 23, },
+  { 9, 9, 7, 10, 10, 10, 13, 10, 13, 13, 13, 9, 9, 10, 10, 13, 10, DWS, 9, 10, 13, },
+  { 9, 6, 7, 10, 10, 10, 13, 10, 13, 13, 13, 9, 10, 10, 13, 13, 9, 9, 10, 9, 13, },
+  { 12, DWS, DWS, 12, 10, DWS, 9, 9, 13, 13, 10, 9, 10, 9, DWS, DWS, 5, DWS, 10, DWS, 9, },
+  { 9, 9, 7, 10, 10, 10, 13, 10, 13, 13, 13, 9, 9, 10, 10, 13, 10, DWS, 9, 10, 13, },
+  { DWE, 11, 4, 4, 4, DWE, 11, 4, 4, 4, DWE, 4, 4, 4, 4, 11, DWE, 11, 4, 11, 11, },
+  { DWE, 4, 4, 4, 4, DWE, 4, 4, 4, 4, 11, 4, 4, 4, 4, 11, 11, 11, 11, 4, 11, },
+  { DWE, DWE, 11, 25, 25, DWE, 11, 11, DWE, 4, 4, DWE, DWE, 11, 4, 4, 11, 4, DWE, 4, 11, },
+  { DWE, 11, 4, 4, 4, DWE, 11, 4, 4, 4, DWE, 4, 4, 4, 4, 11, DWE, 11, 4, 11, 11, },
+  { 84, 83, 116, 147, 121, 118, 85, 163, 213, 117, 105, 104, 122, 121, 228, 132, 195, 181, 121, 181, 135, },
+  { 179, 117, 116, 100, 101, 116, 117, DWO, 105, 185, 118, 120, 116, 131, 123, 120, 117, 101, 162, 102, 74, },
+  { 84, 83, 116, 147, 121, 118, 85, 163, 213, 117, 105, 104, 122, 121, 228, 132, 195, 181, 121, 181, 135, },
+  { 179, 117, 116, 100, 101, 116, 117, DWO, 105, 185, 118, 120, 116, 131, 123, 120, 117, 101, 162, 102, 74, },
+  { 84, 83, 116, 147, 121, 118, 85, 163, 213, 117, 105, 104, 122, 121, 228, 132, 195, 181, 121, 181, 135, },
+  { 179, 117, 116, 100, 101, 116, 117, DWO, 105, 185, 118, 120, 116, 131, 123, 120, 117, 101, 162, 102, 74, },
+  { 84, 83, 116, 147, 121, 118, 85, 163, 213, 117, 105, 104, 122, 121, 228, 132, 195, 181, 121, 181, 135, },
+  { 179, 117, 116, 100, 101, 116, 117, DWO, 105, 185, 118, 120, 116, 131, 123, 120, 117, 101, 162, 102, 74, },
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+  { 40, 18, 20, 5, 13, 14, 43, 29, 45, 38, 46, },
+  { 40, 18, 12, 5, 5, 6, 20, 14, 37, 30, 46, },
+  { 17, 33, CNU, 28, 13, 21, 42, 37, 53, 61, 46, },
+  { 40, 18, 20, 5, 13, 14, 43, 29, 45, 38, 46, },
+  { 12, 13, 9, 12, 12, DWS, DWS, DWS, DWS, 13, 13, },
+  { 12, 13, 12, 12, 12, DWS, DWS, DWS, DWS, 10, 12, },
+  { DWS, 10, 10, DWS, 7, 12, 4, 3, 0, 0, 4, },
+  { 12, 13, 9, 12, 12, DWS, DWS, DWS, DWS, 13, 13, },
+  { 25, DWE, 11, 25, 25, 4, DWE, DWE, 11, 25, DWE, },
+  { 25, 11, DWE, 25, 25, 25, 11, 25, 25, 25, DWE, },
+  { DWE, 25, DWE, 4, 4, 4, 25, 11, 11, 4, 25, },
+  { 25, DWE, 11, 25, 25, 4, DWE, DWE, 11, 25, DWE, },
+  { 87, 86, 100, 115, 194, 228, 116, 226, 101, 90, 165, },
+  { 116, 115, 148, 121, 228, 133, DWO, 219, 148, 213, 99, },
+  { 87, 86, 100, 115, 194, 228, 116, 226, 101, 90, 165, },
+  { 116, 115, 148, 121, 228, 133, DWO, 219, 148, 213, 99, },
+  { 87, 86, 100, 115, 194, 228, 116, 226, 101, 90, 165, },
+  { 116, 115, 148, 121, 228, 133, DWO, 219, 148, 213, 99, },
+  { 87, 86, 100, 115, 194, 228, 116, 226, 101, 90, 165, },
+  { 116, 115, 148, 121, 228, 133, DWO, 219, 148, 213, 99, },
+  }),
+};
+#endif
+
+const CtxSet ContextSetCfg::TsSigCoeffGroupCtxSetSwitch = ContextSetCfg::addCtxSet
+  ({
+// ctx 1302 1304
+ {  18,  28,  38 },
+ {  18,  43,  61 },
+ {  11,  20,  30 },
+ {  18,  36,  46 },
+ {   5,   5,   8 },
+ {   5,   5,   4 },
+ {   6,  10,   9 },
+ {   5,   4,   8 },
+ {  18,  11,   4 },
+ {  18,  11,   4 },
+ {  18,  18,   4 },
+ {  18,   4,   4 },
+ { 120, 250, 132 },
+ { 227, 250, 103 },
+ { 120, 186, 123 },
+ { 147, 180, 100 },
+ { 116, 200, 171 },
+ { 242, 153,  83 },
+ { 124, 141, 149 },
+ { 147, 230,  89 },
+  });
+
+
+const CtxSet ContextSetCfg::TsSigFlagCtxSetSwitch = ContextSetCfg::addCtxSet
+  ({
+// ctx 1305 1307
+ {  25,  28,  30 },
+ {  25,  43,  38 },
+ {  25,  35,  37 },
+ {  25,  28,  30 },
+ {  13,  13,   9 },
+ {  13,  13,   5 },
+ {  13,   9,   6 },
+ {  13,  13,   9 },
+ {   4,  18,  11 },
+ {   4,   4,   4 },
+ {   4,   4,  18 },
+ {   4,   4,   4 },
+ {  72, 234,  91 },
+ {  83, 234,  98 },
+ {  74, 234, 131 },
+ {  83, 218, 108 },
+ {  74, 251, 107 },
+ { 101, 251, 105 },
+ {  68, 234,  89 },
+ {  83, 234, 114 },
+  });
+
+
+
+
+const CtxSet ContextSetCfg::TsParFlagCtxSetSwitch = ContextSetCfg::addCtxSet
+  ({
+// ctx 1308 1308
+ {   4 },
+ {  11 },
+ {  19 },
+ {  11 },
+ {   9 },
+ {   5 },
+ {   9 },
+ {   8 },
+ {  18 },
+ {  11 },
+ {  11 },
+ {  18 },
+ { 242 },
+ { 100 },
+ { 211 },
+ { 108 },
+ { 116 },
+ { 131 },
+ { 148 },
+ { 102 },
+  });
+
+const CtxSet ContextSetCfg::TsGtxFlagCtxSetSwitch = ContextSetCfg::addCtxSet
+  ({
+// ctx 1309 1313
+ {  35,   3,   4,   5,   5 },
+ {  35,   3,   4,  59,   4 },
+ {  35,   3,   3,   4,   4 },
+ {  35,   3,   4,   5,   5 },
+ {   8,   1,   1,   4,   4 },
+ {   8,   1,   1,   4,   1 },
+ {   8,   1,   1,   5,   4 },
+ {   8,   1,   1,   4,   4 },
+ {  18,  11,  11,  18,  18 },
+ {  18,   4,  11,  18,  18 },
+ {  18,   4,   4,  18,  18 },
+ {  18,   4,  11,  18,  18 },
+ { 119, 164, 228, 243, 243 },
+ { 119, 116, 116, 108, 104 },
+ { 119, 212, 212, 148, 227 },
+ { 119, 117, 117, 108, 122 },
+ { 119, 148, 244, 242, 148 },
+ { 119, 117, 117, 101, 102 },
+ { 119, 244, 180, 243, 243 },
+ { 119, 116, 117, 105, 105 },
+  });
+
+
+const CtxSet ContextSetCfg::TsLrg1FlagCtxSetSwitch = ContextSetCfg::addCtxSet
+  ({
+// ctx 1314 1317
+ {   5,   5,   5,  14 },
+ {  42,   5,   4,   7 },
+ {   4,  20,  13,  35 },
+ {   5,  13,  13,   7 },
+ {   4,   1,   1,   5 },
+ {   0,   1,   1,   5 },
+ {   1,   1,   1,   8 },
+ {   4,   1,   1,   5 },
+ {  18,  11,  11,  18 },
+ {  11,   4,   4,  18 },
+ {   4,   4,   4,  18 },
+ {  18,   4,   4,  18 },
+ { 117, 243, 243, 210 },
+ { 105, 116, 116, 108 },
+ { 125, 243, 243, 194 },
+ { 118, 116, 116, 108 },
+ { 118, 243, 243, 119 },
+ { 117, 116, 116, 119 },
+ { 117, 227, 243, 242 },
+ { 116, 116, 116, 108 },
+});
+
+const CtxSet ContextSetCfg::TsResidualSignCtxSetSwitch = ContextSetCfg::addCtxSet
+  ({
+// ctx 1318 1323
+ {  12,  17,  54,  35,  33,  38 },
+ {  12,  17,  61,  58,  17,  54 },
+ {  36,  10,  46,  35,  35,  35 },
+ {  12,  17,  46,  27,  41,  38 },
+ {   0,   1,   4,   5,   4,   8 },
+ {   0,   5,   1,   7,   7,   9 },
+ {   1,   5,   5,   8,   8,   8 },
+ {   0,   1,   1,   5,   4,   8 },
+ {  11,   4,  18,  18,   4,  18 },
+ {  18,   4,   4,  18,  32,  32 },
+ {   4,  18,  18,  18,  18,  18 },
+ {  11,   4,   4,  18,   4,  18 },
+ { 116, 116, 132, 118, 118, 228 },
+ { 116, 118,  99,  99, 120, 123 },
+ { 116, 146, 120, 170, 101, 107 },
+ { 116, 163, 115,  98, 165, 169 },
+ { 117, 147, 116, 119, 119, 119 },
+ { 117, 116, 106, 119, 119, 119 },
+ { 116, 132, 118, 124, 244, 132 },
+ { 116, 118, 115, 100, 150, 169 },
+  });
+
+
+const CtxSet ContextSetCfg::LastXCtxSetSwitch[] =
+{
+  ContextSetCfg::addCtxSet
+  ({
+#if TU_256
+// ctx 1324 1359
+ {   6,   5,   4,  14,   5,  11,  14,  13,  13,  19,  22,   6,   6,  20,  11,  22,   7,  14,  28,  57,   3,  14,   6,   4,  62,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {   6,   5,   4,  14,   5,   3,   7,   6,  13,  10,  30,  14,   6,   4,   3,  37,  44,  30,  21,   3,  13,   7,  20,  29,  39,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  13,   6,   5,   6,   7,   5,   5,  14,  14,  12,  13,  14,  21,  21,   4,  13,  22,  22,   6,   6,  34,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {   6,  13,   4,  14,  13,   4,  14,   6,  13,  19,  22,   6,   6,  12,  26,  22,   7,  14,  13,  26,  17,  15,  14,  36,   2,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {   9,   5,   5,   6,   7,   4,   6,   5,   0,   0,   6,   1,   1,   0,   0,   2,   1,   1,   0,   2,   0,   0,   7,   0,   0,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {  10,   5,   8,   6,   5,   7,   3,   6,   1,   0,   7,   0,   1,   1,   0,   2,   1,   2,   0,   0,  10,   0,   0,   6,   0,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   5,   5,   4,   1,   5,   4,   1,   5,   1,   1,   5,   0,   1,   1,   0,   1,   0,   0,   0,   0,   0,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   9,   5,   5,   6,   5,   4,   6,   6,   0,   0,   6,   1,   1,   0,   0,   1,   1,   1,   0,   0,   0,   0,   0,   3,   0,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {  11,   4,   4,  11,  25,  25,  11,  25,  18,  18,  11,  18,  25,  32,  32,   4,  18,  25,  32,  25,  32,   4,  25,  32,  32,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {  18,   4,  18,  11,  18,  25,   4,  25,  18,  11,  18,   4,  25,  32,  32,  11,  11,  25,  32,  32,  32,  11,  32,  18,  32,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {  18,  11,   4,  11,  18,  18,  11,  25,  18,  25,  25,  11,  25,  32,  32,  18,  11,  32,  32,  32,  32,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {  18,  11,  11,  11,  25,  25,  11,  25,  11,  18,  18,  18,  25,  32,  32,   4,  18,  25,  32,  32,  32,  18,  32,  32,  32,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ { 131, 117, 140, 171, 154, 116, 251, 137, 125, 116, 202, 141, 123, 183, 116, 138, 125, 117, 126, 132, 148, 167, 250, 244, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 130, 107, 102, 251, 250, 102, 244, 252, 245, 116, 245, 253, 179, 246, 116, 150, 253, 211, 213, 194, 116, 251, 250, 244, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 101, 117, 102, 139, 134, 116, 150, 123, 134, 133, 153, 141, 125, 253, 116, 136, 117, 118, 150, 250, 165, 116, 253, 251, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ {  99, 243, 102, 245, 163, 106, 215, 242, 164, 116, 162, 246, 147, 147, 116, 249, 245, 243, 148, 116,  80, 196, 132, 230, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 115, 163, 149, 116, 131, 227, 132, 116, 148, 115, 115, 118, 118, 132, 116, 140, 132, 116, 116, 116, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 115, 116, 104, 119, 140, 104, 148, 146, 244, 115, 148, 197, 147, 179, 116, 164, 246, 248, 116, 212, 164, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 130, 132, 168, 134, 139, 117, 150, 123, 119, 116, 139, 139, 125, 237, 116, 136, 123, 122, 142, 236, 118, 132, 254, 251, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 114, 116, 101, 244, 243, 104, 243, 243, 181, 116, 227, 244, 147, 212, 116, 181, 164, 147, 132, 158, 116, 148, 116, 153, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+#else
+  {  21,   5,   4,   6,   6,   4,   6,  14,  14,   4,  14,   7,  30,  14,   4,  22,  38,  15,  22,   6 },
+  {  21,   5,   4,   6,   6,   4,   6,  14,  14,   4,  14,   7,  30,  14,   4,  22,  38,  15,  22,   6 },
+  {  21,   6,  12,  14,   7,   4,  14,   7,   6,   4,  14,   7,  14,   6,   5,  14,   7,  14,  14,  22 },
+  {  21,   5,   4,   6,   6,   4,   6,  14,  14,   4,  14,   7,  30,  14,   4,  22,  38,  15,  22,   6 },
+  {   9,   5,   5,   6,   5,   4,   5,   5,   1,   1,   5,   1,   1,   0,   0,   1,   1,   1,   0,   0 },
+  {   9,   5,   5,   6,   5,   4,   5,   5,   1,   1,   5,   1,   1,   0,   0,   1,   1,   1,   0,   0 },
+  {   5,   5,   5,   6,   5,   1,   6,   5,   2,   1,   6,   1,   1,   1,   1,   2,   2,   1,   1,   1 },
+  {   9,   5,   5,   6,   5,   4,   5,   5,   1,   1,   5,   1,   1,   0,   0,   1,   1,   1,   0,   0 },
+  {  25,  18,  18,  18,  25,  25,  18,  25,  18,  32,  25,  18,  25,  18,  32,  18,  18,  25,  32,  32 },
+  {  25,  18,  18,  18,  25,  25,  18,  25,  18,  32,  25,  18,  25,  18,  32,  18,  18,  25,  32,  32 },
+  {  18,  18,  18,  18,  18,  11,  18,  18,  18,  18,  18,  11,  18,  25,  25,  11,  11,  18,  25,  32 },
+  {  25,  18,  18,  18,  25,  25,  18,  25,  18,  32,  25,  18,  25,  18,  32,  18,  18,  25,  32,  32 },
+  { 116, 117, 118, 125, 119, 118, 122, 118, 126, 132, 118, 121, 118, 228, 116, 133, 126, 118, 148, 148 },
+  { 117, 118, 117, 132, 228, 103, 132, 228, 149, 117, 164, 149, 149, 229, 116, 126, 132, 227, 228, 228 },
+  { 116, 117, 118, 125, 119, 118, 122, 118, 126, 132, 118, 121, 118, 228, 116, 133, 126, 118, 148, 148 },
+  { 117, 118, 117, 132, 228, 103, 132, 228, 149, 117, 164, 149, 149, 229, 116, 126, 132, 227, 228, 228 },
+  { 116, 117, 118, 125, 119, 118, 122, 118, 126, 132, 118, 121, 118, 228, 116, 133, 126, 118, 148, 148 },
+  { 117, 118, 117, 132, 228, 103, 132, 228, 149, 117, 164, 149, 149, 229, 116, 126, 132, 227, 228, 228 },
+  { 116, 117, 118, 125, 119, 118, 122, 118, 126, 132, 118, 121, 118, 228, 116, 133, 126, 118, 148, 148 },
+  { 117, 118, 117, 132, 228, 103, 132, 228, 149, 117, 164, 149, 149, 229, 116, 126, 132, 227, 228, 228 },
+#endif
+}),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 1360 1362
+ {  12,  11,  25 },
+ {  43,  58,  48 },
+ {  12,   5,   4 },
+ {   4,  11,   2 },
+ {   5,   4,   4 },
+ {   5,  10,   4 },
+ {   0,   4,   4 },
+ {   5,   4,   4 },
+ {  11,  18,  11 },
+ {  11,  32,   4 },
+ {   4,  25,  25 },
+ {  11,  18,  18 },
+ { 118, 119, 118 },
+ { 149, 118, 101 },
+ { 116, 121, 105 },
+ { 137, 115, 103 },
+ { 119, 134, 136 },
+ { 133, 131, 100 },
+ { 179, 117, 122 },
+ { 119, 116, 101 },
+  }),
+};
+
+const CtxSet ContextSetCfg::LastYCtxSetSwitch[] =
+{
+  ContextSetCfg::addCtxSet
+  ({
+#if TU_256
+// ctx 1363 1398
+ {  21,  13,  12,  14,   6,  19,  22,  14,  12,  26,  22,   7,   5,   5,  26,  30,  15,  13,   5,  42,   3,  22,  13,  20,  62,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {   6,   5,  35,  14,   6,  19,   7,  14,   5,  42,  22,  22,   5,  12,  34,  37,  22,  13,  20,   3,  58,  28,   5,  15,  39,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {   5,  13,  20,  13,   6,  20,  13,  14,   5,  35,  13,   7,  13,  12,  11,  36,  30,  21,  28,   6,  11,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {  21,  13,  12,  14,  14,   4,  22,  14,   5,  11,  22,   7,  21,   5,  11,  30,  15,  14,  21,  27,  25,   7,  29,  13,   0,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35 },
+ {   9,   5,   9,   7,   6,   5,   6,   6,   1,   0,   6,   5,   1,   1,   0,   2,   3,   1,   3,   0,   0,   2,   1,   0,   0,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   9,   5,  12,   6,   6,   5,   6,   5,   6,   0,   5,   5,   1,   0,   0,   2,   2,   0,   0,   0,   0,   3,   4,   4,   0,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   5,   4,   4,   1,   4,   4,   5,   5,   4,   1,   1,   2,   0,   0,   0,   1,   3,   0,   1,   0,   0,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {   9,   5,  13,   6,   5,   9,   6,   5,   1,   0,   6,   5,   1,   1,   0,   2,   2,   2,   0,   0,   0,   1,   0,   3,   0,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8 },
+ {  18,   4,  11,  11,  11,   4,  11,  11,  11,  11,  18,  11,  18,  32,  32,   4,   4,  11,  32,  32,  32,  11,   4,  32,  32,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {  18,   4,  32,  11,  11,  11,  11,  11,  25,   4,  11,   4,  11,  18,  32,  11,   4,  11,  11,  32,   4,  18,  32,  32,  32,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {  18,   4,   4,   4,  11,  11,  18,  18,  32,  18,  11,   4,  11,  32,  32,  25,  18,  18,  25,  32,  32,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ {  18,   4,  32,  18,  11,  25,  18,  11,  11,  11,  18,  11,  11,  32,  32,  11,   4,  18,  18,  32,  32,  11,  11,  32,  25,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  18 },
+ { 106, 123, 148, 212, 133, 117, 165, 122, 173, 149, 155, 117, 125, 182, 116, 134, 119, 125, 123, 244, 116, 201, 251, 116, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 100, 107, 131, 178, 231, 132, 227, 250, 253, 117, 117, 197, 253, 253, 116, 244, 154, 253, 250, 244, 116, 227, 253, 244, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 114, 196, 100, 147, 117, 116, 131, 117, 135, 133, 137, 117, 125, 155, 164, 163, 124, 142, 134, 155, 218, 137, 252,  99, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 117, 117, 102, 213, 147, 116, 228, 118, 251, 117, 180, 164, 245, 245, 116, 135, 117, 254, 244, 116, 116, 130, 246, 250, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 116, 165, 154, 117, 133, 244, 115, 116, 117, 163, 148, 116, 125, 142, 132, 121, 133, 149, 122, 116, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 131, 132, 101, 118, 148, 116, 163, 196, 228, 116, 148, 185, 246, 244, 116, 132, 245, 149, 179, 249, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 114, 118, 146, 131, 117, 104, 122, 117, 157, 133, 133, 116, 125, 173, 116, 147, 117, 116, 126, 244, 116, 244, 125, 241, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+ { 242, 132, 224, 138, 181, 104, 138, 117, 253, 132, 123, 243, 253, 253, 116, 166, 179, 244, 182, 164, 116, 147, 254, 251, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
+#else
+  {  13,   5,   4,  14,   6,  11,  14,  14,   5,  11,  14,   7,   6,   5,   3,  22,  38,  22,  14,   5 },
+  {  13,   5,   4,  14,   6,  11,  14,  14,   5,  11,  14,   7,   6,   5,   3,  22,  38,  22,  14,   5 },
+  {   5,   5,  20,   6,   6,   4,   6,  14,   5,  12,  14,   7,  13,   5,  20,  21,   7,   6,   5,  28 },
+  {  13,   5,   4,  14,   6,  11,  14,  14,   5,  11,  14,   7,   6,   5,   3,  22,  38,  22,  14,   5 },
+  {   9,   5,   8,   6,   5,   4,   6,   5,   4,   0,   6,   6,   1,   4,   0,   1,   1,   1,   1,   0 },
+  {   9,   5,   8,   6,   5,   4,   6,   5,   4,   0,   6,   6,   1,   4,   0,   1,   1,   1,   1,   0 },
+  {   6,   5,   5,   6,   5,   5,   6,   6,   5,   1,   2,   6,   1,   1,   0,   2,   2,   1,   0,   0 },
+  {   9,   5,   8,   6,   5,   4,   6,   5,   4,   0,   6,   6,   1,   4,   0,   1,   1,   1,   1,   0 },
+  {  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  25,  25,  18,  32,  32,  18,  18,  25,  32,  32 },
+  {  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  25,  25,  18,  32,  32,  18,  18,  25,  32,  32 },
+  {  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,   4,  18,  11,  18,  25,  11,   4,  11,  11,  25 },
+  {  18,  18,  18,  18,  18,  18,  18,  18,  18,  18,  25,  25,  18,  32,  32,  18,  18,  25,  32,  32 },
+  { 116, 120, 118, 119, 123, 118, 118, 124, 119, 132, 117, 116, 124, 134, 116, 126, 118, 119, 118, 196 },
+  { 116, 118, 118, 126, 228, 117, 116, 147, 230, 117, 132, 195, 165, 229, 116, 118, 123, 149, 228, 228 },
+  { 116, 120, 118, 119, 123, 118, 118, 124, 119, 132, 117, 116, 124, 134, 116, 126, 118, 119, 118, 196 },
+  { 116, 118, 118, 126, 228, 117, 116, 147, 230, 117, 132, 195, 165, 229, 116, 118, 123, 149, 228, 228 },
+  { 116, 120, 118, 119, 123, 118, 118, 124, 119, 132, 117, 116, 124, 134, 116, 126, 118, 119, 118, 196 },
+  { 116, 118, 118, 126, 228, 117, 116, 147, 230, 117, 132, 195, 165, 229, 116, 118, 123, 149, 228, 228 },
+  { 116, 120, 118, 119, 123, 118, 118, 124, 119, 132, 117, 116, 124, 134, 116, 126, 118, 119, 118, 196 },
+  { 116, 118, 118, 126, 228, 117, 116, 147, 230, 117, 132, 195, 165, 229, 116, 118, 123, 149, 228, 228 },
+#endif
+  }),
+  ContextSetCfg::addCtxSet
+  ({
+// ctx 1399 1401
+ {  19,  11,  41 },
+ {  42,  19,  48 },
+ {   4,  21,  43 },
+ {  11,   4,  18 },
+ {   6,   6,   5 },
+ {   6,   9,   8 },
+ {   0,   4,   0 },
+ {   6,   5,   4 },
+ {  18,  25,  25 },
+ {  18,  25,  32 },
+ {   4,  25,  11 },
+ {  18,  25,  25 },
+ { 115, 120, 124 },
+ { 146, 116, 130 },
+ { 115, 107, 122 },
+ { 122, 115, 100 },
+ { 118, 118, 250 },
+ { 164, 163, 116 },
+ { 107, 116, 149 },
+ { 241, 146, 101 },
+  }),
+};
+#endif
+
+
+const CtxSet ContextSetCfg::MVPIdx = ContextSetCfg::addCtxSet({
+// ctx 1402 1402
+ {  34 },
+ {  27 },
+ {  41 },
+ {  34 },
+ {  10 },
+ {   9 },
+ {  13 },
+ {  10 },
+ {  11 },
+ {   4 },
+ {  25 },
+ {   4 },
+ { 114 },
+ { 103 },
+ { 115 },
+ { 117 },
+ { 129 },
+ {  99 },
+ {  99 },
+ { 104 },
+});
+
+const CtxSet ContextSetCfg::amFlagState = ContextSetCfg::addCtxSet({
+// ctx 1403 1403
+ {  40 },
+ {  26 },
+ {  35 },
+ {  25 },
+ {   5 },
+ {   5 },
+ {   8 },
+ {   5 },
+ {  11 },
+ {   4 },
+ {  18 },
+ {   4 },
+ { 119 },
+ { 107 },
+ { 118 },
+ { 108 },
+ { 119 },
+ { 119 },
+ { 108 },
+ { 108 },
+});
+
+const CtxSet ContextSetCfg::SmvdFlag = ContextSetCfg::addCtxSet({
+// ctx 1404 1404
+ {  35 },
+ {  28 },
+ {  35 },
+ {  43 },
+ {   0 },
+ {   4 },
+ {   8 },
+ {   1 },
+ {   4 },
+ {   4 },
+ {  18 },
+ {   4 },
+ { 126 },
+ { 117 },
+ { 109 },
+ { 103 },
+ { 119 },
+ { 119 },
+ { 125 },
+ { 117 },
+});
+
+#if JVET_AG0098_AMVP_WITH_SBTMVP
+const CtxSet ContextSetCfg::amvpSbTmvpFlag = ContextSetCfg::addCtxSet({
+// ctx 1405 1406
+  {  40,   0 },
+  {  33,  49 },
+  {  35,  35 },
+  {  40,  34 },
+  {   2,   0 },
+  {   2,   1 },
+  {   8,   8 },
+  {   2,   1 },
+  {  25,  18 },
+  {  11,   4 },
+  {  18,  18 },
+  {  18,   4 },
+  { 124, 236 },
+  { 114, 116 },
+  { 131, 125 },
+  { 146, 132 },
+  { 119, 119 },
+  { 119, 119 },
+  { 118, 125 },
+  { 115, 117 },
+});
+
+const CtxSet ContextSetCfg::amvpSbTmvpMvdIdx = ContextSetCfg::addCtxSet({
+// ctx 1407 1409
+  {   5,  27,   0 },
+  {  12,  34,   5 },
+  {  35,  35,  35 },
+  {   5,   4,  60 },
+  {   0,   4,   4 },
+  {   3,   8,   7 },
+  {   8,   8,   8 },
+  {   2,   4,   4 },
+  {   4,  11,   4 },
+  {  11,  18,   4 },
+  {  18,  18,  18 },
+  {   4,   4,  11 },
+  { 157, 252, 100 },
+  { 133, 102, 253 },
+  { 146, 236, 106 },
+  { 162,  99, 105 },
+  { 119, 119, 119 },
+  { 119, 119, 119 },
+  { 124, 172, 101 },
+  { 133, 117, 253 },
+});
+#endif
+
+const CtxSet ContextSetCfg::SaoMergeFlag = ContextSetCfg::addCtxSet({
+// ctx 1410 1410
+ {  10 },
+ {  61 },
+ {  61 },
+ {  10 },
+ {   0 },
+ {   0 },
+ {   0 },
+ {   0 },
+ {   4 },
+ {   4 },
+ {   4 },
+ {   4 },
+ { 116 },
+ { 116 },
+ { 116 },
+ { 116 },
+ { 116 },
+ { 118 },
+ { 116 },
+ { 116 },
+});
+
+const CtxSet ContextSetCfg::SaoTypeIdx = ContextSetCfg::addCtxSet({
+// ctx 1411 1411
+ {  10 },
+ {   4 },
+ {   4 },
+ {  10 },
+ {   0 },
+ {   8 },
+ {   1 },
+ {   1 },
+ {  18 },
+ {  32 },
+ {  32 },
+ {  18 },
+ { 155 },
+ { 148 },
+ { 251 },
+ { 252 },
+ { 253 },
+ { 253 },
+ { 135 },
+ { 181 },
+});
+
+const CtxSet ContextSetCfg::BifCtrlFlags[3] = {
+  ContextSetCfg::addCtxSet({
+// ctx 1412 1412
+ {  30 },
+ {  15 },
+ {  38 },
+ {  30 },
+ {   1 },
+ {   1 },
+ {   1 },
+ {   1 },
+ {   4 },
+ {   4 },
+ {   4 },
+ {   4 },
+ { 115 },
+ { 115 },
+ { 115 },
+ { 115 },
+ { 115 },
+ { 115 },
+ { 115 },
+ { 115 },
+  }),
+  ContextSetCfg::addCtxSet({
+// ctx 1413 1413
+ {  45 },
+ {  37 },
+ {  29 },
+ {  37 },
+ {   0 },
+ {   0 },
+ {   0 },
+ {   0 },
+ {   4 },
+ {   4 },
+ {   4 },
+ {   4 },
+ { 116 },
+ { 116 },
+ { 116 },
+ { 116 },
+ { 116 },
+ { 116 },
+ { 116 },
+ { 116 },
+  }),
+  ContextSetCfg::addCtxSet({
+// ctx 1414 1414
+ {  37 },
+ {  37 },
+ {  29 },
+ {  45 },
+ {   0 },
+ {   0 },
+ {   0 },
+ {   0 },
+ {   4 },
+ {   4 },
+ {   4 },
+ {   4 },
+ { 116 },
+ { 116 },
+ { 116 },
+ { 116 },
+ { 116 },
+ { 116 },
+ { 116 },
+ { 116 },
+  }),
+};
+
+const CtxSet ContextSetCfg::CcSaoControlIdc = ContextSetCfg::addCtxSet({
+// ctx 1415 1423
+ {  26,  46,  62,  25,  46,  62,  25,  46,  54 },
+ {   4,  54,  54,  18,  61,  62,  18,  46,  54 },
+ {  59,  46,  62,  20,  54,  62,  60,  62,  62 },
+ {  26,  46,  54,  11,  46,  62,  18,  61,  62 },
+ {   8,   0,   4,   9,   0,   0,  10,   0,   0 },
+ {   6,   0,   4,   7,   0,   0,   9,   0,   0 },
+ {   0,   0,   8,   0,   1,   4,   0,   1,   0 },
+ {  10,   0,   1,   6,   0,   0,  12,   0,   0 },
+ {  25,  18,  11,  18,  25,   4,  18,  18,  11 },
+ {  18,  11,  18,  18,  18,   4,  18,  18,  18 },
+ {  32,  18,  11,  32,  25,   4,  32,  18,   4 },
+ {  25,  11,   4,  18,  18,   4,  18,  18,   4 },
+ {  82, 116, 149,  81, 116, 197,  80, 116, 135 },
+ { 252, 132,  99, 148, 228, 116, 146, 244, 116 },
+ {  98, 116, 125,  97, 132, 135,  82, 132, 166 },
+ { 248, 228,  99, 230, 244, 116, 229, 244, 116 },
+ { 116, 164, 105, 116, 131, 246, 116, 131, 185 },
+ { 254, 132, 194, 254, 141,  99, 254, 252, 116 },
+ {  81, 116, 149,  97, 132, 135,  65, 116, 150 },
+ { 196, 148, 115, 213, 244, 116, 228, 244, 116 },
+});
+
+const CtxSet ContextSetCfg::LFNSTIdx = ContextSetCfg::addCtxSet({
+// ctx 1424 1427
+ {  51,  35,  43,  42 },
+ {  36,  35,  51,  35 },
+ {  35,  43,  50,  42 },
+ {  51,  35,  43,  42 },
+ {  10,   8,   5,  12 },
+ {  10,   8,   6,  13 },
+ {   8,   9,   5,  10 },
+ {  10,   8,   5,  12 },
+ {   4,  18,  11,   4 },
+ {   4,  18,  11,  11 },
+ {  18,   4,   4,   4 },
+ {   4,  18,  11,   4 },
+ { 105, 119, 118, 152 },
+ { 122, 119, 103,  88 },
+ { 116, 119, 116, 101 },
+ { 116, 119, 115, 117 },
+ { 119, 118, 132, 121 },
+ { 119, 107, 116, 116 },
+ { 194, 122, 116, 118 },
+ { 119, 116, 116,  91 },
+});
+
+#if JVET_AG0061_INTER_LFNST_NSPT
+const CtxSet ContextSetCfg::InterLFNSTIdx = ContextSetCfg::addCtxSet({
+// ctx 1428 1430
+  {  42,  28,  35 },
+  {  35,  36,  43 },
+  {  35,  35,  35 },
+  {  35,  28,  35 },
+  {   5,   9,   9 },
+  {   5,  10,  10 },
+  {   8,   8,   8 },
+  {   6,  10,  10 },
+  {  11,   4,   4 },
+  {   4,   4,   4 },
+  {  18,  18,  18 },
+  {  11,   4,   4 },
+  { 117, 251, 251 },
+  { 117,  89, 100 },
+  { 108, 133, 138 },
+  { 132, 105, 116 },
+  { 119, 119, 119 },
+  { 119, 119, 119 },
+  { 116, 122, 151 },
+  { 116, 105, 105 },
+});
+#endif
+
+const CtxSet ContextSetCfg::PLTFlag = ContextSetCfg::addCtxSet({
+// ctx 1431 1431
+ {   0 },
+ {   0 },
+ {  25 },
+ {   0 },
+ {   0 },
+ {   0 },
+ {   2 },
+ {   0 },
+ {   4 },
+ {  25 },
+ {  25 },
+ {  18 },
+ { 116 },
+ { 116 },
+ { 116 },
+ { 180 },
+ { 121 },
+ { 131 },
+ { 116 },
+ { 116 },
+});
+
+const CtxSet ContextSetCfg::RotationFlag = ContextSetCfg::addCtxSet({
+// ctx 1432 1432
+ {  50 },
+ {   0 },
+ {  35 },
+ {  43 },
+ {   4 },
+ {   4 },
+ {   2 },
+ {   5 },
+ {  32 },
+ {  32 },
+ {  11 },
+ {  32 },
+ { 115 },
+ { 179 },
+ { 217 },
+ { 102 },
+ { 130 },
+ { 124 },
+ { 130 },
+ { 251 },
+});
+
+const CtxSet ContextSetCfg::RunTypeFlag = ContextSetCfg::addCtxSet({
+// ctx 1433 1433
+ {  37 },
+ {   0 },
+ {  42 },
+ {  58 },
+ {   0 },
+ {   5 },
+ {   9 },
+ {   1 },
+ {   4 },
+ {   4 },
+ {  32 },
+ {   4 },
+ { 117 },
+ { 123 },
+ { 151 },
+ { 147 },
+ { 107 },
+ { 242 },
+ { 116 },
+ { 132 },
+});
+
+const CtxSet ContextSetCfg::IdxRunModel = ContextSetCfg::addCtxSet({
+// ctx 1434 1438
+ {  60,  46,  46,  46,  46 },
+ {   0,   0,   0,   0,   0 },
+ {  50,  37,  45,  30,  46 },
+ {  59,  53,  38,  38,  46 },
+ {   0,   2,   5,   0,   5 },
+ {   1,   0,   0,   0,   0 },
+ {   5,   2,   6,  10,   5 },
+ {   4,   1,   6,   1,   2 },
+ {  11,  25,  18,   4,  11 },
+ {  25,  11,  18,   4,   4 },
+ {  11,   4,   4,  18,  18 },
+ {  18,  11,  18,  11,  11 },
+ { 244, 115, 162, 118, 211 },
+ { 125, 170, 182, 220, 100 },
+ { 253, 197, 217, 214, 149 },
+ { 172, 132, 117, 116, 116 },
+ { 252, 118, 115, 103, 116 },
+ { 252, 124, 119, 106, 116 },
+ { 230, 117, 130, 124, 131 },
+ { 125, 196, 150, 205, 131 },
+});
+
+const CtxSet ContextSetCfg::CopyRunModel = ContextSetCfg::addCtxSet({
+// ctx 1439 1441
+ {  31,  54,  39 },
+ {   0,   0,   0 },
+ {  39,  38,  54 },
+ {  23,  31,  39 },
+ {   0,   2,   8 },
+ {   0,   0,   4 },
+ {   0,   5,   8 },
+ {   0,   2,   8 },
+ {   4,   4,  18 },
+ {  32,  32,  32 },
+ {  32,  11,  18 },
+ {  32,   4,  18 },
+ { 133, 134, 152 },
+ { 116, 163,  83 },
+ { 123, 116, 253 },
+ { 116, 116,  99 },
+ { 116, 123, 134 },
+ { 116, 163,  99 },
+ { 164, 152, 151 },
+ { 116, 116,  99 },
+});
+
+const CtxSet ContextSetCfg::TransformSkipFlag = ContextSetCfg::addCtxSet({
+// ctx 1442 1443
+ {  25,   1 },
+ {  25,   0 },
+ {  25,   9 },
+ {  25,   1 },
+ {   5,   5 },
+ {   5,   6 },
+ {   5,   5 },
+ {   2,   5 },
+ {  25,  18 },
+ {  18,  25 },
+ {  25,  25 },
+ {  18,  18 },
+ { 108,  99 },
+ { 114, 114 },
+ { 101, 104 },
+ { 242, 114 },
+ { 107, 102 },
+ { 162, 130 },
+ { 117,  99 },
+ { 131, 114 },
+});
+
+const CtxSet ContextSetCfg::MTSIdx = ContextSetCfg::addCtxSet({
+// ctx 1444 1447
+ {  50,  53,  46,  35 },
+ {  44,  46,  46,  35 },
+ {  34,  53,  38,  35 },
+ {  43,  53,  46,  35 },
+ {   8,   9,   6,   8 },
+ {  13,  10,   8,   8 },
+ {   8,   9,   8,   8 },
+ {   9,   9,   6,   8 },
+ {  11,  18,   4,  18 },
+ {  18,  25,   4,  18 },
+ {   4,  18,  11,  18 },
+ {  11,  25,  11,  18 },
+ { 116, 118, 119, 119 },
+ { 105, 138,  98, 119 },
+ { 146, 134, 133, 119 },
+ { 146,  90,  82, 119 },
+ { 100, 133, 149, 119 },
+ { 166,  99,  83, 119 },
+ { 227, 120, 132, 119 },
+ { 102, 104,  99, 119 },
+});
+
+const CtxSet ContextSetCfg::ISPMode = ContextSetCfg::addCtxSet({
+// ctx 1448 1450
+ {  33,  43,  25 },
+ {  33,  35,  40 },
+ {  33,  43,  33 },
+ {  33,  43,  25 },
+ {   5,   1,   9 },
+ {   5,   1,  12 },
+ {   9,   1,   9 },
+ {   5,   1,   9 },
+ {  18,  11,  25 },
+ {   4,  11,  18 },
+ {  18,   4,  18 },
+ {   4,   4,  18 },
+ { 103, 116,  82 },
+ { 163, 117, 117 },
+ { 100, 118, 139 },
+ { 243, 211, 210 },
+ {  98, 117,  82 },
+ { 162, 118, 137 },
+ { 108, 117, 115 },
+ { 211, 243, 210 },
+});
+
+const CtxSet ContextSetCfg::SbtFlag = ContextSetCfg::addCtxSet({
+// ctx 1451 1452
+ {  40,  48 },
+ {  48,  56 },
+ {  35,  35 },
+ {  40,  48 },
+ {   2,   6 },
+ {   2,   6 },
+ {   8,   8 },
+ {   3,   6 },
+ {   4,  11 },
+ {   4,   4 },
+ {  18,  18 },
+ {   4,   4 },
+ { 122, 100 },
+ { 117, 118 },
+ { 117, 104 },
+ { 118, 118 },
+ { 119, 119 },
+ { 119, 119 },
+ { 118, 104 },
+ { 117, 117 },
+});
+
+const CtxSet ContextSetCfg::SbtQuadFlag = ContextSetCfg::addCtxSet({
+// ctx 1453 1453
+ {  35 },
+ {  35 },
+ {  35 },
+ {  50 },
+ {  10 },
+ {  10 },
+ {   8 },
+ {  10 },
+ {   4 },
+ {  11 },
+ {  18 },
+ {   4 },
+ { 130 },
+ { 102 },
+ { 119 },
+ { 100 },
+ { 119 },
+ { 119 },
+ { 102 },
+ { 100 },
+});
+
+const CtxSet ContextSetCfg::SbtHorFlag = ContextSetCfg::addCtxSet({
+// ctx 1454 1456
+ {  20,  58,   5 },
+ {  20,  51,  19 },
+ {  35,  35,  35 },
+ {  20,  58,  13 },
+ {   4,   5,   2 },
+ {   5,   7,   5 },
+ {   8,   8,   8 },
+ {   5,   5,   2 },
+ {   4,  18,  18 },
+ {   4,  18,  11 },
+ {  18,  18,  18 },
+ {   4,   4,  11 },
+ { 108, 163, 117 },
+ { 103, 108, 131 },
+ { 102, 114, 107 },
+ { 118, 122, 131 },
+ { 119, 119, 119 },
+ { 119, 119, 119 },
+ { 101, 243, 116 },
+ { 117, 108, 147 },
+});
+
+const CtxSet ContextSetCfg::SbtPosFlag = ContextSetCfg::addCtxSet({
+// ctx 1457 1457
+ {  28 },
+ {  20 },
+ {  35 },
+ {  20 },
+ {  13 },
+ {  13 },
+ {   8 },
+ {  13 },
+ {  11 },
+ {   4 },
+ {  18 },
+ {  11 },
+ {  84 },
+ { 163 },
+ {  83 },
+ { 122 },
+ { 119 },
+ { 119 },
+ {  83 },
+ { 103 },
+});
+
+const CtxSet ContextSetCfg::ChromaQpAdjFlag = ContextSetCfg::addCtxSet({
+// ctx 1458 1458
+ {  35 },
+ {  35 },
+ {  35 },
+ {  35 },
+ {   8 },
+ {   8 },
+ {   8 },
+ {   8 },
+ {  18 },
+ {  18 },
+ {  18 },
+ {  18 },
+ { 119 },
+ { 119 },
+ { 119 },
+ { 119 },
+ { 119 },
+ { 119 },
+ { 119 },
+ { 119 },
+});
+
+const CtxSet ContextSetCfg::DimdFlag = ContextSetCfg::addCtxSet({
+// ctx 1459 1461
+ {  40,  35,  35 },
+ {  48,  35,  35 },
+ {  25,  35,  35 },
+ {  40,  35,  35 },
+ {   9,   8,   8 },
+ {   6,   8,   8 },
+ {   6,   8,   8 },
+ {   9,   8,   8 },
+ {  11,  18,  18 },
+ {   4,  18,  18 },
+ {   4,  18,  18 },
+ {  11,  18,  18 },
+ { 149, 119, 119 },
+ { 102, 119, 119 },
+ { 100, 119, 119 },
+ { 118, 119, 119 },
+ { 116, 119, 119 },
+ { 147, 119, 119 },
+ { 131, 119, 119 },
+ { 105, 119, 119 },
+});
+
+const CtxSet ContextSetCfg::TimdFlag = ContextSetCfg::addCtxSet({
+// ctx 1462 1464
+ {  41,  34,  34 },
+ {  34,  57,  59 },
+ {  57,  50,  58 },
+ {  41,  49,  50 },
+ {   6,   7,  10 },
+ {   6,  10,   1 },
+ {   6,   6,   2 },
+ {   6,   7,   4 },
+ {   4,  11,  32 },
+ {   4,  25,  32 },
+ {   4,   4,   4 },
+ {   4,  11,  32 },
+ { 100,  97,  90 },
+ { 139, 250, 161 },
+ {  99,  89, 117 },
+ { 185, 211, 243 },
+ { 107, 107, 124 },
+ { 139, 134, 124 },
+ { 100, 106, 100 },
+ { 134, 195, 227 },
+});
+
+const CtxSet ContextSetCfg::SgpmFlag = ContextSetCfg::addCtxSet({
+// ctx 1465 1467
+ {  26,  26,  26 },
+ {  33,  33,  41 },
+ {  26,  27,  27 },
+ {  34,  27,  34 },
+ {   8,   4,   0 },
+ {   6,   8,   4 },
+ {   5,   8,   0 },
+ {   8,   5,   0 },
+ {  18,  25,  25 },
+ {   4,  32,  32 },
+ {  11,  32,  18 },
+ {  18,  32,  32 },
+ {  86, 107, 134 },
+ { 243, 243, 116 },
+ { 103, 119, 252 },
+ { 211, 146,  99 },
+ { 103,  88, 118 },
+ { 180, 242, 244 },
+ {  88, 108, 124 },
+ { 243, 146, 116 },
+});
+
+const CtxSet ContextSetCfg::ObmcFlag = ContextSetCfg::addCtxSet({
+// ctx 1468 1469
+ {  39,  60 },
+ {  39,  61 },
+ {  35,  35 },
+ {  39,  60 },
+ {   4,   4 },
+ {   1,   5 },
+ {   8,   8 },
+ {   1,   4 },
+ {  32,  18 },
+ {  18,  11 },
+ {  18,  18 },
+ {   4,  18 },
+ { 122, 115 },
+ {  99, 132 },
+ { 123, 115 },
+ { 115, 164 },
+ { 119, 119 },
+ { 119, 119 },
+ { 164, 147 },
+ { 115, 101 },
+});
+
+const CtxSet ContextSetCfg::ChromaQpAdjIdc = ContextSetCfg::addCtxSet({
+// ctx 1470 1470
+ {  35 },
+ {  35 },
+ {  35 },
+ {  35 },
+ {   8 },
+ {   8 },
+ {   8 },
+ {   8 },
+ {  18 },
+ {  18 },
+ {  18 },
+ {  18 },
+ { 119 },
+ { 119 },
+ { 119 },
+ { 119 },
+ { 119 },
+ { 119 },
+ { 119 },
+ { 119 },
+});
+
+const CtxSet ContextSetCfg::ImvFlag = ContextSetCfg::addCtxSet({
+// ctx 1471 1475
+ {  60,  41,  50,  60,  46 },
+ {  59,  48,  57,  60,  60 },
+ {  35,  35,  35,  35,  35 },
+ {  30,  26,  42,  59,  46 },
+ {   1,   4,   1,   0,   4 },
+ {   1,   2,   1,   0,   4 },
+ {   8,   8,   8,   8,   8 },
+ {   1,   1,   0,   0,   4 },
+ {  11,  25,   4,  25,   4 },
+ {   4,  18,   4,  32,   4 },
+ {  18,  18,  18,  18,  18 },
+ {   4,  18,   4,  32,   4 },
+ { 117, 101, 116, 116, 132 },
+ { 118, 131, 148, 116, 134 },
+ { 118, 115, 117, 116, 117 },
+ { 117, 131, 133, 116, 104 },
+ { 119, 119, 119, 119, 119 },
+ { 119, 119, 119, 119, 119 },
+ { 117, 131, 117, 116, 109 },
+ { 118, 116, 165, 116, 102 },
+});
+
+const CtxSet ContextSetCfg::ImvFlagIBC = ContextSetCfg::addCtxSet({
+// ctx 1476 1480
+ {  54,  41,  35,  35,  35 },
+ {  46,  40,  35,  35,  35 },
+ {  51,   0,  35,  35,  35 },
+ {  39,  33,  35,  35,  35 },
+ {   2,   0,   8,   8,   8 },
+ {   2,   1,   8,   8,   8 },
+ {   0,   0,   8,   8,   8 },
+ {   5,   0,   8,   8,   8 },
+ {  18,  18,  18,  18,  18 },
+ {  18,  25,  18,  18,  18 },
+ {  25,  32,  18,  18,  18 },
+ {  18,  18,  18,  18,  18 },
+ { 115, 132, 119, 119, 119 },
+ { 117, 116, 119, 119, 119 },
+ { 226, 131, 119, 119, 119 },
+ { 132, 119, 119, 119, 119 },
+ { 123, 116, 119, 119, 119 },
+ { 117, 116, 119, 119, 119 },
+ { 130, 116, 119, 119, 119 },
+ { 133, 116, 119, 119, 119 },
+});
+
+const CtxSet ContextSetCfg::ctbAlfFlag = ContextSetCfg::addCtxSet({
+// ctx 1481 1489
+ {  34,  31,  46,  11,  46,  62,  26,  46,  62 },
+ {   5,  31,  46,   4,  54,  39,   4,  46,  62 },
+ {  31,  39,  39,  54,  39,  39,  54,  39,  39 },
+ {  20,  31,  39,  19,  54,  39,  34,  54,  39 },
+ {   8,   0,   8,  10,   0,   8,   8,   0,  13 },
+ {  13,   0,   8,  12,   1,  13,  12,   1,  12 },
+ {   0,   0,   8,   0,   0,   4,   0,   0,   9 },
+ {  12,   1,  10,  12,   0,  13,  12,   0,  13 },
+ {  32,  18,  32,  32,  11,  11,  32,  18,  25 },
+ {  32,  18,  18,  32,  18,  25,  32,  18,  32 },
+ {  32,  18,   4,  32,  11,  11,  32,  18,  32 },
+ {  32,  18,  25,  32,  11,  25,  32,  11,  25 },
+ {  83, 133, 147,  96, 116, 212,  98, 132, 130 },
+ { 213, 254,  98, 234, 228, 120, 244, 228,  66 },
+ {  74, 135, 149,  81, 133, 119,  81, 132, 120 },
+ { 147, 251, 100, 235, 181, 214, 235, 243,  81 },
+ { 116, 116, 147, 116, 116, 118, 116, 116, 103 },
+ { 217, 185,  82, 254, 236,  99, 254, 247,  81 },
+ {  65, 243, 145,  65, 132, 209,  65, 132, 115 },
+ { 234, 250, 146, 235, 117, 232, 234, 228, 130 },
+});
+
+const CtxSet ContextSetCfg::ctbAlfAlternative = ContextSetCfg::addCtxSet({
+// ctx 1490 1492
+ {  19,  34,  19 },
+ {  26,  34,  11 },
+ {  26,  26,  26 },
+ {  11,  19,  19 },
+ {   0,   0,   0 },
+ {   0,   0,   0 },
+ {   0,   0,   0 },
+ {   0,   0,   0 },
+ {  18,  25,  25 },
+ {  18,  25,  25 },
+ {  25,  25,  25 },
+ {  18,  32,  32 },
+ { 132, 116, 116 },
+ { 116, 116, 116 },
+ { 132, 116, 116 },
+ { 116, 116, 116 },
+ { 254, 174, 158 },
+ { 132, 116, 116 },
+ { 116, 116, 116 },
+ { 116, 116, 116 },
+});
+
+const CtxSet ContextSetCfg::AlfUseTemporalFilt = ContextSetCfg::addCtxSet({
+// ctx 1493 1493
+ {  39 },
+ {  39 },
+ {  39 },
+ {  39 },
+ {   4 },
+ {   6 },
+ {   4 },
+ {   4 },
+ {   4 },
+ {  18 },
+ {  25 },
+ {   4 },
+ { 116 },
+ { 100 },
+ { 130 },
+ { 100 },
+ { 134 },
+ {  99 },
+ { 132 },
+ { 100 },
+});
+
+const CtxSet ContextSetCfg::CcAlfFilterControlFlag = ContextSetCfg::addCtxSet({
+// ctx 1494 1499
+ {  18,  45,  46,  10,  60,  46 },
+ {  10,  60,  54,  10,  60,  31 },
+ {  18,  29,  46,  18,  37,  46 },
+ {  11,  52,  46,  10,  60,  54 },
+ {   4,   2,   4,   5,   2,   4 },
+ {   5,   2,   6,   6,   2,   5 },
+ {   4,   3,   8,   4,   2,   4 },
+ {   6,   2,   6,   7,   2,   6 },
+ {  18,  18,   4,  18,  18,  11 },
+ {  11,  18,   4,  25,  18,   4 },
+ {  18,  11,  32,  32,  18,  11 },
+ {  25,  18,   4,  25,  18,   4 },
+ {  99, 114, 107,  99, 114, 119 },
+ { 149, 130,  99, 121, 131,  99 },
+ {  99, 115, 131, 102, 115, 196 },
+ { 134, 146, 106, 131, 146,  98 },
+ {  99, 115, 117,  99, 115, 118 },
+ { 149, 162,  98, 155, 252,  99 },
+ { 105, 115, 117, 104, 115, 117 },
+ { 137, 114,  98, 122, 114,  98 },
+});
+
+const CtxSet ContextSetCfg::CiipFlag = ContextSetCfg::addCtxSet({
+// ctx 1500 1501
+ {  56,  43 },
+ {  56,  43 },
+ {  35,  35 },
+ {  56,  43 },
+ {   2,   2 },
+ {   2,   3 },
+ {   8,   8 },
+ {   2,   2 },
+ {  11,   4 },
+ {  11,   4 },
+ {  18,  18 },
+ {   4,   4 },
+ { 120, 121 },
+ { 117, 124 },
+ { 117, 122 },
+ { 117, 123 },
+ { 119, 119 },
+ { 119, 119 },
+ { 117, 121 },
+ { 117, 124 },
+});
+
+const CtxSet ContextSetCfg::IBCFlag = ContextSetCfg::addCtxSet({
+// ctx 1502 1504
+ {  25,  35,  30 },
+ {  40,  58,  31 },
+ {   1,  18,  35 },
+ {  40,  43,  38 },
+ {   9,   5,   9 },
+ {   9,   5,   8 },
+ {   5,   5,   9 },
+ {   9,   5,   9 },
+ {  25,  11,  18 },
+ {  25,  11,  18 },
+ {  11,  11,  18 },
+ {  25,  11,  18 },
+ {  99, 106, 118 },
+ { 146, 163, 115 },
+ { 100, 108, 132 },
+ { 242, 243, 122 },
+ { 116, 132, 116 },
+ { 119, 117, 131 },
+ { 101, 104, 117 },
+ { 162, 211, 147 },
+});
+
+const CtxSet ContextSetCfg::BiPredIbcFlag = ContextSetCfg::addCtxSet({
+// ctx 1505 1506
+ {  35,  35 },
+ {  35,  35 },
+ {  20,  10 },
+ {  35,  35 },
+ {   8,   8 },
+ {   8,   8 },
+ {   5,   5 },
+ {   8,   8 },
+ {  18,  18 },
+ {  18,  18 },
+ {  18,  11 },
+ {  18,  18 },
+ { 119, 119 },
+ { 119, 119 },
+ { 119, 119 },
+ { 119, 119 },
+ { 133, 100 },
+ { 100, 147 },
+ { 124, 122 },
+ { 116, 164 },
+});
+
+const CtxSet ContextSetCfg::IbcCiipFlag = ContextSetCfg::addCtxSet({
+// ctx 1507 1509
+ {  25,  35,  35 },
+ {  26,  35,  35 },
+ {  40,   0,  35 },
+ {  40,  35,  35 },
+ {   6,   8,   8 },
+ {   0,   8,   8 },
+ {   9,   4,   8 },
+ {   2,   8,   8 },
+ {  32,  18,  18 },
+ {  18,  18,  18 },
+ {  25,   4,  18 },
+ {  18,  18,  18 },
+ {  97, 119, 119 },
+ { 241, 119, 119 },
+ { 116, 119, 119 },
+ { 228, 119, 119 },
+ {  82,  99, 119 },
+ { 117, 199, 119 },
+ { 114,  99, 119 },
+ { 147, 137, 119 },
+});
+
+const CtxSet ContextSetCfg::IbcCiipIntraIdx = ContextSetCfg::addCtxSet({
+// ctx 1510 1510
+ {  43 },
+ {  25 },
+ {  50 },
+ {  27 },
+ {   4 },
+ {   1 },
+ {  13 },
+ {   0 },
+ {  11 },
+ {   4 },
+ {   4 },
+ {   4 },
+ { 211 },
+ { 138 },
+ { 236 },
+ { 115 },
+ { 218 },
+ {  85 },
+ { 197 },
+ { 204 },
+});
+
+const CtxSet ContextSetCfg::IbcGpmFlag = ContextSetCfg::addCtxSet({
+// ctx 1511 1511
+ {  41 },
+ {  19 },
+ {  33 },
+ {  41 },
+ {   5 },
+ {   2 },
+ {   6 },
+ {   5 },
+ {  11 },
+ {   4 },
+ {   4 },
+ {  11 },
+ { 101 },
+ { 116 },
+ { 117 },
+ { 118 },
+ {  98 },
+ { 163 },
+ { 103 },
+ { 116 },
+});
+
+const CtxSet ContextSetCfg::IbcGpmIntraFlag = ContextSetCfg::addCtxSet({
+// ctx 1512 1513
+ {  41,  49 },
+ {  27,  49 },
+ {  50,  50 },
+ {  49,  57 },
+ {   2,   1 },
+ {   2,   2 },
+ {   2,   1 },
+ {   2,   1 },
+ {   4,   4 },
+ {  11,  11 },
+ {   4,  11 },
+ {   4,   4 },
+ { 131, 116 },
+ { 117, 116 },
+ { 116, 115 },
+ { 131, 115 },
+ { 131, 115 },
+ { 119, 119 },
+ { 131, 116 },
+ { 115, 179 },
+});
+
+const CtxSet ContextSetCfg::IbcGpmSplitDirSetFlag = ContextSetCfg::addCtxSet({
+// ctx 1514 1514
+ {  38 },
+ {  45 },
+ {  22 },
+ {  23 },
+ {   4 },
+ {   3 },
+ {   5 },
+ {   5 },
+ {   4 },
+ {  11 },
+ {  18 },
+ {  11 },
+ { 103 },
+ { 132 },
+ { 130 },
+ { 123 },
+ { 131 },
+ { 100 },
+ { 131 },
+ { 133 },
+});
+
+const CtxSet ContextSetCfg::IbcGpmBldIdx = ContextSetCfg::addCtxSet({
+// ctx 1515 1518
+ {  35,  35,  35,  35 },
+ {  35,  35,  35,  35 },
+ {  30,  59,  27,  36 },
+ {  35,  35,  35,  35 },
+ {   8,   8,   8,   8 },
+ {   8,   8,   8,   8 },
+ {   5,   4,  13,   0 },
+ {   8,   8,   8,   8 },
+ {  18,  18,  18,  18 },
+ {  18,  18,  18,  18 },
+ {  32,   4,  11,   4 },
+ {  18,  18,  18,  18 },
+ { 119, 119, 119, 119 },
+ { 119, 119, 119, 119 },
+ { 119, 119, 119, 119 },
+ { 119, 119, 119, 119 },
+ { 210, 253, 231, 197 },
+ {  98,  99, 115, 254 },
+ { 226, 119, 117, 131 },
+ { 108,  99, 119, 118 },
+});
+
+const CtxSet ContextSetCfg::IbcLicFlag = ContextSetCfg::addCtxSet({
+// ctx 1519 1522
+ {  33,  35,  35,  35 },
+ {  25,  35,  35,  35 },
+ {  26,  17,  25,  41 },
+ {  33,  35,  35,  35 },
+ {   1,   8,   8,   8 },
+ {   1,   8,   8,   8 },
+ {   2,   6,   2,   0 },
+ {   1,   8,   8,   8 },
+ {  18,  18,  18,  18 },
+ {   4,  18,  18,  18 },
+ {  32,  25,  18,  32 },
+ {   4,  18,  18,  18 },
+ { 115, 119, 119, 119 },
+ { 131, 119, 119, 119 },
+ { 148, 119, 119, 119 },
+ { 115, 119, 119, 119 },
+ { 114,  97, 115, 116 },
+ { 115, 162, 162, 116 },
+ { 163,  98, 100, 118 },
+ { 115, 162, 226, 115 },
+});
+
+const CtxSet ContextSetCfg::IbcLicIndex = ContextSetCfg::addCtxSet({
+// ctx 1523 1524
+ {  26,  44 },
+ {  61,  19 },
+ {  34,  26 },
+ {  58,  12 },
+ {   5,   1 },
+ {   3,   0 },
+ {   5,   1 },
+ {   5,   2 },
+ {  32,  32 },
+ {  32,  25 },
+ {  18,   4 },
+ {  32,  32 },
+ { 178, 117 },
+ { 101, 131 },
+ { 113, 116 },
+ { 137, 132 },
+ { 252, 125 },
+ { 100, 148 },
+ { 244, 119 },
+ { 101, 130 },
+});
+
+const CtxSet ContextSetCfg::JointCbCrFlag = ContextSetCfg::addCtxSet({
+// ctx 1525 1527
+ {  34,  43,  59 },
+ {  27,   5,  60 },
+ {  12,  29,  58 },
+ {  34,  43,  52 },
+ {   1,   0,   1 },
+ {   1,   0,   1 },
+ {   1,   1,   1 },
+ {   1,   0,   1 },
+ {  18,  18,  25 },
+ {  18,  18,  11 },
+ {  18,  18,  25 },
+ {  18,  18,  11 },
+ { 117, 132, 115 },
+ { 116, 116, 115 },
+ { 117, 132, 131 },
+ { 119, 117, 115 },
+ { 116, 147, 116 },
+ { 117, 116, 116 },
+ { 116, 116, 115 },
+ { 116, 116, 115 },
+});
+
+const CtxSet ContextSetCfg::TsSigCoeffGroup = ContextSetCfg::addCtxSet({
+// ctx 1528 1530
+ {  18,  20,  37 },
+ {  18,  27,  44 },
+ {  18,  20,  38 },
+ {  18,  20,  37 },
+ {   9,   9,   5 },
+ {   6,   5,   4 },
+ {   6,   8,   6 },
+ {   6,   5,   5 },
+ {  18,  18,   4 },
+ {   4,   4,   4 },
+ {  18,  18,  18 },
+ {  11,   4,   4 },
+ { 101, 117, 180 },
+ { 148, 251, 148 },
+ { 102, 140, 139 },
+ { 228, 252, 148 },
+ { 116, 132, 194 },
+ { 163, 118,  99 },
+ { 107, 124, 117 },
+ { 243, 250, 135 },
+});
+
+const CtxSet ContextSetCfg::TsSigFlag = ContextSetCfg::addCtxSet({
+// ctx 1531 1533
+ {  25,  35,  37 },
+ {  25,  50,  44 },
+ {  25,  28,  38 },
+ {  25,  35,  29 },
+ {  13,   9,   5 },
+ {  13,  10,   4 },
+ {  13,  13,  10 },
+ {  13,   9,   5 },
+ {   4,   4,  18 },
+ {   4,   4,  11 },
+ {   4,  18,  11 },
+ {   4,   4,  18 },
+ {  74, 251, 108 },
+ { 148, 251, 107 },
+ {  74, 250, 104 },
+ { 118, 250, 109 },
+ {  69, 234,  99 },
+ {  85, 234, 114 },
+ {  74, 251, 103 },
+ { 134, 251, 108 },
+});
+
+const CtxSet ContextSetCfg::TsParFlag = ContextSetCfg::addCtxSet({
+// ctx 1534 1534
+ {   3 },
+ {  10 },
+ {  11 },
+ {   3 },
+ {   5 },
+ {   2 },
+ {   5 },
+ {   5 },
+ {  18 },
+ {  11 },
+ {   4 },
+ {  18 },
+ { 116 },
+ { 242 },
+ { 117 },
+ { 147 },
+ { 164 },
+ { 108 },
+ { 116 },
+ { 131 },
+});
+
+const CtxSet ContextSetCfg::TsGtxFlag = ContextSetCfg::addCtxSet({
+// ctx 1535 1539
+ {  35,   3,   4,   5,   5 },
+ {  35,  17,  18,   3,  59 },
+ {  35,   3,   3,   4,   3 },
+ {  35,   3,   4,   4,   5 },
+ {   8,   1,   5,   4,   0 },
+ {   8,   1,   5,   5,   1 },
+ {   8,   1,   5,   1,   1 },
+ {   8,   1,   5,   5,   1 },
+ {  18,  18,  32,  25,  18 },
+ {  18,  11,  18,  25,  11 },
+ {  18,  18,  25,  18,  18 },
+ {  18,  18,  25,  25,  11 },
+ { 119, 117, 130, 131, 164 },
+ { 119, 147, 114, 115, 117 },
+ { 119, 117, 131, 226, 243 },
+ { 119, 117, 102, 107, 117 },
+ { 119, 132, 162, 243, 211 },
+ { 119, 118, 100, 117, 116 },
+ { 119, 117, 130, 242, 243 },
+ { 119, 117, 115, 107, 117 },
+});
+
+const CtxSet ContextSetCfg::TsLrg1Flag = ContextSetCfg::addCtxSet({
+// ctx 1540 1543
+ {  19,  11,   4,  35 },
+ {  33,  11,   4,  35 },
+ {   4,   5,   5,  14 },
+ {  26,  11,  12,  35 },
+ {   1,   1,   1,   8 },
+ {   5,   1,   1,   8 },
+ {   5,   2,   2,   7 },
+ {   1,   1,   1,   8 },
+ {  18,  11,  11,  18 },
+ {  18,  11,   4,  18 },
+ {  18,  11,  18,  18 },
+ {  11,  11,   4,  18 },
+ { 119, 116, 243, 119 },
+ { 179, 116, 116, 119 },
+ { 104, 116, 132, 119 },
+ { 242, 116, 116, 119 },
+ { 108, 242, 162, 240 },
+ { 162, 115, 116,  98 },
+ { 117, 116, 243, 129 },
+ { 148, 116, 116, 100 },
+});
+
+const CtxSet ContextSetCfg::TsResidualSign = ContextSetCfg::addCtxSet({
+// ctx 1544 1549
+ {  20,  10,  46,  35,  35,  35 },
+ {  12,  10,  53,  35,  35,  35 },
+ {   5,  17,  46,  28,  25,  38 },
+ {  20,  10,  53,  35,  35,  35 },
+ {   1,   5,   5,   8,   8,   8 },
+ {   5,   5,   4,   8,   8,   8 },
+ {   1,   5,   1,   5,   9,   8 },
+ {   1,   5,   5,   8,   8,   8 },
+ {   4,  18,  25,  18,  18,  18 },
+ {   4,   4,   4,  18,  18,  18 },
+ {  25,  18,   4,  18,  32,  18 },
+ {   4,  11,  18,  18,  18,  18 },
+ { 118, 117, 116, 119, 119, 119 },
+ { 118, 131, 117, 119, 119, 119 },
+ { 116, 243, 109, 119, 119, 119 },
+ { 227, 116, 133, 119, 119, 119 },
+ { 116, 102, 118, 242, 246, 117 },
+ { 115, 210, 115, 115, 145, 181 },
+ { 123, 132, 117, 162, 232, 107 },
+ { 125, 243, 116, 115, 130, 251 },
+});
+
+const CtxSet ContextSetCfg::signPred[2] = {
+  ContextSetCfg::addCtxSet({
+// ctx 1550 1553
+ {  34,  34,  34,  26 },
+ {  34,  34,  19,  34 },
+ {  42,  42,  34,  26 },
+ {  34,  42,  34,  26 },
+ {  13,  10,  10,  10 },
+ {  13,  13,  13,  10 },
+ {  13,  10,  10,  10 },
+ {  13,  10,  10,  10 },
+ {   4,   4,   4,   4 },
+ {   4,   4,   4,   4 },
+ {   4,   4,   4,   4 },
+ {   4,   4,   4,   4 },
+ { 106, 103, 100, 100 },
+ {  85, 100, 106, 100 },
+ {  90,  85,  90, 101 },
+ {  89, 100, 100, 101 },
+ {  90, 100, 118, 122 },
+ {  90, 105,  90,  83 },
+ { 102,  90, 101, 103 },
+ {  86, 103, 106, 100 },
+  }),
+  ContextSetCfg::addCtxSet({
+// ctx 1554 1557
+ {  26,  41,  34,  41 },
+ {  41,  41,  34,  34 },
+ {  34,  34,  35,  35 },
+ {  26,  41,  34,  26 },
+ {  13,  13,  10,   6 },
+ {  13,  12,  10,  10 },
+ {  10,  10,   8,   8 },
+ {  13,  13,  10,   7 },
+ {   4,   4,   4,   4 },
+ {   4,   4,   4,   4 },
+ {   4,   4,  18,  18 },
+ {   4,   4,   4,   4 },
+ {  85,  67, 113,  99 },
+ { 100, 105, 106, 116 },
+ {  89,  67, 101,  82 },
+ { 100, 213, 106, 105 },
+ {  90,  83, 119, 119 },
+ { 101, 101, 119, 119 },
+ {  86,  67,  90,  99 },
+ { 178, 101, 100, 115 },
+  }),
+};
+
+const CtxSet ContextSetCfg::CclmDeltaFlags = ContextSetCfg::addCtxSet({
+// ctx 1558 1562
+ {  20,  35,  35,  59,  51 },
+ {  19,   3,  60,  59,  43 },
+ {  51,  42,  34,  51,  43 },
+ {  50,  57,  12,  59,  28 },
+ {   3,   2,  12,  10,   2 },
+ {   0,   4,   0,  13,  13 },
+ {   0,   9,   0,   9,  13 },
+ {   7,   3,  10,   3,   7 },
+ {  11,   4,  32,  32,   4 },
+ {  18,  11,   4,  32,  25 },
+ {   4,  18,  11,  11,   4 },
+ {  18,  25,  32,  11,  18 },
+ { 113, 227,  82, 129, 115 },
+ { 136, 228, 138, 212, 118 },
+ { 116, 248, 116, 234, 166 },
+ { 181,  99, 116, 162,  66 },
+ { 116, 216, 254, 251,  84 },
+ { 254, 103, 116, 100, 196 },
+ { 209, 242, 153, 130, 114 },
+ { 242, 118, 225, 122, 100 },
+});
+
+const CtxSet ContextSetCfg::GlmFlags = ContextSetCfg::addCtxSet({
+// ctx 1563 1567
+ {   2,  53,  53,  12,  35 },
+ {  17,  60,  53,   5,   4 },
+ {  25,  14,  52,  36,  43 },
+ {  10,  45,  53,  35,  50 },
+ {   1,   0,   4,   0,   1 },
+ {   0,   0,   0,   0,   0 },
+ {   0,   4,   0,   0,   4 },
+ {   0,   0,   3,   0,   2 },
+ {  25,  32,  32,  32,   4 },
+ {  18,  32,  25,  25,   4 },
+ {   4,  11,  18,  18,  25 },
+ {  18,  25,  18,  18,  25 },
+ { 115, 172, 115, 116, 228 },
+ { 211, 116, 115, 166, 116 },
+ { 116, 219, 116, 126, 116 },
+ { 180, 116, 116, 132, 246 },
+ { 119, 187, 116, 116, 116 },
+ { 116,  99, 120, 133, 120 },
+ { 116, 172, 193, 116, 232 },
+ { 133, 116, 169, 164, 115 },
+});
+
+const CtxSet ContextSetCfg::CccmFlag = ContextSetCfg::addCtxSet({
+// ctx 1568 1570
+ {  13,  44,  52 },
+ {  21,  52,  13 },
+ {  29,  58,  43 },
+ {  13,  52,  52 },
+ {   8,   4,   4 },
+ {   8,   4,   8 },
+ {   4,   4,   4 },
+ {   8,   4,   4 },
+ {  25,  25,  32 },
+ {  32,  25,  32 },
+ {   4,  25,  11 },
+ {  32,  25,  32 },
+ { 162, 116, 124 },
+ { 114, 102,  99 },
+ { 115, 123, 131 },
+ { 130, 147,  83 },
+ { 118, 118, 196 },
+ { 132, 131, 117 },
+ { 130, 131, 147 },
+ { 114, 115,  99 },
+});
+
+const CtxSet ContextSetCfg::CccmMpfFlag = ContextSetCfg::addCtxSet({
+// ctx 1571 1573
+ {  27,  43,  35 },
+ {  27,  43,  19 },
+ {  43,  45,  50 },
+ {  27,  43,  42 },
+ {   8,   8,   4 },
+ {   8,   8,   4 },
+ {   9,   4,   4 },
+ {   8,   8,   4 },
+ {  32,  25,  25 },
+ {  32,  25,  25 },
+ {  32,   4,  18 },
+ {  25,  18,  25 },
+ { 146, 136, 102 },
+ { 114, 114, 244 },
+ { 130, 164, 105 },
+ { 130, 115, 227 },
+ { 162, 180, 115 },
+ { 100, 148, 133 },
+ { 114, 133, 107 },
+ { 226, 146, 131 },
+});
+
+const CtxSet ContextSetCfg::BvgCccmFlag = ContextSetCfg::addCtxSet({
+// ctx 1574 1574
+ {  35 },
+ {  35 },
+ {  41 },
+ {  35 },
+ {   8 },
+ {   8 },
+ {   1 },
+ {   8 },
+ {  18 },
+ {  18 },
+ {  18 },
+ {  18 },
+ { 119 },
+ { 119 },
+ { 119 },
+ { 119 },
+ { 121 },
+ { 116 },
+ { 125 },
+ { 117 },
+});
+
+const CtxSet ContextSetCfg::CcInsideFilterFlag = ContextSetCfg::addCtxSet({
+// ctx 1575 1575
+ {  53 },
+ {   7 },
+ {  53 },
+ {  60 },
+ {   0 },
+ {   4 },
+ {   0 },
+ {   0 },
+ {  32 },
+ {  32 },
+ {  32 },
+ {  32 },
+ { 116 },
+ { 116 },
+ {  99 },
+ {  99 },
+ { 116 },
+ { 118 },
+ { 116 },
+ { 132 },
+});
+
+const CtxSet ContextSetCfg::ChromaFusionType = ContextSetCfg::addCtxSet({
+// ctx 1576 1576
+ {  22 },
+ {  30 },
+ {  36 },
+ {  22 },
+ {   8 },
+ {   8 },
+ {   5 },
+ {   8 },
+ {  32 },
+ {  32 },
+ {  11 },
+ {  32 },
+ { 168 },
+ {  82 },
+ { 252 },
+ {  82 },
+ { 124 },
+ { 101 },
+ { 182 },
+ {  82 },
+});
+
+const CtxSet ContextSetCfg::ChromaFusionCclm = ContextSetCfg::addCtxSet({
+// ctx 1577 1577
+ {  57 },
+ {  57 },
+ {  58 },
+ {  42 },
+ {   8 },
+ {   7 },
+ {   4 },
+ {   8 },
+ {  32 },
+ {  32 },
+ {  11 },
+ {  32 },
+ {  82 },
+ { 165 },
+ {  98 },
+ { 183 },
+ { 157 },
+ { 243 },
+ {  83 },
+ { 164 },
+});
+
+const CtxSet ContextSetCfg::TmrlDerive = ContextSetCfg::addCtxSet({
+// ctx 1578 1585
+ {  48,  50,  43,  35,  35,  35,  50,  35 },
+ {  48,  50,  43,  27,  50,  35,  35,  35 },
+ {  33,  50,  43,  43,  35,  35,  50,  35 },
+ {  41,  50,  43,  43,  35,  35,  35,  35 },
+ {   9,   8,   8,   8,   5,   9,   8,   8 },
+ {  10,   8,   9,  12,   8,   9,   9,   8 },
+ {   5,   8,   8,  10,  10,   8,   9,   8 },
+ {   9,   8,   8,  10,  12,   9,   8,   8 },
+ {  25,  18,  11,   4,   4,   4,   4,  18 },
+ {  25,   4,  18,  18,   4,  11,   4,  18 },
+ {  18,  11,  11,   4,   4,  18,  18,  18 },
+ {  25,   4,  11,   4,   4,   4,   4,  18 },
+ {  83, 134, 187, 236, 137, 107,  86, 119 },
+ { 130, 131,  86,  99, 105, 196, 252, 119 },
+ {  90, 151, 219, 232, 172, 131, 100, 119 },
+ { 129, 148,  84, 194,  86, 133, 232, 119 },
+ { 108, 106, 251, 248, 250, 103, 101, 119 },
+ { 131, 103,  90, 130, 100, 137, 152, 119 },
+ {  91, 118, 236, 202, 232, 116,  86, 119 },
+ { 241, 116,  86,  86,  85, 136, 252, 119 },
+});
+
+const CtxSet ContextSetCfg::nonLocalCCP = ContextSetCfg::addCtxSet({
+// ctx 1586 1586
+ {  52 },
+ {  53 },
+ {  35 },
+ {  60 },
+ {   4 },
+ {   5 },
+ {   5 },
+ {   4 },
+ {  18 },
+ {  18 },
+ {  11 },
+ {  18 },
+ { 102 },
+ { 163 },
+ { 108 },
+ { 210 },
+ { 117 },
+ { 147 },
+ { 101 },
+ { 131 },
+});
+
+#if JVET_AG0154_DECODER_DERIVED_CCP_FUSION
+const CtxSet ContextSetCfg::decoderDerivedCCP = ContextSetCfg::addCtxSet
+({
+// ctx 1587 1587
+  {  50 },
+  {  42 },
+  {  50 },
+  {  34 },
+  {   4 },
+  {   5 },
+  {   4 },
+  {   4 },
+  {  18 },
+  {  18 },
+  {  18 },
+  {  25 },
+  { 117 },
+  { 117 },
+  { 131 },
+  { 116 },
+  { 109 },
+  { 148 },
+  { 117 },
+  { 107 },
+	});
+
+const CtxSet ContextSetCfg::ddNonLocalCCP = ContextSetCfg::addCtxSet
+({
+// ctx 1588 1588
+  {  33 },
+  {  25 },
+  {  34 },
+  {  18 },
+  {   4 },
+  {   8 },
+  {   4 },
+  {   4 },
+  {  32 },
+  {  32 },
+  {  11 },
+  {  32 },
+  { 100 },
+  { 133 },
+  {  82 },
+  { 242 },
+  { 132 },
+  { 164 },
+  {  99 },
+  { 163 },
+	});
+#endif
+
+const CtxSet ContextSetCfg::InterCccmFlag = ContextSetCfg::addCtxSet({
+// ctx 1589 1589
+ {  25 },
+ {   1 },
+ {  35 },
+ {  17 },
+ {   5 },
+ {   5 },
+ {   8 },
+ {   2 },
+ {  25 },
+ {  18 },
+ {  18 },
+ {  18 },
+ {  98 },
+ { 114 },
+ {  99 },
+ { 162 },
+ { 119 },
+ { 119 },
+ { 115 },
+ { 146 },
+});
+
+#if JVET_AF0073_INTER_CCP_MERGE
+const CtxSet ContextSetCfg::InterCcpMergeFlag = ContextSetCfg::addCtxSet({
+#if JVET_AH0066_JVET_AH0202_CCP_MERGE_LUMACBF0
+// ctx 1590 1591
+ {  40,  58 },
+ {  40,  43 },
+ {  35,  35 },
+ {  25,  57 },
+ {   5,   0 },
+ {   2,   3 },
+ {   8,   8 },
+ {   5,   2 },
+ {  32,  32 },
+ {  18,  25 },
+ {  18,  18 },
+ {  25,  25 },
+ {  99, 117 },
+ {  98, 116 },
+ { 115, 114 },
+ { 146, 113 },
+ { 119, 119 },
+ { 119, 119 },
+ {  99, 114 },
+ {  98, 146 },
+#else
+ {  40 },
+ {  40 },
+ {  35 },
+ {  40 },
+ {   5 },
+ {   2 },
+ {   8 },
+ {   5 },
+ {  25 },
+ {  18 },
+ {  18 },
+ {  25 },
+ {  99 },
+ {  98 },
+ { 115 },
+ { 162 },
+ { 119 },
+ { 119 },
+ {  99 },
+ { 114 },
+#endif
+});
+#endif
+
+#if JVET_AH0066_JVET_AH0202_CCP_MERGE_LUMACBF0
+const CtxSet ContextSetCfg::InterCcpMergeZeroRootCbfIdc = ContextSetCfg::addCtxSet
+({
+// ctx 1592 1593
+  {   1,  20 },
+  {   0,   7 },
+  {  35,  35 },
+  {  17,  35 },
+  {   1,   0 },
+  {   1,   0 },
+  {   8,   8 },
+  {   1,   0 },
+  {  25,  32 },
+  {  32,  32 },
+  {  18,  18 },
+  {  18,  32 },
+  { 116, 117 },
+  { 131, 117 },
+  { 115, 116 },
+  { 115, 116 },
+  { 119, 119 },
+  { 119, 119 },
+  { 116, 116 },
+  { 163, 117 },
+  });
+#endif
+
+#if JVET_AG0058_EIP
+const CtxSet ContextSetCfg::EipFlag = ContextSetCfg::addCtxSet
+  ({
+// ctx 1594 1595
+     {  40,  11 },
+     {  25,  18 },
+     {  17,  27 },
+	 {  25,  11 },
+     {   6,   8 },
+     {   6,   8 },
+     {   9,   5 },
+	 {   6,   9 },
+     {  25,  32 },
+     {  25,  32 },
+     {  25,   4 },
+	 {  25,  32 },
+     { 100, 115 },
+     { 130, 116 },
+     { 102, 163 },
+     { 225,  99 },
+     { 105, 134 },
+     { 241, 132 },
+	 { 103, 226 },
+     { 241, 100 },
+     });
+#endif
+
+#if JVET_AG0059_CCP_MERGE_ENHANCEMENT
+const CtxSet ContextSetCfg::CCPMergeFusionFlag = ContextSetCfg::addCtxSet({
+// ctx 1596 1596
+  {  35 },
+  {  35 },
+  {  19 },
+  {  35 },
+  {   8 },
+  {   8 },
+  {   4 },
+  {   8 },
+  {  18 },
+  {  18 },
+  {  11 },
+  {  18 },
+  { 119 },
+  { 119 },
+  { 119 },
+  { 119 },
+  { 164 },
+  { 132 },
+  { 119 },
+  { 119 },
+});
+const CtxSet ContextSetCfg::CCPMergeFusionType = ContextSetCfg::addCtxSet({
+// ctx 1597 1597
+  {  35 },
+  {  35 },
+  {  51 },
+  {  35 },
+  {   8 },
+  {   8 },
+  {   4 },
+  {   8 },
+  {  18 },
+  {  18 },
+  {  25 },
+  {  18 },
+  { 119 },
+  { 119 },
+  { 119 },
+  { 119 },
+  { 131 },
+  { 106 },
+  { 119 },
+  { 119 },
+});
+#endif
+#if JVET_AH0076_OBIC
+const CtxSet ContextSetCfg::obicFlag = ContextSetCfg::addCtxSet
+({
+// ctx 1598 1598
+  {  42 },
+  {  27 },
+  {  27 },
+  {  27 },
+  {   8 },
+  {  10 },
+  {   8 },
+  {   9 },
+  {  18 },
+  {  25 },
+  {  18 },
+  {  25 },
+  {  92 },
+  { 152 },
+  {  99 },
+  { 138 },
+  { 118 },
+  { 117 },
+  { 103 },
+  { 133 },
+  });
+#endif
+// CONTEXTS WSA STOP
+#endif
diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h
index 7d28186ac..bc22e8184 100644
--- a/source/Lib/CommonLib/TypeDef.h
+++ b/source/Lib/CommonLib/TypeDef.h
@@ -416,6 +416,7 @@
 #define JVET_AG0196_WINDOWS_OFFSETS_SLICETYPE             1 // JVET-AG0196 5.2: window offsets per slice type
 #define JVET_AG0117_CABAC_SPATIAL_TUNING                  1 // JVET-AG0117 5.3: spatial CABAC tuning
 #define JVET_AH0176_LOW_DELAY_B_CTX                       1 // JVET-AH0176 6.1: context initialization for B-slice
+#define JVET_AI0281_CABAC_RETRAIN                         1 // JVET-AI0281: context initialization training
 
 // Loop filters
 #define ALF_IMPROVEMENT                                   1 // ALF improvement
diff --git a/source/Lib/DecoderLib/BinDecoder.cpp b/source/Lib/DecoderLib/BinDecoder.cpp
index d35bbffe1..3b4ef2861 100644
--- a/source/Lib/DecoderLib/BinDecoder.cpp
+++ b/source/Lib/DecoderLib/BinDecoder.cpp
@@ -171,6 +171,9 @@ namespace CabacRetrain
       s = s.substr( 0, n ) + ".cabac_" + std::to_string( ctxi );
       files[ctxi].reset( new std::ofstream{ s,std::ios::binary } );
       auto &file = *files[ctxi];
+
+      CHECK( !file.is_open(), "Context bin file is not opened" );
+
       file << "ctx " << ctxi << "\n";
       if( ctxi < 0 || ctxi >= ( int ) ContextSetCfg::getInitTable( 0 ).size() )
       {
-- 
GitLab