� ��2Yc�����������@`�sh��d��d�l��m�Z�d��d�l��m�Z�d��d�l��m�Z�d��d�l��m�Z�d��d�l�Z�d��d�l�Z�d��d�l�Z�d��d�l�Z�d��d�l �Z �d��d�l �m�Z�d�d�l�m �Z �d�d �l�m�Z�d�d �l�m�Z�d�d�l�m�Z�d�d�l�m�Z�d�Z�d�Z�d�Z�d�Z�d�Z�d �Z�d!�Z�d"�Z�d�e�f�d�������YZ�d�e�f�d�������YZ�d�e�f�d�������YZ�d�e�f�d�������YZ �d�S(#���i����(���t���absolute_import(���t���division(���t���print_function(���t���unicode_literalsN(���t���parsei���(���t���ast(���t���message(���t���utils(���t���TransformerException(���t���to_underscoresi���i���i���i���i���i���t���IntrospectionBinaryc�����������B`�s���e��Z�d�d����Z�RS(���c���������C`�s:���|�|��_��|�d��k�r-�t�j�d�d���|��_�n �|�|��_�d��S(���Nu����u���tmp-introspect(���t���argst���Nonet���tempfilet���mkdtempt���tmpdir(���t���selfR���R���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyt���__init__4���s���� N(���t���__name__t ���__module__R���R���(����(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyR ���2���s���t ���Unresolvedc�����������B`�s���e��Z�d�����Z�RS(���c���������C`�s ���|�|��_��d��S(���N(���t���target(���R���R���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyR���>���s����(���R���R���R���(����(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyR���<���s���t���UnknownTypeErrorc�����������B`�s���e��Z�RS(����(���R���R���(����(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyR���B���s���t���GDumpParserc�����������B`�s����e��Z�d�����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z �d����Z �d ����Z�d ����Z�d����Z �d����Z�d ����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�RS(���c���������C`�sO���|�|��_��|�j�|��_�d��|��_�g��|��_�g��|��_�i��|��_�i��|��_�i��|��_ �d��S(���N( ���t���_transformert ���namespacet ���_namespaceR���t���_binaryt���_get_type_functionst���_error_quark_functionst���_error_domainst���_boxed_typest���_private_internal_types(���R���t���transformer(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyR���H���s���� c���������C`�s����x9�|��j��j����D](�}�t�|�t�j���r�|��j�|���q�q�W|��j��j�d�k�s`�|��j��j�d�k�r��x<�|��j��j����D](�}�t�|�t�j���rp�|��j�|���qp�qp�Wn��d�S(���u����Do parsing steps that don't involve the introspection binary This does enough work that get_type_functions() can be called. u���GObjectu���GLibN( ���R���t���valuest ���isinstanceR���t���Functiont���_initparse_functiont���namet���Recordt���_initparse_gobject_record(���R���t���node(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyt ���init_parseT���s����$c���������C`�s���|��j��S(���N(���R���(���R���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyt���get_get_type_functionse���s����c���������C`�s���|��j��S(���N(���R���(���R���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyt���get_error_quark_functionsh���s����c���������C`�s ���|�|��_��d��S(���N(���R���(���R���t���binary(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyt���set_introspection_binaryk���s����c���������C`�s���|��j�����}�|�j����}�x:�|�D]2�}�|�j�d�k�rD�|��j�|���q�|��j�|���q�Wx*�|��j�j����D]�\�}�}�|��j�|���qe�WxB�|��j�j ����D]1�}�t �|�t�j�t�j �f���r��|��j�|���q��q��Wg��}�x��|��j�j����D]��\�}�}�t �|�t�j���r��|�j�d�k �r��|�j�}�|�d�k�r%q��n��|��j�j�|���\�} �}�|��j�j�|���} �|�j�| ���q��q��Wx�|�D]�}�|��j�j�|���qjWd�S(���u9���Do remaining parsing steps requiring introspection binaryu���error-quarku���internN(���t���_execute_binary_get_treet���getroott���tagt���_introspect_error_quarkt���_introspect_typeR���t���itemst���_pair_boxed_typeR���R"���R#���R���t���Classt ���Interfacet���_find_class_recordt ���Registeredt���get_typeR���R���t ���split_csymbolt���gett���appendt���remove(���R���t���treet���roott���childR&���t���boxedR)���t ���to_removet ���get_type_namet���nst ���get_type_func(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyR���n���s,���� ! c���������C`�s���t��j�j�|��j�j�d���}�t�|�d����}�}�x8�|��j�D]-�}�|�j�d���|�j�|���|�j�d���q7�Wx8�|��j�D]-�}�|�j�d���|�j�|���|�j�d���qr�WWd�QXt��j�j�|��j�j�d���}�g��}�t��j �j �d���}�|�r��|�j�|�j������n��|�j�|��j�j ���|�j�d �|�|�f���zV�y#�t�j�|�d �t�j�d�t�j��Wn"�t�j�k �rl}�t�|�����n�Xt�|���SWd�t�j�d���s�t�j�|��j�j���n��Xd�S( ���uw���Load the library (or executable), returning an XML blob containing data gleaned from GObject's primitive introspection.u ���functions.txtu���wu ���get-type:u��� u���error-quark:Nu���dump.xmlu���GI_CROSS_LAUNCHERu���--introspect-dump=%s,%st���stdoutt���stderru ���save-temps(���t���ost���patht���joinR���R���t���openR���t���writeR���t���environR<���t���extendt���splitR���R=���t ���subprocesst ���check_callt���sysRG���RH���t���CalledProcessErrort ���SystemExitR���R���t���have_debug_flagt���shutilt���rmtree(���R���t���in_patht���ft���funct���out_pathR���t���launchert���e(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyR/�������s2���� #c���������C`�sm���|�j��}�|�j�d���r�d��S|�j�d���s:�|�j�d���rJ�|��j�|���n�|�j�d���ri�|��j�|���n��d��S(���Nu���_u ���_get_typeu ���_get_gtypeu���_error_quark(���t���symbolt ���startswitht���endswitht���_initparse_get_type_functiont���_initparse_error_quark_function(���R���R[���R_���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyR%�������s���� c���������C`�s:���|�j��d�k�r�t�S|�j����r6�|��j�j�|�j����t�St�S(���Nu���g_variant_get_gtype(���R_���t���Truet���is_type_meta_functionR���R=���t���False(���R���R[���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyRb�������s����c���������C`�s0���|�j��j�j�d�k�r�t�S|��j�j�|�j���t�S(���Nu���GQuark(���t���retvalt���typet���ctypeRf���R���R=���R_���Rd���(���R���R[���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyRc�������s����c���������C`�sZ��|�j��j�d���r��|�j��d�k�r��d��}�|�j��d�k�rK�t�j�d�d���}�n��t�|�j����j����}�t�j�|�j��|�d�|�j�d�|�j�j �d �d ���d�d�d �|��}�t �|�_�|�j��d�k�r��t �|�_�n��|��j �|���|��j�j�|�d�t ��nm�|�j��d�k�r#t�j�d�d�d�d�d�d �d��|��j�d�<n3�|�j��d�k�rV|��j�j�d���j�|�_�t�|�_�n��d��S(���Nu ���ParamSpecu ���ParamSpecPoolu���ParamSpecClassu���ParamSpecTypeInfot ���target_ginameu���GObject.ParamSpecRi���t ���gtype_nameu���Specu����R:���u���internt���c_symbol_prefixt���replaceu���Variantu���GVariantu���variantu���InitiallyUnownedClassu���ObjectClass(���u ���ParamSpecPoolu���ParamSpecClassu���ParamSpecTypeInfo(���R&���R`���R���R���t���TypeR ���t���lowerR6���Ri���Rm���Rd���t���fundamentalt���is_abstractt���_add_record_fieldsR���R=���t���BoxedR���R<���t���fieldsRf���t ���disguised(���R���t���recordt���parentt���prefixR)���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyR(�������s0���� c���������C`�s����|�j��d�k�r�|��j�|���n��|�j��d�k�r>�|��j�|���no�|�j��d�k�r]�|��j�|���nP�|�j��d�k�r|�|��j�|���n1�|�j��d�k�r��|��j�|���n�t�d�|�j������d��S( ���Nu���enumu���flagsu���classu ���interfaceu���boxedu���fundamentalu"���Unhandled introspection XML tag %s(���u���enumu���flags(���R1���t���_introspect_enumt���_introspect_objectt���_introspect_interfacet���_introspect_boxedt���_introspect_fundamentalt ���ValueError(���R���t���xmlnode(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyR3�������s����c���������C`�s���|�j��d�}�|��j�|���\�}�}�y�|��j�j�|���}�Wn �t�k �rZ�}�t�j�|���n�Xi��}�|��j�j�|���}�t �|�t �j�t �j�f���r��x$�|�j �D]�} �| �j�|�| �j�<q��Wn��g��} �x��|�j�d���D]r�} �| �j��d�j�d�d���}�|�|�k�r|�|�}�n �| �j��d�}�| �j�t �j�|�|�| �j��d�| �j��d�����q��W|�j�d�k�r\t �j�} �n �t �j�} �| �|�|�d�|�d �|�d �| �d�|�j��d��}�|��j�j�|�d �t��d��S(���Nu���nameu���memberu���nicku���-u���_u���valueu���flagsRk���Rl���t���membersR:���u���get-typeRm���(���t���attribt���_split_type_and_symbol_prefixR���t���strip_identifierR���R���t���fatalR���R<���R#���R���t���Enumt���BitfieldR����t���valueR&���t���findallRm���R=���t���MemberR1���Rd���(���R���R���t ���type_nameR:���Rl���t ���enum_nameR^���t���previous_valuest���previoust���memberR����R&���R����t���klassR)���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyRy�����s<���� c���������C`�s����|�j��d�}�|��j�j�|���\�}�}�|�d�k�rX�t�j�d�|�j��d�|��j�j�f���n��|�j�d���rp�d�}�n�d�}�|�|�t�|��� f�S(���u6���Infer the C symbol prefix from the _get_type function.u���get-typeu���get_typeu ���_get_gtypeu����The GObject name '%s' isn't compatible with the configured identifier prefixes: %r The class would have no name. Most likely you want to specify a different --identifier-prefix.u���nameu ���_get_type(���u���get_typeu ���_get_gtype( ���R����R���R;���R���R����R���t���identifier_prefixesRa���t���len(���R���R���R:���RE���R&���t���type_suffix(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyR����0��s���� ! c��� ������C`�s��|�j��d�}�t�|�j��j�d�t�����}�|��j�|���\�}�}�y�|��j�j�|���}�Wn �t�k �ru�}�t�j �|���n�Xt �j�|�d��d�|�d�|�d�|�d�|��}�|��j �|�|���|��j�|�|���|��j�|�|���|��j�|�|���|��j�|���|��j�j�|�d�t��d��S(���Nu���nameu���abstractRk���R:���Rl���Rq���Rm���(���R����t���boolR<���Rf���R����R���R����R���R���R����R���R6���R���t���_parse_parentst���_introspect_propertiest���_introspect_signalst"���_introspect_implemented_interfacesRr���R���R=���Rd���( ���R���R���R����Rq���R:���Rl���t���object_nameR^���R)���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyRz���A��s$���� c������ ���C`�sx��|�j��d�}�|��j�|���\�}�}�y�|��j�j�|���}�Wn �t�k �rZ�}�t�j�|���n�Xt�j�|�d��d�|�d�|�d�|��}�|��j �|�|���|��j�|�|���xF�|�j�d���D]5�}�|�j��d�} �t�j �j�| ���} �|�j�j�| ���q��W|��j�j�|�j���}�t�|�t�j���r|�j�|�_�n�t�j�|�d�|�j�f���|�j��d�j�d���r^|�|��j�|�<n�|��j�j�|�d �t��d��S( ���Nu���nameRk���R:���Rl���u���prerequisiteu+���Couldn't find associated structure for '%s'u���get-typeu���_Rm���(���R����R����R���R����R���R���R����R���R7���R���R����R����R����Rn���t���create_from_gtype_namet ���prerequisitesR=���R���R<���R&���R#���R'���Ri���t ���warn_nodeR`���R ���Rd���(���R���R���R����R:���Rl���t���interface_nameR^���R)���RA���R&���t���prereqRv���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyR{���U��s.���� c���������C`�s5���t��j�d�d�d�d�d�d�d��}�|�|��j�|�j�<d��S(���Nu���ParamSpecMiniObjectRk���u���GParamSpecMiniObjectR:���u#���gst_param_spec_mini_object_get_typeRl���u���param_spec_mini_object(���R���Rs���R���Rk���(���R���R���R)���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyt&���_introspect_boxed_gstreamer_workaroundv��s���� c���������C`�s����|�j��d�}�|�d�k�r*�|��j�|���d��Sy�|��j�j�|���}�Wn �t�k �rb�}�t�j�|���n�X|��j�|���\�}�}�t�j �|�d�|�d�|�d�|��}�|�|��j �|�j�<d��S(���Nu���nameu���GParamSpecMiniObjectRk���R:���Rl���(���R����R����R���R����R���R���R����R����R���Rs���R���Rk���(���R���R���R����R&���R^���R:���Rl���R)���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyR|���|��s���� c���������C`�sS���g��}�x=�|�j��d���D],�}�t�j�j�|�j�d���}�|�j�|���q�W|�|�_�d��S(���Nu ���implementsu���name(���R����R���Rn���R����R����R=���t ���interfaces(���R���R)���R���t ���gt_interfacest ���interfacet���gitype(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyR�������s ����c��� ��� ���C`�s����x��|�j��d���D]��}�|�j�d�}�t�|�j�d���}�|�t�@d�k�}�|�t�@d�k�}�|�t�@d�k�}�|�t�@d�k�} �|�j�j�t �j �|�j�d�t �j�j�|���|�|�|�| �����q�W|�j�|�_�d��S(���Nu���propertyu���typeu���flagsi����u���name( ���R����R����t���intt���G_PARAM_READABLEt���G_PARAM_WRITABLEt���G_PARAM_CONSTRUCTt���G_PARAM_CONSTRUCT_ONLYt ���propertiesR=���R���t���PropertyRn���R����( ���R���R)���R���t���pspecRi���t���flagst���readablet���writablet ���constructt���construct_only(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyR�������s���� c���������C`�s���x�|�j��d���D]�}�|�j�d�}�t�j�j�|���}�t�j�|���}�g��}�|�j�j�d���}�|�j�j�d�d���d�k�} �|�j�j�d�d���d�k�} �|�j�j�d�d���d�k�}�|�j�j�d �d���d�k�}�x��t�|�j��d �����D]|�\�} �}�| �d�k�r��d�}�n�d �| �d�f�}�|�j�d�}�t�j�j�|���}�t�j�|�|���}�t�j �|�_ �|�j�|���q��Wt�j�|�j�d�|�|�d�|�d�| �d�| �d�|�d�|��}�|�j �j�|���q�W|�j �|�_ �d��S(���Nu���signalu���returnu���whenu ���no-recurseu���0u���1u���detailedu���actionu���no-hooksu���parami����u���objectu���p%si���u���typeu���namet���whent ���no_recurset���detailedt���actiont���no_hooks(���R����R����R���Rn���R����t���ReturnR<���t ���enumeratet ���Parametert���PARAM_TRANSFER_NONEt���transferR=���t���Signalt���signals(���R���R)���R���t���signal_infot���rctypet���rtypet���return_t ���parametersR����R����R����R����R����t���it ���parametert���argnamet���pctypet���ptypet���paramt���signal(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyR�������s0���� " c���������C`�sX���|�j��j�d�d���}�|�d�k�rE�t�t�d����|�j�d�������}�n�g��}�|�|�_�d��S(���Nu���parentsu����c���������S`�s���t��j�j�|����S(���N(���R���Rn���R����(���t���s(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyt���<lambda>���s����u���,(���R����R<���t���listt���mapRP���t���parent_chain(���R���R���R)���t���parents_strt���parent_types(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyR�������s����c��� ������C`�s����|�j��d�}�t�|�j��j�d�t�����}�|��j�|���\�}�}�y�|��j�j�|���}�Wn!�t�k �rv�}�t�j �|���d��SXt �j�|�d��d�|�d�|�d�|�d�|��}�|��j �|�|���t�|�_�|��j�|�|���|��j�|���|��j�j�|�d�t��d��S(���Nu���nameu���abstractRk���R:���Rl���Rq���Rm���(���R����R����R<���Rf���R����R���R����R���R���t���warnR���R6���R���R����Rd���Rp���R����Rr���R���R=���( ���R���R���R����Rq���R:���Rl���t���fundamental_nameR^���R)���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyR}������s$���� c���������C`�sy���|��j��j�|�j���}�t�|�t�j���s+�d��S|�j�|�_�|�j�|�_�x/�|�j�D]$�}�t�|�t�j���rM�t �|�_ �qM�qM�Wd��S(���N(���R���R<���R&���R#���R���R'���Ri���Rt���t���FieldRf���R����(���R���R)���Rv���t���field(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyRr������s����c���������C`�s����|�j��d�}�|�j��d�}�|��j�j�|���}�|�d��k�r<�d��St�j�|�j�|�j�|�j�|�j �|�j �|���}�|��j�j�|�d�t��d��S(���Nu���functionu���domainRm���( ���R����R���t ���get_by_symbolR���R���t���ErrorQuarkFunctionR&���Rg���R����t���throwsR_���R=���Rd���(���R���R���R_���t���error_domaint���functionR)���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyR2������s���� c���������C`�s����y�|��j��j�|�j���}�Wn �t�k �r;�}�t�j�|���n�X|��j�j�|���}�|�sg�|��j�j�|���nM�t �|�t �j�t �j�f���r��|�j �|�j�|�j���|�j�|�_�t�|�_�n�t�Sd��S(���N(���R���R����Rk���R���R���R����R���R<���R=���R#���R���R'���t���Uniont ���add_gtypeR:���Rl���Rf���Ru���(���R���RB���R&���R^���t ���pair_node(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyR5������s����c���������C`�s����d��}�t�|�t�j���r4�|��j�j�|�j�d���}�n4�x1�d�D])�}�|��j�j�|�j�|���}�|�r;�Pq;�q;�W|�o}�t�|�t�j���s��d��S|�j����|�_ �|�j �|���|�j����|�_�d��S(���Nu���Classu���Ifaceu ���Interface(���u���Ifaceu ���Interface(���R���R#���R���R6���R���R<���R&���R'���t���create_typet���glib_type_structt���inherit_file_positionst���is_gtype_struct_for(���R���t���clst���pair_recordt���suffix(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyR8��� ��s���� (���R���R���R���R*���R+���R,���R.���R���R/���R%���Rb���Rc���R(���R3���Ry���R����Rz���R{���R����R|���R����R����R����R����R}���Rr���R2���R5���R8���(����(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyR���F���s6��� ' ' . ! i���i���i���i���i���i ���i@���i����(!���t ���__future__R����R���R���R���RI���RS���R ���RW���RQ���t���xml.etree.cElementTreeR���t����R���R���R���R!���R���R ���R����R����R����R����t���G_PARAM_LAX_VALIDATIONt���G_PARAM_STATIC_NAMEt���G_PARAM_STATIC_NICKt���G_PARAM_STATIC_BLURBt���objectR ���R���t ���ExceptionR���R���(����(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyt���<module>���s4���