ó
    ª“,j‡  ã                   ó`   • S SK Jr  S SKrS SKrS SKJrJrJr  S SKJ	r	  S SK
Jr   " S S5      rg)é    )Ú	lru_cacheN)ÚRegistryÚResourceÚ
exceptions)ÚDRAFT202012)Úto_cached_resourcec                   ó,   • \ rS rSrS rS rS rS rSrg)ÚTestToCachedResourceé   c                 ó>  ^• SS0n[         R                  " U5      /m[        5       U4S j5       n[        US9n[        R
                  " U5      nUR                  S5      nUR                  U:X  d   eUR                  S5      nUR                  UR                  L d   eg )Nú$schemaú,https://json-schema.org/draft/2020-12/schemac                 ó$   >• TR                  5       $ ©N©Úpop©ÚuriÚstacks    €Ú®C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\referencing/tests/test_retrieval.pyÚretrieveÚITestToCachedResource.test_it_caches_retrieved_resources.<locals>.retrieve   ó   ø€ à—9‘9“;Ðó    ©r   úurn:example:schema©ÚjsonÚdumpsr   r   r   Úfrom_contentsÚget_or_retrieveÚvalue©ÚselfÚcontentsr   ÚregistryÚexpectedÚgotÚagainr   s          @r   Ú"test_it_caches_retrieved_resourcesÚ7TestToCachedResource.test_it_caches_retrieved_resources   sœ   ø€ ØÐMÐNˆÜ—’˜HÓ%Ð&ˆä	Ó	ô	ó 
ð	ô  XÑ.ˆä×)Ò)¨(Ó3ˆà×&Ñ&Ð';Ó<ˆØ�y‰y˜HÓ$Ð$Ð$ð ×(Ñ(Ð)=Ó>ˆØ�{‰{˜cŸi™iÒ'Ð'Ñ'r   c                 óJ  ^• SS0n[         R                  " U5      S S S2   /m[        S S9U4S j5       n[        US9n[        R
                  " U5      nUR                  S5      nUR                  U:X  d   eUR                  S5      nUR                  UR                  L d   eg )	Nr   r   éÿÿÿÿc                 ó:   • [         R                  " U S S S2   5      $ )Nr-   )r   Úloads)Úss    r   Ú<lambda>Ú9TestToCachedResource.test_custom_loader.<locals>.<lambda>#   s   € ¬D¯JªJ°q¹¸2¸±wÔ,?r   )r/   c                 ó$   >• TR                  5       $ r   r   r   s    €r   r   Ú9TestToCachedResource.test_custom_loader.<locals>.retrieve#   r   r   r   r   r   r#   s          @r   Útest_custom_loaderÚ'TestToCachedResource.test_custom_loader   s©   ø€ ØÐMÐNˆÜ—’˜HÓ%¡d¨ dÑ+Ð,ˆä	Ñ"?Ñ	@ô	ó 
Að	ô  XÑ.ˆä×)Ò)¨(Ó3ˆà×&Ñ&Ð';Ó<ˆØ�y‰y˜HÓ$Ð$Ð$ð ×(Ñ(Ð)=Ó>ˆØ�{‰{˜cŸi™iÒ'Ð'Ñ'r   c                 óT  ^• 0 n[         R                  " U5      /m[        [        R                  S9U4S j5       n[        US9n[        R                  " U5      nUR                  S5      nUR                  U:X  d   eUR                  S5      nUR                  UR                  L d   eg )N)r    c                 ó$   >• TR                  5       $ r   r   r   s    €r   r   Ú@TestToCachedResource.test_custom_from_contents.<locals>.retrieve6   r   r   r   r   )r   r   r   r   Úcreate_resourcer   r!   r"   r#   s          @r   Útest_custom_from_contentsÚ.TestToCachedResource.test_custom_from_contents2   sŸ   ø€ ØˆÜ—’˜HÓ%Ð&ˆä	¬+×*EÑ*EÑ	Fô	ó 
Gð	ô  XÑ.ˆä×.Ò.¨xÓ8ˆà×&Ñ&Ð';Ó<ˆØ�y‰y˜HÓ$Ð$Ð$ð ×(Ñ(Ð)=Ó>ˆØ�{‰{˜cŸi™iÒ'Ð'Ñ'r   c                 ó†  ^• SS0n[        USS9[        USS9[        USS9S.mTR                  5        VVs0 s H  u  p#U[        R                  " U5      _M     nnn[	        [        SS9S	9U4S
 j5       n[        US9nUR                  S5      nUR                  US   :X  d   eUR                  S5      R                  UR                  L d   eUR                  S5      R                  UR                  L d   eUR                  S5      nUR                  US   :X  d   eUR                  S5      R                  UR                  L d   eUR                  S5      R                  UR                  L d   eUR                  S5      nUR                  US   :X  d   eUR                  S5      R                  UR                  L d   eUR                  S5      R                  UR                  L d   e[        R                  " [        R                  5         UR                  S5        S S S 5        g s  snnf ! , (       d  f       g = f)Nr   r   é   )Úfooé   é   )úurn:example:1úurn:example:2úurn:example:3)Úmaxsize)Úcachec                 óN   >• [         R                  " TR                  U 5      5      $ r   )r   r   r   )r   Úmappings    €r   r   Ú8TestToCachedResource.test_custom_cache.<locals>.retrieveR   s   ø€ ä—:’:˜gŸk™k¨#Ó.Ó/Ð/r   r   rB   rC   rD   )ÚdictÚitemsr   r    r   r   r   r!   r"   ÚpytestÚraisesr   ÚUnretrievable)	r$   Úschemar   r%   Ú	resourcesr   r&   r(   rH   s	           @r   Útest_custom_cacheÚ&TestToCachedResource.test_custom_cacheE   s  ø€ ØÐKÐLˆä! &¨aÑ0Ü! &¨aÑ0Ü! &¨aÑ0ñ
ˆð ")§¡¤ô
â!0‘�ð ”×'Ò'¨Ó1Ò1Ù!0ð 	ñ 
ô
 
¤)°AÑ"6Ñ	7ô	0ó 
8ð	0ô  XÑ.ˆà×&Ñ& Ó7ˆØ�y‰y˜I oÑ6Ó6Ð6Ð6Ø×'Ñ'¨Ó8×>Ñ>À#Ç)Á)ÒKÐKÐKØ×'Ñ'¨Ó8×>Ñ>À#Ç)Á)ÒKÐKÐKà×&Ñ& Ó7ˆØ�y‰y˜I oÑ6Ó6Ð6Ð6Ø×'Ñ'¨Ó8×>Ñ>À#Ç)Á)ÒKÐKÐKØ×'Ñ'¨Ó8×>Ñ>À#Ç)Á)ÒKÐKÐKð ×&Ñ& Ó7ˆØ�y‰y˜I oÑ6Ó6Ð6Ð6Ø×'Ñ'¨Ó8×>Ñ>À#Ç)Á)ÒKÐKÐKØ×'Ñ'¨Ó8×>Ñ>À#Ç)Á)ÒKÐKÐKô �]Š]œ:×3Ñ3Õ4Ø×$Ñ$ _Ô5÷ 5Ð4ùó9
÷8 5Õ4ús   ·#H,ÈH2È2
I © N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r*   r5   r;   rQ   Ú__static_attributes__rS   r   r   r
   r
      s   † ò(ò&(ò&(õ&%6r   r
   )Ú	functoolsr   r   rL   Úreferencingr   r   r   Úreferencing.jsonschemar   Úreferencing.retrievalr   r
   rS   r   r   Ú<module>r]      s&   ðÝ Û ã ç 6Ñ 6Ý .Ý 4÷_6ò _6r   