� �d[c�����������@`�s����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�m�Z�d�d�l�m �Z �d �e �f�d �������YZ�d�e �f�d�������YZ�d �e �f�d�������YZ �d����Z�d����Z�d����Z�d�S(���i����(���t���absolute_import(���t���division(���t���print_function(���t���unicode_literalsNi���(���t���ast(���t���to_underscorest���SectionsFilec�����������B`�s���e��Z�d�����Z�RS(���c���������C`�s ���|�|��_��d��S(���N(���t���sections(���t���selfR���(����(����sq���/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyt���__init__���s����(���t���__name__t ���__module__R ���(����(����(����sq���/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyR������s���t���Sectionc�����������B`�s���e��Z�d�����Z�RS(���c���������C`�s(���d��|��_�d��|��_�d��|��_�g��|��_�d��S(���N(���t���Nonet���filet���titlet���includest���subsections(���R���(����(����sq���/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyR ���$���s���� (���R ���R���R ���(����(����(����sq���/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyR���#���s���t ���Subsectionc�����������B`�s���e��Z�d�����Z�RS(���c���������C`�s���|�|��_��g��|��_�d��S(���N(���t���namet���symbols(���R���R���(����(����sq���/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyR ���,���s���� (���R ���R���R ���(����(����(����sq���/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyR���+���s���c���������C`�s���g��}�d��}�d��}�x�|��D]�}�|�j����}�|�s�|�j����rD�q�n��|�d�k�r��t����}�|�j�|���t�d����}�|�j�j�|���q�n��|�d�k�r��d��}�q�n��t�j�d�|���}�|�r��|�j �d�|�_ �q�n��t�j�d�|���}�|�r��|�j �d�|�_�q�n��t�j�d�|���}�|�r*|�j �d�|�_�q�n��t�j�d�|���}�|�rst�|�j �j �d�d������}�|�j�j�|���q�n��|�j�d ���r�|�j�d ���r�q�n��|�j�j�|���q�Wt�|���S(���Nu ���<SECTION>u ���</SECTION>u���<FILE>(?P<contents>.*)</FILE>u���contentsu���<TITLE>(?P<contents>.*)</TITLE>u#���<INCLUDE>(?P<contents>.*)</INCLUDE>u���<SUBSECTION(?: (?P<name>.*))?>u���nameu���<u���>(���R ���t���rstript���isspaceR���t���appendR���R���t���ret���matcht ���groupdictR���R���R���t���gett ���startswitht���endswithR���R���(���t���linesR���t���current_sectiont���current_subsectiont���lineR���(����(����sq���/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyt���parse_sections_file1���sJ���� c���������C`�s$��x|�j��D]}�|��j�d���|�j�d��k �rF�|��j�d�|�j�f���n��|�j�d��k �ro�|��j�d�|�j�f���n��|�j�d��k �r��|��j�d�|�j�f���n��t�}�x{�|�j�D]p�}�|�j�d��k �r��|��j�d�|�j�f���n�|�s��|��j�d���n��t �}�x"�|�j �D]�}�|��j�|�d���q��Wq��Wq �Wd��S(���Nu��� <SECTION> u���<FILE>%s</FILE> u���<TITLE>%s</TITLE> u���<INCLUDE>%s</INCLUDE> u���<SUBSECTION %s> u��� <SUBSECTION> u��� (���R���t���writeR���R ���R���R���t���TrueR���R���t���FalseR���(���t���ft ���sections_filet���sectiont���is_first_subsectiont ���subsectiont���symbol(����(����sq���/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyt���write_sections_filee���s"���� c��� ������`�sD��|��j��}�g��������f�d����}�d����}�|�d�d���}�x|�j����D]��}�t�|�t�j���rn�|�|�|�j���qC�t�|�t�j�t�j�f���rC�|�j�}�t �|���j �d�d���j����}�|�|�|���}�|�|�|���|�|�|�j�j �j �d�d�����x!�|�j�D]�} �|�|�| �j���q��Wx$�|�j�D]�} �|�|�| �j���qWqC�qC�Wt������S( ���Nc���������`�sB���t�����}�|��|�_�|�|�_�|�j�j�t�d���������j�|���|�S(���N(���R���R���R���R���R���R���R ���(���t���file_R���R(���(���R���(����sq���/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyt���new_section����s���� c���������S`�s���|��j��d�j�j�|���d��S(���Ni����(���R���R���R���(���R(���t���sym(����(����sq���/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyt ���append_symbol����s����u���mainu���Mainu���_u���-u���.u����(���t ���namespacet���valuest ���isinstanceR���t���FunctionR+���t���Classt ���Interfacet ���gtype_nameR���t���replacet���lowert���glib_type_structt ���target_ginamet���methodst���static_methodsR���( ���t���transformert���nsR.���R0���t���general_sectiont���nodeR7���t ���file_nameR(���t���meth(����(���R���sq���/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyt���generate_sections_file|���s&���� (���t ���__future__R����R���R���R���R���t����R���t���utilsR���t���objectR���R���R���R"���R,���RD���(����(����(����sq���/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyt���<module>���s��� 4