1/*
2 *  si-60-cms.c
3 *  Security
4 *
5 *  Created by Michael Brouwer on 2/21/08
6 *  Copyright (c) 2008 Apple Inc. All Rights Reserved.
7 *
8 */
9#include <Security/SecInternal.h>
10#include <Security/SecCMS.h>
11#include <Security/SecSCEP.h>
12#include <Security/SecItem.h>
13#include <Security/SecItemPriv.h>
14#include <Security/SecIdentityPriv.h>
15#include <utilities/array_size.h>
16
17#include <CommonCrypto/CommonDigest.h>
18#include <CoreFoundation/CoreFoundation.h>
19#include <stdlib.h>
20#include <unistd.h>
21#include <AssertMacros.h>
22
23#include "Security_regressions.h"
24#include <test/testcert.h>
25
26static uint8_t msscep_getcacert[] = {
27	0x30, 0x82, 0x10, 0x8d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
28	0x01, 0x07, 0x02, 0xa0, 0x82, 0x10, 0x7e, 0x30, 0x82, 0x10, 0x7a, 0x02,
29	0x01, 0x01, 0x31, 0x00, 0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
30	0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x10, 0x62, 0x30, 0x82, 0x05,
31	0xcc, 0x30, 0x82, 0x04, 0xb4, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x0a,
32	0x61, 0x0c, 0x81, 0xa9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x0d,
33	0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05,
34	0x00, 0x30, 0x4e, 0x31, 0x13, 0x30, 0x11, 0x06, 0x0a, 0x09, 0x92, 0x26,
35	0x89, 0x93, 0xf2, 0x2c, 0x64, 0x01, 0x19, 0x16, 0x03, 0x63, 0x6f, 0x6d,
36	0x31, 0x18, 0x30, 0x16, 0x06, 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93, 0xf2,
37	0x2c, 0x64, 0x01, 0x19, 0x16, 0x08, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65,
38	0x73, 0x74, 0x31, 0x1d, 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13,
39	0x14, 0x71, 0x61, 0x73, 0x72, 0x76, 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70,
40	0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x1e, 0x17,
41	0x0d, 0x30, 0x39, 0x30, 0x32, 0x31, 0x37, 0x32, 0x32, 0x33, 0x35, 0x35,
42	0x35, 0x5a, 0x17, 0x0d, 0x31, 0x31, 0x30, 0x32, 0x31, 0x37, 0x32, 0x32,
43	0x33, 0x35, 0x35, 0x35, 0x5a, 0x30, 0x81, 0x8a, 0x31, 0x0b, 0x30, 0x09,
44	0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x0b, 0x30,
45	0x09, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x02, 0x63, 0x61, 0x31, 0x12,
46	0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x09, 0x63, 0x75, 0x70,
47	0x65, 0x72, 0x74, 0x69, 0x6e, 0x6f, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03,
48	0x55, 0x04, 0x0a, 0x13, 0x08, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73,
49	0x74, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x02,
50	0x71, 0x61, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13,
51	0x0c, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63, 0x6f,
52	0x6d, 0x31, 0x23, 0x30, 0x21, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
53	0x0d, 0x01, 0x09, 0x01, 0x16, 0x14, 0x71, 0x61, 0x61, 0x64, 0x6d, 0x69,
54	0x6e, 0x40, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63,
55	0x6f, 0x6d, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48,
56	0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00,
57	0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0x93, 0x67, 0x34, 0x15, 0xe9,
58	0x97, 0x97, 0x74, 0xbf, 0x0e, 0x1c, 0xd8, 0x44, 0x00, 0x0d, 0x42, 0x7a,
59	0x3d, 0xd1, 0xea, 0xc8, 0x95, 0xc0, 0x6b, 0x93, 0x6c, 0x6d, 0x87, 0x4a,
60	0x21, 0xf5, 0xbf, 0x16, 0x10, 0x19, 0x44, 0x2f, 0xd2, 0xd6, 0x87, 0x55,
61	0x52, 0x04, 0xb0, 0x0b, 0x3e, 0x49, 0xb7, 0x9c, 0x2b, 0x01, 0xc8, 0x6c,
62	0x3e, 0x56, 0xb5, 0xd2, 0x20, 0x29, 0x0f, 0x25, 0x04, 0xcb, 0x59, 0xce,
63	0x37, 0x69, 0xcf, 0x4e, 0x05, 0x06, 0x2d, 0xac, 0xaf, 0x33, 0xee, 0x4e,
64	0xce, 0xe1, 0x55, 0x46, 0xc6, 0x5c, 0x68, 0x56, 0xda, 0xd6, 0x0a, 0x6e,
65	0xeb, 0xdb, 0x4d, 0xf6, 0xef, 0x0d, 0xcf, 0x1e, 0x43, 0xfa, 0xc2, 0xe2,
66	0xfa, 0x87, 0xe0, 0x31, 0x16, 0x46, 0x97, 0x12, 0x26, 0xdc, 0x94, 0x16,
67	0x73, 0xb0, 0xcf, 0xad, 0x7d, 0x7d, 0x8b, 0xb8, 0xf5, 0xd1, 0x89, 0x50,
68	0x12, 0x1d, 0x49, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x02, 0xf1,
69	0x30, 0x82, 0x02, 0xed, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x04,
70	0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x15, 0x06, 0x03, 0x55, 0x1d, 0x25,
71	0x04, 0x0e, 0x30, 0x0c, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82,
72	0x37, 0x14, 0x02, 0x01, 0x30, 0x3b, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04,
73	0x01, 0x82, 0x37, 0x14, 0x02, 0x04, 0x2e, 0x1e, 0x2c, 0x00, 0x45, 0x00,
74	0x6e, 0x00, 0x72, 0x00, 0x6f, 0x00, 0x6c, 0x00, 0x6c, 0x00, 0x6d, 0x00,
75	0x65, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x41, 0x00, 0x67, 0x00, 0x65, 0x00,
76	0x6e, 0x00, 0x74, 0x00, 0x4f, 0x00, 0x66, 0x00, 0x66, 0x00, 0x6c, 0x00,
77	0x69, 0x00, 0x6e, 0x00, 0x65, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e,
78	0x04, 0x16, 0x04, 0x14, 0xb3, 0xd0, 0xef, 0xb6, 0xe0, 0x3b, 0x3b, 0x39,
79	0xf8, 0x5a, 0x33, 0x07, 0x2f, 0x19, 0xd9, 0xcd, 0xdd, 0xe3, 0xf9, 0x1e,
80	0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80,
81	0x14, 0x40, 0xb5, 0x54, 0x10, 0x88, 0x09, 0xeb, 0x3e, 0x2e, 0x69, 0x82,
82	0xa6, 0xa0, 0xd8, 0xe4, 0xb0, 0x98, 0xc1, 0x69, 0x3d, 0x30, 0x82, 0x01,
83	0x19, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x82, 0x01, 0x10, 0x30, 0x82,
84	0x01, 0x0c, 0x30, 0x82, 0x01, 0x08, 0xa0, 0x82, 0x01, 0x04, 0xa0, 0x82,
85	0x01, 0x00, 0x86, 0x81, 0xbc, 0x6c, 0x64, 0x61, 0x70, 0x3a, 0x2f, 0x2f,
86	0x2f, 0x43, 0x4e, 0x3d, 0x71, 0x61, 0x73, 0x72, 0x76, 0x31, 0x30, 0x2e,
87	0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d,
88	0x2c, 0x43, 0x4e, 0x3d, 0x71, 0x61, 0x73, 0x72, 0x76, 0x31, 0x30, 0x2c,
89	0x43, 0x4e, 0x3d, 0x43, 0x44, 0x50, 0x2c, 0x43, 0x4e, 0x3d, 0x50, 0x75,
90	0x62, 0x6c, 0x69, 0x63, 0x25, 0x32, 0x30, 0x4b, 0x65, 0x79, 0x25, 0x32,
91	0x30, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2c, 0x43, 0x4e,
92	0x3d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2c, 0x43, 0x4e,
93	0x3d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69,
94	0x6f, 0x6e, 0x2c, 0x44, 0x43, 0x3d, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65,
95	0x73, 0x74, 0x2c, 0x44, 0x43, 0x3d, 0x63, 0x6f, 0x6d, 0x3f, 0x63, 0x65,
96	0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x76,
97	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x3f,
98	0x62, 0x61, 0x73, 0x65, 0x3f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43,
99	0x6c, 0x61, 0x73, 0x73, 0x3d, 0x63, 0x52, 0x4c, 0x44, 0x69, 0x73, 0x74,
100	0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x69, 0x6e,
101	0x74, 0x86, 0x3f, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x71, 0x61,
102	0x73, 0x72, 0x76, 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65,
103	0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x65, 0x72, 0x74, 0x45,
104	0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x2f, 0x71, 0x61, 0x73, 0x72, 0x76, 0x31,
105	0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63,
106	0x6f, 0x6d, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x82, 0x01, 0x2b, 0x06, 0x08,
107	0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x82, 0x01, 0x1d,
108	0x30, 0x82, 0x01, 0x19, 0x30, 0x81, 0xb4, 0x06, 0x08, 0x2b, 0x06, 0x01,
109	0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x81, 0xa7, 0x6c, 0x64, 0x61, 0x70,
110	0x3a, 0x2f, 0x2f, 0x2f, 0x43, 0x4e, 0x3d, 0x71, 0x61, 0x73, 0x72, 0x76,
111	0x31, 0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e,
112	0x63, 0x6f, 0x6d, 0x2c, 0x43, 0x4e, 0x3d, 0x41, 0x49, 0x41, 0x2c, 0x43,
113	0x4e, 0x3d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x25, 0x32, 0x30, 0x4b,
114	0x65, 0x79, 0x25, 0x32, 0x30, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
115	0x73, 0x2c, 0x43, 0x4e, 0x3d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
116	0x73, 0x2c, 0x43, 0x4e, 0x3d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75,
117	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x44, 0x43, 0x3d, 0x69, 0x76,
118	0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2c, 0x44, 0x43, 0x3d, 0x63, 0x6f,
119	0x6d, 0x3f, 0x63, 0x41, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63,
120	0x61, 0x74, 0x65, 0x3f, 0x62, 0x61, 0x73, 0x65, 0x3f, 0x6f, 0x62, 0x6a,
121	0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x63, 0x65, 0x72,
122	0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x75,
123	0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, 0x60, 0x06, 0x08, 0x2b,
124	0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x54, 0x68, 0x74, 0x74,
125	0x70, 0x3a, 0x2f, 0x2f, 0x71, 0x61, 0x73, 0x72, 0x76, 0x31, 0x30, 0x2e,
126	0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d,
127	0x2f, 0x43, 0x65, 0x72, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x2f,
128	0x71, 0x61, 0x73, 0x72, 0x76, 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e,
129	0x74, 0x65, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x5f, 0x71, 0x61, 0x73,
130	0x72, 0x76, 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73,
131	0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x72, 0x74, 0x30, 0x0d, 0x06,
132	0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00,
133	0x03, 0x82, 0x01, 0x01, 0x00, 0x7e, 0x74, 0xff, 0x77, 0xd7, 0x2e, 0x43,
134	0x11, 0xcf, 0xef, 0xb3, 0xdd, 0x98, 0xae, 0x9a, 0xa3, 0x13, 0xc3, 0x07,
135	0x37, 0x0e, 0xe5, 0x2c, 0x50, 0xa1, 0x5e, 0xe2, 0xa6, 0x94, 0x45, 0x2a,
136	0x00, 0x9d, 0xee, 0x53, 0x67, 0x10, 0x6b, 0x13, 0xc5, 0xf9, 0x1c, 0x88,
137	0x70, 0x3c, 0x73, 0x5f, 0x98, 0x2b, 0x05, 0x51, 0xf7, 0x67, 0xf6, 0xa6,
138	0x5b, 0xcb, 0xb6, 0x1c, 0xc2, 0x85, 0xef, 0x1e, 0xcd, 0x25, 0x5f, 0xfa,
139	0xba, 0xcd, 0x89, 0xf7, 0x93, 0xfe, 0x9f, 0xd6, 0xdd, 0x2c, 0x4c, 0xd5,
140	0x33, 0xec, 0xd7, 0xef, 0x6e, 0xc8, 0x0b, 0x9b, 0x8b, 0x4e, 0x75, 0x91,
141	0x0b, 0x4e, 0x96, 0x81, 0x4d, 0xee, 0x06, 0x55, 0x41, 0xfc, 0xc5, 0x2a,
142	0xa6, 0x53, 0x97, 0xb6, 0xce, 0x61, 0x22, 0x93, 0xa8, 0x71, 0x04, 0x51,
143	0xa7, 0xa8, 0x87, 0xee, 0x72, 0xb7, 0x0f, 0xa4, 0x5e, 0x6e, 0xc2, 0xcd,
144	0xfa, 0x00, 0xf8, 0x9c, 0xe5, 0xcc, 0x61, 0xce, 0x88, 0xf0, 0x55, 0xb6,
145	0xff, 0xac, 0xdb, 0xeb, 0xe6, 0xcc, 0x89, 0x7e, 0xea, 0x29, 0x7f, 0x9f,
146	0x01, 0x54, 0x8a, 0x65, 0x60, 0x31, 0xe3, 0xaa, 0xa1, 0x68, 0x16, 0x50,
147	0x7e, 0xe1, 0x9b, 0x04, 0x7f, 0xc5, 0x15, 0x77, 0xfe, 0xbd, 0xfa, 0xac,
148	0x92, 0xcb, 0x0a, 0xc2, 0x3a, 0xbc, 0xec, 0x4e, 0xc4, 0x3a, 0x9f, 0x4d,
149	0xdd, 0x2a, 0x03, 0xe3, 0x22, 0xc0, 0x66, 0x5a, 0x5c, 0x7f, 0x4c, 0x8a,
150	0x58, 0x3e, 0x90, 0x79, 0x96, 0x16, 0x1d, 0x6f, 0x53, 0x43, 0x69, 0xfe,
151	0xb6, 0x0a, 0x18, 0x8f, 0xbf, 0xb4, 0xb8, 0x99, 0xc5, 0x09, 0x20, 0x97,
152	0x10, 0x18, 0xde, 0x57, 0x54, 0x24, 0x95, 0xeb, 0xce, 0x99, 0x01, 0xdd,
153	0x42, 0xc0, 0x67, 0x0b, 0x8c, 0xdb, 0x1c, 0x77, 0x86, 0x63, 0x9d, 0x87,
154	0xf6, 0xff, 0xcf, 0xc5, 0x38, 0xff, 0x6e, 0xb6, 0x05, 0x30, 0x82, 0x05,
155	0xf2, 0x30, 0x82, 0x04, 0xda, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x0a,
156	0x61, 0x0c, 0x83, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x30, 0x0d,
157	0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05,
158	0x00, 0x30, 0x4e, 0x31, 0x13, 0x30, 0x11, 0x06, 0x0a, 0x09, 0x92, 0x26,
159	0x89, 0x93, 0xf2, 0x2c, 0x64, 0x01, 0x19, 0x16, 0x03, 0x63, 0x6f, 0x6d,
160	0x31, 0x18, 0x30, 0x16, 0x06, 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93, 0xf2,
161	0x2c, 0x64, 0x01, 0x19, 0x16, 0x08, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65,
162	0x73, 0x74, 0x31, 0x1d, 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13,
163	0x14, 0x71, 0x61, 0x73, 0x72, 0x76, 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70,
164	0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x1e, 0x17,
165	0x0d, 0x30, 0x39, 0x30, 0x32, 0x31, 0x37, 0x32, 0x32, 0x33, 0x35, 0x35,
166	0x36, 0x5a, 0x17, 0x0d, 0x31, 0x31, 0x30, 0x32, 0x31, 0x37, 0x32, 0x32,
167	0x33, 0x35, 0x35, 0x36, 0x5a, 0x30, 0x81, 0x8a, 0x31, 0x0b, 0x30, 0x09,
168	0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x0b, 0x30,
169	0x09, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x02, 0x63, 0x61, 0x31, 0x12,
170	0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x09, 0x63, 0x75, 0x70,
171	0x65, 0x72, 0x74, 0x69, 0x6e, 0x6f, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03,
172	0x55, 0x04, 0x0a, 0x13, 0x08, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73,
173	0x74, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x02,
174	0x71, 0x61, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13,
175	0x0c, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63, 0x6f,
176	0x6d, 0x31, 0x23, 0x30, 0x21, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
177	0x0d, 0x01, 0x09, 0x01, 0x16, 0x14, 0x71, 0x61, 0x61, 0x64, 0x6d, 0x69,
178	0x6e, 0x40, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63,
179	0x6f, 0x6d, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48,
180	0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00,
181	0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xa6, 0xf2, 0x65, 0xbe, 0xc6,
182	0xb3, 0x53, 0xc2, 0x94, 0x89, 0xef, 0xca, 0x3a, 0x1d, 0x08, 0x64, 0x19,
183	0x96, 0x5c, 0x8d, 0xc3, 0x15, 0x9b, 0xe5, 0x68, 0x86, 0x7d, 0xff, 0xf9,
184	0xa1, 0xa5, 0x7b, 0x85, 0x8c, 0x14, 0x41, 0xf3, 0xe1, 0x6a, 0x17, 0xff,
185	0xaf, 0x01, 0xb0, 0xbb, 0x64, 0x5d, 0xf0, 0xb8, 0x34, 0x10, 0x41, 0x3e,
186	0xee, 0x43, 0x87, 0x47, 0x4a, 0x5e, 0xc2, 0x2c, 0xe8, 0xcb, 0x23, 0x14,
187	0x9d, 0x92, 0xad, 0xe2, 0xaa, 0x53, 0xbd, 0xfa, 0xaf, 0x7a, 0x11, 0x64,
188	0xeb, 0xb2, 0xf2, 0xd6, 0xdb, 0xd2, 0x77, 0xef, 0x74, 0xb2, 0x67, 0x1b,
189	0xc7, 0xa4, 0x2e, 0x97, 0x80, 0x46, 0x92, 0xaf, 0x32, 0x18, 0x90, 0x46,
190	0x57, 0x86, 0x2d, 0x97, 0x4d, 0x11, 0x48, 0xc5, 0x43, 0x23, 0x3e, 0x6b,
191	0x0d, 0x32, 0x3e, 0xd0, 0xba, 0xf0, 0x20, 0x60, 0x0e, 0x02, 0x47, 0xae,
192	0x58, 0xb4, 0x5b, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x03, 0x17,
193	0x30, 0x82, 0x03, 0x13, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x04,
194	0x04, 0x03, 0x02, 0x05, 0x20, 0x30, 0x36, 0x06, 0x09, 0x2a, 0x86, 0x48,
195	0x86, 0xf7, 0x0d, 0x01, 0x09, 0x0f, 0x04, 0x29, 0x30, 0x27, 0x30, 0x0d,
196	0x06, 0x08, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x03, 0x02, 0x02, 0x01,
197	0x38, 0x30, 0x0d, 0x06, 0x08, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x03,
198	0x04, 0x02, 0x01, 0x38, 0x30, 0x07, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02,
199	0x07, 0x30, 0x15, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x04, 0x0e, 0x30, 0x0c,
200	0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x14, 0x02, 0x01,
201	0x30, 0x29, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x14,
202	0x02, 0x04, 0x1c, 0x1e, 0x1a, 0x00, 0x43, 0x00, 0x45, 0x00, 0x50, 0x00,
203	0x45, 0x00, 0x6e, 0x00, 0x63, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00,
204	0x74, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x30, 0x1d, 0x06, 0x03, 0x55,
205	0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xe0, 0xfc, 0xd6, 0xa7, 0xca, 0xab,
206	0x38, 0x38, 0x6b, 0x79, 0x6f, 0x63, 0xb7, 0xfd, 0xc4, 0xbd, 0xb2, 0xc3,
207	0x68, 0x03, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30,
208	0x16, 0x80, 0x14, 0x40, 0xb5, 0x54, 0x10, 0x88, 0x09, 0xeb, 0x3e, 0x2e,
209	0x69, 0x82, 0xa6, 0xa0, 0xd8, 0xe4, 0xb0, 0x98, 0xc1, 0x69, 0x3d, 0x30,
210	0x82, 0x01, 0x19, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x82, 0x01, 0x10,
211	0x30, 0x82, 0x01, 0x0c, 0x30, 0x82, 0x01, 0x08, 0xa0, 0x82, 0x01, 0x04,
212	0xa0, 0x82, 0x01, 0x00, 0x86, 0x81, 0xbc, 0x6c, 0x64, 0x61, 0x70, 0x3a,
213	0x2f, 0x2f, 0x2f, 0x43, 0x4e, 0x3d, 0x71, 0x61, 0x73, 0x72, 0x76, 0x31,
214	0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63,
215	0x6f, 0x6d, 0x2c, 0x43, 0x4e, 0x3d, 0x71, 0x61, 0x73, 0x72, 0x76, 0x31,
216	0x30, 0x2c, 0x43, 0x4e, 0x3d, 0x43, 0x44, 0x50, 0x2c, 0x43, 0x4e, 0x3d,
217	0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x25, 0x32, 0x30, 0x4b, 0x65, 0x79,
218	0x25, 0x32, 0x30, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2c,
219	0x43, 0x4e, 0x3d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2c,
220	0x43, 0x4e, 0x3d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61,
221	0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x44, 0x43, 0x3d, 0x69, 0x76, 0x70, 0x6e,
222	0x74, 0x65, 0x73, 0x74, 0x2c, 0x44, 0x43, 0x3d, 0x63, 0x6f, 0x6d, 0x3f,
223	0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52,
224	0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73,
225	0x74, 0x3f, 0x62, 0x61, 0x73, 0x65, 0x3f, 0x6f, 0x62, 0x6a, 0x65, 0x63,
226	0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x63, 0x52, 0x4c, 0x44, 0x69,
227	0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f,
228	0x69, 0x6e, 0x74, 0x86, 0x3f, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f,
229	0x71, 0x61, 0x73, 0x72, 0x76, 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e,
230	0x74, 0x65, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x65, 0x72,
231	0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x2f, 0x71, 0x61, 0x73, 0x72,
232	0x76, 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74,
233	0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x82, 0x01, 0x2b,
234	0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x82,
235	0x01, 0x1d, 0x30, 0x82, 0x01, 0x19, 0x30, 0x81, 0xb4, 0x06, 0x08, 0x2b,
236	0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x81, 0xa7, 0x6c, 0x64,
237	0x61, 0x70, 0x3a, 0x2f, 0x2f, 0x2f, 0x43, 0x4e, 0x3d, 0x71, 0x61, 0x73,
238	0x72, 0x76, 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73,
239	0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2c, 0x43, 0x4e, 0x3d, 0x41, 0x49, 0x41,
240	0x2c, 0x43, 0x4e, 0x3d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x25, 0x32,
241	0x30, 0x4b, 0x65, 0x79, 0x25, 0x32, 0x30, 0x53, 0x65, 0x72, 0x76, 0x69,
242	0x63, 0x65, 0x73, 0x2c, 0x43, 0x4e, 0x3d, 0x53, 0x65, 0x72, 0x76, 0x69,
243	0x63, 0x65, 0x73, 0x2c, 0x43, 0x4e, 0x3d, 0x43, 0x6f, 0x6e, 0x66, 0x69,
244	0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x44, 0x43, 0x3d,
245	0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2c, 0x44, 0x43, 0x3d,
246	0x63, 0x6f, 0x6d, 0x3f, 0x63, 0x41, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66,
247	0x69, 0x63, 0x61, 0x74, 0x65, 0x3f, 0x62, 0x61, 0x73, 0x65, 0x3f, 0x6f,
248	0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x63,
249	0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
250	0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, 0x60, 0x06,
251	0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x54, 0x68,
252	0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x71, 0x61, 0x73, 0x72, 0x76, 0x31,
253	0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63,
254	0x6f, 0x6d, 0x2f, 0x43, 0x65, 0x72, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c,
255	0x6c, 0x2f, 0x71, 0x61, 0x73, 0x72, 0x76, 0x31, 0x30, 0x2e, 0x69, 0x76,
256	0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x5f, 0x71,
257	0x61, 0x73, 0x72, 0x76, 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e, 0x74,
258	0x65, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x72, 0x74, 0x30,
259	0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05,
260	0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x83, 0x54, 0x4e, 0x01, 0x42,
261	0x95, 0x42, 0xa4, 0x56, 0x78, 0xf6, 0xa9, 0x41, 0xd8, 0xc3, 0xf2, 0xa4,
262	0xdc, 0xa3, 0xb2, 0xaa, 0x72, 0x63, 0x2c, 0xab, 0x14, 0x40, 0x8c, 0xd9,
263	0xdf, 0x61, 0xdf, 0xee, 0x8b, 0x50, 0x3b, 0xc7, 0xe1, 0x6f, 0xe5, 0x98,
264	0x4d, 0xbd, 0x3c, 0x16, 0xc3, 0xcc, 0x3a, 0xb4, 0x11, 0x87, 0xb6, 0x93,
265	0x63, 0xc6, 0x3d, 0xa2, 0xf3, 0x8c, 0xde, 0xc3, 0xcb, 0x44, 0x25, 0x7a,
266	0x75, 0xc8, 0x5c, 0x9f, 0xeb, 0x43, 0xd2, 0xb1, 0x11, 0x8d, 0x9e, 0x29,
267	0x7a, 0xf1, 0x9e, 0x59, 0xb2, 0x8b, 0xfa, 0x31, 0x2e, 0x4c, 0x8f, 0x6a,
268	0x72, 0x0c, 0x42, 0x63, 0xf1, 0xca, 0x76, 0x8e, 0x33, 0x5e, 0x69, 0x9e,
269	0x3b, 0x15, 0xba, 0xfb, 0xf8, 0x0e, 0x9d, 0x1b, 0xb1, 0x52, 0xc9, 0xc3,
270	0x3e, 0x4f, 0xa4, 0x56, 0x1f, 0x71, 0x24, 0x0a, 0x61, 0x25, 0x87, 0x75,
271	0x07, 0xc7, 0xf0, 0x6f, 0xb3, 0xd7, 0xe9, 0x20, 0x7a, 0xc1, 0x98, 0x48,
272	0x25, 0xd0, 0x17, 0x27, 0xed, 0x21, 0xe8, 0x2b, 0xb6, 0xa7, 0xa5, 0x7b,
273	0x53, 0x20, 0x27, 0x3d, 0x5d, 0xbb, 0xcd, 0x61, 0x84, 0xed, 0x66, 0x4c,
274	0xcd, 0x65, 0x6d, 0xe9, 0x2d, 0xf5, 0xe5, 0x63, 0xaf, 0xd0, 0xde, 0xa0,
275	0x89, 0x5b, 0x01, 0x05, 0x05, 0x63, 0x7e, 0x5b, 0xdb, 0xdc, 0x5a, 0xab,
276	0xa5, 0xa4, 0x62, 0x3a, 0xe7, 0xdf, 0xae, 0x55, 0x9b, 0xf8, 0x93, 0x82,
277	0x1b, 0xec, 0x00, 0x27, 0x2e, 0x73, 0x7d, 0xd8, 0xe2, 0xde, 0x76, 0xf3,
278	0x70, 0xbe, 0xc5, 0x12, 0x00, 0x79, 0x62, 0x83, 0x6b, 0x04, 0x23, 0xc9,
279	0x19, 0xa6, 0x23, 0x77, 0x45, 0xd6, 0x14, 0x01, 0xf7, 0x9c, 0x0f, 0x51,
280	0x92, 0x98, 0x5a, 0x2a, 0x57, 0xc9, 0x5a, 0xb4, 0xe3, 0x98, 0x5f, 0x7e,
281	0x07, 0x99, 0x66, 0x20, 0x17, 0x0d, 0x85, 0x2c, 0x3c, 0x98, 0x70, 0x30,
282	0x82, 0x04, 0x98, 0x30, 0x82, 0x03, 0x80, 0xa0, 0x03, 0x02, 0x01, 0x02,
283	0x02, 0x10, 0x7a, 0xdb, 0x4e, 0x56, 0x1a, 0xb8, 0x90, 0xae, 0x46, 0x6f,
284	0x06, 0x74, 0x44, 0x09, 0x68, 0x87, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86,
285	0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x4e, 0x31,
286	0x13, 0x30, 0x11, 0x06, 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93, 0xf2, 0x2c,
287	0x64, 0x01, 0x19, 0x16, 0x03, 0x63, 0x6f, 0x6d, 0x31, 0x18, 0x30, 0x16,
288	0x06, 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93, 0xf2, 0x2c, 0x64, 0x01, 0x19,
289	0x16, 0x08, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x31, 0x1d,
290	0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x14, 0x71, 0x61, 0x73,
291	0x72, 0x76, 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73,
292	0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x39, 0x30,
293	0x31, 0x32, 0x38, 0x30, 0x32, 0x34, 0x33, 0x33, 0x30, 0x5a, 0x17, 0x0d,
294	0x31, 0x34, 0x30, 0x31, 0x32, 0x38, 0x30, 0x32, 0x35, 0x32, 0x34, 0x33,
295	0x5a, 0x30, 0x4e, 0x31, 0x13, 0x30, 0x11, 0x06, 0x0a, 0x09, 0x92, 0x26,
296	0x89, 0x93, 0xf2, 0x2c, 0x64, 0x01, 0x19, 0x16, 0x03, 0x63, 0x6f, 0x6d,
297	0x31, 0x18, 0x30, 0x16, 0x06, 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93, 0xf2,
298	0x2c, 0x64, 0x01, 0x19, 0x16, 0x08, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65,
299	0x73, 0x74, 0x31, 0x1d, 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13,
300	0x14, 0x71, 0x61, 0x73, 0x72, 0x76, 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70,
301	0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x82, 0x01,
302	0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
303	0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01,
304	0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xbe, 0xf8, 0xff, 0x61, 0xca, 0x9d,
305	0xcf, 0x07, 0x4d, 0x06, 0xf4, 0x52, 0x4b, 0x3f, 0x84, 0xc5, 0x0b, 0x71,
306	0xef, 0x7f, 0x7d, 0x35, 0xac, 0x68, 0xce, 0x84, 0xe6, 0x7c, 0x0a, 0xba,
307	0x02, 0x71, 0xcf, 0x81, 0x40, 0xcb, 0x25, 0xdb, 0x41, 0x23, 0x84, 0x88,
308	0x4d, 0x16, 0xa2, 0x41, 0xa5, 0x2a, 0x98, 0xa3, 0xb7, 0x02, 0xff, 0x54,
309	0xb6, 0xd5, 0x55, 0x75, 0x17, 0xbc, 0xd5, 0x04, 0x24, 0x35, 0x63, 0xfa,
310	0xcb, 0x98, 0x38, 0x98, 0x18, 0xd3, 0x13, 0xc1, 0xef, 0x1a, 0xfe, 0xb7,
311	0xcd, 0x2e, 0xc2, 0xb8, 0x0d, 0x3e, 0x62, 0x38, 0xc0, 0x05, 0xf9, 0x5b,
312	0xc5, 0xd5, 0xf6, 0xc4, 0x9d, 0x8e, 0xc3, 0x90, 0x32, 0xa2, 0xb1, 0x88,
313	0xa8, 0xf9, 0xd3, 0x0d, 0x02, 0x8d, 0xbe, 0x8f, 0x41, 0xe7, 0x92, 0x85,
314	0xe7, 0x4c, 0x11, 0x9a, 0x4b, 0xfb, 0x00, 0xa9, 0x9f, 0xf5, 0xfb, 0x23,
315	0xda, 0xf1, 0xfd, 0x95, 0x89, 0xd5, 0x2b, 0xc5, 0xbf, 0x9c, 0xc3, 0x93,
316	0xd0, 0xc2, 0xf8, 0x12, 0xbe, 0x26, 0x24, 0x41, 0x80, 0x64, 0x2f, 0xc0,
317	0x7b, 0x31, 0x85, 0x06, 0x3c, 0xe4, 0xc6, 0x7e, 0xbc, 0x61, 0xa7, 0xa2,
318	0xf4, 0xa7, 0xd7, 0xd7, 0xcb, 0xeb, 0xea, 0xb0, 0xc6, 0xd7, 0x13, 0xd6,
319	0x09, 0xfa, 0x45, 0xc6, 0x25, 0x6f, 0x34, 0xdc, 0x78, 0x70, 0xa0, 0xa5,
320	0xea, 0xd7, 0xe7, 0xda, 0xe2, 0x5a, 0x7a, 0xc3, 0xe3, 0x7a, 0x8d, 0xf3,
321	0x5a, 0x78, 0xfa, 0x57, 0xe1, 0xf1, 0xae, 0x6b, 0xea, 0x83, 0xd0, 0xd7,
322	0xa9, 0x43, 0x2d, 0x5d, 0x8b, 0xac, 0xbb, 0x92, 0x5b, 0x2a, 0xd7, 0x27,
323	0xbe, 0xe7, 0xa0, 0xd2, 0xc5, 0x9b, 0xd7, 0xa4, 0xc1, 0x6a, 0xf8, 0xec,
324	0xfc, 0xa6, 0x96, 0xfc, 0x09, 0x11, 0x95, 0xca, 0x75, 0xab, 0x8a, 0x5b,
325	0xd2, 0xb2, 0xb4, 0x11, 0xf1, 0x88, 0x34, 0xe3, 0xb7, 0x21, 0x02, 0x03,
326	0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x70, 0x30, 0x82, 0x01, 0x6c, 0x30,
327	0x0b, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02, 0x01, 0x86,
328	0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05,
329	0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e,
330	0x04, 0x16, 0x04, 0x14, 0x40, 0xb5, 0x54, 0x10, 0x88, 0x09, 0xeb, 0x3e,
331	0x2e, 0x69, 0x82, 0xa6, 0xa0, 0xd8, 0xe4, 0xb0, 0x98, 0xc1, 0x69, 0x3d,
332	0x30, 0x82, 0x01, 0x19, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x82, 0x01,
333	0x10, 0x30, 0x82, 0x01, 0x0c, 0x30, 0x82, 0x01, 0x08, 0xa0, 0x82, 0x01,
334	0x04, 0xa0, 0x82, 0x01, 0x00, 0x86, 0x81, 0xbc, 0x6c, 0x64, 0x61, 0x70,
335	0x3a, 0x2f, 0x2f, 0x2f, 0x43, 0x4e, 0x3d, 0x71, 0x61, 0x73, 0x72, 0x76,
336	0x31, 0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e,
337	0x63, 0x6f, 0x6d, 0x2c, 0x43, 0x4e, 0x3d, 0x71, 0x61, 0x73, 0x72, 0x76,
338	0x31, 0x30, 0x2c, 0x43, 0x4e, 0x3d, 0x43, 0x44, 0x50, 0x2c, 0x43, 0x4e,
339	0x3d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x25, 0x32, 0x30, 0x4b, 0x65,
340	0x79, 0x25, 0x32, 0x30, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73,
341	0x2c, 0x43, 0x4e, 0x3d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73,
342	0x2c, 0x43, 0x4e, 0x3d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72,
343	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x44, 0x43, 0x3d, 0x69, 0x76, 0x70,
344	0x6e, 0x74, 0x65, 0x73, 0x74, 0x2c, 0x44, 0x43, 0x3d, 0x63, 0x6f, 0x6d,
345	0x3f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65,
346	0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69,
347	0x73, 0x74, 0x3f, 0x62, 0x61, 0x73, 0x65, 0x3f, 0x6f, 0x62, 0x6a, 0x65,
348	0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x63, 0x52, 0x4c, 0x44,
349	0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50,
350	0x6f, 0x69, 0x6e, 0x74, 0x86, 0x3f, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f,
351	0x2f, 0x71, 0x61, 0x73, 0x72, 0x76, 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70,
352	0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x65,
353	0x72, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x2f, 0x71, 0x61, 0x73,
354	0x72, 0x76, 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73,
355	0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x10, 0x06,
356	0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x15, 0x01, 0x04, 0x03,
357	0x02, 0x01, 0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
358	0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x07,
359	0x74, 0x27, 0x8c, 0xdd, 0x75, 0xa1, 0x0d, 0x97, 0xd1, 0x9d, 0x0d, 0xae,
360	0x3b, 0xf3, 0x14, 0x0f, 0xa1, 0x1c, 0x51, 0xd8, 0x68, 0xe7, 0xfd, 0xd0,
361	0xaf, 0xe7, 0x66, 0x62, 0xf8, 0x73, 0x75, 0x88, 0x6c, 0xb9, 0xb3, 0x1e,
362	0xf5, 0x82, 0x3a, 0x1d, 0x82, 0x7b, 0xa3, 0x18, 0xd9, 0x1a, 0x40, 0xf2,
363	0xcd, 0xb3, 0x83, 0xae, 0x12, 0x5b, 0xb4, 0x45, 0xd9, 0xbe, 0x51, 0x3e,
364	0x11, 0x64, 0xaf, 0x95, 0x06, 0xb6, 0xbd, 0xd1, 0xa1, 0xfd, 0xbb, 0xdb,
365	0xa4, 0xbb, 0xba, 0x3e, 0xd5, 0xd6, 0x1d, 0x37, 0x80, 0x17, 0xe8, 0x08,
366	0x75, 0x5f, 0x5d, 0x49, 0x5f, 0x70, 0xdd, 0x67, 0xde, 0x9a, 0x34, 0x95,
367	0x2e, 0x54, 0x58, 0x42, 0xaf, 0x8a, 0x57, 0xf2, 0xb4, 0x1f, 0xfb, 0x40,
368	0x9c, 0x05, 0xa0, 0x6a, 0x9a, 0x91, 0x0e, 0x27, 0xaa, 0x9e, 0xdb, 0xbf,
369	0x50, 0xc9, 0xa4, 0x2f, 0xc8, 0x71, 0x00, 0x11, 0xf8, 0x2f, 0xda, 0x98,
370	0xf4, 0x1d, 0x98, 0x2a, 0xe9, 0x29, 0xc7, 0xea, 0x74, 0x65, 0xf1, 0x6d,
371	0x06, 0x9f, 0x59, 0xa3, 0x50, 0x7e, 0x1b, 0x52, 0x5a, 0xb9, 0x5e, 0xce,
372	0xa0, 0x03, 0x53, 0xe8, 0xba, 0x36, 0x4a, 0xc2, 0x95, 0xdb, 0x34, 0x61,
373	0xc8, 0xf4, 0xa5, 0x7c, 0xd6, 0x9d, 0x64, 0x91, 0xfb, 0x23, 0xfd, 0x8b,
374	0x3a, 0xd2, 0x67, 0xb0, 0x64, 0xa7, 0x80, 0x82, 0x74, 0x85, 0x45, 0xa7,
375	0x78, 0x57, 0xb6, 0xf0, 0x0a, 0xf9, 0xa2, 0xb5, 0x7f, 0x7e, 0x88, 0x21,
376	0xd7, 0x67, 0xd2, 0xc4, 0x9c, 0x98, 0x51, 0x9b, 0x71, 0xfb, 0x39, 0xf2,
377	0xb3, 0xfd, 0x3f, 0x0b, 0x61, 0x59, 0xa0, 0x15, 0x40, 0x53, 0x71, 0xac,
378	0xf5, 0xf7, 0xee, 0x03, 0x6b, 0x1f, 0x5d, 0x29, 0x0a, 0xf7, 0x4f, 0x1a,
379	0xea, 0xa4, 0xb8, 0x02, 0x63, 0x7c, 0x37, 0x37, 0xdd, 0x46, 0x42, 0xe3,
380	0xe1, 0x82, 0x94, 0x31, 0x00
381};
382static unsigned int msscep_getcacert_len = 4241;
383
384
385static uint8_t getcacert[] = {
386	0x30, 0x82, 0x04, 0x6a, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
387	0x01, 0x07, 0x02, 0xa0, 0x82, 0x04, 0x5b, 0x30, 0x82, 0x04, 0x57, 0x02,
388	0x01, 0x01, 0x31, 0x00, 0x30, 0x03, 0x06, 0x01, 0x00, 0xa0, 0x82, 0x04,
389	0x47, 0x30, 0x82, 0x02, 0x33, 0x30, 0x82, 0x01, 0x9c, 0xa0, 0x03, 0x02,
390	0x01, 0x02, 0x02, 0x01, 0x01, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48,
391	0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x4d, 0x31, 0x0d,
392	0x30, 0x0b, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x04, 0x4e, 0x6f, 0x6e,
393	0x65, 0x31, 0x3c, 0x30, 0x3a, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x33,
394	0x41, 0x43, 0x4d, 0x45, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41,
395	0x20, 0x28, 0x35, 0x36, 0x32, 0x66, 0x30, 0x64, 0x30, 0x35, 0x2d, 0x32,
396	0x35, 0x36, 0x61, 0x2d, 0x34, 0x32, 0x65, 0x65, 0x2d, 0x39, 0x66, 0x35,
397	0x38, 0x2d, 0x38, 0x30, 0x62, 0x30, 0x61, 0x35, 0x35, 0x37, 0x38, 0x62,
398	0x66, 0x30, 0x29, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x39, 0x30, 0x39, 0x31,
399	0x37, 0x30, 0x30, 0x33, 0x39, 0x32, 0x33, 0x5a, 0x17, 0x0d, 0x31, 0x30,
400	0x30, 0x39, 0x31, 0x37, 0x30, 0x30, 0x33, 0x39, 0x32, 0x33, 0x5a, 0x30,
401	0x4d, 0x31, 0x0d, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x04,
402	0x4e, 0x6f, 0x6e, 0x65, 0x31, 0x3c, 0x30, 0x3a, 0x06, 0x03, 0x55, 0x04,
403	0x03, 0x0c, 0x33, 0x41, 0x43, 0x4d, 0x45, 0x20, 0x52, 0x6f, 0x6f, 0x74,
404	0x20, 0x43, 0x41, 0x20, 0x28, 0x35, 0x36, 0x32, 0x66, 0x30, 0x64, 0x30,
405	0x35, 0x2d, 0x32, 0x35, 0x36, 0x61, 0x2d, 0x34, 0x32, 0x65, 0x65, 0x2d,
406	0x39, 0x66, 0x35, 0x38, 0x2d, 0x38, 0x30, 0x62, 0x30, 0x61, 0x35, 0x35,
407	0x37, 0x38, 0x62, 0x66, 0x30, 0x29, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06,
408	0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
409	0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xd4,
410	0x1c, 0xaa, 0x58, 0x8a, 0xda, 0xfc, 0x24, 0x21, 0x35, 0xc2, 0xb0, 0x2b,
411	0x08, 0x5d, 0xe2, 0xf5, 0xb5, 0xf0, 0xdc, 0xca, 0x04, 0xaa, 0x8e, 0x86,
412	0xff, 0xfe, 0x9b, 0x35, 0xed, 0x61, 0x3a, 0xe5, 0xbf, 0xf7, 0xbf, 0xab,
413	0xa4, 0xa8, 0x6e, 0xf5, 0xba, 0x5b, 0x0e, 0xdc, 0x28, 0x07, 0x24, 0x01,
414	0xda, 0x9e, 0x1f, 0x92, 0xa5, 0x4b, 0x51, 0xcd, 0xd9, 0x6e, 0x27, 0xfa,
415	0xda, 0x9b, 0x9c, 0x17, 0x3e, 0x1b, 0x36, 0xaf, 0xf5, 0x5d, 0x11, 0x02,
416	0xe9, 0x2e, 0xf1, 0x6e, 0xb6, 0x7f, 0xe8, 0x91, 0xbd, 0x66, 0x73, 0xdf,
417	0xb9, 0x27, 0xb7, 0x5b, 0x04, 0xb1, 0x9f, 0x52, 0x38, 0xea, 0xd0, 0x1c,
418	0x97, 0x2d, 0x4b, 0x1b, 0x03, 0xcb, 0xe6, 0xa4, 0x92, 0x2c, 0x0f, 0x5d,
419	0x34, 0x06, 0x52, 0x07, 0x35, 0x97, 0x13, 0x2f, 0x27, 0x62, 0x5a, 0x4b,
420	0xc3, 0xac, 0x5f, 0x0a, 0x40, 0x98, 0x29, 0x02, 0x03, 0x01, 0x00, 0x01,
421	0xa3, 0x23, 0x30, 0x21, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01,
422	0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0e, 0x06,
423	0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01,
424	0x86, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
425	0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x35, 0xa8, 0x47, 0x69,
426	0x01, 0x12, 0x43, 0x34, 0x73, 0xe4, 0xd8, 0xa4, 0x95, 0x00, 0xea, 0xd7,
427	0x33, 0xf2, 0x7b, 0x49, 0xea, 0xa7, 0xc6, 0xe1, 0x7d, 0x06, 0xb8, 0xb4,
428	0x4f, 0x3f, 0x08, 0x97, 0xa8, 0x47, 0x82, 0x1e, 0x0a, 0x4b, 0xdb, 0x19,
429	0x9d, 0x21, 0x30, 0x2c, 0x37, 0xa0, 0x3f, 0x92, 0xf7, 0xc2, 0x39, 0x57,
430	0x2b, 0x43, 0x33, 0xf9, 0x6e, 0x40, 0x8c, 0x64, 0x2b, 0xf5, 0xb6, 0xb6,
431	0x6c, 0x2e, 0x59, 0xc4, 0xe6, 0x01, 0x87, 0xd4, 0x1c, 0x32, 0xf1, 0x68,
432	0x72, 0xeb, 0xda, 0x35, 0x69, 0x3c, 0x7d, 0x6f, 0x4c, 0xba, 0x8b, 0x4d,
433	0xaa, 0x1c, 0x11, 0x05, 0x76, 0x9e, 0x73, 0x2a, 0x20, 0xcb, 0x31, 0x9c,
434	0x74, 0x20, 0x99, 0x4c, 0xbc, 0x17, 0xd0, 0xb5, 0x6e, 0x1e, 0xad, 0x87,
435	0x83, 0xa6, 0xda, 0x15, 0x85, 0x7a, 0x8f, 0x76, 0x37, 0xa7, 0x11, 0x53,
436	0x7f, 0x12, 0xb1, 0x05, 0x30, 0x82, 0x02, 0x0c, 0x30, 0x82, 0x01, 0x75,
437	0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x01, 0x64, 0x30, 0x0d, 0x06, 0x09,
438	0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30,
439	0x4d, 0x31, 0x0d, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x04,
440	0x4e, 0x6f, 0x6e, 0x65, 0x31, 0x3c, 0x30, 0x3a, 0x06, 0x03, 0x55, 0x04,
441	0x03, 0x0c, 0x33, 0x41, 0x43, 0x4d, 0x45, 0x20, 0x52, 0x6f, 0x6f, 0x74,
442	0x20, 0x43, 0x41, 0x20, 0x28, 0x35, 0x36, 0x32, 0x66, 0x30, 0x64, 0x30,
443	0x35, 0x2d, 0x32, 0x35, 0x36, 0x61, 0x2d, 0x34, 0x32, 0x65, 0x65, 0x2d,
444	0x39, 0x66, 0x35, 0x38, 0x2d, 0x38, 0x30, 0x62, 0x30, 0x61, 0x35, 0x35,
445	0x37, 0x38, 0x62, 0x66, 0x30, 0x29, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x39,
446	0x30, 0x39, 0x31, 0x37, 0x30, 0x30, 0x33, 0x39, 0x32, 0x33, 0x5a, 0x17,
447	0x0d, 0x31, 0x30, 0x30, 0x39, 0x31, 0x37, 0x30, 0x30, 0x33, 0x39, 0x32,
448	0x33, 0x5a, 0x30, 0x26, 0x31, 0x0d, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x04,
449	0x0a, 0x0c, 0x04, 0x4e, 0x6f, 0x6e, 0x65, 0x31, 0x15, 0x30, 0x13, 0x06,
450	0x03, 0x55, 0x04, 0x03, 0x0c, 0x0c, 0x41, 0x43, 0x4d, 0x45, 0x20, 0x53,
451	0x43, 0x45, 0x50, 0x20, 0x52, 0x41, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06,
452	0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
453	0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xd1,
454	0x6e, 0x98, 0x93, 0x0e, 0x0a, 0x27, 0x5f, 0xd9, 0x3e, 0x95, 0xe3, 0x24,
455	0xae, 0x96, 0xd2, 0x62, 0x40, 0x05, 0xb6, 0x2d, 0x4d, 0xe2, 0x8f, 0x35,
456	0x26, 0x14, 0x72, 0x04, 0xb0, 0x34, 0xaf, 0xf3, 0x61, 0x7c, 0xa0, 0x72,
457	0xe6, 0x29, 0xf3, 0xdf, 0xc2, 0x2a, 0x8c, 0x84, 0xde, 0xea, 0x7c, 0x01,
458	0x64, 0x08, 0x8c, 0xaa, 0x0b, 0x96, 0x9b, 0xb5, 0xb8, 0x86, 0x49, 0xad,
459	0x68, 0x1d, 0x7c, 0xf0, 0x1a, 0xe9, 0xf6, 0x56, 0x97, 0xe4, 0xb8, 0x20,
460	0xa6, 0x1f, 0x1a, 0x9d, 0xcc, 0x5f, 0xe8, 0xc9, 0x05, 0xab, 0x85, 0xab,
461	0xce, 0x5c, 0xcd, 0x20, 0xb7, 0x01, 0x8d, 0xda, 0x10, 0x54, 0x22, 0xbd,
462	0x93, 0xf9, 0xac, 0x12, 0x39, 0x08, 0x9d, 0x27, 0xa1, 0x92, 0xb6, 0x94,
463	0xde, 0x15, 0xcc, 0x0f, 0x9e, 0x1f, 0xe0, 0x44, 0x90, 0x57, 0x87, 0x04,
464	0x9b, 0xfb, 0xb0, 0x63, 0x9d, 0xc0, 0x4d, 0x02, 0x03, 0x01, 0x00, 0x01,
465	0xa3, 0x23, 0x30, 0x21, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01,
466	0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0e, 0x06,
467	0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x05,
468	0xa0, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
469	0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0xbb, 0xb7, 0xa1, 0xd6,
470	0x0c, 0xdd, 0xa8, 0xfe, 0x4a, 0x3b, 0x90, 0x42, 0x9b, 0x4f, 0xfc, 0xa4,
471	0x75, 0xf2, 0x04, 0x09, 0xd6, 0x9e, 0xfb, 0x4f, 0x99, 0xf8, 0xcb, 0x5c,
472	0xcc, 0xb0, 0xb3, 0xce, 0xd7, 0x83, 0xed, 0x4d, 0xa7, 0x93, 0xdb, 0x87,
473	0x7b, 0x09, 0x2f, 0x07, 0xb3, 0xd2, 0xa3, 0x08, 0x17, 0x53, 0xb4, 0x61,
474	0xd7, 0x58, 0x86, 0x79, 0x2c, 0x2e, 0x09, 0x75, 0xda, 0x61, 0xa8, 0x90,
475	0x1f, 0xea, 0x2f, 0x0f, 0x2a, 0xcb, 0xf5, 0x01, 0x54, 0xee, 0x23, 0x80,
476	0xbb, 0xaa, 0xb5, 0x61, 0x66, 0x23, 0xb3, 0xd2, 0xff, 0x7f, 0xb8, 0x74,
477	0xc9, 0x55, 0xb5, 0x84, 0x57, 0x5a, 0x2e, 0x81, 0x0d, 0xe5, 0x0d, 0x45,
478	0x4f, 0x37, 0xc4, 0x2d, 0xec, 0xf8, 0xf1, 0x15, 0x59, 0xc4, 0x7a, 0x49,
479	0xd0, 0x12, 0x16, 0x18, 0x6a, 0x3e, 0x74, 0xe5, 0x4e, 0x65, 0xdc, 0xcc,
480	0xba, 0x9e, 0x77, 0x7c, 0x31, 0x00
481};
482static unsigned int getcacert_len = 1134;
483
484static uint8_t msscep_md5_hash[] = {0x13, 0x7f, 0x4d, 0xaa, 0x5d, 0xa0, 0x65, 0x1b, 0xbd, 0x54, 0x8c, 0xc2, 0xd3, 0xd4, 0xce, 0xd0 };
485static uint8_t ruby_sha1_hash[] = { 0xf3, 0x5f, 0x6b, 0xd1, 0x64, 0x0b, 0xc1, 0x81, 0x98, 0xb9, 0x30, 0xd1, 0x97, 0x10, 0x3b, 0x45, 0xf0, 0x6e, 0x53, 0xdb };
486
487
488static unsigned char bmw_scep_pkt[] = {
489  0x30, 0x82, 0x16, 0x19, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
490  0x01, 0x07, 0x02, 0xa0, 0x82, 0x16, 0x0a, 0x30, 0x82, 0x16, 0x06, 0x02,
491  0x01, 0x01, 0x31, 0x00, 0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
492  0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x15, 0xee, 0x30, 0x82, 0x06,
493  0x26, 0x30, 0x82, 0x05, 0x0e, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x0a,
494  0x3c, 0xec, 0x7e, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x30, 0x0d,
495  0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05,
496  0x00, 0x30, 0x64, 0x31, 0x14, 0x30, 0x12, 0x06, 0x0a, 0x09, 0x92, 0x26,
497  0x89, 0x93, 0xf2, 0x2c, 0x64, 0x01, 0x19, 0x16, 0x04, 0x63, 0x6f, 0x72,
498  0x70, 0x31, 0x13, 0x30, 0x11, 0x06, 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93,
499  0xf2, 0x2c, 0x64, 0x01, 0x19, 0x16, 0x03, 0x62, 0x6d, 0x77, 0x31, 0x16,
500  0x30, 0x14, 0x06, 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93, 0xf2, 0x2c, 0x64,
501  0x01, 0x19, 0x16, 0x06, 0x65, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x31, 0x1f,
502  0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x16, 0x42, 0x4d, 0x57,
503  0x20, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x49, 0x73, 0x73, 0x75, 0x69,
504  0x6e, 0x67, 0x20, 0x43, 0x41, 0x20, 0x32, 0x30, 0x1e, 0x17, 0x0d, 0x31,
505  0x30, 0x30, 0x33, 0x30, 0x34, 0x31, 0x33, 0x35, 0x33, 0x31, 0x30, 0x5a,
506  0x17, 0x0d, 0x31, 0x32, 0x30, 0x33, 0x30, 0x33, 0x31, 0x33, 0x35, 0x33,
507  0x31, 0x30, 0x5a, 0x30, 0x81, 0x83, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03,
508  0x55, 0x04, 0x06, 0x13, 0x02, 0x44, 0x45, 0x31, 0x10, 0x30, 0x0e, 0x06,
509  0x03, 0x55, 0x04, 0x08, 0x13, 0x07, 0x42, 0x61, 0x76, 0x61, 0x72, 0x69,
510  0x61, 0x31, 0x0f, 0x30, 0x0d, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x06,
511  0x4d, 0x75, 0x6e, 0x69, 0x63, 0x68, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03,
512  0x55, 0x04, 0x0a, 0x13, 0x09, 0x42, 0x4d, 0x57, 0x20, 0x47, 0x72, 0x6f,
513  0x75, 0x70, 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13,
514  0x11, 0x53, 0x43, 0x45, 0x50, 0x20, 0x49, 0x73, 0x73, 0x75, 0x69, 0x6e,
515  0x67, 0x20, 0x43, 0x41, 0x20, 0x32, 0x31, 0x21, 0x30, 0x1f, 0x06, 0x09,
516  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x01, 0x16, 0x12, 0x74,
517  0x72, 0x75, 0x73, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x40, 0x62,
518  0x6d, 0x77, 0x2e, 0x64, 0x65, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09,
519  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03,
520  0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xad, 0x57,
521  0x88, 0x2c, 0x2c, 0xda, 0x45, 0x32, 0x32, 0xb1, 0xba, 0xce, 0x1b, 0x0b,
522  0x5d, 0xc8, 0x5d, 0x76, 0xd2, 0x63, 0xf6, 0xc7, 0xe6, 0x45, 0xff, 0x37,
523  0xf3, 0x85, 0xbf, 0xbb, 0xa1, 0x83, 0xd1, 0xea, 0xe0, 0x3f, 0xc9, 0x05,
524  0x79, 0xe3, 0x15, 0xc3, 0x97, 0x2a, 0x81, 0x38, 0x4f, 0x33, 0xc1, 0xc9,
525  0xf5, 0xb0, 0x1b, 0xbd, 0xad, 0x52, 0x15, 0x80, 0x52, 0x7d, 0x1b, 0x68,
526  0x8f, 0xb5, 0x27, 0xda, 0xcf, 0x20, 0x7d, 0x53, 0x6e, 0xb0, 0xe8, 0x4b,
527  0x8e, 0x6b, 0xb2, 0x63, 0xe3, 0xd5, 0x2c, 0x67, 0x55, 0x73, 0x0f, 0xda,
528  0x41, 0x04, 0x56, 0xdc, 0xb3, 0x9a, 0x6b, 0xbb, 0x62, 0xf8, 0x8f, 0xe2,
529  0x91, 0x7a, 0xe8, 0xa7, 0xa9, 0xc4, 0x8b, 0x75, 0x7b, 0xb5, 0x5f, 0x4e,
530  0xe1, 0x4d, 0x80, 0x4d, 0xc9, 0xee, 0x23, 0xbc, 0xf7, 0x4f, 0x8d, 0xc0,
531  0x02, 0x20, 0x23, 0x82, 0x80, 0xf7, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3,
532  0x82, 0x03, 0x3c, 0x30, 0x82, 0x03, 0x38, 0x30, 0x0b, 0x06, 0x03, 0x55,
533  0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x15, 0x06, 0x03,
534  0x55, 0x1d, 0x25, 0x04, 0x0e, 0x30, 0x0c, 0x06, 0x0a, 0x2b, 0x06, 0x01,
535  0x04, 0x01, 0x82, 0x37, 0x14, 0x02, 0x01, 0x30, 0x3b, 0x06, 0x09, 0x2b,
536  0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x14, 0x02, 0x04, 0x2e, 0x1e, 0x2c,
537  0x00, 0x45, 0x00, 0x6e, 0x00, 0x72, 0x00, 0x6f, 0x00, 0x6c, 0x00, 0x6c,
538  0x00, 0x6d, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x41, 0x00, 0x67,
539  0x00, 0x65, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x4f, 0x00, 0x66, 0x00, 0x66,
540  0x00, 0x6c, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x65, 0x30, 0x1d, 0x06, 0x03,
541  0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xd8, 0xeb, 0x70, 0x8b, 0x4e,
542  0xda, 0xfb, 0x52, 0x03, 0x0c, 0xa5, 0xc5, 0xfd, 0xf3, 0x29, 0x54, 0xfd,
543  0x2e, 0x8f, 0x3e, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18,
544  0x30, 0x16, 0x80, 0x14, 0x61, 0x0a, 0xef, 0x1a, 0x3d, 0xfe, 0x9a, 0x68,
545  0x81, 0xcb, 0xb2, 0x62, 0xe5, 0xc0, 0x21, 0x8e, 0xdd, 0xec, 0x61, 0x95,
546  0x30, 0x82, 0x01, 0x71, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x82, 0x01,
547  0x68, 0x30, 0x82, 0x01, 0x64, 0x30, 0x82, 0x01, 0x60, 0xa0, 0x82, 0x01,
548  0x5c, 0xa0, 0x82, 0x01, 0x58, 0x86, 0x81, 0xc3, 0x6c, 0x64, 0x61, 0x70,
549  0x3a, 0x2f, 0x2f, 0x2f, 0x43, 0x4e, 0x3d, 0x42, 0x4d, 0x57, 0x25, 0x32,
550  0x30, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x25, 0x32, 0x30, 0x49, 0x73, 0x73,
551  0x75, 0x69, 0x6e, 0x67, 0x25, 0x32, 0x30, 0x43, 0x41, 0x25, 0x32, 0x30,
552  0x32, 0x2c, 0x43, 0x4e, 0x3d, 0x53, 0x4d, 0x55, 0x43, 0x31, 0x39, 0x32,
553  0x33, 0x2c, 0x43, 0x4e, 0x3d, 0x43, 0x44, 0x50, 0x2c, 0x43, 0x4e, 0x3d,
554  0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x25, 0x32, 0x30, 0x4b, 0x65, 0x79,
555  0x25, 0x32, 0x30, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2c,
556  0x43, 0x4e, 0x3d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2c,
557  0x43, 0x4e, 0x3d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61,
558  0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x44, 0x43, 0x3d, 0x62, 0x6d, 0x77, 0x2c,
559  0x44, 0x43, 0x3d, 0x63, 0x6f, 0x72, 0x70, 0x3f, 0x63, 0x65, 0x72, 0x74,
560  0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x76, 0x6f, 0x63,
561  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x3f, 0x62, 0x61,
562  0x73, 0x65, 0x3f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61,
563  0x73, 0x73, 0x3d, 0x63, 0x52, 0x4c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69,
564  0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x86,
565  0x4d, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x73, 0x6d, 0x75, 0x63,
566  0x31, 0x39, 0x32, 0x33, 0x2e, 0x65, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2e,
567  0x62, 0x6d, 0x77, 0x2e, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x43, 0x65, 0x72,
568  0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x2f, 0x42, 0x4d, 0x57, 0x25,
569  0x32, 0x30, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x25, 0x32, 0x30, 0x49, 0x73,
570  0x73, 0x75, 0x69, 0x6e, 0x67, 0x25, 0x32, 0x30, 0x43, 0x41, 0x25, 0x32,
571  0x30, 0x32, 0x2e, 0x63, 0x72, 0x6c, 0x86, 0x41, 0x68, 0x74, 0x74, 0x70,
572  0x3a, 0x2f, 0x2f, 0x73, 0x73, 0x6c, 0x63, 0x72, 0x6c, 0x2e, 0x62, 0x6d,
573  0x77, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70,
574  0x6b, 0x69, 0x2f, 0x42, 0x4d, 0x57, 0x25, 0x32, 0x30, 0x47, 0x72, 0x6f,
575  0x75, 0x70, 0x25, 0x32, 0x30, 0x49, 0x73, 0x73, 0x75, 0x69, 0x6e, 0x67,
576  0x25, 0x32, 0x30, 0x43, 0x41, 0x25, 0x32, 0x30, 0x32, 0x2e, 0x63, 0x72,
577  0x6c, 0x30, 0x82, 0x01, 0x1e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05,
578  0x07, 0x01, 0x01, 0x04, 0x82, 0x01, 0x10, 0x30, 0x82, 0x01, 0x0c, 0x30,
579  0x81, 0xba, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02,
580  0x86, 0x81, 0xad, 0x6c, 0x64, 0x61, 0x70, 0x3a, 0x2f, 0x2f, 0x2f, 0x43,
581  0x4e, 0x3d, 0x42, 0x4d, 0x57, 0x25, 0x32, 0x30, 0x47, 0x72, 0x6f, 0x75,
582  0x70, 0x25, 0x32, 0x30, 0x49, 0x73, 0x73, 0x75, 0x69, 0x6e, 0x67, 0x25,
583  0x32, 0x30, 0x43, 0x41, 0x25, 0x32, 0x30, 0x32, 0x2c, 0x43, 0x4e, 0x3d,
584  0x41, 0x49, 0x41, 0x2c, 0x43, 0x4e, 0x3d, 0x50, 0x75, 0x62, 0x6c, 0x69,
585  0x63, 0x25, 0x32, 0x30, 0x4b, 0x65, 0x79, 0x25, 0x32, 0x30, 0x53, 0x65,
586  0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2c, 0x43, 0x4e, 0x3d, 0x53, 0x65,
587  0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2c, 0x43, 0x4e, 0x3d, 0x43, 0x6f,
588  0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c,
589  0x44, 0x43, 0x3d, 0x62, 0x6d, 0x77, 0x2c, 0x44, 0x43, 0x3d, 0x63, 0x6f,
590  0x72, 0x70, 0x3f, 0x63, 0x41, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69,
591  0x63, 0x61, 0x74, 0x65, 0x3f, 0x62, 0x61, 0x73, 0x65, 0x3f, 0x6f, 0x62,
592  0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x63, 0x65,
593  0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41,
594  0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, 0x4d, 0x06, 0x08,
595  0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x41, 0x68, 0x74,
596  0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x73, 0x73, 0x6c, 0x63, 0x72, 0x6c, 0x2e,
597  0x62, 0x6d, 0x77, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x63, 0x6f, 0x6d,
598  0x2f, 0x70, 0x6b, 0x69, 0x2f, 0x42, 0x4d, 0x57, 0x25, 0x32, 0x30, 0x47,
599  0x72, 0x6f, 0x75, 0x70, 0x25, 0x32, 0x30, 0x49, 0x73, 0x73, 0x75, 0x69,
600  0x6e, 0x67, 0x25, 0x32, 0x30, 0x43, 0x41, 0x25, 0x32, 0x30, 0x32, 0x2e,
601  0x63, 0x72, 0x74, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
602  0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x46,
603  0x9e, 0x81, 0xb2, 0xec, 0xa9, 0xe4, 0x3c, 0xf3, 0x9b, 0x61, 0xdf, 0x6f,
604  0xec, 0x28, 0xe9, 0x2b, 0xd4, 0xc1, 0xb2, 0x05, 0x03, 0xbd, 0x53, 0x49,
605  0xa2, 0x94, 0x3a, 0xd6, 0x23, 0xa3, 0xe8, 0x52, 0xa4, 0xe6, 0x44, 0x5e,
606  0x15, 0x89, 0xde, 0x32, 0x12, 0xba, 0x97, 0x3a, 0xd3, 0x1d, 0xa1, 0xda,
607  0x2a, 0x70, 0x3e, 0x10, 0xea, 0x2c, 0xb5, 0x19, 0xc2, 0x71, 0xcd, 0x1c,
608  0x10, 0x07, 0x4b, 0x58, 0x10, 0x61, 0x03, 0x72, 0x4f, 0x65, 0xf7, 0x38,
609  0x9d, 0xa9, 0x35, 0x0c, 0xc9, 0xdf, 0x7f, 0x91, 0xa0, 0xd4, 0x08, 0xf2,
610  0xf9, 0x1b, 0x0f, 0xaa, 0xb4, 0xb6, 0xe0, 0x3c, 0x9d, 0x0c, 0x64, 0xee,
611  0x2f, 0x47, 0xdd, 0xdb, 0x3a, 0x6f, 0x69, 0x19, 0x1f, 0xa1, 0xdd, 0x1d,
612  0xd7, 0x45, 0x04, 0x56, 0x16, 0x43, 0x22, 0x18, 0xba, 0x22, 0xd6, 0x70,
613  0xd0, 0x67, 0xb0, 0x06, 0x6a, 0x16, 0x57, 0x61, 0x83, 0x47, 0xd9, 0x40,
614  0xc9, 0x92, 0xdd, 0x74, 0xbe, 0xb9, 0xe8, 0x07, 0x40, 0xa8, 0x23, 0xc5,
615  0xd6, 0x3e, 0x26, 0xec, 0x17, 0x6c, 0x61, 0x76, 0x47, 0x42, 0x0a, 0x82,
616  0x5e, 0xdb, 0x41, 0xba, 0x42, 0x1f, 0xec, 0xb7, 0xc2, 0xe0, 0xf8, 0x3a,
617  0x39, 0x5f, 0xb2, 0x45, 0x92, 0xdc, 0xe2, 0x5e, 0x5d, 0x81, 0x14, 0xa3,
618  0x10, 0x68, 0x5a, 0xed, 0x28, 0x9f, 0xad, 0xa6, 0xc9, 0xd9, 0x61, 0xc2,
619  0x62, 0xec, 0x1b, 0x61, 0x2a, 0x67, 0xef, 0xac, 0x79, 0xc1, 0x6e, 0x35,
620  0xc4, 0xd2, 0x69, 0x05, 0x3f, 0xf2, 0x6f, 0x5a, 0x66, 0x0c, 0xea, 0xd2,
621  0x70, 0x2e, 0xbe, 0x5f, 0xd8, 0x31, 0x6c, 0x1f, 0xec, 0x62, 0xf6, 0xa7,
622  0x98, 0x1c, 0xd4, 0xf6, 0xc1, 0x28, 0x71, 0xf5, 0x63, 0xab, 0x59, 0x4b,
623  0x34, 0xb4, 0x30, 0x12, 0x91, 0x71, 0xf8, 0x50, 0x9a, 0x26, 0x4a, 0xd9,
624  0xf1, 0x30, 0x04, 0x30, 0x82, 0x06, 0x4c, 0x30, 0x82, 0x05, 0x34, 0xa0,
625  0x03, 0x02, 0x01, 0x02, 0x02, 0x0a, 0x3c, 0xec, 0x82, 0xf8, 0x00, 0x00,
626  0x00, 0x00, 0x00, 0x0e, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
627  0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x64, 0x31, 0x14, 0x30,
628  0x12, 0x06, 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93, 0xf2, 0x2c, 0x64, 0x01,
629  0x19, 0x16, 0x04, 0x63, 0x6f, 0x72, 0x70, 0x31, 0x13, 0x30, 0x11, 0x06,
630  0x0a, 0x09, 0x92, 0x26, 0x89, 0x93, 0xf2, 0x2c, 0x64, 0x01, 0x19, 0x16,
631  0x03, 0x62, 0x6d, 0x77, 0x31, 0x16, 0x30, 0x14, 0x06, 0x0a, 0x09, 0x92,
632  0x26, 0x89, 0x93, 0xf2, 0x2c, 0x64, 0x01, 0x19, 0x16, 0x06, 0x65, 0x75,
633  0x72, 0x6f, 0x70, 0x65, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04,
634  0x03, 0x13, 0x16, 0x42, 0x4d, 0x57, 0x20, 0x47, 0x72, 0x6f, 0x75, 0x70,
635  0x20, 0x49, 0x73, 0x73, 0x75, 0x69, 0x6e, 0x67, 0x20, 0x43, 0x41, 0x20,
636  0x32, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x30, 0x33, 0x30, 0x34, 0x31,
637  0x33, 0x35, 0x33, 0x31, 0x31, 0x5a, 0x17, 0x0d, 0x31, 0x32, 0x30, 0x33,
638  0x30, 0x33, 0x31, 0x33, 0x35, 0x33, 0x31, 0x31, 0x5a, 0x30, 0x81, 0x83,
639  0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x44,
640  0x45, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x07,
641  0x42, 0x61, 0x76, 0x61, 0x72, 0x69, 0x61, 0x31, 0x0f, 0x30, 0x0d, 0x06,
642  0x03, 0x55, 0x04, 0x07, 0x13, 0x06, 0x4d, 0x75, 0x6e, 0x69, 0x63, 0x68,
643  0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x09, 0x42,
644  0x4d, 0x57, 0x20, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x31, 0x1a, 0x30, 0x18,
645  0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x11, 0x53, 0x43, 0x45, 0x50, 0x20,
646  0x49, 0x73, 0x73, 0x75, 0x69, 0x6e, 0x67, 0x20, 0x43, 0x41, 0x20, 0x32,
647  0x31, 0x21, 0x30, 0x1f, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
648  0x01, 0x09, 0x01, 0x16, 0x12, 0x74, 0x72, 0x75, 0x73, 0x74, 0x63, 0x65,
649  0x6e, 0x74, 0x65, 0x72, 0x40, 0x62, 0x6d, 0x77, 0x2e, 0x64, 0x65, 0x30,
650  0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
651  0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89,
652  0x02, 0x81, 0x81, 0x00, 0xa4, 0x78, 0xc8, 0x9b, 0xd9, 0x08, 0x24, 0xab,
653  0x07, 0x33, 0x89, 0x62, 0xcd, 0x20, 0xcb, 0x16, 0xfa, 0x1d, 0x9b, 0x8a,
654  0xcf, 0x9d, 0x61, 0xea, 0x10, 0xbd, 0xa0, 0x02, 0xf5, 0x97, 0x53, 0x96,
655  0x86, 0xb3, 0x02, 0x88, 0xf7, 0x52, 0xd8, 0x67, 0xcd, 0xe4, 0xba, 0xa7,
656  0x36, 0xfd, 0x6e, 0xd3, 0x51, 0x9a, 0xa2, 0xfb, 0xcc, 0x2c, 0xd1, 0xaa,
657  0x9c, 0x49, 0x2e, 0x36, 0xe0, 0xa2, 0x21, 0xc8, 0xfd, 0x05, 0xa9, 0x54,
658  0x16, 0x9f, 0xd3, 0x8e, 0x6a, 0xbe, 0x3e, 0x7f, 0xc8, 0xc6, 0x2d, 0x8d,
659  0xda, 0xe9, 0x73, 0x97, 0x5e, 0x80, 0xdd, 0x8c, 0xc4, 0x9b, 0x3a, 0x77,
660  0xc7, 0x6a, 0x8d, 0xe2, 0xe1, 0x54, 0x6f, 0x5e, 0xde, 0x3f, 0x71, 0x9c,
661  0x14, 0x2d, 0x15, 0x6d, 0xf1, 0x7c, 0x43, 0x97, 0xb7, 0xdf, 0x5a, 0x1a,
662  0xb8, 0xb7, 0x9c, 0x05, 0x4d, 0xf5, 0x45, 0x45, 0x59, 0xbe, 0x73, 0xbd,
663  0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x03, 0x62, 0x30, 0x82, 0x03,
664  0x5e, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02,
665  0x05, 0x20, 0x30, 0x36, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
666  0x01, 0x09, 0x0f, 0x04, 0x29, 0x30, 0x27, 0x30, 0x0d, 0x06, 0x08, 0x2a,
667  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x03, 0x02, 0x02, 0x01, 0x38, 0x30, 0x0d,
668  0x06, 0x08, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x03, 0x04, 0x02, 0x01,
669  0x38, 0x30, 0x07, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x07, 0x30, 0x15,
670  0x06, 0x03, 0x55, 0x1d, 0x25, 0x04, 0x0e, 0x30, 0x0c, 0x06, 0x0a, 0x2b,
671  0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x14, 0x02, 0x01, 0x30, 0x29, 0x06,
672  0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x14, 0x02, 0x04, 0x1c,
673  0x1e, 0x1a, 0x00, 0x43, 0x00, 0x45, 0x00, 0x50, 0x00, 0x45, 0x00, 0x6e,
674  0x00, 0x63, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x69,
675  0x00, 0x6f, 0x00, 0x6e, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04,
676  0x16, 0x04, 0x14, 0x11, 0xe1, 0x07, 0x5e, 0xd5, 0x49, 0xed, 0x64, 0x11,
677  0xc4, 0x33, 0xbb, 0x2a, 0x99, 0x7c, 0xb0, 0xc8, 0xd8, 0x85, 0x8d, 0x30,
678  0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14,
679  0x61, 0x0a, 0xef, 0x1a, 0x3d, 0xfe, 0x9a, 0x68, 0x81, 0xcb, 0xb2, 0x62,
680  0xe5, 0xc0, 0x21, 0x8e, 0xdd, 0xec, 0x61, 0x95, 0x30, 0x82, 0x01, 0x71,
681  0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x82, 0x01, 0x68, 0x30, 0x82, 0x01,
682  0x64, 0x30, 0x82, 0x01, 0x60, 0xa0, 0x82, 0x01, 0x5c, 0xa0, 0x82, 0x01,
683  0x58, 0x86, 0x81, 0xc3, 0x6c, 0x64, 0x61, 0x70, 0x3a, 0x2f, 0x2f, 0x2f,
684  0x43, 0x4e, 0x3d, 0x42, 0x4d, 0x57, 0x25, 0x32, 0x30, 0x47, 0x72, 0x6f,
685  0x75, 0x70, 0x25, 0x32, 0x30, 0x49, 0x73, 0x73, 0x75, 0x69, 0x6e, 0x67,
686  0x25, 0x32, 0x30, 0x43, 0x41, 0x25, 0x32, 0x30, 0x32, 0x2c, 0x43, 0x4e,
687  0x3d, 0x53, 0x4d, 0x55, 0x43, 0x31, 0x39, 0x32, 0x33, 0x2c, 0x43, 0x4e,
688  0x3d, 0x43, 0x44, 0x50, 0x2c, 0x43, 0x4e, 0x3d, 0x50, 0x75, 0x62, 0x6c,
689  0x69, 0x63, 0x25, 0x32, 0x30, 0x4b, 0x65, 0x79, 0x25, 0x32, 0x30, 0x53,
690  0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2c, 0x43, 0x4e, 0x3d, 0x53,
691  0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2c, 0x43, 0x4e, 0x3d, 0x43,
692  0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
693  0x2c, 0x44, 0x43, 0x3d, 0x62, 0x6d, 0x77, 0x2c, 0x44, 0x43, 0x3d, 0x63,
694  0x6f, 0x72, 0x70, 0x3f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63,
695  0x61, 0x74, 0x65, 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
696  0x6e, 0x4c, 0x69, 0x73, 0x74, 0x3f, 0x62, 0x61, 0x73, 0x65, 0x3f, 0x6f,
697  0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x63,
698  0x52, 0x4c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69,
699  0x6f, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x86, 0x4d, 0x68, 0x74, 0x74,
700  0x70, 0x3a, 0x2f, 0x2f, 0x73, 0x6d, 0x75, 0x63, 0x31, 0x39, 0x32, 0x33,
701  0x2e, 0x65, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2e, 0x62, 0x6d, 0x77, 0x2e,
702  0x63, 0x6f, 0x72, 0x70, 0x2f, 0x43, 0x65, 0x72, 0x74, 0x45, 0x6e, 0x72,
703  0x6f, 0x6c, 0x6c, 0x2f, 0x42, 0x4d, 0x57, 0x25, 0x32, 0x30, 0x47, 0x72,
704  0x6f, 0x75, 0x70, 0x25, 0x32, 0x30, 0x49, 0x73, 0x73, 0x75, 0x69, 0x6e,
705  0x67, 0x25, 0x32, 0x30, 0x43, 0x41, 0x25, 0x32, 0x30, 0x32, 0x2e, 0x63,
706  0x72, 0x6c, 0x86, 0x41, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x73,
707  0x73, 0x6c, 0x63, 0x72, 0x6c, 0x2e, 0x62, 0x6d, 0x77, 0x67, 0x72, 0x6f,
708  0x75, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6b, 0x69, 0x2f, 0x42,
709  0x4d, 0x57, 0x25, 0x32, 0x30, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x25, 0x32,
710  0x30, 0x49, 0x73, 0x73, 0x75, 0x69, 0x6e, 0x67, 0x25, 0x32, 0x30, 0x43,
711  0x41, 0x25, 0x32, 0x30, 0x32, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x82, 0x01,
712  0x1e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04,
713  0x82, 0x01, 0x10, 0x30, 0x82, 0x01, 0x0c, 0x30, 0x81, 0xba, 0x06, 0x08,
714  0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x81, 0xad, 0x6c,
715  0x64, 0x61, 0x70, 0x3a, 0x2f, 0x2f, 0x2f, 0x43, 0x4e, 0x3d, 0x42, 0x4d,
716  0x57, 0x25, 0x32, 0x30, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x25, 0x32, 0x30,
717  0x49, 0x73, 0x73, 0x75, 0x69, 0x6e, 0x67, 0x25, 0x32, 0x30, 0x43, 0x41,
718  0x25, 0x32, 0x30, 0x32, 0x2c, 0x43, 0x4e, 0x3d, 0x41, 0x49, 0x41, 0x2c,
719  0x43, 0x4e, 0x3d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x25, 0x32, 0x30,
720  0x4b, 0x65, 0x79, 0x25, 0x32, 0x30, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
721  0x65, 0x73, 0x2c, 0x43, 0x4e, 0x3d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
722  0x65, 0x73, 0x2c, 0x43, 0x4e, 0x3d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
723  0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x44, 0x43, 0x3d, 0x62,
724  0x6d, 0x77, 0x2c, 0x44, 0x43, 0x3d, 0x63, 0x6f, 0x72, 0x70, 0x3f, 0x63,
725  0x41, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65,
726  0x3f, 0x62, 0x61, 0x73, 0x65, 0x3f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
727  0x43, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66,
728  0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x68, 0x6f,
729  0x72, 0x69, 0x74, 0x79, 0x30, 0x4d, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05,
730  0x05, 0x07, 0x30, 0x02, 0x86, 0x41, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f,
731  0x2f, 0x73, 0x73, 0x6c, 0x63, 0x72, 0x6c, 0x2e, 0x62, 0x6d, 0x77, 0x67,
732  0x72, 0x6f, 0x75, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6b, 0x69,
733  0x2f, 0x42, 0x4d, 0x57, 0x25, 0x32, 0x30, 0x47, 0x72, 0x6f, 0x75, 0x70,
734  0x25, 0x32, 0x30, 0x49, 0x73, 0x73, 0x75, 0x69, 0x6e, 0x67, 0x25, 0x32,
735  0x30, 0x43, 0x41, 0x25, 0x32, 0x30, 0x32, 0x2e, 0x63, 0x72, 0x74, 0x30,
736  0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05,
737  0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0xa6, 0xdb, 0xab, 0x42, 0x93,
738  0x90, 0xb9, 0x6a, 0xc1, 0x92, 0xb7, 0x3c, 0xaf, 0xf2, 0x9b, 0xed, 0x2b,
739  0x14, 0xdb, 0xd8, 0x9f, 0x6b, 0xb8, 0x8e, 0x08, 0xf0, 0x0e, 0x1a, 0xfe,
740  0xb3, 0x9a, 0x6f, 0x3d, 0x28, 0x79, 0xd4, 0x88, 0xbe, 0x1c, 0x17, 0xaa,
741  0x6a, 0xa4, 0xe9, 0xf0, 0xe0, 0xee, 0x9d, 0x74, 0x25, 0xbb, 0x48, 0x16,
742  0xb1, 0x00, 0xca, 0xfa, 0x6a, 0x0c, 0x16, 0x98, 0xef, 0xf9, 0x42, 0xd6,
743  0x81, 0xb4, 0xf7, 0xa2, 0x15, 0xb6, 0xdc, 0xe8, 0x25, 0xe8, 0xdd, 0x92,
744  0x1d, 0x0c, 0x96, 0xea, 0x80, 0x41, 0x3f, 0xd7, 0xff, 0xeb, 0x53, 0xe9,
745  0x13, 0xf8, 0xdc, 0x8b, 0xe2, 0x45, 0xb8, 0xbb, 0x22, 0x81, 0xea, 0x46,
746  0xee, 0x19, 0x14, 0xe3, 0xd5, 0xb0, 0xaa, 0x2a, 0xd2, 0x52, 0xa5, 0x3f,
747  0x7e, 0xa5, 0x7d, 0x5c, 0xb0, 0x84, 0x4e, 0x77, 0x01, 0x35, 0x76, 0x31,
748  0xa3, 0x6e, 0x3f, 0x51, 0x20, 0x3f, 0x98, 0xac, 0x68, 0x28, 0x0f, 0xc6,
749  0x5a, 0xc1, 0xcf, 0x58, 0xd7, 0x75, 0xaa, 0xe2, 0x9b, 0xc3, 0xfa, 0x3c,
750  0xd6, 0x61, 0x98, 0x2b, 0xf1, 0x73, 0x78, 0x2a, 0xb2, 0x54, 0x78, 0xba,
751  0xff, 0x36, 0x15, 0x17, 0xe7, 0xe6, 0x6e, 0x82, 0xee, 0x64, 0x87, 0x81,
752  0xd9, 0x08, 0x68, 0xa4, 0xc7, 0x9b, 0xa4, 0xa9, 0xf3, 0x1e, 0xe9, 0x82,
753  0xc1, 0x3d, 0xfd, 0xe9, 0x75, 0x77, 0x81, 0x73, 0x05, 0x2e, 0x36, 0x0e,
754  0x17, 0x13, 0x48, 0x20, 0x9c, 0x24, 0xce, 0xe2, 0x22, 0x68, 0x3f, 0x37,
755  0x3d, 0xf5, 0x01, 0x0e, 0x13, 0xec, 0x3d, 0xba, 0x0d, 0x71, 0xd2, 0xe2,
756  0x67, 0x65, 0x19, 0x24, 0xa4, 0x5d, 0xae, 0x35, 0x1e, 0x39, 0x4c, 0xe4,
757  0x19, 0x48, 0x91, 0x03, 0x9e, 0xe9, 0x42, 0xfd, 0x1f, 0x1d, 0x2a, 0x98,
758  0x40, 0xd0, 0xb6, 0x92, 0xb3, 0x38, 0x0f, 0xf5, 0x7f, 0xf0, 0xc1, 0x30,
759  0x82, 0x03, 0x70, 0x30, 0x82, 0x02, 0x58, 0xa0, 0x03, 0x02, 0x01, 0x02,
760  0x02, 0x10, 0x13, 0xaa, 0xab, 0xff, 0x7f, 0x25, 0x31, 0xae, 0x49, 0x9b,
761  0x17, 0x9b, 0xef, 0xee, 0xe2, 0x97, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86,
762  0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x40, 0x31,
763  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x44, 0x45,
764  0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x09, 0x42,
765  0x4d, 0x57, 0x20, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x31, 0x1d, 0x30, 0x1b,
766  0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x14, 0x42, 0x4d, 0x57, 0x20, 0x47,
767  0x72, 0x6f, 0x75, 0x70, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41,
768  0x20, 0x56, 0x32, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x39, 0x31, 0x32, 0x31,
769  0x30, 0x31, 0x30, 0x32, 0x36, 0x35, 0x31, 0x5a, 0x17, 0x0d, 0x33, 0x34,
770  0x31, 0x32, 0x31, 0x30, 0x31, 0x30, 0x33, 0x35, 0x34, 0x30, 0x5a, 0x30,
771  0x40, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
772  0x44, 0x45, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13,
773  0x09, 0x42, 0x4d, 0x57, 0x20, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x31, 0x1d,
774  0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x14, 0x42, 0x4d, 0x57,
775  0x20, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20,
776  0x43, 0x41, 0x20, 0x56, 0x32, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06,
777  0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
778  0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01,
779  0x01, 0x00, 0xd0, 0x27, 0x3b, 0xb7, 0xfe, 0x8d, 0x0c, 0xd6, 0xed, 0xf0,
780  0xa2, 0x49, 0x1f, 0x83, 0xed, 0x11, 0xcf, 0x56, 0x96, 0xe2, 0xe2, 0x1a,
781  0xac, 0x59, 0x4c, 0xef, 0x27, 0xf7, 0xda, 0xf8, 0x6a, 0x0d, 0xea, 0x78,
782  0x27, 0x69, 0x84, 0xd0, 0x4d, 0x94, 0xd8, 0x78, 0xc6, 0x14, 0x25, 0x98,
783  0x68, 0x69, 0xd5, 0x3a, 0xfd, 0x84, 0x39, 0xf3, 0x4a, 0xb8, 0x47, 0x51,
784  0x59, 0x8c, 0xa4, 0x24, 0x97, 0x10, 0xb5, 0x3b, 0x28, 0x4f, 0x26, 0x91,
785  0xad, 0xb2, 0x39, 0xc7, 0x8b, 0x96, 0x99, 0x62, 0x53, 0xe3, 0xee, 0xba,
786  0x1d, 0x55, 0x49, 0x98, 0x32, 0x60, 0xb3, 0x8d, 0x1a, 0x53, 0x29, 0x7b,
787  0xf1, 0xd3, 0xf4, 0xbc, 0x7d, 0xf1, 0x47, 0x78, 0x88, 0xe4, 0x14, 0x9c,
788  0x60, 0xdc, 0x8b, 0x65, 0xfd, 0x95, 0x39, 0xc0, 0x8b, 0x59, 0xcb, 0x66,
789  0xd2, 0x6a, 0x19, 0x67, 0x0e, 0xcd, 0x56, 0xf6, 0x7a, 0x2a, 0x8f, 0x2a,
790  0x4f, 0x1e, 0x15, 0x4d, 0xbe, 0xb5, 0x3e, 0xca, 0x3a, 0xc3, 0x93, 0x8a,
791  0xac, 0x28, 0x4c, 0x2d, 0xbd, 0x1f, 0x2b, 0x92, 0x43, 0x32, 0xdd, 0x97,
792  0xef, 0xb7, 0x09, 0xf3, 0x6b, 0x3d, 0x1e, 0x36, 0x16, 0x8b, 0x78, 0xce,
793  0x96, 0x45, 0x36, 0x9d, 0x3a, 0x90, 0x5e, 0x20, 0x3f, 0xb2, 0x39, 0x8b,
794  0x2f, 0x76, 0xd1, 0x2f, 0xe9, 0x2a, 0xb0, 0xd8, 0x40, 0x0b, 0xd9, 0x62,
795  0xd0, 0xe0, 0x6b, 0xa6, 0xf7, 0x00, 0xa8, 0x50, 0xac, 0xb0, 0x17, 0x20,
796  0x6c, 0x89, 0x1b, 0x32, 0x0a, 0x91, 0x8f, 0x94, 0xcf, 0x24, 0x72, 0xdb,
797  0x4f, 0xf9, 0x4c, 0x9e, 0x88, 0x49, 0xd9, 0x01, 0x03, 0xd0, 0xc7, 0xf4,
798  0xd1, 0xf8, 0xd5, 0x6b, 0x76, 0xea, 0x14, 0xa3, 0xb5, 0x24, 0x4c, 0xa5,
799  0xd2, 0xa8, 0x12, 0x79, 0xd3, 0x27, 0xb4, 0x9a, 0x47, 0xaa, 0x7b, 0x74,
800  0x90, 0xbb, 0xb5, 0x74, 0x29, 0x53, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3,
801  0x66, 0x30, 0x64, 0x30, 0x13, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01,
802  0x82, 0x37, 0x14, 0x02, 0x04, 0x06, 0x1e, 0x04, 0x00, 0x43, 0x00, 0x41,
803  0x30, 0x0b, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02, 0x01,
804  0x86, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04,
805  0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
806  0x0e, 0x04, 0x16, 0x04, 0x14, 0x17, 0xd0, 0xa6, 0x81, 0xc4, 0xba, 0xb6,
807  0x59, 0xe8, 0xac, 0xa5, 0x5f, 0xa3, 0x07, 0xad, 0xfd, 0x8b, 0x56, 0x2b,
808  0xbb, 0x30, 0x10, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37,
809  0x15, 0x01, 0x04, 0x03, 0x02, 0x01, 0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a,
810  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82,
811  0x01, 0x01, 0x00, 0x6c, 0x1b, 0xf2, 0x9b, 0xa7, 0x29, 0xc3, 0x7c, 0x90,
812  0xf0, 0xd2, 0x88, 0xc1, 0x5a, 0xdf, 0xea, 0x1d, 0x48, 0xeb, 0xe5, 0x83,
813  0x64, 0x31, 0xb4, 0x61, 0xa8, 0x3c, 0xfe, 0x1b, 0xf9, 0x0e, 0xc1, 0xdd,
814  0xd2, 0x81, 0xcb, 0x57, 0xcf, 0x12, 0xe0, 0x97, 0xee, 0xfe, 0x7c, 0x9e,
815  0x4d, 0xf2, 0x53, 0x68, 0x30, 0xab, 0xa7, 0x6b, 0xcd, 0xac, 0xef, 0x98,
816  0x93, 0x6e, 0x96, 0x93, 0x49, 0x0d, 0x51, 0x61, 0xb2, 0x85, 0x71, 0x7e,
817  0x3d, 0x3d, 0x90, 0x4d, 0xd6, 0x46, 0x85, 0xf8, 0x67, 0x8c, 0x53, 0x10,
818  0x0c, 0x36, 0xd4, 0xe9, 0xfb, 0x29, 0x19, 0x27, 0xfb, 0xcd, 0x87, 0xd3,
819  0x2b, 0xd3, 0xfd, 0x2e, 0xac, 0xf9, 0xeb, 0x1d, 0x82, 0xa7, 0x4f, 0x22,
820  0xba, 0x73, 0x22, 0x26, 0x64, 0x73, 0x5c, 0xaa, 0x44, 0x23, 0x9e, 0x5d,
821  0xb6, 0xd0, 0x79, 0xd8, 0x7f, 0x2e, 0xd6, 0xdb, 0x73, 0x3a, 0x09, 0xdf,
822  0x44, 0xff, 0xba, 0xa6, 0xcc, 0xcc, 0x61, 0x76, 0x8c, 0x18, 0x8c, 0x89,
823  0xa9, 0x10, 0xab, 0xda, 0x21, 0x22, 0xfb, 0x3f, 0x65, 0x0b, 0xa9, 0xd3,
824  0x0a, 0x70, 0x85, 0x8a, 0x81, 0xb7, 0x60, 0x9a, 0x6d, 0x3a, 0x42, 0xfa,
825  0xc8, 0x0b, 0x58, 0x8d, 0x47, 0x34, 0x78, 0x51, 0x66, 0xc3, 0x11, 0xa6,
826  0x22, 0x99, 0x2b, 0x64, 0x64, 0xda, 0xe3, 0xa1, 0x46, 0x81, 0xb7, 0x52,
827  0xdc, 0xd0, 0x17, 0x19, 0xf1, 0xae, 0xe0, 0x05, 0x92, 0x07, 0x92, 0x98,
828  0x0f, 0x2a, 0xf7, 0x1d, 0xe2, 0x42, 0x7f, 0x97, 0xd1, 0xea, 0x27, 0x8e,
829  0x65, 0xef, 0x00, 0x0b, 0xce, 0xbb, 0xd7, 0xa7, 0x7d, 0xf9, 0x31, 0x92,
830  0x44, 0x1c, 0x9e, 0x84, 0xc6, 0x8f, 0xed, 0x37, 0x51, 0x79, 0xaa, 0x7b,
831  0x9a, 0x9d, 0xac, 0xe2, 0xa0, 0xae, 0x4d, 0xf0, 0x91, 0x83, 0x5d, 0x85,
832  0xca, 0xfa, 0xea, 0x26, 0x0b, 0x48, 0x16, 0x30, 0x82, 0x05, 0xfc, 0x30,
833  0x82, 0x04, 0xe4, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x0a, 0x1e, 0x30,
834  0xc3, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x30, 0x0d, 0x06, 0x09,
835  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30,
836  0x40, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
837  0x44, 0x45, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13,
838  0x09, 0x42, 0x4d, 0x57, 0x20, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x31, 0x1d,
839  0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x14, 0x42, 0x4d, 0x57,
840  0x20, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20,
841  0x43, 0x41, 0x20, 0x56, 0x32, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x39, 0x31,
842  0x32, 0x31, 0x37, 0x30, 0x39, 0x31, 0x37, 0x31, 0x39, 0x5a, 0x17, 0x0d,
843  0x32, 0x32, 0x31, 0x32, 0x31, 0x37, 0x30, 0x39, 0x32, 0x37, 0x31, 0x39,
844  0x5a, 0x30, 0x64, 0x31, 0x14, 0x30, 0x12, 0x06, 0x0a, 0x09, 0x92, 0x26,
845  0x89, 0x93, 0xf2, 0x2c, 0x64, 0x01, 0x19, 0x16, 0x04, 0x63, 0x6f, 0x72,
846  0x70, 0x31, 0x13, 0x30, 0x11, 0x06, 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93,
847  0xf2, 0x2c, 0x64, 0x01, 0x19, 0x16, 0x03, 0x62, 0x6d, 0x77, 0x31, 0x16,
848  0x30, 0x14, 0x06, 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93, 0xf2, 0x2c, 0x64,
849  0x01, 0x19, 0x16, 0x06, 0x65, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x31, 0x1f,
850  0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x16, 0x42, 0x4d, 0x57,
851  0x20, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x49, 0x73, 0x73, 0x75, 0x69,
852  0x6e, 0x67, 0x20, 0x43, 0x41, 0x20, 0x32, 0x30, 0x82, 0x01, 0x22, 0x30,
853  0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01,
854  0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02,
855  0x82, 0x01, 0x01, 0x00, 0xb3, 0xab, 0xd3, 0x53, 0x73, 0x45, 0x6c, 0x37,
856  0xc4, 0x79, 0x7c, 0xe9, 0xfb, 0x0d, 0x6b, 0xb5, 0x9d, 0xcc, 0x95, 0xa5,
857  0xf7, 0x02, 0x04, 0x94, 0x8a, 0x2f, 0xb2, 0xea, 0x9f, 0x27, 0xe4, 0xef,
858  0x95, 0x02, 0x2f, 0x8c, 0x2f, 0x23, 0x4a, 0xd9, 0x53, 0xc8, 0x81, 0xb7,
859  0xe9, 0xb8, 0xb1, 0x52, 0x5c, 0x02, 0x7a, 0x2b, 0x4c, 0xe1, 0xeb, 0x25,
860  0xa4, 0x8b, 0x53, 0xa4, 0x45, 0x74, 0xbb, 0x20, 0xa6, 0x2e, 0x8b, 0x5b,
861  0xf0, 0x05, 0x86, 0x06, 0x79, 0x24, 0x55, 0x27, 0x10, 0x71, 0x9b, 0xf7,
862  0xac, 0x71, 0x8c, 0xa0, 0x4c, 0xe7, 0x9f, 0x1a, 0xb4, 0xa2, 0xd7, 0x5b,
863  0x17, 0xa3, 0x9f, 0xb3, 0x5b, 0x28, 0x16, 0xbe, 0x28, 0x48, 0x58, 0x6f,
864  0x19, 0x7e, 0x7c, 0x7b, 0x0d, 0x69, 0x59, 0xa1, 0x97, 0x13, 0x1a, 0x1f,
865  0x9c, 0xf3, 0x47, 0x36, 0xf2, 0xfa, 0xda, 0xad, 0xbd, 0xd2, 0xda, 0xdd,
866  0xb9, 0xcb, 0x9e, 0xef, 0xe4, 0x63, 0x1e, 0xdb, 0xf6, 0xd6, 0x4c, 0x85,
867  0xf1, 0x7f, 0x04, 0xe4, 0xf7, 0x07, 0xc4, 0x6e, 0x77, 0x36, 0xd7, 0x4e,
868  0x62, 0xb9, 0x71, 0x5b, 0x46, 0x58, 0x99, 0x81, 0xa9, 0x71, 0x43, 0x36,
869  0x4b, 0x06, 0xc2, 0x9c, 0xd9, 0x91, 0xb5, 0x5c, 0xcf, 0x95, 0x94, 0xa1,
870  0x37, 0x44, 0xce, 0x59, 0xc4, 0x1f, 0x99, 0x1e, 0x2d, 0x18, 0xb8, 0x6a,
871  0xf8, 0x13, 0x0e, 0x71, 0x4b, 0x67, 0xd7, 0x1e, 0xc8, 0x4d, 0x1f, 0x54,
872  0xd6, 0xc5, 0x94, 0x39, 0x52, 0x32, 0xca, 0x47, 0xa2, 0x01, 0x83, 0x03,
873  0x1b, 0xa8, 0xe1, 0xd4, 0x7d, 0x30, 0x1f, 0x20, 0x58, 0xb0, 0xd4, 0x6b,
874  0xeb, 0x13, 0x37, 0x10, 0x98, 0x3f, 0x89, 0x0d, 0x94, 0xa3, 0x24, 0xfd,
875  0xcf, 0x20, 0x79, 0xc2, 0x2e, 0x25, 0xcb, 0x0b, 0x47, 0x25, 0xe5, 0x79,
876  0xbe, 0x4e, 0x92, 0xd7, 0x24, 0xea, 0xc6, 0x1b, 0x02, 0x03, 0x01, 0x00,
877  0x01, 0xa3, 0x82, 0x02, 0xd2, 0x30, 0x82, 0x02, 0xce, 0x30, 0x0f, 0x06,
878  0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01,
879  0x01, 0xff, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04,
880  0x14, 0x61, 0x0a, 0xef, 0x1a, 0x3d, 0xfe, 0x9a, 0x68, 0x81, 0xcb, 0xb2,
881  0x62, 0xe5, 0xc0, 0x21, 0x8e, 0xdd, 0xec, 0x61, 0x95, 0x30, 0x0e, 0x06,
882  0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01,
883  0x06, 0x30, 0x10, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37,
884  0x15, 0x01, 0x04, 0x03, 0x02, 0x01, 0x00, 0x30, 0x19, 0x06, 0x09, 0x2b,
885  0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x14, 0x02, 0x04, 0x0c, 0x1e, 0x0a,
886  0x00, 0x53, 0x00, 0x75, 0x00, 0x62, 0x00, 0x43, 0x00, 0x41, 0x30, 0x1f,
887  0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x17,
888  0xd0, 0xa6, 0x81, 0xc4, 0xba, 0xb6, 0x59, 0xe8, 0xac, 0xa5, 0x5f, 0xa3,
889  0x07, 0xad, 0xfd, 0x8b, 0x56, 0x2b, 0xbb, 0x30, 0x82, 0x01, 0x1e, 0x06,
890  0x03, 0x55, 0x1d, 0x1f, 0x04, 0x82, 0x01, 0x15, 0x30, 0x82, 0x01, 0x11,
891  0x30, 0x82, 0x01, 0x0d, 0xa0, 0x82, 0x01, 0x09, 0xa0, 0x82, 0x01, 0x05,
892  0x86, 0x81, 0xc1, 0x6c, 0x64, 0x61, 0x70, 0x3a, 0x2f, 0x2f, 0x2f, 0x43,
893  0x4e, 0x3d, 0x42, 0x4d, 0x57, 0x25, 0x32, 0x30, 0x47, 0x72, 0x6f, 0x75,
894  0x70, 0x25, 0x32, 0x30, 0x52, 0x6f, 0x6f, 0x74, 0x25, 0x32, 0x30, 0x43,
895  0x41, 0x25, 0x32, 0x30, 0x56, 0x32, 0x2c, 0x43, 0x4e, 0x3d, 0x73, 0x6d,
896  0x75, 0x63, 0x31, 0x38, 0x39, 0x32, 0x2c, 0x43, 0x4e, 0x3d, 0x43, 0x44,
897  0x50, 0x2c, 0x43, 0x4e, 0x3d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x25,
898  0x32, 0x30, 0x4b, 0x65, 0x79, 0x25, 0x32, 0x30, 0x53, 0x65, 0x72, 0x76,
899  0x69, 0x63, 0x65, 0x73, 0x2c, 0x43, 0x4e, 0x3d, 0x53, 0x65, 0x72, 0x76,
900  0x69, 0x63, 0x65, 0x73, 0x2c, 0x43, 0x4e, 0x3d, 0x43, 0x6f, 0x6e, 0x66,
901  0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x44, 0x43,
902  0x3d, 0x62, 0x6d, 0x77, 0x2c, 0x44, 0x43, 0x3d, 0x63, 0x6f, 0x72, 0x70,
903  0x3f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65,
904  0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69,
905  0x73, 0x74, 0x3f, 0x62, 0x61, 0x73, 0x65, 0x3f, 0x6f, 0x62, 0x6a, 0x65,
906  0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x63, 0x52, 0x4c, 0x44,
907  0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50,
908  0x6f, 0x69, 0x6e, 0x74, 0x86, 0x3f, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f,
909  0x2f, 0x73, 0x73, 0x6c, 0x63, 0x72, 0x6c, 0x2e, 0x62, 0x6d, 0x77, 0x67,
910  0x72, 0x6f, 0x75, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6b, 0x69,
911  0x2f, 0x42, 0x4d, 0x57, 0x25, 0x32, 0x30, 0x47, 0x72, 0x6f, 0x75, 0x70,
912  0x25, 0x32, 0x30, 0x52, 0x6f, 0x6f, 0x74, 0x25, 0x32, 0x30, 0x43, 0x41,
913  0x25, 0x32, 0x30, 0x56, 0x32, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x82, 0x01,
914  0x1a, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04,
915  0x82, 0x01, 0x0c, 0x30, 0x82, 0x01, 0x08, 0x30, 0x81, 0xb8, 0x06, 0x08,
916  0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x81, 0xab, 0x6c,
917  0x64, 0x61, 0x70, 0x3a, 0x2f, 0x2f, 0x2f, 0x43, 0x4e, 0x3d, 0x42, 0x4d,
918  0x57, 0x25, 0x32, 0x30, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x25, 0x32, 0x30,
919  0x52, 0x6f, 0x6f, 0x74, 0x25, 0x32, 0x30, 0x43, 0x41, 0x25, 0x32, 0x30,
920  0x56, 0x32, 0x2c, 0x43, 0x4e, 0x3d, 0x41, 0x49, 0x41, 0x2c, 0x43, 0x4e,
921  0x3d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x25, 0x32, 0x30, 0x4b, 0x65,
922  0x79, 0x25, 0x32, 0x30, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73,
923  0x2c, 0x43, 0x4e, 0x3d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73,
924  0x2c, 0x43, 0x4e, 0x3d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72,
925  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x44, 0x43, 0x3d, 0x62, 0x6d, 0x77,
926  0x2c, 0x44, 0x43, 0x3d, 0x63, 0x6f, 0x72, 0x70, 0x3f, 0x63, 0x41, 0x43,
927  0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x3f, 0x62,
928  0x61, 0x73, 0x65, 0x3f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c,
929  0x61, 0x73, 0x73, 0x3d, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63,
930  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69,
931  0x74, 0x79, 0x30, 0x4b, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07,
932  0x30, 0x02, 0x86, 0x3f, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x73,
933  0x73, 0x6c, 0x63, 0x72, 0x6c, 0x2e, 0x62, 0x6d, 0x77, 0x67, 0x72, 0x6f,
934  0x75, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6b, 0x69, 0x2f, 0x42,
935  0x4d, 0x57, 0x25, 0x32, 0x30, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x25, 0x32,
936  0x30, 0x52, 0x6f, 0x6f, 0x74, 0x25, 0x32, 0x30, 0x43, 0x41, 0x25, 0x32,
937  0x30, 0x56, 0x32, 0x2e, 0x63, 0x72, 0x74, 0x30, 0x0d, 0x06, 0x09, 0x2a,
938  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82,
939  0x01, 0x01, 0x00, 0x68, 0x8c, 0xe9, 0xec, 0x52, 0x47, 0xe5, 0x9a, 0xac,
940  0x02, 0x1e, 0x1f, 0x49, 0x12, 0x24, 0x4a, 0xd6, 0x76, 0x41, 0xa7, 0xe6,
941  0x32, 0xf5, 0xc3, 0x96, 0xad, 0x22, 0x34, 0xd6, 0xf7, 0xce, 0xcc, 0xf5,
942  0x20, 0xcf, 0xf9, 0x81, 0x55, 0xff, 0x7a, 0xfb, 0x77, 0xe0, 0x5e, 0x37,
943  0x56, 0x55, 0x17, 0xd7, 0x1a, 0x09, 0x52, 0x2c, 0xda, 0x84, 0xed, 0x1e,
944  0xa3, 0xb3, 0x26, 0xfe, 0x93, 0xff, 0x45, 0x6a, 0x87, 0x91, 0xf9, 0x05,
945  0xe3, 0xa6, 0xcf, 0x33, 0xbc, 0xd6, 0x4a, 0x58, 0x70, 0xfa, 0x9e, 0x54,
946  0x7a, 0x79, 0x16, 0xd7, 0xea, 0xd4, 0x04, 0xaf, 0x87, 0x9a, 0x54, 0xe5,
947  0x80, 0x13, 0xfd, 0xdf, 0x83, 0xc4, 0x60, 0x12, 0x33, 0x49, 0x7b, 0x90,
948  0xd7, 0x1e, 0x09, 0x11, 0x4b, 0xd8, 0xbe, 0x06, 0xd4, 0xf0, 0x8e, 0x84,
949  0x06, 0x2a, 0xe3, 0x0b, 0xf4, 0xac, 0x9d, 0x31, 0xa1, 0x9f, 0x03, 0x91,
950  0xbe, 0xf8, 0x93, 0x6d, 0xc1, 0x9d, 0x8f, 0x18, 0xd3, 0xb9, 0x29, 0xaa,
951  0x19, 0x51, 0x15, 0xf7, 0x99, 0x3f, 0x42, 0x69, 0xfd, 0xec, 0xfb, 0xf0,
952  0x8a, 0x3f, 0x35, 0x65, 0x17, 0x1c, 0x52, 0xf4, 0xd1, 0x31, 0xc8, 0x14,
953  0x51, 0x42, 0x1b, 0xb8, 0xea, 0x7c, 0x4f, 0xbf, 0xd5, 0x78, 0x72, 0xdf,
954  0x18, 0x86, 0xc6, 0x2f, 0x2c, 0xb4, 0x45, 0x1b, 0x0b, 0x00, 0x16, 0x0e,
955  0xd6, 0x41, 0xd9, 0x4d, 0xa0, 0x9e, 0xb3, 0x56, 0x8d, 0xf8, 0x6b, 0xa0,
956  0x20, 0x4c, 0x1c, 0x6e, 0x3a, 0x80, 0xec, 0xd7, 0x85, 0x8c, 0xbb, 0xc1,
957  0x51, 0x73, 0x66, 0x47, 0x01, 0x44, 0x9a, 0x87, 0xc9, 0xed, 0x49, 0x04,
958  0xc2, 0x41, 0xea, 0x65, 0x16, 0xda, 0xd0, 0xb7, 0xe6, 0x03, 0x73, 0x74,
959  0x11, 0x3b, 0x94, 0x1b, 0x9f, 0x06, 0xb9, 0x71, 0x02, 0x70, 0x66, 0xa0,
960  0x12, 0xb5, 0x5a, 0xe8, 0x2c, 0xf9, 0x63, 0x31, 0x00
961};
962static unsigned int bmw_scep_pkt_len = 5661;
963
964#include "si-63-scep/getcacert-mdes.h"
965#include "si-63-scep/getcacert-mdesqa.h"
966
967#include <fcntl.h>
968static inline void write_data(const char * path, CFDataRef data)
969{
970    int data_file = open(path, O_CREAT|O_WRONLY|O_TRUNC, 0644);
971    write(data_file, CFDataGetBytePtr(data), CFDataGetLength(data));
972    close(data_file);
973}
974
975static inline CFMutableArrayRef maa(CFMutableArrayRef array, CFTypeRef a) {
976	CFMutableArrayRef ma = array;
977	if (!ma)
978		CFArrayCreateMutable(kCFAllocatorDefault, 0, &kCFTypeArrayCallBacks);
979	if (ma) {
980		CFArrayAppendValue(ma, a);
981		CFRelease(a);
982	}
983	return ma;
984}
985
986
987/* Test basic add delete update copy matching stuff. */
988static void tests(void)
989{
990	CFDataRef getcacert_blob = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault,
991		getcacert, getcacert_len, kCFAllocatorNull);
992	CFArrayRef certificates = NULL;
993	SecCertificateRef ca_certificate, ra_signing_certificate, ra_encryption_certificate;
994	ca_certificate = ra_signing_certificate = ra_encryption_certificate = NULL;
995	certificates = SecCMSCertificatesOnlyMessageCopyCertificates(getcacert_blob);
996	isnt(certificates, NULL, "decode cert-only pkcs#7");
997	CFDataRef sha1_fingerprint = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault,
998		ruby_sha1_hash, sizeof(ruby_sha1_hash), kCFAllocatorNull);
999
1000	ok_status(SecSCEPValidateCACertMessage(certificates, sha1_fingerprint,
1001		&ca_certificate, &ra_signing_certificate, &ra_encryption_certificate),
1002			  "parse CA/RAse getcacert message");
1003	CFReleaseNull(sha1_fingerprint);
1004	isnt(ca_certificate, NULL, "got ca cert");
1005	isnt(ra_signing_certificate, NULL, "got ra signing cert");
1006	is(ra_encryption_certificate, NULL, "no separate ra encryption cert");
1007
1008	/* these are always going to be true, but ensure replacement payloads are equivalent */
1009	ok(SecCertificateIsSelfSignedCA(ca_certificate), "self-signed ca cert");
1010	ok(SecCertificateGetKeyUsage(ra_signing_certificate) & kSecKeyUsageDigitalSignature, "can sign");
1011
1012	CFReleaseNull(ca_certificate);
1013	CFReleaseNull(ra_signing_certificate);
1014	CFReleaseNull(ra_encryption_certificate);
1015	CFReleaseNull(getcacert_blob);
1016	CFReleaseNull(certificates);
1017
1018    ca_certificate = ra_signing_certificate = ra_encryption_certificate = NULL;
1019	getcacert_blob = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault, getcacert_mdes, getcacert_mdes_len, kCFAllocatorNull);
1020	certificates = SecCMSCertificatesOnlyMessageCopyCertificates(getcacert_blob);
1021    ok_status(SecSCEPValidateCACertMessage(certificates, NULL, &ca_certificate, &ra_signing_certificate, &ra_encryption_certificate), "parse WF MDES getcacert message");
1022    ok(ca_certificate && ra_signing_certificate && ra_encryption_certificate, "identify all 3 certs");
1023
1024    CFReleaseNull(ca_certificate);
1025	CFReleaseNull(ra_signing_certificate);
1026	CFReleaseNull(ra_encryption_certificate);
1027	CFReleaseNull(getcacert_blob);
1028	CFReleaseNull(certificates);
1029
1030    ca_certificate = ra_signing_certificate = ra_encryption_certificate = NULL;
1031    getcacert_blob = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault, getcacert_mdesqa, getcacert_mdesqa_len, kCFAllocatorNull);
1032	certificates = SecCMSCertificatesOnlyMessageCopyCertificates(getcacert_blob);
1033    ok_status(SecSCEPValidateCACertMessage(certificates, NULL, &ca_certificate, &ra_signing_certificate, &ra_encryption_certificate), "parse WF MDESQA getcacert message");
1034    ok(ca_certificate && ra_signing_certificate && ra_encryption_certificate, "identify all 3 certs");
1035
1036    CFReleaseNull(ca_certificate);
1037	CFReleaseNull(ra_signing_certificate);
1038	CFReleaseNull(ra_encryption_certificate);
1039	CFReleaseNull(getcacert_blob);
1040	CFReleaseNull(certificates);
1041
1042	sha1_fingerprint = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault,
1043		msscep_md5_hash, sizeof(msscep_md5_hash), kCFAllocatorNull);
1044	CFDataRef msscep_getcacert_blob = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault,
1045		msscep_getcacert, msscep_getcacert_len, kCFAllocatorNull);
1046	CFReleaseNull(sha1_fingerprint);
1047	ca_certificate = ra_signing_certificate = ra_encryption_certificate = NULL;
1048	certificates = SecCMSCertificatesOnlyMessageCopyCertificates(msscep_getcacert_blob);
1049	ok_status(SecSCEPValidateCACertMessage(certificates, sha1_fingerprint,
1050		&ca_certificate, &ra_signing_certificate, &ra_encryption_certificate),
1051			  "parse CA/RAs/RAe msscep getcacert message");
1052	isnt(ca_certificate, NULL, "got ca cert");
1053	isnt(ra_signing_certificate, NULL, "got ra signing cert");
1054	isnt(ra_encryption_certificate, NULL, "got ra encryption cert");
1055
1056	/* these are always going to be true, but ensure replacement payloads are equivalent */
1057	ok(SecCertificateIsSelfSignedCA(ca_certificate), "self-signed ca cert");
1058	ok(SecCertificateGetKeyUsage(ra_encryption_certificate) & kSecKeyUsageKeyEncipherment, "can sign");
1059
1060	/*
1061	int ix;
1062	uint8_t md5_hash[CC_MD5_DIGEST_LENGTH];
1063	CFDataRef cert_data = SecCertificateCopyData(ca_certificate);
1064	CC_MD5(CFDataGetBytePtr(cert_data), CFDataGetLength(cert_data), md5_hash);
1065	for(ix = 0; ix < CC_MD5_DIGEST_LENGTH; ix++) fprintf(stdout, "0x%.02x, ", md5_hash[ix]); fprintf(stdout, "\n");
1066	uint8_t sha1_hash[CC_SHA1_DIGEST_LENGTH];
1067	CCDigest(kCCDigestSHA1, CFDataGetBytePtr(cert_data), CFDataGetLength(cert_data), sha1_hash);
1068	for(ix = 0; ix < CC_SHA1_DIGEST_LENGTH; ix++) fprintf(stdout, "0x%.02x, ", sha1_hash[ix]); fprintf(stdout, "\n");
1069	CFRelease(cert_data);
1070	*/
1071
1072	CFReleaseNull(ca_certificate);
1073	CFReleaseNull(ra_signing_certificate);
1074	CFReleaseNull(ra_encryption_certificate);
1075	CFRelease(certificates);
1076	CFRelease(msscep_getcacert_blob);
1077
1078
1079
1080
1081	CFDataRef bmw_getcacert_blob = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault,
1082		bmw_scep_pkt, bmw_scep_pkt_len, kCFAllocatorNull);
1083	ca_certificate = ra_signing_certificate = ra_encryption_certificate = NULL;
1084	certificates = SecCMSCertificatesOnlyMessageCopyCertificates(bmw_getcacert_blob);
1085    CFMutableArrayRef certificates_mod = CFArrayCreateMutableCopy(kCFAllocatorDefault, 0, certificates);
1086    CFArrayRemoveValueAtIndex(certificates_mod, 2);
1087	ok_status(SecSCEPValidateCACertMessage(certificates_mod, NULL,
1088		&ca_certificate, &ra_signing_certificate, &ra_encryption_certificate),
1089			  "parse CA/RAs/RAe msscep getcacert message");
1090    CFRelease(certificates_mod);
1091	CFRelease(ca_certificate);
1092	CFRelease(ra_signing_certificate);
1093	CFRelease(ra_encryption_certificate);
1094    certificates_mod = CFArrayCreateMutableCopy(kCFAllocatorDefault, 0, certificates);
1095    CFArrayInsertValueAtIndex(certificates_mod, 0, CFArrayGetValueAtIndex(certificates_mod, 3));
1096    CFArrayRemoveValueAtIndex(certificates_mod, 4);
1097	ok_status(SecSCEPValidateCACertMessage(certificates_mod, NULL,
1098		&ca_certificate, &ra_signing_certificate, &ra_encryption_certificate),
1099			  "parse CA/RAs/RAe msscep getcacert message");
1100    CFRelease(certificates_mod);
1101	CFRelease(ca_certificate);
1102	CFRelease(ra_signing_certificate);
1103	CFRelease(ra_encryption_certificate);
1104
1105	ok_status(SecSCEPValidateCACertMessage(certificates, NULL,
1106		&ca_certificate, &ra_signing_certificate, &ra_encryption_certificate),
1107			  "parse CA/RAs/RAe msscep getcacert message");
1108	isnt(ca_certificate, NULL, "got ca cert");
1109	isnt(ra_signing_certificate, NULL, "got ra signing cert");
1110	isnt(ra_encryption_certificate, NULL, "got ra encryption cert");
1111
1112	/* these are always going to be true, but ensure replacement payloads are equivalent */
1113	ok(SecCertificateIsSelfSignedCA(ca_certificate), "self-signed ca cert");
1114	ok(SecCertificateGetKeyUsage(ra_encryption_certificate) & kSecKeyUsageKeyEncipherment, "can sign");
1115
1116	CFReleaseSafe(ca_certificate);
1117	CFReleaseSafe(ra_signing_certificate);
1118	CFReleaseSafe(ra_encryption_certificate);
1119	CFReleaseSafe(certificates);
1120	CFReleaseSafe(bmw_getcacert_blob);
1121
1122	uint32_t key_size_in_bits = 512;
1123	CFNumberRef key_size = CFNumberCreate(kCFAllocatorDefault, kCFNumberIntType, &key_size_in_bits);
1124	const void *keygen_keys[] = { kSecAttrKeyType, kSecAttrKeySizeInBits };
1125	const void *keygen_vals[] = { kSecAttrKeyTypeRSA, key_size };
1126	CFDictionaryRef parameters = CFDictionaryCreate(kCFAllocatorDefault,
1127		keygen_keys, keygen_vals, array_size(keygen_vals),
1128		&kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
1129	CFRelease(key_size);
1130
1131	SecKeyRef ca_publicKey = NULL, ca_privateKey = NULL;
1132	ok_status(SecKeyGeneratePair(parameters, &ca_publicKey, &ca_privateKey), "gen key");
1133	SecIdentityRef ca_identity = test_cert_create_root_certificate(CFSTR("O=Foo Bar Inc.,CN=Root CA"), ca_publicKey, ca_privateKey);
1134    CFRelease(ca_publicKey);
1135    CFRelease(ca_privateKey);
1136
1137    SecKeyRef scep_ra_publicKey = NULL, scep_ra_privateKey = NULL;
1138    ok_status(SecKeyGeneratePair(parameters, &scep_ra_publicKey, &scep_ra_privateKey), "generate ra key pair");
1139	SecCertificateRef scep_ra_certificate =
1140		test_cert_issue_certificate(ca_identity, scep_ra_publicKey,
1141		CFSTR("O=Foo Bar Inc.,CN=SCEP RA"), 42,
1142		kSecKeyUsageKeyEncipherment|kSecKeyUsageDigitalSignature);
1143	ok(scep_ra_certificate, "got a ra cert");
1144	SecIdentityRef ra_identity = SecIdentityCreate(kCFAllocatorDefault, scep_ra_certificate, scep_ra_privateKey);
1145    CFRelease(scep_ra_publicKey);
1146    CFRelease(scep_ra_privateKey);
1147
1148	// store encryption identity in the keychain because the decrypt function looks in there only
1149    CFDictionaryRef identity_add = CFDictionaryCreate(NULL,
1150        &kSecValueRef, (const void **)&ra_identity, 1, NULL, NULL);
1151	ok_status(SecItemAdd(identity_add, NULL), "add encryption identity to keychain");
1152
1153    SecKeyRef phone_publicKey = NULL, phone_privateKey = NULL;
1154    ok_status(SecKeyGeneratePair(parameters, &phone_publicKey, &phone_privateKey), "generate phone key pair");
1155	CFArrayRef subject = test_cert_string_to_subject(CFSTR("O=Foo Bar Inc.,CN=Shoes"));
1156	SecIdentityRef self_signed_identity = SecSCEPCreateTemporaryIdentity(phone_publicKey, phone_privateKey);
1157	CFStringRef magic = CFSTR("magic");
1158	CFDictionaryRef csr_params = CFDictionaryCreate(kCFAllocatorDefault,
1159		&kSecCSRChallengePassword, (const void **)&magic, 1, NULL, NULL);
1160	CFDataRef request = SecSCEPGenerateCertificateRequest(NULL, csr_params, phone_publicKey, phone_privateKey, self_signed_identity, scep_ra_certificate);
1161	CFRelease(csr_params);
1162    CFRelease(phone_publicKey);
1163    CFRelease(phone_privateKey);
1164	isnt(request, NULL, "got a request");
1165	CFDataRef serialno = CFDataCreate(kCFAllocatorDefault, (uint8_t*)"\001", 1);
1166	CFDataRef pended_request = SecSCEPCertifyRequest(request, ra_identity, serialno, true);
1167    CFRelease(serialno);
1168	isnt(pended_request, NULL, "got a pended request (not failed)");
1169	CFErrorRef server_error = NULL;
1170	CFArrayRef issued_certs = NULL;
1171	issued_certs = SecSCEPVerifyReply(request, pended_request, scep_ra_certificate, &server_error);
1172    CFReleaseSafe(request);
1173	is(issued_certs, NULL, "no certs if pended");
1174	CFDataRef retry_get_cert_initial = NULL;
1175    isnt(server_error, NULL, "Should have gotten PENDING error");
1176	CFDictionaryRef error_dict = CFErrorCopyUserInfo(server_error);
1177	retry_get_cert_initial = SecSCEPGetCertInitial(scep_ra_certificate, subject, NULL, error_dict, self_signed_identity, scep_ra_certificate);
1178	isnt(retry_get_cert_initial, NULL, "got retry request");
1179	//write_data("/var/tmp/get_cert_initial", retry_get_cert_initial);
1180    CFRelease(subject);
1181
1182    ok_status(SecItemDelete(identity_add), "delete encryption identity from keychain");
1183    CFReleaseSafe(identity_add);
1184
1185    CFRelease(self_signed_identity);
1186	CFRelease(retry_get_cert_initial);
1187	CFRelease(server_error);
1188}
1189
1190int si_63_scep(int argc, char *const *argv)
1191{
1192	plan_tests(36);
1193
1194
1195	tests();
1196
1197	return 0;
1198}
1199