+
     h8  c                  s	  a  0 t $ ^ RIHt ^ RIHt ^ RIHtHt ^ RIHt ^ RI	t	^ RI
t
^ RIt^ RIt^ RIHt ]P                  ].]3,          t]P&                  ! R]R7      t]P*                  ]P,                  ],          ]P0                  ]P,                  ],          R	3,          3,          t]
P4                  ! R
]
P6                  4      t ! R R4      t]! 4       t]! 4       t]! 4       t ]! 4       t!]! 4       t"]! 4       t#]$! ]]] ]!]"]#R7      t%R]&R&   RaR R llt']'! RR7      ]'! RR7      R R l4       4       t(]'! RRRRRR]	PR                  R7      R R l4       t*]'! R]	PR                  R7      R R l4       t+]! ],4      ;_uu_ 4        ^ R I-H.t. ]'! R!R"R"R"R"R"R7      R# R$ l4       t/RRR4       ]! ],4      ;_uu_ 4        ^ RI0t0]'! R%R%R%]0Pb                  ]23R&7      R' R( l4       t3RRR4        ^ RI4t4]'! R)R)R)]5R&7      R* R+ l4       t6]'! R,R,R,]5R&7      R- R. l4       t7]'! R/]5R7      R0 R1 l4       t8]'! R2R2R2R2]5R37      R4 R5 l4       t9]! ],4      ;_uu_ 4        ^ R;I<H=t= ]'! R<R7      R= R> l4       t>]'! R?R?R?R@7      RA RB l4       t?RRR4       ]'! RC]
P                  R7      RD RE l4       tA]'! RFRFRFRF]5RG7      RH RI l4       tB]'! R?]5RJ7      RK RL l4       tC]! ],4      ;_uu_ 4        ^ RIDtD]'! RM]5]E3RJ7      RN RO l4       tFRRR4       ]! ],4      ;_uu_ 4        ^ RIGtG]'! RPRPRPRP]GP                  R37      RQ RR l4       tI]'! RSRSRS]GP                  R&7      RT RU l4       tJRRR4       ]! ],4      ;_uu_ 4        ^ RIKtK]'! RVRVRVRVRW7      RX RY l4       tLRRR4       ]! ],4      ;_uu_ 4        ^ RIMtM]'! RZRZ]MP                  R[7      R\ R] l4       tORRR4       ]'! R^R^]5R[7      R_ R` l4       tPR#   + '       g   i     ELC; i  + '       g   i     EL; i  ], db    ]! ],4      ;_uu_ 4        ^ R6I:H;t; ]'! R/R7      R7 R8 l4       t8]'! R2R2R2R2]5R37      R9 R: l4       t9RRR4        EK    + '       g   i      EL(; ii ; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELO; i  + '       g   i     EL1; i  + '       g   i     EL
; i)bi    )annotations)suppress)datedatetime)UUIDN)FormatError_F)Zbound.z^\d{4}-\d{2}-\d{2}$c                  s    ] tR t^t$ Rt/ tR]R&   RR R lltR tRR R	 llt	]
RR
 R ll4       t]
RR R ll4       tR R ltR R ltRtR# )FormatCheckeraF  
A ``format`` property checker.

JSON Schema does not mandate that the ``format`` property actually do any
validation. If validation is desired however, instances of this class can
be hooked into validators to enable format validation.

`FormatChecker` objects always return ``True`` when asked about
formats that they do not know how to validate.

To add a check for a custom format use the `FormatChecker.checks`
decorator.

Arguments:

    formats:

        The known formats to validate. This argument can be used to
        limit which formats will be used during validation.

z3dict[str, tuple[_FormatCheckCallable, _RaisesType]]checkersNc                   V ^8  d   QhRR/# )   formatsztyping.Iterable[str] | None format   "7/usr/lib/python3.14/site-packages/jsonschema/_format.py__annotate__FormatChecker.__annotate__3   s     ? ? ; ?    c                	s    Vf   V P                   P                  4       pV Uu/ uF  q"V P                   V,          bK  	  upV n         R # u upi N)r   Zkeys)selfr   Zks   && r   __init__ZFormatChecker.__init__3   s>    ?mm((*G6=>gDMM!,,g>>s   A	c                	s4    R \        V P                  4       R2# )z<FormatChecker checkers=Z>)Zsortedr   )r      &r   __repr__ZFormatChecker.__repr__8   s    )&*?)@BBr   c               $    V ^8  d   QhRRRRRR/# r
   r   strraises_RaisesTypereturntyping.Callable[[_F], _F]r   r   r   r   r   r   ;   s$      #.	"r   c                s"   a aa R VVV 3R llpV# )a  
Register a decorated function as validating a new format.

Arguments:

    format:

        The format that the decorated function will check.

    raises:

        The exception(s) raised by the decorated function when an
        invalid instance is found.

        The exception object will be accessible as the
        `jsonschema.exceptions.ValidationError.cause` attribute of the
        resulting validation error.

c                    V ^8  d   QhRRRR/# r
   funcr   r   r   r   r   r   r   Z*FormatChecker.checks.<locals>.__annotate__R        	 	" 	 	r   c                s*   < V S3SP                   S&   V # r   r   )r"   r   r   r      &r   _checksZ%FormatChecker.checks.<locals>._checksR   s    %)6NDMM&!Kr   r   )r   r   r   r&      fff r   checksZFormatChecker.checks;   s    .	 	 r   c               r   r   r   r   r   r   r   r   Y   s$     = =="-=	"=r   c                	s`    \         P                  ! R \        ^R7       V P                  WR7      # )zoFormatChecker.cls_checks is deprecated. Call FormatChecker.checks on a specific FormatChecker instance instead.)Z
stacklevel)r   r   )warningsZwarnZDeprecationWarning_cls_checks)clsr   r      &&&r   
cls_checksZFormatChecker.cls_checksX   s0     	 	
 f<<r   c               r   r   r   r   r   r   r   r   h   s$      "-	"r   c                	s"   a aa R  V VV3R llpV# )c               r    r!   r   r   r   r   r   Z/FormatChecker._cls_checks.<locals>.__annotate__k   r#   r   c                s*   < V S3SP                   S&   V # r   r$   )r"   r+   r   r   r%   r   r&   Z*FormatChecker._cls_checks.<locals>._checksk   s    $(&>CLL Kr   r   )r+   r   r   r&   r'   r   r*   ZFormatChecker._cls_checksg   s    	 	 r   c               r   )r
   instanceobjectr   r   r   ZNoner   r   r   r   r   r   q   s&     P Pf Pc Pd Pr   c                s    W P                   9  d   R# V P                   V,          w  r4RRre V! V4      pV'       g   \        V: RV: 2VR7      hR#   T d   pTp Rp?L,Rp?ii ; i)a8  
Check whether the instance conforms to the given format.

Arguments:

    instance (*any primitive type*, i.e. str, number, bool):

        The instance to check

    format:

        The format that instance should conform to

Raises:

    FormatError:

        if the instance does not conform to ``format``

Nz
 is not a )cause)r   r   )r   r.   r   r"   r   Zresultr0   Zes   &&&     r   checkZFormatChecker.checkq   so    * &}}V,d	(^F JvjAOO   	E	s   A A%A  A%c               r   )r
   r.   r/   r   r   r   boolr   r   r   r   r   r      s!         r   c                sN     V P                  W4       R#   \         d     R# i ; i)a  
Check whether the instance conforms to the given format.

Arguments:

    instance (*any primitive type*, i.e. str, number, bool):

        The instance to check

    format:

        The format that instance should conform to

Returns:

    bool: whether it conformed

TF)r1   r   )r   r.   r   r,   r   conformsZFormatChecker.conforms   s,    &	JJx(   		s    $$r$   r   )r   )Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__r   __annotations__r   r   r(   Zclassmethodr-   r*   r1   r3   Z__static_attributes__r   r   r   r   r      sd    2 	   
?
C: = =  PB r   r   draft3draft4draft6draft7draft201909draft202012zdict[str, FormatChecker]_draft_checkersc               r	   )r
   r   r   r   r   r   r   r   r      s     + + +r   c                s   aaaaaaa S;'       g    T oS;'       g    T oS;'       g    T oS;'       g    T oS;'       g    T oS;'       g    T oR  VVVVVVV3R llpV# )c               r    r!   r   r   r   r   r   Z$_checks_drafts.<locals>.__annotate__   s      2 " r   c                s  < S'       d$   \         R ,          P                  SS4      ! V 4      p S'       d$   \         R,          P                  SS4      ! V 4      p S'       d$   \         R,          P                  SS4      ! V 4      p S'       d$   \         R,          P                  SS4      ! V 4      p S'       d$   \         R,          P                  SS4      ! V 4      p S'       d$   \         R,          P                  SS4      ! V 4      p \        P                  S;'       g+    S;'       g!    S;'       g    S;'       g    S;'       g    SS4      ! V 4       V # r5   )r<   r(   r   r*   )r"   r:   r;   r6   r7   r8   r9   r   s   &r   wrapZ_checks_drafts.<locals>.wrap   s   "8,33FFCDID"8,33FFCDID"8,33FFCDID"8,33FFCDID"=188fMD "=188fMD 	!!NN;NN&NNFNNfNN	
 	 r   r   )	namer6   r7   r8   r9   r:   r;   r   r=   s	   &fffffff r   _checks_draftsr?      s\     ^^tF^^tF^^tF^^tF%%K%%K 4 Kr   z	idn-email)r>   Zemailc                    V ^8  d   QhRRRR/# r
   r.   r/   r   r2   r   r   r   r   r   r      s      v $ r   c                s<    \        V \        4      '       g   R # RV 9   # )TZ@)
isinstancer   r.   r   r   is_emailrD      s     h$$(?r   z
ip-addressZipv4)r6   r7   r8   r9   r:   r;   r   c               r@   rA   r   r   r   r   r   r      s     1 1f 1 1r   c                p    \        V \        4      '       g   R # \        \        P                  ! V 4      4      # T)rB   r   r2   	ipaddressZIPv4AddressrC   r   r   is_ipv4rH      s*     h$$	%%h/00r   Zipv6)r>   r   c               r@   rA   r   r   r   r   r   r     s     0 0f 0 0r   c                s    \        V \        4      '       g   R # \        P                  ! V 4      p\	        VRR4      '       * # )TZscope_id )rB   r   rG   ZIPv6AddressZgetattr)r.   Zaddresss   & r   is_ipv6rJ     s4    h$$##H-Gw
B///r   )FQDNz	host-nameZhostnamec               r@   rA   r   r   r   r   r   r     s     5 5v 5$ 5r   c                s`    \        V \        4      '       g   R # \        V ^R7      P                  # )T)Z
min_labels)rB   r   rK   Zis_validrC   r   r   is_host_namerL     s'     (C((H+444r   zidn-hostname)r9   r:   r;   r   c               r@   rA   r   r   r   r   r   r   &  s      6 d r   c                sb    \        V \        4      '       g   R # \        P                  ! V 4       R # rF   )rB   r   idnaZencoderC   r   r   is_idn_host_namerN      s#     (C((Hr   Ziric               r@   rA   r   r   r   r   r   r   M       3 3 3D 3r   c                b    \        V \        4      '       g   R # \        P                  ! V RR7      # )TZIRIZrulerB   r   rfc3987ZparserC   r   r   is_irirT   G  s%     (C((}}XE22r   ziri-referencec               r@   rA   r   r   r   r   r   r   X       = =6 =d =r   c                rP   )TZIRI_referencerQ   rR   rC   r   r   is_iri_referencerV   R  s%     (C((}}XO<<r   Zuric               r@   rA   r   r   r   r   r   r   ^  rO   r   c                rP   TZURIrQ   rR   rC   r   r   is_urirX   ]  s#    (C((}}XE22r   zuri-reference)r8   r9   r:   r;   r   c               r@   rA   r   r   r   r   r   r   j  rU   r   c                rP   TZURI_referencerQ   rR   rC   r   r   is_uri_referencerZ   c  s%     (C((}}XO<<r   )validate_rfc3986c               r@   rA   r   r   r   r   r   r   4  s     	: 	:V 	: 	:r   c                L    \        V \        4      '       g   R # \        V RR7      # rW   rB   r   r[   rC   r   r   rX   rX   3  s    h,,#H599r   c               r@   rA   r   r   r   r   r   r   @  s     	D 	Dv 	D$ 	Dr   c                r\   rY   r]   rC   r   r   rZ   rZ   9  s!     h,,#H?CCr   )validate_rfc3339z	date-timec               r@   rA   r   r   r   r   r   r   t  s     2 2f 2 2r   c                sd    \        V \        4      '       g   R # \        V P                  4       4      # rF   )rB   r   r^   ZupperrC   r   r   is_datetimer_   s  s$    (C(( 011r   Ztime)r9   r:   r;   c               r@   rA   r   r   r   r   r   r   ~  s     5 5& 5T 5r   c                sV    \        V \        4      '       g   R # \        RV ,           4      # )Tz1970-01-01T)rB   r   r_   rC   r   r   is_timer`   y  s$     (C((=8344r   Zregexc               r@   rA   r   r   r   r   r   r     s     & &v &$ &r   c                rE   rF   )rB   r   r2   recompilerC   r   r   is_regexrc     s&    h$$

8$%%r   r   )r6   r9   r:   r;   r   c               r@   rA   r   r   r   r   r   r     s     O Of O Or   c                s    \        V \        4      '       g   R # \        \        P	                  V 4      ;'       d    \
        P                  ! V 4      4      # rF   )rB   r   r2   _RE_DATEZ	fullmatchr   ZfromisoformatrC   r   r   is_datere     s=     h$$""8,MM1C1CH1MNNr   )r6   r   c               r@   rA   r   r   r   r   r   r     s     9 9V 9 9r   c                sr    \        V \        4      '       g   R # \        \        P                  ! V R4      4      # )Tz%H:%M:%S)rB   r   r2   r   ZstrptimerC   r   r   is_draft3_timerf     s*    h$$!!(J788r   Zcolorc               r@   rA   r   r   r   r   r   r     s       D r   c                s    \        V \        4      '       d    \        P                  ! V 4       R # R #   \         d)    \        P
                  ! T P                  4       4        R # i ; irF   )rB   r   	webcolorsZname_to_hex
ValueErrorZnormalize_hexZlowerrC   r   r   is_css21_colorri     sP    h$$:%%h/   :''(89:s   2 /A%$A%zjson-pointerc               r@   rA   r   r   r   r   r   r     s     7 7& 7T 7r   c                rE   rF   )rB   r   r2   jsonpointerJsonPointerrC   r   r   is_json_pointerrl     s*     (C((K++H566r   zrelative-json-pointerc               r@   rA   r   r   r   r   r   r     s     D D6 Dd Dr   c                s   \        V \        4      '       g   R # V '       g   R# . Rr!\        V 4       Fd  w  r4VP                  4       '       d;   V^ 8  d!   \	        W^,
          ,          4      ^ 8X  d    R# VP                  V4       KU  V'       g    R# WR p M	  VR8H  ;'       g     \        \        P                  ! V4      4      # )TFrI   NZ#)	rB   r   Z	enumerateZisdigitZintZappendr2   rj   rk   )r.   Znon_negative_integerZrestZiZ	characters   &    r   is_relative_json_pointerrm     s     (C((%'d%h/LA  ""q5Sa%1Q6 $++I6'B<D 0 CC[%<%<T%B CCr   zuri-template)r8   r9   r:   r;   c               r@   rA   r   r   r   r   r   r     s     / /& /T /r   c                s^    \        V \        4      '       g   R # \        P                  ! V 4      # rF   )rB   r   uri_templateZvalidaterC   r   r   is_uri_templatero     s%     (C(($$X..r   Zduration)r:   r;   r   c               r@   rA   r   r   r   r   r   r     s     3 3f 3 3r   c                s    \        V \        4      '       g   R # \        P                  ! V 4       V P	                  \        R4      4      # )TZDMYWHMS)rB   r   isodurationZparse_durationZendswithZtuplerC   r   r   is_durationrq     s8     (C((""8,  y!122r   uuidc               r@   rA   r   r   r   r   r   r     s     J Jf J Jr   c                s   a  \        S \        4      '       g   R # \        S 4       \        ;QJ d    V 3R lR 4       F  '       d   K   R# 	  R # ! V 3R lR 4       4      # )Tc              3  s<   <"   T F  pSV,          R 8H  x  K  	  R# 5i)Z-Nr   )Z.0Zpositionr.   s   & r   Z	<genexpr>Zis_uuid.<locals>.<genexpr>  s     IXx!S(s   F)i   i   i   i   )rB   r   r   ZallrC   s   fr   is_uuidrs     sE     h$$N3II33I3I3IIIIr   )NNNNNNNr   )Q__conditional_annotations__Z
__future__r    Z
contextlibr   r   r   rr   r   rG   ra   Ztypingr)   Zjsonschema.exceptionsr   ZCallabler/   r2   Z_FormatCheckCallableZTypeVarr   ZUnionZTypeZ	ExceptionZTupler   rb   ZASCIIrd   r   Zdraft3_format_checkerZdraft4_format_checkerZdraft6_format_checkerZdraft7_format_checkerZdraft201909_format_checkerZdraft202012_format_checkerZdictr<   r4   r?   rD   ZAddressValueErrorrH   rJ   ZImportErrorZfqdnrK   rL   rM   Z	IDNAErrorZUnicodeErrorrN   rS   rh   rT   rV   rX   rZ   Zrfc3986_validatorr[   Zrfc3339_validatorr^   r_   r`   Zerrorrc   re   rf   rg   Z	TypeErrorri   rj   ZJsonPointerExceptionrl   rm   rn   ro   rp   ZDurationParsingExceptionrq   rs   )rt   s   @r   <module>ru      sE   " "  #   	   -x~6 ^^D 45ll
KK	FLLY)?)DEF ::,bhh7S Sl & % % % *_ *_ ,0    **-) +\ [!W  " &&11 VI$?$?@0 A0 k55 " k""-	 "@=2 	33
 ##	==
 z23 33
 ##== k2%2 &2
 
5
5 ( WRXX.& /& OO vj19 29 k7J	+BC D	  k""//77 &++//	DD3 f k""	//  k33
3
3   
J
Jq " &  D	+		6	U	#	: 
$	:
 
""''

	D

	D! 
			DB ^  f  s   O8&O.'P -Q-RAR'R)#R=O+	.O?	Q*/QQ*Q&Q*&Q*-Q>	R	R&	)R:	=S	