+
    ߢ2j~                     $   R t ^ RIt^ RIt^ RIt^ RIt^ RIHtHt  ! R R]P                  P                  4      tRtRtRR R lltR	 R
 lt]! ].]! RRR7      O5!  t]! ].]! R4      O5!  t]! ].]! RRR7      O5!  t]! ].]! R4      O5!  tR# )zRGlobal objects with the content of the microarchitecture
JSON file and its schema
N)OptionalTuplec                   X   a  ] tR t^t o RtR t]R 4       tR tR t	R t
R tR tR	tV tR
# )LazyDictionaryzLazy dictionary that gets constructed on first access to any object key

Args:
    factory (callable): factory function to construct the dictionary
c                8    Wn         W n        W0n        R V n        R # N)factoryargskwargs_data)selfr   r	   r
   s   &&*,3lib/python3.14/site-packages/archspec/cpu/schema.py__init__LazyDictionary.__init__   s    	
    c                    V P                   f,   V P                  ! V P                  / V P                  B V n         V P                   # )z)Returns the lazily constructed dictionary)r   r   r	   r
   r   s   &r   dataLazyDictionary.data   s5     ::tyy@DKK@DJzzr   c                (    V P                   V,          # r   r   r   keys   &&r   __getitem__LazyDictionary.__getitem__#   s    yy~r   c                "    W P                   V&   R # r   r   )r   r   values   &&&r   __setitem__LazyDictionary.__setitem__&   s    		#r   c                     V P                   V R # r   r   r   s   &&r   __delitem__LazyDictionary.__delitem__)   s    IIcNr   c                ,    \        V P                  4      # r   )iterr   r   s   &r   __iter__LazyDictionary.__iter__,   s    DIIr   c                ,    \        V P                  4      # r   )lenr   r   s   &r   __len__LazyDictionary.__len__/   s    499~r   )r   r	   r   r
   N)__name__
__module____qualname____firstlineno____doc__r   propertyr   r   r   r    r$   r(   __static_attributes____classdictcell__)__classdict__s   @r   r   r      sA        r   r   ARCHSPEC_CPU_DIRARCHSPEC_EXTENSION_CPU_DIRc          	          V ^8  d   QhR\         R\        R\        \        P                  \
        \        P                  ,          3,          /# )   filenameallow_customreturn)strboolr   pathlibPathr   )formats   "r   __annotate__r?   :   s;     % %%!%%
7<<',,//0%r   c                   \         P                  ! \        4      P                  R,          R,          R,          pV'       dI   \        \
        P                  9   d0   \         P                  ! \
        P                  \        ,          4      pVP                  4       pW ,          pRpV'       da   \        \
        P                  9   dH   \         P                  ! \
        P                  \        ,          4      pVP                  4        WP,          pW43# )a   Given a filename, returns the absolute path for the main JSON file, and an
optional absolute path for an extension JSON file.

Args:
    filename: filename for the JSON file
    allow_custom: if True, allows overriding the location  where the file resides
z..jsoncpuN)	r<   r=   __file__parentDIR_FROM_ENVIRONMENTosenvironabsoluteEXTENSION_DIR_FROM_ENVIRONMENT)r7   r8   json_dir	json_fileextension_fileextension_dirs   &&    r   
_json_filerN   :   s     ||H%,,t3f<uDH,

:<<

+? @A  "H#IN6"**DRZZ0N%OP &1$$r   c                X    V ^8  d   QhR\         P                  R\         P                  /# )r6   rK   rL   )r<   r=   )r>   s   "r   r?   r?   S   s"      W\\ 7<< r   c                    \        V R RR7      ;_uu_ 4       p\        P                  ! V4      pRRR4       V'       d   VP                  4       '       g   X# \        VR RR7      ;_uu_ 4       p\        P                  ! V4      pRRR4       \	        XP                  4       4      pV F)  pVX9  d   K  W6,          P                  WF,          4       K+  	  V#   + '       g   i     L; i  + '       g   i     Lm; i)rzutf-8)encodingN)openrA   loadexistslistkeysupdate)rK   rL   filer   extension_datatop_level_sectionsr   s   &&     r   _loadr\   S   s    	iw	/	/4yy 
0 !6!6!8!8	ncG	4	44 
5 diik*!n$	,-	 " K! 
0	/ 
5	4s   C,C(C%	(C8	zmicroarchitectures.jsonT)r8   zmicroarchitectures_schema.jsonz
cpuid.jsonzcpuid_schema.json)F)r.   collections.abccollectionsrA   rF   r<   typingr   r   abcMutableMappingr   rE   rI   rN   r\   TARGETS_JSONTARGETS_JSON_SCHEMA
CPUID_JSONCPUID_JSON_SCHEMA r   r   <module>rg      s   
   	  "![__33 !J *  "> %2* e_j1JY]&^_ %UZZ8X-YZ  EPJ|$$OP
 #5K:6I+JK r   