aQc@sYddlmZddlZddlZddlZdadZdZdZ dS(i(t_Nc Csidd6dd6dd6}d}g}g}xK|D]C}d|krts^tjdantjd|}|jd d}n|j}|sq4n|jd r|d j}y||}Wq4tk r|j t d |q4Xq4n||}xb|j D]T\}}|j|r7|}Pq|j|d r||t |d}PqqW|j |q4W||fS(sparse lines (iterable) of .hgignore text, returning a tuple of (patterns, parse errors). These patterns should be given to compile() to be validated and converted into a match function.srelre:tretregexpsrelglob:tglobt#s((^|[^\\])(\\\\)*)#.*s\1s\#ssyntax:isignoring invalid syntax '%s't:i( t _commentreRtcompiletsubtreplacetrstript startswithtstriptKeyErrortappendRt iteritemstlen( tlinestsyntaxestsyntaxtpatternstwarningstlinetstpattrels((s4/sys/lib/python2.7/site-packages/mercurial/ignore.pyt ignorepatss<     c Csi}x|D]}||kr%q ny_g||s   )