§
    ù²Åjdþ  ã                   óì
  — U d dl Z d dlmZ d dlmZ d dlmZmZmZm	Z	m
Z
mZ d dlZd dlmZmZ ddlmZmZ ddlmZmZ dd	lmZ d
dlmZmZmZ d
dlmZ d
dlmZmZm Z  g d¢Z! G d„ de¦  «        Z" G d„ dej#        ¦  «        Z$ G d„ dej%        ¦  «        Z& G d„ dej#        ¦  «        Z' G d„ d¦  «        Z( G d„ dej%        ¦  «        Z)de(de
e         de*dede)f
d „Z+d!ed"œZ,ee-ef         e.d#<   i e,¥d$d%d&œ¥Z/ G d'„ d(e¦  «        Z0 G d)„ d*e¦  «        Z1 G d+„ d,e¦  «        Z2 G d-„ d.e¦  «        Z3 G d/„ d0e¦  «        Z4 G d1„ d2e¦  «        Z5 G d3„ d4e¦  «        Z6 G d5„ d6e¦  «        Z7 G d7„ d8e¦  «        Z8 G d9„ d:e¦  «        Z9 G d;„ d<e¦  «        Z: G d=„ d>e¦  «        Z; G d?„ d@e¦  «        Z< G dA„ dBe¦  «        Z= G dC„ dDe¦  «        Z> e¦   «          e dEe0j?        f¬F¦  «        ddGdHœde
e0         de*dede)fdI„¦   «         ¦   «         Z@ e¦   «          e dEe1j?        f¬F¦  «        ddGdHœde
e1         de*dede)fdJ„¦   «         ¦   «         ZA e¦   «          e dEe2j?        f¬F¦  «        ddGdHœde
e2         de*dede)fdK„¦   «         ¦   «         ZB e¦   «          e dEe3j?        f¬F¦  «        ddGdHœde
e3         de*dede)fdL„¦   «         ¦   «         ZC e¦   «          e dEe4j?        f¬F¦  «        ddGdHœde
e4         de*dede)fdM„¦   «         ¦   «         ZD e¦   «          e dEe5j?        f¬F¦  «        ddGdHœde
e5         de*dede)fdN„¦   «         ¦   «         ZE e¦   «          e dEe6j?        f¬F¦  «        ddGdHœde
e6         de*dede)fdO„¦   «         ¦   «         ZF e¦   «          e dP¬F¦  «        ddGdHœde
e7         de*dede)fdQ„¦   «         ¦   «         ZG e¦   «          e dEe8j?        f¬F¦  «        ddGdHœde
e8         de*dede)fdR„¦   «         ¦   «         ZH e¦   «          e dEe9j?        f¬F¦  «        ddGdHœde
e9         de*dede)fdS„¦   «         ¦   «         ZI e¦   «          e dEe:j?        f¬F¦  «        ddGdHœde
e:         de*dede)fdT„¦   «         ¦   «         ZJ e¦   «          e dEe;j?        f¬F¦  «        ddGdHœde
e;         de*dede)fdU„¦   «         ¦   «         ZK e¦   «          e dEe<j?        f¬F¦  «        ddGdHœde
e<         de*dede)fdV„¦   «         ¦   «         ZL e¦   «          e dEe=j?        f¬F¦  «        ddGdHœde
e=         de*dede)fdW„¦   «         ¦   «         ZM e¦   «          e dEe>j?        f¬F¦  «        ddGdHœde
e>         de*dede)fdX„¦   «         ¦   «         ZNdS )Yé    N)ÚOrderedDict)Úpartial)ÚAnyÚCallableÚDictÚListÚOptionalÚTuple)ÚnnÚTensoré   )ÚConv2dNormActivationÚSqueezeExcitation)ÚImageClassificationÚInterpolationMode)Ú_log_api_usage_onceé   )Úregister_modelÚWeightsÚWeightsEnum)Ú_IMAGENET_CATEGORIES)Ú_make_divisibleÚ_ovewrite_named_paramÚhandle_legacy_interface)ÚRegNetÚRegNet_Y_400MF_WeightsÚRegNet_Y_800MF_WeightsÚRegNet_Y_1_6GF_WeightsÚRegNet_Y_3_2GF_WeightsÚRegNet_Y_8GF_WeightsÚRegNet_Y_16GF_WeightsÚRegNet_Y_32GF_WeightsÚRegNet_Y_128GF_WeightsÚRegNet_X_400MF_WeightsÚRegNet_X_800MF_WeightsÚRegNet_X_1_6GF_WeightsÚRegNet_X_3_2GF_WeightsÚRegNet_X_8GF_WeightsÚRegNet_X_16GF_WeightsÚRegNet_X_32GF_WeightsÚregnet_y_400mfÚregnet_y_800mfÚregnet_y_1_6gfÚregnet_y_3_2gfÚregnet_y_8gfÚregnet_y_16gfÚregnet_y_32gfÚregnet_y_128gfÚregnet_x_400mfÚregnet_x_800mfÚregnet_x_1_6gfÚregnet_x_3_2gfÚregnet_x_8gfÚregnet_x_16gfÚregnet_x_32gfc            
       ól   ‡ — e Zd ZdZdedededej        f         dedej        f         ddf
ˆ fd	„Zˆ xZ	S )
ÚSimpleStemINz(Simple stem for ImageNet: 3x3, BN, ReLU.Úwidth_inÚ	width_outÚ
norm_layer.Úactivation_layerÚreturnNc                 óV   •— t          ¦   «                              ||dd||¬¦  «         d S )Né   r   ©Úkernel_sizeÚstrider>   r?   )ÚsuperÚ__init__)Úselfr<   r=   r>   r?   Ú	__class__s        €úJC:\Projects\Historical\venv\Lib\site-packages\torchvision/models/regnet.pyrG   zSimpleStemIN.__init__7   s>   ø€ õ 	‰Œ×ÒØ�i¨Q°qÀZÐbrð 	ñ 	
ô 	
ð 	
ð 	
ð 	
ó    )
Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úintr   r   ÚModulerG   Ú__classcell__©rI   s   @rJ   r;   r;   4   s‰   ø€ € € € € Ø2Ð2ð	
àð	
ð ð	
ð ˜S "¤)˜^Ô,ð		
ð
 # 3¨¬	 >Ô2ð	
ð 
ð	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
rK   r;   c                   óˆ   ‡ — e Zd ZdZdededededej        f         dedej        f         ded	ed
e	e         ddfˆ fd„Z
ˆ xZS )ÚBottleneckTransformz/Bottleneck transformation: 1x1, 3x3 [+SE], 1x1.r<   r=   rE   r>   .r?   Úgroup_widthÚbottleneck_multiplierÚse_ratior@   Nc	           	      ó¬  •— t          ¦   «         }	t          t          ||z  ¦  «        ¦  «        }
|
|z  }t          ||
dd||¬¦  «        |	d<   t          |
|
d||||¬¦  «        |	d<   |r4t          t          ||z  ¦  «        ¦  «        }t	          |
||¬¦  «        |	d<   t          |
|dd|d ¬¦  «        |	d	<   t          ¦   «                              |	¦  «         d S )
Nr   rC   ÚarB   )rD   rE   Úgroupsr>   r?   Úb)Úinput_channelsÚsqueeze_channelsÚ
activationÚseÚc)r   rP   Úroundr   r   rF   rG   )rH   r<   r=   rE   r>   r?   rV   rW   rX   ÚlayersÚw_bÚgÚwidth_se_outrI   s                €rJ   rG   zBottleneckTransform.__init__F   s  ø€ õ /:©m¬mˆÝ•%˜	Ð$9Ñ9Ñ:Ô:Ñ;Ô;ˆØ�;Ñˆå*Ø�c q°¸zÐ\lð
ñ 
ô 
ˆˆs‰õ +Ø� !¨F¸1ÈÐfvð
ñ 
ô 
ˆˆs‰ð ð 	õ �u X°Ñ%8Ñ9Ô9Ñ:Ô:ˆLÝ,Ø"Ø!-Ø+ðñ ô ˆF�4‰Lõ +Ø�¨°!À
Ð]að
ñ 
ô 
ˆˆs‰õ 	‰Œ×Ò˜Ñ Ô Ð Ð Ð rK   ©rL   rM   rN   rO   rP   r   r   rQ   Úfloatr	   rG   rR   rS   s   @rJ   rU   rU   C   sµ   ø€ € € € € Ø9Ð9ð#!àð#!ð ð#!ð ð	#!ð
 ˜S "¤)˜^Ô,ð#!ð # 3¨¬	 >Ô2ð#!ð ð#!ð  %ð#!ð ˜5”/ð#!ð 
ð#!ð #!ð #!ð #!ð #!ð #!ð #!ð #!ð #!ð #!rK   rU   c                   ó    ‡ — e Zd ZdZ	 	 	 ddedededed	ej        f         d
ed	ej        f         dedede	e         ddfˆ fd„Z
dedefd„Zˆ xZS )ÚResBottleneckBlockz>Residual bottleneck block: x + F(x), F = bottleneck transform.r   ç      ð?Nr<   r=   rE   r>   .r?   rV   rW   rX   r@   c	           
      óþ   •— t          ¦   «                              ¦   «          d | _        ||k    p|dk    }	|	rt          ||d||d ¬¦  «        | _        t	          ||||||||¦  «        | _         |d¬¦  «        | _        d S )Nr   rC   T)Úinplace)rF   rG   Úprojr   rU   Úfr_   )rH   r<   r=   rE   r>   r?   rV   rW   rX   Úshould_projrI   s             €rJ   rG   zResBottleneckBlock.__init__o   s©   ø€ õ 	‰Œ×ÒÑÔÐð ˆŒ	Ø 9Ò,Ð>°&¸A²+ˆØð 	Ý,Ø˜)°¸6ÈjÐkoðñ ô ˆDŒIõ %ØØØØØØØ!Øñ	
ô 	
ˆŒð +Ð*°4Ð8Ñ8Ô8ˆŒˆˆrK   Úxc                 óÂ   — | j         �,|                       |¦  «        |                      |¦  «        z   }n||                      |¦  «        z   }|                      |¦  «        S ©N)rn   ro   r_   ©rH   rq   s     rJ   ÚforwardzResBottleneckBlock.forward�   sO   € ØŒ9Ð Ø—	’	˜!‘”˜tŸvšv a™yœyÑ(ˆAˆAà�D—F’F˜1‘I”I‘ˆAØ�Š˜qÑ!Ô!Ð!rK   )r   rk   N)rL   rM   rN   rO   rP   r   r   rQ   rh   r	   rG   r   ru   rR   rS   s   @rJ   rj   rj   l   sè   ø€ € € € € ØHÐHð Ø'*Ø$(ð9ð 9àð9ð ð9ð ð	9ð
 ˜S "¤)˜^Ô,ð9ð # 3¨¬	 >Ô2ð9ð ð9ð  %ð9ð ˜5”/ð9ð 
ð9ð 9ð 9ð 9ð 9ð 9ð@"˜ð " Fð "ð "ð "ð "ð "ð "ð "ð "rK   rj   c                   ó´   ‡ — e Zd ZdZ	 	 ddededededed	ej        f         d
ed	ej        f         ded	ej        f         dedede	e         deddfˆ fd„Z
ˆ xZS )ÚAnyStagez;AnyNet stage (sequence of blocks w/ the same output shape).Nr   r<   r=   rE   ÚdepthÚblock_constructor.r>   r?   rV   rW   rX   Ústage_indexr@   c                 óè   •— t          ¦   «                              ¦   «          t          |¦  «        D ]@} ||dk    r|n|||dk    r|nd||||	|
¦  «        }|                      d|› d|› �|¦  «         ŒAd S )Nr   r   Úblockú-)rF   rG   ÚrangeÚ
add_module)rH   r<   r=   rE   rx   ry   r>   r?   rV   rW   rX   rz   Úir|   rI   s                 €rJ   rG   zAnyStage.__init__š   s¦   ø€ õ 	‰Œ×ÒÑÔÐå�u‘”ð 	>ð 	>ˆAØ%Ð%Ø šF˜F��¨	ØØ˜qš&˜&�� aØØ ØØ%Øñ	ô 	ˆEð �OŠOÐ5 KÐ5Ð5°!Ð5Ð5°uÑ=Ô=Ð=Ð=ð	>ð 	>rK   )Nr   rg   rS   s   @rJ   rw   rw   —   së   ø€ € € € € ØEÐEð %)Øð>ð >àð>ð ð>ð ð	>ð
 ð>ð $ C¨¬ NÔ3ð>ð ˜S "¤)˜^Ô,ð>ð # 3¨¬	 >Ô2ð>ð ð>ð  %ð>ð ˜5”/ð>ð ð>ð 
ð>ð >ð >ð >ð >ð >ð >ð >ð >ð >rK   rw   c                   óF  — e Zd Z	 ddee         dee         dee         dee         dee         dee         ddfd	„Ze	 	 ddededededededee         de	dd fd„¦   «         Z
d„ Zedee         dee         dee         deee         ee         f         fd„¦   «         ZdS )ÚBlockParamsNÚdepthsÚwidthsÚgroup_widthsÚbottleneck_multipliersÚstridesrX   r@   c                 óZ   — || _         || _        || _        || _        || _        || _        d S rs   ©rƒ   r„   r…   r†   r‡   rX   )rH   rƒ   r„   r…   r†   r‡   rX   s          rJ   rG   zBlockParams.__init__º   s4   € ð ˆŒØˆŒØ(ˆÔØ&<ˆÔ#ØˆŒØ ˆŒˆˆrK   rk   rx   Úw_0Úw_aÚw_mrV   rW   Úkwargsc           	      óê  — d}	d}
|dk     s|dk    s|dk    s	|dz  dk    rt          d¦  «        ‚t          j        |¦  «        |z  |z   }t          j        t          j        ||z  ¦  «        t          j        |¦  «        z  ¦  «        }t          j        t          j        |t          j        ||¦  «        z  |	¦  «        ¦  «        |	z                       ¦   «          	                    ¦   «         }t          t          |¦  «        ¦  «        }t          |dgz   dg|z   |dgz   dg|z   ¦  «        }d„ |D ¦   «         }d„ t          ||dd	…         ¦  «        D ¦   «         }t          j        t          j        d
„ t          |¦  «        D ¦   «         ¦  «        ¦  «                             ¦   «          	                    ¦   «         }|
g|z  }|g|z  }|g|z  }|                      |||¦  «        \  }} | ||||||¬¦  «        S )a)  
        Programmatically compute all the per-block settings,
        given the RegNet parameters.

        The first step is to compute the quantized linear block parameters,
        in log space. Key parameters are:
        - `w_a` is the width progression slope
        - `w_0` is the initial width
        - `w_m` is the width stepping in the log space

        In other terms
        `log(block_width) = log(w_0) + w_m * block_capacity`,
        with `bock_capacity` ramping up following the w_0 and w_a params.
        This block width is finally quantized to multiples of 8.

        The second step is to compute the parameters per stage,
        taking into account the skip connection and the final 1x1 convolutions.
        We use the fact that the output width is constant within a stage.
        é   r   r   r   zInvalid RegNet settingsc                 ó0   — g | ]\  }}}}||k    p||k    ‘ŒS © r‘   )Ú.0ÚwÚwpÚrÚrps        rJ   ú
<listcomp>z0BlockParams.from_init_params.<locals>.<listcomp>ü   s-   € ÐFÐFÐF©¨¨B°°2�!�r’'Ð$˜Q "šWÐFÐFÐFrK   c                 ó   — g | ]	\  }}|¯|‘Œ
S r‘   r‘   )r’   r“   Úts      rJ   r—   z0BlockParams.from_init_params.<locals>.<listcomp>þ   s!   € ÐJÐJÐJ™d˜a ÈÐJ˜ÐJÐJÐJrK   Néÿÿÿÿc                 ó   — g | ]	\  }}|¯|‘Œ
S r‘   r‘   )r’   Údr™   s      rJ   r—   z0BlockParams.from_init_params.<locals>.<listcomp>ÿ   s"   € Ð/UÐ/UÐ/U±d°a¸ÐSTÐ/U°Ð/UÐ/UÐ/UrK   r‰   )Ú
ValueErrorÚtorchÚarangerb   ÚlogÚmathÚdivideÚpowrP   ÚtolistÚlenÚsetÚzipÚdiffÚtensorÚ	enumerateÚ"_adjust_widths_groups_compatibilty)Úclsrx   rŠ   r‹   rŒ   rV   rW   rX   r�   ÚQUANTÚSTRIDEÚwidths_contÚblock_capacityÚblock_widthsÚ
num_stagesÚsplit_helperÚsplitsÚstage_widthsÚstage_depthsr‡   r†   r…   s                         rJ   Úfrom_init_paramszBlockParams.from_init_paramsÊ   s  € ð@ ˆØˆà�Š7ˆ7�c˜Q’h�h #¨¢( (¨c°A©g¸ªl¨lÝÐ6Ñ7Ô7Ð7å”l 5Ñ)Ô)¨CÑ/°#Ñ5ˆÝœ¥U¤Y¨{¸SÑ/@Ñ%AÔ%AÅDÄHÈSÁMÄMÑ%QÑRÔRˆÝœ¥E¤L°µu´yÀÀnÑ7UÔ7UÑ1UÐW\Ñ$]Ô$]Ñ^Ô^ÐafÑf×kÒkÑmÔm×tÒtÑvÔvˆÝ�˜\Ñ*Ô*Ñ+Ô+ˆ
õ Ø˜A˜3ÑØˆC�,ÑØ˜A˜3ÑØˆC�,Ññ	
ô 
ˆð GÐF¸ÐFÑFÔFˆàJÐJ¥c¨,¸¸sÀ¸s¼Ñ&DÔ&DÐJÑJÔJˆÝ”z¥%¤,Ð/UÐ/U½iÈÑ>OÔ>OÐ/UÑ/UÔ/UÑ"VÔ"VÑWÔW×[Ò[Ñ]Ô]×dÒdÑfÔfˆà�(˜ZÑ'ˆØ"7Ð!8¸:Ñ!EÐØ#�} zÑ1ˆð &)×%KÒ%KØÐ0°,ñ&
ô &
Ñ"ˆ�lð ˆsØØØ%Ø#9ØØð
ñ 
ô 
ð 	
rK   c                 óZ   — t          | j        | j        | j        | j        | j        ¦  «        S rs   )r§   r„   r‡   rƒ   r…   r†   )rH   s    rJ   Ú_get_expanded_paramsz BlockParams._get_expanded_params  s$   € Ý�4”; ¤¨d¬k¸4Ô;LÈdÔNiÑjÔjÐjrK   rµ   Úbottleneck_ratiosc                 óÚ   — d„ t          | |¦  «        D ¦   «         }d„ t          ||¦  «        D ¦   «         }d„ t          ||¦  «        D ¦   «         }d„ t          ||¦  «        D ¦   «         } | |fS )zl
        Adjusts the compatibility of widths and groups,
        depending on the bottleneck ratio.
        c                 ó8   — g | ]\  }}t          ||z  ¦  «        ‘ŒS r‘   ©rP   )r’   r“   r\   s      rJ   r—   zBBlockParams._adjust_widths_groups_compatibilty.<locals>.<listcomp>  s&   € ÐNÐNÐN¡  A•#�a˜!‘e‘*”*ÐNÐNÐNrK   c                 ó4   — g | ]\  }}t          ||¦  «        ‘ŒS r‘   )Úmin)r’   re   Úw_bots      rJ   r—   zBBlockParams._adjust_widths_groups_compatibilty.<locals>.<listcomp>   s$   € ÐTÐTÐT©h¨a°�C  5™MœMÐTÐTÐTrK   c                 ó4   — g | ]\  }}t          ||¦  «        ‘ŒS r‘   )r   )r’   rÀ   re   s      rJ   r—   zBBlockParams._adjust_widths_groups_compatibilty.<locals>.<listcomp>#  s&   € ÐZÐZÐZ±°°q•/ %¨Ñ+Ô+ÐZÐZÐZrK   c                 ó8   — g | ]\  }}t          ||z  ¦  «        ‘ŒS r‘   r½   )r’   rÀ   r\   s      rJ   r—   zBBlockParams._adjust_widths_groups_compatibilty.<locals>.<listcomp>$  s&   € ÐVÐVÐV©8¨5°!�˜E A™I™œÐVÐVÐVrK   )r§   )rµ   rº   r…   r„   Úgroup_widths_minÚws_bots         rJ   r«   z.BlockParams._adjust_widths_groups_compatibilty  sŒ   € ð OÐN­¨\Ð;LÑ)MÔ)MÐNÑNÔNˆØTÐT½#¸lÈFÑ:SÔ:SÐTÑTÔTÐð [ÐZ½CÀÐHXÑ<YÔ<YÐZÑZÔZˆØVÐVµs¸6ÐCTÑ7UÔ7UÐVÑVÔVˆØÐ-Ð-Ð-rK   rs   )rk   N)rL   rM   rN   r   rP   rh   r	   rG   Úclassmethodr   r·   r¹   Ústaticmethodr
   r«   r‘   rK   rJ   r‚   r‚   ¹   s—  € € € € € ð %)ð!ð !à�S”	ð!ð �S”	ð!ð ˜3”ið	!ð
 !% U¤ð!ð �c”ð!ð ˜5”/ð!ð 
ð!ð !ð !ð !ð  ð (+Ø$(ðF
ð F
àðF
ð ðF
ð ð	F
ð
 ðF
ð ðF
ð  %ðF
ð ˜5”/ðF
ð ðF
ð 
ðF
ð F
ð F
ñ „[ðF
ðPkð kð kð ð.Ø˜3”ið.Ø48¸´Kð.ØOSÐTWÌyð.à	ˆt�CŒy˜$˜sœ)Ð#Ô	$ð.ð .ð .ñ „\ð.ð .ð .rK   r‚   c                   óö   ‡ — e Zd Z	 	 	 	 	 	 ddedededeedej        f                  d	eedej        f                  d
eedej        f                  deedej        f                  ddfˆ fd„Z	de
de
fd„Zˆ xZS )r   éè  é    NÚblock_paramsÚnum_classesÚ
stem_widthÚ	stem_type.Ú
block_typer>   r_   r@   c                 ó2  •— t          ¦   «                              ¦   «          t          | ¦  «         |€t          }|€t          j        }|€t          }|€t          j        } |d|||¦  «        | _        |}g }	t          | 
                    ¦   «         ¦  «        D ]J\  }
\  }}}}}|	                     d|
dz   › �t          ||||||||||j        |
dz   ¬¦  «        f¦  «         |}ŒKt	          j        t          |	¦  «        ¦  «        | _        t	          j        d¦  «        | _        t	          j        ||¬¦  «        | _        |                      ¦   «         D �]E}t-          |t          j        ¦  «        r`|j        d         |j        d         z  |j        z  }t          j                             |j        dt;          j        d	|z  ¦  «        ¬
¦  «         Œ}t-          |t          j        ¦  «        rIt          j                             |j        ¦  «         t          j                              |j!        ¦  «         Œàt-          |t          j        ¦  «        rKt          j                             |j        dd¬
¦  «         t          j                              |j!        ¦  «         �ŒGd S )NrB   r|   r   )rz   ©r   r   )Úin_featuresÚout_featuresr   g        ç       @)ÚmeanÚstdg{®Gáz„?)"rF   rG   r   r;   r   ÚBatchNorm2drj   ÚReLUÚstemrª   r¹   Úappendrw   rX   Ú
Sequentialr   Útrunk_outputÚAdaptiveAvgPool2dÚavgpoolÚLinearÚfcÚmodulesÚ
isinstanceÚConv2drD   Úout_channelsÚinitÚnormal_Úweightr¡   ÚsqrtÚones_Úzeros_Úbias)rH   rÊ   rË   rÌ   rÍ   rÎ   r>   r_   Úcurrent_widthÚblocksr€   r=   rE   rx   rV   rW   ÚmÚfan_outrI   s                     €rJ   rG   zRegNet.__init__)  s~  ø€ õ 	‰Œ×ÒÑÔÐÝ˜DÑ!Ô!Ð!àÐÝ$ˆIØÐÝœˆJØÐÝ+ˆJØÐÝœˆJð �IØØØØñ	
ô 
ˆŒ	ð #ˆàˆõ �|×8Ò8Ñ:Ô:Ñ;Ô;ð	&ð 	&ñ 
ˆAñ 
ØØØØØ!à�MŠMà!˜A˜a™C�M�MÝØ%Ø!ØØØ"Ø"Ø"Ø#Ø-Ø$Ô-Ø$%¨¡Eðñ ô ðñô ð ð& &ˆMˆMåœM­+°fÑ*=Ô*=Ñ>Ô>ˆÔåÔ+¨FÑ3Ô3ˆŒÝ”)¨ÀKÐPÑPÔPˆŒð —’‘”ð 
	'ñ 
	'ˆAÝ˜!�RœYÑ'Ô'ð 	'àœ-¨Ô*¨Q¬]¸1Ô-=Ñ=ÀÄÑN�Ý”—’ ¤¨s½¼	À#ÈÁ-Ñ8PÔ8P�ÑQÔQÐQÐQÝ˜A�rœ~Ñ.Ô.ð 'Ý”—’˜aœhÑ'Ô'Ð'Ý”—’˜qœvÑ&Ô&Ð&Ð&Ý˜A�rœyÑ)Ô)ð 'Ý”—’ ¤¨s¸�Ñ=Ô=Ð=Ý”—’˜qœvÑ&Ô&Ð&ùð
	'ð 
	'rK   rq   c                 óÚ   — |                       |¦  «        }|                      |¦  «        }|                      |¦  «        }|                     d¬¦  «        }|                      |¦  «        }|S )Nr   )Ú	start_dim)rØ   rÛ   rÝ   Úflattenrß   rt   s     rJ   ru   zRegNet.forwardx  sZ   € Ø�IŠI�a‰LŒLˆØ×Ò˜aÑ Ô ˆà�LŠL˜‰OŒOˆØ�IŠI ˆIÑ"Ô"ˆØ�GŠG�A‰JŒJˆàˆrK   )rÈ   rÉ   NNNN)rL   rM   rN   r‚   rP   r	   r   r   rQ   rG   r   ru   rR   rS   s   @rJ   r   r   (  s  ø€ € € € € ð  ØØ8<Ø9=Ø9=Ø9=ðM'ð M'à!ðM'ð ðM'ð ð	M'ð
 ˜H S¨"¬) ^Ô4Ô5ðM'ð ˜X c¨2¬9 nÔ5Ô6ðM'ð ˜X c¨2¬9 nÔ5Ô6ðM'ð ˜X c¨2¬9 nÔ5Ô6ðM'ð 
ðM'ð M'ð M'ð M'ð M'ð M'ð^˜ð  Fð ð ð ð ð ð ð ð rK   r   rÊ   ÚweightsÚprogressr�   r@   c                 ó2  — |�)t          |dt          |j        d         ¦  «        ¦  «         |                     dt	          t
          j        dd¬¦  «        ¦  «        }t          | fd|i|¤Ž}|�*|                     | 	                    |d¬¦  «        ¦  «         |S )	NrË   Ú
categoriesr>   gñhãˆµøä>gš™™™™™¹?)ÚepsÚmomentumT)ró   Ú
check_hash)
r   r¥   ÚmetaÚpopr   r   rÖ   r   Úload_state_dictÚget_state_dict)rÊ   rò   ró   r�   r>   Úmodels         rJ   Ú_regnetrþ   ƒ  s�   € ð ÐÝ˜f mµS¸¼ÀlÔ9SÑ5TÔ5TÑUÔUÐUà—’˜L­'µ"´.ÀeÐVYÐ*ZÑ*ZÔ*ZÑ[Ô[€JÝ�<ÐAÐA¨JÐA¸&ÐAÐA€EàÐØ×Ò˜g×4Ò4¸hÐSWÐ4ÑXÔXÑYÔYÐYà€LrK   rÐ   )Úmin_sizerõ   Ú_COMMON_METAz(https://github.com/facebookresearch/SWAGz:https://github.com/facebookresearch/SWAG/blob/main/LICENSE)ÚrecipeÚlicensec                   ó¸   — e Zd Z ed eed¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        Z ed eedd¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        ZeZ	dS )r   z?https://download.pytorch.org/models/regnet_y_400mf-c65dace8.pthéà   ©Ú	crop_sizeiPIB úRhttps://github.com/pytorch/vision/tree/main/references/classification#small-modelsúImageNet-1Kgmçû©ñ‚R@gçû©ñÒíV@©zacc@1zacc@5gî|?5^ºÙ?gu“VÎ0@úXThese weights reproduce closely the results of the paper using a simple training recipe.©Ú
num_paramsr  Ú_metricsÚ_opsÚ
_file_sizeÚ_docs©ÚurlÚ
transformsrù   z?https://download.pytorch.org/models/regnet_y_400mf-e6988f5f.pthéè   ©r  Úresize_sizeú8https://github.com/pytorch/vision/issues/3995#new-recipegú~j¼tóR@gsh‘í|/W@á$  
                These weights improve upon the results of the original paper by using a modified version of TorchVision's
                `new training recipe
                <https://pytorch.org/blog/how-to-train-state-of-the-art-models-using-torchvision-latest-primitives/>`_.
            N©
rL   rM   rN   r   r   r   r   ÚIMAGENET1K_V1ÚIMAGENET1K_V2ÚDEFAULTr‘   rK   rJ   r   r   ¡  óý   € € € € € Ø�GØMØ�7Ð.¸#Ð>Ñ>Ô>ð
Øð
à!ØjàØ#Ø#ð ð  ðð Ø Øsð
ð 
ð 
ðñ ô €Mð$ �GØMØ�7Ð.¸#È3ÐOÑOÔOð
Øð
à!ØPàØ#Ø#ð ð  ðð Ø ðð
ð 
ð 
ðñ ô €Mð, €G€G€GrK   r   c                   ó¸   — e Zd Z ed eed¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        Z ed eedd¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        ZeZ	dS )r   z?https://download.pytorch.org/models/regnet_y_800mf-1b27b58c.pthr  r  i 'b r  r  g{®GáS@gbX9´HW@r	  gã¥›Ä °ê?g /Ý$Æ8@r
  r  r  z?https://download.pytorch.org/models/regnet_y_800mf-58fc7688.pthr  r  r  g¢E¶óý´S@gã¥›Ä  W@r  Nr  r‘   rK   rJ   r   r   Í  r  rK   r   c                   ó¸   — e Zd Z ed eed¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        Z ed eedd¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        ZeZ	dS )r   z?https://download.pytorch.org/models/regnet_y_1_6gf-b11a554e.pthr  r  i~ïª r  r  gÍÌÌÌÌ|S@gçû©ñÒ}W@r	  g˜nƒÀÊù?gú~j¼t“E@r
  r  r  z?https://download.pytorch.org/models/regnet_y_1_6gf-0d7bc02a.pthr  r  r  gòÒMb8T@g#Ûù~jÜW@r  Nr  r‘   rK   rJ   r   r   ù  sý   € € € € € Ø�GØMØ�7Ð.¸#Ð>Ñ>Ô>ð
Øð
à"ØjàØ#Ø#ð ð  ðð Ø Øsð
ð 
ð 
ðñ ô €Mð$ �GØMØ�7Ð.¸#È3ÐOÑOÔOð
Øð
à"ØPàØ#Ø#ð ð  ðð Ø ðð
ð 
ð 
ðñ ô €Mð, €G€G€GrK   r   c                   ó¸   — e Zd Z ed eed¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        Z ed eedd¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        ZeZ	dS )r   z?https://download.pytorch.org/models/regnet_y_3_2gf-b5a9779c.pthr  r  i2“(úShttps://github.com/pytorch/vision/tree/main/references/classification#medium-modelsr  gé&1¬¼S@g¾Ÿ/Ý¤W@r	  gœÄ °rh	@g?5^ºI¤R@r
  r  r  z?https://download.pytorch.org/models/regnet_y_3_2gf-9180c971.pthr  r  r  g+‡Ù~T@g‘í|?5þW@r  Nr  r‘   rK   rJ   r   r   %  óý   € € € € € Ø�GØMØ�7Ð.¸#Ð>Ñ>Ô>ð
Øð
à"ØkàØ#Ø#ð ð  ðð Ø Øsð
ð 
ð 
ðñ ô €Mð$ �GØMØ�7Ð.¸#È3ÐOÑOÔOð
Øð
à"ØPàØ#Ø#ð ð  ðð Ø ðð
ð 
ð 
ðñ ô €Mð, €G€G€GrK   r   c                   ó¸   — e Zd Z ed eed¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        Z ed eedd¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        ZeZ	dS )r    z=https://download.pytorch.org/models/regnet_y_8gf-d0d0e4a8.pthr  r  iàéXr!  r  g5^ºIT@gP�—nÃW@r	  gV-ò @gßO�—nÖb@r
  r  r  z=https://download.pytorch.org/models/regnet_y_8gf-dc2b1b54.pthr  r  r  g¢E¶óý´T@g…ëQ¸X@r  Nr  r‘   rK   rJ   r    r    Q  óý   € € € € € Ø�GØKØ�7Ð.¸#Ð>Ñ>Ô>ð
Øð
à"ØkàØ#Ø#ð ð  ðð Ø!Øsð
ð 
ð 
ðñ ô €Mð$ �GØKØ�7Ð.¸#È3ÐOÑOÔOð
Øð
à"ØPàØ#Ø#ð ð  ðð Ø!ðð
ð 
ð 
ðñ ô €Mð, €G€G€GrK   r    c                   óv  — e Zd Z ed eed¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        Z ed eedd¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        Z ed eedde	j
        ¬¦  «        i e¥ddddd	œiddddœ¥¬¦  «        Z ed eedde	j
        ¬¦  «        i e¥dddd d!d	œid
dd"d#œ¥¬¦  «        ZeZd$S )%r!   z>https://download.pytorch.org/models/regnet_y_16gf-9e6ed7dd.pthr  r  iü{ûúRhttps://github.com/pytorch/vision/tree/main/references/classification#large-modelsr  gB`åÐ"T@g�Âõ(\ÏW@r	  gmçû©ñÒ/@g¤p=
×÷s@r
  r  r  z>https://download.pytorch.org/models/regnet_y_16gf-3e4a00f9.pthr  r  r  gbX9´¸T@g¢E¶óýX@r  zChttps://download.pytorch.org/models/regnet_y_16gf_swag-43afe44d.pthé€  ©r  r  ÚinterpolationgTã¥›Ä€U@gú~j¼tƒX@g®Gáz^G@úË
                These weights are learnt via transfer learning by end-to-end fine-tuning the original
                `SWAG <https://arxiv.org/abs/2201.08371>`_ weights on ImageNet-1K data.
            ©r  r  r  r  r  zFhttps://download.pytorch.org/models/regnet_y_16gf_lc_swag-f3ec0043.pthú+https://github.com/pytorch/vision/pull/5793gX9´ÈvþT@gV-²�OX@úã
                These weights are composed of the original frozen `SWAG <https://arxiv.org/abs/2201.08371>`_ trunk
                weights and a linear classifier learnt on top of them trained on ImageNet-1K data.
            ©r  r  r  r  r  r  N©rL   rM   rN   r   r   r   r   r  r  r   ÚBICUBICÚ_COMMON_SWAG_METAÚIMAGENET1K_SWAG_E2E_V1ÚIMAGENET1K_SWAG_LINEAR_V1r  r‘   rK   rJ   r!   r!   }  s  € € € € € Ø�GØLØ�7Ð.¸#Ð>Ñ>Ô>ð
Øð
à"ØjàØ#Ø#ð ð  ðð Ø Øsð
ð 
ð 
ðñ ô €Mð$ �GØLØ�7Ð.¸#È3ÐOÑOÔOð
Øð
à"ØPàØ#Ø#ð ð  ðð Ø ðð
ð 
ð 
ðñ ô €Mð, %˜WØQØ�7Ø¨3¸CÐO`ÔOhð
ñ 
ô 
ð
Øð
à"àØ#Ø#ð ð  ðð Ø ðð
ð 
ð 
ðñ ô Ðð, !( ØTØ�7Ø¨3¸CÐO`ÔOhð
ñ 
ô 
ð
Øð
àCØ"àØ#Ø#ð ð  ðð Ø ðð
ð 
ð 
ð!ñ !ô !Ðð. €G€G€GrK   r!   c                   óv  — e Zd Z ed eed¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        Z ed eedd¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        Z ed eedde	j
        ¬¦  «        i e¥ddddd	œiddddœ¥¬¦  «        Z ed eedde	j
        ¬¦  «        i e¥dddd d!d	œid
dd"d#œ¥¬¦  «        ZeZd$S )%r"   z>https://download.pytorch.org/models/regnet_y_32gf-4dee3f7a.pthr  r  iò<¥r&  r  gÕxé&18T@gö(\�ÂÕW@r	  g¤p=
×#@@gøSã¥›P�@r
  r  r  z>https://download.pytorch.org/models/regnet_y_32gf-8db6d4b5.pthr  r  r  gd;ßO�×T@gZd;ßX@r  zChttps://download.pytorch.org/models/regnet_y_32gf_swag-04fdfa75.pthr'  r(  gƒÀÊ¡µU@gºI+—X@g¾Ÿ/Ý´W@r*  r+  zFhttps://download.pytorch.org/models/regnet_y_32gf_lc_swag-e1583746.pthr,  g+‡ÙÎ'U@g…ëQ¸^X@r-  r.  Nr/  r‘   rK   rJ   r"   r"   Ö  s  € € € € € Ø�GØLØ�7Ð.¸#Ð>Ñ>Ô>ð
Øð
à#ØjàØ#Ø#ð ð  ðð Ø!Øsð
ð 
ð 
ðñ ô €Mð$ �GØLØ�7Ð.¸#È3ÐOÑOÔOð
Øð
à#ØPàØ#Ø#ð ð  ðð Ø!ðð
ð 
ð 
ðñ ô €Mð, %˜WØQØ�7Ø¨3¸CÐO`ÔOhð
ñ 
ô 
ð
Øð
à#àØ#Ø#ð ð  ðð Ø!ðð
ð 
ð 
ðñ ô Ðð, !( ØTØ�7Ø¨3¸CÐO`ÔOhð
ñ 
ô 
ð
Øð
àCØ#àØ#Ø#ð ð  ðð Ø!ðð
ð 
ð 
ð!ñ !ô !Ðð. €G€G€GrK   r"   c                   óÐ   — e Zd Z ed eeddej        ¬¦  «        i e¥dddddœid	d
ddœ¥¬¦  «        Z	 ed eeddej        ¬¦  «        i e¥ddddddœidd
ddœ¥¬¦  «        Z
e	ZdS )r#   zDhttps://download.pytorch.org/models/regnet_y_128gf_swag-c8ce3e52.pthr'  r(  i^o&r  g;ßO�—V@gÏ÷Sã¥«X@r	  g…ëQ¸iw@gã¥›Ä ;£@r*  r+  r  zGhttps://download.pytorch.org/models/regnet_y_128gf_lc_swag-cbe8ce12.pthr  r,  g1¬Z„U@g¼t“vX@gþÔxé&á_@r-  r.  N)rL   rM   rN   r   r   r   r   r0  r1  r2  r3  r  r‘   rK   rJ   r#   r#   /  s  € € € € € Ø$˜WØRØ�7Ø¨3¸CÐO`ÔOhð
ñ 
ô 
ð
Øð
à#àØ#Ø#ð ð  ðð Ø"ðð
ð 
ð 
ðñ ô Ðð, !( ØUØ�7Ø¨3¸CÐO`ÔOhð
ñ 
ô 
ð
Øð
àCØ#àØ#Ø#ð ð  ðð Ø"ðð
ð 
ð 
ð!ñ !ô !Ðð. %€G€G€GrK   r#   c                   ó¸   — e Zd Z ed eed¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        Z ed eedd¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        ZeZ	dS )r$   z?https://download.pytorch.org/models/regnet_x_400mf-adf1edd5.pthr  r  i¨ÜS r  r  gL7‰A`5R@gÍÌÌÌÌ¼V@r	  gåÐ"Ûù~Ú?g5^ºIB5@r
  r  r  z?https://download.pytorch.org/models/regnet_x_400mf-62229a5f.pthr  r  úDhttps://github.com/pytorch/vision/issues/3995#new-recipe-with-fixresgžï§ÆK·R@gøSã¥›W@goƒÀÊA5@r  Nr  r‘   rK   rJ   r$   r$   `  óý   € € € € € Ø�GØMØ�7Ð.¸#Ð>Ñ>Ô>ð
Øð
à!ØjàØ#Ø#ð ð  ðð Ø Øsð
ð 
ð 
ðñ ô €Mð$ �GØMØ�7Ð.¸#È3ÐOÑOÔOð
Øð
à!Ø\àØ#Ø#ð ð  ðð Ø ðð
ð 
ð 
ðñ ô €Mð, €G€G€GrK   r$   c                   ó¸   — e Zd Z ed eed¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        Z ed eedd¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        ZeZ	dS )r%   z?https://download.pytorch.org/models/regnet_x_800mf-ad17e45c.pthr  r  iÆn r  r  g!°rh‘ÍR@gƒÀÊ¡EW@r	  gš™™™™™é?gR¸…ëñ;@r
  r  r  z?https://download.pytorch.org/models/regnet_x_800mf-94a99ebd.pthr  r  r7  gÅ °rhaS@g¾Ÿ/ÝtW@r  Nr  r‘   rK   rJ   r%   r%   Œ  sý   € € € € € Ø�GØMØ�7Ð.¸#Ð>Ñ>Ô>ð
Øð
à!ØjàØ#Ø#ð ð  ðð Ø Øsð
ð 
ð 
ðñ ô €Mð$ �GØMØ�7Ð.¸#È3ÐOÑOÔOð
Øð
à!Ø\àØ#Ø#ð ð  ðð Ø ðð
ð 
ð 
ðñ ô €Mð, €G€G€GrK   r%   c                   ó¸   — e Zd Z ed eed¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        Z ed eedd¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        ZeZ	dS )r&   z?https://download.pytorch.org/models/regnet_x_1_6gf-e3633e7f.pthr  r  iø:Œ r  r  gÃõ(\�BS@g\�Âõ(\W@r	  gÙÎ÷Sã¥ù?g¬Zd«A@r
  r  r  z?https://download.pytorch.org/models/regnet_x_1_6gf-a12f2b72.pthr  r  r7  g˜nƒÀêS@g^ºI»W@r  Nr  r‘   rK   rJ   r&   r&   ¸  r8  rK   r&   c                   ó¸   — e Zd Z ed eed¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        Z ed eedd¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        ZeZ	dS )r'   z?https://download.pytorch.org/models/regnet_x_3_2gf-f342aeae.pthr  r  i(hé r!  r  gžï§ÆK—S@gsh‘í|W@r	  gÑ"Ûù~j	@gTã¥›Ä`M@r
  r  r  z?https://download.pytorch.org/models/regnet_x_3_2gf-7071aa85.pthr  r  r  g�•C‹LT@gìQ¸…ÛW@r  Nr  r‘   rK   rJ   r'   r'   ä  r"  rK   r'   c                   ó¸   — e Zd Z ed eed¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        Z ed eedd¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        ZeZ	dS )r(   z=https://download.pytorch.org/models/regnet_x_8gf-03ceed89.pthr  r  i¨Ô[r!  r  g¼t“ÖS@g–C‹lç«W@r	  g{®Gáú@g;ßO�—îb@r
  r  r  z=https://download.pytorch.org/models/regnet_x_8gf-2b70d774.pthr  r  r  gÏ÷Sã¥kT@g¬ZdëW@r  Nr  r‘   rK   rJ   r(   r(     r$  rK   r(   c                   ó¸   — e Zd Z ed eed¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        Z ed eedd¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        ZeZ	dS )r)   z>https://download.pytorch.org/models/regnet_x_16gf-2007eb11.pthr  r  iˆ9<r!  r  gÁÊ¡E¶T@g#Ûù~j¼W@r	  goƒÀÊá/@gòÒMbôi@r
  r  r  z>https://download.pytorch.org/models/regnet_x_16gf-ba3796d7.pthr  r  r  gçû©ñÒ­T@g�•C‹X@r  Nr  r‘   rK   rJ   r)   r)   <  sý   € € € € € Ø�GØLØ�7Ð.¸#Ð>Ñ>Ô>ð
Øð
à"ØkàØ#Ø#ð ð  ðð Ø!Øsð
ð 
ð 
ðñ ô €Mð$ �GØLØ�7Ð.¸#È3ÐOÑOÔOð
Øð
à"ØPàØ#Ø#ð ð  ðð Ø!ðð
ð 
ð 
ðñ ô €Mð, €G€G€GrK   r)   c                   ó¸   — e Zd Z ed eed¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        Z ed eedd¬¦  «        i e¥dddddd	œid
dddœ¥¬¦  «        ZeZ	dS )r*   z>https://download.pytorch.org/models/regnet_x_32gf-9d47f8d0.pthr  r  ièmr&  r  g+‡ÙÎ'T@gZd;ßÏW@r	  g#Ûù~j¼?@g´Èv¾ŸÀy@r
  r  r  z>https://download.pytorch.org/models/regnet_x_32gf-6eb8fdc6.pthr  r  r  g7‰A`åÀT@gßO�—nX@r  Nr  r‘   rK   rJ   r*   r*   h  sý   € € € € € Ø�GØLØ�7Ð.¸#Ð>Ñ>Ô>ð
Øð
à#ØjàØ#Ø#ð ð  ðð Ø!Øsð
ð 
ð 
ðñ ô €Mð$ �GØLØ�7Ð.¸#È3ÐOÑOÔOð
Øð
à#ØPàØ#Ø#ð ð  ðð Ø!ðð
ð 
ð 
ðñ ô €Mð, €G€G€GrK   r*   Ú
pretrained)rò   T)rò   ró   c           
      ó„   — t                                | ¦  «        } t          j        ddddddddœ|¤Ž}t	          || |fi |¤ŽS )	a   
    Constructs a RegNetY_400MF architecture from
    `Designing Network Design Spaces <https://arxiv.org/abs/2003.13678>`_.

    Args:
        weights (:class:`~torchvision.models.RegNet_Y_400MF_Weights`, optional): The pretrained weights to use.
            See :class:`~torchvision.models.RegNet_Y_400MF_Weights` below for more details and possible values.
            By default, no pretrained weights are used.
        progress (bool, optional): If True, displays a progress bar of the download to stderr. Default is True.
        **kwargs: parameters passed to either ``torchvision.models.regnet.RegNet`` or
            ``torchvision.models.regnet.BlockParams`` class. Please refer to the `source code
            <https://github.com/pytorch/vision/blob/main/torchvision/models/regnet.py>`_
            for more detail about the classes.

    .. autoclass:: torchvision.models.RegNet_Y_400MF_Weights
        :members:
    é   é0   g¤p=
×ã;@g¸…ëQ¸ @r�   ç      Ð?©rx   rŠ   r‹   rŒ   rV   rX   r‘   )r   Úverifyr‚   r·   rþ   ©rò   ró   r�   Úparamss       rJ   r+   r+   ”  sY   € õ( %×+Ò+¨GÑ4Ô4€GåÔ)Ðx°¸ÀÈ4Ð]^ÐimÐxÐxÐqwÐxÐx€FÝ�6˜7 HÐ7Ð7°Ð7Ð7Ð7rK   c           
      ó„   — t                                | ¦  «        } t          j        ddddddddœ|¤Ž}t	          || |fi |¤ŽS )	a   
    Constructs a RegNetY_800MF architecture from
    `Designing Network Design Spaces <https://arxiv.org/abs/2003.13678>`_.

    Args:
        weights (:class:`~torchvision.models.RegNet_Y_800MF_Weights`, optional): The pretrained weights to use.
            See :class:`~torchvision.models.RegNet_Y_800MF_Weights` below for more details and possible values.
            By default, no pretrained weights are used.
        progress (bool, optional): If True, displays a progress bar of the download to stderr. Default is True.
        **kwargs: parameters passed to either ``torchvision.models.regnet.RegNet`` or
            ``torchvision.models.regnet.BlockParams`` class. Please refer to the `source code
            <https://github.com/pytorch/vision/blob/main/torchvision/models/regnet.py>`_
            for more detail about the classes.

    .. autoclass:: torchvision.models.RegNet_Y_800MF_Weights
        :members:
    é   é8   gìQ¸…kC@g333333@rA  rC  rD  r‘   )r   rE  r‚   r·   rþ   rF  s       rJ   r,   r,   ®  sY   € õ( %×+Ò+¨GÑ4Ô4€GåÔ)Ðx°¸ÀÈ3Ð\^ÐimÐxÐxÐqwÐxÐx€FÝ�6˜7 HÐ7Ð7°Ð7Ð7Ð7rK   c           
      ó„   — t                                | ¦  «        } t          j        ddddddddœ|¤Ž}t	          || |fi |¤ŽS )	a   
    Constructs a RegNetY_1.6GF architecture from
    `Designing Network Design Spaces <https://arxiv.org/abs/2003.13678>`_.

    Args:
        weights (:class:`~torchvision.models.RegNet_Y_1_6GF_Weights`, optional): The pretrained weights to use.
            See :class:`~torchvision.models.RegNet_Y_1_6GF_Weights` below for more details and possible values.
            By default, no pretrained weights are used.
        progress (bool, optional): If True, displays a progress bar of the download to stderr. Default is True.
        **kwargs: parameters passed to either ``torchvision.models.regnet.RegNet`` or
            ``torchvision.models.regnet.BlockParams`` class. Please refer to the `source code
            <https://github.com/pytorch/vision/blob/main/torchvision/models/regnet.py>`_
            for more detail about the classes.

    .. autoclass:: torchvision.models.RegNet_Y_1_6GF_Weights
        :members:
    é   rB  gö(\�Âµ4@g333333@é   rC  rD  r‘   )r   rE  r‚   r·   rþ   rF  s       rJ   r-   r-   È  ód   € õ( %×+Ò+¨GÑ4Ô4€GåÔ)ð Ø�b˜e¨¸2Èðð ØPVðð €Fõ �6˜7 HÐ7Ð7°Ð7Ð7Ð7rK   c           
      ó„   — t                                | ¦  «        } t          j        ddddddddœ|¤Ž}t	          || |fi |¤ŽS )	a   
    Constructs a RegNetY_3.2GF architecture from
    `Designing Network Design Spaces <https://arxiv.org/abs/2003.13678>`_.

    Args:
        weights (:class:`~torchvision.models.RegNet_Y_3_2GF_Weights`, optional): The pretrained weights to use.
            See :class:`~torchvision.models.RegNet_Y_3_2GF_Weights` below for more details and possible values.
            By default, no pretrained weights are used.
        progress (bool, optional): If True, displays a progress bar of the download to stderr. Default is True.
        **kwargs: parameters passed to either ``torchvision.models.regnet.RegNet`` or
            ``torchvision.models.regnet.BlockParams`` class. Please refer to the `source code
            <https://github.com/pytorch/vision/blob/main/torchvision/models/regnet.py>`_
            for more detail about the classes.

    .. autoclass:: torchvision.models.RegNet_Y_3_2GF_Weights
        :members:
    é   éP   gq=
×£PE@gHáz®G@rM  rC  rD  r‘   )r   rE  r‚   r·   rþ   rF  s       rJ   r.   r.   ä  rN  rK   c           
      ó„   — t                                | ¦  «        } t          j        ddddddddœ|¤Ž}t	          || |fi |¤ŽS )	a˜  
    Constructs a RegNetY_8GF architecture from
    `Designing Network Design Spaces <https://arxiv.org/abs/2003.13678>`_.

    Args:
        weights (:class:`~torchvision.models.RegNet_Y_8GF_Weights`, optional): The pretrained weights to use.
            See :class:`~torchvision.models.RegNet_Y_8GF_Weights` below for more details and possible values.
            By default, no pretrained weights are used.
        progress (bool, optional): If True, displays a progress bar of the download to stderr. Default is True.
        **kwargs: parameters passed to either ``torchvision.models.regnet.RegNet`` or
            ``torchvision.models.regnet.BlockParams`` class. Please refer to the `source code
            <https://github.com/pytorch/vision/blob/main/torchvision/models/regnet.py>`_
            for more detail about the classes.

    .. autoclass:: torchvision.models.RegNet_Y_8GF_Weights
        :members:
    é   éÀ   g®Gáz4S@g…ëQ¸…@rJ  rC  rD  r‘   )r    rE  r‚   r·   rþ   rF  s       rJ   r/   r/      sd   € õ( #×)Ò)¨'Ñ2Ô2€GåÔ)ð Ø�c˜u¨$¸BÈðð ØQWðð €Fõ �6˜7 HÐ7Ð7°Ð7Ð7Ð7rK   c           
      ó„   — t                                | ¦  «        } t          j        ddddddddœ|¤Ž}t	          || |fi |¤ŽS )	aœ  
    Constructs a RegNetY_16GF architecture from
    `Designing Network Design Spaces <https://arxiv.org/abs/2003.13678>`_.

    Args:
        weights (:class:`~torchvision.models.RegNet_Y_16GF_Weights`, optional): The pretrained weights to use.
            See :class:`~torchvision.models.RegNet_Y_16GF_Weights` below for more details and possible values.
            By default, no pretrained weights are used.
        progress (bool, optional): If True, displays a progress bar of the download to stderr. Default is True.
        **kwargs: parameters passed to either ``torchvision.models.regnet.RegNet`` or
            ``torchvision.models.regnet.BlockParams`` class. Please refer to the `source code
            <https://github.com/pytorch/vision/blob/main/torchvision/models/regnet.py>`_
            for more detail about the classes.

    .. autoclass:: torchvision.models.RegNet_Y_16GF_Weights
        :members:
    é   éÈ   g…ëQ¸ŽZ@g×£p=
×@ép   rC  rD  r‘   )r!   rE  r‚   r·   rþ   rF  s       rJ   r0   r0     ód   € õ( $×*Ò*¨7Ñ3Ô3€GåÔ)ð Ø�c˜v¨4¸SÈ4ðð ØSYðð €Fõ �6˜7 HÐ7Ð7°Ð7Ð7Ð7rK   c           
      ó„   — t                                | ¦  «        } t          j        ddddddddœ|¤Ž}t	          || |fi |¤ŽS )aœ  
    Constructs a RegNetY_32GF architecture from
    `Designing Network Design Spaces <https://arxiv.org/abs/2003.13678>`_.

    Args:
        weights (:class:`~torchvision.models.RegNet_Y_32GF_Weights`, optional): The pretrained weights to use.
            See :class:`~torchvision.models.RegNet_Y_32GF_Weights` below for more details and possible values.
            By default, no pretrained weights are used.
        progress (bool, optional): If True, displays a progress bar of the download to stderr. Default is True.
        **kwargs: parameters passed to either ``torchvision.models.regnet.RegNet`` or
            ``torchvision.models.regnet.BlockParams`` class. Please refer to the `source code
            <https://github.com/pytorch/vision/blob/main/torchvision/models/regnet.py>`_
            for more detail about the classes.

    .. autoclass:: torchvision.models.RegNet_Y_32GF_Weights
        :members:
    é   r  g)\�Âõø\@g=
×£p=@rC  rD  r‘   )r"   rE  r‚   r·   rþ   rF  s       rJ   r1   r1   8  rY  rK   )r?  Nc           
      ó„   — t                                | ¦  «        } t          j        ddddddddœ|¤Ž}t	          || |fi |¤ŽS )	a   
    Constructs a RegNetY_128GF architecture from
    `Designing Network Design Spaces <https://arxiv.org/abs/2003.13678>`_.

    Args:
        weights (:class:`~torchvision.models.RegNet_Y_128GF_Weights`, optional): The pretrained weights to use.
            See :class:`~torchvision.models.RegNet_Y_128GF_Weights` below for more details and possible values.
            By default, no pretrained weights are used.
        progress (bool, optional): If True, displays a progress bar of the download to stderr. Default is True.
        **kwargs: parameters passed to either ``torchvision.models.regnet.RegNet`` or
            ``torchvision.models.regnet.BlockParams`` class. Please refer to the `source code
            <https://github.com/pytorch/vision/blob/main/torchvision/models/regnet.py>`_
            for more detail about the classes.

    .. autoclass:: torchvision.models.RegNet_Y_128GF_Weights
        :members:
    rL  iÈ  gÃõ(\�d@g)\�Âõ(@i  rC  rD  r‘   )r#   rE  r‚   r·   rþ   rF  s       rJ   r2   r2   T  sd   € õ( %×+Ò+¨GÑ4Ô4€GåÔ)ð Ø�c˜v¨4¸SÈ4ðð ØSYðð €Fõ �6˜7 HÐ7Ð7°Ð7Ð7Ð7rK   c           	      ó‚   — t                                | ¦  «        } t          j        dddddddœ|¤Ž}t	          || |fi |¤ŽS )a   
    Constructs a RegNetX_400MF architecture from
    `Designing Network Design Spaces <https://arxiv.org/abs/2003.13678>`_.

    Args:
        weights (:class:`~torchvision.models.RegNet_X_400MF_Weights`, optional): The pretrained weights to use.
            See :class:`~torchvision.models.RegNet_X_400MF_Weights` below for more details and possible values.
            By default, no pretrained weights are used.
        progress (bool, optional): If True, displays a progress bar of the download to stderr. Default is True.
        **kwargs: parameters passed to either ``torchvision.models.regnet.RegNet`` or
            ``torchvision.models.regnet.BlockParams`` class. Please refer to the `source code
            <https://github.com/pytorch/vision/blob/main/torchvision/models/regnet.py>`_
            for more detail about the classes.

    .. autoclass:: torchvision.models.RegNet_X_400MF_Weights
        :members:
    é   rM  g{®Gáz8@gR¸…ëQ@rA  ©rx   rŠ   r‹   rŒ   rV   r‘   )r$   rE  r‚   r·   rþ   rF  s       rJ   r3   r3   p  óV   € õ( %×+Ò+¨GÑ4Ô4€GåÔ)Ðj°¸ÀÈ4Ð]_ÐjÐjÐciÐjÐj€FÝ�6˜7 HÐ7Ð7°Ð7Ð7Ð7rK   c           	      ó‚   — t                                | ¦  «        } t          j        dddddddœ|¤Ž}t	          || |fi |¤ŽS )a   
    Constructs a RegNetX_800MF architecture from
    `Designing Network Design Spaces <https://arxiv.org/abs/2003.13678>`_.

    Args:
        weights (:class:`~torchvision.models.RegNet_X_800MF_Weights`, optional): The pretrained weights to use.
            See :class:`~torchvision.models.RegNet_X_800MF_Weights` below for more details and possible values.
            By default, no pretrained weights are used.
        progress (bool, optional): If True, displays a progress bar of the download to stderr. Default is True.
        **kwargs: parameters passed to either ``torchvision.models.regnet.RegNet`` or
            ``torchvision.models.regnet.BlockParams`` class. Please refer to the `source code
            <https://github.com/pytorch/vision/blob/main/torchvision/models/regnet.py>`_
            for more detail about the classes.

    .. autoclass:: torchvision.models.RegNet_X_800MF_Weights
        :members:
    rA  rJ  g=
×£pÝA@g=
×£p=@r_  r‘   )r%   rE  r‚   r·   rþ   rF  s       rJ   r4   r4   Š  r`  rK   c           	      ó‚   — t                                | ¦  «        } t          j        dddddddœ|¤Ž}t	          || |fi |¤ŽS )a   
    Constructs a RegNetX_1.6GF architecture from
    `Designing Network Design Spaces <https://arxiv.org/abs/2003.13678>`_.

    Args:
        weights (:class:`~torchvision.models.RegNet_X_1_6GF_Weights`, optional): The pretrained weights to use.
            See :class:`~torchvision.models.RegNet_X_1_6GF_Weights` below for more details and possible values.
            By default, no pretrained weights are used.
        progress (bool, optional): If True, displays a progress bar of the download to stderr. Default is True.
        **kwargs: parameters passed to either ``torchvision.models.regnet.RegNet`` or
            ``torchvision.models.regnet.BlockParams`` class. Please refer to the `source code
            <https://github.com/pytorch/vision/blob/main/torchvision/models/regnet.py>`_
            for more detail about the classes.

    .. autoclass:: torchvision.models.RegNet_X_1_6GF_Weights
        :members:
    rV  rQ  gáz®GA@ç      @rM  r_  r‘   )r&   rE  r‚   r·   rþ   rF  s       rJ   r5   r5   ¤  r`  rK   c           	      ó‚   — t                                | ¦  «        } t          j        dddddddœ|¤Ž}t	          || |fi |¤ŽS )a   
    Constructs a RegNetX_3.2GF architecture from
    `Designing Network Design Spaces <https://arxiv.org/abs/2003.13678>`_.

    Args:
        weights (:class:`~torchvision.models.RegNet_X_3_2GF_Weights`, optional): The pretrained weights to use.
            See :class:`~torchvision.models.RegNet_X_3_2GF_Weights` below for more details and possible values.
            By default, no pretrained weights are used.
        progress (bool, optional): If True, displays a progress bar of the download to stderr. Default is True.
        **kwargs: parameters passed to either ``torchvision.models.regnet.RegNet`` or
            ``torchvision.models.regnet.BlockParams`` class. Please refer to the `source code
            <https://github.com/pytorch/vision/blob/main/torchvision/models/regnet.py>`_
            for more detail about the classes.

    .. autoclass:: torchvision.models.RegNet_X_3_2GF_Weights
        :members:
    é   éX   g�Âõ(\O:@rc  rB  r_  r‘   )r'   rE  r‚   r·   rþ   rF  s       rJ   r6   r6   ¾  r`  rK   c           	      ó‚   — t                                | ¦  «        } t          j        dddddddœ|¤Ž}t	          || |fi |¤ŽS )a˜  
    Constructs a RegNetX_8GF architecture from
    `Designing Network Design Spaces <https://arxiv.org/abs/2003.13678>`_.

    Args:
        weights (:class:`~torchvision.models.RegNet_X_8GF_Weights`, optional): The pretrained weights to use.
            See :class:`~torchvision.models.RegNet_X_8GF_Weights` below for more details and possible values.
            By default, no pretrained weights are used.
        progress (bool, optional): If True, displays a progress bar of the download to stderr. Default is True.
        **kwargs: parameters passed to either ``torchvision.models.regnet.RegNet`` or
            ``torchvision.models.regnet.BlockParams`` class. Please refer to the `source code
            <https://github.com/pytorch/vision/blob/main/torchvision/models/regnet.py>`_
            for more detail about the classes.

    .. autoclass:: torchvision.models.RegNet_X_8GF_Weights
        :members:
    é   rQ  gHáz®ÇH@g
×£p=
@éx   r_  r‘   )r(   rE  r‚   r·   rþ   rF  s       rJ   r7   r7   Ø  sV   € õ( #×)Ò)¨'Ñ2Ô2€GåÔ)Ðk°¸ÀÈ4Ð]`ÐkÐkÐdjÐkÐk€FÝ�6˜7 HÐ7Ð7°Ð7Ð7Ð7rK   c           	      ó‚   — t                                | ¦  «        } t          j        dddddddœ|¤Ž}t	          || |fi |¤ŽS )aœ  
    Constructs a RegNetX_16GF architecture from
    `Designing Network Design Spaces <https://arxiv.org/abs/2003.13678>`_.

    Args:
        weights (:class:`~torchvision.models.RegNet_X_16GF_Weights`, optional): The pretrained weights to use.
            See :class:`~torchvision.models.RegNet_X_16GF_Weights` below for more details and possible values.
            By default, no pretrained weights are used.
        progress (bool, optional): If True, displays a progress bar of the download to stderr. Default is True.
        **kwargs: parameters passed to either ``torchvision.models.regnet.RegNet`` or
            ``torchvision.models.regnet.BlockParams`` class. Please refer to the `source code
            <https://github.com/pytorch/vision/blob/main/torchvision/models/regnet.py>`_
            for more detail about the classes.

    .. autoclass:: torchvision.models.RegNet_X_16GF_Weights
        :members:
    r^  éØ   gìQ¸…ËK@gÍÌÌÌÌÌ @é€   r_  r‘   )r)   rE  r‚   r·   rþ   rF  s       rJ   r8   r8   ò  óV   € õ( $×*Ò*¨7Ñ3Ô3€GåÔ)Ðk°¸ÀÈCÐ]`ÐkÐkÐdjÐkÐk€FÝ�6˜7 HÐ7Ð7°Ð7Ð7Ð7rK   c           	      ó‚   — t                                | ¦  «        } t          j        dddddddœ|¤Ž}t	          || |fi |¤ŽS )aœ  
    Constructs a RegNetX_32GF architecture from
    `Designing Network Design Spaces <https://arxiv.org/abs/2003.13678>`_.

    Args:
        weights (:class:`~torchvision.models.RegNet_X_32GF_Weights`, optional): The pretrained weights to use.
            See :class:`~torchvision.models.RegNet_X_32GF_Weights` below for more details and possible values.
            By default, no pretrained weights are used.
        progress (bool, optional): If True, displays a progress bar of the download to stderr. Default is True.
        **kwargs: parameters passed to either ``torchvision.models.regnet.RegNet`` or
            ``torchvision.models.regnet.BlockParams`` class. Please refer to the `source code
            <https://github.com/pytorch/vision/blob/main/torchvision/models/regnet.py>`_
            for more detail about the classes.

    .. autoclass:: torchvision.models.RegNet_X_32GF_Weights
        :members:
    rh  i@  g×£p=
wQ@rÓ   é¨   r_  r‘   )r*   rE  r‚   r·   rþ   rF  s       rJ   r9   r9     rm  rK   )Or¡   Úcollectionsr   Ú	functoolsr   Útypingr   r   r   r   r	   r
   rž   r   r   Úops.miscr   r   Útransforms._presetsr   r   Úutilsr   Ú_apir   r   r   Ú_metar   Ú_utilsr   r   r   Ú__all__r;   rÚ   rU   rQ   rj   rw   r‚   r   Úboolrþ   r   ÚstrÚ__annotations__r1  r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r  r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r‘   rK   rJ   ú<module>r}     sû  ðØ €€€€Ø #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =à €€€Ø Ð Ð Ð Ð Ð Ð Ð à >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ø HÐ HÐ HÐ HÐ HÐ HÐ HÐ HØ 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ Sð ð  ð  €ðF
ð 
ð 
ð 
ð 
Ð'ñ 
ô 
ð 
ð&!ð &!ð &!ð &!ð &!˜"œ-ñ &!ô &!ð &!ðR("ð ("ð ("ð ("ð ("˜œñ ("ô ("ð ("ðV>ð >ð >ð >ð >ˆrŒ}ñ >ô >ð >ðDl.ð l.ð l.ð l.ð l.ñ l.ô l.ð l.ð^Xð Xð Xð Xð XˆRŒYñ Xô Xð XðvØðà�kÔ"ðð ðð ð	ð
 ðð ð ð ð& Ø&ð ð  €ˆd�3˜�8Œnð ð ñ ð
Øðà8ØKðð ð Ð ð)ð )ð )ð )ð )˜[ñ )ô )ð )ðX)ð )ð )ð )ð )˜[ñ )ô )ð )ðX)ð )ð )ð )ð )˜[ñ )ô )ð )ðX)ð )ð )ð )ð )˜[ñ )ô )ð )ðX)ð )ð )ð )ð )˜;ñ )ô )ð )ðXVð Vð Vð Vð V˜Kñ Vô Vð VðrVð Vð Vð Vð V˜Kñ Vô Vð Vðr.%ð .%ð .%ð .%ð .%˜[ñ .%ô .%ð .%ðb)ð )ð )ð )ð )˜[ñ )ô )ð )ðX)ð )ð )ð )ð )˜[ñ )ô )ð )ðX)ð )ð )ð )ð )˜[ñ )ô )ð )ðX)ð )ð )ð )ð )˜[ñ )ô )ð )ðX)ð )ð )ð )ð )˜;ñ )ô )ð )ðX)ð )ð )ð )ð )˜Kñ )ô )ð )ðX)ð )ð )ð )ð )˜Kñ )ô )ð )ðX €ÑÔØÐ ,Ð0FÔ0TÐ!UÐVÑVÔVØBFÐY]ð 8ð 8ð 8˜xÐ(>Ô?ð 8ÐRVð 8Ðilð 8Ðqwð 8ð 8ð 8ñ WÔVñ Ôð8ð0 €ÑÔØÐ ,Ð0FÔ0TÐ!UÐVÑVÔVØBFÐY]ð 8ð 8ð 8˜xÐ(>Ô?ð 8ÐRVð 8Ðilð 8Ðqwð 8ð 8ð 8ñ WÔVñ Ôð8ð0 €ÑÔØÐ ,Ð0FÔ0TÐ!UÐVÑVÔVØBFÐY]ð 8ð 8ð 8˜xÐ(>Ô?ð 8ÐRVð 8Ðilð 8Ðqwð 8ð 8ð 8ñ WÔVñ Ôð8ð4 €ÑÔØÐ ,Ð0FÔ0TÐ!UÐVÑVÔVØBFÐY]ð 8ð 8ð 8˜xÐ(>Ô?ð 8ÐRVð 8Ðilð 8Ðqwð 8ð 8ð 8ñ WÔVñ Ôð8ð4 €ÑÔØÐ ,Ð0DÔ0RÐ!SÐTÑTÔTØ>BÐUYð 8ð 8ð 8˜XÐ&:Ô;ð 8Èdð 8Ðehð 8Ðmsð 8ð 8ð 8ñ UÔTñ Ôð8ð4 €ÑÔØÐ ,Ð0EÔ0SÐ!TÐUÑUÔUØ@DÐW[ð 8ð 8ð 8˜hÐ'<Ô=ð 8ÐPTð 8Ðgjð 8Ðouð 8ð 8ð 8ñ VÔUñ Ôð8ð4 €ÑÔØÐ ,Ð0EÔ0SÐ!TÐUÑUÔUØ@DÐW[ð 8ð 8ð 8˜hÐ'<Ô=ð 8ÐPTð 8Ðgjð 8Ðouð 8ð 8ð 8ñ VÔUñ Ôð8ð4 €ÑÔØÐÐ!5Ð6Ñ6Ô6ØBFÐY]ð 8ð 8ð 8˜xÐ(>Ô?ð 8ÐRVð 8Ðilð 8Ðqwð 8ð 8ð 8ñ 7Ô6ñ Ôð8ð4 €ÑÔØÐ ,Ð0FÔ0TÐ!UÐVÑVÔVØBFÐY]ð 8ð 8ð 8˜xÐ(>Ô?ð 8ÐRVð 8Ðilð 8Ðqwð 8ð 8ð 8ñ WÔVñ Ôð8ð0 €ÑÔØÐ ,Ð0FÔ0TÐ!UÐVÑVÔVØBFÐY]ð 8ð 8ð 8˜xÐ(>Ô?ð 8ÐRVð 8Ðilð 8Ðqwð 8ð 8ð 8ñ WÔVñ Ôð8ð0 €ÑÔØÐ ,Ð0FÔ0TÐ!UÐVÑVÔVØBFÐY]ð 8ð 8ð 8˜xÐ(>Ô?ð 8ÐRVð 8Ðilð 8Ðqwð 8ð 8ð 8ñ WÔVñ Ôð8ð0 €ÑÔØÐ ,Ð0FÔ0TÐ!UÐVÑVÔVØBFÐY]ð 8ð 8ð 8˜xÐ(>Ô?ð 8ÐRVð 8Ðilð 8Ðqwð 8ð 8ð 8ñ WÔVñ Ôð8ð0 €ÑÔØÐ ,Ð0DÔ0RÐ!SÐTÑTÔTØ>BÐUYð 8ð 8ð 8˜XÐ&:Ô;ð 8Èdð 8Ðehð 8Ðmsð 8ð 8ð 8ñ UÔTñ Ôð8ð0 €ÑÔØÐ ,Ð0EÔ0SÐ!TÐUÑUÔUØ@DÐW[ð 8ð 8ð 8˜hÐ'<Ô=ð 8ÐPTð 8Ðgjð 8Ðouð 8ð 8ð 8ñ VÔUñ Ôð8ð0 €ÑÔØÐ ,Ð0EÔ0SÐ!TÐUÑUÔUØ@DÐW[ð 8ð 8ð 8˜hÐ'<Ô=ð 8ÐPTð 8Ðgjð 8Ðouð 8ð 8ð 8ñ VÔUñ Ôð8ð 8ð 8rK   