
    [c
                        d Z ddl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mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ ddlmZm Z   ej        ej!                  Z! ej        ej"                  Z" ej        ej#                  Z# ej        ej$                  Z$ ej        ej%                  Z% ej        ej&                  Z& ej        ej'                  Z' ej        ej(                  Z( ej        ej)                  Z) ej        ej*                  Z* ej        ej+                  Z+ ej        ej,                  Z, ej        ej-                  Z- ej        ej.                  Z. ej        ej/                  Z/ ej        ej0                  Z0 ej        ej1                  Z1 ej        ej2                  Z2 ej        ej3                  Z3 ej        ej4                  Z4 ej        ej5                  Z5 ej        ej6                  Z6 ej        ej7                  Z7 ej        ej8                  Z8 ej        ej9                  Z9 ej        ej:                  Z: ej        ej;                  Z; ej        ej<                  Z< ej        ej=                  Z= ej        ej>                  Z> ej        ej?                  Z? ej        ej@                  Z@ ej        ejA                  ZA ej        ejB                  ZB ej        ejC                  ZC ej        ejD                  ZD ej        ejE                  ZE ej        ejF                  ZF ej        ejG                  ZG ej        ejH                  ZH ej        ejI                  ZI ej        ejJ                  ZJ ej        ejK                  ZK[[dS )a  
Alternate namespace for toolz such that all functions are curried

Currying provides implicit partial evaluation of all functions

Example:

    Get usually requires two arguments, an index and a collection
    >>> from toolz.curried import get
    >>> get(0, ('a', 'b'))
    'a'

    When we use it in higher order functions we often want to pass a partially
    evaluated form
    >>> data = [(1, 2), (11, 22), (111, 222)]
    >>> list(map(lambda seq: get(0, seq), data))
    [1, 11, 111]

    The curried version allows simple expression of partial evaluation
    >>> list(map(get(0), data))
    [1, 11, 111]

See Also:
    toolz.functoolz.curry
    N   )operator)applycomp
complementcomposecompose_leftconcatconcatvcountcurrydifffirstflipfrequenciesidentity
interleave
isdistinct
isiterablejuxtlastmemoizemerge_sortedpeekpipesecondthread_firstthread_last)merge
merge_with)L__doc__toolz r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   
exceptionsr   r    
accumulateassocassoc_inconscountbydissocdodropexceptsfiltergetget_ingroupby	interpose
itemfilteritemmapiteratejoin	keyfilterkeymapmapmapcatnthpartial	partitionpartition_allpartitionbypeeknpluckrandom_samplereducereducebyremovesliding_windowsortedtailtaketake_nthtopkunique	update_in	valfiltervalmap     6lib/python3.11/site-packages/toolz/curried/__init__.py<module>rS      s   2                                                              8 * ) ) ) ) ) ) )U[)**
EK  5;u~&&u{5:
%+em
$
$	U\	"	"U[u{5:
%+em
$
$	U\	"	"ek%)	U\	"	"
%+em
$
$EK((	U[)**

%+em
$
$
%+em
$
$u{5:EK((		U\	"	"ek%)	U\	"	"ek%)
%+em
$
$EK((	E/00ek%+,,EK  EK  E/00	U\	"	"5;u~&&	U\	"	"U122	U\	"	"u{5:u{5:5;u~&&u{5:	U\	"	"EK((	EK((		U\	"	"	EErQ   