ó
    ´OÂf[  ã                   ó2   • S r SSKrSSKJr   " S S\5      rg)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                   ó®  • \ rS rSrSr\R                  " S5      S4r\R                  " S5      S4r\R                  " S5      S4r	\R                  " S5      S4r
\R                  " S	5      S
4r\R                  " S5      S4r\R                  " S5      S4r\R                  " S5      S4r\R                  " S5      S4r\R                  " S5      S4r\R                  " S5      S4r\R                  " S5      S4r\R                  " S5      S4r\R                  " S5      S4r\R                  " S5      S4r\R                  " S5      S4r\" S5      r\" S5      r\" S5      r\R                  " S\ S 35      S!4r\R                  " S\ S 35      S!4r\R                  " S\ S 35      S!4r\R                  " S"5      S#4r\R                  " S$5      S%4r\R                  " S&5      S'4r \R                  " S(5      S'4r!\R                  " S)5      S*4r"\R                  " S+5      S,4r#\R                  " S-5      S4r$\\\	\\\ \!\\\\\\\\\\\\
\\\\\$/r%S1S. jr&S/r'g0)2ÚToktokTokenizeré   uá  
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                 óÈ   • [        U5      nU R                   H  u  p4UR                  XA5      nM     [        UR                  5       5      nU(       a  U$ UR	                  5       $ )N)ÚstrÚTOKTOK_REGEXESÚsubÚstripÚsplit)ÚselfÚtextÚ
return_strÚregexpÚsubstitutions        Ú6/usr/lib/python3/dist-packages/nltk/tokenize/toktok.pyÚtokenizeÚToktokTokenizer.tokenize­   sQ   € Ü�4‹yˆØ$(×$7Ô$7Ñ ˆFØ—:‘:˜lÓ1ŠDñ %8ô �4—:‘:“<Ó ˆÞ!ˆtÐ3 t§z¡z£|Ð3ó    © N)F)(Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__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   Ú__static_attributes__r   r   r   r   r      s¶  † ñð& —:’:˜hÓ'¨Ð,€Lð —J’JÐSÓTÐV]Ð]€Mà—J’JÐAÓBÀGÐK€Mà—:’:˜lÓ+¨WÐ4€Lð —
’
˜4Ó  (Ð*€IØ
�*Š*�TÓ
˜HÐ
$€CØ�:Š:�eÓ˜jÐ(€Dð —:’:Ð7Ó8¸'ÐA€Lð Ÿš LÓ1°7Ð:Ðà—j’j Ó*¨GÐ3€OØ—j’j Ó*¨GÐ3€Oð —Z’Z Ó.°Ð5€Nð —Z’ZÐ GÓHÈ(ÐR€Nð —:’:˜jÓ)¨7Ð2€Là—:’:˜jÓ)¨7Ð2€Là—’˜KÓ(¨'Ð1€Jñ ð	/ó
€Jñ ð	)ó
€Kñ ð	5ó€Lð —J’J  J <¨rÐ2Ó3°VÐ;€Mà—Z’Z " [ M°Ð 4Ó5°vÐ=€Nà—j’j 2 l ^°2Ð!6Ó7¸Ð?€Oð —
’
˜:Ó&¨Ð.€IØ—
’
˜;Ó'¨Ð/€Ià—
’
Ð8Ó9¸5Ð@€IØ—
’
˜5Ó! 6Ð)€Ið �ZŠZ˜Ó Ð#€FØ�ZŠZ˜Ó  $Ð&€Fà—
’
˜8Ó$ cÐ)€Ið 	ØØØØØØØØØØØØØØØØØØØØØØØð1€N÷64r   r   )r    r!   Únltk.tokenize.apir   r   r   r   r   Ú<module>rB      s    ðñó 
å (ôW4�jõ W4r   