File: //usr/lib/python3/dist-packages/future/builtins/__pycache__/new_min_max.cpython-310.pyc
o
,1�]� � @ s^ d dl Z d dlmZ ejrd dlmZmZ nd dl mZmZ e
� Zdd� Zdd� Z
dd � ZdS )
� N)�utils)�max�minc O � t tg| �R i |��S �N)�new_min_max�_builtin_min��args�kwargs� r �=/usr/lib/python3/dist-packages/future/builtins/new_min_max.py�newmin � r c O r r )r �_builtin_maxr r r r
�newmax r r c O s, |� � D ]\}}|tddg�vrtd|��qt|�dkrt�t|�dkr.|�dt�tur.t�t|�dkrzt|d �}zt|�}W n ty^ |�dt�turV|�d� Y S t d�
| j���w t�
|g|�}|�d�durv| ||�d�d�S | |�S t|�dkr�|�d�dur�| ||�d�d�S | |�S dS ) z�
To support the argument "default" introduced in python 3.4 for min and max
:param _builtin_func: builtin min or builtin max
:param args:
:param kwargs:
:return: returns the min or max based on the arguments passed
�key�defaultzIllegal argument %sr � z{}() arg is an empty sequenceN)r )�items�set� TypeError�len�get� _SENTINEL�iter�next�
StopIteration�
ValueError�format�__name__� itertools�chain)�
_builtin_funcr
r r �_�iterator�firstr r r
r s4
���r )r! �futurer �PY2�__builtin__r r r r �builtins�objectr r r r r r r r
�<module> s