Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
§

iµµhõ®ãól—ddlmZddlmZmZddlmZmZ	ddlmZ	n#e
$rddl	Z	YnwxYwddlZddlZddl
Z
	e
jdkrddlZnddlZej¦«Zn
#e
$rdZYnwxYwd„Zd	Zejd
ejejz¦«Zejdejejz¦«Zejdej¦«Zejd
¦«Zejd¦«Zejd¦«Zejd¦«Zdaejdej ¦«Z!ejd¦«Z"ejd¦«Z#ejd¦«Z$ejd¦«Z%ejd¦«Z&ejd¦«Z'ejd¦«Z(d„Z)d„Z*d„Z+d„Z,d„Z-d„Z.d„Z/d „Z0d!„Z1Gd"„d#e2¦«Z3dS)$é)Úmodel)ÚCOMMON_TYPESÚresolve_common_type)ÚFFIErrorÚ	CDefError)Ú
_pycparseréN)écó—ddl}ddl}dS©Nr	)Úpycparser.yacctabÚpycparser.lextab)Ú	pycparsers ú7/usr/local/lib/python3.11/site-packages/cffi/cparser.pyÚ%_workaround_for_static_import_findersrs"€ðÐÐÐØÐÐÐÐÐóz<cdef source string>z/\*.*?\*/|//([^\n\\]|\\.)*?$z?^\s*#\s*define\s+([A-Za-z_][A-Za-z_0-9]*)\b((?:[^\n\\]|\\.)*?)$z^[ \t]*#[ \t]*(?:line|\d+)\b.*$z=\s*\.\.\.\s*[,}]|\.\.\.\s*\}z__dotdotdot\d+__$z\[\s*\.\.\.\s*\]z\w+|\Sz-?0?x?[0-9a-f]+[lu]*$z\b(__stdcall|WINAPI)\bz[(]\s*(__stdcall|WINAPI)\bz\b__cdecl\bz9\bextern\s*"(Python|Python\s*\+\s*C|C\s*\+\s*Python)"\s*.z'[*]\s*((const|volatile|restrict)\b\s*)+z3(\b(int|long|short|signed|unsigned|char)\s*)+\.\.\.z\b(double|float)\s*\.\.\.cóD—t€tj¦«atS©N)Ú
_parser_cacherÚCParser©rrÚ_get_parserr2s€åÐÝ!Ô)Ñ+Ô+ˆ
ÝÐrcóð—g}	t |¦«}|sn,| |d| ¦«…¦«| d¦«d}| | ¦«¦«| ¦«}| d|¦«r| d¦«|dz
}d}|}|t|¦«krJ||}|dkr|dz
}n|dkr
|dkrn)|dz}n|dvr|dkrn|dz
}|t|¦«k°J|||…|z||d…z}ŒJ| |¦«d |¦«S)	NTú(ú)Ú*r	rz,;=Ú)	Ú_r_star_const_spaceÚsearchÚappendÚstartÚgroupÚendÚ
startswithÚlenÚjoin)ÚcsourceÚpartsÚmatchÚclosingÚendposÚlevelÚiÚcs        rÚ_workaround_for_old_pycparserr/8s’€ð
€Eð<Ý#×*Ò*¨7Ñ3Ô3ˆØð	Ùà
ŠW˜^˜eŸkšk™mœm˜^Ô,Ñ-Ô-Ð-Ø
ŠSÑÔРS˜7Ø
ŠU—[’[‘]”]Ñ#Ô#Ð#Ø—’‘”ˆØ×Ò˜c 6Ñ*Ô*ð	.ØLŠL˜ÑÔÐ˜w¨#™~˜w؈ØˆØ•#g‘,”,ÒÐØ˜”
ˆAؐCŠxˆxؘ‘
Øc’Ø˜A’::ØØ˜‘
ØeØ˜A’::ØØ
‰FˆAð•#g‘,”,ÒÐð˜& ˜(Ô# gÑ-°¸¸¸´Ñ;ˆñ3<ð6
‡L‚LÑÔÐØ
7Š75‰>Œ>Ðrcóª—g}	t |¦«}|sn‰| ¦«dz
}| |d| ¦«…¦«d| d¦«vr| d¦«n| d¦«||dkr†| d|¦«}|dkrtd	¦«‚| d|dz|¦«dkrtd
¦«‚| ||dz|…¦«||dzd…}nX| d|¦«}|dkrtd¦«‚| |||dz…¦«||dzd…}| d
¦«Œ§| |¦«d 	|¦«S)NTrÚCz(void __cffi_extern_python_plus_c_start; z!void __cffi_extern_python_start; Ú{Ú}r	z!'extern "Python" {': no '}' foundz7cannot use { } inside a block 'extern "Python" { ... }'ú;z'extern "Python": no ';' foundz  void __cffi_extern_python_stop;r)
Ú_r_extern_pythonrr#r r!r"ÚfindrÚNotImplementedErrorr&)r'r(r)r+r*Ú	semicolons      rÚ_preprocess_extern_pythonr9bsä€ð
€Eð9Ý ×'Ò'¨Ñ0Ô0ˆØð	ÙØ—’‘”˜q‘ˆð	ŠW˜^˜eŸkšk™mœm˜^Ô,Ñ-Ô-Ð-ؐ%—+’+˜a‘.”.Ð Ð ØLŠLÐCÑDÔDÐDÐDàLŠLÐ<Ñ=Ô=Ð=ؐ6Œ?˜cÒ!Ð!à—l’l 3¨Ñ/Ô/ˆGؘŠ{ˆ{ÝÐ EÑFÔFÐF؏|Š|˜C ¨!¡¨WÑ5Ô5¸Ò:Ð:Ý)ð+HñIôIðIàLŠL˜ ¨¡¨'Ð!1Ô2Ñ3Ô3Ð3ؘg a™i˜j˜jÔ)ˆGˆGð Ÿš S¨&Ñ1Ô1ˆIؘ1Š}ˆ}ÝÐ BÑCÔCÐCØLŠL˜ ¨	°!©Ð!3Ô4Ñ5Ô5Ð5ؘi¨™k˜l˜lÔ+ˆGØ
ŠÐ7Ñ8Ô8Ð8ñ=9ðB
‡L‚LÑÔÐØ
7Š75‰>Œ>ÐrcóΗd|vrdS| ¦«D]I}d|vrC| ¦« d¦«sddl}| d¦«dSŒJdS)Nú"ú#r	z¨String literal found in cdef() or type source. String literals are ignored here, but you should remove them anyway because some character sequences confuse pre-parsing.)Ú
splitlinesÚlstripr$ÚwarningsÚwarn)r'Úliner?s   rÚ_warn_for_string_literalrB”sˆ€Ø
'ÐÐØˆØ×"Ò"Ñ$Ô$ððˆØ$ˆ;ˆ;˜tŸ{š{™}œ}×7Ò7¸Ñ<Ô<ˆ;ØˆOˆOˆOØMŠMð1ñ
2ô
2ð
2ð
ˆEˆEøððrcó\—|js$ddl}| d|j›d¦«dSdS)Nr	zGlobal variable 'z_' in cdef(): for consistency with C it should have a storage class specifier (usually 'extern'))Ústorager?r@Úname)Údeclr?s  rÚ/_warn_for_non_extern_non_static_global_variablerG sO€ØŒ<ð;؈ˆˆØ
Š
ˆ
à.2¬i¨i¨ið:ñ	;ô	;ð	;ð	;ð	;ð;ð;rcóP‡—gŠˆfd„}t ||¦«}|‰fS)Ncóz•—t‰¦«}‰ | ¦«¦«d|zS)Nz#line@%d)r%r r")Úmr-Úline_directivess  €rÚreplacez(_remove_line_directives.<locals>.replace­s6ø€ÝÑ Ô ˆØ×Ò˜qŸwšw™yœyÑ)Ô)Ð)ؘA‰~Ðr©Ú_r_line_directiveÚsub)r'rLrKs  @rÚ_remove_line_directivesrP§sEø€ð
€Oðððððõ ×#Ò# G¨WÑ5Ô5€GؐOÐ#Ð#rcóD‡—ˆfd„}t ||¦«S)Ncó®•—| ¦«}| d¦«std¦«‚‰t|dd…¦«S)Nz#line@zBunexpected #line directive (should have been processed and removedé)r"r$ÚAssertionErrorÚint)rJÚsrKs  €rrLz*_put_back_line_directives.<locals>.replaceµsYø€Ø
GŠG‰IŒIˆØ|Š|˜HÑ%Ô%ð	LÝ ð"KñLôLð
Làs 1 Q R R¤5™zœzÔ*Ð*rrM)r'rKrLs ` rÚ_put_back_line_directivesrW´s4ø€ð+ð+ð+ð+ð+õ× Ò  ¨'Ñ2Ô2Ð2rcó8—t|¦«\}}d„}t ||¦«}i}t |¦«D]F}| ¦«\}}| dd¦« ¦«}|||<ŒGt d|¦«}tj	dkrt|¦«}t d|¦«}t d|¦«}t d|¦«}t|¦«}t|¦«t  d|¦«}t#t$ |¦«¦«}t't)|¦«¦«D] \}}| ¦«}	||	d	krM| d
|	| ¦«¦«}
|
|	ksJ‚d|d|	…|||
dzd…fz}Œr||	|	dz…d
ksJ‚d
|d|	…|||	dzd…fz}Œ¡t0 d|¦«}t2 d|¦«}| d
d¦«}t5||¦«}||fS)Ncó\—d| ¦« d¦«dzzS)Nú ú
)r"Úcount)rJs rÚreplace_keeping_newlinesz-_preprocess.<locals>.replace_keeping_newlinesÃs&€ØQ—W’W‘Y”Y—_’_ TÑ*Ô*¨TÑ1Ñ1Ð1rz\
rz2.14z volatile volatile const(z volatile volatile const rZz[__dotdotdotarray__]ú=ú...z%s,__dotdotdot%d__ %sr
z%s __dotdotdot%d__ %sz __dotdotdotint__ z __dotdotdotfloat__ z __dotdotdot__ )rPÚ
_r_commentrOÚ	_r_defineÚfinditerÚgroupsrLÚstriprÚ__version__r/Ú_r_stdcall2Ú_r_stdcall1Ú_r_cdeclr9rBÚ_r_partial_arrayÚlistÚ_r_partial_enumÚ	enumerateÚreversedr!r6r#Ú_r_int_dotdotdotÚ_r_float_dotdotdotrW)r'rKr]Úmacrosr)Ú	macronameÚ
macrovalueÚmatchesÚnumberÚpÚp2s           rÚ_preprocessrw½s€õ 7°wÑ?Ô?Ñ€Gˆ_ð2ð2ð2ånŠnÐ5°wÑ?Ô?€Gà
€FÝ×#Ò# GÑ,Ô,ð'ð'ˆØ %§¢¡¤Ñˆ	:Ø×'Ò'¨°Ñ3Ô3×9Ò9Ñ;Ô;ˆ
Ø&ˆˆyÑÐݏmŠm˜B Ñ(Ô(€GåÔ˜vÒ%Ð%Ý/°Ñ8Ô8ˆõoŠoÐ9¸7ÑCÔC€GݏoŠoÐ9¸7ÑCÔC€GݏlŠl˜3 Ñ(Ô(€Gõ(¨Ñ0Ô0€Gõ˜WÑ%Ô%Ð%õ×"Ò"Ð#9¸7ÑCÔC€Gõ•?×+Ò+¨GÑ4Ô4Ñ5Ô5€GÝ"¥8¨GÑ#4Ô#4Ñ5Ô5ð
@ð
@‰
ˆØKŠK‰MŒMˆØ1Œ:˜ÒÐØ—’˜e Q¨¯	ª	©¬Ñ4Ô4ˆBؘ’6666Ø-°¸¸!¸´¸fØ18¸¸A¹¸¸´ð1AñAˆGˆGð˜1˜Q˜q™S˜5”> UÒ*Ð*Ð*Ð*Ø-°¸¸!¸´¸fØ18¸¸1¹¸¸´ð1@ñ@ˆGˆGõ×"Ò"Ð#7¸ÑAÔA€Gå ×$Ò$Ð%;¸WÑEÔE€GðoŠo˜eÐ%6Ñ7Ô7€Gå'¨°ÑAÔA€GؐFˆ?Ðrcóº—tt¦«}| d¦«| d¦«| d¦«| d¦«| d¦«t¦«}d}d}d}t |¦«D]®}||vr¦|dkr/|r,| |¦«| |¦«d}nq|dkrd	}d}nf|dkr|d
z
}nZ|dkr|d
z}nN|dkr3|r0|dkr*| |¦«| |¦«n| |¦«|}Œ¯|S)Nr4ú,rrÚtypedefFr	rTr)ÚsetrÚaddÚ_r_wordsÚfindallÚdiscard)r'Úlook_for_wordsÚ
words_usedÚ
is_typedefÚparenÚ
previous_wordÚwords       rÚ_common_type_namesr†ÿs”€õÑ&Ô&€NØ×ҐsÑÔÐØ×ҐsÑÔÐØ×ҐsÑÔÐØ×ҐsÑÔÐØ×ҐyÑ!Ô!Ð!Ý‘”€JØ€JØ
€EØ€MÝ× Ò  Ñ)Ô)ððˆØ>Ð!Ð!ؐsŠ{ˆ{Øð'Ø×&Ò& }Ñ5Ô5Ð5Ø"×*Ò*¨=Ñ9Ô9Ð9Ø!&JøØ˜Ò"Ð"Ø!
ؐØ˜’Ø˜‘
Ø˜’Ø˜‘
Ø˜’Øð: %¨1¢* *Ø×&Ò& }Ñ5Ô5Ð5Ø"×*Ò*¨=Ñ9Ô9Ð9øà—’˜tÑ$Ô$Ð$؈
ˆ
ØÐrcóƗeZdZd„Zd„Zd„Zd„Z		dd„Zd„Zd	„Z	d
„Z
d„Zd„Zd
„Z
d„Zd„Zd d„Zd„Zd!d„Z		d"d„Zd!d„Zd„Zd#d„Zd„Zd$d„Zd„Zd„Zd„Zd„Zd„ZdS)%ÚParsercó°—i|_t¦«|_d|_t	j¦«|_i|_i|_g|_	d|_
dSr)Ú
_declarationsr{Ú_included_declarationsÚ_anonymous_counterÚweakrefÚWeakKeyDictionaryÚ_structnode2typeÚ_optionsÚ_int_constantsÚ_recompleteÚ_uses_new_feature)Úselfs rÚ__init__zParser.__init__)sT€ØˆÔÝ&)¡e¤eˆÔ#Ø"#ˆÔÝ 'Ô 9Ñ ;Ô ;ˆÔ؈Œ
Ø ˆÔØˆÔØ!%ˆÔÐÐrcó—t|¦«\}}t|¦«}g}t|j¦«D]K}| d¦«r4|dd…}| |¦«| |¦«ŒL|t|¦«z
}g}| d¦«|D]}| d|z¦«Œ| d¦«| dt›d¦«| |¦«| d¦«d	 |¦«}tt 
¦«	t¦« |¦«}	n7#tjj$r }
| |
|¦«Yd}
~
nd}
~
wwxYwtt ¦«n&#tt ¦«wwxYw|	||fS)
Nútypedef éz*# 1 "<cdef automatic initialization code>"ztypedef int %s;z@typedef int __dotdotdotint__, __dotdotdotfloat__, __dotdotdot__;z# 1 "r;rr[)rwr†ÚsortedrŠr$r rÚCDEF_SOURCE_STRINGr&ÚlockÚacquirerÚparserÚc_parserÚ
ParseErrorÚconvert_pycparser_errorÚrelease)r”r'rpÚctnÚ	typenamesrEÚcsourcelinesÚtypenameÚfullcsourceÚastÚes           rÚ_parsez
Parser._parse3s€Ý% gÑ.Ô.‰ˆõ
! Ñ)Ô)ˆØˆ	ݘ4Ô-Ñ.Ô.ð	"ð	"ˆDØŠ˜zÑ*Ô*ð
"ؘA˜B˜B”xØ× Ò  Ñ&Ô&Ð&Ø—’˜DÑ!Ô!Ð!øØ•V˜C‘[”[Ñ ˆ	àˆØ×ÒÐHÑIÔIÐIØ!ð	>ð	>ˆHØ×ÒÐ 1°HÑ <Ñ=Ô=Ð=Ð=Ø×Òð.ñ	/ô	/ð	/ð	×ÒÐÕ*<Ð*<Ð*<Ð>Ñ?Ô?Ð?Ø×Ò˜GÑ$Ô$Ð$Ø×Ò˜BÑÔÐØ—i’i Ñ-Ô-ˆÝÐÝLŠL‰NŒNˆNð	Ý‘-”-×%Ò% kÑ2Ô2ˆCˆCøÝÔ!Ô,ð	5ð	5ð	5Ø×(Ò(¨¨GÑ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4øøøøð	5øøøõÐÝ—’‘”øøõÐÝ—’‘”ð øøøðF˜GÐ#Ð#s0Å!E?Å>GÅ?F3ÆF.Æ)GÆ.F3Æ3GÇ#G:có$—d}t|¦«}tjt›d|¦«}|r_t	| d¦«d¦«}| ¦«}d|cxkrt|¦«krnn||dz
}|S)Nz:(\d+):ré
)ÚstrÚrer)ršrUr"r=r%)r”r¨r'rAÚmsgr)Úlinenumr¤s        rÚ_convert_pycparser_errorzParser._convert_pycparser_errorZsž€ðˆÝ!‰fŒfˆÝ”Õ);Ð);Ð);Ð=¸sÑCÔCˆØð	/ݘ%Ÿ+š+ a™.œ.¨"Ñ-Ô-ˆGØ"×-Ò-Ñ/Ô/ˆLؐGÐ0Ð0Ò0Ð0s <Ñ0Ô0Ò0Ð0Ð0Ð0Ð0Ø# G¨A¡IÔ.Øˆrcó®—| ||¦«}t|¦«}|rd| ¦«›d|›}nd|›}t|¦«‚)Nzcannot parse "z"
zparse error
)r°r¬rdr)r”r¨r'rAr®s     rr zParser.convert_pycparser_errorhsf€Ø×,Ò,¨Q°Ñ8Ô8ˆå!‰fŒfˆØð	-ð	-Ø-1¯ZªZ©\¬\¨\¨\¸3¸3Ð?ˆCˆCð	-ð(+ sÐ,ˆCݘ‰nŒnÐrFNcó—|r)|dkrtd¦«‚|rtd¦«‚d}n|r||dz
zrtd|›¦«‚nd}|j}	|||dœ|_| |¦«||_dS#||_wxYw)NTzB'packed' should be False or True; use 'pack' to give another valuez$cannot give both 'pack' and 'packed'rz#'pack' must be a power of two, not r	)ÚoverrideÚpackedÚ	dllexport)Ú
ValueErrorrÚ_internal_parse)r”r'r³r´ÚpackrµÚprev_optionss       rrzParser.parsersç€àð	ؘŠ~ˆ~Ý ð"@ñAôAðAàð
IÝ Ð!GÑHÔHÐH؈DˆDØ
ð	ؐt˜a‘xÑ ð
Ý jؐTð"ñôðð
ðˆDØ”}ˆð	)Ø)1Ø'+Ø*3ð5ð5ˆDŒMð
× Ò  Ñ)Ô)Ð)à(ˆDŒMˆMˆMø˜LˆDŒMÐ(Ð(Ð(Ð(sÁ A<Á<	Bc	ó(—| |¦«\}}}| |¦«t|j¦«}|D]}|jdkrnŒJ‚d}	d|_|D]3}|}t
|tjj	¦«r| 
|¦«Œ:t
|tjj¦«r“|jstd|¦«‚d}t
|j
j
tjj¦«r@|j
j
jd d¦«r| |¦«}nït
|j
tjj¦«rœt
|j
j
tjj¦«rst
|j
j
j
tjj¦«rE|j
j
j
jd d¦«r| |¦«}n/| |j
|jdd|j›d	¬
¦«\}}| d|jz||¬¦«Œí|jjd
krddl}	|	 d¦«Œtd|jjz|¦«‚dS#t$r.}
t7|
j¦«dkr|
j|fz|
_‚d}
~
wt:$r7}
| |
|¦«}|r|
jdd|zzf|
_‚d}
~
wwxYw)NÚ
__dotdotdot__r	Ú__cffi_extern_python_stopz!typedef does not declare any nameéÿÿÿÿÚ__dotdotdotTz*(z *)0)rEÚpartial_length_okÚtypedef_exampler—©ÚqualsÚPragmaa#pragma in cdef() are entirely ignored. They should be removed for now, otherwise your code might behave differently in a future version of CFFI if #pragma support gets added. Note that '#pragma pack' needs to be replaced with the 'packed' keyword argument to cdef().zBunexpected <%s>: this construct is valid C but not valid in cdef()rz
    *** Err: %s)r©Ú_process_macrosÚiterÚextrEÚ_inside_extern_pythonÚ
isinstancerÚc_astÚDeclÚ_parse_declÚTypedefrÚtypeÚIdentifierTypeÚnamesr$Ú_get_unknown_typeÚPtrDeclÚTypeDeclÚ_get_unknown_ptr_typeÚ_get_type_and_qualsÚ_declareÚ	__class__Ú__name__r?r@r%Úargsrr°)r”r'r§rpÚiteratorrFÚcurrent_declrÂÚrealtyper?r¨r®s            rr·zParser._internal_parseŠs^€Ø#Ÿ{š{¨7Ñ3Ô3шˆVWà×Ò˜VÑ$Ô$Ð$õ˜œ‘=”=ˆØð	ð	ˆDØŒy˜OÒ+Ð+ؐð,ð
1؈ð/	Ø)DˆDÔ&Ø ð$
Cñ$
CØ#ݘd¥I¤OÔ$8Ñ9Ô9ð"CØ×$Ò$ TÑ*Ô*Ð*Ð*Ý ¥i¤oÔ&=Ñ>Ô>ñ CØœ9ð.Ý'Ð(KØ(,ñ.ô.ð.àEÝ" 4¤9¤>µ9´?Ô3QÑRÔRðGØ œIœNÔ0°Ô4×?Ò?À
ÑNÔNðGà#'×#9Ò#9¸$Ñ#?Ô#?˜˜Ý$ T¤Yµ	´Ô0GÑHÔHð	GÝ$ T¤Y¤^µY´_Ô5MÑNÔNð	Gå$ T¤Y¤^Ô%8Ý%.¤_Ô%CñEôEð	Gðœ)œ.Ô-Ô3°BÔ7×BÒBÀ=ÑQÔQð		Gð
$(×#=Ò#=¸dÑ#CÔ#C˜˜à*.×*BÒ*BØ œI¨D¬IÈÈØ:>¼)¸)¸)Ð,Eð+Cñ+Gô+G™˜ %ð—M’M *¨t¬yÑ"8¸(È%MÑPÔPÐPÑPØ”^Ô,°Ò8Ð8à#OOOØ—M’Mð?ñ@ô@ð@ñ@õ$ð%@à$(¤NÔ$;ñ%<à=AñCôCðCðE$
Cð$
CøõJð	ð	ð	ݐ1”6‰{Œ{˜aÒÐØœ < /Ñ1”ØøøøøÝð	ð	ð	Ø×/Ò/°°7Ñ;Ô;ˆCØð
BØœ& œ)Ð&9¸CÑ&?Ñ?ÐA”Øøøøøð		øøøs%ÁH>JÊ
LÊ$)K
Ë

LË2LÌLcóv—||jvr%|j||krdStd|›¦«‚||j|<dS)Nz#multiple declarations of constant: )r‘r)r”ÚkeyÚvals   rÚ_add_constantszParser._add_constantsÉsZ€Ø$Ô%Ð%Ð%ØÔ" 3Ô'¨3Ò.Ð.ؐݐ(Ø;>¸3Ð@ñBôBð
Bà#&ˆÔ˜CÑ Ð Ð rcó˜—| ¦« d¦«}| d¦«}|r
|dd…}| d¦«r(|dkr"| d¦«s
d|dd…z}t|d¦«}|r|}| ||¦«| d|z|¦«dS)	NÚulú-rÚ0Ú0xÚ0or	úmacro )ÚlowerÚrstripr$rUrßrÕ)r”rEÚint_strÚnegÚpyvalues     rÚ_add_integer_constantzParser._add_integer_constantÑsۀØ—-’-‘/”/×(Ò(¨Ñ.Ô.ˆØ× Ò  Ñ%Ô%ˆØð	"ؘa˜b˜b”kˆGà×Ò˜sÑ#Ô#ð	)¨°3ª¨Ø×*Ò*¨4Ñ0Ô0ð)7à˜W Q R Rœ[Ñ(ˆGݐg˜q‘/”/ˆØð	ؐhˆGØ×Ò˜D 'Ñ*Ô*Ð*Ø
Š
h ‘o wÑ/Ô/Ð/Ð/Ð/rcó8—| ¦«D]„\}}| ¦«}t |¦«r| ||¦«ŒJ|dkr| d|z|¦«Œjt
d|›d|›d|›d|›¦«‚dS)Nr_ræz5only supports one of the following syntax:
  #define z+ ...     (literally dot-dot-dot)
  #define zM NUMBER  (with NUMBER an integer constant, decimal/hex/octal)
got:
  #define rZ)ÚitemsrdÚ_r_int_literalr)rìrÕr)r”rprÝÚvalues    rrÄzParser._process_macrosàs¹€Ø Ÿ,š,™.œ.ð	.ð	.‰JˆCØ—K’K‘M”MˆEÝ×#Ò# EÑ*Ô*ð
.Ø×*Ò*¨3°Ñ6Ô6Ð6Ð6ؘ%’Ø—
’
˜h¨™n¨eÑ4Ô4Ð4Ð4åiðss˜C˜C˜C    e eð
-ñ.ô.ð.ð	.ð	.rcóä—| ||¦«}|j d¦«rd}n|jdkrd}n|jdkrd}nd}| ||jz|¦«dS)Nrµzdllexport_python Ú__cffi_extern_python_startzextern_python Ú!__cffi_extern_python_plus_c_startzextern_python_plus_c z	function )Ú_get_type_pointerrÚgetrÇrÕrE)r”ÚtprÂrFÚtags     rÚ_declare_functionzParser._declare_functionñs‡€Ø
×
#Ò
# B¨Ñ
.Ô
.ˆØŒ=×Ò˜[Ñ)Ô)ð	Ø%ˆCˆCØ
Ô
'Ð+GÒ
GÐ
GØ"ˆCˆCØ
Ô
'Ð+NÒ
NÐ
NØ)ˆCˆCàˆCØ
Š
c˜DœI‘o rÑ*Ô*Ð*Ð*Ð*rcóÞ—|j}t|tjj¦«rT| ||j¬¦«\}}t|tj¦«sJ‚| 	|||¦«dSt|tjj
¦«r| d|¦«nƒt|tjj¦«r| d|¦«nMt|tjj
¦«r| d|¦«n|jstd|¦«‚|jr1| |d¬¦«\}}|jr| 	|||¦«dS| ¦«rpt#|d¦«r`t#|jd	¦«rKt& |jj¦«r'| |j|jj¦«dS| ¦«r¦t|jtjj¦«r‚|jjd
krrt#|jjd	¦«rXt& |jjj¦«r/| |jd
|jjjz¦«dS|tjur(|j d¦«r|j|_dS|jdkrtd
¦«‚|tjzr)|js"| d|jz||¬¦«dStA|¦«| d|jz||¬¦«dSdS)N)rEÚstructÚunionÚenumz'construct does not declare any variableT©r¿ÚinitrðrâÚ__cffi_extern_python_r¼z<cannot declare constants or variables with 'extern "Python"'z	constant rÁz	variable )!rÍrÈrrÉÚFuncDeclrÔrErÚRawFunctionTyperøÚStructÚ_get_struct_union_enum_typeÚUnionÚEnumrÚis_raw_functionÚis_integer_typeÚhasattrrþrïr)rðrìÚUnaryOpÚopÚexprÚ	void_typer$rÇÚQ_CONSTÚ
is_array_typerÕrG)r”rFÚnoderörÂs     rrËzParser._parse_declýs“€ØŒyˆÝdIœOÔ4Ñ5Ô5ð/	PØ×0Ò0°¸D¼IÐ0ÑFÔF‰IˆBÝ˜b¥%Ô"7Ñ8Ô8Ð8Ð8Ð8Ø×"Ò" 2 u¨dÑ3Ô3Ð3Ð3Ð3å˜$¥	¤Ô 6Ñ7Ô7ð
&Ø×0Ò0°¸4Ñ@Ô@Ð@Ð@ݘD¥)¤/Ô"7Ñ8Ô8ð
&Ø×0Ò0°¸$Ñ?Ô?Ð?Ð?ݘD¥)¤/Ô"6Ñ7Ô7ð
&Ø×0Ò0°¸Ñ>Ô>Ð>Ð>Ø”Yð
&ÝÐ IØ $ñ&ô&ð&ðŒyñ 
PØ ×4Ò4°TØGKð5ñMôM‘	EàÔ%ðPØ×*Ò*¨2¨u°dÑ;Ô;Ð;Ð;Ð;Ø×(Ò(Ñ*Ô*ðPÝ  fÑ-Ô-ðPå ¤	¨7Ñ3Ô3ðPõ'×,Ò,¨T¬Y¬_Ñ=Ô=ðPð×.Ò.¨t¬y¸$¼)¼/ÑJÔJÐJÐJÐJØ×(Ò(Ñ*Ô*ðPÝ" 4¤9­i¬oÔ.EÑFÔFðPàœ	œ¨Ò+Ð+Ý ¤	¤°Ñ8Ô8ð,å&×,Ò,¨T¬Y¬^Ô-AÑBÔBð,ð×.Ò.¨t¬yØ/2°T´Y´^Ô5IÑ/IñKôKðKðKðKàEœOÐ+Ð+Ø”i×*Ò*Ð+BÑCÔCð,ð
26´DÔ.Ð.Ð.àÔ1Ð4OÒOÐOÝ'ðAñBôBðBð¥¤
Ñ-ðP°rÔ7GðPØŸ
š
 k°D´IÑ&=¸rȘ
ÑOÔOÐOÐOÐOåGÈÑMÔMÐMØŸ
š
 k°D´IÑ&=¸rȘ
ÑOÔOÐOÐOÐOðA 
Pð 
Prcó8—| |¦«dSr)Úparse_type_and_quals)r”Úcdecls  rÚ
parse_typezParser.parse_type0s€Ø×(Ò(¨Ñ/Ô/°Ô2Ð2rcó6—| d|z¦«dd…\}}|rJ‚|jdjjjd}t|tjj¦«rtd|j
›d¦«‚| |j¦«S)Nzvoid __dummy(
%s
);ér½r	zunknown identifier 'ú')r©rÆrÍrØÚparamsrÈrrÉÚIDrrErÔ)r”rr§rpÚexprnodes     rrzParser.parse_type_and_quals3s‘€Ø—k’kÐ"9¸EÑ"AÑBÔBÀ2ÀAÀ2ÔF‰ˆˆVØÐЈzØ”7˜2”;Ô#Ô(Ô/°Ô2ˆÝh¥	¤Ô 2Ñ3Ô3ð	Jݐ)¸¼¸¸ÐHÑIÔIÐIØ×'Ò'¨¬
Ñ6Ô6Ð6rr	có.—||jvrI|j|\}}||ur||krdS|j d¦«std|›d¦«‚d| ¦«vsJ‚||f|j|<|r|j |¦«dSdS)Nr³zmultiple declarations of z5 (for interactive usage, try cdef(xx, override=True))r»)rŠrrõrÚsplitr‹r|)r”rEÚobjÚincludedrÂÚprevobjÚ	prevqualss       rrÕzParser._declare;s̀ؐ4Ô%Ð%Ð%Ø!%Ô!3°DÔ!9ÑˆGYؘ#ˆ~ˆ~ )¨uÒ"4Ð"4ؐؔ=×$Ò$ ZÑ0Ô0ð
>ݐhà6:°d°dð=ñ>ô>ð>ð d§j¢j¡l¤lÐ2Ð2Ð2Ð2Ø$'¨ <ˆÔ˜4Ñ Øð	1ØÔ'×+Ò+¨CÑ0Ô0Ð0Ð0Ð0ð	1ð	1rcóú—d}t|tjjtjjf¦«rHd|jvr|tjz}d|jvr|tjz}d|jvr|tj	z}|S)Nr	ÚconstÚvolatileÚrestrict)
rÈrrÉrÒrÑrÂrr
Ú
Q_VOLATILEÚ
Q_RESTRICT©r”rÍrÂs   rÚ_extract_qualszParser._extract_qualsIs€ØˆÝdYœ_Ô5Ý&œ_Ô4ð6ñ7ô7ð	*à˜$œ*Ð$Ð$؝œÑ&Ø˜TœZÐ'Ð'؝Ô)Ñ)Ø˜TœZÐ'Ð'؝Ô)Ñ)Øˆrcóp—t|tj¦«r| ¦«St|tj¦«rZ|j d¦«r@|jdd… ¦«r|j€|tj	|||¦«Stj
||¦«S)Nú$r)rÈrrÚas_function_pointerÚStructOrUnionOrEnumrEr$ÚisdigitÚ	forcenameÚNamedPointerTypeÚPointerType)r”rÍrÂÚdeclnames    rrôzParser._get_type_pointerUs¬€ÝdEÔ1Ñ2Ô2ð	.Ø×+Ò+Ñ-Ô-Ð-ÝtUÔ6Ñ7Ô7ð	AØ”	×$Ò$ SÑ)Ô)ð	AØ.2¬i¸¸¸¬m×.CÒ.CÑ.EÔ.Eð	Aà”Ð&¨8Ð+?ÝÔ)¨$°¸%Ñ@Ô@Ð@ÝÔ   uÑ-Ô-Ð-rcó4	—t|tjj¦«rœt|jtjj¦«rxt
|jj¦«dkr[d|jjdz|jvr?|jd|jjdz\}}|| 	|¦«z}||fSt|tjj
¦«rp|j€d}n| |j|¬¦«}||dkrd|›d}d|z}| 
|j||¬	¦«\}}tj||¦«|fSt|tjj¦«rN| 
|j¦«\}}	| ||	|¬
¦«}| 	|¦«}||fSt|tjj¦«rû| 	|¦«}|j}
t|
tjj¦«rt%|
j¦«}|ddgkri}|r/|d}|d
vr | |d¦«dz||<|d=nn|°/g}
dD]=}t)| |d¦«¦«D]}|
 |¦«ŒŒ>|sdg}|dgkr
d|vsd|vrg}|
|z}d |¦«}|dkrtj|fS|dkrt1d|jjz¦«‚t7||¦«\}}|||zfSt|
tjj¦«r| d|
|¦«}||fSt|
tjj¦«r| d|
|¦«}||fSt|
tjj¦«r| d|
|¦«}||fSt|tjj ¦«r| !||¦«dfSt|tjj¦«r| d||d¬¦«dfSt|tjj¦«r| d||d¬¦«dfSt1d|jjz¦«‚)Nrr—r	rýr_z_cffi_array_len(rr)r¿rÀ)r0ÚsignedÚchar)ÚshortÚlongr2Úunsigned)r6r4r5rUr4r5rZÚvoidr»z:%d: bad usage of "..."rúrûrüT)Únestedz(:%d: bad or unsupported type declaration)"rÈrrÉrÒrÍrÎr%rÏrŠr'Ú	ArrayDeclÚdimÚ_parse_constantrÔrÚ	ArrayTyperÑrôrjrõÚranger r&rrÚcoordrArrrrrrÚ_parse_function_type)r”ÚtypenoderEr¿rÀrörÂÚlengthÚitemtypeÚ	itemqualsrÍrÏÚprefixesÚnewnamesÚprefixr-ÚidentÚtp0Úquals0s                   rrÔzParser._get_type_and_quals^s$€õ
x¥¤Ô!9Ñ:Ô:ð	Ýx”}¥i¤oÔ&DÑEÔEð	å”
Ô#Ñ$Ô$¨Ò)Ð)Ø
˜(œ-Ô-¨aÔ0Ñ
0°TÔ5GÐGÐGØÔ*¨:¸¼
Ô8KÈAÔ8NÑ+NÔO‰IˆBØT×(Ò(¨Ñ2Ô2Ñ2ˆEؐu9Ðåh¥	¤Ô 9Ñ:Ô:ð	6àŒ|Ð#ؐà×-Ò-Ø”LÐ4Eð.ñGôGðÐ*ؘU’???Ø6E°o°oÐGFØ"%¨Ñ"7à×0Ò0°´Ø2CØ0?ð1ñAôA‰IˆBõ”? 2 vÑ.Ô.°Ð5Ð5åh¥	¤Ô 7Ñ8Ô8ð	à"&×":Ò":¸8¼=Ñ"IÔ"IÑˆHiØ×'Ò'¨°)ÀdÐ'ÑKÔKˆBØ×'Ò'¨Ñ1Ô1ˆEؐu9Ðåh¥	¤Ô 8Ñ9Ô9ñ1	!Ø×'Ò'¨Ñ1Ô1ˆEØ”=ˆDݘ$¥	¤Ô >Ñ?Ô?ñ
-õ˜TœZÑ(Ô(Ø˜X vÐ.Ò.Ð.Ø!HØð"Ø$ Qœx˜ØÐ#JÐJÐJØ-5¯\ª\¸$ÀÑ-BÔ-BÀQÑ-F˜H T™NØ % a  à!ð
 ð"ð "HØ"?ð4ð4˜Ý!& x§|¢|°F¸AÑ'>Ô'>Ñ!?Ô!?ð4ð4˜AØ$ŸOšO¨FÑ3Ô3Ð3Ð3ð4à ð(Ø!& ˜Ø  Ò'Ð'Ø" hÐ.Ð.°&¸HÐ2DÐ2DØ$&˜EØ$ uÑ,EØŸš ™œØ˜F’??Ý œ?¨EÐ1Ð1ؘOÒ+Ð+Ý"Ð#<Ø$œNÔ/ñ$0ñ1ô1ð1å1°$¸Ñ>Ô>‘VؘU V™^Ð,Ð,å˜$¥	¤Ô 6Ñ7Ô7ð
!à×5Ò5°hÀÀdÑKÔKØ˜5yÐ å˜$¥	¤Ô 5Ñ6Ô6ð
!à×5Ò5°g¸tÀTÑJÔJØ˜5yÐ å˜$¥	¤Ô 4Ñ5Ô5ð
!à×5Ò5°f¸dÀDÑIÔIØ˜5yÐ åh¥	¤Ô 8Ñ9Ô9ð	@à×,Ò,¨X°tÑ<Ô<¸aÐ?Ð?õh¥	¤Ô 6Ñ7Ô7ð	DØ×3Ò3°H¸hÈØ;?ð4ñAôAØBCðDð
Dåh¥	¤Ô 5Ñ6Ô6ð	DØ×3Ò3°G¸XÀtØ;?ð4ñAôAØBCðDð
DõÐAØ”Ô#ñ$ñ%ô%ð	%rcó|‡—tt|jdg¦«¦«}t|¦«D]>\}}t	|d¦«s)td|pd|dzt|dd¦«fz¦«‚Œ?t
|¦«dkott|d	jtj
j¦«oJt|d	jjtj
j¦«o|d	jjj
d
gk}|r*| ¦«|std|pdz¦«‚ˆfd„|D¦«}|s|tjgkrg}‰ |j¦«\}}	d}
t	|jd
¦«r|jjdd…gd¢krd}
tjt)|¦«|||
¦«S)NrrÍzt%s arg %d: unknown type '%s' (if you meant to use the old C syntax of giving untyped arguments, it is not supported)z
in expressionrrEú?r	r½r»z=%s: a function with only '(...)' as argument is not correct CcóT•—g|]$}‰j‰ |j¦«Ž‘Œ%Sr)Ú_as_func_argrÔrÍ)Ú.0Úargdeclnoder”s  €rú
<listcomp>z/Parser._parse_function_type.<locals>.<listcomp>ÜsDø€ð+ð+ð+Øð"Ô! 4×#;Ò#;¸KÔ<LÑ#MÔ#MÐNð+ð+ð+rrÂéýÿÿÿ)r"r"r!Ú	__stdcall)rjÚgetattrrØrlrrr%rÈrÍrrÉrÒrÎrÏÚpoprrrÔrÂrÚtuple)r”r@Úfuncnamerr-ÚargÚellipsisrØÚresultrÂÚabis`          rr?zParser._parse_function_typeÇsø€Ý•g˜hœm¨X°rÑ:Ô:Ñ;Ô;ˆÝ Ñ'Ô'ð	3ð	3‰FˆAˆsݘ3 Ñ'Ô'ð
3Ýð!?ð Ð2 ?°A¸±Eݘs F¨CÑ0Ô0ð2ñ!2ñ3ô3ð3ð
3õ
‰KŒK˜!ŠOð
<Ýv˜b”z”­	¬Ô(@ÑAÔAð
<åv˜b”z”Ô+Ý ”Ô5ñ
7ô
7ð
<ð
2ŒJŒOÔ Ô&¨?Ð*;Ò;ð	ðð	IØJŠJ‰LŒLˆLØð
IÝð(Ø+3Ð+F°ñHñIôIðIð+ð+ð+ð+Ø#)ð+ñ+ô+ˆàð	˜D¥U¤_Ð$5Ò5Ð5؈DØ×0Ò0°´Ñ?Ô?‰
ˆðˆÝ8”= 'Ñ*Ô*ð	"ØŒ}Ô" 2 3 3Ô'Ð+LÐ+LÐ+LÒLÐLØ!ÝÔ$¥U¨4¡[¤[°&¸(ÀCÑHÔHÐHrcóʗt|tj¦«rtj|j|¦«St|tj¦«r| ¦«S|Sr)rÈrr<r/Úitemrr*r&s   rrMzParser._as_func_argêsW€ÝdEœOÑ,Ô,ð	ÝÔ$ T¤Y°Ñ6Ô6Ð6Ý
˜eÔ3Ñ
4Ô
4ð	Ø×+Ò+Ñ-Ô-Ð-àˆKrcó—	|j|S#t$rYnwxYw|}|j}|€%|d|z}n|xjdz
c_d|jz}d}n'|}|›d|›}|j |d¦«\}}	|€ž|dkrt
j|ddd¦«}ng|dkrt
j|ddd¦«}nI|dkr1|d	krtd
¦«‚| 
||j¦«}ntd|›¦«‚|| 
||¦«n|dkr|jtd|z¦«‚|js| |¦«|jr'd
|jvr| 
d|jz|¦«||j|<|dkr|S|j€|S|jtd|z¦«‚g}
g}g}g}
|jD]Z}t'|jt*jj¦«r:d |jj¦«d	kr| ||¦«Œa|j€d}n| |j¦«}d|_| |jd¬¦«\}}|jr| ||¦«t'|tj¦«r|jr| ||¦«|
  |jpd¦«|  |¦«|  |¦«|
  |¦«Œ\tC|
¦«|_tC|¦«|_"tC|¦«|_#tC|
¦«|_$|dgtK|¦«zkr3t'|tj¦«r|jrt|›d¦«‚|j& d¦«|_'|j(r!d|_(|j)  |¦«|S)Nz$%srz$%drZ)NNrúrûrür»z!Enums cannot be declared with ...zkind = z^enum %s: the '{}' declaration should appear on the first time the enum is mentioned, not laterr)zanonymous %sz"duplicate declaration of struct %srr½FTrýz!: using both bitfields and '...;'r´r	)*rÚKeyErrorrErŒrŠrõrÚ
StructTypeÚ	UnionTyperÚ_build_enum_typeÚvaluesrTrÕr7r-Úforce_the_nameÚdeclsÚfldnamesrÈrÍrrÉrÎr&rÏÚ
_make_partialÚbitsizer;Ú_partial_lengthrÔÚpartialr rUÚfldtypesÚ
fldbitsizeÚfldqualsr%rr´Ú	completedr’)r”ÚkindrÍrEr8Ú
force_nameÚ
explicit_namerörÝÚ_rerjrkrlrFrgÚfquals                 rrz"Parser._get_struct_union_enum_typeòsr€ð	ØÔ(¨Ô.Ð.øÝð	ð	ð	ØˆDð	øøøðˆ
ØŒyˆðˆ<ðÐ%Ø %¨
Ñ 2

àÐ'Ô'¨1Ñ,Ð'Ô'Ø %¨Ô(?Ñ ?
؈BˆBà ˆMØ!˜T˜T 4 4Ð(ˆCØÔ&×*Ò*¨3°Ñ=Ô=‰EˆBà
ˆ:ؐxÒÐÝÔ% m°T¸4ÀÑFÔFØ˜’Ý”_ ]°D¸$ÀÑEÔEØ˜’Ø  OÒ3Ð3Ý#Ð$GÑHÔHÐHØ×*Ò*¨=¸$¼+ÑFÔFå$n°D°DÐ%:Ñ;Ô;Ð;ØÐØ—
’
˜c 2Ñ&Ô&Ð&øàvŠ~ˆ~ $¤+Ð"9Ý)ð<Ø>KñLñMôMðMðŒ|ð	*Ø×Ò˜jÑ)Ô)Ð)Ø
Œ<ð	=˜C 2¤7˜N˜NØMŠM˜.¨2¬<Ñ7¸Ñ<Ô<Ð<à&(ˆÔ˜dÑ#ð6Š>ˆ>؈Ið
Œ:ÐØˆIà
Œ;Ð"ÝÐ@À4ÑGÑHÔHÐH؈؈؈
؈ؔJð	#ñ	#ˆDݘ4œ9¥i¤oÔ&DÑEÔEð
Ø—G’G˜DœIœOÑ,Ô,°Ò?Ð?ð×"Ò" 2 vÑ.Ô.Ð.ØØŒ|Ð#ؐà×.Ò.¨t¬|Ñ<Ô<Ø#(ˆDÔ Ø×2Ò2°4´9ØEIð3ñKôK‰KˆD%àÔ#ð
/Ø×"Ò" 2 vÑ.Ô.Ð.ݘ$¥Ô 0Ñ1Ô1ð
/°d´lð
/Ø×"Ò" 2 vÑ.Ô.Ð.ØOŠO˜DœI˜O¨Ñ,Ô,Ð,ØOŠO˜DÑ!Ô!Ð!Ø×Ò˜gÑ&Ô&Ð&ØOŠO˜EÑ"Ô"Ð"Ñ"ݘH‘o”oˆŒÝ˜H‘o”oˆŒÝ˜jÑ)Ô)ˆŒ
ݘH‘o”oˆŒØ˜"˜¥ J¡¤Ñ/Ò/Ð/ݘ"eÔ.Ñ/Ô/ð
3°B´Jð
3Ý)Ø-/¨R¨Rð+2ñ3ô3ð3à”M×%Ò% hÑ/Ô/ˆŒ	Ø
Œ<ð	(؈BŒLØÔ×#Ò# BÑ'Ô'Ð'؈	s‚
›có¼—t|tj¦«st|›d¦«‚| ¦«s|st|›d¦«‚d|_dS)Nz cannot be partialz is partial but has no C nameT)rÈrÚ
StructOrUnionrÚ
has_c_namer7ri)r”rör8s   rrfzParser._make_partialhse€Ý˜"eÔ1Ñ2Ô2ð	<ݰb°b°bÐ:Ñ;Ô;Ð;؏}Š}‰Œð	P vð	PÝ%È"È"È"Ð&NÑOÔOÐO؈Œ
ˆ
ˆ
rcóÆ—t|tjj¦«rr|j}d|dcxkrdkrçnnä| d¦«}	| d¦«rt|d¦«St|d¦«S#t$rzt|¦«dkrd| 
¦«dd…d	krt|d
¦«cYS| 
¦«dd…dkrt|d¦«cYSYnwxYwtd|›¦«‚|dd
krS|dd
krGt|¦«dkst|¦«dkr!|ddkrt|d¦«Std|›¦«‚t|tjj
¦«r%|jdkr| |j¦«St|tjj
¦«r&|jdkr| |j¦«St|tjj¦«r |j|jvr|j|jSt|tjj¦«r2|jdkr'|r	d|_dSt+d|jjz¦«‚t|tjj¦«rü| |j¦«}| |j¦«}|jdkr||zS|jdkr||z
S|jdkr||zS|jdkr| ||¦«S|jdkr|| ||¦«|zz
S|jdkr||zS|jdkr||z	S|jdkr||zS|jdkr||zS|jd kr||zSt+d!|jjz¦«‚)"Nrãr	Ú9ÚuUlLr˜r«rrräéÚ0bzinvalid constant rr½r
éú\éþÿÿÿú+râÚ__dotdotdotarray__Tr_zT:%d: unsupported '[...]' here, cannot derive the actual array length in this contextrú/ú%z<<z>>ú&ú|ú^z?:%d: unsupported expression: expected a simple numeric constant)rÈrrÉÚConstantrðrèr$rUr¶r%rçrÚordr	r
r;rrrEr‘rhrr>rAÚBinaryOpÚleftÚrightÚ_c_div)r”rr¿rVrˆr‰s      rr;zParser._parse_constantos€õh¥	¤Ô 8Ñ9Ô9ñ	>Ø”ˆAؐa˜”dÐ!Ð!Ò!Ð!˜cÒ!Ð!Ð!Ð!Ð!Ø—H’H˜VÑ$Ô$ð
-Ø—|’| CÑ(Ô(ð*Ý" 1 a™yœyÐ(å" 1 b™zœzÐ)øÝ!ð-ð-ð-ݘ1‘v”v ’zzØŸ7š7™9œ9 Q q Sœ>¨TÒ1Ð1Ý#& q¨"¡:¤:Ð-Ð-Ð-ØŸWšW™YœY q¨ sœ^¨tÒ3Ð3Ý#& q¨!¡9¤9Ð,Ð,Ð,øøð-øøøõ i¸¸Ð <Ñ=Ô=Ð=ؐ1”˜’  2¤¨#¢ Ý˜‘F”F˜a’KK¥C¨¡F¤F¨a¢K K°A°a´D¸D²L°Lݘ1˜Rœ5‘z”zÐ!åi¸¸Ð <Ñ=Ô=Ð=åx¥¤Ô!8Ñ9Ô9ð	7Ø”˜sÒ"Ð"Ø×'Ò'¨¬
Ñ6Ô6Ð6åx¥¤Ô!8Ñ9Ô9ð	8Ø”˜sÒ"Ð"Ø×(Ò(¨¬Ñ7Ô7Ð7Ð7åx¥¤Ô!3Ñ4Ô4ð	6Ø”
 Ô!4Ð4Ð4ØÔ& x¤}Ô5Ð5åx¥¤Ô!3Ñ4Ô4ð	2Ø”MÐ%9Ò9Ð9Ø ð
Ø'+Ô$ؐuÝðEà%œ^Ô0ñ1ñ2ô2ð
2õh¥	¤Ô 8Ñ9Ô9ð	$Ø×'Ò'¨¬
Ñ6Ô6ˆDØ×(Ò(¨¬Ñ8Ô8ˆEØŒ{˜cÒ!Ð!ؘe‘|Ð#Ø” Ò#Ð#ؘe‘|Ð#Ø” Ò#Ð#ؘe‘|Ð#Ø” Ò#Ð#Ø—{’{ 4¨Ñ/Ô/Ð/Ø” Ò#Ð#ؘdŸkšk¨$°Ñ6Ô6¸Ñ>Ñ>Ð>Ø” Ò$Ð$ؘu‘}Ð$Ø” Ò$Ð$ؘu‘}Ð$Ø” Ò#Ð#ؘe‘|Ð#Ø” Ò#Ð#ؘe‘|Ð#Ø” Ò#Ð#ؘe‘|Ð#åð1Ø3;´>Ô3FñGñHôHð	HsÁ$B	Á9B	Â	A
D
Ã0D
ÄD
cóF—||z}|dk|dkzr||zdkr|dz
}|S)Nr	rr)r”ÚaÚbrYs    rrŠz
Parser._c_div¸s:€Øa‘ˆØ
ŠUq˜1’uÑð	 A¨¡E¨a¢< <Øa‰KˆF؈
rcóö—|àd}g}g}d}|jD]”}t |j¦«rd}Œ$|j| |j¦«}| |j¦«| |¦«| |j|¦«|dz
}Œ•t|¦«}t|¦«}tj
|||¦«}||_ntj
|dd¦«}|S)NFr	Trr)ÚenumeratorsÚ_r_enum_dotdotdotr)rErðr;r rßrUrÚEnumTyperi)	r”rprdrirÚ
enumvaluesÚ
nextenumvaluerürös	         rrazParser._build_enum_type¾s€ØÐ؈G؈K؈J؈MØÔ)ð	
#ð	
#Ý$×*Ò*¨4¬9Ñ5Ô5ðØ"GØØ”:Ð)Ø$(×$8Ò$8¸¼Ñ$DÔ$DMØ×"Ò" 4¤9Ñ-Ô-Ð-Ø×!Ò! -Ñ0Ô0Ð0Ø×#Ò# D¤I¨}Ñ=Ô=Ð=Ø Ñ"

Ý Ñ,Ô,ˆKݘzÑ*Ô*ˆJÝ” 
¨{¸JÑGÔGˆBØ ˆBŒJˆJå” 
¨r°2Ñ6Ô6ˆB؈	rcóR—|j ¦«D]W\}\}}| d¦«rŒ| dd¦«d}|dvr| ||d|¬¦«ŒX|j ¦«D]\}}| ||¦«ŒdS)Nzanonymous $enum_$rZrr	)rúrûrüÚ	anonymousrzT)rrÂ)rŠrîr$rrÕr‘rß)r”ÚotherrErörÂrnÚkÚvs        rÚincludezParser.includeÖsǀØ!&Ô!4×!:Ò!:Ñ!<Ô!<ð	Dð	DÑˆD‘+2u؏ŠÐ2Ñ3Ô3ð
ØØ—:’:˜c 1Ñ%Ô% aÔ(ˆDØÐJÐJÐJØ—
’
˜d B°¸U
ÑCÔCÐCøØÔ(×.Ò.Ñ0Ô0ð	&ð	&‰DˆAˆqØ×Ò  1Ñ%Ô%Ð%Ð%ð	&ð	&rcót—|jjj}|dgkrtj|j¦«S|dgkr/|j€d|jz|_tj|j¦«S|dgkr/|j€d|jz|_tj|j¦«Std|j	j
z¦«‚)Nr»Ú__dotdotdotint__z'typedef int... %s'Ú__dotdotdotfloat__z'typedef float... %s'ú*:%d: unsupported usage of "..." in typedef)rÍrÏrÚunknown_typerEr“ÚUnknownIntegerTypeÚUnknownFloatTyperr>rA)r”rFr£s   rrÐzParser._get_unknown_typeàsĀØ”I”NÔ(ˆ	ؘÐ)Ò)Ð)ÝÔ% d¤iÑ0Ô0Ð0àÐ+Ð,Ò,Ð,ØÔ%Ð-Ø)>ÀÄÑ)JÔ&ÝÔ+¨D¬IÑ6Ô6Ð6àÐ-Ð.Ò.Ð.àÔ%Ð-Ø)@À4Ä9Ñ)LÔ&ÝÔ)¨$¬)Ñ4Ô4Ð4åÐCØœœñ)ñ*ô*ð	*rcó¢—|jjjjdgkrtj|j¦«Std|jjz¦«‚)Nr»r)rÍrÏrÚunknown_ptr_typerErr>rA)r”rFs  rrÓzParser._get_unknown_ptr_typeósN€ØŒ9Œ>ÔÔ$¨Ð(9Ò9Ð9ÝÔ)¨$¬)Ñ4Ô4Ð4ÝÐCØœœñ)ñ*ô*ð	*r)FFNF)Fr	r)NFN)NF)F)r×Ú
__module__Ú__qualname__r•r©r°r rr·rßrìrÄrørËrrrÕr'rôrÔr?rMrrfr;rŠrar™rÐrÓrrrrˆrˆ'sþ€€€€€ð&ð&ð&ð%$ð%$ð%$ðNððððððAEØ#ð)ð)ð)ð)ð0=ð=ð=ð~'ð'ð'ð
0ð
0ð
0ð.ð.ð.ð"
+ð
+ð
+ð1Pð1Pð1Pðf3ð3ð3ð7ð7ð7ð1ð1ð1ð1ð
ð
ð
ð.ð.ð.ð.ðJOØ,0ðg%ðg%ðg%ðg%ðR!Ið!Ið!Ið!IðFðððtðtðtðtðlðððGHðGHðGHðGHðRðððððð0&ð&ð&ð*ð*ð*ð&*ð*ð*ð*ð*rrˆ)4rrÚcommontypesrrÚerrorrrrrÚImportErrorrr­ÚsysÚversion_infoÚthreadÚ_threadÚ
allocate_lockr›rršÚcompileÚDOTALLÚ	MULTILINEr`rarNrkrrir}rÚ
IGNORECASErïrgrfrhr5rrnrorr/r9rBrGrPrWrwr†Úobjectrˆrrrú<module>r²sMðØÐÐÐÐÐØ:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ø&Ð&Ð&Ð&Ð&Ð&Ð&Ð&ðØ)Ð)Ð)Ð)Ð)Ð)Ð)øØðððØÐÐÐÐÐðøøøàÐÐÐÐÐÐÐÐÐÐÐðØ
Ô˜$ÒÐØ Ð Ð Ð Ð àˆˆˆØ ˆ7Ô Ñ"Ô"€D€DøØðððØ€D€D€Dðøøøðððð,ÐØ
ˆRŒZÐ7Øœ	 B¤LÑ0ñ2ô2€
à
ˆRŒZð2àœ	 B¤LÑ0ñ2ô2€	ðB”JÐAÀ2Ä<ÑPÔPÐØ"”*Ð=Ñ>Ô>€ØB”JÐ3Ñ4Ô4ÐØ2”:Ð1Ñ2Ô2ÐØˆ2Œ:iÑ Ô €Ø€
ؐ”Ð4°b´mÑDÔD€ØˆbŒjÐ2Ñ3Ô3€ØˆbŒjÐ6Ñ7Ô7€Øˆ2Œ:nÑ%Ô%€Ø2”:ðOñPôPÐà b”jØ.ñ0ô0Ðà2”:ð(ñ)ô)ÐàR”ZÐ <Ñ=Ô=Ððððð(ð(ð(ðT0ð0ð0ðd
ð
ð
ð;ð;ð;ð$ð$ð$ð3ð3ð3ð@ð@ð@ðD%ð%ð%ðPP*ðP*ðP*ðP*ðP*ˆVñP*ôP*ðP*ðP*ðP*s˜Ÿ	+ª+»#AÁA)Á(A)