
    PgR                     x   U d dl Zd dlZd dlmZ d dlmZmZ d dlm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z- d dl.m/Z/ d dl0m1Z1 d dl2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9 d dl:Z:d dl;m<Z<m=Z= g d	Z> e?       a@e7e9e4e8e4eAf   f      eBd
<   de6e9e4e8e4eAf   f      fdZCde6e9e4e8e4eAf   f      fdZDd ZEde6e9e4e8e4eAf   f      fdZF G d d      ZGd ZHd ZI ej                  d      d        ZKde4de8eAeAf   fdZLde7eA   fdZM G d d      ZNdddeAfd ZOy)!    N)encode)CounterOrderedDict)%APPENDAPPENDSBINFLOATBINGETBININTBININT1BININT2	BINPERSIDBINPUT
BINUNICODEBUILDbytes_typesdecode_long
EMPTY_DICT
EMPTY_LIST	EMPTY_SETEMPTY_TUPLEGLOBALLONG1LONG_BINGETLONG_BINPUTMARKNEWFALSENEWOBJNEWTRUENONEPROTOREDUCESETITEMSETITEMSSHORT_BINSTRINGSTOPTUPLETUPLE1TUPLE2TUPLE3UnpicklingError)unpack)maxsize)AnyCallableDictListSetTupleUnion)IMPORT_MAPPINGNAME_MAPPING)sysosposixnt_marked_safe_globals_setsafe_globalsc                 @    t         j                  t        |             a y N)r:   unionsetr;   s    d/var/www/html/suriana-translation/venv/lib/python3.12/site-packages/torch/_weights_only_unpickler.py_add_safe_globalsrB   Y   s    7==c,>OP    returnc                       t        t              S r=   )listr:    rC   rA   _get_safe_globalsrH   ^   s    ())rC   c                      t               ay r=   )r?   r:   rG   rC   rA   _clear_safe_globalsrJ   c   s
    "urC   globals_to_removec                 (    t         t        |       z
  a y r=   )r:   r?   )rK   s    rA   _remove_safe_globalsrM   h   s      8#>O:PPrC   c                   >    e Zd Zdeeeeeef   f      fdZd Z	d Z
y)_safe_globalsr;   c                     || _         y r=   r@   )selfr;   s     rA   __init__z_safe_globals.__init__p   s
    (rC   c                 .    t        | j                         y r=   )rB   r;   )rQ   s    rA   	__enter__z_safe_globals.__enter__s   s    $++,rC   c                 .    t        | j                         y r=   )rM   r;   )rQ   typevaluetbs       rA   __exit__z_safe_globals.__exit__v   s    T../rC   N)__name__
__module____qualname__r0   r3   r.   r2   strrR   rT   rY   rG   rC   rA   rO   rO   o   s0    )T%%#:N0N*O%P )-0rC   rO   c                  @   i } t         D ]  }t        |t              r^t        |      dk7  rt	        dt        |             t        |d         t        urt        dt        |d                |\  }}|| |<   q|j                  |j                  }}|| | d| <    | S )N   zYExpected tuple of length 2 (global, str of callable full path), but got tuple of length:    zHExpected second item in tuple to be str of callable full path, but got: .)
r:   
isinstancetuplelen
ValueErrorrV   r]   	TypeErrorr[   rZ   )rcfnamemodules       rA   _get_user_allowed_globalsrk      s    B% 'a1v{ opstupvowx  AaDz$^_cdefgdh_i^jk  GAtBtH<<DF%&B&4&!"' IrC   c                  ^   t         j                  j                  t         j                  j                  t         j                  j                  t         j                  j
                  t         j                  j                  t         j                  j                  t         j                  j                  t         j                  j                  t         j                  j                  t         j                  j                  t         j                  j                  t         j                  j                  hS r=   )torch_utils_rebuild_parameter_rebuild_parameter_with_state_rebuild_qtensor_rebuild_tensor_rebuild_tensor_v2_rebuild_tensor_v3_rebuild_sparse_tensor_rebuild_meta_tensor_no_storage_rebuild_nested_tensor_rebuild_wrapper_subclass!_rebuild_device_tensor_from_numpy&_rebuild_device_tensor_from_cpu_tensorrG   rC   rA   _tensor_rebuild_functionsr{      s    ''22%%$$''''++44++.. 	66 	;;# rC   r`   c                     t         t        t        j                  j                  t        j
                  j                  t        j                  t        j                  t        j                  t        t        t        t        d} t        j                  j                         j!                         D ]  }|| t#        |      <    t        j                  j%                         D ]  }|| t#        |      <    t        j&                  D ]   }|| |j(                   d|j*                   <   " t        j,                  D ]  }|t        j                  j.                  t        j                  j0                  fvrFt        j
                  j3                  |j*                        | |j(                   d|j*                   <   || |j(                   d|j*                   <    t        j4                  t        j6                  t        j8                  t        j:                  t        j<                  fD ]  }|| t#        |      <    t?               D ]  }|| d|j*                   <    t        j@                  jB                  | d<   | S )N)zcollections.OrderedDictzcollections.Counterztorch.nn.parameter.Parameterztorch.serialization._get_layoutz
torch.Sizeztorch.Tensorztorch.devicez_codecs.encodezbuiltins.bytearrayzbuiltins.setzbuiltins.complexra   ztorch._utils.z#torch._tensor._rebuild_from_type_v2)"r   r   rm   nn	Parameterserialization_get_layoutSizeTensordevicer   	bytearrayr?   complexstorage_dtype_to_storage_type_mapkeysr]   _new_dtypes_tensor_classesr[   rZ   _storage_classesTypedStorageUntypedStorageStorageTypeper_tensor_affineper_tensor_symmetricper_channel_affineper_channel_symmetric per_channel_affine_float_qparamsr{   _tensor_rebuild_from_type_v2)rg   ttttsqtrh   s         rA   _get_allowed_globalsr      s    $/&(-(:(:+0+>+>+J+Jjj '#B ]]557<<> 3q6
]]&&( 3q6
 ## 2/1bmm_Abkk]+,2 $$ 6emm00%--2N2NOO383F3F3R3R4B"--"++/0 46B"--"++/06 	""  ##..  3r7 '( -+,]1::,'(-
 160S0SB,-IrC   readlinec                      |        d d j                  d      } |        d d j                  d      }||ft        v rt        ||f   \  }}||fS |t        v r	t        |   }||fS )Nutf-8)decoder5   r4   )r   rj   ri   s      rA   _read_global_instructionr      s|    Z_##G,F:cr?!!'*D 	~%#VTN3 4< 
>	!'4<rC   c                    t               }d }| j                  }| j                  }i t        d   dt        d   dt
        d   dt        d   dt        d   dt        d   dt        d   dt        d   dt        d   dt        d   dt        d   dt        d   dt        d   dt         d   dt"        d   dt$        d   dt&        d   dt(        d   dt*        d   dt,        d   dt.        d   dt0        d   dt2        d   dt4        d   dt6        d   dt8        d   dt:        d   dt<        d   di}	  |d      }|st>        tA        |tB              sJ |d   tD        d   k(  r%tG        |      \  }}|jI                  | d|        n|d   |v r||d      }	|	r ||	       n|d   tJ        d   k(  r2tM        d |d            d   }
|
tN        kD  rtQ        d       ||
       nh|d   tR        d   tT        d   hv r |d      d   }
 ||
       n=|d   tV        d   k(  r |d      d   }n"|d   tX        d   k(  r|S tQ        d	|d          )
Nr      r`   r_      ra   <IString is too longUnsupported operand )-r?   readr   r   r!   r   r   r   r"   r#   r   r&   r'   r(   r)   r   r   r   r   r   r   r   r   r
   r   r   r   r	   r   r   r   EOFErrorrb   r   r   r   addr   r+   r,   r*   r$   r   r    r%   )fileglobals_in_checkpointprotocolr   r   op_to_bytes_to_readkeyrj   ri   bytes_to_readstrlens              rA   get_globals_in_pklr      s   EH99D}}Hq	1q	1 	a! 	q	1	
 	
A 	
A 	Q 	Q 	a! 	q	1 	q	1 	q	1 	Q 	Q 	
A  	A!" 	1q#$ 	1q!a!aq	1
A
AQq	1Aq	1A9< 1gN#{+++q6VAY3H=LFD!%%$&89V**/A7M]#Vz!}$D$q'*1-F%&:;;LV*E!H55!WQZFLVuQxAwqzHVtAw((!$8Q"ABB7 rC   c                   0    e Zd ZdddefdZd Zd Zd Zy)		Unpicklerbytesencodingr   c                r    || _         |j                  | _        |j                  | _        i | _        d| _        y )Nr   )r   r   r   memoproto)rQ   r   r   s      rA   rR   zUnpickler.__init__.  s-     II	$&	
rC   c           	         g | _         g | _        | j                  j                  | _        | j                  }| j                  }	  |d      }|st
        t        |t              sJ |d   t        d   k(  rt        | j                        \  }}| d| }|t        v rt        d| d| d      |t               v r| j                  t               |          nj|t               v r| j                  t               |          n@|dv rt        d	      |d
v rt        d      t        d| d| d| d      |d   t        d   k(  r| j                  j                         }| j                  j                         }|t         j"                  j$                  u r-| j                  t!        j"                  j$                  |        
n|t               j'                         v s|t               j'                         v r$| j                   |j(                  |g|        
n)t        d|       |d   t*        d   k(  r| j                  j                         }| j                  d   }	|	t               j'                         vr(|	t               j'                         vrt        d|	        |	| | j                  d<   	n|d   t,        d   k(  r| j                  j                         }
| j                  d   }t/        |      t         j0                  u r |j2                  |
  	n(t/        |      t         j"                  j$                  u r|j5                  |
       nt/        |      t6        u r|j8                  j;                  |
       nt/        |      t               j'                         v s#t/        |      t               j'                         v rt=        |d      r|j5                  |
       n]d}t        |
t>              rtA        |
      dk(  r|
\  }
}|
r|j8                  j;                  |
       |r|jC                         D ]  \  }}tE        |||        nt        dt/        |             |d   tF        d   k(  rd| j                  j                         }| j                  d   }t/        |      tH        urt        dt/        |             |j                  |       ng|d   tJ        d   k(  rZ| jM                         }| j                  d   }t/        |      tH        urt        dt/        |             |jO                  |       n|d   tP        d   k(  rH| j                  j                         | j                  j                         }}|| j                  d   |<   n|d   tR        d   k(  rH| jM                         }tU        dtA        |      d      D ]  }||dz      | j                  d   ||   <    nP|d   tV        d   k(  rI| j                   j                  | j                         g | _        | j                  j                  | _        n|d   tX        d   k(  r,| jM                         }| j                  t?        |             n|d   tZ        d   k(  r| j                  d   f| j                  d<   n|d   t\        d   k(  r.| j                  d   | j                  d   fg| j                  dd nR|d   t^        d   k(  r<| j                  d   | j                  d   | j                  d   fg| j                  dd n|d   t`        d   k(  r| j                  d       n|d   tb        d   k(  r| j                  d       n|d   td        d   k(  r| j                  d       n|d   tf        d   k(  r| j                  d       n|d   th        d   k(  r| j                  g        n]|d   tj        d   k(  r| j                  i        n;|d   tl        d   k(  r| j                  to                      n|d   tp        d   k(  r&| j                  ts        d |d            d          n|d   tt        d   k(  r%| j                  | j                  d      d          n|d   tv        d   k(  r&| j                  ts        d |d            d          ns|d   tx        d   k(  r/| j                  ts        d | j                  d!            d          n5|d   tz        d   k(  rOts        d" |d            d   }|t|        kD  rt        d#      t         ||      d$d%      }| j                  |       n|d   t        d   k(  rQ |d      d   } ||      }| j                  d&k7  r|j                  | j                  d'      }| j                  |       nw|d   t        d   k(  r| j                  j                         }t/        |      t>        ur(t/        |      t        u rt        d(t/        |             t/        |      t>        u rDtA        |      dkD  r6t         j                  j                  |d         d)k7  rt        d*|d          | j                  | j                  |             n|d   t        d   t        d   fv rL|d   t        d   k(  r |d      nts        d" |d            d   }| j                  | j                  |          n;|d   t        d   t        d   fv rY|d   t        d   k(  r |d      nts        d" |d            d   }|dk  rt        d+      | j                  d   | j                  |<   n|d   t        d   k(  r. |d      d   } ||      }| j                  t        |             n|d   t        d   k(  rC |d      d   | _Q        | j                  dk7  r`t        j                  d,| j                   d-       n<|d   t        d   k(  r| j                  j                         }|S t        d.|d           )/zRead a pickled object representation from the open file.

        Return the reconstituted object hierarchy specified in the file.
        Tr`   r   ra   z"Trying to load unsupported GLOBAL z whose module z is blocked.)z1torch.nested._internal.nested_tensor.NestedTensorz1torch.nested._internal.nested_tensor._rebuild_njtz"torch._dynamo.decorators._DimRangez\``torch.nested`` and ``torch._dynamo`` must be imported to load nested jagged tensors (NJTs))z(torch.distributed.device_mesh.DeviceMeshz2torch.distributed.tensor._dtensor_spec.DTensorSpecz1torch.distributed.tensor._dtensor_spec.TensorMetaz torch.distributed.tensor.DTensorz0torch.distributed.tensor.placement_types.Partialz2torch.distributed.tensor.placement_types.Replicatez.torch.distributed.tensor.placement_types.Shardz>``torch.distributed.tensor`` must be imported to load DTensorszUnsupported global: GLOBAL zY was not an allowed global by default. Please use `torch.serialization.add_safe_globals([z.])` or the `torch.serialization.safe_globals([zN])` context manager to allowlist this global if you trust this class/function.zbCan only create new object for nn.Parameter or classes allowlisted via `add_safe_globals` but got r   z0Trying to call reduce for unrecognized function __setstate__Nr_   zcCan only build Tensor, Parameter, OrderedDict or types allowlisted via `add_safe_globals`, but got z"Can only append to lists, but got zCan only extend lists, but got FrG   z<ir   z<Hz>dr   r   r   r   surrogatepassr   strictz1persistent_load id must be tuple or int, but got r   z4Only persistent_load of storage is allowed, but got znegative argumentzDetected pickle protocol z in the checkpoint, which was not the default pickle protocol used by `torch.load` (2). The weights_only Unpickler might not support all instructions implemented by this protocol, please file an issue for adding support if you encounter this.r   )U	metastackstackappendr   r   r   rb   r   r   r   _blocklisted_modulesr*   r   rk   r   poprm   r}   r~   values__new__r!   r   rV   r   set_r   r   __dict__updatehasattrrc   rd   itemssetattrr   rF   r   pop_markextendr"   r#   ranger   r&   r'   r(   r)   r   r   r   r   r   r   r   r?   r
   r+   r   r   r   r   r,   r]   r$   r   r   r   intr   _maybe_decode_asciipersistent_loadr	   r   r   r   r   re   r   r   r    r   warningswarnr%   )rQ   r   r   r   rj   ri   	full_pathargsclsfuncstateinst	slotstatekvitemlist_objr   ir   strvalstrdatapididxndatarg   s                              rA   loadzUnpickler.load5  s
   
  "
jj''yy==q'Cc;///1v"7F%hav.	11)<YK~V\U]]ij   4 66KK 4 6y AB";"==KK 9 ;I FG *v  
 *X  *5i[ AMMQF S>>BV D<<  Q6!9$zz~~'jjnn&%((,,,KK 2 2D 9:46==??24;;==KKC 7$ 78)::=@  Q6!9$zz~~'zz"~ 4 6 = = ??$=$?$F$F$HH)J4&Q  "&t

2Q58#

(zz"~:-DIIu%$Z588#5#55%%e,$Z;.MM((/J";"="D"D"FFDz%9%;%B%B%DDt^4))%0 %)	%eU3E
a/4,E9  MM007$(1(9 41 'a 34 *;;?:,H 
 Q6!9$zz~~'::b>>-)<T(^<LM  %Q71:%::b>>-)9$x.9IJ  &Q71:%**..*DJJNN,<A$%

2q!Q8A;&q#e*a0 <A/4QU|DJJrN58,<Q47"%%djj1
"jj//Q58#E%L)Q6!9$"&**R.!2

2Q6!9$$(JJrNDJJrN#C"D

23Q6!9$$(JJrNDJJrNDJJrN#S"T

23Q47"D!Q8A;&E"Q71:%D!Q;q>)BQ:a=(BQ:a=(BQ9Q<'CE"Q6!9$F4a1!45Q71:%DIIaLO,Q71:%F4a1!45Q8A;&F416q9:Q:a=(d1g.q1G#)*>??T&\7ODF#Q?1--av,==G+%nnT]]HEGG$Q9Q<'jjnn&9E)$s)32F)KDQTI;W  I&C1++??AG9T)NsSTvhW  D0056QF1I{1~66"%a&F1I"5tAw6$Q;PRSTDIIcN+QF1I{1~66 #A&) 3T!Wd1g9NPQRq5$%899#zz"~		!Q58#GAJAwK-.Q58#!!WQZ
::?MM3DJJ< @Y Y Q47"ZZ^^%	%(<SVH&EFFy rC   c                     | j                   }| j                  j                         | _         | j                   j                  | _        |S r=   )r   r   r   r   )rQ   r   s     rA   r   zUnpickler.pop_mark  s5    

^^'')
jj''rC   c                     t        d      )Nz%unsupported persistent id encountered)r*   )rQ   r   s     rA   r   zUnpickler.persistent_load$  s    EFFrC   N)rZ   r[   r\   r]   rR   r   r   r   rG   rC   rA   r   r   -  s$    07 # fGRGrC   r   ASCIIr   r   c                8    t        | |      j                         S )Nr   )r   r   )r   r   s     rA   r   r   (  s    TH-2244rC   )P	functools
_functoolsr   _codecsr   collectionsr   r   pickler   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   structr+   r6   r,   typingr-   r.   r/   r0   r1   r2   r3   rm   torch._utilsr4   r5   r   r?   r:   r]   __annotations__rB   rH   rJ   rM   rO   rk   r{   	lru_cacher   r   r   r   r   rG   rC   rA   <module>r      s  2    ,& & & & & & & & & &N   ? ? ?  5
  HKu #eHeHcM.B$BCD LQDxx}9M/M)N$O Q
*4hhm0D&D EF *
%
QE(E(C-,@"@ABQ0 0$(. a 0 !0f	x 	E#s(O 	>CC >CBxG xGv #* 5C 5rC   