
    phSo                        / S Qr SSKrSSKJr  SSKrSSKJr   SSKrSq	[        =(       a	    \" \S5      r[        (       d  SrO]\" \S	5      (       a  S
 rOK\" \S5      (       a  \" \R                  R                   SS5      rO\" \R"                  R$                  SS5      r\SLr \R(                  " S/5      R+                  SS9  Sr\SS4S jrS rS;S jrS rS rS rS rS rS H  r \" \\ 5      (       d  M  \" \\ 5      r!  O    eS H  r"\" \\"5      (       d  M  \" \\"5      r#  O    eS r$S r%S r& " S S\'5      r(S r) " S S\'5      r*S  r+S! r,/ 4S" jr-S# r. " S$ S%\'5      r/S& r0S' r1\Rd                  " \1\3/S(9r4S) r5S* r6S+ r7S, r8S- r9S. r:S/ r;S0 r<S1 r=S2 r>S3 r?S4 r@S5 rAS6 rBS7 rCS8 rDS9 rES: rFg! \
 a    Sq	 GNf = f! \ a    Sr GNf = f)<)atleast_2d_column_defaultuniqueify_listwidest_floatwidest_complexwide_dtype_forwidenrepr_pretty_delegaterepr_pretty_implSortAnythingKeysafe_scalar_isnan
safe_isnaniterablehave_pandashave_pandas_categoricalhave_pandas_categorical_dtypepandas_Categorical_from_codespandas_Categorical_categoriespandas_Categorical_codes safe_is_pandas_categorical_dtypesafe_is_pandas_categoricalsafe_issubdtypeno_picklingassert_no_picklingsafe_string_eq    N)StringIO   )optional_dep_okTFCategoricalCategoricalDtypec                 L    [        [        U SU 5      [        R                  5      $ )Ndtype)
isinstancegetattrpandasr   xs    bC:\Users\julio\OneDrive\Documentos\Trabajo\IdeasFrscas\Cabanna\env\Lib\site-packages\patsy/util.py<lambda>r(   7   s    Aw"F$;$;2
    apiis_categorical_dtypecopyc                    [         (       af  [        U [        R                  [        R                  45      (       a7  0 n[        U S5      (       a  U R                  US'   U R                  " U 4XS.UD6$ [        R                  " XX#S9$ )Nname)r-   r!   )r-   r!   subok)
r   r"   r$   Series	DataFramehasattrr/   	__class__nparray)ar-   r!   r0   
extra_argss        r'   asarray_or_pandasr9   O   so    {a&--)9)9:;; Jq&!!%&VV
6";;qGtGJGG88A;;r)   c            	         SS K n [        [        / SQ5      5      [        R                  L d   eU R                  5        nU R                  SS[        5        [        [        [        R                  " / SQ/5      5      5      [        R                  L d   e[        [        [        R                  " / SQ/5      SS95      [        R                  L d   eUb   e S S S 5        [        R                  " / SQ5      n[        U5      UL d   e[        USS9n[        R                  " X#5      (       d   eSUS'   [        R                  " X#5      (       a   e[        R                  " [        / SQ[        S	9/ S
Q5      (       d   e[        / SQ[        S	9R                  [        R                  " [        5      :X  d   e[        X"R                  S	9nSUS'   US   S:X  d   e[        (       Ga  [        R                   " / SQS/ SQS9n[        U5      nUR"                  S:X  d   e[        R                  " UR$                  / SQ5      (       d   eSUS'   US   S:X  d   e[        USS9nUR"                  S:X  d   e[        R                  " UR$                  / SQ5      (       d   e[        R                  " Xu5      (       d   eSUS'   [        R                  " Xu5      (       a   e[        U[        S	9R                  [        R                  " [        5      :X  d   e[        XUR                  S	9nUR"                  S:X  d   e[        R                  " UR$                  / SQ5      (       d   eSUS'   US   S:X  d   e[        R&                  " / SQ// SQS/S9n	[        U	5      n
SU
R(                  S'   [        R                  " U
R*                  / SQ5      (       d   e[        R                  " U
R$                  S/5      (       d   eU	R(                  S   S:X  d   e[        U	SS9n[        R                  " X5      (       d   e[        R                  " UR*                  / SQ5      (       d   e[        R                  " UR$                  S/5      (       d   eSUR(                  S'   [        R                  " X5      (       a   e[        U	[        S	9nUS   R                  [        R                  " [        5      :X  d   e[        R                  " X5      (       d   e[        R                  " UR*                  / SQ5      (       d   e[        R                  " UR$                  S/5      (       d   e[        XS   R                  S	9n[        R                  " UR*                  / SQ5      (       d   e[        R                  " UR$                  S/5      (       d   e[        R                  " X5      (       d   e[        n Sq[        [        [        R                   " / SQ5      5      5      [        R                  L d   e[        [        [        R&                  " / SQ/5      5      5      [        R                  L d   e Uqg g ! , (       d  f       GN= f! Uqf = f)Nr   r         ignorethe matrix subclassT)r0   r,   d   r!   g      ?g       @g      @c   A)
         r/   indexe   rE   )rD   BC)columnsrI   )rE   rD   F)warningstyper9   r5   ndarraycatch_warningsfilterwarningsPendingDeprecationWarningmatrixr6   array_equalallclosefloatr!   r   r$   r1   r/   rI   r2   locrM   )rN   wr7   a_copya_viewss_view1s_copys_view2dfdf_view1df_copydf_converteddf_view2
had_pandass                  r'   test_asarray_or_pandasrf   \   s   !),-;;;		 	 	"a+-F	
 %bii&<=>"**LLL%bii&<DIJbiiWWWyy 
# 	AQ1$$$qt,F>>!$$$$F1I~~a((((;;(%@/RRRRYe4::bhhuoMMMq0FF1IQ42::{MM)#\B#A&||s"""~~gmm\::::u||"140{{c!!!~~fllL9999~~f((((r
>>&,,,, %066"((5/III#AWW5||s"""~~gmm\::::u{{yk?2$O$R( #W~~h..@@@@~~hnnrd3333vvg#%%%#BT2~~g****~~goo????~~gmmbT2222"G>>'....(59C &&"((5/999{{<,,,,~~l22ODDDD~~l002$7777$R#w}}=~~h..@@@@~~hnnrd3333 ~~b++++ !
	%K)&--	*BCD

RRR)&*:*:I;*GHIRZZWWW$Ki ' 
#	"N %Ks   BY.,A=Z  .
Y= Zc                    U(       aa  [         (       aV  [        U [        R                  5      (       a  [        R                  " U 5      $ [        U [        R                  5      (       a  U $ [
        R                  " U 5      n [
        R                  " U 5      n U R                  S::  a  U R                  S5      n U R                  S:  d   eU $ )Nr   )r   r<   )
r   r"   r$   r1   r2   r5   asarray
atleast_1dndimreshape)r7   preserve_pandass     r'   r   r      s    ;;a''##A&&6++,,H


1A
aAvv{IIg66Q;;Hr)   c                     SS K n [        R                  " [        / SQ5      S/S/S//:H  5      (       d   e[        S5      R                  S:X  d   e[        S/5      R                  S:X  d   e[        S//5      R                  S:X  d   e[        S///5      R                  S:X  d   e[        / SQ5      R                  S:X  d   e[        S/S/S//5      R                  S:X  d   eU R                  5        nU R                  S	S
[        5        [        [        [        R                  " S5      5      5      [        R                  :X  d   eUb   e S S S 5        [        (       Ga  [        [        [        R                  " SS/5      5      5      [        R                  :X  d   e[        [        [        R                  " S/S//5      5      5      [        R                  :X  d   e[        [        [        R                  " SS/5      SS95      [        R                  :X  d   e[        [        [        R                  " S/S//5      SS95      [        R                  :X  d   e[        R                  " / SQS/ SQS9n[        USS9n[        U[        R                  5      (       d   e[        R                  " UR                   S/:H  5      (       d   e[        R                  " UR"                  / SQ:H  5      (       d   eU R                  5        nU R                  S	S
[        5        [        [        [        R                  " S5      SS95      [        R                  :X  d   eUb   e S S S 5        [        [        / SQSS95      [        R                  :X  d   e[        (       a  [        n Sq[        [        [        R                  " SS/5      SS95      [        R                  :X  d   e[        [        [        R                  " S/S//5      SS95      [        R                  :X  d   e Uqg g ! , (       d  f       GN= f! , (       d  f       N= f! Uqf = f)Nr   r;   r   r<   r=   )r   r   )r   r   r   r=   r   r>   r?   T)rm   )rE         hir7   bcrH   F)rN   r5   allr   shaperQ   rR   rS   rO   rT   rP   r   r$   r1   r2   r"   rM   rI   )rN   rY   r\   r`   re   s        r'   test_atleast_2d_column_defaultrx      s   66+I6A3aS/IJJJJ$Q'--777$aS)//6999$qcU+11V;;;$seW-33y@@@$Y/55???$qcA3_5;;vEEE		 	 	"a+-F	
 -biil;<

JJJyy 
# {-fmmQF.CDESSS*6+;+;aS1#J+GHIRZZW	
W *6==!Q+@RVWX 	
  )$$qcA3Z0$
  	
  MM,TI&q$?"f..////vvbjjTF*++++vvbhh/12222		 	 	"a+-F	
 *299Q<NOzz	
 yy 
# 	&y$GHBJJVV { 
	%K-q!f-t
 :: -((1#s4d
 :: %K+ W 
#	"< 
#	"D %Ks'   6AP)
AP;&A>Q )
P8;
Q	Qc                    [         (       d  U R                  U5      $ [        U [        R                  5      (       d  U R                  U5      $ XR
                  :X  a  U $ [        U5      S:X  aE  U R
                  S   S:X  a2  US   U R
                  S   :w  a  [        S5      eX R                  S      $ [        SU R
                  < SU< 35      e)Nr   r   zarrays have incompatible sizesz&cannot reshape a DataFrame with shape z
 to shape )	r   rl   r"   r$   r2   rw   len
ValueErrorrM   )r7   	new_shapes     r'   pandas_friendly_reshaper}     s    ;yy##a))**yy## GG
9~qwwqzQQ<1771:%=>>1
BC''9U r)   c                     SS K n [        R                  " [        [        R                  " S5      R                  SS5      S5      [        R                  " S5      R                  SS5      5      (       d   e[        (       Ga  [        R                  " S/ SQ0/ SQS	9n[        US
5      n[        U[        R                  5      (       d   e[        R                  " UR                  / SQ5      (       d   e[        R                  " UR                  S/5      (       d   e[        US5      n[        U[        R                  5      (       d   e[        R                  " UR                  / SQ5      (       d   eUR                  S:X  d   eU R                  [         [        US5        U R                  [         [        US5        U R                  [         [        US5        [        n SqU R                  ["        [        US5        Uqg g ! Uqf = f)Nr   rE      r<   )r<   r   r&   r;   rs   )rI   ro   )r=   )   )r   r=   )r=   r=   F)pytestr5   rV   r}   arangerl   r   r$   r2   r"   rU   rI   rM   r1   r/   raisesr{   AttributeError)r   r`   noopsquozenre   s        r'   test_pandas_friendly_reshaper   &  s    ;;		" 5 5a ;VD
		"a#    {sI.oF&r62$ 0 01111~~djj/::::~~dllSE2222)"d3'6==1111~~gmm_====||s"""j"92tDj"92vFj"92vF 
	%K MM.*A2tL$K- , %Ks    H Hc                     / n[        5       nU  H,  nX2;  d  M
  UR                  U5        UR                  U5        M.     U$ N)setappendadd)seqseq_newseenobjs       r'   r   r   G  s;    G5D?NN3HHSM  Nr)   c                      [        / SQ5      / SQ:X  d   e[        / SQ5      / SQ:X  d   e[        / SQ5      / SQ:X  d   eg )Nr;   )r   r=   r=   r<   r=   r   )r   r=   r<   )r=   r<   r   r   r   r<   r=   )r=   r<   r   r   )r    r)   r'   test_to_uniqueify_listr   Q  s=    )$	111,-:::/0L@@@r)   )float128float96float64)
complex256
complex196
complex128c                 n   [         R                  " U 5      n [        U R                  [         R                  5      (       d)  [        U R                  [         R
                  5      (       a  [        $ [        U R                  [         R                  5      (       a  [        $ [        SU R                  < 35      e)Nz cannot widen a non-numeric type )
r5   ri   r   r!   integerfloatingr   complexfloatingr   r{   arrs    r'   r   r   e  st    
**S/Csyy"**--		2;;2 2 	B$6$6	7	7
SYYH
IIr)   c                 >    [         R                  " U [        U 5      S9$ )NrA   )r5   ri   r   r   s    r'   r   r   p  s    ::c!455r)   c                     [         R                  " [        / SQ5      / SQ5      (       d   e[        / SQ5      R                  [        :X  d   e[         R                  " [        / SQ5      / SQ5      (       d   e[        / SQ5      R                  [        :X  d   e[         R                  " [        / SQ5      / SQ5      (       d   e[        / SQ5      R                  [
        :X  d   eSS Kn U R                  [        [        S/5        g )Nr;   rB   )y      ?        r<   r=   r   rr   )	r5   rV   r   r!   r   r   r   r   r{   )r   s    r'   test_wide_dtype_for_and_widenr   t  s    ;;uY'3333!!\111;;u_-y9999!''<777;;u^,i8888 &&.888
MM*edV,r)   c                   <    \ rS rSrS rS rS rS r\rS r	S r
Srg	)
PushbackAdapteri  c                     Xl         / U l        g r   _it_pushed)selfits     r'   __init__PushbackAdapter.__init__  s    r)   c                     U $ r   r   r   s    r'   __iter__PushbackAdapter.__iter__  s    r)   c                 :    U R                   R                  U5        g r   )r   r   r   r   s     r'   	push_backPushbackAdapter.push_back  s    C r)   c                     U R                   (       a  U R                   R                  5       $ [        U R                  5      $ r   )r   popnextr   r   s    r'   r   PushbackAdapter.next  s,    <<<<##%% >!r)   c                 r     [        U 5      nU R                  U5        U$ ! [         a    [        S5      ef = f)Nzno more data)r   StopIterationr{   r   r   s     r'   peekPushbackAdapter.peek  s?    	-t*C 	s
  	-^,,	-s     6c                 F     U R                  5         g! [         a     gf = f)NTF)r   r{   r   s    r'   has_morePushbackAdapter.has_more  s)    	IIK   		s    
  r   N)__name__
__module____qualname____firstlineno__r   r   r   r   __next__r   r   __static_attributes__r   r)   r'   r   r     s'    !" Hr)   r   c                  0   [        [        / SQ5      5      n U R                  5       (       d   e[        U 5      S:X  d   eU R	                  S5        [        U 5      S:X  d   e[        U 5      S:X  d   eU R                  5       S:X  d   eU R	                  S5        U R                  5       S:X  d   eU R	                  S5        U R                  5       S:X  d   eU R                  5       (       d   e[        U 5      / SQ:X  d   eU R                  5       (       a   eg )	N)r   r<   r=   r   r   r   r<   r=   rE   rF   )rF   rE   r=   r   )r   iterr   r   r   r   list)r   s    r'   test_PushbackAdapterr     s    	l+	,B;;===8q==LLO8q==8q==779>>LL779??LL779??;;===8~%%%{{}}}r)   c                   B    \ rS rSrS rS rSS jrS rS rS r	S r
S	rg
)_MiniPPrinteri  c                 0    [        5       U l        SU l        g Nr   )r   _outindentationr   s    r'   r   _MiniPPrinter.__init__  s    J	r)   c                 :    U R                   R                  U5        g r   r   write)r   texts     r'   r   _MiniPPrinter.text  s    		r)   c                 :    U R                   R                  U5        g r   r   )r   seps     r'   	breakable_MiniPPrinter.breakable  s    		r)   c                 &    U R                  U5        g r   r   r   _r   s      r'   begin_group_MiniPPrinter.begin_group      		$r)   c                 &    U R                  U5        g r   r   r   s      r'   	end_group_MiniPPrinter.end_group  r   r)   c                     [        US5      (       a  UR                  U S5        g U R                  [        U5      5        g )N_repr_pretty_F)r3   r   r   reprr   s     r'   pretty_MiniPPrinter.pretty  s/    3((dE*IId3i r)   c                 6    U R                   R                  5       $ r   )r   getvaluer   s    r'   r   _MiniPPrinter.getvalue  s    yy!!##r)   )r   r   N) )r   r   r   r   r   r   r   r   r   r   r   r   r   r)   r'   r   r     s%    !$r)   r   c                 X    [        5       nUR                  U 5        UR                  5       $ r   )r   r   r   )r   printers     r'   _mini_prettyr     s$    oGNN3r)   c                 r    [         (       a"  S[        R                  ;   a  SSKJn  U" U 5      $ [        U 5      $ )NIPythonr   )r   )r   sysmodulesIPython.lib.prettyr   r   )r   r   s     r'   r   r     s,     93-c{C  r)   c                   ^ ^	 UR                   R                  nT R                  [        U5      S-   U< S35        S/m	U U	4S jnU H  nU" 5         T R	                  U5        M     U H]  u  pxU" 5         T R                  [        U5      S-   U< S35        T R	                  U5        T R                  [        U5      S-   S5        M_     T R                  [        U5      S-   S5        g )Nr   (Fc                  f   > TS   (       a!  T R                  S5        T R                  5         STS'   g )Nr   ,T)r   r   )pstarteds   r'   new_item"repr_pretty_impl.<locals>.new_item  s'    1:FF3KKKM
r)   = ))r4   r   r   rz   r   r   )
r   r   argskwargsr/   r   arglabelvaluer   s
   `        @r'   r	   r	     s    ==!!DMM#d)a-$1gG 
	  
	c%j1nu&67		CJNB'	 
 KKD	As#r)   c                      [        S5      S:X  d   e[        5       n  " S S[        5      n[        X" 5       SS/SS/5        U R	                  5       S	:X  d   eg )
Nasdfz'asdf'c                       \ rS rSrSrg)!test_repr_pretty.<locals>.MyClassi  r   Nr   r   r   r   r   r   r)   r'   MyClassr        r)   r
  r7   r   )foobar)r  r  z'MyClass('a', 1, foo='bar', asdf='asdf'))r   r   objectr	   r   )r   r
  s     r'   test_repr_prettyr    s\    '8333oG&  Wgi#qNDT3UV!JJJJr)   c                   &    \ rS rSrS rS rS rSrg)r
   i6  c                     Xl         g r   r   r   s     r'   r   SortAnythingKey.__init__7  s    r)   c                 N     U R                   U:  $ ! [         a	    [        s $ f = fr   )r   	TypeErrorNotImplemented)r   	other_objs     r'   
_python_ltSortAnythingKey._python_lt:  s+    	"88i'' 	"!!	"s    $$c                    [        U[        5      (       d   eU R                  UR                  5      nU[        La  U$ U R                  S5      [        La  gUR                  S5      [        La  gU R                  UR                  :X  a  gU R                  R
                  R                  [        U R                  5      4UR                  R
                  R                  [        UR                  5      4:  $ )Nr   TF)r"   r
   r  r   r  r4   r   id)r   otherresults      r'   __lt__SortAnythingKey.__lt__E  s    %1111+'M ??1^3An4 88uyy ""++R\:II((uyyM>
 
 	
r)   r  N)r   r   r   r   r   r  r  r   r   r)   r'   r
   r
   6  s    	"
r)   r
   c                  d   [        / SQ[        S9/ SQ:X  d   e[        SS/[        S9SS/:X  d   e[        / SQ[        S9/ SQ:X  d   e " S S	[        5      n  " S
 S[        5      n " S S[        5      nU " 5       nU" 5       nU" 5       n[        5       n[        XSSXF/[        S9SUUUU/:X  d   eg )N)rF   rE   r      )key)r   rE   r!  rF   rE   g      )rE   r7        4@rt   )rE   r#  r7   rt   c                       \ rS rSrSrg)test_SortAnythingKey.<locals>.aia  r   Nr	  r   r)   r'   r7   r%  a  r  r)   r7   c                       \ rS rSrSrg)test_SortAnythingKey.<locals>.bid  r   Nr	  r   r)   r'   rt   r'  d  r  r)   rt   c                       \ rS rSrSrg)test_SortAnythingKey.<locals>.zig  r   Nr	  r   r)   r'   zr)  g  r  r)   r*  r   )sortedr
   r  )r7   rt   r*  a_objb_objz_objo_objs          r'   test_SortAnythingKeyr0  \  s    /7?JJJ2t*/2tRj@@@&O<@TTTTF F F  CECECEHE5E1G	L   r)   c                 x     [         R                  " [        U 5      5      $ ! [        [        [
        4 a     gf = fNF)r5   isnanrW   r  r{   NotImplementedErrorr%   s    r'   r   r   y  s4    xxa!!z#67 s   ! 99)otypesc                      [        S5      (       a   e[        S 5      (       a   e[        S5      (       a   e[        S5      (       a   e[        [        R                  " / SQ5      5      (       a   e[        [        R                  /5      (       a   e[        [        R                  5      (       d   e[        [        R                  " [        R                  5      5      (       d   e[        [        [        R                  5      5      (       d   eg )NTsadfr;   )r   r5   ri   nanfloat32rW   r   r)   r'   test_safe_scalar_isnanr:    s     &&&& &&&& (((( ++++ I!67777 "&&****RVV$$$$RZZ/0000U266]++++r)   c            	      V   [         R                  " [        SSS [         R                  S/5      / SQ5      (       d   e[        [         R                  5      R                  S:X  d   e[        [         R                  5      (       d   e[        S 5      (       a   e[        S5      (       a   eg )Nr   Tr  )FFFTFr   )r5   rU   r   r8  rk   r   r)   r'   test_safe_isnanr<    s    >>AtT2666235W    bff""a'''bff$&!!!!!r)   c                 <     [        U 5        g! [         a     gf = f)NFT)r   	Exceptionr  s    r'   r   r     s'    S	   s    
c                      [        S5      (       d   e[        / 5      (       d   e[        SS05      (       d   e[        S5      (       a   e[        [         5      (       a   eg )Nr  r7   r   )r   r   r)   r'   test_iterabler@    sX    FB<<<S!H{{?!!!!!r)   c                     [         (       d   e[        R                  " U 5      n [        [        R
                  S5      (       a  [        R
                  R                  X5      $ [        R
                  " X5      $ )N
from_codes)r   r5   ri   r3   r$   r   rB  )codes
categoriess     r'   r   r     sY    """" JJuEv!!<00!!,,U??!!%44r)   c                     [         (       d  g [        / SQSS/5      n [        R                  " [        R                  " U 5      S S / SQ:H  5      (       d   e[        R
                  " [        R                  " U 5      S   5      (       d   eg )Nr   r   r   rh   r7   rt   rh   )rt   rt   r7   )r   r   r5   rv   ri   r3  )ru   s    r'   "test_pandas_Categorical_from_codesrG    sf    ""%mc3Z@A66"**Q-$7888888BJJqM"%&&&&r)   c                     [        U S5      (       a  U R                  n [        U S5      (       a  U R                  $ U R                  $ )NcatrD  )r3   rI  rD  levelsrI  s    r'   r   r     s;     sEggsL!!~~zzr)   c                     [        U S5      (       a  U R                  n [        U S5      (       a  U R                  $ U R                  $ )NrI  rC  )r3   rI  rC  labelsrK  s    r'   r   r     s;     sEggsGyyzzr)   c                     [         (       d  g [        / SQSS/5      n [        R                  " [	        U 5      SS/:H  5      (       d   e[        R                  " [        U 5      / SQ:H  5      (       d   e[        (       am  [        R                  " U 5      n[        R                  " [	        U5      SS/:H  5      (       d   e[        R                  " [        U5      / SQ:H  5      (       d   eg g )NrF  r7   rt   )	r   r   r5   rv   r   r   r   r$   r1   )ru   r\   s     r'   !test_pandas_Categorical_accessorsrO    s    ""%mc3Z@A66/2sCj@AAAA66*1->????$$MM!vv3A63*DEEEEvv.q1]BCCCC %r)   c                 0    [         (       d  g[        U 5      $ r2  )r   _pandas_is_categorical_dtype)dts    r'   r   r     s    (('++r)   c                     [         (       d  g[        U [        R                  5      (       a  g[	        U S5      (       a  [        U R                  5      $ g)NFTr!   )r   r"   r$   r   r3   r   r!   )datas    r'   r   r     s@    ""$**++tW/

;;r)   c                  $   [        [        R                  " S5      5      (       a   e[        (       a*  [        R
                  " SS/5      n [        U 5      (       d   e[        (       a*  [        R                  " SS/SS9n[        U5      (       d   eg g )NrE   r7   rt   categoryrA   )r   r5   r   r   r$   r   r   r1   )c_objs_objs     r'   test_safe_is_pandas_categoricalrY  	  sv    )"))B-8888""C:.)%0000$$sCj
;)%0000 %r)   c                 P    [        U 5      (       a  g[        R                  " X5      $ r2  )r   r5   
issubdtype)dt1dt2s     r'   r   r   !  s    ',,==""r)   c                     [        [        [        R                  5      (       d   e[        [        R                  " [
        5      [        R                  5      (       d   e[        [        [        R                  5      (       a   e[        [        R                  " [
        5      [        R                  5      (       a   e[        (       a9  [        R                  " SS/SS9n [        U [        R                  5      (       a   eg g )Nr7   rt   rV  rA   )
r   intr5   r   r!   rW   r   r   r$   r1   )	bad_dtypes    r'   test_safe_issubdtypera  '  s    3

++++288E?BKK8888sBKK0000rxx

;;;;$$MM3*J?	"9bjj99999 %r)   c                      [        S5      e)NzeSorry, pickling not yet supported. See https://github.com/pydata/patsy/issues/26 if you want to help.)r4  )r   r  s     r'   r   r   2  s    
	 r)   c                 V    SS K nSS KnUR                  [        UR                  U 5        g r   )pickler   r   r4  dumps)r   rd  r   s      r'   r   r   :  s    
MM%v||S9r)   c                 6    [        U [        5      (       a  X:H  $ gr2  )r"   str)r   r  s     r'   r   r   F  s    #s|r)   c                      [        SS5      (       d   e[        SS5      (       a   e[        [        R                  " S5      S5      (       a   eg )Nr  r  )r<   r<   )r   r5   emptyr   r)   r'   test_safe_string_eqrj  M  sG    %''''eU++++bhhv.66666r)   )F)G__all__r   ior   numpyr5   compatr   r$   r   ImportErrorr3   r   rQ  r#   r*   typescorecommonr   r6   	__array__copy_if_neededr  r9   rf   r   rx   r}   r   r   r   
float_typer   complex_typer   r   r   r   r  r   r   r   r   r   r	   r  r
   r0  r   	vectorizeboolr   r:  r<  r   r@  r   rG  r   r   rO  r   r   rY  r   ra  r   r   r   rj  r   r)   r'   <module>ry     sk  6    # K
 &H'&-*H {#' v)**(
$ 
		'.JJ4d(
$ (/KK 6(
$ !=D H 
HHaSM&N -D 
<K%fM%l$%BA 5Jr:r:. 5
 5>Lr<   \2 ?
 5J6	-"f "JL$F $6!* +- $,K>#
f #
L: \\+TF;
	,""4	5'		
D,	10#::7G  K@  Ns#   F: &"G	 :GG	GG