
    0hx                     >    S SK r SSKJr  SSKJr  Sr " S S\5      rg)    N   )ast)	XMLWriterz1.2c                   J  ^  \ rS rSr/ 4U 4S jjrS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS/S jrS rS rS rS rS rS0S jrS rS rS rS1S jrS rS rS2S jr S r!S  r"S! r#S" r$S# r%S$ r&S% r'S& r(S' r)S( r*S) r+/ 4S* jr,S+ r-S3S, jr.S- r/S.r0U =r1$ )4	GIRWriter    c                 z   > [         [        U ]  5         U R                  S5        X l        U R                  U5        g )NzThis file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations. )superr   __init__write_commentsources_roots_write_repository)self	namespacer   	__class__s      1/lib/gobject-introspection/giscanner/girwriter.pyr   GIRWriter.__init__"   s9    i')/	0 +y)    c                    S[         4SSSS/nU R                  SU5         [        UR                  5       H  nU R	                  U5        M     [        [        UR                  5      5       H  nU R                  U5        M     [        [        UR                  5      5       H  nU R                  U5        M     U R                  UR                  5        Xl        U R                  U5        S U l        S S S 5        g ! , (       d  f       g = f)Nversion)xmlnsz)http://www.gtk.org/introspection/core/1.0)zxmlns:cz&http://www.gtk.org/introspection/c/1.0)z	xmlns:docz(http://www.gtk.org/introspection/doc/1.0)z
xmlns:glibz)http://www.gtk.org/introspection/glib/1.0
repository)COMPATIBLE_GIR_VERSION
tagcontextsortedincludes_write_includesetexported_packages_write_pkgconfig_pkg
c_includes_write_c_include_write_doc_format
doc_format
_namespace_write_namespace)r   r   attrsincludepkg	c_includes         r   r   GIRWriter._write_repository+   s    ./BAEGI __\51!)"4"45##G, 6c)"="=>?))#. @#C	(<(<$=>	%%i0 ?""9#7#78'O!!),"DO 211s   CC<<
D
c                 `    SUR                   4SUR                  4/nU R                  SU5        g )Nnamer   r(   )r-   r   	write_tag)r   r(   r'   s      r   r   GIRWriter._write_include>   s,    ',,')W__)EFy%(r   c                 2    SU4/nU R                  SU5        g )Nr-   packager.   )r   r1   r'   s      r   r    GIRWriter._write_pkgconfig_pkgB   s    '"#y%(r   c                 2    SU4/nU R                  SU5        g )Nr-   z	c:includer2   )r   r*   r'   s      r   r"   GIRWriter._write_c_includeF   s    )$%{E*r   c                 2    SU4/nU R                  SU5        g )Nr-   z
doc:formatr2   )r   r$   r'   s      r   r#   GIRWriter._write_doc_formatJ   s    *%&|U+r   c                    SUR                   4SUR                  4SSR                  UR                  5      4SSR                  UR                  5      4SSR                  UR
                  5      4/nU R                  SU5         S n[        UR                  5       US	9 H  nU R                  U5        M     S S S 5        g ! , (       d  f       g = f)
Nr-   r   zshared-library,zc:identifier-prefixeszc:symbol-prefixesr   c                 P    [        U [        R                  5      (       a  SU 4$ SU 4$ )Nr   r   )
isinstancer   Alias)vals    r   nscmp)GIRWriter._write_namespace.<locals>.nscmpX   s%    c399--c6Mc6Mr   )key)
r-   r   joinshared_librariesidentifier_prefixessymbol_prefixesr   r   values_write_node)r   r   r'   r>   nodes        r   r&   GIRWriter._write_namespaceN   s    )..)Y../"CHHY-G-G$HI)388I4Q4Q+RS%sxx	0I0I'JK	M
 __[%0"
 y//1u=  & > 100s   4C  
Cc                    [        U[        R                  5      (       a  U R                  U5        g [        U[        R                  5      (       a  U R                  U5        g [        U[        R                  5      (       a  U R                  U5        g [        U[        R                  5      (       a  U R                  U5        g [        U[        R                  [        R                  45      (       a  U R                  U5        g [        U[        R                  5      (       a  U R                  U5        g [        U[        R                  5      (       a  U R!                  U5        g [        U[        R"                  5      (       a  U R%                  U5        g [        U[        R&                  5      (       a  U R)                  U5        g [        U[        R*                  5      (       a  g [        U[        R,                  5      (       a  U R/                  U5        g [        U[        R0                  5      (       a  U R3                  U5        g [        U[        R4                  5      (       a  U R7                  U5        g [9        SU5        g )NzWRITER: Unhandled node)r;   r   Function_write_functionFunctionMacro_write_function_macroEnum_write_enumBitfield_write_bitfieldClass	Interface_write_classCallback_write_callbackRecord_write_recordUnion_write_unionBoxed_write_boxedMemberr<   _write_aliasConstant_write_constant
DocSection_write_doc_sectionprint)r   rG   s     r   rF   GIRWriter._write_node`   s   dCLL))  &c//00&&t,chh''T"cll++  &syy#--899d#cll++  &cjj))t$cii((d#cii((d#cjj))cii((d#cll++  &cnn--##D)*D1r   c                 b    UR                   (       a  UR                  SUR                   45        g g )Nr   )r   appendr   rG   r'   s      r   _append_versionGIRWriter._append_version   s#    <<LL)T\\23 r   c                     UnU R                    HA  nSn [        R                  R                  X5      n[        U5      [        U5      :  d  M?  UnMC     U$ ! [         a    Un N0f = f)N )r   ospathrelpath
ValueErrorlen)r   filenameresrootrn   s        r   _get_relative_pathGIRWriter._get_relative_path   sg    &&DG#''//(9 7|c#h& ' 
  #"#s   AA%$A%c                    UR                   R                  5        H  u  p#U R                  SSU4SU4/5        M     [        US5      (       a  UR                  (       a  SSU R                  UR                  R                  5      4S[        UR                  R                  5      4/nUR                  R                  (       a0  UR                  S[        UR                  R                  5      45        U R                  SXAR                  5        [        US	5      (       a/  UR                  (       a  U R                  S
S/UR                  5        [        US5      (       a/  UR                  (       a  U R                  SS/UR                  5        [        US5      (       a/  UR                  (       a  U R                  SS/UR                  5        [        USS 5      " 5       nUb~  SU R                  UR                  5      4S[        UR                  5      4/nUR                  (       a&  UR                  S[        UR                  5      45        U R                  SU5        g g )N	attributer-   valuedoc)z	xml:spacepreserverq   linecolumnversion_doczdoc-versiondeprecated_doczdoc-deprecatedstability_doczdoc-stabilityget_main_positionc                      g N r   r   r   <lambda>*GIRWriter._write_generic.<locals>.<lambda>   s    Tr   zsource-position)
attributesitemsr.   hasattrry   rt   doc_positionrq   strr{   r|   rf   r}   r~   r   getattr)r   rG   r@   rx   r'   filepospositions          r   _write_genericGIRWriter._write_generic   s   ////1JCNN;&#%8H(IJ 2 4DHH.!8!89J9J9S9S!TUS!2!2!7!789;E   ''hD,=,=,D,D(EFGNN5%24''D,<,<NN=+D*E++- 4)**t/B/BNN+.G-H..0 4))d.@.@NN?-F,G--/ $ 3\BD#T%<%<W=M=M%NOW\\!235H~~3w~~+> ?@NN,h7 r   c                    UR                   (       d  UR                  (       d  UR                  S5        UR                  (       d  UR                  (       a  UR                  S5        UR                  (       a  UR                  SUR                  45        UR
                  (       a  UR                  SUR
                  45        g g )N)introspectable0)
deprecated1zdeprecated-version	stability)skipr   rf   r   r~   r   rg   s      r   _append_node_genericGIRWriter._append_node_generic   sz    99D//LL01??d11
 LL,-??LL.@A>>LL+t~~67 r   c                 J    UR                   (       a  UR                  S5        g g )N)throwsr   )r   rf   )r   funcr'   s      r   _append_throwsGIRWriter._append_throws   s    ;;LL) r   c                 H   SUR                   4/nUR                  b  UR                  SUR                  45        U R                  X5        U R	                  SU5         U R                  U5        U R                  UR                  5        S S S 5        g ! , (       d  f       g = f)Nr-   c:typealias)r-   ctyperf   r   r   r   _write_type_reftarget)r   r   r'   s      r   r^   GIRWriter._write_alias   sz    %**%&;;"LL(EKK01!!%/__We,&  . -,,s   -B
B!c                 t   SUR                   4/nUR                  U5        U R                  X5        U R                  X5        U R	                  X5        UR
                  b  UR                  SUR
                  45        UR                  b  UR                  SUR                  45        UR                  b  UR                  SUR                  45        U R                  X$5         U R                  U5        U R                  UR                  US9  U R                  U5        S S S 5        g ! , (       d  f       g = f)Nr-   zglib:finish-funczglib:sync-funczglib:async-funcparent)r-   extendrh   r   r   finish_funcrf   	sync_func
async_funcr   r   _write_return_typeretval_write_parameters)r   callabletag_nameextra_attrsr'   s        r   _write_callableGIRWriter._write_callable   s    (--()[!X-!!(2H,+LL,h.B.BCD)LL*H,>,>?@*LL+X-@-@AB__X-)##HOOH#E""8, .--s   #=D))
D7c                 b   UR                   (       a  g / n[        US5      (       a  UR                  SUR                  45        UR                  (       a  UR                  SUR                  45        O.UR
                  (       a  UR                  SUR
                  45        UR                  b  UR                  SUR                  45        UR                  b  UR                  SUR                  45        UR                  b  UR                  SUR                  45        U R                  XU5        g )Nsymbolc:identifierzshadowed-byshadowszmoved-tozglib:set-propertyzglib:get-property)
internal_skippedr   rf   r   shadowed_byr   moved_toset_propertyget_propertyr   )r   r   r   r'   s       r   _write_function_common GIRWriter._write_function_common   s      4""LL.$++67LL-)9)9:;\\LL)T\\23==$LL*dmm45(LL-t/@/@AB(LL-t/@/@ABTU3r   c                    SUR                   4SUR                  4/nU R                  X5        U R                  X5        U R	                  SU5         U R                  U5        U R                  U5        S S S 5        g ! , (       d  f       g = f)Nr-   r   zfunction-macro)r-   r   rh   r   r   r   _write_untyped_parameters)r   macror'   s      r   rM   GIRWriter._write_function_macro   st    %**% %,,/1U*!!%/__-u5&**51 655s   #A==
Bc                 h    UR                   (       a  U R                  USS9  g U R                  USS9  g )Nzfunction-inliner   function	is_inliner   )r   r   s     r   rK   GIRWriter._write_function   s2    '';L'M'':'Fr   c                 h    UR                   (       a  U R                  USS9  g U R                  USS9  g )Nzmethod-inliner   methodr   r   r   s     r   _write_methodGIRWriter._write_method  s1    '''I'''Br   c                 $    U R                  USS9  g )Nr   r   r   r   s     r   _write_static_methodGIRWriter._write_static_method
  s    ##FZ#@r   c                 $    U R                  USS9  g )Nconstructorr   r   r   s     r   _write_constructorGIRWriter._write_constructor  s    ##F]#Cr   c                    U(       d  g / nUR                   (       a  UR                  SUR                   45        UR                  (       a  UR                  S5        UR                  (       a"  UR                  (       d  UR                  S5        U R                  SU5         U R                  U5        U R                  UR                  US9  S S S 5        g ! , (       d  f       g = f)Ntransfer-ownershipr   r   nullabler   zreturn-valuer   )	transferrf   r   r   not_nullabler   r   _write_typetype)r   return_r   r'   s       r   r   GIRWriter._write_return_type  s    LL.0@0@AB<<LL'G$8$8LL*+__^U3(W\\&9 433s    ,C
C#c                 :   UR                   (       d  UR                  c  g U R                  S5         UR                  (       a  U R                  XR                  S5        UR                    H  nU R                  X5        M     S S S 5        g ! , (       d  f       g = f)N
parameterszinstance-parameter)r   instance_parameterr   _write_parameter)r   r   	parameters      r   r   GIRWriter._write_parameters  so    ""x'B'B'J__\***%%h0K0KMab%00	%%h: 1 +**s   AB
Bc                     UR                   (       d  g U R                  S5         UR                    H  nU R                  X5        M     S S S 5        g ! , (       d  f       g = f)Nr   )r   r   _write_untyped_parameter)r   r   r   s      r   r   #GIRWriter._write_untyped_parameters(  sD    __\*"--	--e? . +**s   %A
A c                     / nUR                   b  UR                  SUR                   45        U R                  SU5         U R                  U5        S S S 5        g ! , (       d  f       g = f)Nr-   r   )argnamerf   r   r   )r   r   r   r'   s       r   r   "GIRWriter._write_untyped_parameter/  sR    (LL&)"3"345__[%0	* 100s   A
A(c                 &   / nUR                   b  UR                  SUR                   45        UR                  bS  UR                  S:w  aC  UR                  SUR                  45        UR                  SUR                  (       a  SOS45        UR                  (       a  UR                  SUR                  45        UR
                  (       aQ  UR                  (       d@  UR                  S5        UR                  [        R                  :w  a  UR                  S	5        UR                  (       a@  UR                  S
5        UR                  [        R                  :X  a  UR                  S	5        UR                  (       a  UR                  SUR                  45        UR                  b2  UR                  UR                  5      nUR                  SSU4-  45        UR                  b2  UR                  UR                  5      nUR                  SSU4-  45        UR                  (       a  UR                  S5        U R                  X45         U R!                  U5        U R#                  UR$                  US9  S S S 5        g ! , (       d  f       g = f)Nr-   in	directionzcaller-allocatesr   r   r   r   )z
allow-noner   )optionalr   scopeclosure%ddestroyr   r   )r   rf   r   caller_allocatesr   r   r   r   PARAM_DIRECTION_OUTr   r   closure_nameget_parameter_indexdestroy_namer   r   r   r   r   )r   r   r   nodenamer'   idxs         r   r   GIRWriter._write_parameter6  s   (LL&)"3"345+)2E2E2MLL+y':':;<LL,!*!;!;#F GLL.#,,. /i&<&<LL*+""c&=&==01LL*+""c&=&==01??LL'9??34!!-,,Y-C-CDCLL)TSG^45!!-,,Y-C-CDCLL)TSG^45>>LL'__X-	*Y^^F; .--s   ,J
Jc                 8   UR                   (       d  [        SU< SUR                  < S35      eUR                  c   eU R                  R
                  S-   nUR                  R                  U5      (       a  UR                  [        U5      S  $ UR                  $ )NzCaught unresolved type z (ctype=).)resolvedAssertionErrorr   target_ginamer%   r-   
startswithrp   )r   typevalprefixs      r   _type_to_nameGIRWriter._type_to_nameW  s     7T[TaTa!bcc$$000%%+  ++F33((V66$$$r   c                    [        U[        R                  5      (       d   U5       e/ nUR                  (       a0  UR	                  SUR
                  =(       d    UR                  45        [        U[        R                  5      (       aG  UR                  [        R                  R                  :w  a  UR                  SSUR                  45        O[        U[        R                  5      (       a0  UR                  (       a  UR                  SSUR                  45        O[        U[        R                  5      (       a  UR                  SS5        OdUR                  (       a$  UR                  SSU R                  U5      45        O/UR                  (       a  UR                  SSUR                  45        U R!                  SU5        g)zMLike _write_type, but only writes the type name rather than the full details r   r   r-   r-   zGLib.HashTabler   N)r;   r   Typer   rf   complete_ctypeArray
array_typeCinsertListr-   Mapr  r  target_fundamentalr.   )r   ntyper'   s      r   r   GIRWriter._write_type_ref`  s2   %**1E1*;;LL(E$8$8$GEKKHIeSYY''399;;.Q)9)9 :;sxx((zzQ 45sww''LL67""Q););E)B CD))Q)A)A BCvu%r   c                    [        U[        R                  5      (       d   U5       e/ nUR                  (       a  UR	                  SUR                  45        O.UR
                  (       a  UR	                  SUR
                  45        [        U[        R                  5      (       a  U R                  S/ 5        g [        U[        R                  5      (       Ga  UR                  [        R                  R                  :w  a  UR                  SSUR                  45        UR                  (       d  UR                  SS5        O=UR                  (       a,  UR                  c  UR                  b  UR                  SS5        UR                  b!  UR	                  SSUR                  4-  45        UR                  b  [        U[        R                  5      (       a  UR!                  UR                  5      nOE[        U[        R"                  5      (       a  UR%                  UR                  5      nO
 S	U-  5       eUR                  SS
SU4-  45        U R'                  SU5         U R)                  UR*                  5        S S S 5        g [        U[        R,                  5      (       af  UR.                  (       a  UR                  SSUR.                  45        U R'                  SU5         U R)                  UR*                  5        S S S 5        g [        U[        R0                  5      (       ad  UR                  SS5        U R'                  SU5         U R)                  UR2                  5        U R)                  UR4                  5        S S S 5        g UR6                  (       a$  UR                  SSU R9                  U5      45        OSUR:                  (       a  UR                  SSUR:                  45        O#UR<                  (       a  UR                  SS5        U R                  SU5        g ! , (       d  f       g = f! , (       d  f       g = f! , (       d  f       g = f)Nr   varargsr   r-   )zero-terminatedr   )r  r   z
fixed-sizer   z%parent not a callable or compound: %rlengtharrayr   r	  foreignr   )r;   r   r
  r  rf   r   Varargsr.   r  r  r  r  zeroterminatedsizelength_param_nameCallabler   Compoundget_field_indexr   r   element_typer  r-   r  key_type
value_typer  r  r  target_foreign)r   r  relationr   r'   r  s         r   r   GIRWriter._write_typev  s   %**1E1*LL(E$8$89:[[LL(EKK01eS[[))NN9b)syy))399;;.Q)9)9 :; ''Q 89&&zz-1H1H1TQ 89zz%lDEJJ>,ABC&&2fcll33#778O8OPF55#33E4K4KLFR"IF"RR5Q46*+< =>%0  !3!34 10sxx((zzQ 45/  !3!34 0/sww''LL67/  0  !1!12 0/
 ""Q););E)B CD))Q)A)A BC%%Q 01NN65)+ 10
 0/ 0/s$   $P,)P=7Q,
P:=
Q
Qc                     [        U[        R                  5      (       d   eUR                  (       a,  UR	                  SUR
                  4SUR                  4/5        g g )Nglib:type-nameglib:get-type)r;   r   
Registeredget_typer   
gtype_namerg   s      r   _append_registeredGIRWriter._append_registered  sN    $////==LL+T__=*DMM:< = r   c                 :   SUR                   4/nU R                  X5        U R                  X5        U R                  X5        UR	                  SUR
                  45        UR                  (       a  UR	                  SUR                  45        U R                  SU5         U R                  U5        UR                   H  nU R                  U5        M     [        UR                  5       H  nU R                  U5        M     S S S 5        g ! , (       d  f       g = f)Nr-   r   zglib:error-domainenumeration)r-   rh   r   r/  rf   r   error_domainr   r   members_write_memberr   static_methodsr   )r   enumr'   memberr   s        r   rO   GIRWriter._write_enum  s    $))$%T)!!$.,h

+,LL-t/@/@AB__]E2%,,""6* ' !4!45))&1 6	 322s    A#D
Dc                    SUR                   4/nU R                  X5        U R                  X5        U R                  X5        UR	                  SUR
                  45        U R                  SU5         U R                  U5        UR                   H  nU R                  U5        M     [        UR                  5       H  nU R                  U5        M     S S S 5        g ! , (       d  f       g = f)Nr-   r   bitfield)r-   rh   r   r/  rf   r   r   r   r4  r5  r   r6  r   )r   r;  r'   r8  r   s        r   rQ   GIRWriter._write_bitfield  s    (--()X-!!(20h/0__Z/)"**""6* + !8!89))&1 :	 0//s   2A#C
C,c                    SUR                   4S[        UR                  5      4SUR                  4/nU R	                  X5        U R                  X5        UR                  b  UR                  SUR                  45        UR                  b  UR                  SUR                  45        U R                  SU5         U R                  U5        S S S 5        g ! , (       d  f       g = f)Nr-   rx   r   z	glib:nick	glib:namer8  )r-   r   rx   r   rh   r   nickrf   	dump_namer   r   )r   r8  r'   s      r   r5  GIRWriter._write_member  s    &++&3v||,- &--02 	V+!!&0;;"LL+v{{34'LL+v'7'789__Xu-' .--s   ;C
C$c                     SUR                   4/nU R                  SU5         U R                  U5        S S S 5        g ! , (       d  f       g = f)Nr-   
docsection)r-   r   r   )r   doc_sectionr'   s      r   rb   GIRWriter._write_doc_section  s=    +**+,__\51, 211s	   =
Ac                 J   SUR                   4SUR                  4SUR                  4/nU R                  X5        U R	                  X5        U R                  SU5         U R                  U5        U R                  UR                  5        S S S 5        g ! , (       d  f       g = f)Nr-   rx   r   constant)	r-   rx   r   rh   r   r   r   r   r%  )r   rG  r'   s      r   r`   GIRWriter._write_constant  s    (--(8>>*HNN+- 	X-!!(2__Z/)X001 0//s   -B
B"c           	      	   SUR                   4SUR                  4SUR                  4/nU R                  X5        U R	                  X5        [        U[        R                  5      (       a  SnUR                  b,  UR                  SU R                  UR                  5      45        UR                  (       a  UR                  S5        UR                  (       a  UR                  S5        O#[        U[        R                  5      (       d   eSnUR                  S	UR                  45        UR                  b  UR                  S
UR                  45        UR                   b,  UR                  SU R                  UR                   5      45        [        U[        R                  5      (       a  UR"                  (       a  UR                  S5        UR$                  (       a  UR                  SUR$                  45        UR&                  (       a  UR                  SUR&                  45        UR(                  (       a  UR                  SUR(                  45        UR*                  (       a  UR                  SUR*                  45        U R-                  X25         U R/                  U5        [        U[        R                  5      (       a@  [1        UR2                  5       H'  nU R5                  SSU R                  U5      4/5        M)     [        U[        R                  5      (       a@  [1        UR6                  5       H'  nU R5                  SSU R                  U5      4/5        M)     [        U[        R                  5      (       a-  [1        UR8                  5       H  nU R;                  U5        M     [1        UR<                  5       H  nU R?                  U5        M     [1        UR@                  5       H  nU RC                  U5        M     [1        URD                  5       H  nU RG                  U5        M     [1        URH                  5       H  nU RK                  U5        M     URL                   H  nU RO                  X5        M     [1        URP                  5       H  n	U RS                  U	5        M     S S S 5        g ! , (       d  f       g = f)Nr-   c:symbol-prefixr   classr   )abstractr   )finalr   	interfacer*  r+  zglib:type-struct)zglib:fundamentalr   zglib:ref-funczglib:unref-funczglib:set-value-funczglib:get-value-func
implementsprerequisite)*r-   c_symbol_prefixr   rh   r   r;   r   rR   parent_typerf   r  is_abstractis_finalrS   r.  r-  glib_type_structfundamentalref_func
unref_funcset_value_funcget_value_funcr   r   r   
interfacesr.   prerequisitesconstructorsr   r6  r   virtual_methods_write_vfuncmethodsr   
properties_write_propertyfields_write_fieldsignals_write_signal)
r   rG   r'   r   ifacer   vfuncpropfieldsignals
             r   rT   GIRWriter._write_class  s   $))$#T%9%9:DJJ') 	T)!!$.dCII&&H+h"001A1ABD E./}}^,dCMM2222"H&89==$LL/4==9:  ,LL,,,T-B-BCE FdCII&&67}}ot}}=>/AB""3T5H5HIJ""3T5H5HIJ__X-%$		**#DOO4ENN<%+T-?-?-F$G#HJ 5 $..#D$6$67ENN>%+T-?-?-F$G#HJ 8 $		**$T%6%67F++F3 8 !4!45))&1 6 4 45!!%( 6 .""6* /t/$$T* 0!!%. % .""6* // .--s   H!S
Sc                     SUR                   4/nUR                  b  UR                  SUR                  45        U R                  X5        U R	                  SU5         U R                  U5        [        UR                  5       H  nU R                  U5        M     [        UR                  5       H  nU R                  U5        M     [        UR                  5       H  nU R                  U5        M     S S S 5        g ! , (       d  f       g = f)Nr>  rJ  z
glib:boxed)r-   rQ  rf   r/  r   r   r   r]  r   r`  r   r6  r   )r   boxedr'   r   s       r   r\   GIRWriter._write_boxed(  s    uzz*+  ,LL+U-B-BCD-__\51& !3!34''/ 5 /""6* 0 !5!56))&1 7 211s   BC??
Dc                    SUR                   4/nU R                  X5        U R                  X5        UR                  (       d  UR	                  S5        UR
                  (       a  UR	                  S5        UR                  (       a  UR	                  S5        UR                  (       a  UR	                  S5        UR                  (       a  UR	                  SUR                  45        UR                  (       a  UR	                  SUR                  45        UR                  (       a  UR	                  SUR                  45        UR                  (       a  UR	                  S	UR                  45        U R                  S
U5         U R                  U5        U R                  UR                  5        S S S 5        g ! , (       d  f       g = f)Nr-   readabler   writabler   )	constructr   )zconstruct-onlyr   r   settergetterzdefault-valueproperty)r-   rh   r   rr  rf   rt  ru  construct_onlyr   rv  rw  default_valuer   r   r   r   )r   ri  r'   s      r   rb  GIRWriter._write_property6  s0   $))$%T)!!$.}}LL*+==LL*+>>LL+,LL01==LL.>?;;LL(DKK01;;LL(DKK01LL/4+=+=>?__Z/%TYY' 0//s   -F::
Gc                     / nUR                   (       a  UR                  SUR                   45        U R                  USU5        g )Ninvokerzvirtual-method)r}  rf   r   )r   vfr'   s      r   r_  GIRWriter._write_vfuncO  s6    ::LL)RZZ01R!159r   c                     / nUR                   UR                  :w  a  UR                  SUR                   45        U R                  USU5        g )Nr   callback)r   r-   rf   r   )r   r  r'   s      r   rV   GIRWriter._write_callbackU  s>    >>X]]*LL(HNN34Xz59r   c                    Sn[        U5      nUR                  b  UR                  SUR                  45        UR                  b  UR                  SUR                  45        UR                  (       a  UR                  S5        UR
                  (       a  UR                  S5        UR                  (       a  UR                  S5        UR                  (       a  UR                  S5        UR                  b.  SnUR                  S	U R                  UR                  5      45        UR                  (       a  UR                  S
UR                  45        UR                  (       a  UR                  SUR                  45        U R                  X5        U R                  X5        U R                  X5        UR                  (       a  UR                  SUR                  45        U R!                  SU5         U R#                  U5        UR$                  (       a%  UR$                   H  nU R'                  XQU5        M     [)        UR*                  5       H  nU R-                  U5        M     [)        UR.                  5       H  nU R1                  U5        M     [)        UR2                  5       H  nU R5                  U5        M     S S S 5        g ! , (       d  f       g = f)NFr-   r   )	disguisedr   )opaquer   )pointerr   r  Tzglib:is-gtype-struct-forcopy-functionfree-functionrJ  record)listr-   rf   r   r  r  r  r  is_gtype_struct_forr  	copy_func	free_funcrh   r   r/  rQ  r   r   rc  rd  r   r]  r   r`  r   r6  r   )r   r  r   is_gtype_structr'   rj  r   s          r   rX   GIRWriter._write_record[  s   [!;;"LL&&++./<<#LL(FLL12LL+,==LL)>>LL)*>>LL)*%%1"OLL4,,V-G-GHJ KLL/6+;+;<=LL/6+;+;<=V+!!&0.!!LL+V-C-CDE__Xu-'}}#]]E%%e_E + !4!45''/ 6 0""6* 1 !6!67))&1 8 .--s   4CK
Kc                    / nUR                   b  UR                  SUR                   45        UR                  b  UR                  SUR                  45        U R                  X5        U R	                  X5        U R                  X5        UR                  (       a  UR                  SUR                  45        UR                  (       a  UR                  SUR                  45        UR                  (       a  UR                  SUR                  45        U R                  SU5         U R                  U5        UR                  (       a$  UR                   H  nU R                  X15        M     [        UR                  5       H  nU R                  U5        M     [        UR                   5       H  nU R#                  U5        M     [        UR$                  5       H  nU R'                  U5        M     S S S 5        g ! , (       d  f       g = f)Nr-   r   rJ  r  r  union)r-   rf   r   rh   r   r/  rQ  r  r  r   r   rc  rd  r   r]  r   r`  r   r6  r   )r   r  r'   rj  r   s        r   rZ   GIRWriter._write_union  sz   ::!LL&%**-.;;"LL(EKK01U*!!%/-  LL+U-B-BCD??LL/5??;<??LL/5??;<__We,&||"\\E%%e3 * !3!34''/ 5 /""6* 0 !5!56))&1 7 -,,s   &CG==
Hc                    UR                   (       Ga4  [        UR                   [        R                  5      (       ah  SUR                  4/nU R                  X5        U R                  SU5         U R                  U5        U R                  UR                   5        S S S 5        g [        UR                   [        R                  5      (       a  U R                  UR                   5        g [        UR                   [        R                  5      (       a  U R                  UR                   5        g [        SUR                   < 35      eSUR                  4/nU R                  X5        U R                  X5        UR                  (       d  UR!                  S5        UR"                  (       a  UR!                  S5        UR$                  (       a&  UR!                  S['        UR$                  5      45        UR(                  (       a  UR!                  S5        U R                  SU5         U R                  U5        U R+                  UR,                  US9  S S S 5        g ! , (       d  f       g = f! , (       d  f       g = f)	Nr-   rj  zUnknown field anonymous: rq  rs  bits)privater   r   )anonymous_noder;   r   rU   r-   r   r   r   rV   rW   rX   rY   rZ   r  rh   rr  rf   rt  r  r   r  r   r   )r   rj  r   r  r'   s        r   rd  GIRWriter._write_field  s   %..== %**-.))%7__We4''.(()=)=> 54 E00#**==""5#7#78E00#))<<!!%"6"67$eFZFZ%]^^ejj)*E  .%%e3 >>./~~./zzfc%**o67}}-.%0##E*  F ; 10/ 54. 10s   .-I',I-
I*-
I;c                     SUR                   4/nUR                  (       a  UR                  SUR                  45        UR                  (       a  UR                  S5        UR                  (       a  UR                  S5        UR
                  (       a  UR                  S5        UR                  (       a  UR                  S5        UR                  (       a  UR                  SUR                  45        U R                  X5        U R                  X5        U R                  SU5         U R                  U5        U R                  UR                  5        U R                  U5        S S S 5        g ! , (       d  f       g = f)	Nr-   when)z
no-recurser   )detailedr   )actionr   )zno-hooksr   emitterzglib:signal)r-   r  rf   
no_recurser  r  no_hooksr  rh   r   r   r   r   r   r   )r   rk  r'   s      r   rf  GIRWriter._write_signal  s    &++&';;LL&&++./LL,-??LL*+==LL)??LL*+>>LL)V^^45V+!!&0__]E2'##FMM2""6* 322s   (>E//
E=)r%   r   )r   r   )r   )NN)F)2__name__
__module____qualname____firstlineno__r   r   r   r    r"   r#   r&   rF   rh   rt   r   r   r   r^   r   r   rM   rK   r   r   r   r   r   r   r   r   r  r   r   r/  rO   rQ   r5  rb   r`   rT   r\   rb  r_  rV   rX   rZ   rd  rf  __static_attributes____classcell__)r   s   @r   r   r       s    02 *#&))+,'$2>4 8B8"*/-"4$2GCAD:;@+<B%&,4*l=2 2(-
2;+z2(2:: 13 &2P26<@+ +r   r   )rl   rk   r   	xmlwriterr   r   r   r   r   r   <module>r     s&   , 
     r
+	 r
+r   