
    dT>                     @   d dl mZ d dlmZmZ d dlZd dlmZmZm	Z	m
Z
mZmZmZmZ d dlmZmZ d Zd Zd Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$d Z%d Z&d Z'd Z(d Z)d Z*d Z+d  Z,d! Z-d" Z.d# Z/d$ Z0d% Z1d& Z2d' Z3d( Z4d) Z5d* Z6dS )+    )Fraction)	urldefragurljoinN)ensure_listequal
extras_msgfind_additional_properties%find_evaluated_item_indexes_by_schema&find_evaluated_property_keys_by_schemaunbooluniq)FormatErrorValidationErrorc              #   
  K   |                      |d          sd S |                                D ]S\  }}|                                D ]9\  }}t          j        ||          r|                     ||||          E d {V  :Td S Nobjectpathschema_path)is_typeitemsresearchdescend)	validatorpatternPropertiesinstanceschemapattern	subschemakvs           Z/home/feoh/.local/pipx/venvs/poetry/lib/python3.11/site-packages/jsonschema/_validators.pyr   r      s      Xx00 /5577  NN$$ 	 	DAqy!$$ $,,yqg -         	     c              #   ~   K   |                      |d          sd S |D ]}|                     ||          E d {V   d S )Nr   )r   r   )r   r   )r   propertyNamesr   r   propertys        r#   r&   r&      sn      Xx00  N N$$h}$MMMMMMMMMMN Nr$   c              #   z  K   |                      |d          sd S t          t          ||                    }|                      |d          r+|D ]&}|                     ||         ||          E d {V  'd S |s|rd|v rt	          |          dk    rd}nd}d                    d t          |          D                       }d                    d	 t          |d                   D                       }| d
| d| }	t          |	          V  d S d}	t          |	t          |          z            V  d S d S d S )Nr   r   r      doesdo, c              3   4   K   | ]}t          |          V  d S Nrepr.0eachs     r#   	<genexpr>z'additionalProperties.<locals>.<genexpr>6   s(      EEdtDzzEEEEEEr$   c              3   4   K   | ]}t          |          V  d S r/   r0   r2   s     r#   r5   z'additionalProperties.<locals>.<genexpr>7   s9       ! !#T

! ! ! ! ! !r$    z not match any of the regexes: z8Additional properties are not allowed (%s %s unexpected))	r   setr	   r   lenjoinsortedr   r   )
r   aPr   r   extrasextraverbjoinedpatternserrors
             r#   additionalPropertiesrC   &   s     Xx00 +Hf==>>FX&& > 	J 	JE ((%"5(IIIIIIIIII	J 	J >F >&((6{{aYYEEfVnnEEEEEFyy ! !'-f5H.I'J'J! ! !  H OOOOXOOE!%(((((((NE!%*V*<*<"<=======> > > >r$   c              #   V  K   |                      |d          sd S t          |                    dg                     }t          |          }|du r!||k    rd| d| }t          |          V  d S t	          ||          D ]&}|                     ||         ||          E d {V  'd S )NarrayprefixItemsFzExpected at most z items, but found )r   r   r   )r   r9   getr   ranger   )r   r   r   r   prefixtotalmessageindexs           r#   r   r   A   s      Xw// M2..//FMME~~%&..GfGGGGg&&&&&&&65)) 	 	E ((!% )          	 	r$   c              #     K   |                      |d          r*|                      |                    di           d          rd S t          |                    dg                     }|                      |d          r?t          ||d          |          D ]#\  }}|                     |||          E d {V  $d S |st          |          t          |                    dg                     k    rPd}t          |t          |t          |                    dg                     d                    z            V  d S d S d S )NrE   r   r   )startr)   z3Additional items are not allowed (%s %s unexpected))r   rG   r9   	enumerater   r   r   )r   aIr   r   	len_itemsrL   itemrB   s           r#   additionalItemsrS   S   s{     h00VZZ44h?? 	FJJw++,,IX&& 
$Xijj%9KKK 	? 	?KE4 ((r(>>>>>>>>>>	? 	? 
CMMC

7B(?(?$@$@@@EJxFJJw,C,C(D(D(E(EFGGG
 
 	
 	
 	
 	
 	

 
@@r$   c              #   V   K   t          ||          st          |d          V  d S d S )Nz was expected)r   r   )r   constr   r   s       r#   rU   rU   e   sE      5!! 977788888889 9r$   c              #     K   |                      |d          sd S d}|                    dd          }|                    dt          |                    }|D ]Q}|                     |                              |          r&|dz  }||k    rt          d| dd|	          V   d S R||k     r5|st          |d
          V  d S t          d| d| dd|	          V  d S d S )NrE   r   minContainsr*   maxContainsr   z8Too many items match the given schema (expected at most ))r   validator_valuez1 does not contain items matching the given schemaz8Too few items match the given schema (expected at least z
 but only z	 matched))r   rG   r9   evolveis_validr   )r   containsr   r   matchesmin_containsmax_containsr4   s           r#   r^   r^   j   s     Xw// G::mQ//L::mS]];;L 
 
8,,55d;; 		qLG%%%9)59 9 9+$0	       	! , , ,      
 ">> >+2> > >' ,	        r$   c              #   v   K   |                      |d          sd S ||k    rt          |d|          V  d S d S )Nnumberz) is less than or equal to the minimum of r   r   )r   minimumr   r   s       r#   exclusiveMinimumrf      sv      Xx00 7 * *%* *
 
 	
 	
 	
 	
 	
 r$   c              #   v   K   |                      |d          sd S ||k    rt          |d|          V  d S d S )Nrc   z, is greater than or equal to the maximum of rd   )r   maximumr   r   s       r#   exclusiveMaximumri      sv      Xx00 7 - -!(- -
 
 	
 	
 	
 	
 	
 r$   c              #   z   K   |                      |d          sd S ||k     r|d|}t          |          V  d S d S )Nrc   z is less than the minimum of rd   )r   re   r   r   rK   s        r#   re   re      sc      Xx00 'IIgIIg&&&&&&& r$   c              #   z   K   |                      |d          sd S ||k    r|d|}t          |          V  d S d S )Nrc   z  is greater than the maximum of rd   )r   rh   r   r   rK   s        r#   rh   rh      sc      Xx00 'LLLLg&&&&&&& r$   c              #   F  K   |                      |d          sd S t          |t                    rR||z  }	 t          |          |k    }n=# t          $ r+ t          |          t          |          z  j        dk    }Y n	w xY w||z  }|rt          |d|           V  d S d S )Nrc   r*   z is not a multiple of )r   
isinstancefloatintOverflowErrorr   denominatorr   )r   dBr   r   quotientfaileds         r#   
multipleOfru      s      Xx00 "e b=	J]]h.FF 	J 	J 	J x((8B<<7DIFFF	J B IGG2GGHHHHHHHI Is   A
 
2A?>A?c              #      K   |                      |d          r)t          |          |k     rt          |d          V  d S d S d S )NrE    is too shortr   r9   r   r   mIr   r   s       r#   minItemsr{      sa      7++ <H0B0B:::;;;;;;;< <0B0Br$   c              #      K   |                      |d          r)t          |          |k    rt          |d          V  d S d S d S )NrE    is too longrx   ry   s       r#   maxItemsr~      sa      7++ ;H0B0B999:::::::; ;0B0Br$   c              #      K   |r;|                      |d          r't          |          st          |d          V  d S d S d S d S )NrE   z has non-unique elements)r   r   r   )r   uIr   r   s       r#   uniqueItemsr      s      
Gh00G XG
 EEEFFFFFFFG G G G G Gr$   c              #      K   |                      |d          r-t          j        ||          st          |d|          V  d S d S d S )Nstringz does not match )r   r   r   r   )r   patrnr   r   s       r#   r   r      sv      (H--H	%**H FFUFFGGGGGGG	H H H Hr$   c              #      K   | j         S	 | j                             ||           d S # t          $ r(}t          |j        |j                  V  Y d }~d S d }~ww xY wd S )N)cause)format_checkercheckr   r   rK   r   )r   formatr   r   rB   s        r#   r   r      s      +	D$**8V<<<<< 	D 	D 	D!%-u{CCCCCCCCCCCC	D ,+s   ( 
AAAc              #      K   |                      |d          r)t          |          |k     rt          |d          V  d S d S d S )Nr   rw   rx   r   mLr   r   s       r#   	minLengthr      sa      8,, <X1C1C:::;;;;;;;< <1C1Cr$   c              #      K   |                      |d          r)t          |          |k    rt          |d          V  d S d S d S )Nr   r}   rx   r   s       r#   	maxLengthr      sa      8,, ;X1C1C999:::::::; ;1C1Cr$   c              #      K   |                      |d          sd S |                                D ]+\  }}||vr
|D ]}||vr|d|}t          |          V  ,d S )Nr   z is a dependency of )r   r   r   )r   dependentRequiredr   r   r'   
dependencyr4   rK   s           r#   r   r      s      Xx00  1 7 7 9 9 / /*8## 	/ 	/D8##!EEEE%g.....	/	/ /r$   c              #      K   |                      |d          sd S |                                D ](\  }}||vr
|                     |||          E d {V  )d S )Nr   r   r   r   r   )r   dependentSchemasr   r   r'   r   s         r#   r   r     s      Xx00  0 6 6 8 8 
 
*8##$$jh % 
 
 	
 	
 	
 	
 	
 	
 	
 	

 
r$   c              #      K   |dk    s|dk    rDt          |          t          fd|D                       rt          |d|          V  d S d S ||vrt          |d|          V  d S d S )Nr   r*   c              3   >   K   | ]}t          |          k    V  d S r/   )r   )r3   r4   unbooleds     r#   r5   zenum.<locals>.<genexpr>  s.      ::Dx6$<<'::::::r$   z is not one of )r   allr   )r   enumsr   r   r   s       @r#   enumr     s      1}}A(##::::E::::: 	K!X"I"I"I"IJJJJJJJ	K 	K			EEEEEFFFFFFF 
	r$   c              #     K   t          | j        dd           }|Q| j                            |          5 }|                     ||          E d {V  d d d            d S # 1 swxY w Y   d S | j                            |          \  }}| j                            |           	 |                     ||          E d {V  | j                                         d S # | j                                         w xY w)Nresolve)getattrresolver	resolvingr   r   
push_scope	pop_scope)r   refr   r   r   resolvedscopes          r#   r   r      sU     i()T::G))#.. 	=( ((8<<<<<<<<<	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= $,44S99x%%e,,,	+ ((8<<<<<<<<<((*****I((****s   AA#&A#$C C6c              #     K   t          |          \  }}| j        j        D ]}t          ||          }| j                            |          5 }d|v r7||d         k    r+|                     ||          E d {V  	 d d d             d S d d d            n# 1 swxY w Y   | j                            |          5 }|                     ||          E d {V  d d d            d S # 1 swxY w Y   d S )Nz$dynamicAnchor)r   r   _scopes_stackr   r   r   )	r   
dynamicRefr   r   _fragmenturl
lookup_urlr    s	            r#   r   r   /  s     J''KAx!/ 	> 	>S*--
))*55 	 I-- I.>$???$,,XyAAAAAAAAA		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ))*55 	> ((9=========	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	>s$   .BB	B	;C%%C),C)c              #       K   t          |          }t           fd|D                       s7d                    d |D                       }t          d|           V  d S d S )Nc              3   D   K   | ]}                     |          V  d S r/   )r   )r3   typer   r   s     r#   r5   ztype.<locals>.<genexpr>A  s3      CCTy  400CCCCCCr$   r-   c              3   4   K   | ]}t          |          V  d S r/   r0   )r3   r   s     r#   r5   ztype.<locals>.<genexpr>B  s(      77$t**777777r$   z is not of type )r   anyr:   r   )r   typesr   r   reprss   ` `  r#   r   r   >  s      ECCCCCUCCCCC F		7777777DDUDDEEEEEEEF Fr$   c              #      K   |                      |d          sd S |                                D ].\  }}||v r%|                     ||         |||          E d {V  /d S r   r   )r   
propertiesr   r   r'   r    s         r#   r   r   F  s      Xx00 )//11  )x (("$	 )          r$   c              #   t   K   |                      |d          sd S |D ]}||vrt          |d          V  d S )Nr   z is a required propertyrd   )r   requiredr   r   r'   s        r#   r   r   T  si      Xx00  J J8##!X"H"H"HIIIIIJ Jr$   c              #      K   |                      |d          r)t          |          |k     rt          |d          V  d S d S d S )Nr   z  does not have enough propertiesrx   r   mPr   r   s       r#   minPropertiesr   \  sd      8,, OX1C1CMMMNNNNNNNO O1C1Cr$   c              #      K   |                      |d          sd S |                      |d          r)t          |          |k    rt          |d          V  d S d S d S )Nr   z has too many propertiesrx   r   s       r#   maxPropertiesr   a  s      Xx00 8,, GX1C1CEEEFFFFFFFG G1C1Cr$   c              #   p   K   t          |          D ]#\  }}|                     |||          E d {V  $d S )Nr   )rO   r   )r   allOfr   r   rL   r    s         r#   r   r   h  s`      %e,, M My$$Xye$LLLLLLLLLLM Mr$   c              #      K   g }t          |          D ]D\  }}t          |                     |||                    }|s d S |                    |           Et	          |d|          V  d S )Nr   , is not valid under any of the given schemascontext)rO   listr   extendr   )r   anyOfr   r   
all_errorsrL   r    errss           r#   r   r   m  s      J%e,, 	
 	
yI%%h	u%MMNN 	EE$GGG
 
 
 	
 	
 	
 	
 	
r$   c              #      K   t          |          }g }|D ]E\  }}t                               ||                    }|s|}	 n,|                    |           Ft	          d|          V   fd|D             }
|
rL|
                    |	           d                    d |
D                       }t	          d|           V  d S d S )Nr   r   r   c                 l    g | ]0\  }}                     |                                         .|1S )rY   )r\   r]   )r3   r   r4   r   r   s      r#   
<listcomp>zoneOf.<locals>.<listcomp>  sR       D4((11(;;  r$   r-   c              3   4   K   | ]}t          |          V  d S r/   r0   )r3   r   s     r#   r5   zoneOf.<locals>.<genexpr>  s(      @@6$v,,@@@@@@r$   z is valid under each of )rO   r   r   r   r   appendr:   )r   oneOfr   r   
subschemasr   rL   r    r   first_valid
more_validr   s   ` `         r#   r   r   {  sI     5!!JJ& 

 

yI%%h	u%MMNN 	#KE$GGG
 
 
 	
 	
 	

    &  J  N+&&&		@@Z@@@@@LLULLMMMMMMMN Nr$   c              #      K   |                      |                              |          r|d|}t          |          V  d S d S )NrY   z should not be valid under )r\   r]   r   )r   
not_schemar   r   rK   s        r#   not_r     sd      z**33H== 'JJJJJg&&&&&&&' 'r$   c              #     K   |                      |                              |          r.d|v r(|d         }|                     ||d          E d {V  d S d S d|v r(|d         }|                     ||d          E d {V  d S d S )NrY   thenr   else)r\   r]   r   )r   	if_schemar   r   r   else_s         r#   if_r     s      y))228<< JV&>D ((4V(LLLLLLLLLLL  
6		v$$Xu&$IIIIIIIIIII 
	r$   c              #      K   |                      |d          sd S t          | ||          fdt          |          D             }|r%d}t          |t	          |          z            V  d S d S )NrE   c                 "    g | ]\  }}|v	|S  r   )r3   rL   rR   evaluated_item_indexess      r#   r   z$unevaluatedItems.<locals>.<listcomp>  s3       ... 	...r$   z4Unevaluated items are not allowed (%s %s unexpected))r   r
   rO   r   r   )r   unevaluatedItemsr   r   unevaluated_itemsrB   r   s         @r#   r   r     s      Xw// B8V     )( 3 3    EFej1B&C&CCDDDDDDDE Er$   c              #     K   |                      |d          sd S t          | ||          }g }|D ]=}||vr7|                     ||         |||          D ]}|                    |           >|rN|du r%d}t	          |t          |          z            V  d S d}t	          |t          |          z            V  d S d S )Nr   r   Fz9Unevaluated properties are not allowed (%s %s unexpected)z[Unevaluated properties are not valid under the given schema (%s %s unevaluated and invalid))r   r   r   r   r   r   )	r   unevaluatedPropertiesr   r   evaluated_keysunevaluated_keysr'   r   rB   s	            r#   r   r     s,     Xx00 ;8V N  
2 
2>))&&"%$	 '   2 2 !''1111 	H E))OE!%*5E*F*F"FGGGGGGGC  "%*5E*F*F"FGGGGGGG	H 	Hr$   c              #      K   |                      |d          sd S t          t          |          |          D ]'\  \  }}}|                     ||||          E d {V  (d S )NrE   )r   r   r   r   )r   ziprO   r   )r   rF   r   r   rL   rR   r    s          r#   rF   rF     s      Xw// $'	((;(;[$I$I 
 
 y$$	 % 
 
 	
 	
 	
 	
 	
 	
 	
 	

 
r$   )7	fractionsr   urllib.parser   r   r   jsonschema._utilsr   r   r   r	   r
   r   r   r   jsonschema.exceptionsr   r   r   r&   rC   r   rS   rU   r^   rf   ri   re   rh   ru   r{   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rF   r   r$   r#   <module>r      s         + + + + + + + + 					 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ? > > > > > > >	 	 	N N N> > >6  $
 
 
$9 9 9
     F
 
 

 
 
' ' '' ' 'I I I6< < <
; ; ;
G G GH H HD D D< < <
; ; ;
/ / /	
 	
 	
G G G+ + +> > >F F F  J J JO O O
G G GM M M

 
 
N N N2' ' 'J J JE E EH H H>

 

 

 

 

r$   