§
    íóÉj×  ã                   ó¬  — d 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mZmZmZmZmZmZmZmZ ddlmZmZmZmZ  G d„ d	¦  «        Z G d
„ de¦  «        Z G d„ de¦  «        Z G d„ d¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z  G d„ de¦  «        Z! G d„ de!¦  «        Z" G d„ de!¦  «        Z# G d„ de!¦  «        Z$ G d„ de!¦  «        Z% G d„ de!¦  «        Z& G d „ d!e!¦  «        Z' G d"„ d#e!¦  «        Z( G d$„ d%e!¦  «        Z) G d&„ d'¦  «        Z* G d(„ d)¦  «        Z+ G d*„ d+e,¦  «        Z-e.d,k    �rŠ e	d-¦  «        Z/e/ 0                    d.d/d0d1d2d3¬4¦  «         e/ 0                    d5d6d7d1d2d8¬4¦  «         e/ 0                    d9d:d;d1d2d<¬4¦  «         e/ 0                    d=d>d?d1d2d@¬4¦  «         e/ 1                    ¦   «         \  Z2Z3 e4e3¦  «        dAk    re/ 5                    dB¦  «          e+e2j6        ¬C¦  «        Z7 ee7¦  «         8                    e3d          9                    dD¦  «        e2j:        e2j;        ¬E¦  «        Z<e<€ e=d¦  «         dS e< >                    ¦   «          ?                    ¦   «         Z<e2j@        r1 e=e< @                    ¦   «          A                    ¦   «         ¦  «         dS e< B                    ¦   «          dS dS )Fa€  
An interface to Boxer.

This interface relies on the latest version of the development (subversion) version of
C&C and Boxer.

Usage
=====

Set the environment variable CANDC to the bin directory of your CandC installation.
The models directory should be in the CandC root directory.
For example::

    /path/to/candc/
    bin/
        candc
        boxer
    models/
        boxer/
é    N)Úreduce)ÚOptionParser)Úfind_binary_iter)	ÚDRSÚDrtApplicationExpressionÚDrtEqualityExpressionÚDrtNegatedExpressionÚDrtOrExpressionÚ	DrtParserÚDrtPropositionÚ	DrtTokensÚDrtVariableExpression)ÚExpectedMoreTokensExceptionÚLogicalExpressionExceptionÚUnexpectedTokenExceptionÚVariablec                   ó€   — e Zd ZdZ	 	 	 	 	 dd„Zdd„Zdd„Zdd„Z	 dd	„Z	 dd
„Z	dd„Z
dd„Zdd„Zg dfd„Zd„ Zd„ ZdS )ÚBoxerz 
    This class is an interface to Johan Bos's program Boxer, a wide-coverage
    semantic parser that produces Discourse Representation Structures (DRSs).
    NFTc                 ó|   — |€t          ¦   «         }|| _        || _        || _        |                      ||¦  «         dS )aº  
        :param boxer_drs_interpreter: A class that converts from the
            ``AbstractBoxerDrs`` object hierarchy to a different object.  The
            default is ``NltkDrtBoxerDrsInterpreter``, which converts to the NLTK
            DRT hierarchy.
        :param elimeq: When set to true, Boxer removes all equalities from the
            DRSs and discourse referents standing in the equality relation are
            unified, but only if this can be done in a meaning-preserving manner.
        :param resolve: When set to true, Boxer will resolve all anaphoric DRSs and perform merge-reduction.
            Resolution follows Van der Sandt's theory of binding and accommodation.
        N)ÚNltkDrtBoxerDrsInterpreterÚ_boxer_drs_interpreterÚ_resolveÚ_elimeqÚset_bin_dir)ÚselfÚboxer_drs_interpreterÚelimeqÚbin_dirÚverboseÚresolves         úq/home/lighthouse/badge-speaker-benchmark/.benchmark-venv-community/lib/python3.11/site-packages/nltk/sem/boxer.pyÚ__init__zBoxer.__init__A   sH   € ð& !Ð(Ý$>Ñ$@Ô$@Ð!Ø&;ˆÔ#àˆŒØˆŒà×Ò˜ 'Ñ*Ô*Ð*Ð*Ð*ó    c                 ó  — |                       d||¦  «        | _        t          j                             t          j                             | j        d d…         d¦  «        ¦  «        | _        |                       d||¦  «        | _        d S )NÚcandcéûÿÿÿz	../modelsÚboxer)Ú_find_binaryÚ
_candc_binÚosÚpathÚnormpathÚjoinÚ_candc_models_pathÚ
_boxer_bin)r   r   r   s      r!   r   zBoxer.set_bin_dir]   sr   € Ø×+Ò+¨G°W¸gÑFÔFˆŒÝ"$¤'×"2Ò"2ÝŒG�LŠL˜œ¨¨"¨Ô-¨{Ñ;Ô;ñ#
ô #
ˆÔð ×+Ò+¨G°W¸gÑFÔFˆŒˆˆr#   c                 óv   — |�|gnd}|                       |gg|||¦  «        \  }|st          d|› d�¦  «        ‚|S )aI  
        Use Boxer to give a first order representation.

        :param input: str Input sentence to parse
        :param occur_index: bool Should predicates be occurrence indexed?
        :param discourse_id: str An identifier to be inserted to each occurrence-indexed predicate.
        :return: ``drt.DrtExpression``
        NúUnable to interpret: "ú"©Úinterpret_multi_sentsÚ	Exception©r   ÚinputÚdiscourse_idÚquestionr   Údiscourse_idsÚds          r!   Ú	interpretzBoxer.interpretd   sZ   € ð +7Ð*B˜˜˜ÈˆØ×)Ò)¨E¨7¨)°]ÀHÈgÑVÔV‰ˆØð 	?ÝÐ=°UÐ=Ð=Ð=Ñ>Ô>Ð>Øˆr#   c                 ót   — |�|gnd}|                       |g|||¦  «        \  }|st          d|› d�¦  «        ‚|S )ah  
        Use Boxer to give a first order representation.

        :param input: list of str Input sentences to parse as a single discourse
        :param occur_index: bool Should predicates be occurrence indexed?
        :param discourse_id: str An identifier to be inserted to each occurrence-indexed predicate.
        :return: ``drt.DrtExpression``
        Nr1   r2   r3   r6   s          r!   Úinterpret_multizBoxer.interpret_multis   sX   € ð +7Ð*B˜˜˜ÈˆØ×)Ò)¨5¨'°=À(ÈGÑTÔT‰ˆØð 	?ÝÐ=°UÐ=Ð=Ð=Ñ>Ô>Ð>Øˆr#   c                 óF   — |                       d„ |D ¦   «         |||¦  «        S )a{  
        Use Boxer to give a first order representation.

        :param inputs: list of str Input sentences to parse as individual discourses
        :param occur_index: bool Should predicates be occurrence indexed?
        :param discourse_ids: list of str Identifiers to be inserted to each occurrence-indexed predicate.
        :return: list of ``drt.DrtExpression``
        c                 ó   — g | ]}|g‘ŒS © rA   )Ú.0r7   s     r!   ú
<listcomp>z)Boxer.interpret_sents.<locals>.<listcomp>Ž   s   € Ð)Ð)Ð)˜ˆeˆWÐ)Ð)Ð)r#   )r4   )r   Úinputsr:   r9   r   s        r!   Úinterpret_sentszBoxer.interpret_sents‚   s3   € ð ×)Ò)Ø)Ð) &Ð)Ñ)Ô)¨=¸(ÀGñ
ô 
ð 	
r#   c           
      óÂ  ‡— |�Kt          |¦  «        t          |¦  «        k    sJ ‚t          t          j        d„ |D ¦   «         ¦  «        sJ ‚d}n>t	          t          t          t          t          |¦  «        ¦  «        ¦  «        ¦  «        }d}|                      ||||¬¦  «        }|  	                    ||¬¦  «        }|  
                    ||¦  «        Šˆfd„|D ¦   «         S )ac  
        Use Boxer to give a first order representation.

        :param inputs: list of list of str Input discourses to parse
        :param occur_index: bool Should predicates be occurrence indexed?
        :param discourse_ids: list of str Identifiers to be inserted to each occurrence-indexed predicate.
        :return: ``drt.DrtExpression``
        Nc              3   ó   K  — | ]}|d uV — Œ	d S ©NrA   )rB   Úids     r!   ú	<genexpr>z.Boxer.interpret_multi_sents.<locals>.<genexpr>ž   s&   è è € Ð)QÐ)Q¸R¨"°D¨.Ð)QÐ)QÐ)QÐ)QÐ)QÐ)Qr#   TF)r   c                 ó<   •— g | ]}‰                      |d ¦  «        ‘ŒS rH   )Úget)rB   rI   Údrs_dicts     €r!   rC   z/Boxer.interpret_multi_sents.<locals>.<listcomp>«   s'   ø€ Ð?Ð?Ð?¨2�—’˜R Ñ&Ô&Ð?Ð?Ð?r#   )Úlenr   ÚoperatorÚand_ÚlistÚmapÚstrÚrangeÚ_call_candcÚ_call_boxerÚ_parse_to_drs_dict)	r   rD   r:   r9   r   Úuse_disc_idÚ	candc_outÚ	boxer_outrM   s	           @r!   r4   zBoxer.interpret_multi_sents‘   sç   ø€ ð Ð$Ý�v‘;”;¥# mÑ"4Ô"4Ò4Ð4Ð4Ð4Ý�(œ-Ð)QÐ)QÀ=Ð)QÑ)QÔ)QÑRÔRÐRÐRÐRØˆKˆKå ¥¥S­%µ°F±´Ñ*<Ô*<Ñ!=Ô!=Ñ>Ô>ˆMØˆKà×$Ò$ V¨]¸HÈgÐ$ÑVÔVˆ	Ø×$Ò$ Y¸Ð$Ñ@Ô@ˆ	ð
 ×*Ò*¨9°kÑBÔBˆØ?Ð?Ð?Ð?°Ð?Ñ?Ô?Ð?r#   c                 ó  — dt           j                             | j        ddg|         ¦  «        ddg}|                      d                     t          d„ t          ||¦  «        D ¦   «         g ¦  «        ¦  «        | j        ||¦  «        S )aF  
        Call the ``candc`` binary with the given input.

        :param inputs: list of list of str Input discourses to parse
        :param discourse_ids: list of str Identifiers to be inserted to each occurrence-indexed predicate.
        :param filename: str A filename for the output file
        :return: stdout
        z--modelsr'   Ú	questionsz--candc-printerú
c              3   ó0   K  — | ]\  }}d |› d�g|z   V — ŒdS )z<META>'ú'NrA   )rB   r;   rI   s      r!   rJ   z$Boxer._call_candc.<locals>.<genexpr>¿   s6   è è € ÐSÐS©u¨q°"�o �o�o�oÐ&¨Ñ*ÐSÐSÐSÐSÐSÐSr#   )r*   r+   r-   r.   Ú_callÚsumÚzipr)   )r   rD   r:   r9   r   Úargss         r!   rU   zBoxer._call_candc­   s•   € ð ÝŒG�LŠL˜Ô0°7¸KÐ2HÈÔ2RÑSÔSØØð	
ˆð �zŠzØ�IŠIÝØSÐS½¸FÀMÑ8RÔ8RÐSÑSÔSØñô ñô ð ŒOØØñ

ô 

ð 
	
r#   c                 óÖ  — d}	 t          j        ddd¬¦  «        \  }}t          j        |d¦  «        }|                     |                     d¦  «        ¦  «         |r|                     ¦   «          n# |r|                     ¦   «          w w xY wdd	d
ddd	dg| j                 dd	dg| j                 ddddd|g}|  	                    d| j
        ||¦  «        }t          j        |¦  «         |S )z�
        Call the ``boxer`` binary with the given input.

        :param candc_out: str output from C&C parser
        :return: stdout
        Nzboxer-z.inT)ÚprefixÚsuffixÚtextÚwúutf-8z--boxÚfalsez--semanticsÚdrsz	--resolveÚtruez--elimeqz--formatÚprologz--instantiatez--input)ÚtempfileÚmkstempr*   ÚfdopenÚwriteÚdecodeÚcloser   r   r`   r/   Úremove)r   rY   r   ÚfÚfdÚtemp_filenamerc   Ústdouts           r!   rV   zBoxer._call_boxerÈ   s  € ð ˆð	Ý (Ô 0Ø¨°Dð!ñ !ô !ÑˆB�õ ”	˜"˜cÑ"Ô"ˆAØ�GŠG�I×$Ò$ WÑ-Ô-Ñ.Ô.Ð.àð Ø—’‘	”	�	øøð ð Ø—’‘	”	�	�	ðøøøð ØØØàØ�fÐ˜dœmÔ,ØØ�fÐ˜dœlÔ+ØØØØØØð
ˆð" —’˜D $¤/°4¸ÑAÔAˆÝ
Œ	�-Ñ Ô Ð Øˆs   „AA2 Á2Bc           	      ó¨   — t          ||dgd||dz   g|¬¦  «        D ]%}t          j                             |¦  «        r|c S Œ&t	          d|z  ¦  «        ‚)NÚCANDCz)http://svn.ask.it.usyd.edu.au/trac/candc/z.exe)Úpath_to_binÚenv_varsÚurlÚbinary_namesr   zðNo absolute %r binary found. Pass an absolute bin_dir to Boxer(...) or set the CANDC environment variable to an absolute directory that contains the candc/boxer binaries (a binary found relative to the current working directory is refused).)r   r*   r+   ÚisabsÚLookupError)r   Únamer   r   Úbinarys        r!   r(   zBoxer._find_binaryï   s†   € õ 'ØØØ�YØ;Ø  v¡Ð.Øð
ñ 
ô 
ð 		ð 		ˆFõ Œw�}Š}˜VÑ$Ô$ð Ø���ðåð5ð 8<ñ<ñ
ô 
ð 	
r#   c                 ó,  — |rYt          d|¦  «         t          d|¦  «         t          d|¦  «         t          d|dz   d                     |¦  «        z   ¦  «         |€I|g|z   }t          j        |t          j        t          j        ¬¦  «        }|                     ¦   «         \  }}nh|g|z   }t          j        |t          j        t          j        t          j        ¬¦  «        }|                     |                     d	¦  «        ¬
¦  «        \  }}|r;t          d|j        ¦  «         |rt          d|d¦  «         |rt          d|d¦  «         |j        dk    r=t          d 	                    |d                     |¦  «        |j        |¦  «        ¦  «        ‚|S )a  
        Call the binary with the given input.

        :param input_str: A string whose contents are used as stdin.
        :param binary: The location of the binary to call
        :param args: A list of command-line arguments.
        :return: stdout
        zCalling:zArgs:zInput:zCommand:ú N)rx   Ústderr)Ústdinrx   r…   ri   )r7   zReturn code:zstdout:
r]   zstderr:
r   z&ERROR CALLING: {} {}
Returncode: {}
{})
Úprintr-   Ú
subprocessÚPopenÚPIPEÚcommunicateÚencodeÚ
returncoder5   Úformat)	r   Ú	input_strr‚   rc   r   ÚcmdÚprx   r…   s	            r!   r`   zBoxer._call  s—  € ð ð 	=Ý�*˜fÑ%Ô%Ð%Ý�'˜4Ñ Ô Ð Ý�(˜IÑ&Ô&Ð&Ý�*˜f s™l¨S¯XªX°d©^¬^Ñ;Ñ<Ô<Ð<ð ÐØ�(˜T‘/ˆCÝÔ  ­Z¬_ÅZÄ_ÐUÑUÔUˆAØŸ]š]™_œ_‰NˆF�F�Fà�(˜T‘/ˆCÝÔ ØÝ ”oÝ!”Ý!”ð	ñ ô ˆAð Ÿ]š]°×1AÒ1AÀ'Ñ1JÔ1J˜]ÑKÔK‰NˆF�Fàð 	1Ý�. !¤,Ñ/Ô/Ð/Øð 1Ý�k 6¨4Ñ0Ô0Ð0Øð 1Ý�k 6¨4Ñ0Ô0Ð0ØŒ<˜1ÒÐÝØ:×AÒAØ˜CŸHšH T™NœN¨A¬L¸&ñô ñô ð ð ˆr#   c                 ó  — |                      d¦  «                             d¦  «        }i }d}|t          |¦  «        k     �rË||         }|                     d¦  «        �r”|                     d¦  «        }|d|…         }|d         dk    r|d         dk    r
|d	d…         }||d	z   |                     d
¦  «        …         }	|d	z  }||         }|                     d|	› d�¦  «        sJ ‚|dd …         dk    r|d d…         dz   }|                     d¦  «        sJ d|› �¦   «         ‚t          d|	› d�¦  «        }
d	}d}t          ||
d …         ¦  «        D ]G\  }}|dk    r|d	z  }|dk    r1|d	z  }|dk    r&|
|z   d	z   }|||dz   …         dk    r|dz   }n|d	z   } nŒH|dk    sJ ‚||d…                              ¦   «         }|                      |||¦  «        }| j	         
                    |¦  «        ||<   |d	z  }|t          |¦  «        k     �°Ë|S )Nri   r]   r   zid(ú,é   r_   éÿÿÿÿé   ú)zsem(éüÿÿÿz').'z).zcan't parse line: z,[ú[ú]z','éþÿÿÿ)rr   ÚsplitrN   Ú
startswithÚindexÚendswithÚ	enumerateÚstripÚ
_parse_drsr   r<   )r   rZ   rX   ÚlinesrM   ÚiÚlineÚ	comma_idxr8   Údrs_idÚsearch_startÚbrace_countÚ	drs_startÚjÚcÚ	drs_inputÚparseds                    r!   rW   zBoxer._parse_to_drs_dict9  sx  € Ø× Ò  Ñ)Ô)×/Ò/°Ñ5Ô5ˆØˆØˆØ•#�e‘*”*Šn‰nØ˜”8ˆDØ�Š˜uÑ%Ô%ñ  WØ ŸJšJ s™OœO�	Ø# A i KÔ0�Ø ”? cÒ)Ð)¨l¸2Ô.>À#Ò.EÐ.EØ#/°°"°Ô#5�LØ˜i¨!™m¨d¯jªj¸©o¬oÐ=Ô>�Ø�Q‘�Ø˜Q”x�Ø—’Ð'7¨fÐ'7Ð'7Ð'7Ñ8Ô8Ð8Ð8Ð8Ø˜˜˜”9 Ò&Ð&Ø   œ9 tÑ+�DØ—}’} TÑ*Ô*ÐGÐGÐ,GÀÐ,GÐ,GÑGÔGÐGå"Ð#4¨&Ð#4Ð#4Ð#4Ñ5Ô5�Ø�Ø�	Ý% d¨<¨=¨=Ô&9Ñ:Ô:ð "ð "‘D�A�qØ˜C’x�xØ# qÑ(˜Ø˜C’x�xØ# qÑ(˜Ø&¨!Ò+Ð+Ø(4°qÑ(8¸1Ñ(<˜IØ# I°	¸A±Ð$=Ô>À%ÒGÐGØ,5¸©M 	 	à,5¸©M 	Ø!˜EøØ  2’~�~�~�~à  ¨2 Ô.×4Ò4Ñ6Ô6�	ØŸš¨°LÀ+ÑNÔN�Ø)-Ô)D×)NÒ)NÈvÑ)VÔ)V�˜Ñ&Ø�‰FˆAðG •#�e‘*”*Šn‰nðH ˆr#   c                 óV   — t          d |g|         ¦  «                             |¦  «        S rH   )ÚBoxerOutputDrsParserÚparse)r   Ú
drs_stringr8   rX   s       r!   r¢   zBoxer._parse_drsc  s(   € Ý# T¨<Ð$8¸Ô$EÑFÔF×LÒLÈZÑXÔXÐXr#   )NFNFT©F)NFF)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r"   r   r<   r>   rE   r4   rU   rV   r(   r`   rW   r¢   rA   r#   r!   r   r   ;   s:  € € € € € ðð ð #ØØØØð+ð +ð +ð +ð8Gð Gð Gð Gðð ð ð ðð ð ð ð  CHð
ð 
ð 
ð 
ð  CHð@ð @ð @ð @ð8
ð 
ð 
ð 
ð6%ð %ð %ð %ðN
ð 
ð 
ð 
ð: -/¸ð +ð +ð +ð +ðZ(ð (ð (ðTYð Yð Yð Yð Yr#   r   c                   óÌ   — e Zd Zd!d„Zd!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d„ Zd„ Z d „ Z!dS )"r°   Nc                 óZ   — t          j        | ¦  «         || _        d| _        dg| _        dS )zz
        This class is used to parse the Prolog DRS output from Boxer into a
        hierarchy of python objects.
        N)r_   r_   ú\F)r   r"   r8   Úsentence_id_offsetÚquote_chars©r   r8   s     r!   r"   zBoxerOutputDrsParser.__init__h  s6   € õ
 	Ô˜4Ñ Ô Ð Ø(ˆÔØ"&ˆÔØ3Ð4ˆÔÐÐr#   c                 ó.   — t          j        | ||¦  «        S rH   )r   r±   )r   ÚdataÚ	signatures      r!   r±   zBoxerOutputDrsParser.parser  s   € ÝŒ˜t T¨9Ñ5Ô5Ð5r#   c                 ó
   — g d¢S )N)ú(r—   r“   r™   rš   ú:rA   ©r   s    r!   Úget_all_symbolsz$BoxerOutputDrsParser.get_all_symbolsu  s   € Ø-Ð-Ð-Ð-r#   c                 ó,   — |                       |¦  «        S rH   )Ú
handle_drs)r   ÚtokÚcontexts      r!   ÚhandlezBoxerOutputDrsParser.handlex  s   € Ø�Š˜sÑ#Ô#Ð#r#   c                 ó   — |S rH   rA   ©r   Ú
expressionrÉ   s      r!   Úattempt_adjunctsz%BoxerOutputDrsParser.attempt_adjuncts{  ó   € ØÐr#   c                 ó|   — |                       ¦   «         }|                      ||¦  «        }|€t          |¦  «        ‚|S )zS
        Parse a DRS condition

        :return: list of ``DrtExpression``
        )ÚtokenÚhandle_conditionr   )r   ÚindicesrÈ   Úaccums       r!   Úparse_conditionz$BoxerOutputDrsParser.parse_condition~  s>   € ð �jŠj‰lŒlˆØ×%Ò% c¨7Ñ3Ô3ˆØˆ=Ý*¨3Ñ/Ô/Ð/Øˆr#   c                 óÚ   — |dk    r|                       ¦   «         S |dv r$ |                      | j        ¦  «        d g ¦  «        S |dv r$ |                      | j        ¦  «        d g ¦  «        S d S )Nrk   )ÚmergeÚsmerge)Úalfa)Ú	parse_drsÚ_handle_binary_expressionÚ_make_merge_expressionÚ_handle_alfa)r   rÈ   s     r!   rÇ   zBoxerOutputDrsParser.handle_drsŠ  s~   € Ø�%Š<ˆ<Ø—>’>Ñ#Ô#Ð#ØÐ'Ð'Ð'ØN�4×1Ò1°$Ô2MÑNÔNÈtÐUWÑXÔXÐXØ�Hˆ_ˆ_ØA�4×$Ò$ TÔ%@ÑAÔAÀ$ÈÑKÔKÐKð ˆ_r#   c                 ó  ‡— |dk    r|                       ¦   «         gS |dk    r|                      | j        ¦  «        gŠ�n|dk    r|                      | j        ¦  «        gŠný|dk    r|                      ¦   «         gŠná|dk    r|                      ¦   «         gŠnÅ|dk    r|                      ¦   «         gŠn©|dk    r|                      ¦   «         gŠn�|dk    r|                      ¦   «         gŠnq|d	k    r|  	                    ¦   «         ŠnV|d
k    r|  
                    ¦   «         gŠn:|dk    r|                      ¦   «         gŠn|dk    r|                      ¦   «         gŠng Št          ˆfd„|                      |¦  «        D ¦   «         g ¦  «        S )zx
        Handle a DRS condition

        :param indices: list of int
        :return: list of ``DrtExpression``
        ÚnotÚorÚimpÚeqÚpropÚpredÚnamedÚrelÚtimexÚcardÚwhqÚduplexc              3   ó@   •‡‡K  — | ]\  ŠŠˆˆfd „‰D ¦   «         V — ŒdS )c                 ó(   •— g | ]} |‰‰¦  «        ‘ŒS rA   rA   )rB   ÚcondÚ
sent_indexÚword_indicess     €€r!   rC   zCBoxerOutputDrsParser.handle_condition.<locals>.<genexpr>.<listcomp>º  s%   ø€ ÐBÐBÐB°D���j ,Ñ/Ô/ÐBÐBÐBr#   NrA   )rB   rî   rï   Úcondss    @@€r!   rJ   z8BoxerOutputDrsParser.handle_condition.<locals>.<genexpr>¹  sU   øøøè è € ð ð á,�J ð CÐBÐBÐBÐB¸EÐBÑBÔBðð ð ð ð ð r#   )Ú_handle_notrÛ   Ú_make_or_expressionÚ_make_imp_expressionÚ
_handle_eqÚ_handle_propÚ_handle_predÚ_handle_namedÚ_handle_relÚ_handle_timexÚ_handle_cardÚ_handle_whqÚ_handle_duplexra   Ú_sent_and_word_indices)r   rÈ   rÓ   rð   s      @r!   rÒ   z%BoxerOutputDrsParser.handle_condition’  sÏ  ø€ ð �%Š<ˆ<Ø×$Ò$Ñ&Ô&Ð'Ð'à�$Š;ˆ;Ø×3Ò3°DÔ4LÑMÔMÐNˆE‰EØ�EŠ\ˆ\Ø×3Ò3°DÔ4MÑNÔNÐOˆEˆEØ�DŠ[ˆ[Ø—_’_Ñ&Ô&Ð'ˆEˆEØ�FŠ]ˆ]Ø×&Ò&Ñ(Ô(Ð)ˆEˆEà�FŠ]ˆ]Ø×&Ò&Ñ(Ô(Ð)ˆEˆEØ�GŠ^ˆ^Ø×'Ò'Ñ)Ô)Ð*ˆEˆEØ�EŠ\ˆ\Ø×%Ò%Ñ'Ô'Ð(ˆEˆEØ�GŠ^ˆ^Ø×&Ò&Ñ(Ô(ˆEˆEØ�FŠ]ˆ]Ø×&Ò&Ñ(Ô(Ð)ˆEˆEà�EŠ\ˆ\Ø×%Ò%Ñ'Ô'Ð(ˆEˆEØ�HŠ_ˆ_Ø×(Ò(Ñ*Ô*Ð+ˆEˆEð ˆEåðð ð ð à04×0KÒ0KÈGÑ0TÔ0Tðñ ô ð ñ
ô 
ð 	
r#   c                 óê   — |                       |                      ¦   «         d¦  «         |                      d ¦  «        }|                       |                      ¦   «         d¦  «         t          |¦  «        S )NrÂ   r—   )ÚassertTokenrÑ   Úprocess_next_expressionÚBoxerNot©r   rk   s     r!   rñ   z BoxerOutputDrsParser._handle_notÀ  s]   € Ø×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø×*Ò*¨4Ñ0Ô0ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Ý˜‰}Œ}Ðr#   c                 ól  ‡ ‡‡‡‡— ‰                       ‰                      ¦   «         d¦  «         ‰                      ¦   «         Š‰                       ‰                      ¦   «         d¦  «         ‰                      ¦   «         Š‰                       ‰                      ¦   «         d¦  «         ‰                      ¦   «         Š‰                       ‰                      ¦   «         d¦  «         t          ‰                      ¦   «         ¦  «        Š‰                       ‰                      ¦   «         d¦  «         ˆˆˆ ˆˆfd„}|S )NrÂ   r“   r—   c           	      ó8   •— t          ‰j        | |‰‰‰‰¦  «        S rH   ©Ú	BoxerPredr8   )rî   rï   r�   Úposr   ÚsenseÚvariables     €€€€€r!   Ú_handle_pred_fz9BoxerOutputDrsParser._handle_pred.<locals>._handle_pred_fÒ  s(   ø€ ÝØÔ! :¨|¸XÀtÈSÐRWñô ð r#   ©rÿ   rÑ   Úparse_variableÚint)r   r
  r�   r  r  r	  s   ` @@@@r!   rö   z!BoxerOutputDrsParser._handle_predÆ  s  øøøøø€ à×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø×&Ò&Ñ(Ô(ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø�zŠz‰|Œ|ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø�jŠj‰lŒlˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Ý�D—J’J‘L”LÑ!Ô!ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð
 Ðr#   c                 ó~  ‡ ‡‡‡‡— ‰                       ‰                      ¦   «         d¦  «         g Š‰                       ‰                      ¦   «         d¦  «         ‰                       ‰                      ¦   «         d¦  «         ‰                      d ¦  «        Š‰                       ‰                      ¦   «         d¦  «         ‰                      ¦   «         Š‰                       ‰                      ¦   «         d¦  «         ‰                      d ¦  «        Š‰                       ‰                      ¦   «         d¦  «         ˆˆˆˆˆ fd„S )NrÂ   ré   r“   r—   c           	      ó8   •— t          ‰j        | |‰‰‰‰¦  «        S rH   ©ÚBoxerWhqr8   ©rî   rï   Ú	ans_typesÚd1Úd2Úrefr   s     €€€€€r!   ú<lambda>z5BoxerOutputDrsParser._handle_duplex.<locals>.<lambda>ö  ó#   ø€ µØÔ˜z¨<¸ÀBÈÈRñ1
ô 1
€ r#   )rÿ   rÑ   r   r  )r   r  r  r  r  s   `@@@@r!   rü   z#BoxerOutputDrsParser._handle_duplexÙ  s&  øøøøø€ à×Ò˜Ÿš™œ sÑ+Ô+Ð+àˆ	ð" 	×Ò˜Ÿš™œ uÑ-Ô-Ð-Ø×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø×)Ò)¨$Ñ/Ô/ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø×!Ò!Ñ#Ô#ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø×)Ò)¨$Ñ/Ô/ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 	
r#   c                 óN  ‡ ‡‡‡‡— ‰                       ‰                      ¦   «         d¦  «         ‰                      ¦   «         Š‰                       ‰                      ¦   «         d¦  «         ‰                      ¦   «         Š‰                       ‰                      ¦   «         d¦  «         ‰                      ¦   «         Š‰                       ‰                      ¦   «         d¦  «         ‰                      ¦   «         Š‰                       ‰                      ¦   «         d¦  «         ˆˆ ˆˆˆfd„S )NrÂ   r“   r—   c           	      ó8   •— t          ‰j        | |‰‰‰‰¦  «        S rH   )Ú
BoxerNamedr8   )rî   rï   r�   r   r  Útyper	  s     €€€€€r!   r  z4BoxerOutputDrsParser._handle_named.<locals>.<lambda>  s#   ø€ µ
ØÔ˜z¨<¸À4ÈÈuñ1
ô 1
€ r#   ©rÿ   rÑ   r  )r   r�   r  r  r	  s   `@@@@r!   r÷   z"BoxerOutputDrsParser._handle_namedú  s  øøøøø€ à×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø×&Ò&Ñ(Ô(ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø�zŠz‰|Œ|ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø�zŠz‰|Œ|ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø—
’
‘”ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 	
r#   c                 óh  ‡ ‡‡‡‡— ‰                       ‰                      ¦   «         d¦  «         ‰                      ¦   «         Š‰                       ‰                      ¦   «         d¦  «         ‰                      ¦   «         Š‰                       ‰                      ¦   «         d¦  «         ‰                      ¦   «         Š‰                       ‰                      ¦   «         d¦  «         t          ‰                      ¦   «         ¦  «        Š‰                       ‰                      ¦   «         d¦  «         ˆˆ ˆˆˆfd„S )NrÂ   r“   r—   c           	      ó8   •— t          ‰j        | |‰‰‰‰¦  «        S rH   )ÚBoxerRelr8   )rî   rï   ræ   r   r  Úvar1Úvar2s     €€€€€r!   r  z2BoxerOutputDrsParser._handle_rel.<locals>.<lambda>  s#   ø€ µØÔ˜z¨<¸¸tÀSÈ%ñ1
ô 1
€ r#   r  )r   ræ   r  r!  r"  s   `@@@@r!   rø   z BoxerOutputDrsParser._handle_rel	  s  øøøøø€ à×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø×"Ò"Ñ$Ô$ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø×"Ò"Ñ$Ô$ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø�jŠj‰lŒlˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Ý�D—J’J‘L”LÑ!Ô!ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 	
r#   c                 óH  — |                       |                      ¦   «         d¦  «         |                      ¦   «         }|                       |                      ¦   «         d¦  «         |                      |¦  «        }|                       |                      ¦   «         d¦  «         |S )NrÂ   r“   r—   )rÿ   rÑ   r  Ú_handle_time_expression)r   ÚargÚ	new_condss      r!   rù   z"BoxerOutputDrsParser._handle_timex  s†   € à×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø×!Ò!Ñ#Ô#ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø×0Ò0°Ñ5Ô5ˆ	Ø×Ò˜Ÿš™œ sÑ+Ô+Ð+ØÐr#   c                 óz  ‡ ‡‡‡— ‰                       ¦   «         Š‰                      ‰                       ¦   «         d¦  «         ‰dk    r‰                      ‰¦  «        }n‰dk    r‰                      ‰¦  «        }nd S ‰                      ‰                       ¦   «         d¦  «         d„ Šˆˆ ˆfd„gˆfd„|D ¦   «         z   S )NrÂ   ÚdateÚtimer—   c                 ó   ‡ — ˆ fd„S )Nc                 ó   •— ‰S rH   rA   )rî   rï   Úxs     €r!   r  zPBoxerOutputDrsParser._handle_time_expression.<locals>.func_gen.<locals>.<lambda>.  s   ø€ °A€ r#   rA   )r,  s   `r!   Úfunc_genz>BoxerOutputDrsParser._handle_time_expression.<locals>.func_gen-  s   ø€ Ø5Ð5Ð5Ð5Ð5r#   c           	      ó8   •— t          ‰j        | |‰‰dd¦  «        S )NÚnr   r  )rî   rï   r%  r   rÈ   s     €€€r!   r  z>BoxerOutputDrsParser._handle_time_expression.<locals>.<lambda>1  s#   ø€ ­YØÔ! :¨|¸SÀ#ÀsÈAñ.ô .€ r#   c                 ó&   •— g | ]} ‰|¦  «        ‘ŒS rA   rA   )rB   rí   r-  s     €r!   rC   z@BoxerOutputDrsParser._handle_time_expression.<locals>.<listcomp>4  s!   ø€ Ð.Ð.Ð. ˆXˆX�d‰^Œ^Ð.Ð.Ð.r#   )rÑ   rÿ   Ú_handle_dateÚ_handle_time)r   r%  rð   r-  rÈ   s   `` @@r!   r$  z,BoxerOutputDrsParser._handle_time_expression!  så   øøøø€ à�jŠj‰lŒlˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø�&Š=ˆ=Ø×%Ò% cÑ*Ô*ˆEˆEØ�FŠ]ˆ]Ø×%Ò% cÑ*Ô*ˆEˆEà�4Ø×Ò˜Ÿš™œ sÑ+Ô+Ð+ð	6ð 	6ð 	6ðð ð ð ð ð ð
ð /Ð.Ð.Ð.¨Ð.Ñ.Ô.ñ	/ð 	/r#   c                 ój  — g }|                       |                      ¦   «         ¦  «        \  \  }}|                      |                      ¦   «         d¦  «         |                      ¦   «         }|                      |                      ¦   «         d¦  «         |                     t          | j        |||d|› �dd¦  «        ¦  «         |                      |                      ¦   «         d¦  «         |                       |                      ¦   «         ¦  «        \  \  }}|                      ¦   «         }|dk    rF|                     dd	¦  «        }|                     t          | j        |||d
|› �dd¦  «        ¦  «         |                      |                      ¦   «         d¦  «         |                       |                      ¦   «         ¦  «        \  \  }}|                      ¦   «         }|dk    r0|                     t          | j        |||d|› �dd¦  «        ¦  «         |                      |                      ¦   «         d¦  «         |                       |                      ¦   «         ¦  «        \  \  }}|                      ¦   «         }|dk    r0|                     t          | j        |||d|› �dd¦  «        ¦  «         |S )NrÂ   r—   Ú	date_pol_Úar   r“   ÚXXXXrÃ   Ú_Ú
date_year_ÚXXÚdate_month_Ú	date_day_)rý   Ú_parse_index_listrÿ   rÑ   Úappendr  r8   Úreplace)	r   r%  rð   rî   rï   ÚpolÚyearÚmonthÚdays	            r!   r1  z!BoxerOutputDrsParser._handle_date6  sÐ  € àˆØ(,×(CÒ(CØ×"Ò"Ñ$Ô$ñ)
ô )
Ñ%Ñ	#ˆ*�lð 	×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø�jŠj‰lŒlˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø�ŠÝØÔ!ØØØØ!˜CÐ!Ð!ØØñô ñ
	
ô 
	
ð 
	
ð 	×Ò˜Ÿš™œ sÑ+Ô+Ð+à(,×(CÒ(CØ×"Ò"Ñ$Ô$ñ)
ô )
Ñ%Ñ	#ˆ*�lð �zŠz‰|Œ|ˆØ�6Š>ˆ>Ø—<’<  SÑ)Ô)ˆDØ�LŠLÝØÔ%ØØ ØØ' Ð'Ð'ØØñô ñ
ô 
ð 
ð 	×Ò˜Ÿš™œ sÑ+Ô+Ð+à(,×(CÒ(CØ×"Ò"Ñ$Ô$ñ)
ô )
Ñ%Ñ	#ˆ*�lð —
’
‘”ˆØ�DŠ=ˆ=Ø�LŠLÝØÔ%ØØ ØØ) %Ð)Ð)ØØñô ñ
ô 
ð 
ð 	×Ò˜Ÿš™œ sÑ+Ô+Ð+à(,×(CÒ(CØ×"Ò"Ñ$Ô$ñ)
ô )
Ñ%Ñ	#ˆ*�lð �jŠj‰lŒlˆØ�$Š;ˆ;Ø�LŠLÝØÔ%ØØ ØØ% Ð%Ð%ØØñô ñ
ô 
ð 
ð ˆr#   c                 óº  — g }|                       ¦   «          |                      ¦   «         }|dk    r*|                     |                      d||¦  «        ¦  «         |                      |                      ¦   «         d¦  «         |                       ¦   «          |                      ¦   «         }|dk    r*|                     |                      d||¦  «        ¦  «         |                      |                      ¦   «         d¦  «         |                       ¦   «          |                      ¦   «         }|dk    r*|                     |                      d||¦  «        ¦  «         |S )Nr9  Úr_hour_2r“   Úr_min_2Úr_sec_2)r<  rÑ   r=  Ú
_make_atomrÿ   )r   r%  rð   ÚhourÚminÚsecs         r!   r2  z!BoxerOutputDrsParser._handle_time„  s&  € àˆØ×ÒÑ Ô Ð Ø�zŠz‰|Œ|ˆØ�4Š<ˆ<Ø�LŠL˜Ÿš¨°S¸$Ñ?Ô?Ñ@Ô@Ð@Ø×Ò˜Ÿš™œ sÑ+Ô+Ð+à×ÒÑ Ô Ð Ø�jŠj‰lŒlˆØ�$Š;ˆ;Ø�LŠL˜Ÿš¨°C¸Ñ=Ô=Ñ>Ô>Ð>Ø×Ò˜Ÿš™œ sÑ+Ô+Ð+à×ÒÑ Ô Ð Ø�jŠj‰lŒlˆØ�$Š;ˆ;Ø�LŠL˜Ÿš¨°C¸Ñ=Ô=Ñ>Ô>Ð>àˆr#   c                 óÒ  ‡ ‡‡‡— ‰                       ‰                      ¦   «         d¦  «         ‰                      ¦   «         Š‰                       ‰                      ¦   «         d¦  «         ‰                      ¦   «         Š‰                       ‰                      ¦   «         d¦  «         ‰                      ¦   «         Š‰                       ‰                      ¦   «         d¦  «         ˆ ˆˆˆfd„S )NrÂ   r“   r—   c                 ó6   •— t          ‰j        | |‰‰‰¦  «        S rH   )Ú	BoxerCardr8   )rî   rï   r   r  Úvaluer	  s     €€€€r!   r  z3BoxerOutputDrsParser._handle_card.<locals>.<lambda>£  s!   ø€ µ	ØÔ˜z¨<¸À5È$ñ1
ô 1
€ r#   r  )r   r  rN  r	  s   `@@@r!   rú   z!BoxerOutputDrsParser._handle_cardš  sÑ   øøøø€ à×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø×&Ò&Ñ(Ô(ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø—
’
‘”ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø�zŠz‰|Œ|ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 	
r#   c                 óX  ‡ ‡‡— ‰                       ‰                      ¦   «         d¦  «         ‰                      ¦   «         Š‰                       ‰                      ¦   «         d¦  «         ‰                      d ¦  «        Š‰                       ‰                      ¦   «         d¦  «         ˆˆ ˆfd„S )NrÂ   r“   r—   c                 ó4   •— t          ‰j        | |‰‰¦  «        S rH   )Ú	BoxerPropr8   )rî   rï   rk   r   r	  s     €€€r!   r  z3BoxerOutputDrsParser._handle_prop.<locals>.<lambda>®  s   ø€ µ	ØÔ˜z¨<¸À3ñ1
ô 1
€ r#   )rÿ   rÑ   r  r   )r   rk   r	  s   `@@r!   rõ   z!BoxerOutputDrsParser._handle_prop§  s¦   øøø€ à×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø×&Ò&Ñ(Ô(ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø×*Ò*¨4Ñ0Ô0ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+ð
ð 
ð 
ð 
ð 
ð 
ð 	
r#   c                 óÞ  — g }|                       |                      ¦   «         d¦  «         |                      d¦  «        dk    rm|                     |                      ¦   «         ¦  «         |                      d¦  «        dk    r|                      ¦   «          |                      d¦  «        dk    °m|                      ¦   «          |                       |                      ¦   «         d¦  «         |S )Nr™   r   rš   r“   rÃ   )rÿ   rÑ   r=  Úparse_index)r   rÓ   s     r!   r<  z&BoxerOutputDrsParser._parse_index_list²  sÃ   € àˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø�jŠj˜‰mŒm˜sÒ"Ð"Ø�NŠN˜4×+Ò+Ñ-Ô-Ñ.Ô.Ð.Ø�zŠz˜!‰}Œ} Ò#Ð#Ø—
’
‘”�ð �jŠj˜‰mŒm˜sÒ"Ð"ð 	�
Š
‰ŒˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Øˆr#   c                 ó¦  — |                       |                      ¦   «         d¦  «         |                       |                      ¦   «         d¦  «         t          ¦   «         }|                      d¦  «        dk    r�|                      ¦   «         }|                     |                      ¦   «         ¦  «         |                      d¦  «        dk    r|                      ¦   «          |                      d¦  «        dk    °�|                      ¦   «          |                       |                      ¦   «         d¦  «         |                       |                      ¦   «         d¦  «         g }|                      d¦  «        dk    r‚|                      ¦   «         }|                     |                      |¦  «        ¦  «         |                      d¦  «        dk    r|                      ¦   «          |                      d¦  «        dk    °‚|                      ¦   «          |                       |                      ¦   «         d¦  «         t          t          |¦  «        |¦  «        S )NrÂ   r™   r   rš   r“   r—   )
rÿ   rÑ   Úsetr<  Úaddr  ÚextendrÕ   ÚBoxerDrsrQ   )r   ÚrefsrÓ   rð   s       r!   rÚ   zBoxerOutputDrsParser.parse_drs¾  sØ  € ð 	×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø×Ò˜Ÿš™œ sÑ+Ô+Ð+Ý‰uŒuˆØ�jŠj˜‰mŒm˜sÒ"Ð"Ø×,Ò,Ñ.Ô.ˆGØ�HŠH�T×(Ò(Ñ*Ô*Ñ+Ô+Ð+Ø�zŠz˜!‰}Œ} Ò#Ð#Ø—
’
‘”�ð	 �jŠj˜‰mŒm˜sÒ"Ð"ð
 	�
Š
‰ŒˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø×Ò˜Ÿš™œ sÑ+Ô+Ð+ØˆØ�jŠj˜‰mŒm˜sÒ"Ð"Ø×,Ò,Ñ.Ô.ˆGØ�LŠL˜×-Ò-¨gÑ6Ô6Ñ7Ô7Ð7Ø�zŠz˜!‰}Œ} Ò#Ð#Ø—
’
‘”�ð	 �jŠj˜‰mŒm˜sÒ"Ð"ð
 	�
Š
‰ŒˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Ý�˜T™
œ
 EÑ*Ô*Ð*r#   c                 óZ  ‡‡‡— |                       |                      ¦   «         d¦  «         |                      d ¦  «        Š|                       |                      ¦   «         d¦  «         |                      d ¦  «        Š|                       |                      ¦   «         d¦  «         ˆˆˆfd„S )NrÂ   r“   r—   c                 ó    •—  ‰| |‰‰¦  «        S rH   rA   ©rî   rï   Údrs1Údrs2Úmake_callbacks     €€€r!   r  z@BoxerOutputDrsParser._handle_binary_expression.<locals>.<lambda>Ý  ó   ø€ °°Ø˜ d¨Dñ1
ô 1
€ r#   ©rÿ   rÑ   r   )r   r_  r]  r^  s    `@@r!   rÛ   z.BoxerOutputDrsParser._handle_binary_expression×  s¨   øøø€ Ø×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø×+Ò+¨DÑ1Ô1ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø×+Ò+¨DÑ1Ô1ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+ð
ð 
ð 
ð 
ð 
ð 
ð 	
r#   c                 óÒ  ‡‡‡— |                       |                      ¦   «         d¦  «         |                      ¦   «         }|                       |                      ¦   «         d¦  «         |                      d ¦  «        Š|                       |                      ¦   «         d¦  «         |                      d ¦  «        Š|                       |                      ¦   «         d¦  «         ˆˆˆfd„S )NrÂ   r“   r—   c                 ó    •—  ‰| |‰‰¦  «        S rH   rA   r\  s     €€€r!   r  z3BoxerOutputDrsParser._handle_alfa.<locals>.<lambda>é  r`  r#   ra  )r   r_  r  r]  r^  s    ` @@r!   rÝ   z!BoxerOutputDrsParser._handle_alfaá  sÓ   øøø€ Ø×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø�zŠz‰|Œ|ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø×+Ò+¨DÑ1Ô1ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø×+Ò+¨DÑ1Ô1ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+ð
ð 
ð 
ð 
ð 
ð 
ð 	
r#   c                 óV  ‡ ‡‡— ‰                       ‰                      ¦   «         d¦  «         ‰                      ¦   «         Š‰                       ‰                      ¦   «         d¦  «         ‰                      ¦   «         Š‰                       ‰                      ¦   «         d¦  «         ˆ ˆˆfd„S )NrÂ   r“   r—   c                 ó4   •— t          ‰j        | |‰‰¦  «        S rH   )ÚBoxerEqr8   )rî   rï   r   r!  r"  s     €€€r!   r  z1BoxerOutputDrsParser._handle_eq.<locals>.<lambda>ó  s   ø€ µØÔ˜z¨<¸¸tñ1
ô 1
€ r#   r  )r   r!  r"  s   `@@r!   rô   zBoxerOutputDrsParser._handle_eqí  s¤   øøø€ Ø×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø×"Ò"Ñ$Ô$ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø×"Ò"Ñ$Ô$ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+ð
ð 
ð 
ð 
ð 
ð 
ð 	
r#   c                 óò  ‡ ‡‡‡‡— ‰                       ‰                      ¦   «         d¦  «         ‰                       ‰                      ¦   «         d¦  «         g Š‰                      d¦  «        dk    �r‰                      ¦   «         }‰                       ‰                      ¦   «         d¦  «         |dk    r(‰                     ‰                      ¦   «         ¦  «         nˆ|dk    r[‰                     d¦  «         ‰                      ¦   «         }|d	k    r‰                     d
¦  «         n=‰                     |¦  «         n'‰                     ‰                      ¦   «         ¦  «         ‰                      d¦  «        dk    �°‰                      ¦   «          ‰                       ‰                      ¦   «         d¦  «         ‰                      d ¦  «        Š‰                       ‰                      ¦   «         d¦  «         ‰                      ¦   «         Š‰                       ‰                      ¦   «         d¦  «         ‰                      d ¦  «        Š‰                       ‰                      ¦   «         d¦  «         ˆˆˆˆˆ fd„S )NrÂ   r™   r   rš   rÃ   ÚdesÚnumÚnumberÚcouÚcountr“   r—   c           	      ó8   •— t          ‰j        | |‰‰‰‰¦  «        S rH   r  r  s     €€€€€r!   r  z2BoxerOutputDrsParser._handle_whq.<locals>.<lambda>  r  r#   )rÿ   rÑ   r=  r   r  )r   ÚcatÚtypr  r  r  r  s   `  @@@@r!   rû   z BoxerOutputDrsParser._handle_whq÷  s/  øøøøø€ Ø×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø×Ò˜Ÿš™œ sÑ+Ô+Ð+Øˆ	Ø�jŠj˜‰mŒm˜sÒ"Ñ"Ø—*’*‘,”,ˆCØ×Ò˜TŸZšZ™\œ\¨3Ñ/Ô/Ð/Ø�eŠ|ˆ|Ø× Ò  §¢¡¤Ñ.Ô.Ð.Ð.Ø˜’�Ø× Ò  Ñ*Ô*Ð*Ø—j’j‘l”l�Ø˜%’<�<Ø×$Ò$ WÑ-Ô-Ð-Ð-à×$Ò$ SÑ)Ô)Ð)Ð)à× Ò  §¢¡¤Ñ.Ô.Ð.ð �jŠj˜‰mŒm˜sÒ"Ñ"ð 	�
Š
‰Œˆà×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø×)Ò)¨$Ñ/Ô/ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø×!Ò!Ñ#Ô#ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+Ø×)Ò)¨$Ñ/Ô/ˆØ×Ò˜Ÿš™œ sÑ+Ô+Ð+ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 	
r#   c                 óV   — t          |j        |j        z   |j        |j        z   ¦  «        S rH   ©rX  rY  rð   ©r   rî   rï   r]  r^  s        r!   rÜ   z+BoxerOutputDrsParser._make_merge_expression  s$   € Ý˜œ	 D¤IÑ-¨t¬z¸D¼JÑ/FÑGÔGÐGr#   c                 ó2   — t          | j        ||||¦  «        S rH   )ÚBoxerOrr8   rr  s        r!   rò   z(BoxerOutputDrsParser._make_or_expression  s   € Ý�tÔ(¨*°lÀDÈ$ÑOÔOÐOr#   c                 ó8   — t          |j        |j        |¦  «        S rH   rq  rr  s        r!   ró   z)BoxerOutputDrsParser._make_imp_expression  s   € Ý˜œ	 4¤:¨tÑ4Ô4Ð4r#   c                 ól   — |                       ¦   «         }t          j        d|¦  «        s
J |¦   «         ‚|S )Nz^[exps]\d+$)rÑ   ÚreÚmatch©r   Úvars     r!   r  z#BoxerOutputDrsParser.parse_variable  s4   € Ø�jŠj‰lŒlˆÝŒx˜¨Ñ,Ô,Ð1Ð1¨cÑ1Ô1Ð1Øˆ
r#   c                 óD   — t          |                      ¦   «         ¦  «        S rH   )r  rÑ   rÄ   s    r!   rS  z BoxerOutputDrsParser.parse_index$  s   € Ý�4—:’:‘<”<Ñ Ô Ð r#   c                 óž   ‡— d„ |D ¦   «         }|r.g }|D ]'Šˆfd„|D ¦   «         }|                      ‰|f¦  «         Œ(|S d„ |D ¦   «         }d|fgS )zD
        :return: list of (sent_index, word_indices) tuples
        c                 ó*   — h | ]}|d k    ¯|dz  dz
  ’ŒS )r   éè  r–   rA   ©rB   r¤   s     r!   ú	<setcomp>z>BoxerOutputDrsParser._sent_and_word_indices.<locals>.<setcomp>+  s%   € ÐBÐBÐB¨1¸1Àº6¸6˜˜T™ Q™¸6¸6¸6r#   c                 ó8   •— g | ]}‰|d z  dz
  k    ¯|d z  dz
  ‘ŒS ©r~  r–   rA   )rB   r¤   rî   s     €r!   rC   z?BoxerOutputDrsParser._sent_and_word_indices.<locals>.<listcomp>/  s;   ø€ ð  ð  ð  Ø'(°zÀaÈ$ÁhÐRSÁ^Ò7SÐ7S�Q˜‘X ‘NÐ7SÐ7SÐ7Sr#   c                 ó   — g | ]
}|d z  dz
  ‘ŒS r‚  rA   r  s     r!   rC   z?BoxerOutputDrsParser._sent_and_word_indices.<locals>.<listcomp>5  s    € Ð<Ð<Ð<¨q˜Q ™X¨™NÐ<Ð<Ð<r#   N)r=  )r   rÓ   Úsent_indicesÚpairsrï   rî   s        @r!   rý   z+BoxerOutputDrsParser._sent_and_word_indices'  sŸ   ø€ ð CÐB°ÐBÑBÔBˆØð 
	*ØˆEØ*ð 9ð 9�
ð ð  ð  ð  Ø,3ð ñ  ô  �ð —’˜j¨,Ð7Ñ8Ô8Ð8Ð8ØˆLà<Ð<°GÐ<Ñ<Ô<ˆLØ˜<Ð(Ð)Ð)r#   rH   )"r´   rµ   r¶   r"   r±   rÅ   rÊ   rÎ   rÕ   rÇ   rÒ   rñ   rö   rü   r÷   rø   rù   r$  r1  r2  rú   rõ   r<  rÚ   rÛ   rÝ   rô   rû   rÜ   rò   ró   r  rS  rý   rA   r#   r!   r°   r°   g  sþ  € € € € € ð5ð 5ð 5ð 5ð6ð 6ð 6ð 6ð.ð .ð .ð$ð $ð $ðð ð ð
ð 
ð 
ðLð Lð Lð,
ð ,
ð ,
ð\ð ð ðð ð ð&
ð 
ð 
ðB
ð 
ð 
ð
ð 
ð 
ðð ð ð/ð /ð /ð*Lð Lð Lð\ð ð ð,
ð 
ð 
ð	
ð 	
ð 	
ð
ð 
ð 
ð+ð +ð +ð2
ð 
ð 
ð

ð 

ð 

ð
ð 
ð 
ð
ð 
ð 
ð>Hð Hð HðPð Pð Pð5ð 5ð 5ðð ð ð
!ð !ð !ð*ð *ð *ð *ð *r#   r°   c                   ó8   — e Zd ZdZd	d„Zd„ Zd„ Zd„ Zd„ Zd„ Z	dS )
ÚBoxerDrsParserzD
    Reparse the str form of subclasses of ``AbstractBoxerDrs``
    Nc                 ó<   — t          j        | ¦  «         || _        d S rH   )r   r"   r8   r½   s     r!   r"   zBoxerDrsParser.__init__>  s!   € ÝÔ˜4Ñ Ô Ð Ø(ˆÔÐÐr#   c                 ót   — t           j        t           j        t           j        t           j        t           j        gS rH   )r   ÚOPENÚCLOSEÚCOMMAÚOPEN_BRACKETÚCLOSE_BRACKETrÄ   s    r!   rÅ   zBoxerDrsParser.get_all_symbolsB  s'   € åŒNÝŒOÝŒOÝÔ"ÝÔ#ð
ð 	
r#   c                 ó   — |S rH   rA   rÌ   s      r!   rÎ   zBoxerDrsParser.attempt_adjunctsK  rÏ   r#   c           	      óî  — 	 |dk    �rá|                       t          j        ¦  «         | j        �| j        n|                      ¦   «         }|                       t          j        ¦  «         |                      ¦   «         }|                       t          j        ¦  «         t          t          t          |  
                    ¦   «         ¦  «        ¦  «        }|                       t          j        ¦  «         t          |                      ¦   «         ¦  «        }|                       t          j        ¦  «         |                      ¦   «         }|                       t          j        ¦  «         |                      ¦   «         }|                       t          j        ¦  «         t          |                      ¦   «         ¦  «        }	|                       t          j        ¦  «         t          |||||||	¦  «        S |dk    �rá|                       t          j        ¦  «         | j        �| j        n|                      ¦   «         }|                       t          j        ¦  «         t          |                      ¦   «         ¦  «        }|                       t          j        ¦  «         t          t          |  
                    ¦   «         ¦  «        }|                       t          j        ¦  «         t          |                      ¦   «         ¦  «        }|                       t          j        ¦  «         |                      ¦   «         }|                       t          j        ¦  «         |                      ¦   «         }
|                       t          j        ¦  «         t          |                      ¦   «         ¦  «        }	|                       t          j        ¦  «         t          ||||||
|	¦  «        S |dk    �rî|                       t          j        ¦  «         | j        �| j        n|                      ¦   «         }|                       t          j        ¦  «         |                      ¦   «         }|                       t          j        ¦  «         t          t          t          |  
                    ¦   «         ¦  «        ¦  «        }|                       t          j        ¦  «         t          |                      ¦   «         ¦  «        }|                       t          j        ¦  «         t          |                      ¦   «         ¦  «        }|                       t          j        ¦  «         |                      ¦   «         }|                       t          j        ¦  «         t          |                      ¦   «         ¦  «        }	|                       t          j        ¦  «         t          |||||||	¦  «        S |dk    �rz|                       t          j        ¦  «         | j        �| j        n|                      ¦   «         }|                       t          j        ¦  «         t          |                      ¦   «         ¦  «        }|                       t          j        ¦  «         t          t          t          |  
                    ¦   «         ¦  «        ¦  «        }|                       t          j        ¦  «         t          |                      ¦   «         ¦  «        }|                       t          j        ¦  «         |                      d ¦  «        }|                       t          j        ¦  «         t!          |||||¦  «        S |dk    rb|                       t          j        ¦  «         |                      d ¦  «        }|                       t          j        ¦  «         t#          |¦  «        S |dk    r¢|                       t          j        ¦  «         |                      d ¦  «        }|                       t          j        ¦  «         |                      d ¦  «        }|                       t          j        ¦  «         t%          |j        |j        |¦  «        S |dk    �rT|                       t          j        ¦  «         | j        �| j        n|                      ¦   «         }|                       t          j        ¦  «         |                      ¦   «         }|                       t          j        ¦  «         t          t          |  
                    ¦   «         ¦  «        }|                       t          j        ¦  «         |                      d ¦  «        }|                       t          j        ¦  «         |                      d ¦  «        }|                       t          j        ¦  «         t+          |||||¦  «        S |dk    �ry|                       t          j        ¦  «         | j        �| j        n|                      ¦   «         }|                       t          j        ¦  «         |                      ¦   «         }|                       t          j        ¦  «         t          t          t          |  
                    ¦   «         ¦  «        ¦  «        }|                       t          j        ¦  «         t          |                      ¦   «         ¦  «        }|                       t          j        ¦  «         t          |                      ¦   «         ¦  «        }|                       t          j        ¦  «         t-          |||||¦  «        S |d	k    �r“|                       t          j        ¦  «         | j        �| j        n|                      ¦   «         }|                       t          j        ¦  «         |                      ¦   «         }|                       t          j        ¦  «         t          t          |  
                    ¦   «         ¦  «        }|                       t          j        ¦  «         t          |                      ¦   «         ¦  «        }|                       t          j        ¦  «         |                      ¦   «         }|                       t          j        ¦  «         |                      ¦   «         }
|                       t          j        ¦  «         t/          ||||||
¦  «        S |d
k    �rÖ|                       t          j        ¦  «         | j        �| j        n|                      ¦   «         }|                       t          j        ¦  «         |                      ¦   «         }|                       t          j        ¦  «         t          t          t          |  
                    ¦   «         ¦  «        ¦  «        }|                       t          j        ¦  «         |  
                    ¦   «         }|                       t          j        ¦  «         |                      d ¦  «        }|                       t          j        ¦  «         t          |                      ¦   «         ¦  «        }|                       t          j        ¦  «         |                      d ¦  «        }|                       t          j        ¦  «         t1          |||||||¦  «        S n5# t2          $ r(}t5          | j        t9          |¦  «        ¦  «        |‚d }~ww xY wJ t;          |¦  «        ¦   «         ‚)Nrä   rå   ræ   rã   rß   rá   rà   râ   rè   ré   )ÚassertNextTokenr   rŠ  r8   rÑ   rŒ  ÚnullableIntTokenrQ   rR   r  Úhandle_refsr‹  r  r  r   r   rQ  r  rX  rY  rð   rt  rf  rM  r  r5   r   Ú_currentIndexrS   Úrepr)r   rÈ   rÉ   Údisc_idÚsent_idÚword_idsr	  r�   r  r  r  r!  r"  ræ   rk   r]  r^  rz  rN  r  Úes                        r!   rÊ   zBoxerDrsParser.handleN  s¡  € ðc	Pð �fŠ}‰}Ø×$Ò$¥Y¤^Ñ4Ô4Ð4à)-Ô):Ð)F�DÔ%Ð%ÈDÏJÊJÉLÌLð ð ×$Ò$¥Y¤_Ñ5Ô5Ð5Ø×/Ò/Ñ1Ô1�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý¥¥C¨×)9Ò)9Ñ);Ô);Ñ <Ô <Ñ=Ô=�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý˜tŸzšz™|œ|Ñ,Ô,�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ø—z’z‘|”|�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ø—j’j‘l”l�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý˜DŸJšJ™LœLÑ)Ô)�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý  ¨'°8¸XÀtÈSÐRWÑXÔXÐXØ˜’‘Ø×$Ò$¥Y¤^Ñ4Ô4Ð4à)-Ô):Ð)F�DÔ%Ð%ÈDÏJÊJÉLÌLð ð ×$Ò$¥Y¤_Ñ5Ô5Ð5Ý˜dŸjšj™lœlÑ+Ô+�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý�s D×$4Ò$4Ñ$6Ô$6Ñ7Ô7�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý˜tŸzšz™|œ|Ñ,Ô,�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ø—z’z‘|”|�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ø—z’z‘|”|�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý˜DŸJšJ™LœLÑ)Ô)�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý!Ø˜W h°¸$ÀÀeñô ð ð ˜’‘Ø×$Ò$¥Y¤^Ñ4Ô4Ð4à)-Ô):Ð)F�DÔ%Ð%ÈDÏJÊJÉLÌLð ð ×$Ò$¥Y¤_Ñ5Ô5Ð5Ø×/Ò/Ñ1Ô1�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý¥¥C¨×)9Ò)9Ñ);Ô);Ñ <Ô <Ñ=Ô=�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý˜4Ÿ:š:™<œ<Ñ(Ô(�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý˜4Ÿ:š:™<œ<Ñ(Ô(�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ø—j’j‘l”l�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý˜DŸJšJ™LœLÑ)Ô)�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý ¨°(¸DÀ$ÈÈUÑSÔSÐSØ˜’‘Ø×$Ò$¥Y¤^Ñ4Ô4Ð4à)-Ô):Ð)F�DÔ%Ð%ÈDÏJÊJÉLÌLð ð ×$Ò$¥Y¤_Ñ5Ô5Ð5Ý˜dŸjšj™lœlÑ+Ô+�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý¥¥C¨×)9Ò)9Ñ);Ô);Ñ <Ô <Ñ=Ô=�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý˜tŸzšz™|œ|Ñ,Ô,�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ø×2Ò2°4Ñ8Ô8�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý  ¨'°8¸XÀsÑKÔKÐKØ˜’�Ø×$Ò$¥Y¤^Ñ4Ô4Ð4Ø×2Ò2°4Ñ8Ô8�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý ‘}”}Ð$Ø˜’�Ø×$Ò$¥Y¤^Ñ4Ô4Ð4Ø×3Ò3°DÑ9Ô9�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ø×3Ò3°DÑ9Ô9�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý ¤	¨4¬:°tÑ<Ô<Ð<Ø˜’‘Ø×$Ò$¥Y¤^Ñ4Ô4Ð4à)-Ô):Ð)F�DÔ%Ð%ÈDÏJÊJÉLÌLð ð ×$Ò$¥Y¤_Ñ5Ô5Ð5Ø×/Ò/Ñ1Ô1�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý�s D×$4Ò$4Ñ$6Ô$6Ñ7Ô7�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ø×3Ò3°DÑ9Ô9�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ø×3Ò3°DÑ9Ô9�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý˜w¨°¸4ÀÑFÔFÐFØ˜’‘Ø×$Ò$¥Y¤^Ñ4Ô4Ð4à)-Ô):Ð)F�DÔ%Ð%ÈDÏJÊJÉLÌLð ð ×$Ò$¥Y¤_Ñ5Ô5Ð5Ø×/Ò/Ñ1Ô1�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý¥¥C¨×)9Ò)9Ñ);Ô);Ñ <Ô <Ñ=Ô=�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý˜4Ÿ:š:™<œ<Ñ(Ô(�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý˜4Ÿ:š:™<œ<Ñ(Ô(�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý˜w¨°¸4ÀÑFÔFÐFØ˜’‘Ø×$Ò$¥Y¤^Ñ4Ô4Ð4à)-Ô):Ð)F�DÔ%Ð%ÈDÏJÊJÉLÌLð ð ×$Ò$¥Y¤_Ñ5Ô5Ð5Ø×/Ò/Ñ1Ô1�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý�s D×$4Ò$4Ñ$6Ô$6Ñ7Ô7�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý˜$Ÿ*š*™,œ,Ñ'Ô'�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5ØŸ
š
™œ�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ø—z’z‘|”|�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý  ¨'°8¸SÀ%ÈÑNÔNÐNØ˜’‘Ø×$Ò$¥Y¤^Ñ4Ô4Ð4à)-Ô):Ð)F�DÔ%Ð%ÈDÏJÊJÉLÌLð ð ×$Ò$¥Y¤_Ñ5Ô5Ð5Ø×/Ò/Ñ1Ô1�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý¥¥C¨×)9Ò)9Ñ);Ô);Ñ <Ô <Ñ=Ô=�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ø ×,Ò,Ñ.Ô.�	Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ø×3Ò3°DÑ9Ô9�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý˜$Ÿ*š*™,œ,Ñ'Ô'�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ø×3Ò3°DÑ9Ô9�Ø×$Ò$¥Y¤_Ñ5Ô5Ð5Ý ¨°(¸IÀtÈSÐRVÑWÔWÐWð% øõ& ð 	Pð 	Pð 	PÝ,¨TÔ-?ÅÀQÁÄÑHÔHÈaÐOøøøøð	Pøøøà•d˜3‘i”iÑÔÐsW   ‚G'z+ Ç*G'z+ ÏG4z+ ×F z+ ÝA'z+ Þ0B'z+ áEz+ æ3E?z+ ì3Fz+ óGz+ ú+
{ú5#{û{c                 óX   — |                       ¦   «         }|dk    rt          |¦  «        nd S )NÚNone)rÑ   r  )r   Úts     r!   r’  zBoxerDrsParser.nullableIntTokenõ  s'   € Ø�JŠJ‰LŒLˆØ˜fš˜�s�1‰vŒvˆv¨$Ð.r#   c                 ó|   — 	 |                       ¦   «         S # t          $ r}t          |j        d¦  «        |‚d }~ww xY w)NzVariable expected.)rÑ   r   rž   )r   Údescriptionr™  s      r!   Úget_next_token_variablez&BoxerDrsParser.get_next_token_variableù  sO   € ð	TØ—:’:‘<”<ÐøÝ*ð 	Tð 	Tð 	TÝ-¨a¬gÐ7KÑLÔLÐRSÐSøøøøð	Tøøøs   ‚ –
; 6¶;rH   )
r´   rµ   r¶   r·   r"   rÅ   rÎ   rÊ   r’  rŸ  rA   r#   r!   r‡  r‡  9  s†   € € € € € ðð ð)ð )ð )ð )ð
ð 
ð 
ðð ð ðe ð e ð e ðN/ð /ð /ðTð Tð Tð Tð Tr#   r‡  c                   ó>   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	S )
ÚAbstractBoxerDrsc                 óN   — |                       ¦   «         \  }}}|||z  z
  |||z
  fS ©zK
        :return: (set<variables>, set<events>, set<propositions>)
        )Ú
_variables)r   Ú	variablesÚeventsÚpropositionss       r!   r¥  zAbstractBoxerDrs.variables  s6   € ð +/¯/ª/Ñ*;Ô*;Ñ'ˆ	�6˜<Ø˜V lÑ2Ñ3°V¸\ÈFÑ=RÐSÐSr#   c                 ón   — i }t          d|                      ¦   «         ¦  «        D ]\  }}|D ]}|||<   ŒŒ|S )N)Úzr™  r‘   )rb   r¥  )r   Úvartypesrœ  ÚvarsÚvs        r!   Úvariable_typeszAbstractBoxerDrs.variable_types  sR   € ØˆÝ˜?¨D¯NªNÑ,<Ô,<Ñ=Ô=ð 	 ð 	 ‰GˆAˆtØð  ð  �Ø�˜‘�ð àˆr#   c                 óT   — t          ¦   «         t          ¦   «         t          ¦   «         fS r£  ©rU  rÄ   s    r!   r¤  zAbstractBoxerDrs._variables  s   € õ ‘”•s‘u”u�c™eœeÐ$Ð$r#   c                 ó   — t          ¦   «         S rH   r¯  rÄ   s    r!   ÚatomszAbstractBoxerDrs.atoms  ó   € Ý‰uŒuˆr#   c                 ó   — | S rH   rA   rÄ   s    r!   ÚcleanzAbstractBoxerDrs.clean  ó   € Øˆr#   c                 óV   — |                      dd¦  «                              dd¦  «        S )Nú-r7  r_   )r>  )r   r�   s     r!   Ú_clean_namezAbstractBoxerDrs._clean_name  s&   € Ø�|Š|˜C Ñ%Ô%×-Ò-¨c°3Ñ7Ô7Ð7r#   c                 ó   — | S rH   rA   ©r   ru   s     r!   Úrenumber_sentencesz#AbstractBoxerDrs.renumber_sentences  rµ  r#   c                 ó"   — t          | › ¦  «        S rH   )ÚhashrÄ   s    r!   Ú__hash__zAbstractBoxerDrs.__hash__!  s   € Ý�t�I‰ŒÐr#   N)r´   rµ   r¶   r¥  r­  r¤  r±  r´  r¸  r»  r¾  rA   r#   r!   r¡  r¡     s�   € € € € € ðTð Tð Tðð ð ð%ð %ð %ðð ð ðð ð ð8ð 8ð 8ðð ð ðð ð ð ð r#   r¡  c                   óN   — e Zd Zd
d„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d	„ Z
ej        ZdS )rX  Nc                 ód   — t                                | ¦  «         || _        || _        || _        d S rH   )r¡  r"   rY  rð   Ú
consequent)r   rY  rð   rÁ  s       r!   r"   zBoxerDrs.__init__&  s/   € Ý×!Ò! $Ñ'Ô'Ð'ØˆŒ	ØˆŒ
Ø$ˆŒˆˆr#   c                 óx  — t          ¦   «         t          ¦   «         t          ¦   «         f}| j        D ]?}t          ||                     ¦   «         ¦  «        D ]\  }}|                     |¦  «         ŒŒ@| j        �Bt          || j                             ¦   «         ¦  «        D ]\  }}|                     |¦  «         Œ|S rH   )rU  rð   rb   r¤  ÚupdaterÁ  )r   r¥  rí   Úsr¬  s        r!   r¤  zBoxerDrs._variables,  s²   € Ý‘U”U�C™EœE¥3¡5¤5Ð)ˆ	Ø”Jð 	ð 	ˆDÝ˜I t§¢Ñ'8Ô'8Ñ9Ô9ð ð ‘��1Ø—’˜‘”��ðàŒ?Ð&Ý˜I t¤×'AÒ'AÑ'CÔ'CÑDÔDð ð ‘��1Ø—’˜‘”��ØÐr#   c                 óØ   — t          t          j        d„ | j        D ¦   «         t	          ¦   «         ¦  «        }| j        �,|                     | j                             ¦   «         ¦  «         |S )Nc              3   ó>   K  — | ]}|                      ¦   «         V — Œd S rH   )r±  )rB   rí   s     r!   rJ   z!BoxerDrs.atoms.<locals>.<genexpr>7  s*   è è € Ð%JÐ%J°t d§j¢j¡l¤lÐ%JÐ%JÐ%JÐ%JÐ%JÐ%Jr#   )r   rO   Úor_rð   rU  rÁ  rÃ  r±  )r   r±  s     r!   r±  zBoxerDrs.atoms6  sW   € Ý•x”|Ð%JÐ%J¸t¼zÐ%JÑ%JÔ%JÍCÉEÌEÑRÔRˆØŒ?Ð&Ø�LŠL˜œ×.Ò.Ñ0Ô0Ñ1Ô1Ð1Øˆr#   c                 ó�   — | j         r| j                              ¦   «         nd }t          | j        d„ | j        D ¦   «         |¦  «        S )Nc                 ó6   — g | ]}|                      ¦   «         ‘ŒS rA   )r´  ©rB   r¬   s     r!   rC   z"BoxerDrs.clean.<locals>.<listcomp>>  s    € Ð#BÐ#BÐ#B°! A§G¢G¡I¤IÐ#BÐ#BÐ#Br#   )rÁ  r´  rX  rY  rð   )r   rÁ  s     r!   r´  zBoxerDrs.clean<  sF   € Ø04´ÐI�T”_×*Ò*Ñ,Ô,Ð,ÀTˆ
Ý˜œ	Ð#BÐ#B°t´zÐ#BÑ#BÔ#BÀJÑOÔOÐOr#   c                 ó˜   ‡— | j         r| j                              ‰¦  «        nd }t          | j        ˆfd„| j        D ¦   «         |¦  «        S )Nc                 ó:   •— g | ]}|                      ‰¦  «        ‘ŒS rA   )r»  )rB   r¬   ru   s     €r!   rC   z/BoxerDrs.renumber_sentences.<locals>.<listcomp>C  s'   ø€ ÐDÐDÐD°A˜×,Ò,¨QÑ/Ô/ÐDÐDÐDr#   )rÁ  r»  rX  rY  rð   )r   ru   rÁ  s    ` r!   r»  zBoxerDrs.renumber_sentences@  sW   ø€ Ø>B¼oÐW�T”_×7Ò7¸Ñ:Ô:Ð:ÐSWˆ
ÝØŒIÐDÐDÐDÐD¸¼ÐDÑDÔDÀjñ
ô 
ð 	
r#   c                 óä   — d                      d                     d„ | j        D ¦   «         ¦  «        d                     d„ | j        D ¦   «         ¦  «        ¦  «        }| j        �d|› d| j        › d�}|S )Nzdrs([{}], [{}])ú, c              3   ó    K  — | ]	}d |z  V — Œ
dS ©ú%sNrA   ©rB   Úrs     r!   rJ   z$BoxerDrs.__repr__.<locals>.<genexpr>H  s&   è è € Ð2Ð2 1�d˜Q‘hÐ2Ð2Ð2Ð2Ð2Ð2r#   c              3   ó    K  — | ]	}d |z  V — Œ
dS rÐ  rA   rÊ  s     r!   rJ   z$BoxerDrs.__repr__.<locals>.<genexpr>I  s&   è è € Ð3Ð3 1�d˜Q‘hÐ3Ð3Ð3Ð3Ð3Ð3r#   zimp(r—   )rŽ   r-   rY  rð   rÁ  )r   rÄ  s     r!   Ú__repr__zBoxerDrs.__repr__F  s€   € Ø×$Ò$Ø�IŠIÐ2Ð2¨¬	Ð2Ñ2Ô2Ñ2Ô2Ø�IŠIÐ3Ð3¨¬
Ð3Ñ3Ô3Ñ3Ô3ñ
ô 
ˆð Œ?Ð&Ø.�qÐ.Ð.˜DœOÐ.Ð.Ð.ˆAØˆr#   c                 ó.  — | j         |j         k    o…| j        |j        k    out          | j        ¦  «        t          |j        ¦  «        k    oKt	          t
          j        d„ t          | j        |j        ¦  «        D ¦   «         ¦  «        o| j        |j        k    S )Nc              3   ó(   K  — | ]\  }}||k    V — Œd S rH   rA   )rB   Úc1Úc2s      r!   rJ   z"BoxerDrs.__eq__.<locals>.<genexpr>U  s*   è è € ÐTÐT©V¨R°  b¢ÐTÐTÐTÐTÐTÐTr#   )	Ú	__class__rY  rN   rð   r   rO   rP   rb   rÁ  ©r   Úothers     r!   Ú__eq__zBoxerDrs.__eq__O  s�   € àŒN˜eœoÒ-ð 4Ø”	˜UœZÒ'ð4å�D”J‘”¥3 u¤{Ñ#3Ô#3Ò3ð4õ Ý”ÐTÐTµs¸4¼:ÀuÄ{Ñ7SÔ7SÐTÑTÔTñô ð4ð ” 5Ô#3Ò3ð	
r#   c                 ó   — | |k     S rH   rA   rÛ  s     r!   Ú__ne__zBoxerDrs.__ne__Z  ó   € Ø˜5’=Ð Ð r#   rH   ©r´   rµ   r¶   r"   r¤  r±  r´  r»  rÕ  rÝ  rß  r¡  r¾  rA   r#   r!   rX  rX  %  s˜   € € € € € ð%ð %ð %ð %ðð ð ðð ð ðPð Pð Pð
ð 
ð 
ðð ð ð	
ð 	
ð 	
ð!ð !ð !ð  Ô(€H€H€Hr#   rX  c                   óL   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ej        Zd	S )
r  c                 óH   — t                                | ¦  «         || _        d S rH   )r¡  r"   rk   r  s     r!   r"   zBoxerNot.__init__a  s!   € Ý×!Ò! $Ñ'Ô'Ð'ØˆŒˆˆr#   c                 ó4   — | j                              ¦   «         S rH   )rk   r¤  rÄ   s    r!   r¤  zBoxerNot._variablese  s   € ØŒx×"Ò"Ñ$Ô$Ð$r#   c                 ó4   — | j                              ¦   «         S rH   ©rk   r±  rÄ   s    r!   r±  zBoxerNot.atomsh  ó   € ØŒx�~Š~ÑÔÐr#   c                 óN   — t          | j                             ¦   «         ¦  «        S rH   )r  rk   r´  rÄ   s    r!   r´  zBoxerNot.cleank  s   € Ý˜œŸšÑ(Ô(Ñ)Ô)Ð)r#   c                 óP   — t          | j                             |¦  «        ¦  «        S rH   )r  rk   r»  rº  s     r!   r»  zBoxerNot.renumber_sentencesn  s    € Ý˜œ×3Ò3°AÑ6Ô6Ñ7Ô7Ð7r#   c                 ó   — d| j         z  S )Nznot(%s)©rk   rÄ   s    r!   rÕ  zBoxerNot.__repr__q  s   € Ø˜DœHÑ%Ð%r#   c                 óB   — | j         |j         k    o| j        |j        k    S rH   )rÚ  rk   rÛ  s     r!   rÝ  zBoxerNot.__eq__t  s   € ØŒ~ ¤Ò0ÐJ°T´XÀÄÒ5JÐJr#   c                 ó   — | |k     S rH   rA   rÛ  s     r!   rß  zBoxerNot.__ne__w  rà  r#   Nrá  rA   r#   r!   r  r  `  s“   € € € € € ðð ð ð%ð %ð %ð ð  ð  ð*ð *ð *ð8ð 8ð 8ð&ð &ð &ðKð Kð Kð!ð !ð !ð  Ô(€H€H€Hr#   r  c                   ó:   — e Zd Zd„ Zd„ Zd„ Zd„ Zej        Zd„ Z	dS )ÚBoxerIndexedc                 ód   — t                                | ¦  «         || _        || _        || _        d S rH   )r¡  r"   r8   rî   rï   )r   r8   rî   rï   s       r!   r"   zBoxerIndexed.__init__~  s3   € Ý×!Ò! $Ñ'Ô'Ð'Ø(ˆÔØ$ˆŒØ(ˆÔÐÐr#   c                 ó   — | hS rH   rA   rÄ   s    r!   r±  zBoxerIndexed.atoms„  s	   € Øˆvˆr#   c                 óæ   — | j         |j         k    oa| j        |j        k    oQ| j        |j        k    oA| j        |j        k    o1t	          t
          j        d„ t          | |¦  «        D ¦   «         ¦  «        S )Nc              3   ó(   K  — | ]\  }}||k    V — Œd S rH   rA   )rB   rÄ  Úos      r!   rJ   z&BoxerIndexed.__eq__.<locals>.<genexpr>�  s*   è è € Ð&KÐ&K±$°!°Q q¨A¢vÐ&KÐ&KÐ&KÐ&KÐ&KÐ&Kr#   )rÚ  r8   rî   rï   r   rO   rP   rb   rÛ  s     r!   rÝ  zBoxerIndexed.__eq__‡  s€   € àŒN˜eœoÒ-ð MØÔ! UÔ%7Ò7ðMà” 5Ô#3Ò3ðMð Ô! UÔ%7Ò7ðMõ •x”}Ð&KÐ&K½#¸dÀEÑ:JÔ:JÐ&KÑ&KÔ&KÑLÔLð	
r#   c                 ó   — | |k     S rH   rA   rÛ  s     r!   rß  zBoxerIndexed.__ne__�  rà  r#   c           	      óÒ   — d                      |                      ¦   «         | j        | j        d                     d„ | j        D ¦   «         ¦  «        ¦  «        }| D ]
}|d|z  z  }Œ|dz   S )Nz{}({}, {}, [{}]rÎ  c              3   ó    K  — | ]	}d |z  V — Œ
dS rÐ  rA   )rB   Úwis     r!   rJ   z(BoxerIndexed.__repr__.<locals>.<genexpr>š  s&   è è € Ð<Ð< B�d˜R‘iÐ<Ð<Ð<Ð<Ð<Ð<r#   z, %sr—   )rŽ   Ú_predr8   rî   r-   rï   )r   rÄ  r¬  s      r!   rÕ  zBoxerIndexed.__repr__•  sw   € Ø×$Ò$Ø�JŠJ‰LŒLØÔØŒOØ�IŠIÐ<Ð<¨$Ô*;Ð<Ñ<Ô<Ñ<Ô<ñ	
ô 
ˆð ð 	ð 	ˆAØ�˜!‘‰OˆAˆAØ�3‰wˆr#   N)
r´   rµ   r¶   r"   r±  rÝ  rß  r¡  r¾  rÕ  rA   r#   r!   rï  rï  }  si   € € € € € ð)ð )ð )ðð ð ð
ð 
ð 
ð!ð !ð !ð  Ô(€Hð	ð 	ð 	ð 	ð 	r#   rï  c                   ó8   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	dS )	r  c                 óx   — t                                | |||¦  «         || _        || _        || _        || _        d S rH   )rï  r"   rz  r�   r  r  )r   r8   rî   rï   rz  r�   r  r  s           r!   r"   zBoxerPred.__init__¢  s<   € Ý×Ò˜d L°*¸lÑKÔKÐKØˆŒØˆŒ	ØˆŒØˆŒ
ˆ
ˆ
r#   c                 óH   — | j         ht          ¦   «         t          ¦   «         fS rH   ©rz  rU  rÄ   s    r!   r¤  zBoxerPred._variables©  ó   € Ø”�
�C™EœE¥3¡5¤5Ð)Ð)r#   c           	      óh   — t          | j        | j        | j        || j        | j        | j        ¦  «        S rH   )r  r8   rî   rï   r�   r  r  ry  s     r!   Ú
change_varzBoxerPred.change_var¬  s7   € ÝØÔØŒOØÔØØŒIØŒHØŒJñ
ô 
ð 	
r#   c           	      ó˜   — t          | j        | j        | j        | j        |                      | j        ¦  «        | j        | j        ¦  «        S rH   )	r  r8   rî   rï   rz  r¸  r�   r  r  rÄ   s    r!   r´  zBoxerPred.clean·  sG   € ÝØÔØŒOØÔØŒHØ×Ò˜TœYÑ'Ô'ØŒHØŒJñ
ô 
ð 	
r#   c           	      óˆ   —  || j         ¦  «        }t          | j        || j        | j        | j        | j        | j        ¦  «        S rH   )rî   r  r8   rï   rz  r�   r  r  )r   ru   Únew_sent_indexs      r!   r»  zBoxerPred.renumber_sentencesÂ  sH   € Ø˜˜4œ?Ñ+Ô+ˆÝØÔØØÔØŒHØŒIØŒHØŒJñ
ô 
ð 	
r#   c                 óP   — t          | j        | j        | j        | j        f¦  «        S rH   )Úiterrz  r�   r  r  rÄ   s    r!   Ú__iter__zBoxerPred.__iter__Î  s!   € Ý�T”X˜tœy¨$¬(°D´JÐ?Ñ@Ô@Ð@r#   c                 ó   — dS )Nrä   rA   rÄ   s    r!   rù  zBoxerPred._predÑ  ó   € Øˆvr#   N©
r´   rµ   r¶   r"   r¤  r   r´  r»  r  rù  rA   r#   r!   r  r  ¡  s€   € € € € € ðð ð ð*ð *ð *ð	
ð 	
ð 	
ð	
ð 	
ð 	
ð

ð 

ð 

ðAð Að Aðð ð ð ð r#   r  c                   ó8   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	dS )	r  c                 óx   — t                                | |||¦  «         || _        || _        || _        || _        d S rH   )rï  r"   rz  r�   r  r  )r   r8   rî   rï   rz  r�   r  r  s           r!   r"   zBoxerNamed.__init__Ö  s<   € Ý×Ò˜d L°*¸lÑKÔKÐKØˆŒØˆŒ	ØˆŒ	ØˆŒ
ˆ
ˆ
r#   c                 óH   — | j         ht          ¦   «         t          ¦   «         fS rH   rý  rÄ   s    r!   r¤  zBoxerNamed._variablesÝ  rþ  r#   c           	      óh   — t          | j        | j        | j        || j        | j        | j        ¦  «        S rH   )r  r8   rî   rï   r�   r  r  ry  s     r!   r   zBoxerNamed.change_varà  s7   € ÝØÔØŒOØÔØØŒIØŒIØŒJñ
ô 
ð 	
r#   c           	      ó˜   — t          | j        | j        | j        | j        |                      | j        ¦  «        | j        | j        ¦  «        S rH   )	r  r8   rî   rï   rz  r¸  r�   r  r  rÄ   s    r!   r´  zBoxerNamed.cleanë  sG   € ÝØÔØŒOØÔØŒHØ×Ò˜TœYÑ'Ô'ØŒIØŒJñ
ô 
ð 	
r#   c           	      ó„   — t          | j         || j        ¦  «        | j        | j        | j        | j        | j        ¦  «        S rH   )r  r8   rî   rï   rz  r�   r  r  rº  s     r!   r»  zBoxerNamed.renumber_sentencesö  sC   € ÝØÔØˆAˆdŒoÑÔØÔØŒHØŒIØŒIØŒJñ
ô 
ð 	
r#   c                 óP   — t          | j        | j        | j        | j        f¦  «        S rH   )r  rz  r�   r  r  rÄ   s    r!   r  zBoxerNamed.__iter__  s!   € Ý�T”X˜tœy¨$¬)°T´ZÐ@ÑAÔAÐAr#   c                 ó   — dS )Nrå   rA   rÄ   s    r!   rù  zBoxerNamed._pred  s   € Øˆwr#   Nr	  rA   r#   r!   r  r  Õ  s€   € € € € € ðð ð ð*ð *ð *ð	
ð 	
ð 	
ð	
ð 	
ð 	
ð	
ð 	
ð 	
ðBð Bð Bðð ð ð ð r#   r  c                   ó2   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )r   c                 óx   — t                                | |||¦  «         || _        || _        || _        || _        d S rH   )rï  r"   r!  r"  ræ   r  )r   r8   rî   rï   r!  r"  ræ   r  s           r!   r"   zBoxerRel.__init__	  s<   € Ý×Ò˜d L°*¸lÑKÔKÐKØˆŒ	ØˆŒ	ØˆŒØˆŒ
ˆ
ˆ
r#   c                 óT   — | j         | j        ht          ¦   «         t          ¦   «         fS rH   ©r!  r"  rU  rÄ   s    r!   r¤  zBoxerRel._variables  ó    € Ø”˜DœIÐ&­©¬­s©u¬uÐ5Ð5r#   c           
      ó˜   — t          | j        | j        | j        | j        | j        |                      | j        ¦  «        | j        ¦  «        S rH   )	r   r8   rî   rï   r!  r"  r¸  ræ   r  rÄ   s    r!   r´  zBoxerRel.clean  sG   € ÝØÔØŒOØÔØŒIØŒIØ×Ò˜TœXÑ&Ô&ØŒJñ
ô 
ð 	
r#   c           	      ó„   — t          | j         || j        ¦  «        | j        | j        | j        | j        | j        ¦  «        S rH   )r   r8   rî   rï   r!  r"  ræ   r  rº  s     r!   r»  zBoxerRel.renumber_sentences  sC   € ÝØÔØˆAˆdŒoÑÔØÔØŒIØŒIØŒHØŒJñ
ô 
ð 	
r#   c                 óP   — t          | j        | j        | j        | j        f¦  «        S rH   )r  r!  r"  ræ   r  rÄ   s    r!   r  zBoxerRel.__iter__)  s!   € Ý�T”Y ¤	¨4¬8°T´ZÐ@ÑAÔAÐAr#   c                 ó   — dS )Nræ   rA   rÄ   s    r!   rù  zBoxerRel._pred,  ó   € Øˆur#   N)	r´   rµ   r¶   r"   r¤  r´  r»  r  rù  rA   r#   r!   r   r     sq   € € € € € ðð ð ð6ð 6ð 6ð	
ð 	
ð 	
ð	
ð 	
ð 	
ðBð Bð Bðð ð ð ð r#   r   c                   ó>   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	S )
rQ  c                 ó\   — t                                | |||¦  «         || _        || _        d S rH   )rï  r"   rz  rk   )r   r8   rî   rï   rz  rk   s         r!   r"   zBoxerProp.__init__1  s.   € Ý×Ò˜d L°*¸lÑKÔKÐKØˆŒØˆŒˆˆr#   c                 óÂ   — t          t          t          j        t	          ¦   «         t	          ¦   «         | j        hf| j                             ¦   «         ¦  «        ¦  «        S rH   )ÚtuplerR   rO   rÇ  rU  rz  rk   r¤  rÄ   s    r!   r¤  zBoxerProp._variables6  sF   € ÝÝ•”�s™uœu¥c¡e¤e¨d¬h¨ZÐ8¸$¼(×:MÒ:MÑ:OÔ:OÑPÔPñ
ô 
ð 	
r#   c                 ó   — | j         hS rH   rë  rÄ   s    r!   Úreferenced_labelszBoxerProp.referenced_labels;  s   € Ø”ˆzÐr#   c                 ó4   — | j                              ¦   «         S rH   ræ  rÄ   s    r!   r±  zBoxerProp.atoms>  rç  r#   c                 ó~   — t          | j        | j        | j        | j        | j                             ¦   «         ¦  «        S rH   )rQ  r8   rî   rï   rz  rk   r´  rÄ   s    r!   r´  zBoxerProp.cleanA  s9   € ÝØÔØŒOØÔØŒHØŒH�NŠNÑÔñ
ô 
ð 	
r#   c           	      ó’   — t          | j         || j        ¦  «        | j        | j        | j                             |¦  «        ¦  «        S rH   )rQ  r8   rî   rï   rz  rk   r»  rº  s     r!   r»  zBoxerProp.renumber_sentencesJ  sG   € ÝØÔØˆAˆdŒoÑÔØÔØŒHØŒH×'Ò'¨Ñ*Ô*ñ
ô 
ð 	
r#   c                 ó8   — t          | j        | j        f¦  «        S rH   )r  rz  rk   rÄ   s    r!   r  zBoxerProp.__iter__S  s   € Ý�T”X˜tœxÐ(Ñ)Ô)Ð)r#   c                 ó   — dS )Nrã   rA   rÄ   s    r!   rù  zBoxerProp._predV  r  r#   N)r´   rµ   r¶   r"   r¤  r!  r±  r´  r»  r  rù  rA   r#   r!   rQ  rQ  0  sŒ   € € € € € ðð ð ð

ð 
ð 
ð
ð ð ð ð  ð  ð
ð 
ð 
ð
ð 
ð 
ð*ð *ð *ðð ð ð ð r#   rQ  c                   ó2   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )rf  c                 ó\   — t                                | |||¦  «         || _        || _        d S rH   )rï  r"   r!  r"  )r   r8   rî   rï   r!  r"  s         r!   r"   zBoxerEq.__init__[  ó.   € Ý×Ò˜d L°*¸lÑKÔKÐKØˆŒ	ØˆŒ	ˆ	ˆ	r#   c                 óT   — | j         | j        ht          ¦   «         t          ¦   «         fS rH   r  rÄ   s    r!   r¤  zBoxerEq._variables`  r  r#   c                 ó   — t          ¦   «         S rH   r¯  rÄ   s    r!   r±  zBoxerEq.atomsc  r²  r#   c                 ól   — t          | j         || j        ¦  «        | j        | j        | j        ¦  «        S rH   )rf  r8   rî   rï   r!  r"  rº  s     r!   r»  zBoxerEq.renumber_sentencesf  ó9   € ÝØÔØˆAˆdŒoÑÔØÔØŒIØŒIñ
ô 
ð 	
r#   c                 ó8   — t          | j        | j        f¦  «        S rH   )r  r!  r"  rÄ   s    r!   r  zBoxerEq.__iter__o  ó   € Ý�T”Y ¤	Ð*Ñ+Ô+Ð+r#   c                 ó   — dS )Nrâ   rA   rÄ   s    r!   rù  zBoxerEq._predr  ó   € Øˆtr#   N)	r´   rµ   r¶   r"   r¤  r±  r»  r  rù  rA   r#   r!   rf  rf  Z  sn   € € € € € ðð ð ð
6ð 6ð 6ðð ð ð
ð 
ð 
ð,ð ,ð ,ðð ð ð ð r#   rf  c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )rM  c                 ój   — t                                | |||¦  «         || _        || _        || _        d S rH   )rï  r"   rz  rN  r  )r   r8   rî   rï   rz  rN  r  s          r!   r"   zBoxerCard.__init__w  s5   € Ý×Ò˜d L°*¸lÑKÔKÐKØˆŒØˆŒ
ØˆŒ	ˆ	ˆ	r#   c                 óH   — | j         ht          ¦   «         t          ¦   «         fS rH   rý  rÄ   s    r!   r¤  zBoxerCard._variables}  rþ  r#   c                 óx   — t          | j         || j        ¦  «        | j        | j        | j        | j        ¦  «        S rH   )rM  r8   rî   rï   rz  rN  r  rº  s     r!   r»  zBoxerCard.renumber_sentences€  s>   € ÝØÔØˆAˆdŒoÑÔØÔØŒHØŒJØŒIñ
ô 
ð 	
r#   c                 óD   — t          | j        | j        | j        f¦  «        S rH   )r  rz  rN  r  rÄ   s    r!   r  zBoxerCard.__iter__Š  s   € Ý�T”X˜tœz¨4¬9Ð5Ñ6Ô6Ð6r#   c                 ó   — dS )Nrè   rA   rÄ   s    r!   rù  zBoxerCard._pred�  r  r#   N)r´   rµ   r¶   r"   r¤  r»  r  rù  rA   r#   r!   rM  rM  v  s_   € € € € € ðð ð ð*ð *ð *ð
ð 
ð 
ð7ð 7ð 7ðð ð ð ð r#   rM  c                   ó8   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	dS )	rt  c                 ó\   — t                                | |||¦  «         || _        || _        d S rH   )rï  r"   r]  r^  )r   r8   rî   rï   r]  r^  s         r!   r"   zBoxerOr.__init__’  r)  r#   c                 ó®   — t          t          t          j        | j                             ¦   «         | j                             ¦   «         ¦  «        ¦  «        S rH   )r  rR   rO   rÇ  r]  r¤  r^  rÄ   s    r!   r¤  zBoxerOr._variables—  s:   € Ý•S�œ t¤y×';Ò';Ñ'=Ô'=¸t¼y×?SÒ?SÑ?UÔ?UÑVÔVÑWÔWÐWr#   c                 óh   — | j                              ¦   «         | j                             ¦   «         z  S rH   ©r]  r±  r^  rÄ   s    r!   r±  zBoxerOr.atomsš  ó%   € ØŒy�ŠÑ Ô  4¤9§?¢?Ñ#4Ô#4Ñ4Ð4r#   c                 ó¢   — t          | j        | j        | j        | j                             ¦   «         | j                             ¦   «         ¦  «        S rH   )rt  r8   rî   rï   r]  r´  r^  rÄ   s    r!   r´  zBoxerOr.clean�  sC   € ÝØÔØŒOØÔØŒI�OŠOÑÔØŒI�OŠOÑÔñ
ô 
ð 	
r#   c                 ól   — t          | j         || j        ¦  «        | j        | j        | j        ¦  «        S rH   )rt  r8   rî   rï   r]  r^  rº  s     r!   r»  zBoxerOr.renumber_sentences¦  r-  r#   c                 ó8   — t          | j        | j        f¦  «        S rH   )r  r]  r^  rÄ   s    r!   r  zBoxerOr.__iter__¯  r/  r#   c                 ó   — dS )Nrà   rA   rÄ   s    r!   rù  zBoxerOr._pred²  r1  r#   N©
r´   rµ   r¶   r"   r¤  r±  r´  r»  r  rù  rA   r#   r!   rt  rt  ‘  s€   € € € € € ðð ð ð
Xð Xð Xð5ð 5ð 5ð
ð 
ð 
ð
ð 
ð 
ð,ð ,ð ,ðð ð ð ð r#   rt  c                   ó8   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	dS )	r  c                 óx   — t                                | |||¦  «         || _        || _        || _        || _        d S rH   )rï  r"   r  r]  r	  r^  )r   r8   rî   rï   r  r]  r	  r^  s           r!   r"   zBoxerWhq.__init__·  s>   € õ 	×Ò˜d L°*¸lÑKÔKÐKØ"ˆŒØˆŒ	Ø ˆŒØˆŒ	ˆ	ˆ	r#   c           	      óò   — t          t          t          j        | j        ht          ¦   «         t          ¦   «         f| j                             ¦   «         | j                             ¦   «         ¦  «        ¦  «        S rH   )	r  rR   rO   rÇ  r	  rU  r]  r¤  r^  rÄ   s    r!   r¤  zBoxerWhq._variablesÀ  s^   € ÝÝÝ”Ø”-�¥#¡%¤%­©¬Ð/Ø”	×$Ò$Ñ&Ô&Ø”	×$Ò$Ñ&Ô&ñ	ô ñ
ô 
ð 	
r#   c                 óh   — | j                              ¦   «         | j                             ¦   «         z  S rH   r<  rÄ   s    r!   r±  zBoxerWhq.atomsÊ  r=  r#   c           
      óº   — t          | j        | j        | j        | j        | j                             ¦   «         | j        | j                             ¦   «         ¦  «        S rH   )	r  r8   rî   rï   r  r]  r´  r	  r^  rÄ   s    r!   r´  zBoxerWhq.cleanÍ  sM   € ÝØÔØŒOØÔØŒNØŒI�OŠOÑÔØŒMØŒI�OŠOÑÔñ
ô 
ð 	
r#   c           	      ó„   — t          | j         || j        ¦  «        | j        | j        | j        | j        | j        ¦  «        S rH   )r  r8   rî   rï   r  r]  r	  r^  rº  s     r!   r»  zBoxerWhq.renumber_sentencesØ  sC   € ÝØÔØˆAˆdŒoÑÔØÔØŒNØŒIØŒMØŒIñ
ô 
ð 	
r#   c                 ó‚   — t          dd                     | j        ¦  «        z   dz   | j        | j        | j        f¦  «        S )Nr™   r“   rš   )r  r-   r  r]  r	  r^  rÄ   s    r!   r  zBoxerWhq.__iter__ã  s>   € ÝØ�3—8’8˜DœNÑ+Ô+Ñ+¨cÑ1°4´9¸d¼mÈTÌYÐWñ
ô 
ð 	
r#   c                 ó   — dS )Nré   rA   rÄ   s    r!   rù  zBoxerWhq._predè  r  r#   NrB  rA   r#   r!   r  r  ¶  s}   € € € € € ðð ð ð
ð 
ð 
ð5ð 5ð 5ð	
ð 	
ð 	
ð	
ð 	
ð 	
ð
ð 
ð 
ð
ð ð ð ð r#   r  c                   ó   — e Zd Zd„ ZdS )ÚPassthroughBoxerDrsInterpreterc                 ó   — |S rH   rA   )r   Úexs     r!   r<   z(PassthroughBoxerDrsInterpreter.interpretí  s   € Øˆ	r#   N)r´   rµ   r¶   r<   rA   r#   r!   rL  rL  ì  s#   € € € € € ðð ð ð ð r#   rL  c                   ó(   — e Zd Zdd„Zd„ Zd„ Zd„ ZdS )r   Fc                 ó   — || _         d S rH   )Ú_occur_index)r   Úoccur_indexs     r!   r"   z#NltkDrtBoxerDrsInterpreter.__init__ò  s   € Ø'ˆÔÐÐr#   c           	      óL  — t          |t          ¦  «        rlt          d„ |j        D ¦   «         t	          t          | j        |j        ¦  «        ¦  «        ¦  «        }|j        �|                      |j        ¦  «        |_        |S t          |t          ¦  «        r't          |                      |j        ¦  «        ¦  «        S t          |t          ¦  «        r@|                      |j        › d|j        › �|¦  «        }|                      ||j        ¦  «        S t          |t$          ¦  «        rA|                      d|j        › d|j        › �|¦  «        }|                      ||j        ¦  «        S t          |t(          ¦  «        r?|                      d|j        z  |¦  «        }|                      ||j        |j        ¦  «        S t          |t0          ¦  «        r:t3          t5          |j        ¦  «        |                      |j        ¦  «        ¦  «        S t          |t6          ¦  «        rNt9          t;          t5          |j        ¦  «        ¦  «        t;          t5          |j        ¦  «        ¦  «        ¦  «        S t          |t<          ¦  «        rA|                      d|j        › d|j        › �|¦  «        }|                      ||j        ¦  «        S t          |t@          ¦  «        r@tC          |                      |j"        ¦  «        |                      |j#        ¦  «        ¦  «        S t          |tH          ¦  «        r^|                      |j"        ¦  «        }|                      |j#        ¦  «        }t          |j        |j        z   |j        |j        z   ¦  «        S J |j%        j&        › d|› �¦   «         ‚)	zT
        :param ex: ``AbstractBoxerDrs``
        :return: ``DrtExpression``
        c                 ó,   — g | ]}t          |¦  «        ‘ŒS rA   )r   rÒ  s     r!   rC   z8NltkDrtBoxerDrsInterpreter.interpret.<locals>.<listcomp>ü  s   € Ð.Ð.Ð. •˜!‘”Ð.Ð.Ð.r#   Nr7  Úne_rÑ  Úcard_Fz: )'Ú
isinstancerX  r   rY  rQ   rR   r<   rð   rÁ  r  r	   rk   r  Ú_add_occur_indexingr  r�   rG  rz  r  r  r   ræ   r!  r"  rQ  r   r   rf  r   r   rM  rN  rt  r
   r]  r^  r  rÚ  r´   )r   rN  rk   rä   r]  r^  s         r!   r<   z$NltkDrtBoxerDrsInterpreter.interpretõ  s)  € õ
 �b�(Ñ#Ô#ð !	GÝØ.Ð. b¤gÐ.Ñ.Ô.µµS¸¼ÈÌÑ5RÔ5RÑ0SÔ0Sñô ˆCð Œ}Ð(Ø!%§¢°´Ñ!>Ô!>�”ØˆJÝ˜�HÑ%Ô%ð 	GÝ'¨¯ª°r´vÑ(>Ô(>Ñ?Ô?Ð?Ý˜�IÑ&Ô&ð 	GØ×+Ò+¨r¬vÐ,AÐ,A¸¼Ð,AÐ,AÀ2ÑFÔFˆDØ—?’? 4¨¬Ñ0Ô0Ð0Ý˜�JÑ'Ô'ð 	GØ×+Ò+Ð,E°"´'Ð,EÐ,E¸B¼GÐ,EÐ,EÀrÑJÔJˆDØ—?’? 4¨¬Ñ0Ô0Ð0Ý˜�HÑ%Ô%ð 	GØ×+Ò+¨D°B´F©O¸RÑ@Ô@ˆDØ—?’? 4¨¬°"´'Ñ:Ô:Ð:Ý˜�IÑ&Ô&ð 	GÝ!¥(¨2¬6Ñ"2Ô"2°D·N²NÀ2Ä6Ñ4JÔ4JÑKÔKÐKÝ˜�GÑ$Ô$ð 	GÝ(Ý%¥h¨r¬wÑ&7Ô&7Ñ8Ô8Ý%¥h¨r¬wÑ&7Ô&7Ñ8Ô8ñô ð õ ˜�IÑ&Ô&ð 	GØ×+Ò+Ð,H°B´GÐ,HÐ,H¸b¼hÐ,HÐ,HÈ"ÑMÔMˆDØ—?’? 4¨¬Ñ0Ô0Ð0Ý˜�GÑ$Ô$ð 	GÝ" 4§>¢>°"´'Ñ#:Ô#:¸D¿NºNÈ2Ì7Ñ<SÔ<SÑTÔTÐTÝ˜�HÑ%Ô%ð 	GØ—>’> "¤'Ñ*Ô*ˆDØ—>’> "¤'Ñ*Ô*ˆDÝ�t”y 4¤9Ñ,¨d¬j¸4¼:Ñ.EÑFÔFÐFØ6˜œÔ.Ð6Ð6°"Ð6Ð6Ñ6Ô6Ð6r#   c           	      óœ   — t          t          |¦  «        ¦  «        }|D ],}t          |t          t          |¦  «        ¦  «        ¦  «        }Œ-|S rH   )r   r   r   )r   rä   rc   rÔ   r%  s        r!   rG  z%NltkDrtBoxerDrsInterpreter._make_atom  sP   € Ý%¥h¨t¡n¤nÑ5Ô5ˆØð 	ð 	ˆCÝ,ØÕ,­X°c©]¬]Ñ;Ô;ñô ˆEˆEð ˆr#   c                 ó¤   — | j         rH|j        �A|j        r|d|j        z  z  }|d|j        z  z  }|dt          |j        ¦  «        d         z  z  }|S )Nz_%sz_s%sz_w%sr   )rQ  rî   r8   Úsortedrï   )r   ÚbaserN  s      r!   rX  z.NltkDrtBoxerDrsInterpreter._add_occur_indexing&  sc   € ØÔð 	8 ¤Ð!:ØŒð 0Ø˜ ¤Ñ/Ñ/�Ø�F˜Rœ]Ñ*Ñ*ˆDØ�F�V B¤OÑ4Ô4°QÔ7Ñ7Ñ7ˆDØˆr#   Nr³   )r´   rµ   r¶   r"   r<   rG  rX  rA   r#   r!   r   r   ñ  sV   € € € € € ð(ð (ð (ð (ð'7ð '7ð '7ðRð ð ðð ð ð ð r#   r   c                   ó   — e Zd ZdS )ÚUnparseableInputExceptionN)r´   rµ   r¶   rA   r#   r!   r^  r^  /  s   € € € € € Ø€Dr#   r^  Ú__main__zusage: %prog TEXT [options]z	--verbosez-vzdisplay verbose logsÚ
store_trueFr   )ÚhelpÚactionÚdefaultÚdestz--folz-fz
output FOLÚfolz
--questionz-qzinput is a questionr9   z--occurz-ozoccurrence indexrR  r–   zincorrect number of arguments)rR  z\n)r9   r   )Cr·   rO   r*   rw  rˆ   rn   Ú	functoolsr   Úoptparser   Únltk.internalsr   Únltk.sem.drtr   r   r   r	   r
   r   r   r   r   Únltk.sem.logicr   r   r   r   r   r°   r‡  r¡  rX  r  rï  r  r  r   rQ  rf  rM  rt  r  rL  r   r5   r^  r´   ÚoptsÚ
add_optionÚ
parse_argsÚoptionsrc   rN   ÚerrorrR  Úinterpreterr>   rœ   r9   r   rk   r‡   ÚsimplifyÚeliminate_equalityre  Ú	normalizeÚpretty_printrA   r#   r!   ú<module>ru     s-  ððð ð* €€€Ø 	€	€	€	Ø 	€	€	€	Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !à +Ð +Ð +Ð +Ð +Ð +ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ðð ð ð ð ð ð ð ð ð ð ð ðiYð iYð iYð iYð iYñ iYô iYð iYðX	O*ð O*ð O*ð O*ð O*˜9ñ O*ô O*ð O*ðdDTð DTð DTð DTð DT�Yñ DTô DTð DTðN"ð "ð "ð "ð "ñ "ô "ð "ðJ8)ð 8)ð 8)ð 8)ð 8)Ðñ 8)ô 8)ð 8)ðv)ð )ð )ð )ð )Ðñ )ô )ð )ð:!ð !ð !ð !ð !Ð#ñ !ô !ð !ðH1ð 1ð 1ð 1ð 1�ñ 1ô 1ð 1ðh0ð 0ð 0ð 0ð 0�ñ 0ô 0ð 0ðf%ð %ð %ð %ð %ˆ|ñ %ô %ð %ðP'ð 'ð 'ð 'ð '�ñ 'ô 'ð 'ðTð ð ð ð ˆlñ ô ð ð8ð ð ð ð �ñ ô ð ð6"ð "ð "ð "ð "ˆlñ "ô "ð "ðJ3ð 3ð 3ð 3ð 3ˆ|ñ 3ô 3ð 3ðlð ð ð ð ñ ô ð ð
;ð ;ð ;ð ;ð ;ñ ;ô ;ð ;ð|	ð 	ð 	ð 	ð 	 	ñ 	ô 	ð 	ð ˆzÒÑØˆ<Ð5Ñ6Ô6€DØ‡O‚OØØØ#ØØØð ñ ô ð ð 	‡O‚OØ�˜L°ÀuÐSXð ñ ô ð ð 	‡O‚OØØØ"ØØØð ñ ô ð ð 	‡O‚OØØØØØØð ñ ô ð ð —o’oÑ'Ô'�O€Wˆdà
€sˆ4�y„y�A‚~€~Ø�
Š
Ð2Ñ3Ô3Ð3à,Ð,¸Ô9LÐMÑMÔM€KØ
ˆ%�Ñ
Ô
×
,Ò
,ØˆQŒ�Š�eÑÔ wÔ'7ÀÄð -ñ ô €Cð €{Øˆˆd‰Œˆˆˆà�lŠl‰nŒn×/Ò/Ñ1Ô1ˆØŒ;ð 	ØˆE�#—'’'‘)”)×%Ò%Ñ'Ô'Ñ(Ô(Ð(Ð(Ð(à×ÒÑÔÐÐÐð[ Ðr#   