
    sj
                     n    d Z  eh d          ZdedefdZ eh d          ZdedefdZdedefdZdS )	zBinary file extensions to skip for text-based operations.

These files can't be meaningfully compared as text and are often large.
Ported from free-code src/constants/files.ts.
>]   .a.o.z.7z.ai.db.gz.so.xd.xz.3ds.aac.app.avi.bin.bmp.bz2.dat.deb.dll.ear.eot.eps.exe.fig.fla.flv.gif.ico.idx.iso.jar.jpg.lib.m4a.m4v.max.mdb.mkv.mov.mp3.mp4.mpg.msi.obj.ogg.otf.png.psd.pyc.pyo.rar.rpm.swf.tar.tgz.tif.ttf.war.wav.wma.wmv.zip.aiff.data.flac.jpeg.mpeg.node.opus.rlib.tiff.wasm.webm.webp.woff.blend.class.dylib.lockb.woff2.sketch.sqlite.sqlite3.doc.odp.ods.odt.ppt.xls.docx.pptx.xlsxpathreturnc                     |                      d          }|dk    rdS | |d                                         t          v S )zGCheck if a file path has a binary extension. Pure string check, no I/O..FN)rfindlowerBINARY_EXTENSIONSr_   dots     ;/home/agent/.hermes/hermes-agent/tools/binary_extensions.pyhas_binary_extensionrj   %   s?    
**S//C
byyu:!222    >   .pot.pps.rtf.docm.epub.ppsm.ppsx.pptm.xlsb.xlsmrV   rW   rX   rY   rZ   r[   r\   r]   r^   c                     |                      d          }|dk    rdS | |d                                         t          v S )zhTrue when the path names an opaque container document (.docx etc.).

    Pure string check, no I/O.
    rb   rc   FN)rd   re   OPAQUE_DOCUMENT_EXTENSIONSrg   s     ri   has_opaque_document_extensionrx   >   sA    
 **S//C
byyu:!;;;rk   c                 P    |                                                      d          S )zCTrue when the path has a .pdf extension. Pure string check, no I/O.z.pdf)re   endswith)r_   s    ri   is_pdf_pathr{   I   s    ::<<  (((rk   N)	__doc__	frozensetrf   strboolrj   rw   rx   r{    rk   ri   <module>r      s     I      <3s 3t 3 3 3 3  'Y ( ( (   < < < < < <)c )d ) ) ) ) ) )rk   