
    0-Ph5O                     b   d dl Z ddlmZ  G d d          Z e            Z eddd	          ed<    ed
dd	          ed
<    eddd	          ed<    eddd	          ed<    eddd	          ed<    eddd	          ed<    edddddddd d!"          ed<   g d#ZeD ]G\  ZZZ	Z
 ee                                d$z   e
d%dded&z   e	e
d'k    rd(nd)ed*"          Zeeej        <   H ed+d,d-dd.d/d0d1d!"          ed+<    ed2d3d4dd5d6d7d d!"          ed2<    ed8d9d:dd;d<d=d d!"          ed8<    ed>d?d@ddAdBdCdDgdEd!"          ed><    edFdGdHddIdJdKd d!"          edF<    edLdMdNddOdPdQd d!"          edL<    edRdSdTddUdVdW                    dX          d d!"          edR<    edYdZd[dd\d]d^d d!"          edY<    ed_d`daddbdcddd1d!"          ed_<    ededfdgdddhg d)d!"          ede<    edidjdgdddkg d)d!"          edi<   g dlZeD ]9\  ZZZ	ZZ
 ee                                e
dmddnee	ed!"          Zeeej        <   :g doZeD ]?\  ZZZZ	ZZ
Z ee                                dpz   e
eddqee	eedr"          Zeeej        <   @ds e                                D             ZdS )t    N   LegacyPluginc                   P    e Zd ZdZddddddZed             Zed             ZdS )PluginConfiga  Plugin Configuration Metadata

    This class holds the information needed to lazy-import plugins.

    Parameters
    ----------
    name : str
        The name of the plugin.
    class_name : str
        The name of the plugin class inside the plugin module.
    module_name : str
        The name of the module/package from which to import the plugin.
    is_legacy : bool
        If True, this plugin is a v2 plugin and will be wrapped in a
        LegacyPlugin. Default: False.
    package_name : str
        If the given module name points to a relative module, then the package
        name determines the package it is relative to.
    install_name : str
        The name of the optional dependency that can be used to install this
        plugin if it is missing.
    legacy_args : Dict
        A dictionary of kwargs to pass to the v2 plugin (Format) upon construction.

    Examples
    --------
    >>> PluginConfig(
            name="TIFF",
            class_name="TiffFormat",
            module_name="imageio.plugins.tifffile",
            is_legacy=True,
            install_name="tifffile",
            legacy_args={
                "description": "TIFF format",
                "extensions": ".tif .tiff .stk .lsm",
                "modes": "iIvV",
            },
        )
    >>> PluginConfig(
            name="pillow",
            class_name="PillowPlugin",
            module_name="imageio.plugins.pillow"
        )

    FN)	is_legacypackage_nameinstall_namelegacy_argsc                    |pt                      }|| _        || _        || _        || _        || _        |p| j        | _        |dd| _        | j                            |           d S )NzA legacy plugin)namedescription)	dictr   
class_namemodule_namer	   r   r
   r   update)selfr   r   r   r   r	   r
   r   s           V/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/imageio/config/plugins.py__init__zPluginConfig.__init__5   st     "+TVV	$&("(5DI$(9JKK,,,,,    c                     | j         st          d          t          j        | j        | j                  }t          || j                  } |di | j        S )z\For backwards compatibility with FormatManager

        Delete when migrating to v3
        z'Can only get format for legacy plugins. )	r   RuntimeError	importlibimport_moduler   r	   getattrr   r   )r   moduleclazzs      r   formatzPluginConfig.formatL   s`     ~ 	JHIII()94;LMM00u((t'(((r   c                     t          j        | j        | j                  }t	          || j                  }| j        r |di | j        fd}|}|S )zGet the plugin class (import if needed)

        Returns
        -------
        plugin_class : Any
            The class that can be used to instantiate plugins.

        c                 $    t          |           S )Nr   )requestlegacy_plugins    r   partial_legacy_pluginz8PluginConfig.plugin_class.<locals>.partial_legacy_pluginj   s    #G];;;r   r   )r   r   r   r	   r   r   r   r   )r   r   r   r$   r#   s       @r   plugin_classzPluginConfig.plugin_classY   su     ()94;LMM00> 	*!E55D$455M< < < < < *Er   )__name__
__module____qualname____doc__r   propertyr   r%   r   r   r   r   r      s|        , ,h - - - - -. 
) 
) X
)   X  r   r   pillowPillowPluginzimageio.plugins.pillow)r   r   r   pyav
PyAVPluginzimageio.plugins.pyavopencvOpenCVPluginzimageio.plugins.opencvtifffileTifffilePluginzimageio.plugins.tifffile_v3spe	SpePluginzimageio.plugins.speSPErawpyRawPyPluginzimageio.plugins.rawpyTIFF
TiffFormatzimageio.plugins.tifffileTzTIFF formatz.tif .tiff .stk .lsmiIvV)r   
extensionsmodes)r   r   r   r   r
   r   )))BMPWindows Bitmap.bmpPillowFormat)BUFRrA   z.bufrr@   )CURzWindows Cursorz.curr@   )DCXz	Intel DCXz.dcxr@   )DDSzDirectDraw Surface.ddsr@   )DIBr>    r@   )EPSzEncapsulated Postscriptz.ps .epsr@   )FITSrI   z
.fit .fitsr@   )FLIzAutodesk FLI/FLC Animationz	.fli .flcr@   )FPXFlashPixz.fpxr@   )FTEXzTexture File Format (IW2:EOC)z	.ftc .ftur@   )GBRzGIMP brush filez.gbrr@   )GIFzCompuserve GIF.gif	GIFFormat)GRIBrR   z.gribr@   )HDF5rS   z.h5 .hdfr@   )ICNSzMac OS icns resourcez.icnsr@   )ICOWindows Icon.icor@   )IMzIFUNC Image Memoryz.imr@   )IMTzIM ToolsrG   r@   )IPTCzIPTC/NAAz.iimr@   )JPEGzJPEG (ISO 10918)z.jfif .jpe .jpg .jpeg
JPEGFormat)JPEG2000zJPEG 2000 (ISO 15444)z.jp2 .j2k .jpc .jpf .jpx .j2cJPEG2000Format)MCIDASzMcIdas area filerG   r@   )MICzMicrosoft Image Composerz.micr@   )MPOzMPO (CIPA DC-007)z.mpor@   )MSPzWindows Paintz.mspr@   )PCDKodak PhotoCD.pcdr@   )PCX
Paintbrush.pcxr@   )PIXARzPIXAR raster imagez.pxrr@   )PNGzPortable network graphics.png	PNGFormat)PPMzPbmplus imagez.pbm .pgm .ppmr@   )PSDAdobe Photoshop.psdr@   )SGIzSGI Image File Formatz.bw .rgb .rgba .sgir@   )SPIDERzSpider 2D imagerG   r@   )SUNzSun Raster File.rasr@   )TGATargaz.tgar@   )r8   z
Adobe TIFF
.tif .tiff
TIFFFormat)WMFzWindows Metafilez	.wmf .emfr@   )XBMz
X11 Bitmap.xbmr@   )XPMzX11 Pixel Map.xpmr@   )XVTHUMBzXV thumbnail imagerG   r@   z-PILzimageio.plugins.pillow_legacyz via PillowrQ   iIi)r   r;   r<   	plugin_idFFMPEGFfmpegFormatzimageio.plugins.ffmpegffmpegz+Many video formats and cameras (via ffmpeg)z/.mov .avi .mpg .mpeg .mp4 .mkv .webm .wmv .h264IBSDF
BsdfFormatzimageio.plugins.bsdfbsdfz1Format based on the Binary Structured Data Formatz.bsdfDICOMDicomFormatzimageio.plugins.dicomdicomz.Digital Imaging and Communications in Medicinez.dcm .ct .mriFEIFEISEMFormatzimageio.plugins.feisemfeisemzFEI-SEM TIFF format.tif.tiffivrI   
FitsFormatzimageio.plugins.fitsfitsz-Flexible Image Transport System (FITS) formatz.fits .fit .fts .fzGDAL
GdalFormatzimageio.plugins.gdalgdalz#Geospatial Data Abstraction Libraryz .tiff  .tif .img .ecw .jpg .jpegITK	ItkFormatzimageio.plugins.simpleitk	simpleitkz:Insight Segmentation and Registration Toolkit (ITK) format )z.giplz.iplz.mhaz.mhdz.nhdrz.nia.hdrz.nrrdz.niiz.nii.gzz.imgz.img.gzz.vtkz.hdf5z.lsm.mncz.mnc2z.mghr   z.picr?   z.jpegz.jpgrk   r   r   z.dicomz.dcmz.gdcmNPZ	NpzFormatzimageio.plugins.npznumpyzNumpy's compressed array formatz.npzSWF	SWFFormatzimageio.plugins.swfswfzShockwave flashz.swf
SCREENGRABScreenGrabFormatzimageio.plugins.grabz(Grab screenshots (Windows and OS X only)CLIPBOARDGRABClipboardGrabFormatz"Grab from clipboard (Windows only)))z	lytro-lfrzLytro Illum lfr image filez.lfrr   LytroLfrFormat)zlytro-illum-rawzLytro Illum raw image file.rawr   LytroIllumRawFormat)z	lytro-lfpzLytro F01 lfp image filez.lfpr   LytroLfpFormat)zlytro-f01-rawzLytro F01 raw image filer   r   LytroF01RawFormatzimageio.plugins.lytrolytro)$)r=   r   zWindows or OS/2 Bitmapr?   r   FreeimageBmpFormatimageio.plugins.freeimage)CUT   zDr. Haloz.cutr   FreeimageFormatr   )rD      zDirectX SurfacerE   r   r   r   )EXR   zILM OpenEXRz.exrr   r   r   )G3   zRaw fax format CCITT G.3z.g3r   r   r   )rO      z#Static and animated gif (FreeImage)rP   r   	GifFormatimageio.plugins.freeimagemulti)HDR   zHigh Dynamic Range Imager   r   r   r   )rU      rV   rW   r   	IcoFormatr   )IFF   zIFF Interleaved Bitmapz	.iff .lbmr   r   r   )J2K   zJPEG-2000 codestreamz	.j2k .j2cr   r   r   )JNG   zJPEG Network Graphicsz.jngr   r   r   )JP2   zJPEG-2000 File Formatz.jp2r   r   r   )r[   r   zJPEG - JFIF Compliantz.jpg .jif .jpeg .jper   FreeimageJpegFormatr   )zJPEG-XR$   zJPEG XR image formatz.jxr .wdp .hdpr   r   r   )KOALA   zC64 Koala Graphicsz.koar   r   r   )PBM   zPortable Bitmap (ASCII).pbmr   r   r   )PBMRAW   zPortable Bitmap (RAW)r   r   r   r   )rc   	   rd   re   r   r   r   )rf   
   zZsoft Paintbrushrh   r   r   r   )PFM    zPortable floatmapz.pfmr   r   r   )PGM   zPortable Greymap (ASCII).pgmr   r   r   )PGMRAW   zPortable Greymap (RAW)r   r   r   r   )PICT!   zMacintosh PICTz.pct .pict .picr   r   r   )rj      zPortable Network Graphicsrk   r   FreeimagePngFormatr   )rm      zPortable Pixelmap (ASCII).ppmr   FreeimagePnmFormatr   )PPMRAW   zPortable Pixelmap (RAW)r   r   r   r   )rn      ro   rp   r   r   r   )RAS   zSun Raster Imagert   r   r   r   )RAW"   zRAW camera imagez.3fr .arw .bay .bmq .cap .cine .cr2 .crw .cs1 .dc2 .dcr .drf .dsc .dng .erf .fff .ia .iiq .k25 .kc2 .kdc .mdc .mef .mos .mrw .nef .nrw .orf .pef .ptx .pxn .qtk .raf .raw .rdc .rw2 .rwl .rwz .sr2 .srf .srw .stir   r   r   )rq      zSGI Image Formatz.sgi .rgb .rgba .bwr   r   r   )TARGA   zTruevision Targaz.tga .targar   r   r   )r8      zTagged Image File Formatrw   r   r   r   )WBMP   zWireless Bitmapz.wap .wbmp .wbmr   r   r   )WebP#   zGoogle WebP image formatz.webpr   r   r   )rz      zX11 Bitmap Formatr{   r   r   r   )r|      zX11 Pixmap Formatr}   r   r   r   z-FI	freeimage)r   r;   r<   fifc                 &    g | ]\  }}|j         |S r   )r   ).0xconfigs      r   
<listcomp>r     s$    PPPFv?OP1PPPr   )r   core.legacy_plugin_wrapperr   r   r   known_pluginsPILLOW_FORMATSidsummaryextr   upperr   r   joinlytro_formatsdesmodeFREEIMAGE_FORMATSr   r   items_original_orderr   r   r   <module>r     s       5 5 5 5 5 5i i i i i i i iX &,	n:R  h  %	L6L  f  ',	n:R  h  )L	-  j 
 $|	;4I  e  &	]8O  g $ %	*$,   f 1 1 1d %3 ( ( Bj\XXZZ& 3"]2';66TTC	
 
  F "(M&+&,	(DG   h  %	&J   f  &	'G%   g  $|	(,w'   e  %	&F+   f  %	&<8   f  $|	+Shh 
  
B G$ $+ + +e Z $|	%8   e  $|	%(   e  +l	!&A   l  ".	$&; " " "o    )6 ( ($D#sD*\ZZ\\+
 
  F "(M&+I I I T
 9J ( (4D!S#tZ\ZZ\\E! 	
 
  F "(M&+ QPm&9&9&;&;PPPr   