
    קg!?                     
   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l2m3Z3m4Z4m5Z5 d dl6Z6d dl7m8Z8m9Z9 g d	Z:g a;e5e3         e<d
<   de5e3         fdZ=de5e3         fdZ>d Z?de5e3         fdZ@ G d d          ZAd ZBd ZC ejD        d          d             ZE G d d          ZFdddeGfdZHdS )    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DictList)IMPORT_MAPPINGNAME_MAPPING)sysosposixnt_marked_safe_globals_listsafe_globalsc                     t           | z  a d S Nr6   r7   s    Y/var/www/html/ai-engine/env/lib/python3.11/site-packages/torch/_weights_only_unpickler.py_add_safe_globalsr=   Y   s    -    returnc                      t           S r9   r:    r>   r<   _get_safe_globalsrB   ^   s    $$r>   c                  
    g a d S r9   r:   rA   r>   r<   _clear_safe_globalsrD   c   s     "r>   globals_to_removec                 h    t          t          t                    t          |           z
            ad S r9   )listsetr6   )rE   s    r<   _remove_safe_globalsrI   h   s2     $%&&->)?)??! !r>   c                   2    e Zd Zdee         fdZd Zd ZdS )_safe_globalsr7   c                     || _         d S r9   r;   )selfr7   s     r<   __init__z_safe_globals.__init__p   s    (r>   c                 .    t          | j                   d S r9   )r=   r7   )rM   s    r<   	__enter__z_safe_globals.__enter__s   s    $+,,,,,r>   c                 .    t          | j                   d S r9   )rI   r7   )rM   typevaluetbs       r<   __exit__z_safe_globals.__exit__v   s    T./////r>   N)__name__
__module____qualname__r/   r-   rN   rP   rU   rA   r>   r<   rK   rK   o   sQ        )T#Y ) ) ) )- - -0 0 0 0 0r>   rK   c                  N    i } t           D ]}|j        |j        }}|| | d| <   | S )N.)r6   rW   rV   )rcfmodulenames       r<   _get_user_allowed_globalsr_      sC    B& # #|QZ!"ftIr>   c                  f   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 r9   )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_numpyrA   r>   r<   _tensor_rebuild_functionsrn      sf    '2%$''+4+. 	6 r>      c            
         t           t          t          j        j        t          j        j        t          j        t          j        t          j	        t          t          d	} t          j                                                                        D ]}|| t          |          <   t          j                                        D ]}|| t          |          <   t          j        D ]}|| |j         d|j         <   t          j        D ]q}|t          j        j        t          j        j        fvr7t          j                            |j                  | |j         d|j         <   ]|| |j         d|j         <   rt          j        t          j        t          j        t          j        t          j        fD ]}|| t          |          <   t;                      D ]}|| d|j         <   t          j        j        | 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.bytearrayrZ   ztorch._utils.z#torch._tensor._rebuild_from_type_v2) r   r   ra   nn	Parameterserialization_get_layoutSizeTensordevicer   	bytearraystorage_dtype_to_storage_type_mapkeysstr_new_dtypes_tensor_classesrW   rV   _storage_classesTypedStorageUntypedStorageStorageTypeper_tensor_affineper_tensor_symmetricper_channel_affineper_channel_symmetric per_channel_affine_float_qparamsrn   _tensor_rebuild_from_type_v2)r[   ttttsqtr\   s         r<   _get_allowed_globalsr      s    $/&(-(:+0+>+Jj '
 
B ]5577<<>>  3q66

]&&((  3q66

# 2 2/1bm++bk++,,$ 6 6em0%-2NOOO383F3R3R4 4B"-//"+//00 46B"-//"+//00 	" #.   3r77&(( - -+,'1:''(( 160SB,-Ir>   c                   2    e Zd ZdddefdZd Zd Zd ZdS )		Unpicklerbytesencodingr   c                `    || _         |j        | _        |j        | _        i | _        d| _        d S )N)r   readlinereadmemoproto)rM   filer   s      r<   rN   zUnpickler.__init__   s-     I	$&	


r>   c                 v   g | _         g | _        | j        j        | _        | j        }| j        }	  |d          }|st
          t          |t                    sJ |d         t          d         k    r7 |            dd         	                    d          } |            dd         	                    d          }| j
        dk    r4||ft          v rt          ||f         \  }}n|t          v rt          |         }| d| }|t          v rt          d	| d
| d          |t                      v r)|                     t                      |                    n|t!                      v r)|                     t!                      |                    nt          d| d| d          |d         t"          d         k    r| j                                        }| j                                        }|t&          j        j        u r(|                     t'          j        j        |            n|t!                                                      v r#|                      |j        |g|R             nt          d|           |d         t0          d         k    r| j                                        }| j        d         }	|	t                                                      vr4|	t!                                                      vrt          d|	            |	| | j        d<   n|d         t2          d         k    rG| j                                        }
| j        d         }t5          |          t&          j        u r |j        |
  
nt5          |          t&          j        j        u r|                    |
           
nwt5          |          t<          u r|j                             |
           
nEt5          |          t!                                                      v rCtC          |d          r|                    |
           	n|j                             |
           	nt          dt5          |                     |d         tD          d         k    rr| j                                        }| j        d         }t5          |          tF          urt          dt5          |                     |                    |           	n+|d         tH          d         k    rm| %                                }| j        d         }t5          |          tF          urt          dt5          |                     |&                    |           n|d         tN          d         k    rD| j                                        | j                                        }}|| j        d         |<   nL|d         tP          d         k    rV| %                                }tS          dtU          |          d          D ]!}||dz            | j        d         ||         <   "n|d         tV          d         k    r9| j                             | j                   g | _        | j        j        | _        n|d         tX          d         k    r8| %                                }|                     t[          |                     n@|d         t\          d         k    r| j        d         f| j        d<   n|d         t^          d         k    r'| j        d         | j        d         fg| j        dd<   n|d         t`          d         k    r3| j        d         | j        d         | j        d         fg| j        dd<   n|d         tb          d         k    r|                     d           n[|d         td          d         k    r|                     d           n-|d         tf          d         k    r|                     d           n|d         th          d         k    r|                     d           n|d         tj          d         k    r|                     g            n|d         tl          d         k    r|                     i            nu|d         tn          d         k    r#|                     tq                                 n;|d         tr          d         k    r4|                     tu          d |d                    d                    n|d         tv          d         k    r0|                     |                     d          d                    n|d         tx          d         k    r4|                     tu          d |d                    d                    n^|d         tz          d         k    r>|                     tu          d|                     d                    d                    n	|d         t|          d         k    rjtu          d |d                    d         }|t~          k    rt          d          t           ||          dd           }|                     |           n|d         t          d         k    rY |d          d         } ||          }| jB        d!k    r|	                    | jB        d"          }|                     |           n|d         t          d         k    r| j                                        }t5          |          tZ          ur5t5          |          t          u rt          d#t5          |                     t5          |          tZ          u rTtU          |          dk    rAt&          jE        F                    |d                   d$k    rt          d%|d                    |                     | G                    |                     n	|d         t          d         t          d         fv rc|d         t          d         k    r |d          ntu          d |d                    d         }|                     | jJ        |                    n|d         t          d         t          d         fv rl|d         t          d         k    r |d          ntu          d |d                    d         }|dk     rt          d&          | j        d         | jJ        |<   n|d         t          d         k    r? |d          d         } ||          }|                     t          |                     n|d         t          d         k    r? |d          d         | _
        | j
        dk    rt          jR        d'| j
         d(           nJ|d         t          d         k    r| j                                        }|S t          d)|d                    )*zRead a pickled object representation from the open file.

        Return the reconstituted object hierarchy specified in the file.
        Tro   r   Nr   zutf-8   rZ   z"Trying to load unsupported GLOBAL z whose module z is blocked.zUnsupported global: GLOBAL zY was not an allowed global by default. Please use `torch.serialization.add_safe_globals([z>])` 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 z0Trying to call reduce for unrecognized function __setstate__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 FrA   z<i   z<Hz>d   z<IzString is too longsurrogatepassr   strictz1persistent_load id must be tuple or int, but got ry   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.zUnsupported operand )T	metastackstackappendr   r   EOFError
isinstancer   r   decoder   r1   r0   _blocklisted_modulesr*   r   r_   r   popra   rq   rr   values__new__r!   r   rR   rv   set_r   r   __dict__updatehasattrr   rG   r   pop_markextendr"   r#   rangelenr   r&   tupler'   r(   r)   r   r   r   r   r   r   r   rH   r
   r+   r   r   r   r   r,   r|   r$   r   r   intrs   _maybe_decode_asciipersistent_loadr	   r   r   r   r   
ValueErrorr   r   r    warningswarnr%   )rM   r   r   keyr]   r^   	full_pathargsclsfuncstateinstitemlist_objitemsvkistrlenstrvalstrdatapididxndatar[   s                             r<   loadzUnpickler.load   s   
  "
j'y=|	G$q''C c;/////1v""!CRC//88xzz#2#--g66 :??~55'3VTN'C>11!/!7%....	111)jYjjV\jjj    4 6 666KK 4 6 6y ABBBB";"="===KK 9 ; ;I FGGGG)Hi H HMQH H H  
 Q6!9$$z~~''jnn&&%(,,,KK 2D 9::::577>>@@@@KKC 7$ 7 7 78888)@:=@ @   Q6!9$$z~~''z"~ 4 6 6 = = ? ???$=$?$?$F$F$H$HHH)Q4QQ   "&t
2Q58##
((z"~::--DIu%%%$ZZ58#555%%e,,,,$ZZ;..M((////$ZZ#<#>#>#E#E#G#GGGt^44 4))%0000,,U3333)H;?::H H  
 Q6!9$$z~~'':b>>>--)MT(^^MM   %%%%Q71:%%:b>>>--)J$x..JJ   &&&&Q71:%%*..**DJNN,<,<A$%
2q!!Q8A;&&q#e**a00 < <A/4QU|DJrN58,,<Q47""%%dj111
"j/Q58##E%LL))))Q6!9$$"&*R.!2
2Q6!9$$$(JrNDJrN#C"D
233Q6!9$$$(JrNDJrNDJrN#S"T
233Q47""D!!!!Q8A;&&E""""Q71:%%D!!!!Q;q>))BQ:a=((BQ:a=((BQ9Q<''CEE""""Q6!9$$F4a11!45555Q71:%%DIIaLLO,,,,Q71:%%F4a11!45555Q8A;&&F4166q9::::Q:a=((dd1gg..q1G##)*>???TT&\\7ODDF####Q?1---a$v,,=G++%nnT]HEEGG$$$$Q9Q<''jnn&&99E))$s))32F2F)WDQTIIWW   II&&C1+??AGG9TT)WsSTvWW   D00556666QF1I{1~666"%a&F1I"5"5ttAwww6$Q;P;PRSTDIcN++++QF1I{1~666 #A&) 3 3TT!WWWdd1gg9N9NPQRq55$%8999#z"~	!Q58##DGGAJtAwwK--....Q58##!T!WWQZ
:??MYDJ Y Y Y   Q47""Z^^%%	%&ESV&E&EFFFy|	Gr>   c                 r    | j         }| j                                        | _         | j         j        | _        |S r9   )r   r   r   r   )rM   r   s     r<   r   zUnpickler.pop_mark  s/    
^''))
j'r>   c                      t          d          )Nz%unsupported persistent id encountered)r*   )rM   r   s     r<   r   zUnpickler.persistent_load  s    EFFFr>   N)rV   rW   rX   r|   rN   r   r   r   rA   r>   r<   r   r      su        07   #    FG FG FGR  G G G G Gr>   r   ASCIIr   r   c                H    t          | |                                          S )Nr   )r   r   )r   r   s     r<   r   r     s!    TH---22444r>   )I	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+   r2   r,   typingr-   r.   r/   ra   torch._utilsr0   r1   r   r6   __annotations__r=   rB   rD   rI   rK   r_   rn   	lru_cacher   r   r|   r   rA   r>   r<   <module>r      s  2             , , , , , , , ,& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &N             " " " " " " " " " "  5 5 5 5 5 5 5 5
    (* 49 ) ) ).DI . . . .
%49 % % % %
# # #
DI    0 0 0 0 0 0 0 0$    ( a   - - ! -`XG XG XG XG XG XG XG XGv #* 5 5 5C 5 5 5 5 5 5r>   