
    <iU                    h   S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SK	r	S SK
r
S SKJr  S SKJr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  S SKJrJrJrJrJrJr  S S	K J!r!J"r"  S S
K#J$r$  S SK%J&r&  S SK'r'S SK(J)r)  S SK*J+r+  S SK,J-r-  S SK.J/r/  \)" 5       r0Sr1\Rd                  " \35      r4 " S S\+5      r5S r6Sr7Sr8Sr9Sr:Sr;Sr<SS jr=S S jr>S S jr? " S S\@5      rA\'R                  \'R                  -  \'R                  -  \'R                  -  \'R                  -  \'R                  -  rHS!S jrIg)"    )annotationsN)deque)CallableSequence)datedatetimetime	timedeltatimezone)Enum)isclass)IPv4AddressIPv4InterfaceIPv4NetworkIPv6AddressIPv6InterfaceIPv6Network)AnyLiteral)UUID)ZoneInfo)Reviver)SerializerProtocol)SendProtocol)Item    c                      \ rS rSrSrSSSS.       SS jjrSSSS.         SS jjrSS	 jrSS
 jrSS jr	SS jr
SS jrSrg)JsonPlusSerializer)   am  Serializer that uses ormsgpack, with optional fallbacks.

Security note: this serializer is intended for use within the BaseCheckpointSaver
class and called within the Pregel loop. It should not be used on untrusted
python objects. If an attacker can write directly to your checkpoint database,
they may be able to trigger code execution when data is deserialized.
FN)pickle_fallbackallowed_json_modules__unpack_ext_hook__c                   Xl         U(       a  USLa  U Vs1 s H  oDiM     snOUSL a  UOS U l        Ub  UU l        g [        U l        g s  snf )NT)r    _allowed_modules_msgpack_ext_hook_unpack_ext_hook)selfr    r!   r"   mod_and_names        s/home/dmtnaga/Documents/work/airagagent/rag_env/lib/python3.13/site-packages/langgraph/checkpoint/serde/jsonplus.py__init__JsonPlusSerializer.__init__2   sk      / $(<D(H /CC.Bl\.BC*>$*F&D 	 #.   	 # 		 Ds   A
)methodargskwargsc                   SS/ UR                   R                  S5      QUR                  P7S.nUb  X%S'   Ub  X5S'   Ub  XES'   U$ )N   constructor.)lctypeidr,   r-   r.   )
__module__split__name__)r'   r1   r,   r-   r.   outs         r)   _encode_constructor_args+JsonPlusSerializer._encode_constructor_argsE   sc     !LK**005L{7K7KL

 "MK"M
r   c                R   U R                   (       aQ  UR                  SS 5      S:X  a;  UR                  SS 5      S:X  a%  UR                  SS 5      b   U R                  U5      $ [        U5      $ ! [         a.  n[        R                  SUS   UR                  5         S nAN>S nAff = f)Nr3   r0   r4   r1   r5   z5Object %s is not in the deserialization allowlist.
%s)r$   get_revive_lc2InvalidModuleErrorloggerwarningmessage
LC_REVIVER)r'   valuees      r)   _reviverJsonPlusSerializer._reviverZ   s      IIdD!Q&		&$'=8		$%1''.. %   & L$KII s   A. .
B&8$B!!B&c                   U R                  U5        US   Gt p# [        R                  " SR                  U5      5      n[	        XC5      nUR                  S5      n[        U[        5      (       a  [	        XV5      /nO8[        U[        5      (       a   U Vs/ s H  oc  UO
[	        XX5      PM     nnOU/nUR                  S5      n	UR                  S5      n
U Hi  n [        U5      (       a  [        U[        5      (       a    g U	(       a  U
(       a
  U" U	0 U
D6s  $ U	(       a  U" U	6 s  $ U
(       a
  U" S0 U
D6s  $ U" 5       s  $    g s  snf ! [         a     M  f = f! [         a     g f = f)Nr5   r2   r,   r-   r.    )_check_allowed_modules	importlibimport_modulejoingetattrr=   
isinstancestrlistr   
issubclassBaseException	Exception)r'   rD   modulenamemodclsr,   methodsmr-   r.   s              r)   r>   JsonPlusSerializer._revive_lc2k   sH   ##E*+&	))#((6*:;C#$CYYx(F&#&&"3/0FD))JPQ&Q)3@&Q%99V$DYYx(F!v:fm+L+L#%t6v66%t},%///%x " R" !  		s~   A<E E/-E %EE EE E'E *E8E ;EE E E 
EE EE 
E*)E*c           	        [        US   5      nUR                  S5      n[        U[        5      (       a  SR	                  S U 5       5      nO[        U[
        5      (       a  UnOSnSR	                  U5      nU R                  (       d  [        SU SU S	U< S
35      eU R                  SL a  g X R                  ;   a  g [        SU SU SU< S35      e)Nr5   r,   ,c              3  6   #    U  H  o=(       d    S v   M     g7f)<init>NrI   ).0rZ   s     r)   	<genexpr><JsonPlusSerializer._check_allowed_modules.<locals>.<genexpr>   s     %DVm8mVs   r_   r2   z)Refused to deserialize JSON constructor: z
 (method: ul   ). No allowed_json_modules configured.

Unblock with ONE of:
  • JsonPlusSerializer(allowed_json_modules=[u   , ...])
  • (DANGEROUS) JsonPlusSerializer(allowed_json_modules=True)

Note: Prefix allowlists are intentionally unsupported; prefer exact symbols or plain-JSON representations revived without import-time side effects.Tz). Symbol is not in the deserialization allowlist.

Add exactly this symbol to unblock:
  JsonPlusSerializer(allowed_json_modules=[zY, ...])
Or, as a last resort (DANGEROUS):
  JsonPlusSerializer(allowed_json_modules=True))tupler=   rO   rQ   rM   rP   r$   r?   )r'   rD   neededr,   method_displaydotteds         r)   rJ   )JsonPlusSerializer._check_allowed_modules   s    uT{#8$fd## XX%DV%DDN$$#N%N&!$$$;F8:nM] ^B CI LZZ    D(*** 7xz.IY Z: ;A D>>
 	
r   c                0   Uc  S[         4$ [        U[        5      (       a  SU4$ [        U[        5      (       a  SU4$  S[	        U5      4$ ! [
        R                   a5  nU R                  (       a  S[        R                  " U5      4s S nA$ UeS nAff = f)Nnullbytes	bytearraymsgpackpickle)
EMPTY_BYTESrO   rj   rk   _msgpack_enc	ormsgpackMsgpackEncodeErrorr    rm   dumps)r'   objexcs      r)   dumps_typedJsonPlusSerializer.dumps_typed   s    ;;&&U##C<Y''## ,s"333// ''#V\\#%666	s#   A B (BBBBc                n   Uu  p#US:X  a  g US:X  a  U$ US:X  a  [        U5      $ US:X  a  [        R                  " X0R                  S9$ US:X  a-  [        R
                  " X0R                  [        R                  S9$ U R                  (       a  US:X  a  [        R                  " U5      $ [        S	U 35      e)
Nri   rj   rk   json)object_hookrl   ext_hookoptionrm   zUnknown serialization type: )rk   rx   loadsrF   rp   unpackbr&   OPT_NON_STR_KEYSr    rm   NotImplementedError)r'   datatype_data_s       r)   loads_typedJsonPlusSerializer.loads_typed   s    F?gLk!U##f_::e??i$$ 5 5i>X>X  !!ex&7<<&&%(DUG&LMMr   )r$   r&   r    )r    boolr!   z0Sequence[tuple[str, ...]] | Literal[True] | Noner"   z"Callable[[int, bytes], Any] | NonereturnNone)
r1   zCallable | type[Any]r,   z!None | str | Sequence[None | str]r-   zSequence[Any] | Noner.   zdict[str, Any] | Noner   dict[str, Any])rD   r   r   r   )rD   r   r   r   )rs   r   r   tuple[str, bytes])r   r   r   r   )r8   r6   __qualname____firstlineno____doc__r*   r:   rF   r>   rJ   ru   r   __static_attributes__rI   r   r)   r   r   )   s     !&QUBF
 
 O	

 @
 

. 59%)(,) 2	
 # & 
*!"B"
HNr   r      r0               c                $   [        U S5      (       ax  [        U R                  5      (       a^  [        R                  " [
        [        U R                  R                  U R                  R                  U R                  5       S45      5      $ [        U S5      (       aw  [        U R                  5      (       a]  [        R                  " [        [        U R                  R                  U R                  R                  U R                  5       45      5      $ [        U S5      (       aw  [        U R                  5      (       a]  [        R                  " [        [        U R                  R                  U R                  R                  U R                  5       45      5      $ [        U S5      (       aw  [        U R                  5      (       a]  [        R                  " [        [        U R                  R                  U R                  R                  U R                  5       45      5      $ [!        U ["        R$                  5      (       aY  [        R                  " [&        [        U R                  R                  U R                  R                  U R(                  45      5      $ [!        U [*        R,                  5      (       a=  [        R                  " [&        [        SSU R.                  U R0                  445      5      $ [!        U [2        5      (       aY  [        R                  " [        [        U R                  R                  U R                  R                  U R4                  45      5      $ [!        U [6        R8                  5      (       aX  [        R                  " [        [        U R                  R                  U R                  R                  [;        U 5      45      5      $ [!        U [<        [>        [@        45      (       aX  [        R                  " [        [        U R                  R                  U R                  R                  [C        U 5      45      5      $ [!        U [D        [F        [H        45      (       aX  [        R                  " [        [        U R                  R                  U R                  R                  [;        U 5      45      5      $ [!        U [J        [L        [N        45      (       aX  [        R                  " [        [        U R                  R                  U R                  R                  [;        U 5      45      5      $ [!        U [P        5      (       a^  [        R                  " [R        [        U R                  R                  U R                  R                  U RU                  5       S45      5      $ [!        U [V        5      (       ap  [        R                  " [&        [        U R                  R                  U R                  R                  U RX                  U RZ                  U R\                  445      5      $ [!        U [^        5      (       ap  [        R                  " [&        [        U R                  R                  U R                  R                  U R`                  U Rb                  U Rd                  445      5      $ [!        U [f        5      (       a  [        R                  " [        [        U R                  R                  U R                  R                  U Rh                  U Rj                  U Rl                  U Rn                  U Rp                  U Rr                  S	.45      5      $ [!        U [t        5      (       a]  [        R                  " [&        [        U R                  R                  U R                  R                  U Rw                  5       45      5      $ [!        U [x        5      (       aY  [        R                  " [        [        U R                  R                  U R                  R                  U Rz                  45      5      $ [!        U [|        5      (       aY  [        R                  " [        [        U R                  R                  U R                  R                  U R~                  45      5      $ [!        U [        5      (       ae  [        R                  " [&        [        U R                  R                  U R                  R                  U R                  U R                  445      5      $ [        R                  " U 5      (       a  [        R                  " [        [        U R                  R                  U R                  R                  [        R                  " U 5       Vs0 s H#  nUR                  [        XR                  5      _M%     sn45      5      $ [!        U [        5      (       as  [        R                  " [        [        U R                  R                  U R                  R                  U R                   Vs0 s H  o"[        X5      _M     sn45      5      $ [        R                  R                  S
5      =nGb)  [!        XR                  5      (       Ga  U R0                  R                  (       a  U R0                  R                  (       d  SOSnU R0                  R                  (       ac  [        U 5      n U R                  R:                  U R                  XE4n[        R                  " [        [        U5      5      UR                  5         $ U R                  SS9nU R                  R:                  U R                  XG4n[        R                  " [        [        U5      5      $ [!        U [        5      (       a  [        U 5      $ [        SU R                  R                   S35      es  snf s  snf ! UR                  5         f = f)N
model_dumpmodel_validate_jsonget_secret_valuedict_asdictrecompilefromisoformat)hourminutesecondmicrosecondtzinfofoldnumpyFCAorderzObject of type z is not serializable)Yhasattrcallabler   rp   ExtEXT_PYDANTIC_V2ro   	__class__r6   r8   r   EXT_CONSTRUCTOR_SINGLE_ARGr   EXT_PYDANTIC_V1r   EXT_CONSTRUCTOR_KW_ARGSrO   pathlibPathEXT_CONSTRUCTOR_POS_ARGSpartsr   Patternpatternflagsr   hexdecimalDecimalrP   set	frozensetr   rc   r   r   r   r   r   r   r   EXT_METHOD_SINGLE_ARG	isoformatr
   dayssecondsmicrosecondsr   yearmonthdayr	   r   r   r   r   r   r   r   __getinitargs__r   keyr   rD   r   nodeargdataclassesis_dataclassfieldsrV   rN   r   	__slots__sysmodulesr=   ndarrayf_contiguousc_contiguous
memoryviewdtypeshapeEXT_NUMPY_ARRAYreleasetobytesrS   repr	TypeError)rs   fieldknp_modr   mvmetabufs           r)   _msgpack_defaultr      s   sL!!hs~~&>&>}}MM,,MM**NN$)	

 
	
 
(	)	)hs7K7K.L.L}}&MM,,MM**((*	
 		
 
f		(388"4"4}}MM,,MM**HHJ	
 		
 
i	 	 Xckk%:%:}}#MM,,MM**KKM	
 		
 
C	&	&}}$))3==+A+A399M
 	
 
C	$	$}}$y3;;		":;
 	
 
C		}}&))3==+A+A377K
 	
 
C	)	)}}&))3==+A+A3s8L
 	
 
C#y%0	1	1}}&))3==+A+A5:N
 	
 
C+}kB	C	C}}&))3==+A+A3s8L
 	
 
C+}kB	C	C}}&))3==+A+A3s8L
 	
 
C	"	"}}!MM,,MM**MMO#	

 
	
 
C	#	#}}$MM,,MM**XXs{{C,<,<=	
 		
 
C		}}$MM,,MM**XXsyy#''2	
 		
 
C		}}#MM,,MM** #"%**"%**'*"%** #
 	
" 
C	"	"}}$MM,,MM**'')	
 		
 
C	"	"}}&))3==+A+A377K
 	
 
C		}}&))3==+A+A399M
 	
 
C	&	&}}$))3==+A+ACHHcggCVW
 	
 
	!	!#	&	&}}#MM,,MM** &1%7%7%<%<E 

GC$<<%<	
 	
 
C		}}#MM,,MM**14?A'?	
 		
 KKOOG,
,&	9j^^? ? yy--cii6L6LRU99!!CB		syy%< }}_l46HI

++C+(CIIMM399e9D==,t2DEE	C	'	'Cy/#--*@*@)AAUVWWK @ 

s   &*o3o8Ao= =pc                Z   U [         :X  aX   [        R                  " U[        [        R                  S9n[        [        R                  " US   5      US   5      " US   5      $ U [        :X  aU   [        R                  " U[        [        R                  S9n[        [        R                  " US   5      US   5      " US   6 $ U [        :X  aX   [        R                  " U[        [        R                  S9n[        [        R                  " US   5      US   5      " S0 US   D6$ U [        :X  ae   [        R                  " U[        [        R                  S9n[        [        [        R                  " US   5      US   5      US   5      " US   5      $ U [        :X  a[   [        R                  " U[        [        R                  S9n[        [        R                  " US   5      US   5      n U" S0 US   D6$ U [        :X  a[   [        R                  " U[        [        R                  S9n[        [        R                  " US   5      US   5      n U" S0 US   D6$ U ["        :X  a]   SS Kn[        R                  " U[        [        R                  S9u  pVpxUR'                  XR)                  U5      S9n	U	R+                  XgS9$ g ! [         a     g f = f! [         a     g f = f! [         a     g f = f! [         a     g f = f! [         a    UR                  " S0 US   D6s $ f = f! [         a     WS   s $ ! [         a      g f = ff = f! [         a    UR                   " S0 US   D6s $ f = f! [         a     WS   s $ ! [         a      g f = ff = f! [         a     g f = f)	Nrz   r   r   r0   r   r   r   rI   )r   rp   r~   r%   r   rN   rK   rL   rT   r   r   r   r   	construct	NameErrorr   model_constructr   r   
frombufferr   reshape)
coder   tuprX   _np	dtype_strr   r   r   arrs
             r)   r%   r%     s   ))	##09S9SC 9223q6:CFCCFKK 
)	)	##09S9SC 9223q6:CFCSVLL 
(	(	##09S9SC 9223q6:CFCMc!fMM 
&	&		##09S9SC 79#:#:3q6#BCFKSQRVTA 
 
	 	##09S9SC )11#a&93q6BC/}SV}$ 
	 	##09S9SC )11#a&93q6BC5}SV}$ 
	 		+4+<+<09S9S,(Ie ..IIi,@.AC;;u;22 
!G  		  		  		  		  /}}.s1v../ 	1v 	   5**4SV445 	1v 	   		s   AK .AK AK% /A#K5 AL* -
L AM6 
M (AN 
KK
K"!K"%
K21K25
LLL'$L* &L''L* *
M5L<9M<
M
M	M

MM30M6 2M33M6 6
NNN
NNNN
N*)N*c                   U [         :X  ad   [        R                  " U[        [        R                  S9nUS   S:X  a-  US   S:X  a$  US   nUS S  SUSS	  SUS	S
  SUS
S  SUSS   3	$ US   $ U [        :X  aN   [        R                  " U[        [        R                  S9nUS   S:X  a  US   S:X  a  SSKJn  U" US   6 $ US   $ U [        :X  a.   [        R                  " U[        [        R                  S9nUS   $ U [        :X  a.   [        R                  " U[        [        R                  S9nUS   $ U [        :X  a.   [        R                  " U[        [        R                  S9nUS   $ U [        :X  a.   [        R                  " U[        [        R                  S9nUS   $ U [        :X  ak   SS Kn[        R                  " U[        [        R                  S9u  pgpUR                  XR!                  U5      S9n
U
R#                  XxS9R%                  5       $ g ! [
         a     g f = f! [
         a     g f = f! [
         a     g f = f! [
         a     g f = f! [
         a     g f = f! [
         a     g f = f! [
         a     g f = f)Nrz   r   uuidr   r   r0      -         zlanggraph.typesSend)r   r   r   )r   rp   r~   _msgpack_ext_hook_to_jsonr   rT   r   langgraph.typesr   r   r   r   r   r   r   r   r   r   tolist)r   r   r   hex_r   r   r   r   r   r   r   s              r)   r   r     s   ))	##2 11C
 1vCFf$41vBQxj$q*QtBr{m1T"R[M4PRPS9+V q6M 
)	)	##2 11C
 1v**s1v/?0SV}$q6M 
(	(		##2 11C q6M 
&	&		##2 11C q6M 
	 	##2 11C q6M
 
	 		##2 11C q6M 
	 	+4+<+<2 11,(Ie
 ..IIi,@.AC;;u;299;; 
!  		  		  		  		  	 	  		  		s   AH *H :AH- H- ,H= 
,I ,I :,I- 2A)I= 
H*)H*-
H:9H:=
I
	I

II
I*)I*-
I:9I:=
J
	J
c                  "    \ rS rSrSrSS jrSrg)r?   iv  z7Exception raised when a module is not in the allowlist.c                    Xl         g )NrB   )r'   rB   s     r)   r*   InvalidModuleError.__init__y  s    r   r   N)rB   rP   )r8   r6   r   r   r   r*   r   rI   r   r)   r?   r?   v  s
    Ar   r?   c                >    [         R                  " U [        [        S9$ )N)defaultr|   )rp   packbr   _option)r   s    r)   ro   ro     s    ??4)9'JJr   )rs   r   r   zstr | ormsgpack.Ext)r   intr   rj   r   r   )r   r   r   rj   )J
__future__r   r   r   rK   rx   loggingr   rm   r   r   collectionsr   collections.abcr   r   r   r   r	   r
   r   enumr   inspectr   	ipaddressr   r   r   r   r   r   typingr   r   r   r   zoneinfor   rp   langchain_core.load.loadr   langgraph.checkpoint.serde.baser    langgraph.checkpoint.serde.typesr   langgraph.store.baser   rC   rn   	getLoggerr8   r@   r   r   r   r   r   r   r   r   r   r%   r   rT   r?   r   OPT_PASSTHROUGH_DATACLASSOPT_PASSTHROUGH_DATETIMEOPT_PASSTHROUGH_ENUMOPT_PASSTHROUGH_UUIDOPT_REPLACE_SURROGATESr   ro   rI   r   r)   <module>r     s4   "        	 
  . > >         , > 9 %Y
			8	$gN+ gNX     `XFUpZz  ))*(() $$% $$	%
 &&' Kr   