§
    ðyIf”  ã                   ó¸  — d dl mZmZmZmZ d dl mZ d dlmZ d dlZdZ	d„ Z
d„ Zd„ Z G d	„ d
e¦  «        Z e¦   «         Zd„ Zd„ Z G d„ d¦  «        Z e¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zedk    r\ e¦   «           e¦   «           e¦   «           e¦   «           e¦   «           e¦   «           e¦   «           e¦   «           e¦   «          dS dS )é    )Ú	getsourceÚgetnameÚ_wrapÚlikely_import)Úgetimportable)ÚIS_PYPYNi± 
c                 ó   — | dz  S ©Né   © ©Úxs    úJ/var/www/piapp/venv/lib/python3.11/site-packages/dill/tests/test_source.pyú<lambda>r      s
   € ˆa�‰d€ ó    c                 ó&   — t          | ¦  «        | z
  S ©N)Úfr   s    r   Úgr      s   € •�1‘”˜‘ˆ/r   c                 ó$   — d„ } || ¦  «        | z
  S )Nc                 ó   — | S r   r   r   s    r   r   zh.<locals>.g   s   € �1ˆHr   r   )r   r   s     r   Úhr      s   € ØÐÐØ	
ˆˆ1‰Œ�‰€/r   c                   ó   — e Zd Zd„ ZdS )ÚFooc                 ó   — ||z  |z   S r   r   )Úselfr   s     r   ÚbarzFoo.bar   s   € ØˆQ‰3ˆq‰5€Lr   N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r      s#   € € € € € ðð ð ð ð r   r   c                 ó   — | |z   S r   r   )r   Úys     r   Úaddr#      s   € Ø	
ˆ1‰€*r   c                 ó   — | dz  S r
   r   r   s    r   r   r       s
   € �1�a‘4€ r   c                   ó   — e Zd ZdS )ÚBarN)r   r   r    r   r   r   r&   r&   "   s   € € € € € Ø€$r   r&   c                  óà  — t          t          ¦  «        dk    sJ ‚t          t          ¦  «        dk    sJ ‚t          t          ¦  «        dk    sJ ‚t	          t          ¦  «        dk    sJ ‚t	          t          ¦  «        dk    sJ ‚t	          t          ¦  «        dk    sJ ‚ t          t          ¦  «        d¦  «        dk    sJ ‚ t          t          ¦  «        d¦  «        d	k    sJ ‚ t          t          ¦  «        d¦  «        d
k    sJ ‚t	          t          ¦  «        dk    sJ ‚t	          t          ¦  «        dk    sJ ‚t          t          ¦  «        dk    sJ ‚t          t          ¦  «        dk    sJ ‚d S )Nzf = lambda x: x**2
zdef g(x): return f(x) - x
z1def h(x):
  def g(x): return x
  return g(x) - x
r   r   r   é   é   é   r   r   r&   úclass Bar:
  pass
ú8class Foo(object):
  def bar(self, x):
    return x*x+x
)r   r   r   r   r   r   r   r&   r   r   r   Útest_getsourcer-   '   sP  € Ý	•1‰ŒÐ/Ò	/Ð	/Ð	/Ð	/Ý	•1‰ŒÐ6Ò	6Ð	6Ð	6Ð	6Ý	•1‰ŒÐOÒ	OÐ	OÐ	OÐ	OÝ	•‰Œ�sÒ	Ð	Ð	Ð	Ý	•‰Œ�sÒ	Ð	Ð	Ð	Ý	•‰Œ�sÒ	Ð	Ð	Ð	Ø	��q‰Œ�!‰Œ˜Ò	Ð	Ð	Ð	Ø	��q‰Œ�!‰Œ˜Ò	Ð	Ð	Ð	Ø	��q‰Œ�!‰Œ˜Ò	Ð	Ð	Ð	å	•‰Œ˜Ò	Ð	Ð	Ð	Ý	•‰Œ˜Ò	Ð	Ð	Ð	Ý	•3‰ŒÐ1Ò	1Ð	1Ð	1Ð	1Ý	•3‰ŒÐXÒ	XÐ	XÐ	XÐ	XÐ	XÐ	Xr   c                  ó:   — t          t           ¦  «        dk    sJ ‚d S )Nz&from dill.source import likely_import
)r   r   r   r   Útest_itselfr/   9   s"   € Ý	•}Ñ	%Ô	%Ð'PÒ	PÐ	PÐ	PÐ	PÐ	PÐ	Pr   c                  óz  — t          t          ¦  «        dk    sJ ‚t          d¦  «        dk    sJ ‚t          d¦  «        dk    sJ ‚t          t          d¬¦  «        dk    sJ ‚t          dd¬¦  «        dk    sJ ‚t          dd¬¦  «        dk    sJ ‚t          d ¦  «        dk    sJ ‚t          d d¬¦  «        dk    sJ ‚d S )	Nzpow
éd   ú100
TzTrue
©Úexplicitzfrom builtins import pow
úNone
)r   Úpowr   r   r   Útest_builtinr7   =   så   € Ý	•sÑ	Ô	˜wÒ	&Ð	&Ð	&Ð	&Ý	�sÑ	Ô	˜wÒ	&Ð	&Ð	&Ð	&Ý	�tÑ	Ô	 Ò	(Ð	(Ð	(Ð	(Ý	•s TÐ	*Ñ	*Ô	*Ð.JÒ	JÐ	JÐ	JÐ	JÝ	�s TÐ	*Ñ	*Ô	*¨gÒ	5Ð	5Ð	5Ð	5Ý	�t dÐ	+Ñ	+Ô	+¨xÒ	7Ð	7Ð	7Ð	7å	�tÑ	Ô	 Ò	(Ð	(Ð	(Ð	(Ý	�t dÐ	+Ñ	+Ô	+¨xÒ	7Ð	7Ð	7Ð	7Ð	7Ð	7r   c                  ó<   — ddl m}  t          | ¦  «        dk    sJ ‚d S )Nr   ©Úsinzfrom math import sin
)Úmathr:   r   r9   s    r   Útest_importedr<   J   s4   € ØÐÐÐÐÐÝ	�sÑ	Ô	Ð7Ò	7Ð	7Ð	7Ð	7Ð	7Ð	7r   c                  óŽ   — t          t          ¦  «        dt          z  k    sJ ‚t          t          ¦  «        dt          z  k    sJ ‚d S )Núfrom %s import add
úfrom %s import squared
)r   r#   r   Úsquaredr   r   r   Útest_dynamicrA   O   sF   € Ý	•sÑ	Ô	Ð5½Ñ@Ò	@Ð	@Ð	@Ð	@å	•wÑ	Ô	Ð#=ÅÑ#HÒ	HÐ	HÐ	HÐ	HÐ	HÐ	Hr   c                  óF  — ddl m}  d}t          st          j        t
          k    r|nd} | ¦   «         }t          | ¦  «        |k    sJ ‚t          |¦  «        |k    sJ ‚t          t          ¦  «        dt          z  k    sJ ‚t          t          ¦  «        dt          z  k    sJ ‚d S )Nr   )ÚBytesIOzfrom _io import BytesIO
zfrom io import BytesIO
úfrom %s import Foo
)
ÚiorC   r   ÚsysÚ
hexversionÚPY310br   r   r   Ú_foo)ÚStringIOr"   r   Úss       r   Útest_classesrL   U   sµ   € Ø$Ð$Ð$Ð$Ð$Ð$Ø!€!ÝÐP•s”~­Ò/Ð/€a€aÐ6P€!Ø€h�j„j€!å	�xÑ	 Ô	  AÒ	%Ð	%Ð	%Ð	%Ý	�qÑ	Ô	˜QÒ	Ð	Ð	Ð	å	•sÑ	Ô	Ð5½Ñ@Ò	@Ð	@Ð	@Ð	@Ý	•tÑ	Ô	Ð 6½Ñ AÒ	AÐ	AÐ	AÐ	AÐ	AÐ	Ar   c                  óø  — t          t          ¦  «        dt          z  k    sJ ‚t          t          ¦  «        dt          z  k    sJ ‚t          t          ¦  «        dt          z  k    sJ ‚t          t          j        ¦  «        dt          z  k    sJ ‚t          t          j        ¦  «        dt          z  k    sJ ‚t          d ¦  «        dk    sJ ‚t          d¦  «        dk    sJ ‚t          t          d¬	¦  «        d
k    sJ ‚t          t          d¬	¦  «        dk    sJ ‚t          d d¬	¦  «        dk    sJ ‚t          t          d¬	¦  «        dk    sJ ‚t          t          d¬	¦  «        dk    sJ ‚t          t          j        d¬	¦  «        dk    sJ ‚t          t          j        d¬	¦  «        dt          z  k    sJ ‚t          t          j        dd¬¦  «        dt          z  k    sJ ‚t          t          dd¬¦  «        dt          z  k    sJ ‚t          t          dd¬¦  «        dt          z  k    sJ ‚t          t          dd¬¦  «        dk    sJ ‚t          t          dd¬¦  «        dk    sJ ‚t          d dd¬¦  «        dk    sJ ‚t          ddd¬¦  «        dk    sJ ‚t          t          d¬¦  «        dt          z  k    sJ ‚t          t          d¬¦  «        dt          z  k    sJ ‚t          t          d¬¦  «        dt          z  k    sJ ‚t          t          j        d¬¦  «        dt          z  k    sJ ‚t          t          j        d¬¦  «        dt          z  k    sJ ‚t          d d¬¦  «        dk    sJ ‚t          dd¬¦  «        dk    sJ ‚d S )Nr>   r?   rD   zfrom %s import bar
r5   r1   r2   F©Úbynamezdef add(x,y):
  return x+y
zsquared = lambda x:x**2
r+   r,   z!def bar(self, x):
  return x*x+x
TÚmemo)ÚaliasrO   zfrom %s import bar as memo
zfrom %s import Foo as memo
zfrom %s import squared as memo
zmemo = squared = lambda x:x**2
z'def add(x,y):
  return x+y

memo = add
zmemo = None
zmemo = 100
r3   )r   r#   r   r@   r   r   rI   r&   r   r   r   Útest_importablerR   c   s§  € Ý	•sÑ	Ô	Ð5½Ñ@Ò	@Ð	@Ð	@Ð	@Ý	•wÑ	Ô	Ð#=ÅÑ#HÒ	HÐ	HÐ	HÐ	HÝ	•sÑ	Ô	Ð5½Ñ@Ò	@Ð	@Ð	@Ð	@Ý	•s”wÑ	Ô	Ð#9½HÑ#DÒ	DÐ	DÐ	DÐ	DÝ	•t”xÑ	 Ô	 Ð$:½XÑ$EÒ	EÐ	EÐ	EÐ	EÝ	�tÑ	Ô	 Ò	(Ð	(Ð	(Ð	(Ý	�sÑ	Ô	˜wÒ	&Ð	&Ð	&Ð	&å	•s 5Ð	)Ñ	)Ô	)Ð-LÒ	LÐ	LÐ	LÐ	LÝ	•w uÐ	-Ñ	-Ô	-Ð1LÒ	LÐ	LÐ	LÐ	LÝ	�t EÐ	*Ñ	*Ô	*¨hÒ	6Ð	6Ð	6Ð	6Ý	•s 5Ð	)Ñ	)Ô	)Ð-CÒ	CÐ	CÐ	CÐ	CÝ	•s 5Ð	)Ñ	)Ô	)Ð-jÒ	jÐ	jÐ	jÐ	jÝ	•s”w uÐ	-Ñ	-Ô	-Ð1VÒ	VÐ	VÐ	VÐ	VÝ	•s”w tÐ	,Ñ	,Ô	,Ð0FÍÑ0QÒ	QÐ	QÐ	QÐ	QÝ	•s”w f°TÐ	:Ñ	:Ô	:Ð>\Õ_gÑ>gÒ	gÐ	gÐ	gÐ	gÝ	•s &°Ð	6Ñ	6Ô	6Ð:XÕ[cÑ:cÒ	cÐ	cÐ	cÐ	cÝ	•w f°TÐ	:Ñ	:Ô	:Ð>`ÕckÑ>kÒ	kÐ	kÐ	kÐ	kÝ	•w f°UÐ	;Ñ	;Ô	;Ð?aÒ	aÐ	aÐ	aÐ	aÝ	•s &°Ð	7Ñ	7Ô	7Ð;hÒ	hÐ	hÐ	hÐ	hÝ	�t 6°%Ð	8Ñ	8Ô	8¸OÒ	KÐ	KÐ	KÐ	KÝ	�s &°Ð	7Ñ	7Ô	7¸>Ò	IÐ	IÐ	IÐ	IÝ	•s TÐ	*Ñ	*Ô	*Ð.DÅxÑ.OÒ	OÐ	OÐ	OÐ	OÝ	•w¨Ð	.Ñ	.Ô	.Ð2LÍxÑ2WÒ	WÐ	WÐ	WÐ	WÝ	•s TÐ	*Ñ	*Ô	*Ð.DÅxÑ.OÒ	OÐ	OÐ	OÐ	OÝ	•s”w¨Ð	.Ñ	.Ô	.Ð2HÍ8Ñ2SÒ	SÐ	SÐ	SÐ	SÝ	•t”x¨$Ð	/Ñ	/Ô	/Ð3IÍHÑ3TÒ	TÐ	TÐ	TÐ	TÝ	�t dÐ	+Ñ	+Ô	+¨xÒ	7Ð	7Ð	7Ð	7Ý	�s TÐ	*Ñ	*Ô	*¨gÒ	5Ð	5Ð	5Ð	5Ð	5Ð	5r   c                  ó   — 	 ddl m}   | g d¢¦  «        }t          |¦  «        dk    sJ ‚t          | ¦  «        d| j        z  k    sJ ‚t          |d¬¦  «        dk    sJ ‚t          | d¬¦  «        d| j        z  k    sJ ‚d S # t          $ r Y d S w xY w)Nr   )Úarray)é   r   é   z)from numpy import array
array([1, 2, 3])
zfrom %s import array
FrN   )ÚnumpyrT   r   r   ÚImportError)rT   r   s     r   Ú
test_numpyrY   ƒ   sË   € ðØÐÐÐÐÐØˆˆgˆgˆg‰Œ€AÝ˜ÑÔÐLÒLÐLÐLÐLÝ˜ÑÔÐ#;¸eÔ>NÑ#NÒNÐNÐNÐNÝ˜ 5Ð)Ñ)Ô)Ð-ZÒZÐZÐZÐZÝ˜ uÐ-Ñ-Ô-Ð1IÈEÔL\Ñ1\Ò\Ð\Ð\Ð\Ð\Ð\øÝ	ÐÐÐ�d�d�dÐøøøs   ‚A;A? Á?
BÂBc                  ó\   — t          t          d¬¦  «                             d¦  «        sJ ‚d S )NFrN   zOimport dill
class Foo(object):
  def bar(self, x):
    return x*x+x
dill.loads()r   rI   Ú
startswithr   r   r   Útest_foor\   Ž   sH   € Ý	•t EÐ	*Ñ	*Ô	*×	5Ò	5ð  7Lñ  
Mô  
Mð  Mð  Mð  Mð  Mð  Mr   Ú__main__)Údill.sourcer   r   r   r   r   Ú
dill._dillr   rF   rH   r   r   r   Úobjectr   rI   r#   r@   r&   Ú_barr-   r/   r7   r<   rA   rL   rR   rY   r\   r   r   r   r   ú<module>rb      s  ðð AÐ @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ø %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ð Ð à 
€
€
€
Ø	€à€N€Ø Ð Ð ðð ð ðð ð ð ð ˆ&ñ ô ð ð €s�u„u€ðð ð ð ˆ-€ðð ð ð ð ñ ô ð à
€s�u„u€ðYð Yð Yð$Qð Qð Qð	8ð 	8ð 	8ð8ð 8ð 8ð
Ið Ið Ið
Bð 
Bð 
Bð6ð 6ð 6ð@ð ð ðMð Mð Mð ˆzÒÐØ€NÑÔÐØ€K�M„M€MØ€L�N„N€NØ€M�O„O€OØ€L�N„N€NØ€L�N„N€NØ€OÑÔÐØ€J�L„L€LØ€H�J„J€J€J€Jð Ðr   