Ë
    çÍ:j[  ã                   ó2   — d Z ddlZddlmZ  G d„ de«      Zy)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                   ó¤  — 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$d/d-„Z%y.)0Ú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,}c                 ó¾   — t        |«      }| j                  D ]  \  }}|j                  ||«      }Œ t        |j                  «       «      }|r|S |j	                  «       S )N)ÚstrÚTOKTOK_REGEXESÚsubÚstripÚsplit)ÚselfÚtextÚ
return_strÚregexpÚsubstitutions        úi/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/nltk/tokenize/toktok.pyÚtokenizezToktokTokenizer.tokenize­   sZ   € Ü�4‹yˆØ$(×$7Ñ$7ò 	2Ñ ˆF�LØ—:‘:˜l¨DÓ1‰Dð	2ô �4—:‘:“<Ó ˆÙ!ˆtÐ3 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      sê  „ ñð& �2—:‘:˜hÓ'¨Ð,€Lð �B—J‘JÐSÓTÐV]Ð]€Mà�B—J‘JÐAÓBÀGÐK€Mà�2—:‘:˜lÓ+¨WÐ4€Lð �—
‘
˜4Ó  (Ð*€IØ
ˆ"�*‰*�TÓ
˜HÐ
$€CØˆ2�:‰:�eÓ˜jÐ(€Dð �2—:‘:Ð7Ó8¸'ÐA€Lð $˜Ÿ™ LÓ1°7Ð:Ðà �b—j‘j Ó*¨GÐ3€OØ �b—j‘j Ó*¨GÐ3€Oð  �R—Z‘Z Ó.°Ð5€Nð  �R—Z‘ZÐ GÓHÈ(ÐR€Nð �2—:‘:˜jÓ)¨7Ð2€Là�2—:‘:˜jÓ)¨7Ð2€Là�—‘˜KÓ(¨'Ð1€Jñ ð	/ó
€Jñ ð	)ó
€Kñ ð	5ó€Lð �B—J‘J  J <¨rÐ2Ó3°VÐ;€Mà�R—Z‘Z " [ M°Ð 4Ó5°vÐ=€Nà �b—j‘j 2 l ^°2Ð!6Ó7¸Ð?€Oð �—
‘
˜:Ó&¨Ð.€IØ�—
‘
˜;Ó'¨Ð/€Ià�—
‘
Ð8Ó9¸5Ð@€IØ�—
‘
˜5Ó! 6Ð)€Ið ˆR�Z‰Z˜Ó Ð#€FØˆR�Z‰Z˜Ó  $Ð&€Fà�—
‘
˜8Ó$ cÐ)€Ið 	ØØØØØØØØØØØØØØØØØØØØØØØð1€Nô64r   r   )r   r   Únltk.tokenize.apir   r   r<   r   r   ú<module>r>      s    ðñó 
å (ôW4�jõ W4r   