• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2025 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *    http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 #ifndef OHCRYPTO_ASYMKEY_TEST_H
16 #define OHCRYPTO_ASYMKEY_TEST_H
17 
18 #include <stdbool.h>
19 
20 #include "crypto_common.h"
21 #include "crypto_asym_key.h"
22 #include "crypto_framework_common_test.h"
23 
24 
25 typedef struct AsymKeySpec {
26     uint8_t *algName;
27     const char *name;
28 } AsymKeySpec;
29 
30 typedef struct {
31     const char *pubType;
32     uint8_t *algName;
33     uint8_t *algKeyName;
34     uint8_t *password;
35     int32_t pwLen;
36     uint8_t *cipher;
37     int32_t cipherLen;
38     uint8_t *type;
39     Crypto_EncodingType encoding;
40 } AsymPrivKeySpec;
41 
42 typedef struct {
43     const char *algoName;
44     const char *curve;
45     const char *curveNid;
46     bool isGetCommonSpec;
47 } CommonECCSpec;
48 
49 typedef struct {
50     const char *curve;
51     const char *curveNid;
52     const char *format;
53 } ECPointSpec;
54 
55 typedef struct {
56     const char *specName;
57     const char *algoName;
58     const char *algoKeyName;
59 } CommonRSASpec;
60 
61 typedef struct {
62     const char *algoName;
63     const char *curve;
64     int pLen;
65     int skLen;
66     bool isGetCommonSpec;
67 } CommonDHSpec;
68 
69 typedef struct {
70     const char *specName;
71     const char *algoName;
72 } CommonDSASpec;
73 
74 typedef struct {
75     const char *algoName;
76     CryptoAsymKey_ParamType sk;
77     CryptoAsymKey_ParamType pk;
78 } CommonSpec;
79 
80 /* PBKDF2 > HKDF */
81 static uint8_t g_privData[] = {
82     0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x45, 0x4e, 0x43, 0x52, 0x59,
83     0x50, 0x54, 0x45, 0x44, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b, 0x45, 0x59,
84     0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x43, 0x33, 0x44, 0x42, 0x57, 0x42, 0x67,
85     0x6b, 0x71, 0x68, 0x6b, 0x69, 0x47, 0x39, 0x77, 0x30, 0x42, 0x42, 0x51, 0x30, 0x77, 0x53, 0x54,
86     0x41, 0x6f, 0x42, 0x67, 0x67, 0x71, 0x68, 0x6b, 0x69, 0x47, 0x39, 0x77, 0x30, 0x43, 0x43, 0x54,
87     0x41, 0x63, 0x42, 0x41, 0x69, 0x47, 0x70, 0x59, 0x36, 0x38, 0x4e, 0x54, 0x52, 0x73, 0x57, 0x51,
88     0x49, 0x43, 0x43, 0x41, 0x41, 0x77, 0x0a, 0x44, 0x41, 0x59, 0x49, 0x4b, 0x6f, 0x5a, 0x49, 0x68,
89     0x76, 0x63, 0x4e, 0x41, 0x67, 0x6b, 0x46, 0x41, 0x44, 0x41, 0x64, 0x42, 0x67, 0x6c, 0x67, 0x68,
90     0x6b, 0x67, 0x42, 0x5a, 0x51, 0x4d, 0x45, 0x41, 0x51, 0x49, 0x45, 0x45, 0x46, 0x71, 0x4e, 0x67,
91     0x69, 0x7a, 0x69, 0x44, 0x2b, 0x41, 0x65, 0x50, 0x76, 0x58, 0x46, 0x74, 0x71, 0x67, 0x6c, 0x44,
92     0x58, 0x6b, 0x45, 0x67, 0x67, 0x4b, 0x41, 0x0a, 0x30, 0x4f, 0x43, 0x57, 0x6f, 0x73, 0x50, 0x69,
93     0x4f, 0x6d, 0x52, 0x75, 0x68, 0x39, 0x54, 0x56, 0x2b, 0x51, 0x51, 0x30, 0x6c, 0x58, 0x2b, 0x4e,
94     0x6c, 0x38, 0x68, 0x45, 0x61, 0x54, 0x74, 0x6d, 0x71, 0x70, 0x58, 0x42, 0x4a, 0x4c, 0x7a, 0x47,
95     0x33, 0x73, 0x42, 0x5a, 0x36, 0x33, 0x4d, 0x50, 0x56, 0x4a, 0x57, 0x56, 0x6e, 0x76, 0x32, 0x56,
96     0x31, 0x62, 0x43, 0x43, 0x30, 0x2b, 0x37, 0x49, 0x0a, 0x38, 0x61, 0x49, 0x36, 0x30, 0x79, 0x57,
97     0x69, 0x53, 0x58, 0x35, 0x4b, 0x75, 0x79, 0x45, 0x2f, 0x7a, 0x33, 0x52, 0x36, 0x51, 0x4a, 0x69,
98     0x45, 0x71, 0x52, 0x34, 0x75, 0x65, 0x69, 0x4e, 0x46, 0x70, 0x70, 0x51, 0x42, 0x4e, 0x4d, 0x6a,
99     0x47, 0x49, 0x77, 0x70, 0x4f, 0x34, 0x6f, 0x52, 0x37, 0x47, 0x53, 0x4a, 0x65, 0x6d, 0x7a, 0x68,
100     0x4e, 0x4b, 0x34, 0x38, 0x7a, 0x30, 0x54, 0x68, 0x74, 0x0a, 0x2b, 0x51, 0x2f, 0x69, 0x50, 0x46,
101     0x72, 0x32, 0x58, 0x57, 0x78, 0x72, 0x72, 0x47, 0x32, 0x59, 0x62, 0x35, 0x4f, 0x41, 0x46, 0x30,
102     0x6e, 0x48, 0x77, 0x71, 0x51, 0x55, 0x55, 0x38, 0x5a, 0x7a, 0x6e, 0x62, 0x38, 0x77, 0x73, 0x48,
103     0x36, 0x6c, 0x56, 0x64, 0x6c, 0x43, 0x37, 0x55, 0x39, 0x33, 0x32, 0x41, 0x63, 0x4d, 0x50, 0x6f,
104     0x61, 0x32, 0x57, 0x4f, 0x6d, 0x42, 0x49, 0x62, 0x4c, 0x43, 0x0a, 0x39, 0x51, 0x6c, 0x4a, 0x72,
105     0x61, 0x70, 0x77, 0x30, 0x33, 0x5a, 0x2b, 0x78, 0x44, 0x56, 0x2f, 0x67, 0x49, 0x2b, 0x72, 0x4e,
106     0x44, 0x30, 0x4a, 0x51, 0x70, 0x48, 0x77, 0x52, 0x5a, 0x52, 0x51, 0x44, 0x6c, 0x70, 0x42, 0x57,
107     0x44, 0x70, 0x44, 0x46, 0x5a, 0x38, 0x54, 0x42, 0x4a, 0x58, 0x50, 0x76, 0x67, 0x75, 0x6b, 0x50,
108     0x78, 0x52, 0x72, 0x73, 0x2b, 0x6b, 0x57, 0x71, 0x42, 0x62, 0x32, 0x0a, 0x78, 0x53, 0x53, 0x42,
109     0x73, 0x46, 0x62, 0x38, 0x4f, 0x78, 0x77, 0x45, 0x43, 0x50, 0x6d, 0x44, 0x73, 0x57, 0x49, 0x49,
110     0x41, 0x41, 0x43, 0x6a, 0x31, 0x6b, 0x6e, 0x73, 0x62, 0x70, 0x72, 0x36, 0x32, 0x64, 0x6c, 0x39,
111     0x66, 0x70, 0x58, 0x37, 0x4a, 0x71, 0x74, 0x71, 0x2b, 0x4f, 0x58, 0x53, 0x45, 0x34, 0x6e, 0x57,
112     0x67, 0x45, 0x76, 0x53, 0x2f, 0x42, 0x41, 0x77, 0x63, 0x59, 0x78, 0x52, 0x0a, 0x4f, 0x34, 0x4e,
113     0x66, 0x6b, 0x2b, 0x52, 0x46, 0x79, 0x4e, 0x2f, 0x52, 0x54, 0x4e, 0x58, 0x6f, 0x6c, 0x70, 0x4b,
114     0x2f, 0x69, 0x77, 0x4c, 0x55, 0x65, 0x62, 0x6d, 0x59, 0x51, 0x71, 0x61, 0x2f, 0x6e, 0x68, 0x78,
115     0x58, 0x62, 0x56, 0x73, 0x41, 0x42, 0x4d, 0x52, 0x78, 0x65, 0x49, 0x37, 0x76, 0x71, 0x59, 0x63,
116     0x4f, 0x2b, 0x72, 0x73, 0x63, 0x33, 0x58, 0x4e, 0x53, 0x7a, 0x31, 0x69, 0x58, 0x0a, 0x42, 0x65,
117     0x44, 0x4b, 0x4f, 0x31, 0x36, 0x34, 0x57, 0x69, 0x32, 0x37, 0x32, 0x43, 0x34, 0x54, 0x75, 0x37,
118     0x34, 0x37, 0x6c, 0x41, 0x47, 0x47, 0x6b, 0x75, 0x67, 0x67, 0x59, 0x6c, 0x4b, 0x34, 0x52, 0x6a,
119     0x64, 0x57, 0x44, 0x51, 0x75, 0x52, 0x44, 0x6c, 0x33, 0x35, 0x49, 0x30, 0x78, 0x6b, 0x70, 0x6c,
120     0x35, 0x6c, 0x43, 0x69, 0x73, 0x6f, 0x59, 0x6b, 0x74, 0x37, 0x51, 0x6a, 0x74, 0x4c, 0x0a, 0x2f,
121     0x7a, 0x45, 0x53, 0x62, 0x57, 0x46, 0x74, 0x43, 0x6e, 0x36, 0x52, 0x4e, 0x49, 0x49, 0x53, 0x68,
122     0x42, 0x56, 0x74, 0x76, 0x75, 0x53, 0x73, 0x6b, 0x51, 0x36, 0x63, 0x67, 0x67, 0x4b, 0x74, 0x59,
123     0x53, 0x6f, 0x72, 0x68, 0x62, 0x74, 0x2f, 0x67, 0x57, 0x6c, 0x71, 0x68, 0x63, 0x61, 0x2b, 0x73,
124     0x77, 0x63, 0x31, 0x4e, 0x4c, 0x6f, 0x4f, 0x44, 0x2b, 0x63, 0x33, 0x57, 0x48, 0x6d, 0x58, 0x0a,
125     0x2f, 0x77, 0x73, 0x34, 0x55, 0x68, 0x58, 0x42, 0x74, 0x50, 0x47, 0x73, 0x54, 0x4a, 0x46, 0x62,
126     0x74, 0x2b, 0x4b, 0x61, 0x56, 0x36, 0x31, 0x6c, 0x44, 0x70, 0x36, 0x37, 0x30, 0x34, 0x35, 0x6d,
127     0x66, 0x50, 0x58, 0x6a, 0x6b, 0x33, 0x68, 0x52, 0x4b, 0x52, 0x6e, 0x59, 0x56, 0x59, 0x4c, 0x37,
128     0x30, 0x52, 0x7a, 0x73, 0x2b, 0x78, 0x30, 0x50, 0x54, 0x6b, 0x67, 0x5a, 0x39, 0x30, 0x5a, 0x66,
129     0x0a, 0x2f, 0x48, 0x73, 0x37, 0x67, 0x67, 0x47, 0x6a, 0x33, 0x59, 0x6f, 0x4b, 0x34, 0x46, 0x6c,
130     0x64, 0x45, 0x75, 0x44, 0x63, 0x55, 0x61, 0x46, 0x35, 0x53, 0x67, 0x52, 0x55, 0x56, 0x43, 0x37,
131     0x41, 0x4f, 0x32, 0x4f, 0x43, 0x59, 0x47, 0x55, 0x57, 0x77, 0x70, 0x73, 0x6d, 0x41, 0x37, 0x50,
132     0x34, 0x72, 0x32, 0x70, 0x46, 0x68, 0x7a, 0x48, 0x75, 0x52, 0x47, 0x47, 0x31, 0x6c, 0x6a, 0x57,
133     0x78, 0x0a, 0x6f, 0x4f, 0x78, 0x44, 0x54, 0x44, 0x44, 0x33, 0x55, 0x39, 0x61, 0x77, 0x57, 0x57,
134     0x6c, 0x78, 0x70, 0x56, 0x33, 0x77, 0x64, 0x61, 0x35, 0x49, 0x42, 0x6f, 0x52, 0x7a, 0x4b, 0x30,
135     0x54, 0x42, 0x77, 0x33, 0x51, 0x4f, 0x39, 0x4e, 0x64, 0x73, 0x4b, 0x75, 0x55, 0x41, 0x6f, 0x59,
136     0x5a, 0x73, 0x61, 0x4c, 0x34, 0x39, 0x62, 0x51, 0x63, 0x37, 0x49, 0x31, 0x7a, 0x2b, 0x53, 0x4d,
137     0x2b, 0x52, 0x0a, 0x74, 0x71, 0x5a, 0x31, 0x30, 0x54, 0x32, 0x56, 0x2b, 0x51, 0x30, 0x6e, 0x46,
138     0x2b, 0x4e, 0x32, 0x74, 0x72, 0x4c, 0x62, 0x2f, 0x4e, 0x50, 0x52, 0x4d, 0x62, 0x55, 0x69, 0x39,
139     0x44, 0x35, 0x49, 0x70, 0x62, 0x30, 0x42, 0x6c, 0x63, 0x6c, 0x76, 0x2f, 0x2f, 0x73, 0x75, 0x61,
140     0x75, 0x67, 0x62, 0x2b, 0x77, 0x66, 0x68, 0x48, 0x72, 0x43, 0x74, 0x7a, 0x5a, 0x61, 0x43, 0x4f,
141     0x4f, 0x77, 0x69, 0x0a, 0x6f, 0x57, 0x56, 0x38, 0x59, 0x69, 0x67, 0x39, 0x6e, 0x42, 0x71, 0x6e,
142     0x74, 0x6f, 0x56, 0x4c, 0x76, 0x4d, 0x4a, 0x6c, 0x64, 0x54, 0x65, 0x6a, 0x4a, 0x41, 0x56, 0x75,
143     0x79, 0x57, 0x57, 0x35, 0x6f, 0x5a, 0x30, 0x61, 0x65, 0x49, 0x64, 0x69, 0x52, 0x77, 0x70, 0x34,
144     0x4f, 0x35, 0x71, 0x31, 0x71, 0x64, 0x45, 0x58, 0x69, 0x64, 0x61, 0x58, 0x4a, 0x45, 0x55, 0x46,
145     0x56, 0x62, 0x75, 0x79, 0x0a, 0x6e, 0x4e, 0x4b, 0x50, 0x37, 0x35, 0x65, 0x4a, 0x65, 0x4f, 0x32,
146     0x48, 0x4e, 0x57, 0x56, 0x6d, 0x34, 0x6f, 0x43, 0x72, 0x72, 0x41, 0x3d, 0x3d, 0x0a, 0x2d, 0x2d,
147     0x2d, 0x2d, 0x2d, 0x45, 0x4e, 0x44, 0x20, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44,
148     0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b, 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d,
149     0x2d, 0x0a
150 };
151 
152 static uint8_t g_privDerData[] = {
153     0x30, 0x82, 0x02, 0x5c, 0x02, 0x01, 0x00, 0x02, 0x81, 0x81, 0x00, 0xa4, 0xa1, 0xba, 0x1a, 0x2e,
154     0x73, 0x1c, 0x82, 0x06, 0x77, 0xa2, 0xd6, 0xef, 0xb9, 0x32, 0xfc, 0xcb, 0x60, 0x70, 0x70, 0x9e,
155     0xdb, 0x91, 0xf2, 0x50, 0x3c, 0xfa, 0x4d, 0x83, 0xe3, 0x27, 0x50, 0x2a, 0xa6, 0xf2, 0x0a, 0x1e,
156     0xe2, 0x72, 0x7d, 0xdd, 0x92, 0xd9, 0x62, 0x47, 0x53, 0x05, 0x34, 0xb8, 0x32, 0xf8, 0x82, 0x0a,
157     0x11, 0x44, 0xec, 0xbd, 0xc7, 0x9b, 0x94, 0x08, 0x7e, 0x22, 0x5f, 0x67, 0x58, 0xe1, 0x5c, 0x1a,
158     0x5a, 0x9e, 0x6f, 0xc2, 0xd3, 0x9b, 0xb9, 0xaa, 0xd2, 0xb9, 0x68, 0xc1, 0x64, 0x12, 0x97, 0xad,
159     0x9a, 0x70, 0x9b, 0x50, 0x84, 0xdc, 0x42, 0x74, 0xe7, 0x03, 0x67, 0xae, 0x0f, 0xca, 0x7b, 0xec,
160     0x00, 0x75, 0x52, 0x40, 0x51, 0x81, 0x29, 0x12, 0x5e, 0x83, 0x61, 0x19, 0xba, 0x40, 0x5b, 0x58,
161     0x8c, 0x3b, 0xb2, 0x47, 0x9c, 0x5c, 0x79, 0x28, 0xaf, 0xd7, 0x4f, 0x02, 0x03, 0x01, 0x00, 0x01,
162     0x02, 0x81, 0x80, 0x7e, 0xa2, 0x74, 0x4f, 0x6d, 0x49, 0x58, 0x35, 0x60, 0x1a, 0x28, 0x64, 0xe2,
163     0x72, 0xf7, 0x98, 0x62, 0x2c, 0x25, 0x71, 0x4b, 0x90, 0xa3, 0xbb, 0xdb, 0x22, 0x7c, 0x7a, 0xa1,
164     0xa7, 0x59, 0xf7, 0x1d, 0x47, 0xdb, 0x48, 0x13, 0xa7, 0xa5, 0xdf, 0xd1, 0x4f, 0x02, 0xed, 0xc8,
165     0xe5, 0x40, 0x4c, 0xe4, 0x1f, 0x38, 0xee, 0x76, 0x26, 0x00, 0x79, 0x86, 0x25, 0x83, 0x33, 0xa4,
166     0x30, 0xb9, 0xe8, 0xa2, 0x6e, 0xe2, 0xc6, 0x28, 0x17, 0x93, 0xba, 0xb1, 0x0c, 0xf4, 0x99, 0x18,
167     0x12, 0xbd, 0x04, 0x6c, 0x01, 0xb1, 0x48, 0xbb, 0x3f, 0xc0, 0x92, 0x81, 0x01, 0x61, 0x47, 0x34,
168     0x60, 0xb2, 0x71, 0xdb, 0xd2, 0x58, 0xf4, 0x80, 0x48, 0xad, 0x09, 0x30, 0x01, 0xda, 0x31, 0x82,
169     0xd6, 0x2d, 0xd2, 0x83, 0x83, 0xc0, 0xf7, 0x9d, 0x0f, 0x52, 0xbc, 0xf5, 0x66, 0xd1, 0x77, 0x86,
170     0x3c, 0x13, 0x09, 0x02, 0x41, 0x00, 0xd9, 0x8f, 0x08, 0xc5, 0x5f, 0x81, 0x53, 0x39, 0xf4, 0x0f,
171     0x30, 0xb7, 0x10, 0xda, 0x54, 0x9a, 0xaf, 0x01, 0xfa, 0x90, 0x2e, 0xfb, 0xba, 0xbd, 0x4a, 0x17,
172     0x87, 0xf5, 0xdf, 0x6f, 0x65, 0x99, 0xd1, 0x39, 0x45, 0x0d, 0x00, 0x03, 0x3f, 0xc3, 0xd3, 0x00,
173     0x91, 0xbc, 0xba, 0x31, 0x75, 0xed, 0xa9, 0xf1, 0x9a, 0xe1, 0xdb, 0x63, 0x92, 0x25, 0xa0, 0x29,
174     0xa1, 0xe1, 0xe9, 0xc5, 0x8c, 0x3b, 0x02, 0x41, 0x00, 0xc1, 0xb8, 0x9d, 0x4e, 0x14, 0xbd, 0x89,
175     0x75, 0x45, 0x93, 0x2a, 0x70, 0x9b, 0xba, 0x6c, 0x60, 0x36, 0xb8, 0xfc, 0x87, 0x42, 0xc6, 0x7b,
176     0xf6, 0xb5, 0x23, 0xd7, 0x24, 0x7e, 0x25, 0xfd, 0x4a, 0xf9, 0x6c, 0x24, 0x9d, 0xf9, 0xca, 0x78,
177     0x80, 0xf2, 0xf8, 0x78, 0x93, 0x2e, 0xcb, 0x7b, 0x0b, 0xdd, 0x28, 0x6c, 0xc8, 0xbc, 0x26, 0x5c,
178     0xe5, 0x94, 0x28, 0x30, 0xdd, 0xe2, 0xc5, 0xb3, 0xfd, 0x02, 0x40, 0x70, 0xef, 0x12, 0xfa, 0x82,
179     0x0d, 0x3c, 0x0a, 0xc5, 0x6a, 0x6d, 0x3b, 0x5a, 0x80, 0x3b, 0x92, 0xe0, 0x6e, 0x02, 0x87, 0x7e,
180     0x1c, 0x26, 0x5f, 0xc4, 0x6a, 0x5a, 0xa5, 0x83, 0x8a, 0xec, 0x0e, 0xe0, 0xd0, 0xfd, 0xcb, 0x35,
181     0xca, 0x79, 0xfb, 0x49, 0x38, 0xee, 0x6e, 0x2d, 0xa9, 0x27, 0x32, 0x6c, 0x19, 0x82, 0xf0, 0xe3,
182     0x55, 0xd8, 0xb3, 0xb7, 0x64, 0x65, 0x28, 0x44, 0x95, 0xcb, 0xa9, 0x02, 0x40, 0x16, 0xca, 0x3f,
183     0x47, 0x56, 0x4d, 0x4e, 0x04, 0x8b, 0xe0, 0xda, 0x57, 0x51, 0x1a, 0xc7, 0x71, 0x32, 0x3e, 0xe5,
184     0x06, 0x8c, 0xa6, 0x89, 0x22, 0xe7, 0x00, 0x86, 0x68, 0xf6, 0xa6, 0x45, 0x7c, 0x32, 0x87, 0xb4,
185     0x6f, 0x19, 0x59, 0xe6, 0x7f, 0x55, 0x16, 0x42, 0x29, 0x1e, 0x92, 0x35, 0xb1, 0x99, 0x9d, 0x0d,
186     0xdf, 0x37, 0xb3, 0x53, 0xae, 0x76, 0x95, 0x9b, 0xda, 0x1e, 0xb9, 0x9f, 0x89, 0x02, 0x41, 0x00,
187     0x9f, 0x28, 0x74, 0x45, 0x91, 0x5d, 0x04, 0x13, 0xdd, 0xe8, 0x40, 0xa8, 0x03, 0xf0, 0x1e, 0xa2,
188     0xeb, 0x97, 0x25, 0x86, 0x8c, 0xe1, 0xad, 0x73, 0xa0, 0x8e, 0x1d, 0x2e, 0x5e, 0x0d, 0xd7, 0x9a,
189     0x64, 0xb9, 0x1d, 0xca, 0x3a, 0x8d, 0x2d, 0x56, 0x07, 0xfa, 0x8e, 0x4a, 0x6a, 0xcd, 0xad, 0xe3,
190     0x94, 0x57, 0xe9, 0xb6, 0x51, 0x86, 0x65, 0xf2, 0x88, 0x2f, 0x03, 0xa3, 0xe6, 0xed, 0xe6, 0x84
191 };
192 
193 #endif