
    KiH                    j   % S r SSKJr  SSKJrJrJr  SSKJr  SSK	J
r
JrJrJrJr  SSKJr  SSKJrJrJrJr  SSKJrJ
rJr  \\\4   r\\-  r\\   r \\   r!\" 5       r"S	\#S
'   \ " S S\$5      5       r%S>S jr&S>S jr'S?S jr(      S@S jr)      SAS jr*      SAS jr+      SBS jr,\-" 5       \-" 5       \-" 5       4     SCS jjr.\-" 5       \-" 5       \-" 5       4     SCS jjr/\-" 5       \-" 5       \-" 5       4     SCS jjr0\-" 5       \-" 5       \-" 5       4     SCS jjr1\-" 5       \-" 5       \-" 5       4     SCS jjr2\-" 5       \-" 5       \-" 5       4     SCS jjr3\-" 5       \-" 5       \-" 5       4     SCS jjr4\" S\&\." 1 Sk1 Sk1 SkS9\)\2" 1 Sk1 Sk1 SkS9S 9r5\" S!\&\/" 1 S"k1 S#k1 SkS9\*\3" 1 S"k1 S#k1 SkS9S 9r6\" S$\'\0" 1 S%k1 S#k1 S&kS9\+\4" 1 S%k1 S#k1 S&kS9S 9r7\" S'\'\0" 1 S(k1 S#k1 S&kS9\+\4" 1 S(k1 S#k1 S&kS9S 9r8\" S)\(\1" S*11 S#k1 S&kS9\,\4" 1 S+k1 S#k1 S&kS9S 9r9\" S,\(\1" S-11 S&kS.9\,\4" S/S01S-11 S&kS9S 9r:\" S1\54S2\64S3\74S4\84S5\94S6\:44 V Vs0 s H  u  pU \Rw                  U5      _M     snn 5      r<S7\#S8'   \4     SDS9 jjr=\ " S: S;5      5       r>SES< jr?g=s  snn f )FzI
Referencing implementations for JSON Schema specs (historic & current).
    )annotations)IterableSequenceSet)Any)AnchorRegistryResourceSpecification
exceptions)frozen)_UNSETResolvedResolver_Unset)URIr   MappingSchemaRegistryEMPTY_REGISTRYc                  $    \ rS rSr% SrS\S'   Srg)UnknownDialect$   z
A dialect identifier was found for a dialect unknown by this library.

If it's a custom ("unofficial") dialect, be sure you've registered it.
r   uri N)__name__
__module____qualname____firstlineno____doc____annotations____static_attributes__r       X/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/referencing/jsonschema.pyr   r   $   s     
Hr"   r   c                P    [        U [        5      (       a  g U R                  S5      $ )N$id)
isinstanceboolget)contentss    r#   
_dollar_idr*   /   s!    (D!!<<r"   c                    [        U [        5      (       d  SU ;   a  g U R                  S5      nUb  UR                  S5      (       d  U$ g g )N$refr%   #)r&   r'   r(   
startswithr)   ids     r#   _legacy_dollar_idr1   5   sF    (D!!Vx%7	e	B	~bmmC00	 1~r"   c                l    SU ;   a  g U R                  S5      nUb  UR                  S5      (       d  U$ g g )Nr,   r0   r-   )r(   r.   r/   s     r#   
_legacy_idr3   =   s:    	d	B	~bmmC00	 1~r"   c              #     #    [        U[        5      (       a  g UR                  S5      nUb  [        UU R	                  U5      S9v   UR                  S5      nUb  [        UU R	                  U5      S9v   g g 7f)N$anchornameresourcez$dynamicAnchor)r&   r'   r(   r   create_resourceDynamicAnchor)specificationr)   anchordynamic_anchors       r#   _anchorr>   E   s      (D!!\\)$F"228<
 	

 \\"23N!"228<
 	
 "s   A7A9c                    [        U[        5      (       a  / $ UR                  S5      nUc  / $ [        UU R	                  U5      S9/$ )Nr5   r6   )r&   r'   r(   r   r9   )r;   r)   r<   s      r#   _anchor_2019r@   Z   sQ     (D!!	\\)$F~	"228<	
 r"   c                    [        U[        5      (       a  / $ UR                  SS5      nUR                  S5      (       d  / $ [	        USS  U R                  U5      S9/$ )Nr%    r-      r6   )r&   r'   r(   r.   r   r9   r;   r)   r0   s      r#   _legacy_anchor_in_dollar_idrE   k   sc     (D!!		eR	 B==	AB"228<	
 r"   c                    UR                  SS5      nUR                  S5      (       d  / $ [        USS  U R                  U5      S9/$ )Nr0   rB   r-   rC   r6   )r(   r.   r   r9   rD   s      r#   _legacy_anchor_in_idrG   |   sQ     
dB	B==	AB"228<	
 r"   c                    ^ ^^ SUUU 4S jjnU$ )z
Create a callable returning JSON Schema specification-style subschemas.

Relies on specifying the set of keywords containing subschemas in their
values, in a subobject's values, or in a subarray.
c              3     >#    [        U [        5      (       a  g T H  nX;   d  M
  X   v   M     T H  nX;   d  M
  X    S h  vN   M     T H$  nX;   d  M
  X   R                  5        S h  vN   M&     g  N3 N7fN)r&   r'   values)r)   eachin_subarrayin_subvaluesin_values     r#   subresources_of)_subresources_of.<locals>.subresources_of   s{     h%%Dn$   D#>))   !D#>00222 ! * 3s3   A;A;A;A7A;A;-A9.
A;9A;r)   SchemareturnIterable[ObjectSchema]r   rO   rN   rM   rP   s   ``` r#   _subresources_ofrW      s    3 3 r"   c                    ^ ^^ SUUU 4S jjnU$ )G
Specifically handle older drafts where there are some funky keywords.
c              3  p  >#    [        U [        5      (       a  g T H  nX;   d  M
  X   v   M     T H  nX;   d  M
  X    S h  vN   M     T H$  nX;   d  M
  X   R                  5        S h  vN   M&     U R                  S5      nUb%  [        U[        5      (       a  U S h  vN   g Uv   g g  Nl ND N7fNitems)r&   r'   rK   r(   r   )r)   rL   r\   rM   rN   rO   s      r#   rP   :_subresources_of_with_crazy_items.<locals>.subresources_of   s     h%%Dn$   D#>))   !D#>00222 ! W%%**   	  * 3
 !sE   B6B6B6B0B6B6-B2.6B6$B4%B62B64B6rR   r   rV   s   ``` r#   !_subresources_of_with_crazy_itemsr^      s     ( r"   c                    ^ ^^ SUUU 4S jjnU$ )rY   c              3  .  >#    [        U [        5      (       a  g T H  nX;   d  M
  X   v   M     T H  nX;   d  M
  X    S h  vN   M     T H$  nX;   d  M
  X   R                  5        S h  vN   M&     U R                  S5      nUb$  [        U[        5      (       a  U S h  vN   OUv   U R                  S5      nUbJ  [        UR                  5       5      n[        US 5      n[        U[        5      (       a  Uv   U S h  vN   g g g  N N Nl N7f)Nr\   dependencies)r&   r'   rK   r(   r   iternextr   	r)   rL   r\   ra   rK   valuerM   rN   rO   s	         r#   rP   G_subresources_of_with_crazy_items_dependencies.<locals>.subresources_of   s    h%%Dn$   D#>))   !D#>00222 ! W%%**   ||N3#,--/0F&E%))!!! * $ * 3
 ! "sX   DDDDDD-D.6D$D%A DDDDDDrR   r   rV   s   ``` r#   ._subresources_of_with_crazy_items_dependenciesrg      s    " "6 r"   c                    ^ ^^ SUUU 4S jjnU$ )zL
Specifically handle even older drafts where there are some funky keywords.
c              3  h  >#    T H  nX;   d  M
  X   v   M     T H  nX;   d  M
  X    S h  vN   M     T H$  nX;   d  M
  X   R                  5        S h  vN   M&     U R                  S5      nUb$  [        U[        5      (       a  U S h  vN   OUv   U R                  S5      nUbH  [	        UR                  5       5      n[        US 5      n[        U[        5      (       a  Uv   U S h  vN   S H/  nU R                  U5      n[        U[        5      (       d  M+  Uv   M1     g  N N N N@7f)Nr\   ra   )additionalItemsadditionalProperties)rK   r(   r&   r   rb   rc   r   rd   s	         r#   rP   J_subresources_of_with_crazy_aP_items_dependencies.<locals>.subresources_of   s    Dn$   D#>))   !D#>00222 ! W%%**   ||N3#,--/0F&E%))!!!=DLL&E%)) >' * 3
 ! "s\   	D2D2D2D*D2D2D,6D2D.A D2/D00-D2!
D2,D2.D20D2)r)   ObjectSchemarT   rU   r   rV   s   ``` r#   1_subresources_of_with_crazy_aP_items_dependenciesrn      s     < r"   c                4   ^ ^ X-  m        SUU 4S jjnU$ )Nc                   > [        U 5      nU H"  nUT;  d  M  UT;  d  [        US 5      b  M   Us  $    UR                  U5      $ rJ   )rb   rc   in_subresourcesegmentsresolversubresource	_segmentssegmentin_childrO   s        r#   maybe_in_subresource3_maybe_in_subresource.<locals>.maybe_in_subresource  sL    
 N	 Gh&x'4	4+@+H	 !
 &&{33r"   rs   zSequence[int | str]rt   _Resolver[Any]ru   zResource[Any]rT   r|   r   rO   rN   rM   ry   rx   s   `   @r#   _maybe_in_subresourcer~     sC    
 )H4%4 4 #4 
	4 4  r"   c                4   ^ ^ X-  m        SUU 4S jjnU$ )Nc                   > [        U 5      nU HZ  nUS:X  a2  [        UR                  [        5      (       a  UR	                  U5      s  $ UT;  d  MC  UT;  d  [        US 5      b  MX  Us  $    UR	                  U5      $ r[   rb   r&   r)   r   rq   rc   rr   s        r#   ry   ?_maybe_in_subresource_crazy_items.<locals>.maybe_in_subresource6  s    
 N	 G'!j$$' '  ..{;;h&x'4	4+@+H ! &&{33r"   r{   r   r}   s   `   @r#   !_maybe_in_subresource_crazy_itemsr   /  C    
 )H4%4 4 #4 
	4 4$  r"   c                4   ^ ^ X-  m        SUU 4S jjnU$ )Nc                   > [        U 5      nU HZ  nUS;   a2  [        UR                  [        5      (       a  UR	                  U5      s  $ UT;  d  MC  UT;  d  [        US 5      b  MX  Us  $    UR	                  U5      $ )N>   r\   ra   r   rr   s        r#   ry   L_maybe_in_subresource_crazy_items_dependencies.<locals>.maybe_in_subresourceR  s    
 N	 G33
$$9 9  ..{;;h&x'4	4+@+H ! &&{33r"   r{   r   r}   s   `   @r#   ._maybe_in_subresource_crazy_items_dependenciesr   K  r   r"   zdraft2020-12>   ifnotelsethenr\   containscontentSchemapropertyNamesunevaluatedItemsrk   unevaluatedProperties>   allOfanyOfoneOfprefixItems>   
propertiesdefinitionsdependentSchemaspatternProperties$defs)rO   rM   rN   )r7   id_ofrP   
anchors_inry   zdraft2019-09>   r   r   r   r   r   r   r   rj   r   rk   r   >   r   r   r   zdraft-07>   r   r   r   r   r   r   rj   rk   >   r   r   r   zdraft-06>   r   r   r   rj   rk   zdraft-04r   >   r   rj   rk   zdraft-03extends)rM   rN   rj   rk   z,https://json-schema.org/draft/2020-12/schemaz,https://json-schema.org/draft/2019-09/schemaz&http://json-schema.org/draft-07/schemaz&http://json-schema.org/draft-06/schemaz&http://json-schema.org/draft-04/schemaz&http://json-schema.org/draft-03/schemazRegistry[Specification[Schema]]_SPECIFICATIONSc                    [         R                  U R                  S5      5      nUb  UR                  $ U[        L a  [        U 5      eU$ )z
Retrieve the `Specification` with the given dialect identifier.

Raises:

    `UnknownDialect`

        if the given ``dialect_id`` isn't known

r-   )r   r(   rstripr)   r   r   )
dialect_iddefaultr8   s      r#   specification_withr   =  sI     "":#4#4S#9:H   &Z((Nr"   c                  8    \ rS rSr% SrS\S'   S\S'   S
S jrSrg	)r:   iS  z,
Dynamic anchors, introduced in draft 2020.
strr7   SchemaResourcer8   c                Z   U R                   nUR                  5        HN  u  p4 UR                  X0R                  5      R                  n[        U[        5      (       d  MB  UR                   nMP     [        UR                  UR                  U5      S9$ ! [
        R                   a     M  f = f)z"
Resolve this anchor dynamically.
)r)   rt   )r8   dynamic_scoper<   r7   re   r   NoSuchAnchorr&   r:   	_Resolvedr)   rq   )selfrt   lastr   registryr<   s         r#   resolveDynamicAnchor.resolve\  s     }}%335MC!ii8>> &-00 6 ]],,T2
 	
	 ** s   %BB*)B*r   Nrt   z_Resolver[Schema]rT   z_Resolved[Schema])r   r   r   r   r   r    r   r!   r   r"   r#   r:   r:   S  s     I
r"   r:   c                   U R                  S5      n[        UR                  [        5      (       a  UR                  R	                  S5      (       an  U R                  5        HZ  u  p#U R                  U5      n[        UR                  [        5      (       a   UR                  R	                  S5      (       d    U$ UnM\     U$ )u   
Recursive references (via recursive anchors), present only in draft 2019.

As per the 2019 specification (§ 8.2.4.2.1), only the ``#`` recursive
reference is supported (and is therefore assumed to be the relevant
reference).
r-   z$recursiveAnchor)lookupr&   r)   r   r(   r   )rt   resolvedr   _next_resolveds        r#   lookup_recursive_refr   n  s     s#H(##W--(2C2C2G2G3 3 ,,.FC$OOC0M&&  #++//0BCCO %H / Or"   N)r)   rS   rT   
URI | None)r)   rm   rT   r   )r;   Specification[Schema]r)   rS   rT   zIterable[AnchorType[Schema]])r;   r   r)   rS   rT   zIterable[Anchor[Schema]])r;   zSpecification[ObjectSchema]r)   rm   rT   zIterable[Anchor[ObjectSchema]])rO   Set[str]rN   r   rM   r   )r   r   r   zSpecification[Any] | _UnsetrT   zSpecification[Any]r   )@r   
__future__r   collections.abcr   r   r   typingr   referencingr   r	   r
   r   r   referencing._attrsr   referencing._corer   r   r   r   	_Resolverr   referencing.typingr   
AnchorTyper   r   rm   r'   rS   r   r   r   r    	Exceptionr   r*   r1   r3   r>   r@   rE   rG   	frozensetrW   r^   rg   rn   r~   r   r   DRAFT202012DRAFT201909DRAFT7DRAFT6DRAFT4DRAFT3opaquer   r   r:   r   )r   r;   s   00r#   <module>r      s   # 3 3  M M %  B A sCx  
	 &! &! "* + Y  
(

 "
*( "( ". $  #&[%K : #&[%K B #&[%K$$$ $P #&[%K''' 'V #&[%K     0 #&[%K     : #&[%K     : 	
$
 ?
. .
 ?
72h 	
5
 0
. :
 0
72h 
	
B	
 0G +G	
 0G% 
D 
	
B
 0G
 +G
 0G

8 
	
E/G
 $GC/G
  
	
EKG $G#%;<KG
  4< <[I;[I5v>5v>5v>5v>*

*
%J 	HOOM22*

40 " ,2( , 
 
 
4
s   "J/
