PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  pY=@sdZddlZddlmZmZmZddljZddZ GdddZ dd Z d d Z d d Z edkrddlZejddddddS)z'Define SearchEngine for search dialogs.N) StringVar BooleanVarTclErrorcCs%t|dst||_|jS)zReturn the singleton SearchEngine instance for the process. The single SearchEngine saves settings between dialog instances. If there is not a SearchEngine already, make one. _searchengine)hasattr SearchEnginer)rootr +/opt/python35/lib/python3.5/SearchEngine.pygetsr c@seZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ ddZ ddZd#ddZddddZddd Zdd!d"ZdS)$rzr5r4r r r r rs             (rcCs|j|}|sdSd}|j\}}xc||kr||kr|}||krh|d}|j||}|sP|j\}}q4W|S)a&Search backwards and return an re match object or None. This is done by searching forwards until there is no match. Prog: compiled re object with a search method returning a match. Chars: line of text, without \n. Col: stop index for the search; the limit for match.end(). Nr#)r?span)r,rCr.rDfoundijr r r rFs  rFc Csly"|jd}|jd}Wntk r@d}}YnX|sV|jd}|sb|}||fS)zFReturn tuple of 'line.col' indexes from selection or insert mark. z sel.firstzsel.lastNinsert)rGr)r6r9r:r r r r2s r2cCs(tt|jd\}}||fS)z8Return (line, col) tuple of ints from 'line.col' string.rE)rHrIrJ)rGr<r.r r r r3sr3__main__z#idlelib.idle_test.test_searchengine verbosityr"exitF)rOrtkinterrrrZtkinter.messageboxZ messageboxr1r rrFr2r3rLZunittestmainr r r r s