Ë
    S^(h	c  ã                   óì  — d dl Z d dlZd dlZd dlZd dlmZ d dlmZmZm	Z	m
Z
 d dlZd dlZddlmZ ddlmZ ddlmZmZmZmZmZmZmZmZmZmZmZ  e«       rd dlm Z   e	d	d
¬«      Z! ejD                  e#«      Z$ G d„ de«      Z G d„ d
e«      Z% ee%jL                  «      e%_&        e%jL                  jN                  �8e%jL                  jN                  jQ                  ddd¬«      e%jL                  _'        yy)é    N)ÚBytesIO)ÚAnyÚOptionalÚTypeVarÚUnioné   )Úcustom_object_save)ÚBatchFeature)ÚIMAGE_PROCESSOR_NAMEÚPushToHubMixinÚadd_model_info_to_auto_mapÚ"add_model_info_to_custom_pipelinesÚcached_fileÚ	copy_funcÚdownload_urlÚis_offline_modeÚis_remote_urlÚis_vision_availableÚlogging)ÚImageÚImageProcessorTypeÚImageProcessingMixin)Úboundc                   ó   — e Zd ZdZy)r
   aþ  
    Holds the output of the image processor specific `__call__` methods.

    This class is derived from a python dictionary and can be used as a dictionary.

    Args:
        data (`dict`):
            Dictionary of lists/arrays/tensors returned by the __call__ method ('pixel_values', etc.).
        tensor_type (`Union[None, str, TensorType]`, *optional*):
            You can give a tensor_type here to convert the lists of integers in PyTorch/TensorFlow/Numpy Tensors at
            initialization.
    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    ú`/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/transformers/image_processing_base.pyr
   r
   7   s   „ òr    r
   c                   ó  — e Zd ZdZdZd„ Zdefd„Ze	 	 	 	 	 dde	e
   deeej                  f   deeeej                  f      d	ed
edeeeef      dede
fd„«       Zd deeej                  f   defd„Zedeeej                  f   deeeef   eeef   f   fd„«       Zedeeef   fd„«       Zdeeef   fd„Zedeeej                  f   fd„«       Zdefd„Zdeeej                  f   fd„Zd„ Zed!d„«       Zdeeee   f   fd„Zy)"r   zˆ
    This is an image processor mixin used to provide saving/loading functionality for sequential and image feature
    extractors.
    Nc           
      ó  — |j                  dd«       |j                  dd«      | _        |j                  «       D ]  \  }}	 t        | ||«       Œ y# t        $ r%}t
        j                  d|› d|› d| › �«       |‚d}~ww xY w)z'Set elements of `kwargs` as attributes.Úfeature_extractor_typeNÚprocessor_classz
Can't set z with value z for )ÚpopÚ_processor_classÚitemsÚsetattrÚAttributeErrorÚloggerÚerror)ÚselfÚkwargsÚkeyÚvalueÚerrs        r!   Ú__init__zImageProcessingMixin.__init__O   s‡   € ð 	�
‰
Ð+¨TÔ2à &§
¡
Ð+<¸dÓ CˆÔà Ÿ,™,›.ò 	‰JˆC�ðÜ˜˜c 5Õ)ñ	øô "ò Ü—‘˜z¨#¨¨l¸5¸'ÀÀtÀfÐMÔNØ�	ûðús   ÁAÁ	A?Á A:Á:A?r%   c                 ó   — || _         y)z%Sets processor class as an attribute.N)r'   )r-   r%   s     r!   Ú_set_processor_classz)ImageProcessingMixin._set_processor_class^   s
   € à /ˆÕr    ÚclsÚpretrained_model_name_or_pathÚ	cache_dirÚforce_downloadÚlocal_files_onlyÚtokenÚrevisionÚreturnc                 ó  — ||d<   ||d<   ||d<   ||d<   |j                  dd«      }|�)t        j                  dt        «       |�t	        d«      ‚|}|�||d	<    | j
                  |fi |¤Ž\  }	} | j                  |	fi |¤ŽS )
a­  
        Instantiate a type of [`~image_processing_utils.ImageProcessingMixin`] from an image processor.

        Args:
            pretrained_model_name_or_path (`str` or `os.PathLike`):
                This can be either:

                - a string, the *model id* of a pretrained image_processor hosted inside a model repo on
                  huggingface.co.
                - a path to a *directory* containing a image processor file saved using the
                  [`~image_processing_utils.ImageProcessingMixin.save_pretrained`] method, e.g.,
                  `./my_model_directory/`.
                - a path or url to a saved image processor JSON *file*, e.g.,
                  `./my_model_directory/preprocessor_config.json`.
            cache_dir (`str` or `os.PathLike`, *optional*):
                Path to a directory in which a downloaded pretrained model image processor should be cached if the
                standard cache should not be used.
            force_download (`bool`, *optional*, defaults to `False`):
                Whether or not to force to (re-)download the image processor files and override the cached versions if
                they exist.
            resume_download:
                Deprecated and ignored. All downloads are now resumed by default when possible.
                Will be removed in v5 of Transformers.
            proxies (`Dict[str, str]`, *optional*):
                A dictionary of proxy servers to use by protocol or endpoint, e.g., `{'http': 'foo.bar:3128',
                'http://hostname': 'foo.bar:4012'}.` The proxies are used on each request.
            token (`str` or `bool`, *optional*):
                The token to use as HTTP bearer authorization for remote files. If `True`, or not specified, will use
                the token generated when running `huggingface-cli login` (stored in `~/.huggingface`).
            revision (`str`, *optional*, defaults to `"main"`):
                The specific model version to use. It can be a branch name, a tag name, or a commit id, since we use a
                git-based system for storing models and other artifacts on huggingface.co, so `revision` can be any
                identifier allowed by git.


                <Tip>

                To test a pull request you made on the Hub, you can pass `revision="refs/pr/<pr_number>"`.

                </Tip>

            return_unused_kwargs (`bool`, *optional*, defaults to `False`):
                If `False`, then this function returns just the final image processor object. If `True`, then this
                functions returns a `Tuple(image_processor, unused_kwargs)` where *unused_kwargs* is a dictionary
                consisting of the key/value pairs whose keys are not image processor attributes: i.e., the part of
                `kwargs` which has not been used to update `image_processor` and is otherwise ignored.
            subfolder (`str`, *optional*, defaults to `""`):
                In case the relevant files are located inside a subfolder of the model repo on huggingface.co, you can
                specify the folder name here.
            kwargs (`Dict[str, Any]`, *optional*):
                The values in kwargs of any keys which are image processor attributes will be used to override the
                loaded values. Behavior concerning key/value pairs whose keys are *not* image processor attributes is
                controlled by the `return_unused_kwargs` keyword parameter.

        Returns:
            A image processor of type [`~image_processing_utils.ImageProcessingMixin`].

        Examples:

        ```python
        # We can't instantiate directly the base class *ImageProcessingMixin* so let's show the examples on a
        # derived class: *CLIPImageProcessor*
        image_processor = CLIPImageProcessor.from_pretrained(
            "openai/clip-vit-base-patch32"
        )  # Download image_processing_config from huggingface.co and cache.
        image_processor = CLIPImageProcessor.from_pretrained(
            "./test/saved_model/"
        )  # E.g. image processor (or model) was saved using *save_pretrained('./test/saved_model/')*
        image_processor = CLIPImageProcessor.from_pretrained("./test/saved_model/preprocessor_config.json")
        image_processor = CLIPImageProcessor.from_pretrained(
            "openai/clip-vit-base-patch32", do_normalize=False, foo=False
        )
        assert image_processor.do_normalize is False
        image_processor, unused_kwargs = CLIPImageProcessor.from_pretrained(
            "openai/clip-vit-base-patch32", do_normalize=False, foo=False, return_unused_kwargs=True
        )
        assert image_processor.do_normalize is False
        assert unused_kwargs == {"foo": False}
        ```r7   r8   r9   r;   Úuse_auth_tokenNúrThe `use_auth_token` argument is deprecated and will be removed in v5 of Transformers. Please use `token` instead.úV`token` and `use_auth_token` are both specified. Please set only the argument `token`.r:   )r&   ÚwarningsÚwarnÚFutureWarningÚ
ValueErrorÚget_image_processor_dictÚ	from_dict)
r5   r6   r7   r8   r9   r:   r;   r.   r>   Úimage_processor_dicts
             r!   Úfrom_pretrainedz$ImageProcessingMixin.from_pretrainedb   s¿   € ðt (ˆˆ{ÑØ#1ˆÐÑ Ø%5ˆÐ!Ñ"Ø%ˆˆzÑàŸ™Ð$4°dÓ;ˆØÐ%Ü�M‰Mð EÜôð Ð Ü Ølóð ð #ˆEàÐØ#ˆF�7‰Oà'C s×'CÑ'CÐDaÑ'lÐekÑ'lÑ$Ð˜fàˆs�}‰}Ð1Ñ<°VÑ<Ð<r    Úsave_directoryÚpush_to_hubc           	      ó6  — |j                  dd«      }|�<t        j                  dt        «       |j	                  dd«      �t        d«      ‚||d<   t        j                  j                  |«      rt        d|› d�«      ‚t        j                  |d¬	«       |rr|j                  d
d«      }|j                  d|j                  t        j                  j                  «      d   «      } | j                  |fi |¤Ž}| j                  |«      }| j                  �t!        | || ¬«       t        j                  j#                  |t$        «      }| j'                  |«       t(        j+                  d|› �«       |r%| j-                  ||j	                  d«      ¬«       |gS )as  
        Save an image processor object to the directory `save_directory`, so that it can be re-loaded using the
        [`~image_processing_utils.ImageProcessingMixin.from_pretrained`] class method.

        Args:
            save_directory (`str` or `os.PathLike`):
                Directory where the image processor JSON file will be saved (will be created if it does not exist).
            push_to_hub (`bool`, *optional*, defaults to `False`):
                Whether or not to push your model to the Hugging Face model hub after saving it. You can specify the
                repository you want to push to with `repo_id` (will default to the name of `save_directory` in your
                namespace).
            kwargs (`Dict[str, Any]`, *optional*):
                Additional key word arguments passed along to the [`~utils.PushToHubMixin.push_to_hub`] method.
        r>   Nr?   r:   r@   zProvided path (z#) should be a directory, not a fileT)Úexist_okÚcommit_messageÚrepo_idéÿÿÿÿ)ÚconfigzImage processor saved in )rM   r:   )r&   rA   rB   rC   ÚgetrD   ÚosÚpathÚisfileÚAssertionErrorÚmakedirsÚsplitÚsepÚ_create_repoÚ_get_files_timestampsÚ_auto_classr	   Újoinr   Úto_json_filer+   ÚinfoÚ_upload_modified_files)	r-   rI   rJ   r.   r>   rM   rN   Úfiles_timestampsÚoutput_image_processor_files	            r!   Úsave_pretrainedz$ImageProcessingMixin.save_pretrainedÔ   s†  € ð  Ÿ™Ð$4°dÓ;ˆàÐ%Ü�M‰Mð EÜôð �z‰z˜' 4Ó(Ð4Ü Ølóð ð -ˆF�7‰Oä�7‰7�>‰>˜.Ô)Ü  ?°>Ð2BÐBeÐ!fÓgÐgä
�‰�N¨TÕ2áØ#ŸZ™ZÐ(8¸$Ó?ˆNØ—j‘j ¨N×,@Ñ,@ÄÇÁÇÁÓ,MÈbÑ,QÓRˆGØ'�d×'Ñ'¨Ñ:°6Ñ:ˆGØ#×9Ñ9¸.ÓIÐð ×ÑÐ'Ü˜t ^¸DÕAô ')§g¡g§l¡l°>ÔCWÓ&XÐ#à×ÑÐ5Ô6Ü�‰Ð/Ð0KÐ/LÐMÔNáØ×'Ñ'ØØØ Ø-Ø—j‘j Ó)ð (ô ð ,Ð,Ð,r    c                 óð  — |j                  dd«      }|j                  dd«      }|j                  dd«      }|j                  dd«      }|j                  dd«      }|j                  dd«      }|j                  d	d«      }	|j                  d
d«      }
|j                  dd«      }|j                  dt        «      }|j                  dd«      }|j                  dd«      }|�)t        j                  dt        «       |�t        d«      ‚|}d|dœ}|�||d<   t        «       r|	st        j                  d«       d}	t        |«      }t        j                  j                  |«      }t        j                  j                  |«      r t        j                  j                  ||«      }t        j                  j                  |«      r|}d}n2t        |«      r|}t!        |«      }n|}	 t#        |||||||	|||
|¬«      }	 t)        |d¬«      5 }|j+                  «       }ddd«       t-        j.                  «      }|rt        j                  d |› �«       ||fS t        j                  d › d!|› �«       d"|v rt3        |d"   |«      |d"<   d#|v rt5        |d#   |«      |d#<   ||fS # t$        $ r ‚ t&        $ r t%        d|› d|› d|› d�«      ‚w xY w# 1 sw Y   Œ²xY w# t,        j0                  $ r t%        d|› d�«      ‚w xY w)$aÉ  
        From a `pretrained_model_name_or_path`, resolve to a dictionary of parameters, to be used for instantiating a
        image processor of type [`~image_processor_utils.ImageProcessingMixin`] using `from_dict`.

        Parameters:
            pretrained_model_name_or_path (`str` or `os.PathLike`):
                The identifier of the pre-trained checkpoint from which we want the dictionary of parameters.
            subfolder (`str`, *optional*, defaults to `""`):
                In case the relevant files are located inside a subfolder of the model repo on huggingface.co, you can
                specify the folder name here.
            image_processor_filename (`str`, *optional*, defaults to `"config.json"`):
                The name of the file in the model directory to use for the image processor config.

        Returns:
            `Tuple[Dict, Dict]`: The dictionary(ies) that will be used to instantiate the image processor object.
        r7   Nr8   FÚresume_downloadÚproxiesr:   r>   r9   r;   Ú	subfolderÚ Úimage_processor_filenameÚ_from_pipelineÚ
_from_autor?   r@   úimage processor)Ú	file_typeÚfrom_auto_classÚusing_pipelinez+Offline mode: forcing local_files_only=TrueT)	r7   r8   re   rd   r9   r:   Ú
user_agentr;   rf   z Can't load image processor for 'zœ'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure 'z2' is the correct path to a directory containing a z fileúutf-8©Úencodingz"It looks like the config file at 'z' is not a valid JSON file.zloading configuration file z from cache at Úauto_mapÚcustom_pipelines)r&   r   rA   rB   rC   rD   r   r+   r^   ÚstrrR   rS   Úisdirr\   rT   r   r   r   ÚOSErrorÚ	ExceptionÚopenÚreadÚjsonÚloadsÚJSONDecodeErrorr   r   )r5   r6   r.   r7   r8   rd   re   r:   r>   r9   r;   rf   rh   Úfrom_pipelinerm   ro   Úis_localÚimage_processor_fileÚresolved_image_processor_fileÚreaderÚtextrG   s                         r!   rE   z-ImageProcessingMixin.get_image_processor_dict  s`  € ð( —J‘J˜{¨DÓ1ˆ	ØŸ™Ð$4°eÓ<ˆØ Ÿ*™*Ð%6¸Ó=ˆØ—*‘*˜Y¨Ó-ˆØ—
‘
˜7 DÓ)ˆØŸ™Ð$4°dÓ;ˆØ!Ÿ:™:Ð&8¸%Ó@ÐØ—:‘:˜j¨$Ó/ˆØ—J‘J˜{¨BÓ/ˆ	Ø#)§:¡:Ð.HÔJ^Ó#_Ð àŸ
™
Ð#3°TÓ:ˆØ Ÿ*™* \°5Ó9ˆàÐ%Ü�M‰Mð EÜôð Ð Ü Ølóð ð #ˆEà#4ÈÑYˆ
ØÐ$Ø+8ˆJÐ'Ñ(äÔÑ%5Ü�K‰KÐEÔFØ#Ðä(+Ð,IÓ(JÐ%Ü—7‘7—=‘=Ð!>Ó?ˆÜ�7‰7�=‰=Ð6Ô7Ü#%§7¡7§<¡<Ð0MÐOgÓ#hÐ Ü�7‰7�>‰>Ð7Ô8Ø,IÐ)Ø‰HÜÐ8Ô9Ø#@Ð Ü,8Ð9VÓ,WÑ)à#;Ð ðä0;Ø1Ø(Ø'Ø#1Ø#Ø$3Ø%5ØØ)Ø%Ø'ô1Ð-ð4		äÐ3¸gÔFð %È&Ø—{‘{“}�÷%ä#'§:¡:¨dÓ#3Ð ñ Ü�K‰KÐ5Ð6SÐ5TÐUÔVð $ VÐ+Ð+ô �K‰KØ-Ð.BÐ-CÀ?ÐSpÐRqÐrôð Ð1Ñ1Ü3MØ(¨Ñ4Ð6Só4Ð$ ZÑ0ð "Ð%9Ñ9Ü;]Ø(Ð);Ñ<Ð>[ó<Ð$Ð%7Ñ8ð $ VÐ+Ð+øôO ò ð Üò äØ6Ð7TÐ6Uð V9à9VÐ8Wð X/Ø/GÐ.HÈðOóð ðú÷%ð %ûô ×#Ñ#ò 	ÜØ4Ð5RÐ4SÐSnÐoóð ð	ús0   Ç J Ç7K ÈKÈK Ê(KËKËK Ë#K5rG   c                 óÂ  — |j                  «       }|j                  dd«      }d|v rd|v r|j                  d«      |d<   d|v rd|v r|j                  d«      |d<    | di |¤Ž}g }|j                  «       D ]0  \  }}t        ||«      sŒt	        |||«       |j                  |«       Œ2 |D ]  }|j                  |d«       Œ t        j                  d|› �«       |r||fS |S )aí  
        Instantiates a type of [`~image_processing_utils.ImageProcessingMixin`] from a Python dictionary of parameters.

        Args:
            image_processor_dict (`Dict[str, Any]`):
                Dictionary that will be used to instantiate the image processor object. Such a dictionary can be
                retrieved from a pretrained checkpoint by leveraging the
                [`~image_processing_utils.ImageProcessingMixin.to_dict`] method.
            kwargs (`Dict[str, Any]`):
                Additional parameters from which to initialize the image processor object.

        Returns:
            [`~image_processing_utils.ImageProcessingMixin`]: The image processor object instantiated from those
            parameters.
        Úreturn_unused_kwargsFÚsizeÚ	crop_sizeNzImage processor r   )Úcopyr&   r(   Úhasattrr)   Úappendr+   r^   )r5   rG   r.   r…   Úimage_processorÚ	to_remover/   r0   s           r!   rF   zImageProcessingMixin.from_dictŠ  s  € ð"  4×8Ñ8Ó:ÐØ%Ÿz™zÐ*@À%ÓHÐð
 �VÑ Ð*>Ñ >Ø+1¯:©:°fÓ+=Ð  Ñ(Ø˜&Ñ  [Ð4HÑ%HØ06·
±
¸;Ó0GÐ  Ñ-áÑ5Ð 4Ñ5ˆð ˆ	Ø Ÿ,™,›.ò 	&‰JˆC�Ü�¨Õ,Ü˜¨¨eÔ4Ø× Ñ  Õ%ð	&ð ò 	"ˆCØ�J‰J�s˜DÕ!ð	"ô 	�‰Ð& Ð&7Ð8Ô9ÙØ" FÐ*Ð*à"Ð"r    c                 óv   — t        j                  | j                  «      }| j                  j                  |d<   |S )z¿
        Serializes this instance to a Python dictionary.

        Returns:
            `Dict[str, Any]`: Dictionary of all the attributes that make up this image processor instance.
        Úimage_processor_type)rˆ   ÚdeepcopyÚ__dict__Ú	__class__r   )r-   Úoutputs     r!   Úto_dictzImageProcessingMixin.to_dict·  s0   € ô —‘˜tŸ}™}Ó-ˆØ)-¯©×)@Ñ)@ˆÐ%Ñ&àˆr    Ú	json_filec                 ó    — t        |d¬«      5 }|j                  «       }ddd«       t        j                  «      } | di |¤ŽS # 1 sw Y   Œ&xY w)aÐ  
        Instantiates a image processor of type [`~image_processing_utils.ImageProcessingMixin`] from the path to a JSON
        file of parameters.

        Args:
            json_file (`str` or `os.PathLike`):
                Path to the JSON file containing the parameters.

        Returns:
            A image processor of type [`~image_processing_utils.ImageProcessingMixin`]: The image_processor object
            instantiated from that JSON file.
        rp   rq   Nr   )ry   rz   r{   r|   )r5   r”   r‚   rƒ   rG   s        r!   Úfrom_json_filez#ImageProcessingMixin.from_json_fileÃ  sN   € ô �) gÔ.ð 	!°&Ø—;‘;“=ˆD÷	!ä#Ÿz™z¨$Ó/ÐÙÑ*Ð)Ñ*Ð*÷	!ð 	!ús   ŽAÁAc                 ó  — | j                  «       }|j                  «       D ]3  \  }}t        |t        j                  «      sŒ!|j                  «       ||<   Œ5 |j                  dd«      }|�||d<   t        j                  |dd¬«      dz   S )zÃ
        Serializes this instance to a JSON string.

        Returns:
            `str`: String containing all the attributes that make up this feature_extractor instance in JSON format.
        r'   Nr%   é   T)ÚindentÚ	sort_keysú
)	r“   r(   Ú
isinstanceÚnpÚndarrayÚtolistr&   r{   Údumps)r-   Ú
dictionaryr/   r0   r'   s        r!   Úto_json_stringz#ImageProcessingMixin.to_json_stringÖ  s…   € ð —\‘\“^ˆ
à$×*Ñ*Ó,ò 	1‰JˆC�Ü˜%¤§¡Õ,Ø"'§,¡,£.�
˜3’ð	1ð &Ÿ>™>Ð*<¸dÓCÐØÐ'Ø,<ˆJÐ(Ñ)ä�z‰z˜*¨Q¸$Ô?À$ÑFÐFr    Újson_file_pathc                 óˆ   — t        |dd¬«      5 }|j                  | j                  «       «       ddd«       y# 1 sw Y   yxY w)zá
        Save this instance to a JSON file.

        Args:
            json_file_path (`str` or `os.PathLike`):
                Path to the JSON file in which this image_processor instance's parameters will be saved.
        Úwrp   rq   N)ry   Úwriter¢   )r-   r£   Úwriters      r!   r]   z!ImageProcessingMixin.to_json_fileë  s<   € ô �. #°Ô8ð 	0¸FØ�L‰L˜×,Ñ,Ó.Ô/÷	0÷ 	0ñ 	0ús	   � 8¸Ac                 óT   — | j                   j                  › d| j                  «       › �S )Nú )r‘   r   r¢   )r-   s    r!   Ú__repr__zImageProcessingMixin.__repr__ö  s(   € Ø—.‘.×)Ñ)Ð*¨!¨D×,?Ñ,?Ó,AÐ+BÐCÐCr    c                 ó�   — t        |t        «      s|j                  }ddlmc m} t        ||«      st        |› d�«      ‚|| _        y)a	  
        Register this class with a given auto class. This should only be used for custom image processors as the ones
        in the library are already mapped with `AutoImageProcessor `.

        <Tip warning={true}>

        This API is experimental and may have some slight breaking changes in the next releases.

        </Tip>

        Args:
            auto_class (`str` or `type`, *optional*, defaults to `"AutoImageProcessor "`):
                The auto class to register this new image processor with.
        r   Nz is not a valid auto class.)	rœ   ru   r   Útransformers.models.autoÚmodelsÚautor‰   rD   r[   )r5   Ú
auto_classÚauto_modules      r!   Úregister_for_auto_classz,ImageProcessingMixin.register_for_auto_classù  sC   € ô  ˜*¤cÔ*Ø#×,Ñ,ˆJç6Ð6ä�{ JÔ/Ü 
˜|Ð+FÐGÓHÐHà$ˆ�r    Úimage_url_or_urlsc                 ó`  — ddi}t        |t        «      r|D �cg c]  }| j                  |«      ‘Œ c}S t        |t        «      rPt	        j
                  |d|¬«      }|j                  «        t        j                  t        |j                  «      «      S t        dt        |«      › �«      ‚c c}w )zé
        Convert a single or a list of urls into the corresponding `PIL.Image` objects.

        If a single url is passed, the return value will be a single object. If a list is passed a list of objects is
        returned.
        z
User-AgentzuMozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36T)ÚstreamÚheadersz=only a single or a list of entries is supported but got type=)rœ   ÚlistÚfetch_imagesru   ÚrequestsrQ   Úraise_for_statusr   ry   r   ÚcontentÚ	TypeErrorÚtype)r-   r²   rµ   ÚxÚresponses        r!   r·   z!ImageProcessingMixin.fetch_images  s¡   € ð ð!ð
ˆô Ð'¬Ô.Ø2CÖD¨Q�D×%Ñ% aÕ(ÒDÐDÜÐ)¬3Ô/Ü—|‘|Ð$5¸dÈGÔTˆHØ×%Ñ%Ô'Ü—:‘:œg h×&6Ñ&6Ó7Ó8Ð8äÐ[Ô\`ÐarÓ\sÐ[tÐuÓvÐvùò Es   ™B+)NFFNÚmain)F)ÚAutoImageProcessor)r   r   r   r   r[   r2   ru   r4   Úclassmethodr¼   r   r   rR   ÚPathLiker   ÚboolrH   rb   ÚtupleÚdictr   rE   rF   r“   r–   r¢   r]   rª   r±   r¶   r·   r   r    r!   r   r   G   s  „ ñð
 €Kòð0°Có 0ð ð 8<Ø$Ø!&Ø,0Øño=ØÐ$Ñ%ðo=à',¨S°"·+±+Ð-=Ñ'>ðo=ð ˜E # r§{¡{Ð"2Ñ3Ñ4ðo=ð ð	o=ð
 ðo=ð ˜˜c 4˜iÑ(Ñ)ðo=ð ðo=ð 
òo=ó ðo=ñb;-¨e°C¸¿¹Ð4DÑ.Eð ;-ÐTXó ;-ðz ðv,Ø,1°#°r·{±{Ð2BÑ,Cðv,à	ˆt�C˜�H‰~˜t C¨ H™~Ð-Ñ	.òv,ó ðv,ðp ð*#¨T°#°s°(©^ò *#ó ð*#ðX
˜˜c 3˜h™ó 
ð ð+ u¨S°"·+±+Ð-=Ñ'>ò +ó ð+ð$G ó Gð*	0¨5°°b·k±kÐ1AÑ+Bó 	0òDð ò%ó ð%ð2w¨e°C¸¸c¹°NÑ.Cô wr    rk   rÀ   zimage processor file)ÚobjectÚobject_classÚobject_files))rˆ   r{   rR   rA   Úior   Útypingr   r   r   r   Únumpyr�   r¸   Údynamic_module_utilsr	   Úfeature_extraction_utilsr
   ÚBaseBatchFeatureÚutilsr   r   r   r   r   r   r   r   r   r   r   ÚPILr   r   Ú
get_loggerr   r+   r   rJ   r   Úformatr   r    r!   ú<module>rÓ      sí   ðó  Û Û 	Û Ý ß 0Ó 0ã Û å 4Ý F÷÷ ÷ ñ ñ ÔÝñ Ð1Ð9OÔPÐ ð 
ˆ×	Ñ	˜HÓ	%€ô
Ð#ô ô `w˜>ô `wñF $-Ð-A×-MÑ-MÓ#NÐ Ô  Ø×#Ñ#×+Ñ+Ð7Ø/C×/OÑ/O×/WÑ/W×/^Ñ/^Ø Ð/CÐRhð 0_ó 0Ð×$Ñ$Õ,ð 8r    