1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
Ë
gñúhi«ãóJ—ddlZddlmZddlmZddlmZGd„de«ZdZ    y)    éNé)Úmodel©ÚVerificationError)Ú_imp_emulationcó¦—eZdZdZdZd„Zd„Zd„Zd„Zd7d„Z    d„Z
d    „Z d
„Z d8d „Z d „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZeZeZeZeZeZd„Zd„Zd„ZeZd„Z eZ!d„Z"d„Z#d„Z$d„Z%eZ&d„Z'd„Z(d „Z)d!„Z*d"„Z+d#„Z,d$„Z-d%„Z.eZ/d&„Z0d'„Z1d(„Z2d)„Z3            d9d*„Z4d+„Z5d,„Z6eZ7eZ8eZ9d7d-„Z:d.„Z;d:d/„Z<eZ=eZ>d0„Z?d1„Z@d2„ZAeZBeZCeZDeZEd3„ZFd4„ZGeZHeZId5„ZJd6„ZKy );ÚVCPythonEngineÚxTcóP—||_|j|_i|_i|_y©N)ÚverifierÚffiÚ_struct_pending_verificationÚ_types_of_builtin_functions)Úselfr s  úCH:\Change_password\venv_build\Lib\site-packages\cffi/vengine_cpy.pyÚ__init__zVCPythonEngine.__init__s$€Ø ˆŒ Ø—<‘<ˆŒØ,.ˆÔ)Ø+-ˆÕ(ócó—yr ©)rÚkwdss  rÚpatch_extension_kwdsz#VCPythonEngine.patch_extension_kwdsó€Ø rc󎗠   tj||«\}}}||j«|d|vry|S#t$rYywxYw©Nr)ÚimpÚ find_moduleÚ ImportErrorÚclose)rÚ module_nameÚpathÚ so_suffixesÚfÚfilenameÚdescrs       rrzVCPythonEngine.find_modulesX€ð    Ü!$§¡°¸dÓ!CÑ ˆAˆx˜ð ˆ=Ø G‰GŒI𠐉8˜;Ñ &ØØˆøôò    Ùð    ús‚8¸    AÁAcó4—i|_|jd«y)NÚ collecttype)Ú
_typesdictÚ    _generate)rs rÚ collect_typeszVCPythonEngine.collect_types%s€ØˆŒØ ‰}Õ%rcó@—|jj|dz«y)Nú
)Ú_fÚwrite)rÚwhats  rÚ_prntzVCPythonEngine._prnt)s€Ø ‰ ‰ d˜T‘kÕ"rcó —|j|Sr )r()rÚtypes  rÚ _gettypenumzVCPythonEngine._gettypenum,s€à‰˜tÑ$Ð$rcó¾—t|tj«r|jdk(r4||jvr%t |j«}||j|<yyy)Nú long double)Ú
isinstancerÚ PrimitiveTypeÚnamer(Úlen)rÚtpÚnums   rÚ_do_collect_typezVCPythonEngine._do_collect_type0sP€Ü˜B¤× 3Ñ 3Ô4Ø—‘˜=Ò(ؘdŸo™oÑ-ܐd—o‘oÓ&ˆCØ"%ˆDO‰O˜BÒ ð.ð)rcóš—|j«ddg|_|j}|t«|«||jj
«|«|j d«|j«|«|d«|j d«|d«|d«|d«|«|jj«}|jd}|d    «|«|d
«|d «|d |z«|d «|d«|d«|d«|d«|«|d«|d|z«|d«|d«|d«|d«|d«|d|›d«|d«|d«|d«|d«|d«|d«|d«|d «|«|d!«|«|d«|d"|z«|d«|d«|d#|z«|d«|d$«|d|›d%«|d$«|d&«|d «|«|d«y)'Nz ((void)lib,0)Údeclz&static PyMethodDef _cffi_methods[] = {Úmethodz3  {"_cffi_setup", _cffi_setup, METH_VARARGS, NULL},z)  {NULL, NULL, 0, NULL}    /* Sentinel */z};Fz#if PY_MAJOR_VERSION >= 3z.static struct PyModuleDef _cffi_module_def = {z  PyModuleDef_HEAD_INIT,z  "%s",z  NULL,z  -1,z  _cffi_methods,z  NULL, NULL, NULL, NULLÚPyMODINIT_FUNCzPyInit_%s(void)ú{z  PyObject *lib;z+  lib = PyModule_Create(&_cffi_module_def);z  if (lib == NULL)ú    return NULL;ú  if (z < 0 || _cffi_init() < 0) {z    Py_DECREF(lib);ú  }z#if Py_GIL_DISABLEDz5  PyUnstable_Module_SetGIL(lib, Py_MOD_GIL_NOT_USED);z#endifz   return lib;ú}z#elsez init%s(void)z+  lib = Py_InitModule("%s", _cffi_methods);z     return;z < 0 || _cffi_init() < 0)z      return;)    r*Ú_chained_list_constantsr0Úcffimod_headerr Úpreambler)Ú_generate_setup_customÚget_module_name)rÚprntÚmodnameÚ    constantss    rÚwrite_source_to_fz VCPythonEngine.write_source_to_f7s/€Ø ×ÑÔð")8¸Ð'IˆÔ$àz‰zˆá Œ^ÔÙ Œá ˆT]‰]× #Ñ #Ô$Ù Œð     ‰vÔð     ×#Ñ#Ô%Ù Œñ
     Ð 5Ô6Ø ‰xÔ Ù Ð BÔCÙ Ð 8Ô9Ù ˆTŒ
Ù Œð—-‘-×/Ñ/Ó1ˆØ×0Ñ0°Ñ7ˆ    Ù Ð (Ô)Ù ŒÙ Ð =Ô>Ù Ð 'Ô(Ù ˆY˜Ñ  Ô!Ù ˆYŒÙ ˆWŒ Ù Ð Ô Ù Ð 'Ô(Ù ˆTŒ
Ù ŒÙ Ð ÔÙ Ð  Ñ (Ô)Ù ˆSŒ    Ù Ð Ô Ù Ð :Ô;Ù Ð !Ô"Ù Ð Ô Ú ²iÐ AÔBÙ Ð "Ô#Ù Ð Ô Ù ˆUŒ Ù Ð "Ô#Ù Ð DÔEÙ ˆXŒÙ ˆ_ÔÙ ˆSŒ    Ù ŒÙ ˆWŒ Ù ŒÙ Ð ÔÙ ˆ^˜gÑ %Ô&Ù ˆSŒ    Ù Ð Ô Ù Ð :¸WÑ DÔEÙ Ð !Ô"Ù ˆ]ÔÚ ²IÐ ?Ô@Ù ˆ]ÔÙ ˆ[ÔÙ ˆSŒ    Ù ŒÙ ˆXrNcó2‡‡ ‡ —tj«    ttd«rtj«}    ttd«r|tj
|«tj ‰jj«‰jj«Š     ttd«rtj
«    tj«‰j‰ d«t‰jj!«Dcgc]    \}}||f‘Œ c}}«}t#t%|««Dcgc]}||‘Œ    }    }t't)‰j*j,|    ««}    Gˆ ˆ ˆfd„dt.«Š ‰ «}
‰ j1|    t|
«r0ddl} | j5d    ‰jj«z«‰j‰ d
|
¬ «‰j*‰ _‰j8‰ _|
S#t$r,}d‰jj›d|›}t|«‚d}~wwxYw#ttd«rtj
«wwxYw#tj«wxYwcc}}wcc}w) NÚgetdlopenflagsÚsetdlopenflagsz
importing z: Úloadingcó<•—eZdZW°ZW°jZgZˆfd„Zy)ú/VCPythonEngine.load_library.<locals>.FFILibrarycóH•—‰jt|j«zSr )Ú    _cffi_dirÚlistÚ__dict__)rÚ
FFILibrarys €rÚ__dir__z7VCPythonEngine.load_library.<locals>.FFILibrary.__dir__¾sø€Ø!×+Ñ+¬d°4·=±=Ó.AÑAÐArN)Ú__name__Ú
__module__Ú __qualname__Ú_cffi_python_modulerÚ    _cffi_ffirVrZ)rYÚmodulers€€€rrYrTºsø„Ù"(Ð ÙŸ™ˆI؈Iõ BrrYrz0reimporting %r might overwrite older definitionsÚloaded)Úlibrary)rÚ acquire_lockÚhasattrÚsysrPrQÚ load_dynamicr rJÚmodulefilenamerrÚ release_lockÚ_loadÚdictr(ÚitemsÚranger9rWÚmaprÚ_get_cached_btypeÚobjectÚ _cffi_setupÚwarningsÚwarnÚ_cffi_original_ffirÚ_cffi_types_of_builtin_funcs)rÚflagsÚprevious_flagsÚeÚerrorÚkeyÚvalueÚ
revmappingÚiÚlstrbrqrYr`s`           @@rÚ load_libraryzVCPythonEngine.load_library•sú€ô     ×ÑÔð    Ü”sÐ,Ô-Ü!$×!3Ñ!3Ó!5ð
7Üœ3Р0Ô1°eÐ6GÜ×&Ñ& uÔ-Ü×)Ñ)¨$¯-©-×*GÑ*GÓ*IØ*.¯-©-×*FÑ*FóH‘ô œ3Р0Ô1Ü×&Ñ& ~Õ6ä × Ñ Ô ð     
‰
6˜9Ô%ôØ/3¯©×/DÑ/DÓ/F÷HÙ+  Uð" 3š<óHóIˆ
ä&+¬C°
«OÓ&<Ö= ˆz˜!‹}Ð=ˆÐ=Ü”3t—x‘x×1Ñ1°3Ó7Ó8ˆ÷    Bð    Bœô    Bñ “,ˆØ × Ñ ˜cÔ#4°gÔ >Û Ø M‰MÐLØ!Ÿ]™]×:Ñ:Ó<ñ>ô ?ð     
‰
6˜8¨Wˆ
Ô5Ø$(§H¡HˆÔ!Ø.2×.NÑ.NˆÔ+؈øôYó /Ø.2¯m©m×.JÓ.JÉAÐNÜ'¨Ó.Ð.ûð /ûôœ3Р0Ô1Ü×&Ñ& ~Õ6ð2ûô × Ñ Õ üóHùâ=sG™$I5¾A)HÂ(&I5ÄJ
Å JÈ    IÈ'IÉIÉI
É
(I2É2I5É5J có—|jjjj«Dcgc] \}\}}||f‘Œ}}}}|j    «|Scc}}}wr )rÚ_parserÚ _declarationsrkÚsort)rryr:Úqualr}s     rÚ_get_declarationsz VCPythonEngine._get_declarationsÏs^€à $§¡× 0Ñ 0× >Ñ >× DÑ DÓ F÷HðHÑ.˜c¡: B¨RŠyðHˆòHà ‰Œ
؈
ùôHs³Acó—|j«D]7\}}|jdd«\}}    t|d|›d|›«}    |||«Œ9y#t$rt    d|z«‚wxYw#t
$r}t j||«‚d}~wwxYw)Nú rÚ_generate_cpy_Ú_znot implemented in verify(): %r)r„ÚsplitÚgetattrÚAttributeErrorrÚ    ExceptionrÚattach_exception_info)rÚ    step_namer8r:ÚkindÚrealnamer?rws        rr)zVCPythonEngine._generateÕs¨€Ø×.Ñ.Ó0ò     ‰HˆD"Ø!ŸZ™Z¨¨QÓ/‰NˆD(ð >Ü ¡ÂÙ@Ið(KóLð
 ِr˜8Õ$ñ     øô
"ò >Ü'Ø5¸Ñ<ó>ð>ð >ûô
ò Ü×+Ñ+¨A¨tÔ4Øûð ús#­A Á    A'Á A$Á'    B Á0BÂB c óê—|j«D]8\}}|jdd«\}}t|d|›d|›«}    ||||fi|¤ŽŒ:y#t$r}    t    j
|    |«‚d}    ~    wwxYw)Nr†rrˆÚ_cpy_)r„r‰rŠrŒrr)
rr`rŽrr8r:rrr?rws
          rrizVCPythonEngine._loadäs~€Ø×.Ñ.Ó0ò    ‰HˆD"Ø!ŸZ™Z¨¨QÓ/‰NˆD(Ü™T²9¹dÐ#CÓDˆFð ِr˜8 VÑ4¨tÓ4ñ        øô
ò Ü×+Ñ+¨A¨tÔ4Øûð ús¿ A Á     A2ÁA-Á-A2có—yr r©rr:r8s   rÚ_generate_nothingz VCPythonEngine._generate_nothingîrrc ó—yr r©rr:r8r`rs     rÚ _loaded_noopzVCPythonEngine._loaded_noopñrrc
óº—d}t|tj«r€|j«r!|jdk7rd}d|jz}nL|j «r t d«‚d|jd«›d|jjdd    «›}d
}nät|tj«r|j||||«yt|tjtjf«r;|jd ||j|«|fz«|jd |z«yt|tj«r+d |jd«z}d|j|«z}d}n t!|«‚|jd|›d|›d|›|›d«|jd|›d|jd«›d|›d«|jd |z«y)NÚÚ_BoolÚ_cffi_to_c_intz, %sz*not implemented in verify(): complex typesú(z )_cffi_to_c_r†rˆz-1z6  if (_cffi_to_c((char *)&%s, _cffi_type(%d), %s) < 0)z    %s;z(%s)_cffi_to_c_pointerz, _cffi_type(%d)ÚNULLú  z = ú);rCz == (ú)z && PyErr_Occurred()))r6rr7Úis_integer_typer8Úis_complex_typerÚ
get_c_nameÚreplaceÚ PointerTypeÚ"_convert_funcarg_to_c_ptr_or_arrayÚ StructOrUnionÚEnumTyper0r3ÚFunctionPtrTypeÚNotImplementedError)rr:ÚfromvarÚtovarÚerrcodeÚextraargÚ    converterÚerrvalues        rÚ_convert_funcarg_to_cz$VCPythonEngine._convert_funcarg_to_cös¤€ØˆÜ bœ%×-Ñ-Ô .Ø×!Ñ!Ô#¨¯©°7Ò(:Ø,    Ø! B§G¡GÑ+‘Ø×#Ñ#Ô%Ü'Ø@óBðBð&ð46·=±=ÀÕ3DØ35·7±7·?±?À3ÈÔ3LðN    à‰Hä ˜œE×-Ñ-Ô .Ø × 3Ñ 3°B¸Ø49¸7ô Dà ä ˜œU×0Ñ0´%·.±.ÐAÔ Bà J‰JÐOØ × 0Ñ 0°Ó 4°gÐ>ñ?ô @à J‰Jy 7Ñ*Ô +Ø ä ˜œE×1Ñ1Ô 2Ø0°2·=±=ÀÓ3DÑDˆIØ)¨D×,<Ñ,<¸RÓ,@Ñ@ˆH؉Hô& bÓ)Ð )à 
Š
ª²    ¹7ÂHÐMÔNØ 
Š
Ú 2—=‘= Õ$¢hð0ô    1à 
‰
9˜wÑ&Õ'rcó —t|tj«r4|jd«|jd«|jd«yy)NzPy_ssize_t datasizez-struct _cffi_freeme_s *large_args_free = NULLzIif (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);)r6rr¦Úadd)rr:Ú    localvarsÚ    freeliness    rÚ_extra_local_variablesz%VCPythonEngine._extra_local_variablessD€Ü bœ%×+Ñ+Ô ,Ø M‰MÐ/Ô 0Ø M‰MÐIÔ JØ M‰MðJõ Kð -rcóv—|jd«|jd|j|«||fz«|jd«|jd|›d«|jd|j|«||fz«|jd«|jd|z«|jd    «y)
Nz1  datasize = _cffi_prepare_pointer_call_argument(z(      _cffi_type(%d), %s, (char **)&%s);z  if (datasize != 0) {z    z? = ((size_t)datasize) <= 640 ? alloca((size_t)datasize) : NULL;zF    if (_cffi_convert_array_argument(_cffi_type(%d), %s, (char **)&%s,z,            datasize, &large_args_free) < 0)z          %s;rD)r0r3)rr:r¬r­r®s     rr§z1VCPythonEngine._convert_funcarg_to_c_ptr_or_array$sµ€Ø 
‰
ÐFÔGØ 
‰
Ð=Ø × Ñ ˜RÓ   '¨5ðA2ñ2ô    3à 
‰
Ð+Ô,Ø 
Š
Ú9>ðAô    Bà 
‰
ð#Ø&*×&6Ñ&6°rÓ&:¸GÀUÐ%KñLô    Mà 
‰
ÐAÔBØ 
‰
; Ñ(Ô)Ø 
‰
5Õrcór—t|tj«rz|j«r"|jdk7rd|›d|j›dS|jdk7r#d|jj dd«›d    |›dSd
||j |«fzSt|tjtjf«rd ||j |«fzSt|tj«r3d ||j tj|j««fzSt|tj«rB|j€ td |j«›d |›d«‚d||j |«fzSt|tj«rd
||j |«fzSt!|«‚)Nr›z_cffi_from_c_int(ú, r¡r5Ú _cffi_from_c_r†rˆrz/_cffi_from_c_deref((char *)&%s, _cffi_type(%d))z0_cffi_from_c_pointer((char *)%s, _cffi_type(%d))ú'z ' is used as z, but is opaquez0_cffi_from_c_struct((char *)&%s, _cffi_type(%d)))r6rr7r¢r8r¥r3r¦rªÚ    ArrayTypeÚitemr¨ÚfldnamesÚ    TypeErrorÚ _get_c_namer©r«)rr:ÚvarÚcontexts    rÚ_convert_expr_from_cz#VCPythonEngine._convert_expr_from_c1s›€Ü bœ%×-Ñ-Ô .Ø×!Ñ!Ô#¨¯©°7Ó(:Ú58¸"¿'»'ÐBÐBØ—‘˜MÓ)Ø02·±·±ÀÀSÕ0IÊ3ÐOÐOàHؘ×)Ñ)¨"Ó-ðL/ñ/ð/ä ˜œU×.Ñ.´×0EÑ0EÐFÔ GØEؐT×%Ñ% bÓ)ðI+ñ+ð +ä ˜œEŸO™OÔ ,ØEؐT×%Ñ%¤e×&7Ñ&7¸¿¹Ó&@ÓAðICñCð Cä ˜œE×/Ñ/Ô 0؏{‰{Ð"ÝØ—N‘NÕ$¢gð!/ó0ð0àEؐT×%Ñ% bÓ)ðI+ñ+ð +ä ˜œEŸN™NÔ +ØDؐT×%Ñ% bÓ)ðH+ñ+ð +ô& bÓ)Ð )rcóò—t|tj«sJ‚|jr|j    |«y|j
D]}|j    |«Œ|j    |j «yr )r6rrªÚellipsisr<ÚargsÚresult)rr:r8r2s    rÚ"_generate_cpy_function_collecttypez1VCPythonEngine._generate_cpy_function_collecttypeXsb€Ü˜"œe×3Ñ3Ô4Ð4Ð4Ø ;Š;Ø × !Ñ ! "Õ %ðŸ™ò ,Ø×%Ñ% dÕ+ð ,à × !Ñ ! "§)¡)Õ ,rcó®—t|tj«sJ‚|jr|j    d||«y|j
}t |j«}|dk(rd}n
|dk(rd}nd}|d«|d|›d    |›d
«|d «d |z}t|j«D]#\}}|d |jd|z|«z«Œ%t«}    t«}
|jD]}|j||    |
«Œt|    «D]} |d| ›d«Œt|jtj«s5d} d|z}|d |jjd|«z«|d«nd} t |j«dkDrttt |j««} | D] }|d|z«Œ|«|dd|z›d|›ddj!| Dcgc]}d|z‘Œ    c}«›d«|d«|«t|j«D]&\}}|j#|d|zd |zd!«|«Œ(|d"«|d#«|d$| ›|›d%dj!tt |j««Dcgc]}d |z‘Œ    c}«›d&«|d'«|d(«|«|d)«|dk(r|d*«| rA|d+|j%|jd,d-«z«|
D] }|d|z«Œ|d.«n"|
D] }|d|z«Œ|d/«|d0«|d1«|«ycc}wcc}w)2NFrÚnoargrÚarg0rÇústatic PyObject *Ú_cffi_f_z(PyObject *self, PyObject *r¡rAzargument of %sú  %s;z x%drŸú;z    result = z result of %sz resultz  PyObject *pyresult;ršz  PyObject *arg%d;z  if (!PyArg_ParseTuple(args, "ÚOú:ú", rºz&arg%dz))rBzarg%dzx%dz return NULLz  Py_BEGIN_ALLOW_THREADSz  _cffi_restore_errno();ú  { rz); }z  _cffi_save_errno();z  Py_END_ALLOW_THREADSú  (void)self; /* unused */ú  (void)noarg; /* unused */z  pyresult = %s;rÈz result typez  return pyresult;z  Py_INCREF(Py_None);z  return Py_None;rE)r6rrªrÆÚ_generate_cpy_constr0r9rÇÚ    enumerater¤Úsetr·ÚsortedrÈÚVoidTyperlÚjoinr²rÄ)rr:r8rKÚnumargsÚargnamerÃr|r2rµr¶r>Ú result_codeÚrngÚfreelines               rÚ_generate_cpy_function_declz*VCPythonEngine._generate_cpy_function_declcsI€Ü˜"œe×3Ñ3Ô4Ð4Ð4Ø ;Š;ð × $Ñ $ U¨D°"Ô 5Ø Øz‰zˆÜb—g‘g“,ˆØ aŠ<؉GØ ˜Š\؉GàˆGÙ Ð  Ô!Ú º4ÂÐ IÔJÙ ˆSŒ    à" TÑ)ˆÜ  §¡Ó)ò    A‰GˆAˆtÙ ˜4Ÿ?™?¨6°A©:°wÓ?Ñ?Õ @ð    Aô“Eˆ    Ü“Eˆ    Ø—G‘Gò    DˆDØ × 'Ñ '¨¨i¸Õ Cð    Dä˜9Ó%ò    $ˆDÚ šDÐ"Õ #ð    $ô˜"Ÿ)™)¤U§^¡^Ô4Ø%ˆKØ$ tÑ+ˆGÙ ˜2Ÿ9™9×/Ñ/°    ¸7ÓCÑCÔ DÙ Ð(Õ )àˆKä ˆrw‰w‹<˜!Ò Üœ˜BŸG™G› Ó%ˆCØò /ÙÐ)¨AÑ-Õ.ð /á ŒFÚ Øg“ št T§Y¡YÀcÖ/JÀ°¸1³ Ò/JÕ%KðMô Ná Ð#Ô $Ù Œä  §¡Ó)ò    ‰GˆAˆtØ × &Ñ & t¨W°q©[¸%À!¹)Ø'4ô 6á Fð    ñ
     Ð 'Ô(Ù Ð 'Ô(Ú Ù šØ I‰I¬%´°B·G±G³ Ó*=Ö> Qu˜q“yÒ>Õ ?ðAô    Bñ     Ð $Ô%Ù Ð %Ô&Ù Œá Ð )Ô*Ø aŠ<Ù Ð.Ô /Ù Ù Ð#Ø×*Ñ*¨2¯9©9°hÀ ÓNñOô Pà%ò &ÙT˜H‘_Õ%ð &á Ð%Õ &à%ò &ÙT˜H‘_Õ%ð &á Ð(Ô )Ù Ð$Ô %Ù ˆSŒ    Ù ùòC0Kùò?s Ç( M Ê Mc    ó¢—|jryt|j«}|dk(rd}n
|dk(rd}nd}|jd|›d|›d|›d    «y)
NrÚ METH_NOARGSrÚMETH_OÚ METH_VARARGSú  {"z ", _cffi_f_rºz, NULL},)rÆr9rÇr0)rr:r8rÝÚmeths     rÚ_generate_cpy_function_methodz,VCPythonEngine._generate_cpy_function_method³sI€Ø ;Š;Ø Üb—g‘g“,ˆØ aŠ<Ø ‰DØ ˜Š\؉Dà!ˆDØ 
Š
ººdÂDÐIÕJrcón—|jryt||«}t|||«||j|<yr )rÆrŠÚsetattrr)rr:r8r`rbÚfuncs      rÚ_loaded_cpy_functionz#VCPythonEngine._loaded_cpy_functionÁs4€Ø ;Š;Ø Üv˜tÓ$ˆÜ˜˜tÔ$Ø13ˆ×(Ñ(¨Ò.rcóL—||jk(sJ‚|j|d|«y©NÚstruct©r8Ú_generate_struct_or_union_declr”s   rÚ_generate_cpy_struct_declz(VCPythonEngine._generate_cpy_struct_declÌs$€Ør—w‘wŠÐˆØ ×+Ñ+¨B°¸$Õ?rcó*—|j|d|«yrï©Ú _generate_struct_or_union_methodr”s   rÚ_generate_cpy_struct_methodz*VCPythonEngine._generate_cpy_struct_methodÏs€Ø ×-Ñ-¨b°(¸DÕArcó,—|j|d||«yrï©Ú_loading_struct_or_union©rr:r8r`s    rÚ_loading_cpy_structz"VCPythonEngine._loading_cpy_structÑs€Ø ×%Ñ% b¨(°D¸&ÕArc ó&—|j|«yr ©Ú_loaded_struct_or_unionr—s     rÚ_loaded_cpy_structz!VCPythonEngine._loaded_cpy_structÓó€Ø ×$Ñ$ RÕ(rcóL—||jk(sJ‚|j|d|«y©NÚunionrñr”s   rÚ_generate_cpy_union_declz'VCPythonEngine._generate_cpy_union_decl×s$€Ør—w‘wŠÐˆØ ×+Ñ+¨B°¸Õ>rcó*—|j|d|«yrrõr”s   rÚ_generate_cpy_union_methodz)VCPythonEngine._generate_cpy_union_methodÚs€Ø ×-Ñ-¨b°'¸4Õ@rcó,—|j|d||«yrrùrûs    rÚ_loading_cpy_unionz!VCPythonEngine._loading_cpy_unionÜs€Ø ×%Ñ% b¨'°4¸Õ@rc ó&—|j|«yr rþr—s     rÚ_loaded_cpy_unionz VCPythonEngine._loaded_cpy_unionÞrrc    ó<—|j€yd|›d|›}d|›d|›}|›d|›j«}|j}|d|›d|›d«|d«|d    «|d
«|j«D]g\}}    }
} t    |    t
j «r|    j«s|
d k\r |d |z«ŒC    |d |    jdd|z| ¬«›d|›d«Œi|d«|d«||›d«|d«|d|z«|d«|d|z«|d«|j«D]k\}}    }
} |
d k\rŒ|d|›d|›d«t    |    t
j«r&|    j€|d|    j«z«Œ]|d|›d |›d«Œm|d!«|d"«|d#«|d$«|d%«|d&«|d'|›d(«|d«|«y#t$r} |dt| «z«Yd} ~ Œ d} ~ wwxYw))NÚ _cffi_check_rˆÚ _cffi_layout_r†z static void rz *p)rAz8  /* only to generate compile-time warnings or errors */z
  (void)p;rz  (void)((p->%s) << 1);rÔz*tmpzfield %r)Úqualsz = &p->z; (void)tmp; }z
  /* %s */rErÍz!(PyObject *self, PyObject *noarg)z,  struct _cffi_aligncheck { char x; %s y; };z  static Py_ssize_t nums[] = {z    sizeof(%s),z)    offsetof(struct _cffi_aligncheck, y),z     offsetof(rºz),z    0,  /* %s */z     sizeof(((z *)0)->z    -1z  };rÕrÖz'  return _cffi_get_struct_layout(nums);z3  /* the next line is not executed, but compiled */rŸz(0);)r¿Ústripr0Ú
enumfieldsr6rr7r¢r¤rÚstrr½ÚlengthrÁ) rr:Úprefixr8Ú checkfuncnameÚlayoutfuncnameÚcnamerKÚfnameÚftypeÚfbitsizeÚfqualrws              rròz-VCPythonEngine._generate_struct_or_union_declás€Ø ;‰;Ð Ø ð â/5±tÐ<‰ Ú17¹Ð>ˆÚ"¡DÐ)×0Ñ0Ó2ˆàz‰zˆÚ ª ²uÐ =Ô>Ù ˆSŒ    Ù Ð GÔHÙ ˆ\ÔØ-/¯]©]«_ò     0Ñ )ˆE5˜( Eܘ5¤%×"5Ñ"5Ô6Ø×)Ñ)Ô+°¸A² áÐ.°Ñ6Õ7ð0ÚØ×(Ñ(¨°¸EÑ1AÈÐ(ÕOÚðõ ð     0ñ     ˆSŒ    Ù Ð  Ô!Ù ²nÐ FÔGÙ ˆSŒ    Ù Ð ;¸eÑ CÔDÙ Ð -Ô.Ù Ð  Ñ &Ô'Ù Ð 8Ô9Ø-/¯]©]«_ò    DÑ )ˆE5˜( Eؘ1Š}ØÚ ªE²5Ð9Ô :ܘ%¤§¡Ô1°e·l±lÐ6JÙÐ'¨%×*;Ñ*;Ó*=Ñ=Õ>â²UºEÐBÕCð    Dñ     ˆXŒÙ ˆVŒ Ù Ð )Ô*Ù Ð *Ô+Ù Ð 6Ô7Ù Ð BÔCÚ š=Ð *Ô+Ù ˆSŒ    Ù øô5)ò0Ù˜¬¨A«Ñ.×/Ò/ûð0úsÂ:$G3Ç3    HÇ<HÈHcó^—|j€yd|›d|›}|jd|›d|›d«y)NrrˆrçrÓz, METH_NOARGS, NULL},)r¿r0)rr:rr8rs     rröz/VCPythonEngine._generate_struct_or_union_methods6€Ø ;‰;Ð Ø ð â17¹Ð>ˆØ 
Š
ºÚ9GðIõ    Jrcó—|j€yd|›d|›}t||«}|«}t|tj«rw|j
rk|d}|d}    |ddd…}
|ddd…} |j «t|
«t| «cxk(rt|j«k(sJ‚J‚|
| ||    f|_y|›d|›j«} || f|j|<y)Nrrˆrréér†) r¿rŠr6rr¨ÚpartialÚ force_flattenr9Ú fixedlayoutrr) rr:rr8r`rÚfunctionÚlayoutÚ    totalsizeÚtotalalignmentÚfieldofsÚ    fieldsizers              rrúz'VCPythonEngine._loading_struct_or_unionsæ€Ø ;‰;Ð Ø ð â17¹Ð>ˆä˜6 >Ó2ˆÙ“ˆÜ bœ%×-Ñ-Ô .°2·:²:ð˜q™    ˆIØ# A™YˆNؘa˜d ˜d‘|ˆHؘq˜t !˜t™ ˆIØ × Ñ Ô Üx“=¤C¨    £NÔF´c¸"¿+¹+Ó6FÒFÐ FÑFÐ FÐFØ% y°)¸^ÐKˆBNâ &©Ð-×4Ñ4Ó6ˆEØ4:¸E°MˆD× -Ñ -¨bÒ 1rcóŠ—|j€y|jj|«||jvr d„}|j}|j|«}|jj    |«\}}||d|j |«d«||d|j |«d«d}|j«D]p\}}    }
} |
dk\rŒ||||j||«d|›«||dzdk7r3|j|    «} |||dz|j | «d|›«|dz }Œr|t|«k(sJ‚yy)    Ncó0—||k7rtd|||fz«‚y)Nz'%s (we have %d, but C compiler says %d)r)Ú    realvalueÚ expectedvalueÚmsgs   rÚcheckz5VCPythonEngine._loaded_struct_or_union.<locals>.check7s.€Ø  Ò-Ü+ØAØ  ¨yÐ9ñ:ó;ð;ð.rrzwrong total sizerzwrong total alignmentrzwrong offset for field zwrong size for field )
r¿rrnrÚpopÚsizeofÚalignofrÚoffsetofr9) rr:r.rÚBStructr$rr|rrrrÚBFields              rrÿz&VCPythonEngine._loaded_struct_or_union0sQ€Ø ;‰;Ð Ø Ø ‰×"Ñ" 2Ô&à ×2Ñ2Ò 2ò ;ð
—(‘(ˆCØ×+Ñ+¨BÓ/ˆGØ ×=Ñ=×AÑAÀ"ÓE‰MˆFEÙ &˜‘)˜SŸZ™Z¨Ó0Ð2DÔ EÙ &˜‘)˜SŸ[™[¨Ó1Ð3JÔ K؈AØ13·±³ò     Ñ-u˜h¨Ø˜q’=ØÙf˜Q‘i §¡¨g°uÔ!=Ù5:Ð<ô>à˜!˜A™#‘; !Ò#Ø ×2Ñ2°5Ó9FÙ˜&  1¡™+ s§z¡z°&Ô'9Ù7<Ð>ô@àQ‘‘ð     ðœ˜F› Ò#Ð #Ñ#ð/ 3rcó†—t|tj«r|j||d«y|j    |d|«y©Nrš)r6rr©Ú_generate_cpy_enum_declròr”s   rÚ_generate_cpy_anonymous_declz+VCPythonEngine._generate_cpy_anonymous_declTs4€Ü bœ%Ÿ.™.Ô )Ø × (Ñ (¨¨T°2Õ 6à × /Ñ /°°B¸Õ =rcó`—t|tj«s|j|d|«yyr6)r6rr©rör”s   rÚ_generate_cpy_anonymous_methodz-VCPythonEngine._generate_cpy_anonymous_methodZs'€Ü˜"œeŸn™nÔ-Ø × 1Ñ 1°"°b¸$Õ ?ð.rcóˆ—t|tj«r|j|||«y|j    |d||«yr6)r6rr©Ú_loading_cpy_enumrúrûs    rÚ_loading_cpy_anonymousz%VCPythonEngine._loading_cpy_anonymous^s6€Ü bœ%Ÿ.™.Ô )Ø × "Ñ " 2 t¨VÕ 4à × )Ñ )¨"¨b°$¸Õ ?rc ó†—t|tj«r|j|||fi|¤Žy|j    |«yr )r6rr©Ú_loaded_cpy_enumrÿr—s     rÚ_loaded_cpy_anonymousz$VCPythonEngine._loaded_cpy_anonymousds7€Ü bœ%Ÿ.™.Ô )Ø !ˆD× !Ñ ! " d¨FÑ ;°dÓ ;à × (Ñ (¨Õ ,rc    óΗ|j}    d|›d|›}
|    d|
z«|    d«|    d«|    d«|s |    d|xs|jd|«z«n|d    k(sJ‚||j||«|s:|d
k(rd |z} n|} |    d | ›d «|    d|j|dd«›d«|s J‚|    d|z«|    d«|    d«|r<|    d«|    d«|    d|›d«|    d«|    d«|    d«|    d«|    d|z«|    d«|    d«|    d«|    d |j|z«|
d!z|j|<|    d"«|    «y)#NÚ_cffi_rˆústatic int %s(PyObject *lib)rAz  PyObject *o;z
  int res;rÏz iÚconstrÂú&z  i = (r z  o = r|z variable typerÐz!  o = _cffi_from_c_int_const(%s);z  if (o == NULL)ú    return -1;z  {z    PyObject *o1 = o;z3    o = Py_BuildValue("On", o1, (Py_ssize_t)sizeof(z));z    Py_DECREF(o1);z    if (o == NULL)z      return -1;rDz-  res = PyObject_SetAttrString(lib, "%s", o);z  Py_DECREF(o);z  if (res < 0)ú   return %s;ú(lib)rE)r0r¤Ú_check_int_constant_valuerÄrF) rÚis_intr8r:ÚcategoryÚvartpÚdelayedÚsize_tooÚ check_valuerKÚfuncnameÚrealexprs             rr×z"VCPythonEngine._generate_cpy_constms˜€ðz‰z‰Ú$,©dÐ3ˆÙ Ð +¨hÑ 6Ô7Ù ˆSŒ    Ù Ð ÔÙ ˆ\ÔÙÙ ˜EšK R×3Ñ3°D¸$Ó?Ñ?Õ @à˜wÒ&Ð &Ð&à Ð "Ø × *Ñ *¨4°Ô =áØ˜5Ò Ø ™:‘àÚ ¢(Ð,Ô -Ú  × 9Ñ 9¸"¸cØ:Iõ!KðMô NáˆN7á Ð4°tÑ;Ô <Ù Ð Ô Ù Ð ÔÙ Ù ŒKÙ Ð(Ô )Ú Úðô á Ð%Ô &Ù Ð%Ô &Ù Ð#Ô $Ù ŒKÙ Ð <¸tÑ CÔDÙ Ð ÔÙ Ð ÔÙ Ð ÔÙ ˆ^˜d×:Ñ:¸7ÑCÑ CÔDØ08¸7Ñ0Bˆ×$Ñ$ WÑ-Ù ˆSŒ    Ù rcó„—t|tj«xr|j«}|s|j    |«yyr )r6rr7r¢r<©rr:r8rJs    rÚ"_generate_cpy_constant_collecttypez1VCPythonEngine._generate_cpy_constant_collecttypes8€Ü˜B¤× 3Ñ 3Ó4ÒM¸×9KÑ9KÓ9MˆÙØ × !Ñ ! "Õ %ðrcó‚—t|tj«xr|j«}|j    |||«yr )r6rr7r¢r×rSs    rÚ_generate_cpy_constant_declz*VCPythonEngine._generate_cpy_constant_decl¢s4€Ü˜B¤× 3Ñ 3Ó4ÒM¸×9KÑ9KÓ9MˆØ × Ñ  ¨¨rÕ2rcó—|j}|dkr|d|||fz«n|d|||fz«|d«|d|z«|d|z«|d«|d|z«|d    «|d
«|d |||fz«|d «|d «y)Nrz&  if ((%s) > 0 || (long)(%s) != %dL) {z1  if ((%s) <= 0 || (unsigned long)(%s) != %dUL) {z    char buf[64];z    if ((%s) <= 0)z.        snprintf(buf, 63, "%%ld", (long)(%s));z    elsez7        snprintf(buf, 63, "%%lu", (unsigned long)(%s));z)    PyErr_Format(_cffi_VerificationError,z6                 "%s%s has the real value %s, not %s",z(                 "%s", "%s", buf, "%d");rFrD)r0)rr8rzÚ
err_prefixrKs     rrIz(VCPythonEngine._check_int_constant_value­sˀ؏z‰zˆØ AŠ:Ù Ð9ؐd˜Eð=#ñ#õ $ñ ÐDؐd˜EðH#ñ#ô $á Ð  Ô!Ù Ð ! DÑ (Ô)Ù Ð =ÀÑ DÔEÙ ˆZÔÙ Ð FØ ñô    á Ð 8Ô9Ù Ð EÔFÙ Ð 7Ø ˜˜eð;%ñ%ô    &á Ð ÔÙ ˆU rcó6—|jdd«}d|›d|›S)Nú$Ú___D_Ú_cffi_e_rˆ)r¥)rrr8s   rÚ_enum_funcnamezVCPythonEngine._enum_funcnameÂs€à|‰|˜C Ó)‰Ú"(©$Ð/Ð/rcó¸—|jr&|jD]}|jd|d¬«Œy|j||«}|j}|d|z«|d«t |j|j «D]\}}|j||d|z«Œ|d|jdz«|dz|jd<|d    «|«y)
NTF)rMrCrAz    enum %s: rGrHrE)    r Ú enumeratorsr×r]r0ÚzipÚ
enumvaluesrIrF)rr:r8rÚ
enumeratorrPrKÚ    enumvalues        rr7z&VCPythonEngine._generate_cpy_enum_declÇsÞ€Ø :Š:Ø Ÿn™nò J
Ø×(Ñ(¨¨zÀ5Ð(ÕIð Jà à×&Ñ& v¨tÓ4ˆØz‰zˆÙ Ð +¨hÑ 6Ô7Ù ˆSŒ    Ü%(¨¯©¸¿¹Ó%Gò    ?Ñ !ˆJ˜    Ø × *Ñ *¨:°yØ+6¸Ñ+=õ ?ð    ?ñ     ˆ^˜d×:Ñ:¸4Ñ@Ñ @ÔAØ-5¸Ñ-?ˆ×$Ñ$ TÑ*Ù ˆSŒ    Ù rcóœ—|jr;|jDcgc]}t||«‘Œ}}t|«|_d|_yycc}w)NT)r r_rŠÚtupleraÚpartial_resolved)rr:r8r`rbras      rr<z VCPythonEngine._loading_cpy_enumÜsO€Ø :Š:à,.¯N©Nö<Ø(ô" &¨*Õ5ð<ˆJð<ä! *Ó-ˆBŒMØ"&ˆBÕ ð     ùò<s›A    cón—t|j|j«D]\}}t|||«Œyr )r`r_rarë)rr:r8r`rbrbrcs       rr?zVCPythonEngine._loaded_cpy_enumãs1€Ü%(¨¯©¸¿¹Ó%Gò    4Ñ !ˆJ˜    Ü G˜Z¨Õ 3ñ    4rcó@—|dk(rd}n|}|jd||¬«y)Nz...T)rO)r×)rr:r8rOs    rÚ_generate_cpy_macro_declz'VCPythonEngine._generate_cpy_macro_declês(€Ø Š;؉KàˆKØ × Ñ   t¸Ð ÕErcóėt|tj«r tj|j«}ntj|«}|j |«yr )r6rr½r¦r¾r<©rr:r8Útp_ptrs    rÚ"_generate_cpy_variable_collecttypez1VCPythonEngine._generate_cpy_variable_collecttypeùsB€Ü bœ%Ÿ/™/Ô *Ü×&Ñ& r§w¡wÓ/‰Fä×&Ñ& rÓ*ˆFØ ×јfÕ%rcó—t|tj«rDtj|j«}|j d||||j «¬«ytj|«}|j d||d¬«y)NF)rLrNrÂ)rK)r6rr½r¦r¾r×Úlength_is_unknownrks    rÚ_generate_cpy_variable_declz*VCPythonEngine._generate_cpy_variable_declsu€Ü bœ%Ÿ/™/Ô *Ü×&Ñ& r§w¡wÓ/ˆFØ × $Ñ $ U¨D°"¸FØ02×0DÑ0DÓ0Fð %õ Hô×&Ñ& rÓ*ˆFØ × $Ñ $ U¨D°&À5Ð $Õ Ircóö‡ —t||«}t|tj«rö|j    «r•t|t
«sJ‚|\}}|j j|j«}t||j j|««\}}    |    dk7rtd|›d|j›«‚|j|«}|jD|j j|«}
|j j|
|«}t|||«y|Š t!||«ˆ fd„} ˆ fd„} tt#|«|t%| | ««t#|«j&j)|«y)Nrz
bad size: z! does not seem to be an array of có•—‰dSrr)rbÚptrs €rÚgetterz3VCPythonEngine._loaded_cpy_variable.<locals>.getter%s ø€Øq‘6ˆMrcó•—|‰d<yrr)rbrzrss  €rÚsetterz3VCPythonEngine._loaded_cpy_variable.<locals>.setter's ø€ØˆCŠFr)rŠr6rr½rorerrnr¾Údivmodr0rÚresolve_lengthrÚcastrëÚdelattrr2ÚpropertyrVÚappend)rr:r8r`rbrzÚsizeÚ    BItemTyperÚrestÚBArrayrtrvrss             @rÚ_loaded_cpy_variablez#VCPythonEngine._loaded_cpy_variable s8ø€Ü˜ Ó&ˆÜ bœ%Ÿ/™/Ô *à×#Ñ#Ô%Ü! %¬Ô/Ð/Ð/Ø %‘ ˜Ø ŸH™H×6Ñ6°r·w±wÓ?    Ü% d¨D¯H©H¯O©O¸IÓ,FÓG‘ ˜Ø˜1’9Ý+â˜rŸwšwð(ó)ð)ð×&Ñ& vÓ.ðy‰yÐ$ØŸ™×3Ñ3°BÓ7ØŸ™Ÿ ™  f¨eÓ4Ü˜  uÔ-Ø ðˆÜ˜Ôô    ô    ä”W“ ˜t¤X¨f°fÓ%=Ô>Ü ˆW‹ ×Ñ×&Ñ& tÕ,rcó|—|j}|d«|d«|d|jdz«|d«y)Nz,static int _cffi_setup_custom(PyObject *lib)rArGTrE)r0rF)rrKs  rrIz%VCPythonEngine._generate_setup_custom.s:€Øz‰zˆÙ Ð ;Ô<Ù ˆSŒ    Ù ˆ^˜d×:Ñ:¸4Ñ@Ñ @ÔAÙ ˆS    r)ršr )NrDNTFN)Úenum)Lr[r\r]Ú
_class_keyÚ_gen_python_modulerrrr*r0r3r<rNr~r„r)rir•r˜r²r·r§rÄÚ!_generate_cpy_typedef_collecttypeÚ_generate_cpy_typedef_declÚ_generate_cpy_typedef_methodÚ_loading_cpy_typedefÚ_loaded_cpy_typedefrÉrâréÚ_loading_cpy_functionríÚ _generate_cpy_struct_collecttyperór÷rürÚ_generate_cpy_union_collecttyperrr    r ròrörúrÿÚ#_generate_cpy_anonymous_collecttyper8r:r=r@r×rTrVÚ_generate_cpy_constant_methodÚ_loading_cpy_constantÚ_loaded_cpy_constantrIr]r7Ú_generate_cpy_enum_collecttypeÚ_generate_cpy_enum_methodr<r?riÚ_generate_cpy_macro_collecttypeÚ_generate_cpy_macro_methodÚ_loading_cpy_macroÚ_loaded_cpy_macrormrpÚ_generate_cpy_variable_methodÚ_loading_cpy_variablerrIrrrr    r    
sº„Ø€JØÐò.ò  ò ò&ó#ò%ò&ò\ó|8òtò òò ò ò
%(òNKò ò*ð<):Ð%Ø#4ÐØ#4РØ#/ÐØ#/Ðò
    -òNò`
Kð)Ðò4ð(9Ð$ò@òBòBò)ð'8Ð#ò?òAòAò)ò1òfJòBò*$ðD+<Ð'ò>ò @ò@ò -ðCJØ?DØ(,ó.ò`&ò
3ð%6Ð!Ø(ÐØ(Ðó
ò*0ó
ð$&7Ð"Ø 1Ðò'ò4òFð'8Ð#Ø!2ÐØ%ÐØ%Ðò
&òJð%6Ð!Ø(Ðò-óDrr    aì)
#include <Python.h>
#include <stddef.h>
 
/* this block of #ifs should be kept exactly identical between
   c/_cffi_backend.c, cffi/vengine_cpy.py, cffi/vengine_gen.py
   and cffi/_cffi_include.h */
#if defined(_MSC_VER)
# include <malloc.h>   /* for alloca() */
# if _MSC_VER < 1600   /* MSVC < 2010 */
   typedef __int8 int8_t;
   typedef __int16 int16_t;
   typedef __int32 int32_t;
   typedef __int64 int64_t;
   typedef unsigned __int8 uint8_t;
   typedef unsigned __int16 uint16_t;
   typedef unsigned __int32 uint32_t;
   typedef unsigned __int64 uint64_t;
   typedef __int8 int_least8_t;
   typedef __int16 int_least16_t;
   typedef __int32 int_least32_t;
   typedef __int64 int_least64_t;
   typedef unsigned __int8 uint_least8_t;
   typedef unsigned __int16 uint_least16_t;
   typedef unsigned __int32 uint_least32_t;
   typedef unsigned __int64 uint_least64_t;
   typedef __int8 int_fast8_t;
   typedef __int16 int_fast16_t;
   typedef __int32 int_fast32_t;
   typedef __int64 int_fast64_t;
   typedef unsigned __int8 uint_fast8_t;
   typedef unsigned __int16 uint_fast16_t;
   typedef unsigned __int32 uint_fast32_t;
   typedef unsigned __int64 uint_fast64_t;
   typedef __int64 intmax_t;
   typedef unsigned __int64 uintmax_t;
# else
#  include <stdint.h>
# endif
# if _MSC_VER < 1800   /* MSVC < 2013 */
#  ifndef __cplusplus
    typedef unsigned char _Bool;
#  endif
# endif
# define _cffi_float_complex_t   _Fcomplex    /* include <complex.h> for it */
# define _cffi_double_complex_t  _Dcomplex    /* include <complex.h> for it */
#else
# include <stdint.h>
# if (defined (__SVR4) && defined (__sun)) || defined(_AIX) || defined(__hpux)
#  include <alloca.h>
# endif
# define _cffi_float_complex_t   float _Complex
# define _cffi_double_complex_t  double _Complex
#endif
 
#if PY_MAJOR_VERSION < 3
# undef PyCapsule_CheckExact
# undef PyCapsule_GetPointer
# define PyCapsule_CheckExact(capsule) (PyCObject_Check(capsule))
# define PyCapsule_GetPointer(capsule, name) \
    (PyCObject_AsVoidPtr(capsule))
#endif
 
#if PY_MAJOR_VERSION >= 3
# define PyInt_FromLong PyLong_FromLong
#endif
 
#define _cffi_from_c_double PyFloat_FromDouble
#define _cffi_from_c_float PyFloat_FromDouble
#define _cffi_from_c_long PyInt_FromLong
#define _cffi_from_c_ulong PyLong_FromUnsignedLong
#define _cffi_from_c_longlong PyLong_FromLongLong
#define _cffi_from_c_ulonglong PyLong_FromUnsignedLongLong
#define _cffi_from_c__Bool PyBool_FromLong
 
#define _cffi_to_c_double PyFloat_AsDouble
#define _cffi_to_c_float PyFloat_AsDouble
 
#define _cffi_from_c_int_const(x)                                        \
    (((x) > 0) ?                                                         \
        ((unsigned long long)(x) <= (unsigned long long)LONG_MAX) ?      \
            PyInt_FromLong((long)(x)) :                                  \
            PyLong_FromUnsignedLongLong((unsigned long long)(x)) :       \
        ((long long)(x) >= (long long)LONG_MIN) ?                        \
            PyInt_FromLong((long)(x)) :                                  \
            PyLong_FromLongLong((long long)(x)))
 
#define _cffi_from_c_int(x, type)                                        \
    (((type)-1) > 0 ? /* unsigned */                                     \
        (sizeof(type) < sizeof(long) ?                                   \
            PyInt_FromLong((long)x) :                                    \
         sizeof(type) == sizeof(long) ?                                  \
            PyLong_FromUnsignedLong((unsigned long)x) :                  \
            PyLong_FromUnsignedLongLong((unsigned long long)x)) :        \
        (sizeof(type) <= sizeof(long) ?                                  \
            PyInt_FromLong((long)x) :                                    \
            PyLong_FromLongLong((long long)x)))
 
#define _cffi_to_c_int(o, type)                                          \
    ((type)(                                                             \
     sizeof(type) == 1 ? (((type)-1) > 0 ? (type)_cffi_to_c_u8(o)        \
                                         : (type)_cffi_to_c_i8(o)) :     \
     sizeof(type) == 2 ? (((type)-1) > 0 ? (type)_cffi_to_c_u16(o)       \
                                         : (type)_cffi_to_c_i16(o)) :    \
     sizeof(type) == 4 ? (((type)-1) > 0 ? (type)_cffi_to_c_u32(o)       \
                                         : (type)_cffi_to_c_i32(o)) :    \
     sizeof(type) == 8 ? (((type)-1) > 0 ? (type)_cffi_to_c_u64(o)       \
                                         : (type)_cffi_to_c_i64(o)) :    \
     (Py_FatalError("unsupported size for type " #type), (type)0)))
 
#define _cffi_to_c_i8                                                    \
                 ((int(*)(PyObject *))_cffi_exports[1])
#define _cffi_to_c_u8                                                    \
                 ((int(*)(PyObject *))_cffi_exports[2])
#define _cffi_to_c_i16                                                   \
                 ((int(*)(PyObject *))_cffi_exports[3])
#define _cffi_to_c_u16                                                   \
                 ((int(*)(PyObject *))_cffi_exports[4])
#define _cffi_to_c_i32                                                   \
                 ((int(*)(PyObject *))_cffi_exports[5])
#define _cffi_to_c_u32                                                   \
                 ((unsigned int(*)(PyObject *))_cffi_exports[6])
#define _cffi_to_c_i64                                                   \
                 ((long long(*)(PyObject *))_cffi_exports[7])
#define _cffi_to_c_u64                                                   \
                 ((unsigned long long(*)(PyObject *))_cffi_exports[8])
#define _cffi_to_c_char                                                  \
                 ((int(*)(PyObject *))_cffi_exports[9])
#define _cffi_from_c_pointer                                             \
    ((PyObject *(*)(char *, CTypeDescrObject *))_cffi_exports[10])
#define _cffi_to_c_pointer                                               \
    ((char *(*)(PyObject *, CTypeDescrObject *))_cffi_exports[11])
#define _cffi_get_struct_layout                                          \
    ((PyObject *(*)(Py_ssize_t[]))_cffi_exports[12])
#define _cffi_restore_errno                                              \
    ((void(*)(void))_cffi_exports[13])
#define _cffi_save_errno                                                 \
    ((void(*)(void))_cffi_exports[14])
#define _cffi_from_c_char                                                \
    ((PyObject *(*)(char))_cffi_exports[15])
#define _cffi_from_c_deref                                               \
    ((PyObject *(*)(char *, CTypeDescrObject *))_cffi_exports[16])
#define _cffi_to_c                                                       \
    ((int(*)(char *, CTypeDescrObject *, PyObject *))_cffi_exports[17])
#define _cffi_from_c_struct                                              \
    ((PyObject *(*)(char *, CTypeDescrObject *))_cffi_exports[18])
#define _cffi_to_c_wchar_t                                               \
    ((wchar_t(*)(PyObject *))_cffi_exports[19])
#define _cffi_from_c_wchar_t                                             \
    ((PyObject *(*)(wchar_t))_cffi_exports[20])
#define _cffi_to_c_long_double                                           \
    ((long double(*)(PyObject *))_cffi_exports[21])
#define _cffi_to_c__Bool                                                 \
    ((_Bool(*)(PyObject *))_cffi_exports[22])
#define _cffi_prepare_pointer_call_argument                              \
    ((Py_ssize_t(*)(CTypeDescrObject *, PyObject *, char **))_cffi_exports[23])
#define _cffi_convert_array_from_object                                  \
    ((int(*)(char *, CTypeDescrObject *, PyObject *))_cffi_exports[24])
#define _CFFI_NUM_EXPORTS 25
 
typedef struct _ctypedescr CTypeDescrObject;
 
static void *_cffi_exports[_CFFI_NUM_EXPORTS];
static PyObject *_cffi_types, *_cffi_VerificationError;
 
static int _cffi_setup_custom(PyObject *lib);   /* forward */
 
static PyObject *_cffi_setup(PyObject *self, PyObject *args)
{
    PyObject *library;
    int was_alive = (_cffi_types != NULL);
    (void)self; /* unused */
    if (!PyArg_ParseTuple(args, "OOO", &_cffi_types, &_cffi_VerificationError,
                                       &library))
        return NULL;
    Py_INCREF(_cffi_types);
    Py_INCREF(_cffi_VerificationError);
    if (_cffi_setup_custom(library) < 0)
        return NULL;
    return PyBool_FromLong(was_alive);
}
 
union _cffi_union_alignment_u {
    unsigned char m_char;
    unsigned short m_short;
    unsigned int m_int;
    unsigned long m_long;
    unsigned long long m_longlong;
    float m_float;
    double m_double;
    long double m_longdouble;
};
 
struct _cffi_freeme_s {
    struct _cffi_freeme_s *next;
    union _cffi_union_alignment_u alignment;
};
 
#ifdef __GNUC__
  __attribute__((unused))
#endif
static int _cffi_convert_array_argument(CTypeDescrObject *ctptr, PyObject *arg,
                                        char **output_data, Py_ssize_t datasize,
                                        struct _cffi_freeme_s **freeme)
{
    char *p;
    if (datasize < 0)
        return -1;
 
    p = *output_data;
    if (p == NULL) {
        struct _cffi_freeme_s *fp = (struct _cffi_freeme_s *)PyObject_Malloc(
            offsetof(struct _cffi_freeme_s, alignment) + (size_t)datasize);
        if (fp == NULL)
            return -1;
        fp->next = *freeme;
        *freeme = fp;
        p = *output_data = (char *)&fp->alignment;
    }
    memset((void *)p, 0, (size_t)datasize);
    return _cffi_convert_array_from_object(p, ctptr, arg);
}
 
#ifdef __GNUC__
  __attribute__((unused))
#endif
static void _cffi_free_array_arguments(struct _cffi_freeme_s *freeme)
{
    do {
        void *p = (void *)freeme;
        freeme = freeme->next;
        PyObject_Free(p);
    } while (freeme != NULL);
}
 
static int _cffi_init(void)
{
    PyObject *module, *c_api_object = NULL;
 
    module = PyImport_ImportModule("_cffi_backend");
    if (module == NULL)
        goto failure;
 
    c_api_object = PyObject_GetAttrString(module, "_C_API");
    if (c_api_object == NULL)
        goto failure;
    if (!PyCapsule_CheckExact(c_api_object)) {
        PyErr_SetNone(PyExc_ImportError);
        goto failure;
    }
    memcpy(_cffi_exports, PyCapsule_GetPointer(c_api_object, "cffi"),
           _CFFI_NUM_EXPORTS * sizeof(void *));
 
    Py_DECREF(module);
    Py_DECREF(c_api_object);
    return 0;
 
  failure:
    Py_XDECREF(module);
    Py_XDECREF(c_api_object);
    return -1;
}
 
#define _cffi_type(num) ((CTypeDescrObject *)PyList_GET_ITEM(_cffi_types, num))
 
/**********/
)
reršrrxrrrror    rGrrrú<module>ršs*ðó ÝÝ$Ý#ôi Vôi ðVJr