
    $g	              	       N    e eeee ed           eeef	Z	d Z
	 ddZ	 ddZd Zd S )Nc                 H    t          | t                    p| j        j        dv S )z:Treat any dict, MergeDict, MultiDict instance as dict type)	MergeDict	MultiDict)
isinstancedict	__class____name__)values    Z/var/www/html/netbox-4.1.3/venv/lib/python3.11/site-packages/social_core/pipeline/utils.pyis_dict_typer      s-     eT"" eo&> C '     c                     |                     |                    d          pi |                    d          pi |                    d          |                    d          |                    d          pd|                    d          pdt          |d          r|j        pd |r|j        |j        d	pd d
            fd|D             }i }|                                D ]R\  }	}
t          |
          rt          |
          n|
}
t          |
t                    r                     |
          ||	<   S j        j                            |j        |||d          S )Nresponsedetailsusernameuidis_newFnew_associationid)providerr   )r   r   r   r   r   r   usersocialc                 :    g | ]}                     |          S  )to_session_value.0valstrategys     r
   
<listcomp>z#partial_prepare.<locals>.<listcomp>    s'    AAAS(++C00AAAr   )argskwargs)updategethasattrr   r   r   itemsr   r   r   SERIALIZABLE_TYPESr   storagepartialpreparename)r   backend	next_stepr   r   r    r!   
clean_argsclean_kwargsr*   r	   s   `          r
   partial_preparer/      s    MM

:..4"zz),,2

:..::e$$jj**3e%zz*;<<ED$''3DG;t A#_VZ@@	
 	
   BAAADAAAJ L||~~ B Be+E22=Ue/00 	B!)!:!:5!A!AL#++i*!M!M  r   c                 j    t          | ||g|R ||d|}| j        j                            |          S )N)r   r   )r/   r'   r(   store)r   r+   r,   r   r   r    r!   r(   s           r
   partial_storer2   .   sZ     '9AE +/ IO G #))'222r   c                      j         j                            |          }|r|j        }|j                                        }|                    d          }|                    d          }t          |t                    r  j         j	        j
        di ||d<   |r" j         j	                            |          |d<    fd|D             |_         fd|                                D             |_        |S )Nr   r   c                 :    g | ]}                     |          S r   from_session_valuer   s     r
   r   z partial_load.<locals>.<listcomp>F   s'    IIIS33C88IIIr   c                 B    i | ]\  }}|                     |          S r   r5   )r   keyr   r   s      r
   
<dictcomp>z partial_load.<locals>.<dictcomp>G   s:     
 
 
6>c3C,,S11
 
 
r   r   )r'   r(   loadr    r!   copyr#   r   r   r   get_social_authget_userr%   )r   tokenr(   r    r!   r   r   s   `      r
   partial_loadr?   7   s   &++E22G 
|$$&&zz&!!H%%fd## 	ODx/4DNNvNNF8 	B%-2;;DAAF6NIIIIDIII
 
 
 
BH,,..
 
 
 Nr   )NN)r   listtuplesetbooltypeintstrbytesr&   r   r/   r2   r?   r   r   r
   <module>rH      s   D%dDDJJS%P    59   B 593 3 3 3    r   