§
    'ê[fÿ  ã                   ó:   — d Z ddlZddlmZ  G d„ de¦  «        ZdS )aé  
The tok-tok tokenizer is a simple, general tokenizer, where the input has one
sentence per line; thus only final period is tokenized.

Tok-tok has been tested on, and gives reasonably good results for English,
Persian, Russian, Czech, French, German, Vietnamese, Tajik, and a few others.
The input should be in UTF-8 encoding.

Reference:
Jon Dehdari. 2014. A Neurophysiologically-Inspired Statistical Language
Model (Doctoral dissertation). Columbus, OH, USA: The Ohio State University.
é    N)Ú
TokenizerIc                   óP  — e Zd ZdZ ej        d¦  «        dfZ ej        d¦  «        dfZ ej        d¦  «        dfZ ej        d¦  «        dfZ	 ej        d¦  «        d	fZ
 ej        d
¦  «        dfZ ej        d¦  «        dfZ ej        d¦  «        dfZ ej        d¦  «        dfZ ej        d¦  «        dfZ ej        d¦  «        dfZ ej        d¦  «        dfZ ej        d¦  «        dfZ ej        d¦  «        dfZ ej        d¦  «        dfZ ej        d¦  «        dfZ ed¦  «        Z ed¦  «        Z ed¦  «        Z ej        de› d�¦  «        d fZ ej        de› d�¦  «        d fZ ej        de› d�¦  «        d fZ ej        d!¦  «        d"fZ ej        d#¦  «        d$fZ ej        d%¦  «        d&fZ ej        d'¦  «        d&fZ  ej        d(¦  «        d)fZ! ej        d*¦  «        d+fZ" ej        d,¦  «        dfZ#eeeeee e
eeeeeeeeeeee	eeeee#gZ$d0d.„Z%d/S )1ÚToktokTokenizeru  
    This is a Python port of the tok-tok.pl from
    https://github.com/jonsafari/tok-tok/blob/master/tok-tok.pl

    >>> toktok = ToktokTokenizer()
    >>> text = u'Is 9.5 or 525,600 my favorite number?'
    >>> print(toktok.tokenize(text, return_str=True))
    Is 9.5 or 525,600 my favorite number ?
    >>> text = u'The https://github.com/jonsafari/tok-tok/blob/master/tok-tok.pl is a website with/and/or slashes and sort of weird : things'
    >>> print(toktok.tokenize(text, return_str=True))
    The https://github.com/jonsafari/tok-tok/blob/master/tok-tok.pl is a website with/and/or slashes and sort of weird : things
    >>> text = u'Â¡This, is a sentence with weirdÂ» symbolsâ€¦ appearing everywhereÂ¿'
    >>> expected = u'Â¡ This , is a sentence with weird Â» symbols â€¦ appearing everywhere Â¿'
    >>> assert toktok.tokenize(text, return_str=True) == expected
    >>> toktok.tokenize(text) == [u'Â¡', u'This', u',', u'is', u'a', u'sentence', u'with', u'weird', u'Â»', u'symbols', u'â€¦', u'appearing', u'everywhere', u'Â¿']
    True
    õ   Â Ú u1   ([ØŒ;Ø›Â¿!"\])}Â»â€ºâ€�ØŸÂ¡%ÙªÂ°Â±Â©Â®à¥¤à¥¥â€¦])z \1 u   ([({\[â€œâ€˜â€žâ€šÂ«â€¹ã€Œã€Ž])u
   ([â€“â€”])z& z&amp; ú	z &#9; z\|z &#124; u   (?<!,)([,ØŒ])(?![,\d])u	   (['â€™`])z ` ` z `` z ' ' z '' z
(?<!\.)\.$z .u    (?<!\.)\.\s*(["'â€™Â»â€ºâ€�]) *$z . \1z(,{2,})z(-{2,})z(\.{2,})uÒ   ([{à¼ºà¼¼áš›â€šâ€žâ�…â�½â‚�âŒ©â�¨â�ªâ�¬â�®â�°â�²â�´âŸ…âŸ¦âŸ¨âŸªâŸ¬âŸ®â¦ƒâ¦…â¦‡â¦‰â¦‹â¦�â¦�â¦‘â¦“â¦•â¦—â§˜â§šâ§¼â¸¢â¸¤â¸¦â¸¨ã€ˆã€Šã€Œã€Žã€�ã€”ã€–ã€˜ã€šã€�ï´¾ï¸—ï¸µï¸·ï¸¹ï¸»ï¸½ï¸¿ï¹�ï¹ƒï¹‡ï¹™ï¹›ï¹�ï¼ˆï¼»ï½›ï½Ÿï½¢uÏ   )]}à¼»à¼½ášœâ�†â�¾â‚ŽâŒªâ�©â�«â�­â�¯â�±â�³â�µâŸ†âŸ§âŸ©âŸ«âŸ­âŸ¯â¦„â¦†â¦ˆâ¦Šâ¦Œâ¦Žâ¦�â¦’â¦”â¦–â¦˜â§™â§›â§½â¸£â¸¥â¸§â¸©ã€‰ã€‹ã€�ã€�ã€‘ã€•ã€—ã€™ã€›ã€žã€Ÿï´¿ï¸˜ï¸¶ï¸¸ï¸ºï¸¼ï¸¾ï¹€ï¹‚ï¹„ï¹ˆï¹šï¹œï¹žï¼‰ï¼½ï½�ï½ ï½£u‹   $Â¢Â£Â¤Â¥Ö�Ø‹à§²à§³à§»à«±à¯¹à¸¿áŸ›â‚ â‚¡â‚¢â‚£â‚¤â‚¥â‚¦â‚§â‚¨â‚©â‚ªâ‚«â‚¬â‚­â‚®â‚¯â‚°â‚±â‚²â‚³â‚´â‚µâ‚¶â‚·â‚¸â‚¹â‚ºê ¸ï·¼ï¹©ï¼„ï¿ ï¿¡ï¿¥ï¿¦z([z])z\1 z:(?!//)z : z\?(?!\S)z ? z(:\/\/)[\S+\.\S+\/\S+][\/]z / z /z^ +Ú z\s+$Ú
z {2,}Fc                 óØ   — t          |¦  «        }| j        D ]\  }}|                     ||¦  «        }Œt          |                     ¦   «         ¦  «        }|r|n|                     ¦   «         S )N)ÚstrÚTOKTOK_REGEXESÚsubÚstripÚsplit)ÚselfÚtextÚ
return_strÚregexpÚsubstitutions        úH/var/www/piapp/venv/lib/python3.11/site-packages/nltk/tokenize/toktok.pyÚtokenizezToktokTokenizer.tokenize¬   sg   € Ý�4‰yŒyˆØ$(Ô$7ð 	2ð 	2Ñ ˆF�LØ—:’:˜l¨DÑ1Ô1ˆDˆDõ �4—:’:‘<”<Ñ Ô ˆØ!Ð3ˆtˆt t§z¢z¡|¤|Ð3ó    N)F)&Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚreÚcompileÚNON_BREAKINGÚFUNKY_PUNCT_1ÚFUNKY_PUNCT_2ÚEN_EM_DASHESÚ	AMPERCENTÚTABÚPIPEÚCOMMA_IN_NUMÚPROB_SINGLE_QUOTESÚSTUPID_QUOTES_1ÚSTUPID_QUOTES_2ÚFINAL_PERIOD_1ÚFINAL_PERIOD_2ÚMULTI_COMMASÚMULTI_DASHESÚ
MULTI_DOTSr   Ú
OPEN_PUNCTÚCLOSE_PUNCTÚCURRENCY_SYMÚOPEN_PUNCT_REÚCLOSE_PUNCT_REÚCURRENCY_SYM_REÚ	URL_FOE_1Ú	URL_FOE_2Ú	URL_FOE_3Ú	URL_FOE_4ÚLSTRIPÚRSTRIPÚ	ONE_SPACEr   r   © r   r   r   r      sH  € € € € € ðð ð& �2”:˜hÑ'Ô'¨Ð,€Lð �B”JÐSÑTÔTÐV]Ð]€Mà�B”JÐAÑBÔBÀGÐK€Mà�2”:˜lÑ+Ô+¨WÐ4€Lð �”
˜4Ñ Ô  (Ð*€IØ
ˆ"Œ*�TÑ
Ô
˜HÐ
$€CØˆ2Œ:�eÑÔ˜jÐ(€Dð �2”:Ð7Ñ8Ô8¸'ÐA€Lð $˜œ LÑ1Ô1°7Ð:Ðà �b”j Ñ*Ô*¨GÐ3€OØ �b”j Ñ*Ô*¨GÐ3€Oð  �R”Z Ñ.Ô.°Ð5€Nð  �R”ZÐ GÑHÔHÈ(ÐR€Nð �2”:˜jÑ)Ô)¨7Ð2€Là�2”:˜jÑ)Ô)¨7Ð2€Là�”˜KÑ(Ô(¨'Ð1€Jð �ð	/ñ
ô 
€Jð �#ð	)ñ
ô 
€Kð �3ð	5ñô €Lð �B”JÐ2 JÐ2Ð2Ð2Ñ3Ô3°VÐ;€Mà�R”ZÐ 4 [Ð 4Ð 4Ð 4Ñ5Ô5°vÐ=€Nà �b”jÐ!6 lÐ!6Ð!6Ð!6Ñ7Ô7¸Ð?€Oð �”
˜:Ñ&Ô&¨Ð.€IØ�”
˜;Ñ'Ô'¨Ð/€Ià�”
Ð8Ñ9Ô9¸5Ð@€IØ�”
˜5Ñ!Ô! 6Ð)€Ið ˆRŒZ˜ÑÔ Ð#€FØˆRŒZ˜Ñ Ô  $Ð&€Fà�”
˜8Ñ$Ô$ cÐ)€Ið 	ØØØØØØØØØØØØØØØØØØØØØØØð1€Nð64ð 4ð 4ð 4ð 4ð 4r   r   )r   r   Únltk.tokenize.apir   r   r<   r   r   ú<module>r>      sj   ððð ð 
€	€	€	à (Ð (Ð (Ð (Ð (Ð (ðW4ð W4ð W4ð W4ð W4�jñ W4ô W4ð W4ð W4ð W4r   