
    wh                       d dl mZ d dlZd dlZd dlZej        dk     rd dlZej        dk     rej        Znej        Znej        Zd dlm	Z	  ej
        dd          Z ej
        d	          Ze	j        ZddZddZddZej        dk     r ej        d          dd            ZdS  ej        d          dd            ZdS )     )annotationsN)      )r   	   )declarative_asn1TT)	covariantU
field_type
typing.Any
field_namestrreturndeclarative_asn1.AnnotatedTypec                   t          j                    }t          | d          r5| j        }t	          |t           j                  st          d|           |S t          j        |           }t          j        ||          S )N__asn1_root__zunsupported root type: )r   
Annotationhasattrr   
isinstanceAnnotatedType	TypeErrornon_root_python_to_rust)r   r   
annotationannotated_rootrust_field_types        P/var/www/test/venv/lib/python3.11/site-packages/cryptography/hazmat/asn1/asn1.py_normalize_field_typer   !   s     ",..Jz?++ O#1.*:*HII 	HFnFFGGG*B:NN)/:FFF    
raw_fieldsdict[str, type])dict[str, declarative_asn1.AnnotatedType]c                h    i }|                                  D ]\  }}t          ||          }|||<   |S )N)itemsr   )r   fieldsr   r   annotated_field_types        r   _annotate_fieldsr&   1   sM     F","2"2"4"4 2 2
J  5ZLL1zMr   clstype[U]Nonec                    t          | d          }t          j        t          j                            | t          |                    t          j                              }t          | d|           d S )NT)include_extrasr   )get_type_hintsr   r   TypeSequencer&   r   setattr)r'   r   roots      r   _register_asn1_sequencer1   >   sk    D999J)&&s,<Z,H,HII#%% D
 C$'''''r   )kw_only_defaultc                    t           j        dk    r" t          j        dddd          |           }n t          j        dd          |           }t	          |           |S )N)r   
   FTrepreq
match_argskw_only)r6   r7   )sysversion_infodataclasses	dataclassr1   r'   dataclass_clss     r   sequencer@   P   s     w&&	K1 ! 	 	 	 	 	MMK1    M 	 ...r   c                f     t          j        dddd          |           }t          |           |S )NFTr5   )r<   r=   r1   r>   s     r   r@   r@   i   sN    
-	
 
 

   	 ...r   )r   r   r   r   r   r   )r   r    r   r!   )r'   r(   r   r)   )r'   r(   r   r(   )
__future__r   r<   r:   typingr;   typing_extensionsr,   "cryptography.hazmat.bindings._rustr   TypeVarr   r
   
encode_derr   r&   r1   dataclass_transformr@    r   r   <module>rJ      s  
 # " " " " "     



 g
 &  *9.*N ? ? ? ? ? ?FN3$'''FN3 (
G G G G 
 
 
 
( ( ( (  g**4@@@   A@  0  V555
 
 
 65
 
 
r   