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
Ë
gñúhåÿãó—ddlZddlZddlZddlZddlmZmZddlmZddl    ­dZ
dZ dZ ejd    k7xs ejd
kxsejd k\xrejd « ZGd „d«ZGd„d«ZGd„d«ZGd„d«ZGd„d«ZGd„d«Zejdk\r ej.ZnGd„dej2«Zd„Zd„Zd&d„Zd&d„Zd „Zd!„Zd"„Z d#„Z!d$„Z"                d'd%„Z#y)(éNé)Ú ffiplatformÚmodel)ÚVerificationError)Ú*i&i'i(Úwin32)ér)r    éÚPy_GIL_DISABLEDcó —eZdZdd„Zd„Zd„Zy)Ú
GlobalExprcóJ—||_||_||_||_||_y©N)ÚnameÚaddressÚtype_opÚsizeÚ check_value)Úselfrrrrrs      úBH:\Change_password\venv_build\Lib\site-packages\cffi/recompiler.pyÚ__init__zGlobalExpr.__init__s&€ØˆŒ    ØˆŒ ؈Œ ؈Œ    Ø&ˆÕóc    óŒ—d|j›d|j›d|jj«›d|j›d    S)Nú  { "z ", (void *)ú, z
, (void *)ú },)rrrÚ    as_c_exprr©rs rrzGlobalExpr.as_c_exprs0à I‹It—|“| T§\¡\×%;Ñ%;Õ%=¸t¿y»yðJð    Jrcój—d|jj«|j|jfzS)Nz
b'%s%s',%d)rÚas_python_bytesrrrs rÚas_python_exprzGlobalExpr.as_python_exprs2€Ø˜tŸ|™|×;Ñ;Ó=¸t¿y¹yØ#×/Ñ/ð1ñ1ð    1rN)rr©Ú__name__Ú
__module__Ú __qualname__rrr!©rrr r s„ó'òJó1rr có$—eZdZd„Zd„Zd„Zd„Zy)Ú    FieldExprcóJ—||_||_||_||_||_yr)rÚ field_offsetÚ
field_sizeÚfbitsizeÚ field_type_op)rrr*r+r,r-s      rrzFieldExpr.__init__s'€ØˆŒ    Ø(ˆÔØ$ˆŒØ ˆŒ Ø*ˆÕrcóؗdt|j«z}d|j›d|j›dd|›d|j›dzd|›d|jj «›dzS)Nú rú", z,
z     z   r)Úlenrr*r+r-r)rÚspacess  rrzFieldExpr.as_c_expr&sZ€Ø”s˜4Ÿ9™9“~Ñ%‰Ø%)§Y£Y°×0AÓ0AÑBÚ%+¨T¯_«_Ð=ò>â%+¨T×-?Ñ-?×-IÑ-IÕ-KÐLñMð    Nrcó—t‚r)ÚNotImplementedErrorrs rr!zFieldExpr.as_python_expr,s€Ü!Ð!rcó —|jjtk(rd}n9|jjtk(rt    |j
«}nt ‚d|jj«›|›|j›dS)NÚúb'ú')    r-ÚopÚOP_NOOPÚ OP_BITFIELDÚformat_four_bytesr,r4r r)rÚ    size_exprs  rÚas_field_python_exprzFieldExpr.as_field_python_expr/sj€Ø × Ñ ×  Ñ  ¤GÒ +؉IØ × Ñ × "Ñ "¤kÒ 1Ü)¨$¯-©-Ó8‰Iä%Ð %øØ"×0Ñ0×@Ñ@ÔBÙ'Ø"Ÿi›ið)ð    )rN)r#r$r%rrr!r>r&rrr(r(s„ò+òNò "ó    )rr(có—eZdZd„Zd„Zd„Zy)ÚStructUnionExprc    ót—||_||_||_||_||_||_||_||_yr)rÚ
type_indexÚflagsrÚ    alignmentÚcommentÚfirst_field_indexÚc_fields)    rrrBrCrrDrErFrGs             rrzStructUnionExpr.__init__;s;€àˆŒ    Ø$ˆŒØˆŒ
؈Œ    Ø"ˆŒØˆŒ Ø!2ˆÔØ ˆ rcó —d|j|j|jfzd|j›d|j›dzd|j
t |j«fzz|jrd|jzzdzSdzdzS)Nz  { "%s", %d, %s,z
    rz%d, %d z    /* %s */ r6z},)    rrBrCrrDrFr1rGrErs rrzStructUnionExpr.as_c_exprFsš€Ø# t§y¡y°$·/±/À4Ç:Á:Ð&NÒNØ&*§i£i°·³Ð@ñAà˜t×5Ñ5´s¸4¿=¹=Ó7IÐJÑJñKð26·²; §¡Ñ-ñGðñ    ð    ðDFñGðñ    ð    rcó—t|jt«}|jDcgc]}|j    «‘Œ}}dt |j «›t |«›|j›ddj|«›dScc}w)Nz(b'ú',ú,ú))    ÚevalrCÚG_FLAGSrGr>r<rBrÚjoin)rrCÚc_fieldÚ fields_exprs    rr!zStructUnionExpr.as_python_exprMst€ÜT—Z‘Z¤Ó)ˆà&*§m¡mö5Ø"ð×3Ñ3Õ5ð5ˆ ñ5ô ˜dŸo™oÔ .Ü ˜eÔ $Ø I‹IØ H‰H[Õ !ð    #ð    #ùò5s©BNr"r&rrr@r@:s„ò    !òó#rr@có—eZdZd„Zd„Zd„Zy)ÚEnumExprcóJ—||_||_||_||_||_yr©rrBrÚsignedÚallenums)rrrBrrVrWs      rrzEnumExpr.__init__Xs%€ØˆŒ    Ø$ˆŒØˆŒ    ØˆŒ Ø ˆ rcóz—d|j|j|j|j|jfzS)Nz1  { "%s", %d, _cffi_prim_int(%s, %s),
    "%s" },rUrs rrzEnumExpr.as_c_expr_s9€ðØ!%§¡¨D¯O©OØ!%§¡¨D¯K©K¸¿¹ð!HñHð    Irc    ó—tttttt
t tdœ|j|jf}dt|j«›t|«›|j›d|j›dS)N))rr)rr)ér)rZr)ér)r[r)ér)r\rr7z\x00r8)Ú
PRIM_UINT8Ú    PRIM_INT8Ú PRIM_UINT16Ú
PRIM_INT16Ú PRIM_UINT32Ú
PRIM_INT32Ú PRIM_UINT64Ú
PRIM_INT64rrVr<rBrrW)rÚ
prim_indexs  rr!zEnumExpr.as_python_exprdsa€ä¬)ܬ*ܬ*ܬ*ñ    ð
i‰i˜Ÿ™Ð$ñ &‰
ô &7°t·±Ô%GÜ%6°zÔ%BØ%)§Y£Y°· ³ ð?ð    ?rNr"r&rrrSrSWs„ò!òIó
    ?rrScó—eZdZd„Zd„Zd„Zy)Ú TypenameExprcó —||_||_yr©rrB)rrrBs   rrzTypenameExpr.__init__ps€ØˆŒ    Ø$ˆrcó8—d|j|jfzS)Nz  { "%s", %d },rirs rrzTypenameExpr.as_c_exprts€Ø  D§I¡I¨t¯©Ð#?Ñ?Ð?rcóL—dt|j«›|j›dS)Nr7r8)r<rBrrs rr!zTypenameExpr.as_python_exprwsÜ-¨d¯o©oÔ>ÀÇ    Ã    ÐJÐJrNr"r&rrrgrgos„ò%ò@óKrrgcóø—eZdZdZdKd„Zd„Zd„Zd„Zd„Zd„Z    gd¢Z
d    „Z dLd
„Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z!dMd!„Z"d"„Z#d#„Z$d$„Z%e%Z&d%„Z'd&„Z(e(Z)d'„Z*e*Z+d(„Z,d)„Z-d*„Z.        dNd+„Z/d,„Z0d-„Z1d.„Z2d/„Z3dMd0„Z4d1„Z5d2„Z6d3„Z7d4„Z8d5„Z9d6„Z:d7„Z;d8„Z<d9„Z=d:„Z>e>xZ?Z@d;„ZAd<„ZBd=„ZCd>„ZDd?„ZEeExZFZGd@„ZHdA„ZIdB„ZJdC„ZKdD„ZLdE„ZMdF„ZNeNZOeNZPdG„ZQdH„ZRdI„ZSeSZTdJ„ZUy )OÚ
RecompilerrcóD—||_||_||_t|_yr)ÚffiÚ module_nameÚtarget_is_pythonÚ VERSION_BASEÚ_version)rrorprqs    rrzRecompiler.__init__s €ØˆŒØ&ˆÔØ 0ˆÔÜ$ˆ rcó:—t|j|«|_yr)Úmaxrs)rÚvers  rÚ needs_versionzRecompiler.needs_version‡s€Ü˜DŸM™M¨3Ó/ˆ rc
óö—i|_|jd«t|jt¬«}g|_|D]/}|j
sŒ|j|J‚t |j«|j|<|jj|«|jD]§}t|tjtjtjtjtjf«sJ‚|j|€"t |j«|j|<|jj|«Œ©|jjd«Œ2|D]‘}|j
rŒ|j|Œ t |j«|j|<|jj|«|j sŒj|j"€Œw|jjd«Œ“d|jj%«vsJ‚i|_i|_|D]V}t|tj*«rd|j&|<Œ-t|tj,«sŒHd|j(|<ŒXt/t|j&d„¬««D]\}}||j&|<Œt/t|j(d„¬««D]\}}||j(|<Œ|D];}t1|d|j2j4z«}|||j|«Œ=|jD]}t|t6«rŒJ‚t9|j«|_y)NÚ collecttype©ÚkeyÚENDÚLENcó—|jSr©r©Útps rú<lambda>z/Recompiler.collect_type_table.<locals>.<lambda>´ó
€°R·W±W€rcó—|jSrrr€s rr‚z/Recompiler.collect_type_table.<locals>.<lambda>·rƒrÚ_emit_bytecode_)Ú
_typesdictÚ    _generateÚsortedÚstrÚ
cffi_typesÚis_raw_functionr1ÚappendÚargsÚ
isinstancerÚVoidTypeÚBasePrimitiveTypeÚ PointerTypeÚStructOrUnionOrEnumÚFunctionPtrTypeÚ is_array_typeÚlengthÚvaluesÚ_struct_unionsÚ_enumsÚ StructOrUnionÚEnumTypeÚ    enumerateÚgetattrÚ    __class__r#ÚCffiOpÚtuple)rÚ    all_declsrÚtp1ÚiÚmethodr9s       rÚcollect_type_tablezRecompiler.collect_type_tableŠs€ØˆŒØ ‰}Ô%ä˜4Ÿ?™?´Ô4ˆ    ðˆŒØó    .ˆBØ×!Ó!Ø—‘ rÑ*Ð2Ð2Ð2Ü&)¨$¯/©/Ó&:—‘ Ñ#Ø—‘×&Ñ& rÔ*ØŸ7™7ò0CÜ% c¬E¯N©NÜ,1×,CÑ,CÜ,1×,=Ñ,=Ü,1×,EÑ,EÜ,1×,AÑ,Að    ,CôDðDðDð
—‘ sÑ+Ð3Ü/2°4·?±?Ó/C˜Ÿ™¨Ñ,Ø—O‘O×*Ñ*¨3Õ/ð0ð—‘×&Ñ& uÖ-ð    .ð"ò    2ˆBØ×%Ó%¨$¯/©/¸"Ñ*=Ñ*EÜ&)¨$¯/©/Ó&:—‘ Ñ#Ø—‘×&Ñ& rÔ*Ø×#Ó#¨¯    ©    Ñ(=Ø—O‘O×*Ñ*¨5Õ1ð     2ð ˜4Ÿ?™?×1Ñ1Ó3Ñ3Ð3Ð3ð!ˆÔ؈Œ Øò    'ˆBܘ"œe×1Ñ1Ô2Ø*.×#Ñ# BÒ'ܘB¤§¡Õ/Ø"&— ‘ ˜B’ð        'ô
œv d×&9Ñ&9Ù*<ô >ó?ò    (‰EˆAˆrà&'ˆD× Ñ  Ò #ð    (ôœv d§k¡kÙ*<ô >ó?ò     ‰EˆAˆràˆDK‰K˜ŠOð     ð
ò    ,ˆBܘTÐ#4°r·|±|×7LÑ7LÑ#LÓMˆFÙ 2t—‘ rÑ*Õ +ð    ,ð
—/‘/ò    *ˆBܘb¤&Õ)Ð )Ð)ð    *ä §¡Ó0ˆrcó>—|j }|j|«Sr)rqÚ
enumfields)rrÚexpand_anonymous_struct_unions   rÚ _enum_fieldszRecompiler._enum_fieldsÄs#€ð-1×,AÑ,AÐ(AÐ%؏}‰}Ð:Ó;Ð;rcóœ—t|tj«s)t|t«r|D]}|j    |«Œy||j
vrûd|j
|<t|tj «r |j    |j««yt|tj«rn|ja||jjjvr>|j|«D])\}}}}|j    |j|||««Œ+yyy|j«D]\}}|j    |«Œyyr)rŽrÚBaseTypeByIdentityrŸÚ_do_collect_typer†r“Úas_raw_functionr™ÚfldtypesroÚ_parserÚ_included_declarationsr¨Ú _field_typeÚ
_get_items)rrÚxÚname1r¡Ú_s      rr«zRecompiler._do_collect_typeÏs*€Ü˜"œe×6Ñ6Ô7ܘ"œeÔ$Øò-AØ×)Ñ)¨!Õ,ð-à Ø T—_‘_Ñ $Ø"&ˆDO‰O˜BÑ Ü˜"œe×3Ñ3Ô4Ø×%Ñ% b×&8Ñ&8Ó&:Õ;ܘB¤× 3Ñ 3Ô4Ø—;‘;Ð*Ø $§(¡(×"2Ñ"2×"IÑ"IÑIØ,0×,=Ñ,=¸bÓ,AòPÑ(˜˜s A qØ×-Ñ-¨d×.>Ñ.>¸rÀ5È#Ó.NÕOñPðJð+ð
ŸM™M›Oò-‘DAqØ×)Ñ)¨!Õ,ñ-ð %rcó„—|jjjj«}t    |«D]A\}\}}|j dd«\}}    t |d|›d|›«}    ||_    |||«ŒCy#t$rtd|z«‚wxYw#t$r}    tj|    |«‚d}    ~    wwxYw)Nr/rÚ_generate_cpy_r´z"not implemented in recompile(): %r) ror®Ú _declarationsÚitemsrˆÚsplitrœÚAttributeErrorrÚ_current_qualsÚ    ExceptionrÚattach_exception_info)
rÚ    step_nameÚlstrrÚqualsÚkindÚrealnamer£Úes
          rr‡zRecompiler._generateâsӀ؏h‰h×Ñ×,Ñ,×2Ñ2Ó4ˆÜ!'¨£ò     Ñ ˆD‘+2uØ!ŸZ™Z¨¨QÓ/‰NˆD(ð AÜ ¡ÂÙ@Ið(KóLð
 Ø&+Ô#ِr˜8Õ$ñ     øô
"ò AÜ'Ø8¸4Ñ?óAðAð Aûô ò Ü×+Ñ+¨A¨tÔ4Øûð ús$ÁA?Á,BÁ?B    B?Â#B:Â:B?)ÚglobalÚfieldÚ struct_unionÚenumÚtypenamecóZ—i|_|jD]}g|j|<Œt«|_|j    d«|j «|jD]A}|j|}|dk7r|j d„¬«t|«|j|<ŒC|jd}|jj«D]3\}}|t|«ksJ‚||j|jk(rŒ3J‚t|«t|j«k(sJ‚|jd}|jj«D]3\}}|t|«ksJ‚||j|jk(rŒ3J‚t|«t|j«k(sJ‚y)NÚctxrÅcó—|jSrr)Úentrys rr‚z0Recompiler.collect_step_tables.<locals>.<lambda>s
€¨5¯:©:€rrzrÆrÇ) Ú_lstsÚ    ALL_STEPSÚsetÚ_seen_struct_unionsr‡Ú_add_missing_struct_unionsÚsortrŸr—r¸r1rr˜)rr¾r¿rr¢s     rÚcollect_step_tableszRecompiler.collect_step_tables÷s†€àˆŒ
ØŸ™ò    'ˆIØ$&ˆDJ‰JyÒ !ð    'ä#&£5ˆÔ Ø ‰uÔØ ×'Ñ'Ô)àŸ™ò    /ˆIØ—*‘*˜YÑ'ˆCؘGÒ#Ø—‘Ñ5Ô6Ü$)¨#£JˆDJ‰JyÒ !ð        /ðj‰j˜Ñ(ˆØ×(Ñ(×.Ñ.Ó0ò    *‰EˆBØ”s˜3“x’<Ð <ؐq‘6—;‘; "§'¡'Ó)Ð )Ð)ð    *ô3‹xœ3˜t×2Ñ2Ó3Ò3Ð3Ð3àj‰j˜Ñ ˆØ—[‘[×&Ñ&Ó(ò    *‰EˆBØ”s˜3“x’<Ð <ؐq‘6—;‘; "§'¡'Ó)Ð )Ð)ð    *ô3‹xœ3˜tŸ{™{Ó+Ò+Ð+Ñ+rcó@—|jj|dz«y)Nú
)Ú_fÚwrite)rÚwhats  rÚ_prntzRecompiler._prnts€Ø ‰ ‰ d˜T‘kÕ"rcót—|jr|J‚|j|«y|€J‚|j||«yr)rqÚwrite_py_source_to_fÚwrite_c_source_to_f)rÚfÚpreambles   rÚwrite_source_to_fzRecompiler.write_source_to_fsA€Ø ×  Ò  ØÐ#Ð #Ð#Ø × %Ñ % aÕ (àÐ'Ð 'Ð'Ø × $Ñ $ Q¨Õ 1rcóܗttjjtjj    t
«|«d«}|j «}|j«|S)NÚr)ÚopenÚosÚpathrOÚdirnameÚ__file__Ú    readlinesÚclose)rÚfilenameÚgÚliness    rÚ_rel_readlineszRecompiler._rel_readlines!sC€Ü ”—‘—‘œbŸg™gŸo™o¬hÓ7¸ÓBÀCÓ HˆØ— ‘ “ ˆØ    ‰Œ    Øˆ rc    óô —||_|j}|jj|d«ts|d«|j d«}|j d«}|j d«|||dz|dj|««|jjd«d    }|jjñ|d
|j›d «|d «|j|jj«|d «|d«|d|›«|d«|d|›«|d«|d|›«|d«|j d«}|j d«}|j d«|||dz|dj|««|jt«|d«|«||«|«|d«|«|d«t|jj«Dcgc]    \}}||f‘Œ c}}«}t!|j"«D]=\}}    d}
||vrd||j%«z}
|d||    j'«|
fz«Œ?|j"s|d«|d«|«t)«|_|j-d«i} |j.D]c} |j0| } t3| «| | <| | dkDsŒ)|d | ›d!| ›d"«| D]}||j'««Œ|d«|«Œe|jj4rf|d#«|jj4D].}    |j6dd$\}}|€ t;d(«‚|d)|›d*«Œ0|d+«|d«|«|d,«|d-«|j.D]!} | | dkDr |d.| z«Œ|d/| z«Œ#|j.D]} | d0k7sŒ    |d1| | | fz«Œ|jj4r    |d2«n|d3«|d4t3|j"«fz«d}|j<dkDs|jj|dz}|d5|z«|d«|«|d6«|d7«|d«|«|d«|d8«|d9|›d:«|d;«|dzr|d<«|d=«|d>«|d?|j>z«|d@«|dA«|dB«|d«|dC«|dD«|dE«|dF«|dG|›dH«|dI«|dJ|›dK«|dL«|dL«|d«|d8«|dM|›dN«|d;«|dO|j|j>fz«|dC«|d«|d8«|dP|›dN«|d;«|dQ|j|j>fz«|dC«|d«|«|d6«|dR«|d«d|_ycc}}w#t8$rt;d%|j›d&|›d'«‚wxYw)SNz#define _CFFI_USE_EMBEDDINGz#define _CFFI_NO_LIMITED_APIz_cffi_include.hz#include "parse_c_type.h"
zparse_c_type.hrr6ú.éÿÿÿÿz#define _CFFI_MODULE_NAME  "ú"z1static const char _CFFI_PYTHON_STARTUP_CODE[] = {z0 };z#ifdef PYPY_VERSIONz3# define _CFFI_PYTHON_STARTUP_FUNC  _cffi_pypyinit_z#elif PY_MAJOR_VERSION >= 3z+# define _CFFI_PYTHON_STARTUP_FUNC  PyInit_ú#elsez(# define _CFFI_PYTHON_STARTUP_FUNC  initú#endifz _embedding.hz#include "_cffi_errors.h"
z_cffi_errors.hz>/************************************************************/zstatic void *_cffi_types[] = {z // z/* %2d */ %s,%sz  0z};Údeclrzstatic const struct _cffi_z    _s _cffi_zs[] = {z.static const char * const _cffi_includes[] = {rZú ffi object ú
 includes ú8, but the latter has not been prepared with set_source()zMnot implemented yet: ffi.include() of a Python-based ffi inside a C-based ffiz  "z",z  NULLz?static const struct _cffi_type_context_s _cffi_type_context = {z  _cffi_types,z   _cffi_%ss,z  NULL,  /* no %ss */rÅz  %d,  /* num_%ss */z  _cffi_includes,z  NULL,  /* no includes */z  %d,  /* num_types */z  %d,  /* flags */z#ifdef __GNUC__z?#  pragma GCC visibility push(default)  /* for -fvisibility= */ÚPyMODINIT_FUNCÚ_cffi_pypyinit_z(const void *p[])ú{z%    if (((intptr_t)p[0]) >= 0x0A03) {zQ        _cffi_call_python_org = (void(*)(struct _cffi_externpy_s *, char *))p[1];z    }z    p[0] = (const void *)0x%x;z    p[1] = &_cffi_type_context;z#if PY_MAJOR_VERSION >= 3ú    return NULL;ú}z#  ifdef _MSC_VERz     PyMODINIT_FUNCz#  if PY_MAJOR_VERSION >= 3z      PyInit_z(void) { return NULL; }z#  elsez         initz
(void) { }z#  endifÚPyInit_ú(void)z5  return _cffi_init("%s", 0x%x, &_cffi_type_context);Úinitz.  _cffi_init("%s", 0x%x, &_cffi_type_context);z#  pragma GCC visibility pop) rÖrÙroÚ
_embeddingÚUSE_LIMITED_APIrìÚindexrOrpr¹Ú_print_string_literal_in_arrayrwÚVERSION_EMBEDDEDÚdictr†r¸r›rŠÚ _get_c_namerrÏÚ_seen_constantsr‡rÎrÍr1Ú_included_ffisÚ_assigned_sourcerºrÚ _num_externpyrs)rrÝrÞÚprntrër¢Úbase_module_namerÚtypeindex2typer9rEÚnumsr¾r¿rÌÚffi_to_includeÚincluded_module_nameÚincluded_sourcerCs                   rrÜzRecompiler.write_c_source_to_f's‡€ØˆŒØz‰zˆØ 8‰8× Ñ Ð *Ù Ð.Ô /ÝÙ Ð/Ô 0ð×#Ñ#Ð$5Ó6ˆØ K‰KÐ5Ó 6ˆØ×*Ñ*Ð+;Ó<ˆˆa!‘ˆ Ù ˆRW‰WU‹^Ôð ×+Ñ+×1Ñ1°#Ó6°rÑ:ÐØ 8‰8× Ñ Ð *Ú °d×6FÓ6FÐHÔ IÙ ÐDÔ EØ × /Ñ /°·±×0CÑ0CÔ DÙ ŒLÙ Ð&Ô 'Ú Ù ð#ô $á Ð.Ô /Ú Ù ð#ô $á ŒMÚ Ù ð#ô $á ŒNØ×'Ñ'¨Ó7ˆEØ— ‘ Ð9Ó:ˆAØ×.Ñ.Ð/?Ó@ˆE!Aa‘CˆLÙ —‘˜“Ô  Ø × Ñ Ô/Ô 0ñ     Ð MÔNÙ ŒÙ ˆXŒÙ ŒÙ Ð MÔNÙ Œñ     Ð -Ô.ܰd·o±o×6KÑ6KÓ6M×N©7¨B°  2šwÓNÓOˆÜ˜tŸ™Ó/ò    C‰EˆAˆr؈GؐNÑ"Ø  >°!Ñ#4×#@Ñ#@Ó#BÑBÙ Ð" a¨¯©«¸Ð%AÑAÕ Bð        Cð
ŠÙ ŒKÙ ˆTŒ
Ù Œô #›uˆÔØ ‰vÔðˆØŸ™ò        ˆIØ—*‘*˜YÑ'ˆCÜ! #›hˆD‰OؐI‰ Ó"ÚÚšyð*ô+à ò,EÙ˜Ÿ™Ó*Õ+ð,áT”
Ù•ð        ð 8‰8× "Ò "Ù ÐAÔ BØ"&§(¡(×"9Ñ"9ò :ð8à&×7Ñ7¸¸Ð;ñ:Ð(¨/ð#Ð*Ü+ð3ó4ð4òÒ"6Ð8Õ9ð :ñ ŒNÙ ŒJÙ ŒFñ     Ð NÔOÙ Ð ÔØŸ™ò    :ˆIؐI‰ Ò"ِ^ iÑ/Õ0áÐ,¨yÑ8Õ9ð        :ð
Ÿ™ò    LˆIؘGÓ#ÙÐ+¨t°I©À    Ð.JÑJÕKð    Lð 8‰8× "Ò "Ù Ð$Õ %á Ð-Ô .Ù Ð %¬¨T¯_©_Ó)=Ð(?Ñ ?Ô@ØˆØ × Ñ  Ò ! T§X¡X×%8Ñ%8Ð%DØ Q‰JˆEÙ Ð ! EÑ )Ô*Ù ˆTŒ
Ù Œñ     Ð ÔÙ Ð NÔOÙ ˆXŒÙ ŒÙ Ð "Ô#Ù Ð ÔÚ Ò5EÐ GÔHÙ ˆSŒ    Ø 1Š9Ù Ð8Ô 9Ù ðEô Fá ŒMÙ Ð -°· ± Ñ =Ô>Ù Ð .Ô/Ù Ð (Ô)Ù Ð Ô Ù ˆXŒÙ ˆSŒ    ñ     Ð  Ô!Ù Ð "Ô#Ù Ð *Ô+Ú Ò8HÐ JÔKÙ ˆYŒÚ Ò(8Ð :Ô;Ù ˆZÔÙ ˆZÔÙ Ð *Ô+Ù Ð ÔÚ Ò"2Ð 4Ô5Ù ˆSŒ    Ù Ð DØ × Ñ ˜dŸm™mðH-ñ-ô    .á ˆSŒ    Ù ˆWŒ Ù Ð ÔÚ Ò/Ð 1Ô2Ù ˆSŒ    Ù Ð =Ø × Ñ ˜dŸm™mðA-ñ-ô    .á ˆSŒ    Ù ˆXŒÙ ŒÙ Ð ÔÙ Ð +Ô,Ù ˆXŒØˆ ùówOøôH&ò8Ý+ð!ŸH›H¢nð7ó8ð8ð8úsÈ Y
Í&YÙ&Y7có(—t|t«rd|›dSt|ttf«rR|Dcgc]}|j    |«‘Œ}}t |«dk(r|j d«ddj|«›dS|j«Scc}w)Nr7r8rr6ú(rKrL)    rŽr‰ÚlistrŸÚ_to_pyr1rŒrOr!)rr²ÚitemÚreps    rrzRecompiler._to_pyÔsz€Ü aœÕ ڐ>Ð !Ü aœ$¤˜Ô 'Ø12Ö3¨4—;‘;˜tÕ$Ð3ˆCÐ3ܐ3‹x˜1Š}Ø—
‘
˜2”øØ ŸX™X c]Ð,Ð ,Ø×ÑÓ!Ð!ùò    4s±Bc
ó’—||_|j}|d«|d«t|jjxsd«}t |«D]H}|jj|}    |j dd\}}| td«‚|d    ||fz«ŒJ|«|d
|j›d «|d |jfz«d|_
t|j«|_ |jDcgc]}|j«‘Œ}    }|d |jdj|    ««›d«t!|j"j%«D
cgc]    \}
}||
f‘Œ c}}
«} |j&D]D} |j(| } t| «dkDsŒ!| dk7sŒ'|d| ›d|j| «›d«ŒF|dkDr5|ddjt |«Dcgc]}d|z‘Œ    c}«›d«|d«y#t$rtd|j›d|›d«‚wxYwcc}wcc}}
wcc}w)Nz# auto-generated filezimport _cffi_backendr&rZrôrõrözMnot implemented yet: ffi.include() of a C-based ffi inside a Python-based ffizfrom %s import ffi as _ffi%dzffi = _cffi_backend.FFI('rJz    _version = 0x%x,z     _types = r6rKrrÅz    _zs = z    _includes = (rz_ffi%dz,),rL)rÖrÙr1rorÚrangerrºrrprsrŸrŠr rrOrr†r¸rÎrÍ)rrÝr
Ú num_includesr¢rrrr9Ú    types_lstrr r¾r¿s              rrÛzRecompiler.write_py_source_to_fÞs3€ØˆŒØz‰zˆñ     Ð $Ô%Ù Ð #Ô$ô˜4Ÿ8™8×2Ñ2Ò8°bÓ9ˆ ܐ|Ó$ò    MˆAØ!ŸX™X×4Ñ4°QÑ7ˆNð 4à"×3Ñ3°B°QÐ7ñ6Ð$ oðÐ*Ü'ð4ó5ð5ñ Ð/Ð3GÈÐ2KÑKÕ Lð    Mñ     ŒÚ °×0@Ó0@Ð BÔCÙ Ð # t§}¡}Ð&6Ñ 6Ô7؈Œ ô  §¡Ó0ˆŒØ48·O±OÖD¨bR×'Ñ'Õ)ÐDˆ    ÐDÚ  4§;¡;¨r¯w©w°yÓ/AÕ#BÐ DÔEܰd·o±o×6KÑ6KÓ6M×N©7¨B°  2šwÓNÓOˆðŸ™ò    GˆIØ—*‘*˜YÑ'ˆCܐ3‹x˜!‹|     ¨WÓ 4Úª°D·K±KÀÕ4DÐEÕFð    Gð ˜!Ò Ú Ø—    ‘    ´°|Ó1DÖE¨A˜8 a›<ÒEÕFðIô Jñ     ˆS    øôC"ò 4Ý'🛢.ð3ó4ð4ð 4üò"EùãNùòFsÁ/HÃ?H9Å$H>
Ç- IÈ&H6có —|j|Sr)r†)rÚtypes  rÚ _gettypenumzRecompiler._gettypenums€à‰˜tÑ$Ð$rc
óN—d}t|tj«rÀ|j«s°|j    «r!|j
dk7rd}d|j
z}n|t|tj «rd|jd«›d}nL|jd«}d|›d|j
jdd    «›}|d
vr|jt«d }nît|tj«r|j||||«yt|tj«st|tj«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)Nr6Ú_BoolÚ_cffi_to_c_intz, %srz)_cffi_to_c_doublez )_cffi_to_c_r/r´©Úchar16_tÚchar32_tz-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 = ú);z  if (z == (rLz && PyErr_Occurred()))rŽrrÚis_complex_typeÚis_integer_typerÚUnknownFloatTypeÚ
get_c_nameÚreplacerwÚVERSION_CHAR16CHAR32r‘Ú"_convert_funcarg_to_c_ptr_or_arrayr’rÙrr“r4)    rrÚfromvarÚtovarÚerrcodeÚextraargÚ    converterÚcnameÚerrvalues             rÚ_convert_funcarg_to_cz Recompiler._convert_funcarg_to_csÓ€ØˆÜ bœ%×1Ñ1Ô 2¸2×;MÑ;MÔ;OØ×!Ñ!Ô#¨¯©°7Ò(:Ø,    Ø! B§G¡GÑ+‘ܘB¤× 6Ñ 6Õ7ð8:·}±}ÀRÕ7HÐJ‘    àŸ ™  bÓ)‘Ú38Ø35·7±7·?±?À3ÈÔ3LðN    àÐ4Ñ4Ø×&Ñ&Ô';Ô<؉Hä ˜œE×-Ñ-Ô .Ø × 3Ñ 3°B¸Ø49¸7ô Dà 䘜U×6Ñ6Ô7ܘœU×4Ñ4Ô5ð 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);)rŽrr‘Úadd)rrÚ    localvarsÚ    freeliness    rÚ_extra_local_variablesz!Recompiler._extra_local_variablesCsD€Ü bœ%×+Ñ+Ô ,Ø M‰MÐ/Ô 0Ø M‰MÐIÔ JØ M‰MðJõ Kð -rcóš—|jd«|jd|j|«||fz«|jd«|jd|›d|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 ? (r6z!)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;z  })rÙrr*)rrr.r/r0s     rr-z-Recompiler._convert_funcarg_to_c_ptr_or_arrayJsÀ€Ø 
‰
ÐFÔGØ 
‰
Ð=Ø × Ñ ˜RÓ   '¨5ðA2ñ2ô    3à 
‰
Ð+Ô,Ø 
Š
⠐2—=‘= Õ$ð&ô    'ð     
‰
ð#Ø&*×&6Ñ&6°rÓ&:¸GÀUÐ%KñLô    Mà 
‰
ÐAÔBØ 
‰
; Ñ(Ô)Ø 
‰
5Õrcó—t|tj«rÅ|j«r"|jdk7rd|›d|j›dSt|tj
«rd|›dS|jdk7rN|j «s>|jjdd«}|d    vr|jt«d
|›d |›dSd ||j|«fzSt|tjtjf«rd ||j|«fzSt|tj«r3d ||jtj|j««fzSt|tj«rB|j € t#d|j%«›d|›d«‚d||j|«fzSt|tj&«rd ||j|«fzSt)|«‚)Nrz_cffi_from_c_int(rrLz_cffi_from_c_double(ú long doubler/r´r!Ú _cffi_from_c_rz/_cffi_from_c_deref((char *)&%s, _cffi_type(%d))z0_cffi_from_c_pointer((char *)%s, _cffi_type(%d))r8z ' is used as z, but is opaquez0_cffi_from_c_struct((char *)&%s, _cffi_type(%d)))rŽrrr(rr)r'r+rwr,rr‘r“Ú    ArrayTyperr™ÚfldnamesÚ    TypeErrorrršr4)rrÚvarÚcontextr3s     rÚ_convert_expr_from_czRecompiler._convert_expr_from_cXsÝ€Ü bœ%×1Ñ1Ô 2Ø×!Ñ!Ô#¨¯©°7Ó(:Ú58¸"¿'»'ÐBÐBܘB¤× 6Ñ 6Õ7Ú47Ð9Ð9Ø—‘˜MÒ)°"×2DÑ2DÔ2FØŸ™Ÿ™¨¨SÓ1ØÐ4Ñ4Ø×&Ñ&Ô';Ô<øÚ05²sÐ;Ð;à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ó.—|j|d|›d«S)Nz(*(z *)0))Ú _global_type©rrrs   rÚ _typedef_typezRecompiler._typedef_type{s€Ø× Ñ ¡²TÐ%;Ó<Ð<rcóF—|j|j||««yr)r«rHrGs   rÚ!_generate_cpy_typedef_collecttypez,Recompiler._generate_cpy_typedef_collecttype~s€Ø ×јd×0Ñ0°°TÓ:Õ;rcó—yrr&rGs   rÚ_generate_cpy_typedef_declz%Recompiler._generate_cpy_typedef_decló€Ø rcór—|j|}|jdjt||««y)NrÈ)r†rÍrŒrg)rrrrBs    rÚ _typedef_ctxzRecompiler._typedef_ctx„s.€Ø—_‘_ RÑ(ˆ
Ø 
‰
:Ñ×%Ñ%¤l°4¸Ó&DÕErcóZ—|j||«}|j||«t|dd«dk(r|j||jd¬«yt |t j«r>|j|j|jj|j|¬«yy)NÚoriginÚ unknown_type)Ú
approxname)rSÚ    named_ptr)    rHrOrœÚ _struct_ctxrrŽrÚNamedPointerTypeÚtotyperGs   rÚ_generate_cpy_typedef_ctxz$Recompiler._generate_cpy_typedef_ctxˆs€Ø × Ñ   DÓ )ˆØ ×ј"˜dÔ#Ü 2x Ó &¨.Ò 8Ø × Ñ ˜R §¡°TÐ Õ :Ü ˜œE×2Ñ2Ô 3Ø × Ñ ˜RŸY™Y¨¯    ©    ¯©À2Ç7Á7Ø')ð õ +ð4rcó˜—|j|j««|jr|js|j|«yyyr)r«r¬ÚellipsisrqrGs   rÚ"_generate_cpy_function_collecttypez-Recompiler._generate_cpy_function_collecttype”s=€Ø ×јb×0Ñ0Ó2Ô3Ø ;Š;˜t×4Ò4Ø × !Ñ ! "Õ %ð 5ˆ;rc ó —|jrJ‚t|tj«sJ‚|jr|j ||«y|j }t|j«}|dk(rd}n
|dk(rd}nd}g}g}d|z}t|j«D]=\}    }
|j|
jd|    z|««|jd|    z«Œ?d    j|«} | xsd
} |jr|jd z} nd } | ›d |›d| ›d} |d|jj| «›«|d«d    j|«}d}t|jtj«rd }|d|›|›d|›d«|d«|d«|d«|d|›d|›d«|d«d|z}t|j«D]%\}    }
|
jd|    z|«}|d|z«Œ't!«}t!«}|jD]}
|j#|
||«Œt%|«D]}|d|›d«Œt|jtj«s7d}d|z}d|jjd|«z}||«|d«nd}d }t|j«dkDr€t't|j««}|D] }    |d |    z«Œ|«|d!|t|«t|«d    j|D    cgc]}    d"|    z‘Œ    c}    «fz«|d#«|«t|j«D]&\}    }
|j)|
d$|    zd|    zd%«|«Œ(|d&«|d'«t't|j««D    cgc]}    d|    z‘Œ    }}    d    j|«}|d(|›|›d|›d)«|d*«|d+«|«|d,«|dk(r|d-«|rA|d.|j+|jd/d0«z«|D] }|d|z«Œ|d1«n"|D] }|d|z«Œ|d2«|d3«|d«|d4«d5„}d6}g}g}d|z}t|j«D]Q\}    }
d }||
«rd7}d8}|
jd9||    fz|«}|j|«|jd:||    fz«ŒS|j}||«r?d|z}|jd;|«}|j-d|«tj.}d}d<}d8}|rƒd    j|«} | xsd
} | ›d|›d| ›d} |d|j| «›«|d«|r||«d    j|«}|d(|›|›d|›d)«|r|d=«|d«n|d>|›d?|›«|d@«|«ycc}    wcc}    w)ANrÚnoargrÚarg0rúargument of %sz x%dzx%drÚvoidr/r6Ú_cffi_d_rrLústatic rùzreturn r%r&rûz#ifndef PYPY_VERSIONzstatic PyObject *Ú_cffi_f_z(PyObject *self, PyObject *z  %s;ú;z    result = ú result of %sz resultz  PyObject *pyresult;z  PyObject *arg%d;z1  if (!PyArg_UnpackTuple(args, "%s", %d, %d, %s))z&arg%drúzarg%dz return NULLz  Py_BEGIN_ALLOW_THREADSz  _cffi_restore_errno();ú  { z); }z  _cffi_save_errno();z  Py_END_ALLOW_THREADSz  (void)self; /* unused */z  (void)noarg; /* unused */z  pyresult = %s;Úresultz result typez  return pyresult;z  Py_INCREF(Py_None);z  return Py_None;rñcó’—t|tj«xs,t|tj«xr|j    «Sr)rŽrr™Ú PrimitiveTyper')rs rÚneed_indirectionz@Recompiler._generate_cpy_function_decl.<locals>.need_indirections=€Ü˜t¤U×%8Ñ%8Ó9ò-Ü ¤e×&9Ñ&9Ó:ò,Ø×)Ñ)Ó+ð .rFrTz %sx%dz%sx%dz *resultz
*result = z  return result;z#  define _cffi_f_z     _cffi_d_rò)rqrŽrr“rZÚ_generate_cpy_constant_declrÙr1rr›rŒr*rOÚabirgrrÏr:rˆrr5rDÚinsertÚ    void_type)rrrr
ÚnumargsÚargnameÚ    argumentsÚcall_argumentsrCr¢rÚrepr_argumentsrlÚname_and_argumentsÚ result_codeÚargr8r9róÚ result_declÚrngÚfreelinerjÚ
differenceÚ indirectionÚ    tp_results                          rÚ_generate_cpy_function_declz&Recompiler._generate_cpy_function_decl™s €Ø×(Ò(Ð(Ð(ܘ"œe×3Ñ3Ô4Ð4Ð4Ø ;Š;ð × ,Ñ ,¨R°Ô 6Ø Øz‰zˆÜb—g‘g“,ˆØ aŠ<؉GØ ˜Š\؉GàˆGðˆ    ØˆØ" TÑ)ˆÜ  §¡Ó)ò    -‰GˆAˆtØ × Ñ ˜TŸ_™_¨V°a©Z¸ÓAÔ BØ × !Ñ ! %¨!¡)Õ ,ð    -🙠9Ó-ˆØ'Ò1¨6ˆØ 6Š6Ø—&‘&˜3‘,‰CàˆCÚ36ººnÐMÐÚ ˜BŸI™I×0Ñ0Ð1CÔDÐ FÔGÙ ˆSŒ    ØŸ™ >Ó2ˆØˆ Ü b—i‘i¤§¡Ô 0؈KÚ ™kª4²Ð @ÔAÙ ˆSŒ    á Ð #Ô$á Ð  Ô!Ú º4ÂÐ IÔJÙ ˆSŒ    à" TÑ)ˆÜ  §¡Ó)ò     ‰GˆAˆtØ—/‘/ &¨1¡*¨gÓ6ˆCÙ ˜3‘Õ ð     ô“Eˆ    Ü“Eˆ    Ø—G‘Gò    DˆDØ × 'Ñ '¨¨i¸Õ Cð    Dä˜9Ó%ò    $ˆDÚ šDÐ"Õ #ð    $ô˜"Ÿ)™)¤U§^¡^Ô4Ø%ˆKØ$ tÑ+ˆGØ! B§I¡I×$8Ñ$8¸ÀGÓ$LÑLˆKÙ Ô Ù Ð(Õ )àˆK؈Kä ˆrw‰w‹<˜!Ò Üœ˜BŸG™G› Ó%ˆCØò /ÙÐ)¨AÑ-Õ.ð /á ŒFÙ ÐDØ”c˜#“h¤ C£Ø—    ‘    °Ö5¨A˜8 a›<Ò5Ó6ðH8ñ8ô 9ñ Ð#Ô $Ù Œä  §¡Ó)ò    ‰GˆAˆtØ × &Ñ & t¨W°q©[¸%À!¹)Ø'4ô 6á Fð    ñ
     Ð 'Ô(Ù Ð 'Ô(Ü-2´3°r·w±w³<Ó-@ÖA¨˜% !›)ÐAˆÐAØŸ™ >Ó2ˆÚ ¡+ªt²^Ð DÔEÙ Ð $Ô%Ù Ð %Ô&Ù Œá Ð )Ô*Ø aŠ<Ù Ð.Ô /Ù Ù Ð#Ø×*Ñ*¨2¯9©9°hÀ ÓNñOô Pà%ò &ÙT˜H‘_Õ%ð &á Ð%Õ &à%ò &ÙT˜H‘_Õ%ð &á Ð(Ô )Ù Ð$Ô %Ù ˆSŒ    á ˆWŒ ò     .ðˆ
؈    ØˆØ" TÑ)ˆÜ  §¡Ó)ò    >‰GˆAˆt؈KÙ Ô%Ø! Ø!
Ø—/‘/ (¨k¸1Ð-=Ñ"=¸wÓGˆCØ × Ñ ˜SÔ !Ø × !Ñ ! '¨[¸!Ð,<Ñ"<Õ =ð    >ð—I‘Iˆ    Ù ˜IÔ &Ø$ tÑ+ˆGØ×&Ñ& z°7Ó;ˆCØ × Ñ ˜Q Ô $ÜŸ™ˆI؈KØ&ˆK؈JÙ Ø!ŸY™Y yÓ1ˆNØ+Ò5¨vˆNÚ7:ºDÚ7Eð"GÐ â      × 4Ñ 4Ð5GÔ HÐJÔ KÙ ŒIÙِ[Ô!Ø!ŸY™Y ~Ó6ˆNÚ ¡k²4ºÐHÔ IÙÙÐ'Ô(Ù Iâ ²d¹DÐAÔ Bá ˆXŒÙ ùòg6ùòBs Ì+ XÏ Xc
ó–—|jr|js|j||«y|j|j    «}t |j «}|jrt}n|dk(rt}n|dk(rt}nt}|jdjt|d|zt||«d|z¬««y)NrrrÄz
_cffi_f_%sz
_cffi_d_%s)r)rZrqÚ_generate_cpy_constant_ctxr†r¬r1rÚOP_DLOPEN_FUNCÚOP_CPYTHON_BLTN_NÚOP_CPYTHON_BLTN_OÚOP_CPYTHON_BLTN_VrÍrŒr rž)rrrrBroÚ    meth_kinds      rÚ_generate_cpy_function_ctxz%Recompiler._generate_cpy_function_ctx;s­€Ø ;Š;˜t×4Ò4Ø × +Ñ +¨B°Ô 5Ø Ø—_‘_ R×%7Ñ%7Ó%9Ñ:ˆ
ܐb—g‘g“,ˆØ ×  Ò  Ü&‰IØ ˜Š\Ü)‰IØ ˜Š\Ü)‰Iä)ˆIØ 
‰
8Ñ×#Ñ#Ü t˜\¨DÑ0ܘi¨Ó4Ø(¨4Ñ/ô 1õ    2rcóü—t|tj«ra|j}|dk(r|j    d«}d|›d|›d}|j |d|z|j «}tj||«}|S)Nú...rz_cffi_array_len(((ú)0)->rLú%s[0])rŽrr?r•r*r°r)rÚ    tp_structÚ
field_nameÚtp_fieldÚ actual_lengthÚptr_struct_nameÚtp_items       rr°zRecompiler._field_typeQsr€Ü h¤§¡Ô 0Ø$ŸO™OˆMØ Ò%Ø"+×"6Ñ"6°sÓ";‘â#¢Zð!1 à×&Ñ& y°'¸JÑ2FØ'/§}¡}ó6ˆGä—‘ w° Ó>ˆH؈rcóŒ—|j|«|jr'|j«D]}|j|«Œyyr)r«rqÚanonymous_struct_fieldsÚ_struct_collecttype)rrÚfldtypes   rr’zRecompiler._struct_collecttype]sD€Ø ×јbÔ!Ø ×  Ò  à×5Ñ5Ó7ò 2Ø×(Ñ(¨Õ1ñ 2ð !rc
ó—|j€y|j}d|›}|d«|d|›d|›d«|d«|d«|d«|j|«D]Ö\}}}}        |j«s|d    k\r|d
k7r|d |›d |›d |›d«Œ6t    |t
j «rc|j|jdk(rH|j}|dz}t    |t
j «r|j€Œ8|jdk(rŒH|d|jdd|z|    ¬«›d|›d«ŒØ|d«|d|›d|›d«|«y#t$r}
|dt|
«z«Yd}
~
Œd}
~
wwxYw)NÚ_cffi_checkfld_Ú_CFFI_UNUSED_FNz static void rz *p)rùz8  /* only to generate compile-time warnings or errors */z
  (void)p;rr6z   (void)((p->z) | 0);  /* check that 'rîz' is an integer */r‡z[0]rfz*tmpzfield %r©rÀz = &p->z; (void)tmp; }z
  /* %s */rûzstruct _cffi_align_z  { char x; z y; };) r­rÙr¨r(rŽrr?r•rr*rr‰) rrr3rSr
Ú checkfuncnameÚfnameÚftyper,ÚfqualrÃs            rÚ _struct_declzRecompiler._struct_decldsq€Ø ;‰;Ð Ø Øz‰z‰Ù/9Ð;ˆ Ù Ð ÔÚ ª ²uÐ =Ô>Ù ˆSŒ    Ù Ð GÔHÙ ˆ\ÔØ-1×->Ñ->¸rÓ-Bò    ,Ñ )ˆE5˜( Eð ,Ø×(Ñ(Ô*¨h¸!ªmà ’{ÚÚ05²uºeðEôFàô" %¬¯©Ô9Ø!ŸL™LÐ0°E·L±LÀEÒ4IØ!ŸJ™JEØ! E™MEô" %¬¯©Ô9Ø!ŸL™LÑ0°E·L±LÀEÓ4IòØ×$Ñ$ V¨Z¸Ñ-=ÀUÐ$ÕKÚðõð    ,ñ(     ˆSŒ    Ú º:ÂuÐ MÔNÙ øô    %ò ,ِ\¤C¨£FÑ*×+Ò+ûð ,ús+Á(,EÂA,EÄEÄ$EÅ    E?Å E:Å:E?Ncóž—|j|}d}g}t|tj«r|j    d«|j
€|j    d«d}||j jjvr°|"||j jjvrŒ|j
€n7|jst|j««rn|j    d«|jrO|jdkDrt|›d|j›d«‚|j    d«n|j    d    «d
}d j|«xsd }g}|€–t|j!|««}    |    D]\}
} } } |j#||
| «} |j%| d |j&›d|
›d«t(}| dk\r t*}d| z}nQ|&t| tj,«r| j.€d}n&d|€|j1d«n |j&›d|
›d}|| dk\rd}n.|d|j&›d|
›d}nd|j1d«›d|
›d}|j    t3|
||| t5||j| «««Œt7|j8d«}|j8dj;|«|€d}d}d }n,|d!|j&›d"}d#}n d$|›d}d%|›d&}d}nd}d'}d'}|}|j8d(j    t=|j&|||||||««|j>jA|«y))NÚ _CFFI_F_UNIONÚ_CFFI_F_OPAQUEÚopaqueÚ_CFFI_F_CHECK_FIELDSrz is declared with 'pack=zi'; only 0 or 1 are supported in API mode (try to use "...;", which does not require a 'pack' declaration)Ú_CFFI_F_PACKEDÚ_CFFI_F_EXTERNALÚexternalú|Ú0zfield 'rîr8rz %d /* bits */z
(size_t)-1z    sizeof(((rrˆrLz(size_t)(((char *)&((z)4096)->z) - (char *)4096)z    offsetof(r6rrÅz
(size_t)-2éþÿÿÿÚunnamedz    sizeof(*(z)0)z-1 /* unknown alignment */zsizeof(zoffsetof(struct _cffi_align_z, y)rïrÆ)!r†rŽrÚ    UnionTyperŒr­ror®r¯ÚpartialÚanyr‘Úpackedr4rOrr¨r°Ú_check_not_opaquerr:r;r?r•r*r(ržr1rÍÚextendr@rÐr7)rrr3rSrTrBÚreason_for_not_expandingrCrGr¦Úfldnamer“r,r›r9rÚoffsetrFÚalignrEs                    rrUzRecompiler._struct_ctx†s9€Ø—_‘_ RÑ(ˆ
Ø#'Ð ØˆÜ bœ%Ÿ/™/Ô *Ø L‰L˜Ô )Ø ;‰;Ð Ø L‰LÐ)Ô *Ø'/Ð $Ø d—h‘h×&Ñ&×=Ñ=Ñ =ØÐ"Ø $§(¡(×"2Ñ"2×"IÑ"IÑI؏{‰{Ð"ØØ—’œs 2×#=Ñ#=Ó#?Ô@Øà— ‘ Ð3Ô4؏yŠyØ—9‘9˜q’=Ü-ò˜RŸY›Yð(ó)ð)ð
— ‘ Ð-Õ.à L‰LÐ+Ô ,Ø'1Ð $Ø—‘˜“Ò& 3ˆØˆØ #Ñ +ܘd×/Ñ/°Ó3Ó4ˆJØ5?ó EÑ1˜ (¨EØ×*Ñ*¨2¨w¸Ó@Ø×&Ñ&¡wØ:<¿'»'Â7Ð'KôMôØ˜q’=Ü$BØ*¨XÑ5‘Dؐ]Ü" 7¬E¯O©OÔ<ØŸ™Ð.Ø'‘Døð/8Ð.?˜Ÿ ™  cÔ*Ø09·±ñ?âð!Dð= H°¢MØ)‘FØÑ*à!Ÿ›ªð1‘Fð+ð46·=±=ÀÕ3DÂgÐNFØ—‘ܘg v¨t°XÜ$ R¨¯©¸Ñ)AÓBóDöEð3 Eô8!$ D§J¡J¨wÑ$7Ó 8Ð Ø J‰JwÑ × &Ñ & xÔ 0àˆ}Ø#ØØ#‘àÑ(Ø/8¯~«~Ð?DØ8‘Eð)ò,1Ð2‘DÚDNÐPEØ‘àˆD؈EØ "Ð Ø.ˆGØ 
‰
>Ñ"×)Ñ)Ü ˜BŸG™G Z°¸¸eÀWØ-¨xó 9ô    :ð     × Ñ ×$Ñ$ RÕ(rcóð—t|tj«r'|j}t|tj«rŒ't|tj«r|j
€t d|z«‚yy)Nz0%s is of an opaque type (not declared in cdef()))rŽrr?rr™r­rA)rrÚlocations   rr­zRecompiler._check_not_opaqueÜsb€Ü˜œUŸ_™_Ô-Ø—‘ˆBô˜œUŸ_™_Õ-ä bœ%×-Ñ-Ô .°2·;±;Ð3FÜØBÀXÑMóOð Oð4GÐ .rcó—t|jj««}|jd„¬«|D]Ë\}}||jvsŒ|j
rt d|›d«‚|jjd«r-|jddj«r|jdd}nA|jdk(r$|jdk(rd}|j|d«nt d|›«‚|j|d|«ŒÍy)    Ncó —|dS)Nrr&)Útp_orders rr‚z7Recompiler._add_missing_struct_unions.<locals>.<lambda>és
€ h¨q¡k€rrzzinternal inconsistency: z* is partial but was not seen at this pointú$rÚ_IO_FILEÚFILE) rr—r¸rÒrÐrªr4rÚ
startswithÚisdigitÚ    forcenamerOrU)rr¿rÚorderrSs     rrÑz%Recompiler._add_missing_struct_unionsãs÷€ô
4×&Ñ&×,Ñ,Ó.Ó/ˆØ ‰Ñ1ˆÔ2Øò    7‰IˆBØ˜×1Ñ1Ò1Ø—:’:Ý-â>@ð/CóDðDð—7‘7×%Ñ% cÔ*¨r¯w©w°q°r¨{×/BÑ/BÔ/DØ!#§¡¨¨ ‘JØ—W‘W 
Ò*¨r¯|©|¸vÒ/EØ!'JØ×%Ñ% b¨&Õ1å-Ù/1ð/4ó5ð5à× Ñ   T¨:Õ6ñ    7rcó&—|j|«yr)r’rGs   rÚ _generate_cpy_struct_collecttypez+Recompiler._generate_cpy_struct_collecttypeús€Ø × Ñ  Õ$rcób—|jd«}d|vr||jdd«fS|d|zfS)Nr6r/r´)r*r+)rrr3s   rÚ _struct_nameszRecompiler._struct_namesþs<€Ø— ‘ ˜bÓ!ˆØ %‰<ؘ%Ÿ-™-¨¨SÓ1Ð1Ð 1à˜# ™+Ð%Ð %rcóH—|j|g|j|«¢­Žyr)rœrÂrGs   rÚ_generate_cpy_struct_declz$Recompiler._generate_cpy_struct_decls"€Øˆ×ј"Ð6˜t×1Ñ1°"Ó5Ô6rcóH—|j|g|j|«¢­Žyr)rUrÂrGs   rÚ_generate_cpy_struct_ctxz#Recompiler._generate_cpy_struct_ctx    s"€Øˆ×јÐ5˜d×0Ñ0°Ó4Ô5rcó€—t|tj«r|j||«y|j    |«yr)rŽrršÚ_generate_cpy_enum_collecttyper’rGs   rÚ#_generate_cpy_anonymous_collecttypez.Recompiler._generate_cpy_anonymous_collecttypes.€Ü bœ%Ÿ.™.Ô )Ø × /Ñ /°°DÕ 9à × $Ñ $ RÕ (rcóˆ—t|tj«r|j|«y|j    ||d|z«y©NÚtypedef_)rŽrršÚ_generate_cpy_enum_declrœrGs   rÚ_generate_cpy_anonymous_declz'Recompiler._generate_cpy_anonymous_decls5€Ü bœ%Ÿ.™.Ô )Ø × (Ñ (¨Õ ,à × Ñ ˜b $¨
°TÑ(9Õ :rcóŠ—t|tj«r|j||«y|j    ||d|z«yrË)rŽrršÚ    _enum_ctxrUrGs   rÚ_generate_cpy_anonymous_ctxz&Recompiler._generate_cpy_anonymous_ctxs5€Ü bœ%Ÿ.™.Ô )Ø N‰N˜2˜tÕ $à × Ñ ˜R  z°DÑ'8Õ 9rcóö—||f|jvrtd|›d|›d«‚|jj||f«|j}d|›d|›}|r`|d|z«|d«|d|›d    «|d
|›d |›d «||d kDrd|fz}|d|›d«|d«|d«|d«n=|J‚|d|z«|d«|d|j    d«›d|›d«|d«|«y)Nzduplicate declaration of z 'r8Ú_cffi_r´z$static int %s(unsigned long long *o)rùz   int n = (z) <= 0;z  *o = (unsigned long long)((z) | 0);  /* check that z is an integer */rz%dUz  if (!_cffi_check_int(*o, n, z))z     n |= 2;z   return n;rûzstatic void %s(char *o)z  *(rz)o = rd)rrr7rÙr*)rÚis_intrrÚcategoryrr
Úfuncnames        rÚ_generate_cpy_constzRecompiler._generate_cpy_const&s €à dÐ ˜t×3Ñ3Ñ 3Ý#Ú6>ÂÐEóGð Gà ×Ñ× Ñ  (¨DÐ!1Ô2àz‰z‰Ú$,©dÐ3ˆÙ Ù Ð7¸(ÑBÔ CÙ ŒIÚ ª4Ð1Ô 2Ú Ú:>ÂðFô GàÐ&Ø ’?Ø"'¨;¨.Ñ"8KÚº[ÐJÔKِ]Ô#Ù Ô Ù IàÐ&Ð &Ð&Ù Ð*¨XÑ5Ô 6Ù ŒIÚ  R§]¡]°3Õ%7ºÐ>Ô ?Ù ŒIÙ rcód—|j«}|r |jr|j|«yyr)r(rqr«©rrrrÔs    rÚ"_generate_cpy_constant_collecttypez-Recompiler._generate_cpy_constant_collecttypeDs.€Ø×#Ñ#Ó%ˆÙ˜×.Ò.Ø × !Ñ ! "Õ %ð/rcóJ—|j«}|j|||«yr)r(r×rÙs    rrkz&Recompiler._generate_cpy_constant_declIs"€Ø×#Ñ#Ó%ˆØ × Ñ  ¨¨rÕ2rcó—|js!|j«rttd«}n4|jrt}nt
}|j |}t||«}|jdjt|d|z|««y)NrïrÄú_cffi_const_%s)
rqr(ržÚOP_CONSTANT_INTÚOP_DLOPEN_CONSTÚ OP_CONSTANTr†rÍrŒr )rrrrÚ
const_kindrBs      rrz%Recompiler._generate_cpy_constant_ctxMsy€Ø×$Ò$¨×);Ñ);Ô)=Üœ_¨bÓ1‰Gà×$Ò$Ü,‘
ä(
ØŸ™¨Ñ,ˆJܘZ¨Ó4ˆGØ 
‰
8Ñ×#Ñ#Ü tÐ-°Ñ4°gÓ >õ    @rcó&—|j|«yr)r«rGs   rrÈz)Recompiler._generate_cpy_enum_collecttype]s€Ø ×јbÕ!rcóJ—|jD]}|jd|«Œy)NT)Ú enumeratorsr×)rrrÚ
enumerators    rrÍz"Recompiler._generate_cpy_enum_decl`s%€ØŸ.™.ò    7ˆJØ × $Ñ $ T¨:Õ 6ñ    7rc    óЗ|j|}ttd«}|jr|j    «t |j |j«D]3\}}|jdjt|d|z||¬««Œ5|d|vr|js d|z}d|z}nh|j|jg«}    |jj|    «}tt|jj|    d««dk«}d    j!|j «}
|jd
jt#|j$||||
««y) NrïrÄrÝ©rr¸z
sizeof(%s)z ((%s)-1) <= 0rrKrÇ)r†ržÚOP_ENUMrqÚcheck_not_partialÚzipräÚ
enumvaluesrÍrŒr Úbuild_baseinttyperoÚsizeofÚintÚcastrOrSr) rrr3rBrråÚ    enumvaluerrVÚbasetprWs            rrÐzRecompiler._enum_ctxds6€Ø—_‘_ RÑ(ˆ
Üœ "Ó%ˆØ ×  Ò  Ø ×  Ñ  Ô "Ü%(¨¯©¸¿¹Ó%Gò    3Ñ !ˆJ˜    Ø J‰JxÑ  × 'Ñ 'ܘ:Ð'7¸*Ñ'DÀgØ'0ô2õ 3ð    3ð
Ð  ¨EÑ!1¸$×:OÒ:OØ %Ñ'ˆDØ$ uÑ,‰Fà×)Ñ)¨$¯(©(°BÓ7ˆFØ—8‘8—?‘? 6Ó*ˆDÜœ˜TŸX™XŸ]™]¨6°2Ó6Ó7¸!Ñ;Ó<ˆFØ—8‘8˜BŸN™NÓ+ˆØ 
‰
6Ñ×!Ñ!Ü R—W‘W˜j¨$°¸Ó Aõ    CrcóD—|j||j««yr)rÐrrGs   rÚ_generate_cpy_enum_ctxz!Recompiler._generate_cpy_enum_ctxys€Ø ‰r˜2Ÿ>™>Ó+Õ,rcó—yrr&rGs   rÚ_generate_cpy_macro_collecttypez*Recompiler._generate_cpy_macro_collecttyperMrcó@—|dk(rd}n|}|jd||¬«y)Nr‡Trç)r×)rrrrs    rÚ_generate_cpy_macro_declz#Recompiler._generate_cpy_macro_decl‚s(€Ø Š;؉KàˆKØ × Ñ   t¸Ð ÕErcóʗ|dk(r|jrtd|›d«‚d}n|}ttd«}|jdj t |d|z||¬««y)Nr‡z(cannot use the syntax '...' in '#define z ...' when using the ABI moderïrÄrÝrç)rqrržrÞrÍrŒr )rrrrrs     rÚ_generate_cpy_macro_ctxz"Recompiler._generate_cpy_macro_ctx‰sm€Ø Š;Ø×$Ò$Ý'â,0ð3ó4ð4ð‰KàˆKÜœ¨"Ó-ˆØ 
‰
8Ñ×#Ñ#Ü tÐ-°Ñ4°gØ#.ô 0õ    1rcóҗt|tj«rL|j}|dk(rd|›d}|j    |j
d|z«}tj||«}|S)Nr‡z_cffi_array_len(rLr‰)rŽrr?r•rFr)rrÚ global_namerrs     rrFzRecompiler._global_typešsY€Ü bœ%Ÿ/™/Ô *ØŸI™IˆMØ Ó%Ú9DРF Ø×'Ñ'¨¯©°¸;Ñ1FÓGˆGÜ—‘ ¨-Ó8ˆB؈    rcóF—|j|j||««yr)r«rFrGs   rÚ"_generate_cpy_variable_collecttypez-Recompiler._generate_cpy_variable_collecttype£s€Ø ×јd×/Ñ/°°DÓ9Õ:rcóR—|j}|j||«}t|tj«r|j
€|j }d}nd}d|›d}|d|j||j¬«z«|d«|d|›d    |›d
«|d «|«y) Nr6ú&z *_cffi_var_rýrbr—rùz      return rr&rû)    rÙrFrŽrr?r•rr*r»)rrrr
Ú    ampersandrós      rÚ_generate_cpy_variable_declz&Recompiler._generate_cpy_variable_decl¦s’€Øz‰zˆØ × Ñ ˜r 4Ó (ˆÜ bœ%Ÿ/™/Ô *¨r¯y©yÐ/@Ø—‘ˆB؉IàˆIøò)-Ð.ˆÙ ˆY˜Ÿ™ t°4×3FÑ3F˜ÓGÑ GÔHÙ ˆSŒ    Ú ¢9ªdÐ 3Ô4Ù ˆSŒ    Ù rc
óä—|j||«}|j|}|jrt}nt}|j
dj t|d|zt||«««y)NrÄz _cffi_var_%s)    rFr†rqÚ OP_GLOBAL_VARÚOP_GLOBAL_VAR_FrÍrŒr rž)rrrrBr9s     rÚ_generate_cpy_variable_ctxz%Recompiler._generate_cpy_variable_ctx½se€Ø × Ñ ˜r 4Ó (ˆØ—_‘_ RÑ(ˆ
Ø ×  Ò  Ü‰Bä ˆBØ 
‰
8Ñ×#Ñ#Ü t˜^¨dÑ2´F¸2¸zÓ4JÓ Kõ    Mrcó^—t|tj«sJ‚|j|«yr)rŽrr“r«rGs   rÚ'_generate_cpy_extern_python_collecttypez2Recompiler._generate_cpy_extern_python_collecttypeÊs&€Ü˜"œe×3Ñ3Ô4Ð4Ð4Ø ×јbÕ!rc    óº—|j}t|jtj«rd}n%d|z}d|jj d|«›d}|d|z«|d|j ›d|›d    |›d
«|«g}d |z}t|j«D]+\}}    |    j d |z|«}
|j|
«Œ-d j|«} | xsd} |›d| ›d} |jdk(rd| z} d„} tt|j«dzd«}| |j«r t|d«}t|jtj«r;d|jj d«||jj d«|fz}||›|jj | «›«|d«|d|z«|d«t|j«D]f\}}    d|z}
t|    tj«s| |    «rd|
z}
tj|    «}    |d|    j d«|dz|
fz«Œh|d|z«t|jtj«s%|d|jj d«›d«|d «|«|xj d!z c_y)"Nr¦rez (int)sizeof(r6rLz3static struct _cffi_externpy_s _cffi_externpy__%s =rrîr0z    , 0, 0 };r_z a%drr`rÚ    __stdcallz_cffi_stdcall cóX—t|tj«xr|jdk(S)Nr=)rŽrrirr€s rÚmay_need_128_bitsz9Recompiler._extern_python_decl.<locals>.may_need_128_bitsês(€Ü˜r¤5×#6Ñ#6Ó7ò-Ø—G‘G˜}Ñ,ð .rr\éz!sizeof(%s) > %d ? sizeof(%s) : %drùz   char a[%s];z  char *p = a;za%drÿz  *(%s)(p + %d) = %s;rz,  _cffi_call_python(&_cffi_externpy__%s, p);z   return *(z)p;rûr)rÙrŽrgrrr*rpr›rrŒrOrlrur1r™r‘r    )rrrÚ tag_and_spacer
Úsize_of_resultrCrqr¢rrvrsrtr Ú    size_of_as               rÚ_extern_python_declzRecompiler._extern_python_declÑs€Øz‰zˆÜ b—i‘i¤§¡Ô 0Ø ‰Nà$ tÑ+‰Gà—    ‘    ×$Ñ$ R¨Õ1ð4ˆNá Ð BÀTÑ IÔJÚ Ø × Ó šd¢Nð4ô    5á Œàˆ    Ø" TÑ)ˆÜ  §¡Ó)ò    "‰GˆAˆtØ—/‘/ &¨1¡*¨gÓ6ˆCØ × Ñ ˜SÕ !ð    "🙠9Ó-ˆØ'Ò1¨6ˆÚ)-ª~Ð>ÐØ 6‰6[Ò  Ø!1Ð4FÑ!FÐ ò    .ôœ˜BŸG™G›  Q™¨Ó*ˆ    Ù ˜RŸY™YÔ 'ܘI rÓ*ˆIÜ b—i‘i¤×!4Ñ!4Ô 5Ø;Ø—    ‘    ×$Ñ$ RÓ(¨)Ø—    ‘    ×$Ñ$ RÓ(¨)ð?5ñ5ˆIñ     ‘} b§i¡i×&:Ñ&:Ð;MÔ&NÐ OÔPÙ ˆSŒ    Ù ˆ_˜yÑ (Ô)Ù Ð ÔÜ  §¡Ó)ò    M‰GˆAˆtؘ!‘)ˆCܘ4¤×!4Ñ!4Ô5Ù% dÔ+ؘC‘iÜ×(Ñ(¨Ó.Ù Ð(¨D¯O©O¸CÓ,@À!ÀAÁ#ÀsÐ+KÑKÕ Lð     Mñ     Ð ;¸dÑ BÔCܘ"Ÿ)™)¤U§^¡^Ô4Ú  r§y¡y×';Ñ';¸CÕ'@ÐBÔ CÙ ˆSŒ    Ù ŒØ ×Ò˜aÑÖrcó*—|j||d«y)Nrb©rrGs   rÚ _generate_cpy_extern_python_declz+Recompiler._generate_cpy_extern_python_decls€Ø × Ñ   T¨9Õ5rcó*—|j||d«y)NzCFFI_DLLEXPORT rrGs   rÚ#_generate_cpy_dllexport_python_declz.Recompiler._generate_cpy_dllexport_python_decl
s€Ø × Ñ   TÐ+<Õ=rcó*—|j||d«y)Nr6rrGs   rÚ'_generate_cpy_extern_python_plus_c_declz2Recompiler._generate_cpy_extern_python_plus_c_decl s€Ø × Ñ   T¨2Õ.rcóø—|jr td«‚|jr td«‚|j|}t t |«}|jdjt|d|z||««y)Nz,cannot use 'extern "Python"' in the ABI modez$a vararg function is extern "Python"rÄz&_cffi_externpy__%s)
rqrrZr4r†ržÚOP_EXTERN_PYTHONrÍrŒr )rrrrBrs     rÚ_generate_cpy_extern_python_ctxz*Recompiler._generate_cpy_extern_python_ctxsw€Ø ×  Ò  Ü#Ø@óBð Bà ;Š;Ü%Ð&NÓOÐ OØ—_‘_ RÑ(ˆ
ÜÔ)¨:Ó6ˆØ 
‰
8Ñ×#Ñ#Ü tÐ2°TÑ9¸7ÀDÓ Iõ    Krcó—|j}|d«t|t«s|jd«}n|j    d«    |j    d«|j d«D]}|}td«turtt|«}nt|«dd}|d    |zj««d
}|D]#}t|«d k\r
||«d
}|d |fzz }Œ%||«Œy#t
$rd|z}YŒ¤wxYw) Nz=// # NB. this is not a string because of a size limit in MSVCzutf-8Úasciis# -*- encoding: utf8 -*-
Tz//rrïz// r6éLz%d,) rÙrŽÚbytesÚencodeÚdecodeÚUnicodeDecodeErrorÚ
splitlinesrÚmapÚordrÚrstripr1)rÚsr
ÚlinerEÚ printed_lineÚcs       rrz)Recompiler._print_string_literal_in_arrays    €Øz‰zˆÙ Ð LÔMܘ!œUÔ#Ø—‘˜Ó!‰Aà H‰HWÔ ð    2Ø H‰HWÔ ð—L‘L Ó&ò    ˆD؈GܐD‹zœUÑ"Üœ3 “~‘ô  ›.¨¨2Ð.Ù %˜'‘/×)Ñ)Ó+Ô ,؈LØò -Ü|Ó$¨Ò*Ù˜Ô&Ø#%LØ ¨¨¡ Ñ,‘ ð     -ñ
Õ ñ    øô"ò    2Ø-°Ñ1ŠAð    2úsÁ    C.Ã.C?Ã>C?cóF—ttt«|j|<yr)ržÚ OP_PRIMITIVEÚ    PRIM_VOIDrŠ©rrrs   rÚ_emit_bytecode_VoidTypez"Recompiler._emit_bytecode_VoidType=s€Ü!'¬ ´iÓ!@ˆ‰˜Òrcód—t|j}tt|«|j|<yr)ÚPRIMITIVE_TO_INDEXrržr+rŠ)rrrres    rÚ_emit_bytecode_PrimitiveTypez'Recompiler._emit_bytecode_PrimitiveType@s%€Ü'¨¯©Ñ0ˆ
Ü!'¬ °jÓ!Aˆ‰˜Òrcó’—d|j›d|j›d|j›d}tt|«|j|<y)Nz_cffi_prim_int(sizeof(z), (
           ((z)-1) | 0 /* check that z' is an integer type */
         ) <= 0)©rržr+rŠ©rrrr&s    rÚ!_emit_bytecode_UnknownIntegerTypez,Recompiler._emit_bytecode_UnknownIntegerTypeDs5ð$&§7£7¨B¯G«G°R·W³Wð>ˆô"(¬ °aÓ!8ˆ‰˜Òrcóx—d|j›d|j›d}tt|«|j|<y)Nz_cffi_prim_float(sizeof(z) *
           (((z6)1) / 2) * 2 /* integer => 0, float => 1 */
         )r3r4s    rÚ_emit_bytecode_UnknownFloatTypez*Recompiler._emit_bytecode_UnknownFloatTypeJs/ð ŸW›W b§g£gð/ˆô"(¬ °aÓ!8ˆ‰˜Òrcó4—tt|j|j«|j|<|dz }|j
D]e}|j|}||k7rJt |tj«r|j||«ntt|«|j|<|dz }Œgt|j«}|j-|jdk(r|dz}ntd|j›«‚tt|«|j|<y)Nrr    rZzabi=)ržÚ OP_FUNCTIONr†rgrŠrrŽrrir1r:rîrZrlr4ÚOP_FUNCTION_END)rrrr¡Ú    realindexrCs      rÚ_emit_bytecode_RawFunctionTypez)Recompiler._emit_bytecode_RawFunctionTypePsê€Ü!'¬ °T·_±_ÀRÇYÁYÑ5OÓ!Pˆ‰˜ÑØ ‰
ˆØ—7‘7ò    ˆCØŸ™¨Ñ,ˆIؘ    Ò!ܘc¤5×#6Ñ#6Ô7Ø×5Ñ5°c¸5ÕAä-3´G¸YÓ-GD—O‘O EÑ*Ø Q‰J‰Eð    ôB—K‘KÓ ˆØ 6‰6Р؏v‰v˜Ò$ؘ‘
‘å)°b·f²fÐ*>Ó?Ð?Ü!'¬¸Ó!?ˆ‰˜Òrcól—tt|j|j«|j|<yr)ržÚ
OP_POINTERr†rWrŠr-s   rÚ_emit_bytecode_PointerTypez%Recompiler._emit_bytecode_PointerTypecs$€Ü!'¬
°D·O±OÀBÇIÁIÑ4NÓ!Oˆ‰˜Òrcóx—|j«}tt|j|«|j|<yr)r¬ržr>r†rŠ)rrrÚraws    rÚ_emit_bytecode_FunctionPtrTypez)Recompiler._emit_bytecode_FunctionPtrTypeis.€Ø× Ñ Ó"ˆÜ!'¬
°D·O±OÀCÑ4HÓ!Iˆ‰˜Òrcó¾—|j|j}|j€tt|«|j
|<y|jdk(r(t dt|«jdd«›d«‚|j
|dzdk(sJ‚tt|«|j
|<tdt|j««|j
|dz<y)Nr‡ztype z/*...*/zb badly placed: the '...' array length can only be used on global arrays or on fields of structuresrr})
r†rr•ržÚ OP_OPEN_ARRAYrŠrr‰r+ÚOP_ARRAY)rrrÚ
item_indexs    rÚ_emit_bytecode_ArrayTypez#Recompiler._emit_bytecode_ArrayTypems¸€Ø—_‘_ R§W¡WÑ-ˆ
Ø 9‰9Ð Ü%+¬M¸:Ó%FˆDO‰O˜EÒ "Ø Y‰Y˜%Ò Ý#ô˜“G—O‘O I¨uÕ5ð8ó9ð 9ð
—?‘? 5¨1¡9Ñ-°Ò6Ð 6Ð6Ü%+¬H°jÓ%AˆDO‰O˜EÑ "Ü)/°´c¸"¿)¹)³nÓ)EˆDO‰O˜E A™IÒ &rcó\—|j|}tt|«|j|<yr)r—ržÚOP_STRUCT_UNIONrŠ)rrrÚ struct_indexs    rÚ_emit_bytecode_StructTypez$Recompiler._emit_bytecode_StructType{s'€Ø×*Ñ*¨2Ñ.ˆ Ü!'¬¸Ó!Fˆ‰˜Òrcó\—|j|}tt|«|j|<yr)r˜ržrèrŠ)rrrÚ
enum_indexs    rÚ_emit_bytecode_EnumTypez"Recompiler._emit_bytecode_EnumType€s$€Ø—[‘[ ‘_ˆ
Ü!'¬°Ó!<ˆ‰˜Òr©F)r6r)NÚconstN)Vr#r$r%r    rrwr¤r¨r«r‡rÎrÓrÙrßrìrÜrrÛrr5r:r-rDrHrJrLrOrXr[r}r…r°r’rœrUr­rÑrÀÚ_generate_cpy_union_collecttyperÂrÄÚ_generate_cpy_union_declrÆÚ_generate_cpy_union_ctxrÉrÎrÑr×rÚrkrrÈrÍrÐrórõr÷rùrFrýrrrÚ*_generate_cpy_dllexport_python_collecttypeÚ._generate_cpy_extern_python_plus_c_collecttyperrrrrÚ"_generate_cpy_dllexport_python_ctxÚ&_generate_cpy_extern_python_plus_c_ctxrr.r1r5r7r<r?Ú_emit_bytecode_ConstPointerTypeÚ_emit_bytecode_NamedPointerTyperBrGrKÚ_emit_bytecode_UnionTyperNr&rrrmrm~sà„Ø€Mó%ò 0ò81òt    <ò-ò&ò&H€Iò,ó>#ò2òò kòZ"ò0òh%ò+(òZKò ò*òF=ò<ò òFò+ò&ò
`òD2ò,
ò2ò óDT)òlOò7ò.%à&FÐ#ò&ò7à8Ðò6à6Ðò )ò ;ò :ðCJØ(,óò<&ò
3ò @ò "ó7òCò*-ò  òFò 1ò"ò;òò.Mò"ð
.ð.Ð.Ø4ò4 òl6ò>ò/ò    Kð&ð&Ð&Ø,òò<AòBò9ò 9ò @ò&Pð'AÐ#Ø&@Ð#òJò FòGð 9Ðó=rrm)r    có‡—eZdZˆfd„ZˆxZS)ÚNativeIOcón•—t|t«r|jd«}tt||«y)Nr)rŽÚunicoderÚsuperr\r×)rr&rs  €rr×zNativeIO.write‰s*ø€Ü˜!œWÔ%Ø—H‘H˜WÓ%Ü ”(˜DÑ '¨Õ *r)r#r$r%r×Ú __classcell__)rs@rr\r\ˆs ø„÷    +ð    +rr\có—t|d«S)Nr×)Úhasattr)Ú    maybefiles rÚ _is_file_likerdŽs€ä 9˜gÓ &Ð&rcó—|rtd|›«t|||du¬«}|j«|j«t    |«r|j ||«yt «}|j ||«|j«}    t|d«5}|jt|«dz«|k7rt‚    ddd«|r td«y#1swYŒxYw#t$r¡d|tj«fz}    t|    d    «5}|j|«ddd«n #1swYnxYw    tj|    |«Yy#t $r/tj"|«tj|    |«YYywxYwwxYw)
Nz generating )rqTrárz(already up-to-date)Fz%s.~%dÚw)Úprintrmr¤rÓrdrßr\ÚgetvaluerâÚreadr1ÚIOErrorrãÚgetpidr×ÚrenameÚOSErrorÚunlink)
rorprÞÚ target_fileÚverboseÚ
recompilerrÝÚoutputÚf1Útmp_files
          rÚ_make_c_or_py_sourceru’sn€ÙÝ ¡Ð.Ô/ܘC Ø.6¸$Ð.>ôA€Jà×!Ñ!Ô#Ø×"Ñ"Ô$ܐ[Ô!Ø×$Ñ$ [°(Ô;ØÜ‹
€AØ× Ñ   HÔ-Ø Z‰Z‹\€FðÜ +˜sÓ #ð     r؏w‰w”s˜6“{ Q‘Ó'¨6Ò1ܐ ð2÷    ñ Ü Ð(Ô )Ø÷     ð    ûô ò    Ø˜{¬B¯I©I«KÐ8Ñ8ˆÜ (˜CÓ  ð     BØ H‰HVÔ ÷    ÷    ñ    úð    -Ü I‰Ih  Ô ,ñøôò    -Ü I‰IkÔ "Ü I‰Ih  Õ ,Ùð    -úð     úsZ C"Â'CÃC"ÃCÃC"Ã".F ÄD+Ä"    F Ä+D4    Ä0F Ä8EÅ4FÆF ÆFÆF có(—|€J‚t|||||«Sr©ru)rorprÞÚ target_c_filerps     rÚ make_c_sourcery±s&€Ø Ð ÐÐ Ü   [°(¸MØ 'ó )ð)rcó —t||d||«Srrw)rorpÚtarget_py_filerps    rÚmake_py_sourcer|¶s€Ü   [°$¸Ø 'ó )ð)rcó—|jd«}    tjtjj|g|dd¢­Ž«|dxx|z cc<tjj|g|¢­Ž|fS#t
$rYŒ:wxYw)Nrîrï)r¹rãÚmakedirsrärOrm)Ú    outputdirÚmodnameÚ    extensionÚpartss    rÚ_modname_to_filerƒºsz€Ø M‰M˜#Ó €Eð Ü
 ‰ ”B—G‘G—L‘L Ð8¨U°3°B¨ZÒ8Ô9ð
ˆ"ƒIÑƒIÜ 7‰7<‰<˜    Ð * EÒ *¨EÐ 1Ð1øô ò Ù ð ús“6A8Á8    BÂBcó`—t||«}|j|||f«t|||«|Sr)rœrŒÚsetattr)Ú    patchlistÚclsrÚnew_methÚolds     rÚ _patch_methrŠÈs4€Ü
#tÓ
€CØ ×ѐc˜4 Ð%Ô&Ü ˆCxÔ Ø €JrcóF—t|«D]\}}}t|||«Œyr)Úreversedr…)r†r‡rÚold_meths    rÚ_unpatch_methsrŽÎs)€Ü'¨    Ó2ò%шˆT8ܐT˜8Õ$ñ%rcó´‡—tjdk(rddlm}|t    ||dd„«tjdk(rddlm}ˆfd„}t    ||d    |«Šyy)
Nrr)Ú MSVCCompilerÚ_remove_visual_c_refcó—|Srr&)rÚ manifest_files  rr‚z&_patch_for_embedding.<locals>.<lambda>Ús€°M€rÚdarwin)Ú    CCompilercóÀ•—d|jvrDt|j«|_|jjd«}d|j|<‰|g|¢­i|¤ŽS)Nz-bundlez -dynamiclib)Ú    linker_sorr)rrÚkwdsr¢Úold_link_shared_objects    €rÚmy_link_shared_objectz3_patch_for_embedding.<locals>.my_link_shared_objectßsVø€Ø˜DŸN™NÑ*Ü!% d§n¡nÓ!5”Ø—N‘N×(Ñ(¨Ó3Ø$1—‘˜qÑ!Ù)¨$Ð>°Ò>¸Ñ>Ð >rÚlink_shared_object)ÚsysÚplatformÚcffi._shimmed_dist_utilsrrŠr•)r†rr•ršr™s    @rÚ_patch_for_embeddingrŸÒs`ø€Ü
‡||wÒõ    :Ø Ð #Ü ˜     <Ð1GÙAô Cô ‡||xÒå6ô    ?ô "-¨Y¸    Ø-AØ-Bó"DÑð rcó·—ddlm}‰jd«r<‰ddŠtjdk(r‰dz Šntjdk(r‰dz Šn‰d    z Št ||d
ˆfd „«y) Nr)Ú    build_extz.*r§rz.dllr”z.dylibz.soÚget_ext_filenamecó•—‰Srr&)rÚext_nameÚtargets  €rr‚z#_patch_for_target.<locals>.<lambda>÷sø€ v€r)ržr¡ÚendswithrœrrŠ)r†r¥r¡s ` rÚ_patch_for_targetr§ésfø€Ý2ð‡tÔØ˜˜ˆÜ <‰<˜7Ò "Ø fÑ ‰FÜ \‰\˜XÒ %Ø hÑ ‰Fà e‰OˆFܐ    ˜9Ð&8Û-õ/rc  óú—t|t«s|jd«}|jr|j    | «|m|rt |«r t d«‚|jdu} | r|j| «|€5t|||«\}}|r|g|z}tjj|Ž}n|}|    €
| rd|z}    nd}    | rtj||fi| ¤Ž}nd}t|||||¬«}|r½g}tj «}    | r t#|«|    dk7r t%||    «|r7|dk(rd}nd}t'|›d    tjj)|«›«tj*|«tj,d|||
«}tj*|«t/|«|S||fS|€t||d
«\}}t1||||¬«}|r|Sd|fS#tj*|«t/|«wxYw) NrzGWriting to file-like objects is not supported with call_c_compiler=Truez%s.*r)rprîzthe current directory isz setting the current directory tor/z.py)rŽr‰rÚ_windows_unicodeÚ_apply_windows_unicoderdrArÿÚ_apply_embedding_fixrƒrãrärOrÚ get_extensionryÚgetcwdrŸr§rgÚabspathÚchdirÚcompilerŽr|)rorprÞÚtmpdirÚcall_c_compilerÚc_fileÚsource_extensionÚextradirÚcompiler_verboser¥ÚdebugÚuses_ffiplatformr˜Ú    embeddingr‚Ú
ext_c_fileÚextÚupdatedr†ÚcwdÚmsgÚoutputfilenamer´s                       rÚ    recompilerÀús€ô k¤3Ô 'Ø!×(Ñ(¨Ó1ˆ Ø
×ÒØ ×"Ñ" 4Ô(ØÑÙ œ}¨VÔ4Üð8ó9ð 9à—^‘^¨4Ð/ˆ    Ù Ø × $Ñ $ TÔ *Ø ˆ>Ü,¨V°[Ø-=ó?‰MˆFEáØ!˜
 UÑ*ÜŸ™Ÿ™ uÐ-‰JàˆJà ˆ>ÙØ +Ñ-‘àá Ü×+Ñ+¨J¸ ÑLÀtÑL‰CàˆCÜ  [°(¸FØ(8ô:ˆá ؈IÜ—)‘)“+ˆCð *ÙÜ(¨Ô3ؘS’=Ü% i°Ô8Ù#Ø ’}Ø8™à@˜Ü¢S¬"¯'©'¯/©/¸&Ô*AÐBÔCÜ—‘˜Ô Ü!,×!4Ñ!4°S¸#Ø5EÀuó"Nô—‘˜” ܘyÔ)Ø!Ð !à˜<Ð à ˆ>Ü(¨°¸eÓD‰IˆFAÜ   k°6Ø)9ô;ˆá ؈Mà˜=Ð  øô—‘˜” ܘyÕ)ús ÄBGÇ"G:rO)    rîTNz.cNrNNT)$ÚiorãrœÚ    sysconfigr6rrÚerrorrÚ cffi_opcoderrrr,rÚ version_infoÚget_config_varrr r(r@rSrgrmÚStringIOr\ÚBytesIOrdruryr|rƒrŠrŽrŸr§rÀr&rrú<module>rÉs#ðß×ß Ý$Üà€ ØÐØÐà—L‘L GÑ+ò.¨s×/?Ñ/?À&Ñ/Hò.Ø×#Ñ# vÑ-òCà/y×/Ñ/Ð0AÓBÐBð÷1ñ1÷ )ñ)÷8#ñ#÷:?ñ?÷0    Kñ    K÷D=ñD=ðN(×ѐtÒØ{‰{Hô+2—:‘:ô+ò 'òó>)ó
)ò2òò %òDò./ð"GKØ;?Ø59Ø#ôC!r