+
    –°³j­� ã                   ó¤  € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	t	]P                  ! R4      t ! R R4      t ! R R4      t ! R R	4      t ! R
 R4      t ! R R]P                   4      tR#R ltR tR t ! R R]4      t ! R R]P                   4      t ! R R]4      tR tR tR tR tR t ! R R4      tRRRRR R!/R" ltR# )$é    N)Ú
NamedTupleÚnnapi_serializec                   óJ   € ] tR t^t^ t^t^t^t^t^t	^t
^t^t^	t^
t^t^tRtR# )ÚNNAPI_OperandCode© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚFLOAT32ÚINT32ÚUINT32ÚTENSOR_FLOAT32ÚTENSOR_INT32ÚTENSOR_QUANT8_ASYMMÚBOOLÚTENSOR_QUANT16_SYMMÚTENSOR_FLOAT16ÚTENSOR_BOOL8ÚFLOAT16ÚTENSOR_QUANT8_SYMM_PER_CHANNELÚTENSOR_QUANT16_ASYMMÚ__static_attributes__r   ó    Úa/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/backends/_nnapi/serializer.pyr   r      sG   † Ø€GØ€EØ€FØ€NØ€LØÐØ€DØÐØ€NØ€LØ€GØ%'Ð"ØÔr   r   c                   ó’  € ] tR t^%t^ t^t^t^t^t^t	^t
^t^t^	t^
t^t^t^t^t^t^t^t^t^t^t^t^t^t^t^t^t^t^t ^t!^t"^t#^ t$^!t%^"t&^#t'^$t(^%t)^&t*^'t+^(t,^)t-^*t.^+t/^,t0^-t1^.t2^/t3^0t4^1t5^2t6^3t7^4t8^5t9^6t:^7t;^8t<^9t=^:t>^;t?^<t@^=tA^>tB^?tC^@tD^AtE^BtF^CtG^DtH^EtI^FtJ^GtK^HtL^ItM^JtN^KtO^LtP^MtQ^NtR^OtS^PtT^QtU^RtV^StW^TtX^UtY^VtZ^Wt[^Xt\^Yt]^Zt^^[t_^\t`^]ta^^tbRtcR# )ÚNNAPI_OperationCoder   N)dr   r	   r
   r   ÚADDÚAVERAGE_POOL_2DÚCONCATENATIONÚCONV_2DÚDEPTHWISE_CONV_2DÚDEPTH_TO_SPACEÚ
DEQUANTIZEÚEMBEDDING_LOOKUPÚFLOORÚFULLY_CONNECTEDÚHASHTABLE_LOOKUPÚL2_NORMALIZATIONÚ
L2_POOL_2DÚLOCAL_RESPONSE_NORMALIZATIONÚLOGISTICÚLSH_PROJECTIONÚLSTMÚMAX_POOL_2DÚMULÚRELUÚRELU1ÚRELU6ÚRESHAPEÚRESIZE_BILINEARÚRNNÚSOFTMAXÚSPACE_TO_DEPTHÚSVDFÚTANHÚBATCH_TO_SPACE_NDÚDIVÚMEANÚPADÚSPACE_TO_BATCH_NDÚSQUEEZEÚSTRIDED_SLICEÚSUBÚ	TRANSPOSEÚABSÚARGMAXÚARGMINÚAXIS_ALIGNED_BBOX_TRANSFORMÚBIDIRECTIONAL_SEQUENCE_LSTMÚBIDIRECTIONAL_SEQUENCE_RNNÚBOX_WITH_NMS_LIMITÚCASTÚCHANNEL_SHUFFLEÚDETECTION_POSTPROCESSINGÚEQUALÚEXPÚEXPAND_DIMSÚGATHERÚGENERATE_PROPOSALSÚGREATERÚGREATER_EQUALÚGROUPED_CONV_2DÚHEATMAP_MAX_KEYPOINTÚINSTANCE_NORMALIZATIONÚLESSÚ
LESS_EQUALÚLOGÚLOGICAL_ANDÚLOGICAL_NOTÚ
LOGICAL_ORÚLOG_SOFTMAXÚMAXIMUMÚMINIMUMÚNEGÚ	NOT_EQUALÚPAD_V2ÚPOWÚPRELUÚQUANTIZEÚQUANTIZED_16BIT_LSTMÚRANDOM_MULTINOMIALÚ
REDUCE_ALLÚ
REDUCE_ANYÚ
REDUCE_MAXÚ
REDUCE_MINÚREDUCE_PRODÚ
REDUCE_SUMÚ	ROI_ALIGNÚROI_POOLINGÚRSQRTÚSELECTÚSINÚSLICEÚSPLITÚSQRTÚTILEÚTOPK_V2ÚTRANSPOSE_CONV_2DÚUNIDIRECTIONAL_SEQUENCE_LSTMÚUNIDIRECTIONAL_SEQUENCE_RNNÚRESIZE_NEAREST_NEIGHBORr   r   r   r   r   r   %   sò  † Ø
€CØ€OØ€MØ€GØÐØ€NØ€JØÐØ€EØ€OØÐØÐØ€JØ#%Ð Ø€HØ€NØ€DØ€KØ
€CØ€DØ€EØ€EØ€GØ€OØ
€CØ€GØ€NØ€DØ€DØÐØ
€CØ€DØ
€CØÐØ€GØ€MØ
€CØ€IØ
€CØ€FØ€FØ"$ÐØ"$ÐØ!#ÐØÐØ€DØ€OØ!ÐØ€EØ
€CØ€KØ€FØÐØ€GØ€MØ€OØÐØÐØ€DØ€JØ
€CØ€KØ€KØ€JØ€KØ€GØ€GØ
€CØ€IØ€FØ
€CØ€EØ€HØÐØÐØ€JØ€JØ€JØ€JØ€KØ€JØ€IØ€KØ€EØ€FØ
€CØ€EØ€EØ€DØ€DØ€GØÐØ#%Ð Ø"$ÐØ Ôr   r   c                   ó&   € ] tR t^‡t^ t^t^t^tRtR# )ÚNNAPI_FuseCoder   N)	r   r	   r
   r   Ú
FUSED_NONEÚ
FUSED_RELUÚFUSED_RELU1ÚFUSED_RELU6r   r   r   r   r~   r~   ‡   s   † Ø€JØ€JØ€KØ„Kr   r~   c                   ó"   € ] tR t^Žt^ t^t^tRtR# )ÚOperandValueSourceTyper   N)r   r	   r
   r   Ú	IMMEDIATEÚNUMBERED_BUFFERÚNUMBERED_MEMORYr   r   r   r   r„   r„   Ž   s   † Ø€IØ€OØ„Or   r„   c                   ó   € ] tR t^˜t^tRtR# )ÚTorchScalarTypesr   N)r   r	   r
   r   ÚQUINT8r   r   r   r   r‰   r‰   ˜   s   † Ø„Fr   r‰   c                 óJ   € \        W,
          4      V\        W4      ,          8*  # ©N)ÚabsÚmin)ÚlhsÚrhsÚ	tolerances   &&&r   Úapprox_equalr’   œ   s   € Üˆs�y‹>˜Y¬¨S«Õ6Ñ6Ð6r   c           
      óÜ   € \         P                  ^\         P                  ^\         P                  ^\         P                  ^\         P
                  ^/pW ,          pV F  pW4,          pK  	  V# )é   )r   r   r   r   r   r   )Úop_typeÚdimsÚ
ITEM_SIZESÚsizeÚds   &&   r   Útensor_sizerš       s`   € ä×(Ñ(¨!Ü×&Ñ&¨Ü×-Ñ-¨qÜ×-Ñ-¨qÜ×.Ñ.°ð€Jð Õ€DÛˆØ�	Šñ à€Kr   c                 ó6   € \        V 4      pW#V&   \        V4      # rŒ   )ÚlistÚtuple)ÚtupÚindexÚvalueÚlss   &&& r   Úchange_elementr¢   ®   s   € Ü	ˆc‹€BØ€u�IÜ�‹9Ðr   c                   ó0   a € ] tR t^´t o RtV 3R ltRtV tR# )ÚConvPoolArgs2dz*Configuration arguments for a convolution.c                óž   <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R	&   S[ ;R
&   S[ ;R&   # )é   Úkernel_hÚkernel_wÚstride_hÚstride_wÚpad_tÚpad_bÚpad_lÚpad_rÚ
dilation_hÚ
dilation_wÚgroup)Úint)ÚformatÚ__classdict__s   "€r   Ú__annotate__ÚConvPoolArgs2d.__annotate__´   s‰   ø‡ ‚ ñ �Mñ ñ �Mñ	 ñ
 �Mñ ñ �Mñ ñ �Jñ ñ �Jñ ñ �Jñ ñ �Jñ ñ �Oñ ñ �Oñ ñ �Jò r   r   N)r   r	   r
   r   Ú__doc__Ú__annotate_func__r   Ú__classdictcell__©r´   s   @r   r¤   r¤   ´   s   ø‡ € Ù4÷ ƒ r   r¤   c                   ó&   € ] tR t^Ät^ t^t^tRtRtR# )ÚDimOrderiç  r   N)	r   r	   r
   r   ÚPRESUMED_CONTIGUOUSÚCHANNELS_LASTÚSCALAR_OR_VECTORÚUNKNOWN_CONSTANTr   r   r   r   r¼   r¼   Ä   s   † ØÐØ€MØÐØÔr   r¼   c                   ó6   a € ] tR t^Ët o RtR tV 3R ltRtV tR# )ÚOperandz#Representation of an NNAPI operand.c                ó˜   € V P                   \        P                  J d   R # V P                   \        P                  J d   R# \	        R4      h)TFzUnknown dim order)Ú	dim_orderr¼   r½   r¾   Ú	Exception©Úselfs   &r   Úuse_nchwÚOperand.use_nchwã   s8   € Ø�>‰>œX×9Ñ9Ó9ÙØ�>‰>œX×3Ñ3Ó3ÙÜÐ+Ó,Ð,r   c                ój   <€ V ^8„  d   Qh/ S[ ;R&   S[S[ R3,          ;R&   S[;R&   S[;R&   S[ ;R&   # )r¦   r•   .ÚshaperÄ   ÚscaleÚ
zero_point)r²   r�   r¼   Úfloat)r³   r´   s   "€r   rµ   ÚOperand.__annotate__Ë   sK   ø‡ ‚ ñ
 �Lñ ñ ‘�c��?Ññ ñ$ Ññ% ñ* �Lñ+ ñ, �Oò- r   r   N)	r   r	   r
   r   r·   rÈ   r¸   r   r¹   rº   s   @r   rÂ   rÂ   Ë   s   ø‡ € Ù-ò.-÷1 ƒ r   rÂ   c                 óT  € \        V 4      ^ 8:  d   \        R\        V 4       24      h\        V4      ^ 8:  d   \        R\        V4       24      h\        V 4      p\        V4      p\        V4      \        V4      8”  d   \        R4      h\        V4      \        V4      8”  d   \        R4      h. p\	        W#4       Fa  w  rVV^8X  d   VP                  V4       K  V^8X  d   VP                  V4       K9  WV8X  d   VP                  V4       KR  \        RV  RV 24      h	  \        V4      # )r   z!shape1 must have length > 0, got z!shape2 must have length > 0, got z.Non-equal-rank broadcast is not supported yet.zCannot broadcast shapes: z and )ÚlenÚAssertionErrorrœ   rÅ   ÚzipÚappendr�   )Úshape1Úshape2Ús1Ús2ÚretÚd1Úd2s   &&     r   Úbroadcast_shapesrÜ   ë   s  € Ü
ˆ6ƒ{�aÔÜÐ@ÄÀVÃÀÐNÓOÐOÜ
ˆ6ƒ{�aÔÜÐ@ÄÀVÃÀÐNÓOÐOÜ	ˆf‹€BÜ	ˆf‹€Bô ˆ2ƒw”�R“ÔäØ<ó
ð 	
ô ˆ2ƒw”�R“ÔäØ<ó
ð 	
ð €CÜ�b–+‰ˆØ�Œ7Ø�J‰J�rŽNØ�1ŒWØ�J‰J�rŽNØŒXØ�J‰J�rŽNäØ+¨F¨8°5¸¸ÐAóð ñ ô �‹:Ðr   c                 ó  € V w  rErgVP                   ^8w  g   VP                  ^8w  d   \        R4      hV'       dœ   V^,
          VP                  ,          VP                  ,           VP
                  ,
          VP                  ,
          pV^,
          VP                  ,          VP                  ,           VP                  ,
          VP                  ,
          p	M˜WaP                  ,
          VP
                  ,           VP                  ,           VP                  ,          ^,           pWqP                  ,
          VP                  ,           VP                  ,           VP                  ,          ^,           p	V^ 8X  d   ^ pV^ 8X  d   ^ p	WBW‰3p
V
# )é   zDilation not supported yet.)r¯   r°   rÅ   r©   r§   r«   r¬   rª   r¨   r­   r®   )Úimage_shapeÚargsÚout_chÚ	transposeÚbatchÚ_in_cÚin_hÚin_wÚout_hÚout_wÚ	out_shapes   &&&&       r   Úget_conv_pool_shaperê     s  € Ø*Ñ€E�$ð ‡�˜!Ô˜tŸ™°!Ô3ÜÐ5Ó6Ð6çØ˜•˜TŸ]™]Õ*¨T¯]©]Õ:¸T¿Z¹ZÕGÈ$Ï*É*ÕTˆØ˜•˜TŸ]™]Õ*¨T¯]©]Õ:¸T¿Z¹ZÕGÈ$Ï*É*ÕT‰àŸ™Õ%¨¯
©
Õ2°T·Z±ZÕ?ÀDÇMÁMÕQÐTUÕUˆØŸ™Õ%¨¯
©
Õ2°T·Z±ZÕ?ÀDÇMÁMÕQÐTUÕUˆð ˆq„yØˆØˆq„yØˆà Ð-€IØÐr   c                 ó®  € V\         P                  J d   V # V\         P                  J d:   \        V ^ ,          .\	        V R,          4      ,           V ^,          .,           4      # V\         P
                  J d:   \        V 4      ^ 8X  g(   \        V 4      ^8X  g   \        R\        V 4       24      hV # V\         P                  J d   V # \        RV: R24      h)r   ºr¦   NNz4SCALAR_OR_VECTOR requires len(shape) == 0 or 1, got zBad dim_order: Ú.)
r¼   r½   r¾   r�   rœ   r¿   rÑ   rÒ   rÀ   rÅ   ©rË   rÄ   s   &&r   Ú	fix_shaperï   &  sº   € ð ”H×0Ñ0Ó0ØˆØ”H×*Ñ*Ó*Ü�e˜A•h�Z¤$ u¨R¥y£/Õ1°U¸1µX°JÕ>Ó?Ð?Ø”H×-Ñ-Ó-Ü�E“
˜a”¤3 u£:°¤?Ü ØFÄsÈ5ÃzÀlÐSóð ð ˆØ”H×-Ñ-Ó-àˆÜ
�o i¡]°!Ð4Ó
5Ð5r   c                 óª   € V \         P                  \         P                  39   d   V# V \         P                  J d   . ROV,          # \	        RV  24      h)r   z%expected DimOrder.CHANNELS_LAST, got ©r   r¦   é   rÞ   )r¼   r½   r¿   r¾   rÒ   )rÄ   r™   s   &&r   Úreverse_map_dimró   :  sM   € ð
 ”X×1Ñ1´8×3LÑ3LÐMÔMØˆØ”H×*Ñ*Ó*Ú˜A�ÐÜ
Ð@ÀÀÐLÓ
MÐMr   c                 ó   € R V  RV 2# )Ús_Ú_r   )Úop_idÚdims   &&r   Ú	flex_namerù   F  s   € ð �ˆw�a˜�uÐÐr   c                   ór  a € ] tR tRt o R�R ltR tR tR tR tR t	]
P                  3R ltR	 tR
 tR tR tR tR tR tR t]
P*                  3R ltR tR tR tR tRžR ltRžR ltR tR tR tR t R t!R t"RŸR lt#R  t$RžR! lt%R" t&]'R# 4       t(/ R$R% bR&R' bR(R) bR*R+ bR,R- bR.R/ bR0R1 bR2R3 bR4R5 bR6R7 bR8R9 bR:R; bR<R= bR>R? bR@RA bRBRC bRDRE b/ RFRG bRHRI bRJRK bRLRM bRNRO bRPRQ bRRRS bRTRU bRVRW bRXRY bRZR[ bR\R] bR^R_ bR`Ra bRbRc bRdRe bRfRg bCRhRi RjRk RlRm RnRo RpRq RrRs /Ct)Rt t*Ru t+Rv t,Rw t-Rx t.Ry t/Rz t0R{ t1R| t2R} t3R~ t4R t5R€ t6R� t7R‚ t8Rƒ t9R„ t:R…R/R† lt;R‡ t<Rˆ t=R‰ t>RŠ t?R‹ t@RŒ tAR� tBRŽ tCR� tDR� tER‘ tFR’ tGR“ tHR” tIR�R• ltJR– tKR— tLR˜ tMR�R™ ltNRš tOR› tPRœtQV tRR# ) Ú_NnapiSerializeriL  c                óô   € . V n         . V n        . V n        . V n        . V n        . V n        . V n        . V n        / V n        / V n	        / V n
        / V n        / V n        . V n        ^ V n        W n        Vf   / pR# R# ©r   N)ÚoperandsÚvaluesÚ
operationsÚ
value_dataÚoperation_argsÚinputsÚoutputsÚ flexible_shape_computation_linesÚmodulesÚ	constantsÚtensor_sequencesÚjitval_operand_mapÚcached_immediatesÚused_weightsÚweight_offsetÚuse_int16_for_qint16)rÇ   Úconfigr  s   &&&r   Ú__init__Ú_NnapiSerializer.__init__M  s‡   € ØˆŒØˆŒØˆŒØˆŒØ ˆÔØˆŒØˆŒØ02ˆÔ-àˆŒØˆŒØ "ˆÔØ"$ˆÔØ!#ˆÔØˆÔØˆÔØ$8Ô!àŠ>ØŠFñ r   c                ó,   € \        V P                  4      # rŒ   )rÑ   rþ   rÆ   s   &r   Úget_next_operand_idÚ$_NnapiSerializer.get_next_operand_idc  s   € Ü�4—=‘=Ó!Ð!r   c                ó  € \        V\        4      '       g   \        R \        V4       24      hWP                  9   d   \        RV: 24      hV P                  4       pV P                  P                  V4       W0P                  V&   V# )úexpected Operand, got zDuplicate tensor: )	Ú
isinstancerÂ   rÒ   Útyper	  rÅ   r  rþ   rÔ   )rÇ   ÚjitvalÚoperÚ
operand_ids   &&& r   Úadd_tensor_operandÚ#_NnapiSerializer.add_tensor_operandi  sy   € Ü˜$¤×(Ò(Ü Ð#9¼$¸t»*¸Ð!FÓGÐGØ×,Ñ,Ô,ÜÐ0°±
Ð;Ó<Ð<à×-Ñ-Ó/ˆ
Ø�‰×Ñ˜TÔ"Ø*4×Ñ Ñ'ØÐr   c                ó¶   € \        V\        4      '       g   \        R \        V4       24      hV P	                  4       pV P
                  P                  V4       V# )r  )r  rÂ   rÒ   r  r  rþ   rÔ   )rÇ   r  r  s   && r   Úadd_anonymous_tensor_operandÚ-_NnapiSerializer.add_anonymous_tensor_operandw  sL   € Ü˜$¤×(Ò(Ü Ð#9¼$¸t»*¸Ð!FÓGÐGØ×-Ñ-Ó/ˆ
Ø�‰×Ñ˜TÔ"ØÐr   c                ó<  € \        VP                  4      P                  R R4      pRp^ pVR8X  d   \        P                  pEM8VR8X  d   \        P
                  pEMVR8X  d2   \        P                  pVP                  4       pVP                  4       pMçVR8X  dG   \        P
                  pVP                  4       pVP                  4       pV^ 8w  d   \        RV 24      hMšVR8X  d{   V P                  '       d^   \        VR	R
4      p\        P                  \        P                  3pWx9   d   TpVP                  pVP                  pM3\!        RV R24      h\!        R4      h\!        RVP                   R24      h\#        \%        VP&                  4      VVVVR7      # )ztorch.Ú ç        Úfloat32Úint32Úquint8Úqint32z!qint32 zero_point must be 0, got Úint16Únnapi_dtypeNz `nnapi_type` needs to be one of z for `int16`úy`int16` isn't supported. If you're trying to represent NNAPI qint16 with Pytorch int16, set `use_int16_for_qint16 = True`zCan't handle input with dtype 'Ú')rË   r•   rÄ   rÌ   rÍ   )ÚstrÚdtypeÚreplacer   r   r   r   Úq_scaleÚq_zero_pointrÒ   r  Úgetattrr   r   Únnapi_scaleÚnnapi_zero_pointrÅ   rÂ   r�   rË   )	rÇ   ÚtensorrÄ   r,  rÌ   rÍ   r•   r(  Úop_codess	   &&&      r   Útorch_tensor_to_operandÚ(_NnapiSerializer.torch_tensor_to_operand~  s˜  € Ü�F—L‘LÓ!×)Ñ)¨(°BÓ7ˆØˆØˆ
Ø�IÔÜ'×6Ñ6ŠGØ�gÔÜ'×4Ñ4ŠGØ�hÔÜ'×;Ñ;ˆGØ—N‘NÓ$ˆEØ×,Ñ,Ó.‰JØ�hÔÜ'×4Ñ4ˆGØ—N‘NÓ$ˆEØ×,Ñ,Ó.ˆJØ˜QŒÜ$Ð'HÈÈÐ%UÓVÐVð à�gÔØ×(×(Ð(Ü% f¨m¸TÓB�ä%×9Ñ9Ü%×:Ñ:ð�ð Ô*Ø)�GØ"×.Ñ.�EØ!'×!8Ñ!8‘Jä#Ø:¸8¸*ÀLÐQóð ô  ðTóð ô
 Ø1°&·,±,°¸qÐAóð ô Ü˜Ÿ™Ó%àØØØ!ô
ð 	
r   c           
     óf  € \        VR R4      '       d   \        P                  M\        P                  pV P	                  W44      pV P                  W%4      pV P                  P                  V4       \        VP                  4       F'  w  rxV^ 8X  g   K  V P                  WgRV RV R24       K)  	  V# )Ú
nnapi_nhwcFzargs[z].shape[Ú])r0  r¼   r¾   r½   r5  r  r  rÔ   Ú	enumeraterË   Úcompute_operand_shape)	rÇ   Úarg_idxr  r3  rÄ   Útoperr  rø   r˜   s	   &&&&     r   Úadd_tensor_operand_for_inputÚ-_NnapiSerializer.add_tensor_operand_for_input±  s¦   € ô �v˜|¨U×3Ò3ô ×"Ò"ä×-Ñ-ð 	ð
 ×,Ñ,¨VÓ?ˆØ×,Ñ,¨VÓ;ˆ
Ø�‰×Ñ˜:Ô&Ü" 6§<¡<Ö0‰IˆCØ�qŽyØ×*Ñ*Ø u¨W¨I°X¸c¸UÀ!Ð%Döñ 1ð
 Ðr   c                ó6  € V P                  W4      p\        V P                  4      pV P                  P                  V4       \	        VP
                  VP                  4      pV P                  P                  V\        P                  34       \        V P                  4      p^ pV P                  P                  \        P                  ! RWgV4      4       V\        P                  8X  d   VP!                  ^ ^^^4      pV P                  P                  V4       V# )r   Úiii)r5  rÑ   rþ   rÔ   rš   r•   rË   rÿ   r„   r†   r  r  ÚstructÚpackr¼   r¾   Úpermute)rÇ   r3  rÄ   r=  r  ÚtsizeÚbuf_numÚoffsets   &&&     r   Úadd_tensor_operand_for_weightÚ._NnapiSerializer.add_tensor_operand_for_weightÁ  sÖ   € ð ×,Ñ,¨VÓ?ˆÜ˜Ÿ™Ó'ˆ
Ø�‰×Ñ˜UÔ#Ü˜EŸM™M¨5¯;©;Ó7ˆØ�‰×Ñ˜JÔ(>×(NÑ(NÐOÔPÜ�d×'Ñ'Ó(ˆØˆØ�‰×ÑœvŸ{š{¨5°'À5ÓIÔJàœ×.Ñ.Ô.Ø—^‘^ A q¨!¨QÓ/ˆFØ×Ñ× Ñ  Ô(ØÐr   c           	     óä  € \        V\        4      '       g   \        R \        V4       24      hW3pW@P                  9  dŸ   \        V P                  4      pV P                  P                  \        W\        P                  R^ 4      4       V P                  P                  V\        P                  34       V P                  P                  V4       WPP                  V&   V P                  V,          # )zdims must be a tuple, got r"  )r  r�   rÒ   r  r
  rÑ   rþ   rÔ   rÂ   r¼   r¿   rÿ   r„   r…   r  )rÇ   Úcoder    r–   Ú	cache_keyr  s   &&&&  r   Úadd_immediate_operandÚ&_NnapiSerializer.add_immediate_operandÒ  s»   € Ü˜$¤×&Ò&Ü Ð#=¼dÀ4»j¸\Ð!JÓKÐKØ�Mˆ	Ø×2Ñ2Ô2Ü˜TŸ]™]Ó+ˆJØ�M‰M× Ñ ¤¨´X×5NÑ5NÐPSÐUVÓ!WÔXØ�K‰K×Ñ 
Ô,B×,LÑ,LÐMÔNØ�O‰O×"Ñ" 5Ô)Ø0:×"Ñ" 9Ñ-Ø×%Ñ% iÕ0Ð0r   c                ón   € V P                  \        P                  \        P                  ! R V4      R4      # )Úir   )rM  r   r   rB  rC  ©rÇ   r    s   &&r   Úadd_immediate_int_scalarÚ)_NnapiSerializer.add_immediate_int_scalarÞ  s-   € Ø×)Ñ)Ü×#Ñ#¤V§[¢[°°eÓ%<¸bó
ð 	
r   c                ón   € V P                  \        P                  \        P                  ! R V4      R4      # )Úfr   )rM  r   r   rB  rC  rQ  s   &&r   Úadd_immediate_float_scalarÚ+_NnapiSerializer.add_immediate_float_scalarã  s-   € Ø×)Ñ)Ü×%Ñ%¤v§{¢{°3¸Ó'>Àó
ð 	
r   c                ób   € T P                  \        P                  V'       d   R R4      # RR4      # )ó   ó    r   )rM  r   r   rQ  s   &&r   Úadd_immediate_bool_scalarÚ*_NnapiSerializer.add_immediate_bool_scalarè  s3   € Ø×)Ñ)Ü×"Ñ"¯u GÀ2ó
ð 	
Ø:AÀ2ó
ð 	
r   c                óž   € V P                  \        P                  \        P                  ! R V4      P	                  4       \        V4      34      # ©rP  )rM  r   r   ÚarrayÚtobytesrÑ   rQ  s   &&r   Úadd_immediate_int_vectorÚ)_NnapiSerializer.add_immediate_int_vectorí  s>   € Ø×)Ñ)Ü×*Ñ*Ü�KŠK˜˜UÓ#×+Ñ+Ó-Ü�‹ZˆMó
ð 	
r   c                ó   € WP                   9   # rŒ   )r	  )rÇ   r  s   &&r   Úhas_operand_for_jitvalÚ'_NnapiSerializer.has_operand_for_jitvalô  s   € Ø×0Ñ0Ñ0Ð0r   c                óP   € V P                   V,          pW P                  V,          3# rŒ   )r	  rþ   )rÇ   r  r  s   && r   Úget_tensor_operand_by_jitvalÚ-_NnapiSerializer.get_tensor_operand_by_jitval÷  s$   € Ø×,Ñ,¨VÕ4ˆ
ØŸM™M¨*Õ5Ð6Ð6r   c                ó¶   € V P                  V4      w  r#VP                   F4  pV^ 8X  d   \        R4      hV^ 8  g   K  \        P	                  RV4       K6  	  W#3# )r   z0Flexible size is not supported for this operand.z!Operand %s has runtime flex shape)rg  rË   rÅ   rZ   Úwarning)rÇ   r  r÷   r  Úss   &&   r   Ú'get_tensor_operand_by_jitval_fixed_sizeÚ8_NnapiSerializer.get_tensor_operand_by_jitval_fixed_sizeû  s]   € Ø×7Ñ7¸Ó?‰ˆØ—”ˆAØ�AŒvô  ØFóð ð �1Žuä—‘Ð?ÀÖFñ ð ˆ{Ðr   c                ó²   € V P                   P                  V4      pVf&   V P                  VR4      w  rEV P                  WR4      pW0P                  V,          3# )NÚ
TensorType)r	  ÚgetÚget_constant_valuerH  rþ   )rÇ   r  rÄ   r  rö   r    s   &&&   r   Úget_tensor_operand_or_constantÚ/_NnapiSerializer.get_tensor_operand_or_constant	  sV   € ð ×,Ñ,×0Ñ0°Ó8ˆ
ØÒØ×.Ñ.¨v°|ÓD‰HˆAØ×;Ñ;¸EÓMˆJØŸM™M¨*Õ5Ð6Ð6r   c                ót   € V P                  VR 4      w  r#V P                  V4      pW@P                  V,          3# )ro  )rq  rH  rþ   )rÇ   r  rö   r    r  s   &&   r   Úget_tensor_operand_for_weightÚ._NnapiSerializer.get_tensor_operand_for_weight  s8   € Ø×*Ñ*¨6°<Ó@‰ˆØ×7Ñ7¸Ó>ˆ
ØŸM™M¨*Õ5Ð6Ð6r   c                ó¨   € V P                   P                  V\        V4      \        V4      34       V P                  P	                  W#,           4       R # rŒ   )r   rÔ   rÑ   r  Úextend)rÇ   Úopcoder  r  s   &&&&r   Úadd_operationÚ_NnapiSerializer.add_operation  s:   € Ø�‰×Ñ ¬¨F«´S¸³\ÐBÔCØ×Ñ×"Ñ" 6Õ#3Ö4r   c                ób   € WP                   9   d   \        R V: R24      hW P                   V&   R# )újitval z already in tensor_sequencesN)r  rÒ   )rÇ   r  rÿ   s   &&&r   Úadd_tensor_sequenceÚ$_NnapiSerializer.add_tensor_sequence  s1   € Ø×*Ñ*Ô*Ü  7¨6©*Ð4PÐ!QÓRÐRØ(.×Ñ˜fÓ%r   c                óf   € WP                   9   d   \        R V: R24      hW#3V P                   V&   R# )r}  z already in constantsN)r  rÒ   ©rÇ   r  Úctyper    s   &&&&r   Úadd_constant_valueÚ#_NnapiSerializer.add_constant_value   s1   € Ø—^‘^Ô#Ü  7¨6©*Ð4IÐ!JÓKÐKØ"' ˆ�‰�vÓr   Nc           	     óæ   € V P                   P                  V4      pVf   \        RV: R24      hVw  rEVe:   VP                  4       V8w  d%   \        RV RVP                  4        RV: R24      hV# )Nz#Could not find constant value for 'z'.z Expected constant value of type z
, but got z for value 'r*  )r  rp  rÅ   Úkind)rÇ   r  ÚtypekindÚrecordr‚  rö   s   &&&   r   rq  Ú#_NnapiSerializer.get_constant_value%  s†   € Ø—‘×#Ñ# FÓ+ˆØŠ>ÜØ5°f±Z¸rÐBóð ð ‰ˆØÒ E§J¡J£L°HÔ$<ÜØ2°8°*¸JÀuÇzÁzÃ|ÀnÐT`ÐagÑ`jÐjkÐlóð ð ˆr   c                ó  € Vf   VP                   pMP\        V4      \        VP                   4      8w  d.   \        R\        V4       R\        VP                   4       24      hR.p\        V4       F~  w  rVV^ 8”  d   VP	                  \        V4      4       MFV^ 8X  d   VP	                  \        W4      4       M$VR8X  d   VP	                  R4       M\        R4      hVP	                  R4       K€  	  VP	                  R4       RP                  V4      pVP                  \        P                  8X  d   R	V R
2# VP                  \        P                  8X  d   R	V R2# VP                  \        P                  8X  d!   RVP                   RVP                   RV R2# VP                  \        P                   \        P"                  39   d$   V P$                  '       d   R	V R2# \        R4      h\        RVP                   24      h)zHReturn a TorchScript expression to build a template for a given operand.zshape length z != oper.shape length Ú(Ú0z-Unknown dim value, dimensions should be >= -1Ú,Ú)r!  ztorch.zeros(z, dtype=torch.float32)z, dtype=torch.int32)z0torch.quantize_per_tensor(torch.zeros(1), scale=z, zero_point=z, dtype=torch.quint8).expand(z).contiguous()z, dtype=torch.int16)r)  z!Unsupported output operand type: éÿÿÿÿ)rË   rÑ   rÒ   r:  rÔ   r+  rù   rÅ   Újoinr•   r   r   r   r   rÌ   rÍ   r   r   r  )rÇ   r÷   r  rË   Úshape_partsr™   rk  Ú
shape_codes   &&&&    r   Úoperand_to_template_torchscriptÚ0_NnapiSerializer.operand_to_template_torchscript2  së  € àŠ=Ø—J‘J‰Eä�5‹zœS §¡›_Ô,Ü$Ø#¤C¨£J <Ð/EÄcÈ$Ï*É*ÃoÐEVÐWóð ð �eˆÜ˜eÖ$‰DˆAØ�1Œuà×"Ñ"¤3 q£6Õ*Ø�a”à×"Ñ"¤9¨UÓ#6Õ7Ø�b”à×"Ñ" 3Õ'äØCóð ð ×Ñ˜sÖ#ñ %ð 	×Ñ˜3ÔØ—W‘W˜[Ó)ˆ
Ø�<‰<Ô,×;Ñ;Ô;Ø! * Ð-CÐDÐDØ�\‰\Ô.×;Ñ;Ô;Ø! * Ð-AÐBÐBØ�\‰\Ô.×BÑBÔBð)Ø)-¯©¨°MÀ$Ç/Á/ÐARð SØ%˜, nð6ðð
 �\‰\Ü×2Ñ2Ü×1Ñ1ð
ô 
ð ×(×(Ð(Ø% j \Ð1EÐFÐFäðTóð ô
 Ø/°·±¨~Ð>ó
ð 	
r   c                ó<   € V P                  W\        W44      4       R # rŒ   )r;  rù   )rÇ   Ú	out_op_idÚout_dimÚin_op_idÚin_dims   &&&&&r   Úforward_operand_shapeÚ&_NnapiSerializer.forward_operand_shapeh  s   € Ø×"Ñ" 9´yÀÓ7RÖSr   c                óX   € V P                   P                  \        W4       R V 24       R# )z = N)r  rÔ   rù   )rÇ   r÷   rø   Úexprs   &&&&r   r;  Ú&_NnapiSerializer.compute_operand_shapek  s*   € Ø×-Ñ-×4Ñ4Ü˜Ó$Ð% S¨¨Ð/ö	
r   c                ób  € VP                   R ,          R8w  d   \        R4      hVP                  \        P                  R7      pR.^,          pW^ &   V P                  . RO4      V^&   R.^,          pV P                  V4      V^ &   V P                  \        P                  WE4       V^ ,          V3# )rì   z1Automatic transpose only supported for H,W == 1,1)rÄ   N)rÞ   rÞ   rñ   )
rË   rÅ   Ú_replacer¼   r¾   ra  r  rz  r   rC   )rÇ   Úin_idr  Úout_operr  r  s   &&&   r   Útranspose_to_nhwcÚ"_NnapiSerializer.transpose_to_nhwcp  s¥   € Ø�:‰:�b�>˜VÔ#ÜØCóð ð —=‘=¬8×+AÑ+A�=ÓBˆà�˜!•ˆØˆq‰	Ø×1Ñ1²,Ó?ˆˆq‰	à�&˜1•*ˆØ×6Ñ6°xÓ@ˆ�‰
à×ÑÔ.×8Ñ8¸&ÔJà�q�z˜8Ð#Ð#r   c                ó¶  € VP                   VP                   8X  d   WW43# VP                   VP                   3pV\        P                  \        P                  38X  d   V P	                  W4      W43,           # V\        P                  \        P                  38X  d   W3V P	                  W44      ,           # \        R VP                   : RVP                   : 24      h)z2Automatic transpose not supported for dim_orders: z, )rÄ   r¼   r½   r¾   r£  rÅ   )rÇ   Úin0_idÚin0_operÚin1_idÚin1_operÚorderss   &&&&& r   Útranspose_for_broadcastÚ(_NnapiSerializer.transpose_for_broadcast„  sÊ   € Ø×Ñ ×!3Ñ!3Ô3Ø VÐ5Ð5ð ×$Ñ$ h×&8Ñ&8Ð9ˆØ”h×2Ñ2´H×4JÑ4JÐKÔKØ×)Ñ)¨&Ó;¸vÐ>PÕPÐPØ”h×,Ñ,¬h×.JÑ.JÐKÔKØÐ%¨×(>Ñ(>¸vÓ(PÕPÐPäØ@À×ASÑASÑ@VÐVXÐYa×YkÑYkÑXnÐoó
ð 	
r   c                ó  € V P                  V4      w  r#VP                  4       R 8X  dP   VP                  4       P                  4       R8w  d+   \        RVP                  4       P                  4        24      hV# \	        RV: RV: R24      h)ÚListTypeÚIntTypez"expected ListType of IntType, got zCan't handle size arg of type 'z' for 'r*  )rq  r†  ÚgetElementTyperÒ   rÅ   r�  s   &&  r   Úget_size_argÚ_NnapiSerializer.get_size_arg“  sŒ   € Ø×.Ñ.¨vÓ6‰ˆØ�:‰:‹<˜:Ô%Ø×#Ñ#Ó%×*Ñ*Ó,°	Ô9Ü$Ø8¸×9MÑ9MÓ9O×9TÑ9TÓ9VÐ8WÐXóð ð ˆLÜØ-¨e©Y°g¸f¹ZÀqÐIó
ð 	
r   c                óÒ  € V Uu. uF  q3P                  4       NK  	  ppV^ ,          ^8w  d   \        RV^ ,           24      hV^,          V^,          .pV^,          V^,          .pV^,          V^,          .pV^,          V^,          .pV^	,          p	\        V4      ^8w  d   \        R\        V4       24      hV^ ^ .8w  d   \        RV 24      hV P                  WWgV	4      # u upi )r   zexpected pc[0] == 2, got zexpected len(pc) == 11, got z'expected output_padding == [0, 0], got )ÚitemrÒ   rÑ   Úget_conv_pool_args_2d_common)
rÇ   Úkernel_sizeÚpacked_configrP  ÚpcÚstridesÚpaddingsÚ	dilationsÚoutput_paddingÚ	group_nums
   &&&       r   Úget_conv_pool_args_2d_from_packÚ0_NnapiSerializer.get_conv_pool_args_2d_from_packŸ  sð   € Ù -Ó.¡˜1�f‰fŽh¡ˆÐ.Øˆa�5�AŒ:Ü Ð#<¸RÀ½U¸GÐ!DÓEÐEØ�a•5˜"˜Q�%�.ˆØ�q•E˜2˜a�5�>ˆØ˜•U˜B˜q�E�Nˆ	Ø˜Q�%  A¥˜ˆØ�q•Eˆ	äˆr‹7�bŒ=Ü Ð#?ÄÀBÃ¸yÐ!IÓJÐJØ˜a ˜VÔ#Ü Ø9¸.Ð9IÐJóð ð ×0Ñ0Ø (°yó
ð 	
ùò! /s   …C$c                óÖ   € V P                  V4      pV P                  V4      pVf   ^^.pMV P                  V4      pVe   V P                  VR4      w  ršMR p
V P                  WWxV
4      # )Nr¯  )r±  rq  rµ  )rÇ   r¶  ÚstrideÚpaddingÚdilationr±   r¹  rº  r»  rö   r½  s   &&&&&&     r   Úget_conv_pool_args_2d_from_jitÚ/_NnapiSerializer.get_conv_pool_args_2d_from_jit´  s~   € ð ×#Ñ# FÓ+ˆØ×$Ñ$ WÓ-ˆØÒØ˜A˜‰Ià×)Ñ)¨(Ó3ˆIØÒØ×2Ñ2°5¸)ÓD‰LˆAˆyàˆIØ×0Ñ0Ø (°yó
ð 	
r   c                óª  € \        V4      p\        V4      ^8w  d   \        R\        V4       24      h\        V4      ^8w  d   \        R\        V4       24      h\        V4      ^8w  d   \        R\        V4       24      h\        V4      ^8w  d   \        R\        V4       24      hVw  rxWwWˆ.p	\        Wb,           V	,           V,           V.,           !  # )r¦   z expected len(kernels) == 2, got z expected len(strides) == 2, got z!expected len(paddings) == 2, got z"expected len(dilations) == 2, got )rœ   rÑ   rÒ   r¤   )
rÇ   r¶  r¹  rº  r»  r½  ÚkernelsÚphÚpwÚreal_paddingss
   &&&&&&    r   rµ  Ú-_NnapiSerializer.get_conv_pool_args_2d_commonÅ  sÒ   € ô �{Ó#ˆäˆw‹<˜1ÔÜ Ð#CÄCÈÃLÀ>Ð!RÓSÐSÜˆw‹<˜1ÔÜ Ð#CÄCÈÃLÀ>Ð!RÓSÐSÜˆx‹=˜AÔÜ Ð#DÄSÈÃ]ÀOÐ!TÓUÐUÜˆy‹>˜QÔÜ Ð#EÄcÈ)ÃnÐEUÐ!VÓWÐWð ‰ˆØ Ð(ˆäØÕ -Õ/°)Õ;¸y¸kÕIñ
ð 	
r   c                ó  € V P                  R 4       V P                  R4       . p. p\        VP                  P                  4       4      pV P	                  WfP                  4       V4       \        \        \        VP                  P                  4       4      R,          V4      4       FP  w  pw  r‰V P                  WxV	4      p
VP                  V P                  V
,          P                  P                  4       KR  	  \        VP                  P                  4       4       F,  w  r¼\        P!                  RW¼4       V P#                  V4       K.  	  VP                  P%                  4       pVP'                  4       ^8w  d   \)        RVP'                  4        24      hVP+                  4       ^ 8w  d   \)        RVP+                  4        24      hVP-                  ^ 4      pR.pVP                  4       P/                  4       R8X  d   V.pRpM^VP                  4       P/                  4       R8X  d    V P0                  V,          p\3        V4      pM\5        R	VP                  4        24      hVe=   \3        V4      \3        V4      8w  d$   \)        R\3        V4       R\3        V4       24      h\        V4       F¶  w  ppV P6                  V,          p
V P8                  P                  V
4       VP                  V P                  V
,          P                  P                  4       V'       d
   VV,          MR
pVP                  V P;                  W P                  V
,          V4      R,           4       K¸  	  VP                  R4       . p^p\<        P>                  ! RV\3        V P                  4      \3        V P@                  4      \3        V PB                  4      \3        V P                  4      \3        V P8                  4      4      pVP                  V4       V PE                  4       w  ppVPG                  R V P                   4       4       VPG                  V4       VPG                  R V PB                   4       4       RPI                  V4      .p\3        V^ ,          4      pV^,          ^ 8w  d   \)        RV 24      h\K        V^,          4      p\        V P                  4       FÀ  w  p
w  ppp p\M        VV4      p\        V4       FM  w  ppV^ 8X  d8   \O        VV4      pV PP                  P                  RV R\S        V
V4       24       V^,          pKO  	  \T        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      pVP                  V PW                  V4      4       KÂ  	  VPG                  V4       VP                  V PW                  V PX                  4      4       VP                  V PW                  V P                  4      4       VP                  V PW                  V P8                  4      4       V PP                  PG                  V4       \Z        PZ                  ! RRPI                  V4      4      V P\                  VVV PP                  V3# )FT:rÞ   NNzProcessing node #%d: %rz%expected retn.inputsSize() == 1, got z&expected retn.outputsSize() == 0, got zreturn [ro  Ú	TupleTypezUnsupported return type: Nzreturn_shapes length z != return_values length r�  r9  Úiiiiiic              3   ón   "  € T F+  w  rr4p\         P                  ! R V\        V4      WE4      x € K-  	  R# 5i)ÚiifiN)rB  rC  rÑ   )Ú.0Útr™   Ú_mrk  Úzs   &     r   Ú	<genexpr>Ú3_NnapiSerializer.serialize_model.<locals>.<genexpr>'  s0   é € ð 
ÙIVÑ5E°a¸BÀ1ŒF�KŠK˜ ¤3 q£6¨1×0Ð0Ëùs   ‚35c              3   óR   "  € T F  p\         P                  ! R .VO5!  x € K  	  R# 5i)rA  N)rB  rC  )rÑ  Úxs   & r   rÕ  rÖ  +  s!   é € ÐE±_°”V—[’[ Ð+¨×+Ð+³_ùs   ‚%'r   z)model_offset must be divisible by 4, got z
ser_model[z] = c              3   ó6   "  € T F  qR8w  d   TM^ x € K  	  R# 5i)rÞ   Nr�  r   )rÑ  r™   s   & r   rÕ  rÖ  D  s   é € Ð=±u°! Bœw™!¨AÔ-³uùó   ‚rP  r�  )/r[  ÚnextÚgraphr  rƒ  r  r:  rÓ   rœ   r>  rÔ   rþ   rÄ   r    ÚnodesrZ   ÚdebugÚadd_nodeÚreturn_nodeÚ
inputsSizerÒ   ÚoutputsSizeÚinputsAtr†  r  rÑ   rÅ   r	  r  r“  rB  rC  rÿ   r   Úserialize_valuesrx  r�  r²   rï   ró   r  rù   r�   Úserialize_intsr  r_  r  ) rÇ   Úmodelr  Úreturn_shapesÚinp_dim_ordersÚout_dim_ordersÚself_jitvalr<  Úinput_valueÚinput_tensorr÷   ÚidxÚnodeÚretnÚ
retn_inputÚtemplate_return_linesÚreturn_valuesÚretval_countrP  ÚvrË   ÚversionÚheaderÚserialized_valuesÚserialized_value_dataÚmodel_offsetrö   r–   rÄ   r™   rk  Úpt_ds    &&&&                            r   Úserialize_modelÚ _NnapiSerializer.serialize_modelÛ  s†  € Ø×&Ñ& uÔ-Ø×&Ñ& tÔ,àˆØˆä˜5Ÿ;™;×-Ñ-Ó/Ó0ˆØ×Ñ ×-=Ñ-=Ó-?ÀÔGä4=Ü”�U—[‘[×'Ñ'Ó)Ó*¨2Õ.°Ó7ö5
Ñ0ˆGÑ0�kð ×5Ñ5Ø lóˆEð ×!Ñ! $§-¡-°Õ"6×"@Ñ"@×"FÑ"FÖGñ5
ô # 5§;¡;×#4Ñ#4Ó#6Ö7‰IˆCÜ�I‰IÐ/°Ô;Ø�M‰M˜$Öñ 8ð �{‰{×&Ñ&Ó(ˆØ�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð ×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð —]‘] 1Ó%ˆ
Ø!+ ÐØ�?‰?Ó×!Ñ!Ó# |Ô3Ø'˜LˆMØ‰LØ�_‰_Ó×#Ñ#Ó%¨Ô4Ø ×1Ñ1°*Õ=ˆMÜ˜}Ó-‰LäØ+¨J¯O©OÓ,=Ð+>Ð?óð ð Ò$Ü�=Ó!¤S¨Ó%7Ô7Ü$Ø+¬C°Ó,>Ð+?Ð?XÔY\Ð]jÓYkÐXlÐmóð ô ˜mÖ,‰DˆAˆqØ×+Ñ+¨AÕ.ˆEØ�L‰L×Ñ Ô&Ø×!Ñ! $§-¡-°Õ"6×"@Ñ"@×"FÑ"FÔGß(5�M !Ö$¸4ˆEØ!×(Ñ(Ø×4Ñ4°U¿M¹MÈ%Õ<PÐRWÓXØõöñ -ð 	×$Ñ$ SÔ)àˆàˆÜ—’ØØÜ�—‘ÓÜ�—‘ÓÜ�—‘Ó Ü�—‘ÓÜ�—‘Óó
ˆð 	�‰�VÔà37×3HÑ3HÓ3JÑ0ÐÐ0à�‰ñ 
ØIMÏÊó
ô 	
ð 	�‰Ð&Ô'Ø�‰ÑE°T·_²_ÓEÔEð —‘˜%“Ð!ˆÜ˜5 �8“}ˆð ˜!Õ˜qÔ Ü Ø;¸L¸>ÐJóð ô ˜<¨!Õ+Ó,ˆä1:¸4¿=¹=Ö1IÑ-ˆEÑ-�A�t˜Y¨¨1Ü˜d IÓ.ˆEÜ! %Ö(‘��1Ø˜”6Ü*¨9°aÓ8�DØ×9Ñ9×@Ñ@Ø$ \ N°$´yÀÈÓ7MÐ6NÐOôð  Õ!’ñ )÷ ”EÑ=±uÓ=—E‘EÑ=±uÓ=Ó=ˆEØ�L‰L˜×,Ñ,¨UÓ3Ö4ñ 2Jð 	�‰Ð*Ô+Ø�‰�T×(Ñ(¨×)<Ñ)<Ó=Ô>Ø�‰�T×(Ñ(¨¯©Ó5Ô6Ø�‰�T×(Ñ(¨¯©Ó6Ô7à×-Ñ-×4Ñ4Ð5JÔKô �KŠK˜˜SŸX™X e›_Ó-Ø×ÑØØØ×1Ñ1Øð
ð 	
r   c           	     ó  € . p. p\        V P                  4      \        V P                  4      8w  d8   \        R \        V P                  4       R\        V P                  4       24      h\	        V P                  V P                  4       Fx  w  w  r4p\        V4      pV^,
          ^,          ^,           pVRWv,
          ,          ,           pVP                  \        P                  ! RW4V4      4       VP                  V4       Kz  	  W3# )zvalues length z != value_data length rZ  rA  )rÑ   rÿ   r  rÒ   rÓ   rÔ   rB  rC  )	rÇ   r÷  rø  Úop_indexÚsource_typeÚdataÚsource_lengthÚphysical_lengthÚpadded_datas	   &        r   rä  Ú!_NnapiSerializer.serialize_valuesW  sè   € ØÐØ "ÐÜˆt�{‰{Óœs 4§?¡?Ó3Ô3Ü Ø ¤ T§[¡[Ó!1Ð 2Ð2HÌÈTÏ_É_ÓI]ÐH^Ð_óð ô .1°·±¸d¿o¹oÖ-NÑ)Ñ#ˆX TÜ ›IˆMð !.°Õ 1°SÕ8¸AÕ=ˆOØ %¨?Õ+JÕ"KÕLˆKà×$Ñ$Ü—’˜E 8¸-ÓHôð "×(Ñ(¨Ö5ñ .Oð !Ð7Ð7r   c                óL   € \         P                   ! R V 4      P                  4       # r^  )r_  r`  )Úintss   &r   rå  Ú_NnapiSerializer.serialize_intsl  s   € ä�{Š{˜3 Ó%×-Ñ-Ó/Ð/r   zprim::GetAttrc                ó$   € V P                  V4      # rŒ   )Úadd_getattr©rÇ   rî  s   &&r   Ú<lambda>Ú_NnapiSerializer.<lambda>q  ó   € ¨D×,<Ñ,<¸TÔ,Br   zprim::Constantc                ó$   € V P                  V4      # rŒ   )Úadd_constant_noder
  s   &&r   r  r  r  s   € ¨T×-CÑ-CÀDÔ-Ir   zprim::ListConstructc                ó$   € V P                  V4      # rŒ   )Úadd_list_constructr
  s   &&r   r  r  s  s   € °$×2IÑ2IÈ$Ô2Or   zprim::TupleConstructc                ó$   € V P                  V4      # rŒ   )Úadd_tuple_constructr
  s   &&r   r  r  t  s   € °4×3KÑ3KÈDÔ3Qr   zaten::unsqueezec                ó$   € V P                  V4      # rŒ   )Úadd_unsqueezer
  s   &&r   r  r  u  s   € ¨d×.@Ñ.@ÀÔ.Fr   zaten::toc                ó$   € V P                  V4      # rŒ   )Úadd_tor
  s   &&r   r  r  v  s   €  t§{¡{°4Ô'8r   zaten::detachc                ó$   € V P                  V4      # rŒ   ©Ú	_identityr
  s   &&r   r  r  w  s   € ¨4¯>©>¸$Ô+?r   zaten::reshapec                ó$   € V P                  V4      # rŒ   )Úadd_reshaper
  s   &&r   r  r  x  r  r   zaten::flattenc                ó$   € V P                  V4      # rŒ   )Úadd_flattenr
  s   &&r   r  r  y  r  r   zaten::slicec                ó$   € V P                  V4      # rŒ   )Ú	add_slicer
  s   &&r   r  r  z  ó   € ¨$¯.©.¸Ô*>r   z
aten::sizec                ó$   € V P                  V4      # rŒ   )Úadd_sizer
  s   &&r   r  r  {  ó   € ¨¯©°tÔ)<r   z	aten::catc                ó$   € V P                  V4      # rŒ   )Úadd_catr
  s   &&r   r  r  |  s   € ¨¯©°TÔ(:r   z
aten::meanc                ó$   € V P                  V4      # rŒ   )Úadd_meanr
  s   &&r   r  r  }  r$  r   zaten::quantize_per_tensorc                ó$   € V P                  V4      # rŒ   )Úadd_quantizer
  s   &&r   r  r  ~  s   € ¸×8IÑ8IÈ$Ô8Or   zaten::dequantizec                ó$   € V P                  V4      # rŒ   )Úadd_dequantizer
  s   &&r   r  r    ó   € ¨t×/BÑ/BÀ4Ô/Hr   z	aten::addc                ó`   € V P                  V\        P                  \        P                  4      # rŒ   )Úadd_add_sub_opr   r   r~   r   r
  s   &&r   r  r  €  ó#   € ¨×(;Ñ(;ØÔ%×)Ñ)¬>×+DÑ+Dô)
r   z	aten::subc                ó`   € V P                  V\        P                  \        P                  4      # rŒ   )r/  r   rB   r~   r   r
  s   &&r   r  r  ƒ  r0  r   z	aten::mulc                ó`   € V P                  V\        P                  \        P                  4      # rŒ   )Ú(add_pointwise_simple_binary_broadcast_opr   r0   r~   r   r
  s   &&r   r  r  †  ó#   € ¨×(UÑ(UØÔ%×)Ñ)¬>×+DÑ+Dô)
r   z	aten::divc                ó`   € V P                  V\        P                  \        P                  4      # rŒ   )r3  r   r<   r~   r   r
  s   &&r   r  r  ‰  r4  r   z
aten::reluc                óB   € V P                  V\        P                  4      # rŒ   )Úadd_pointwise_simple_unary_opr   r1   r
  s   &&r   r  r  Œ  s   € ¨×)KÑ)KØÔ%×*Ñ*ô*
r   zaten::sigmoidc                óB   € V P                  V\        P                  4      # rŒ   )r7  r   r,   r
  s   &&r   r  r  �  s   € ¨D×,NÑ,NØÔ%×.Ñ.ô-
r   zaten::softmaxc                ó$   € V P                  V4      # rŒ   )Úadd_softmaxr
  s   &&r   r  r  ’  r  r   zaten::hardtanhc                ó$   € V P                  V4      # rŒ   )Úadd_hardtanhr
  s   &&r   r  r  “  s   € ¨T×->Ñ->¸tÔ-Dr   zaten::avg_pool2dc                ó$   € V P                  V4      # rŒ   )Úadd_avg_pool2dr
  s   &&r   r  r  ”  r-  r   zaten::max_pool2dc                óB   € V P                  V\        P                  4      # rŒ   )Úadd_pool2d_noder   r/   r
  s   &&r   r  r  •  s   € ¨t×/CÑ/CØÔ%×1Ñ1ô0
r   zaten::adaptive_avg_pool2dc                ó$   € V P                  V4      # rŒ   )Úadd_adaptive_avg_pool2dr
  s   &&r   r  r  ˜  s   € ¸×8TÑ8TØô9
r   zaten::upsample_nearest2dc                ó$   € V P                  V4      # rŒ   )Úadd_upsample_nearest2dr
  s   &&r   r  r  ›  s   € °t×7RÑ7RØô8
r   zaten::preluc                ó$   € V P                  V4      # rŒ   )Úadd_prelu_opr
  s   &&r   r  r  ž  s   € ¨$×*;Ñ*;¸DÔ*Ar   zaten::addmmc                ó$   € V P                  V4      # rŒ   )Ú	add_addmmr
  s   &&r   r  r  Ÿ  r!  r   zaten::linearc                ó$   € V P                  V4      # rŒ   )Ú
add_linearr
  s   &&r   r  r     ó   € ¨4¯?©?¸4Ô+@r   zaten::_convolutionc                ó$   € V P                  V4      # rŒ   )Úadd_conv_underscorer
  s   &&r   r  r  ¡  s   € °×1IÑ1IÈ$Ô1Or   zaten::conv2dc                ó$   € V P                  V4      # rŒ   )Ú
add_conv2dr
  s   &&r   r  r  ¢  rK  r   zaten::log_softmaxc                ó$   € V P                  V4      # rŒ   )Úadd_log_softmaxr
  s   &&r   r  r  £  s   € °×0DÑ0DÀTÔ0Jr   zquantized::linearc                ó$   € V P                  V4      # rŒ   )Úadd_qlinearr
  s   &&r   r  r  ¤  s   € °×0@Ñ0@ÀÔ0Fr   zquantized::conv2dc                óB   € V P                  V\        P                  4      # rŒ   ©Úadd_qconv2dr~   r   r
  s   &&r   r  r  ¥  s   € °×0@Ñ0@Ø”.×+Ñ+ô1
r   zquantized::conv2d_reluc                óB   € V P                  V\        P                  4      # rŒ   )rV  r~   r€   r
  s   &&r   r  r  ¨  s   € °T×5EÑ5EØ”.×+Ñ+ô6
r   zquantized::conv_transpose2dc                óF   € V P                  V\        P                  R R7      # )T)râ   rU  r
  s   &&r   r  r  «  s"   € ¸$×:JÑ:JØ”.×+Ñ+°tð ;Kô ;
r   zquantized::addc                ó`   € V P                  V\        P                  \        P                  4      # rŒ   )Úadd_qaddr   r   r~   r   r
  s   &&r   r  r  ®  ó!   € ¨T¯]©]ØÔ%×)Ñ)¬>×+DÑ+Dô.
r   zquantized::add_reluc                ó`   € V P                  V\        P                  \        P                  4      # rŒ   )rZ  r   r   r~   r€   r
  s   &&r   r  r  ±  s!   € °$·-±-ØÔ%×)Ñ)¬>×+DÑ+Dô3
r   zquantized::mulc                ó`   € V P                  V\        P                  \        P                  4      # rŒ   )rZ  r   r0   r~   r   r
  s   &&r   r  r  ´  r[  r   c                óº   € V P                   P                  VP                  4       4      pV'       g"   \        R VP                  4       : RV: 24      hV! W4       R# )zUnsupported node kind (z
) in node N)Ú	ADDER_MAPrp  r†  rÅ   )rÇ   rî  Úadders   && r   rß  Ú_NnapiSerializer.add_node¹  sL   € Ø—‘×"Ñ" 4§9¡9£;Ó/ˆßÜØ)¨$¯)©)«+©¸
À4Á(ÐKóð ñ 	ˆdÖr   c                óˆ   € V P                  VP                  ^ 4      4      w  r#VP                  ^ 4      pW P                  V&   R# rý   )rg  rã  Ú	outputsAtr	  )rÇ   rî  r¡  Ú_in_operr  s   &&   r   r  Ú_NnapiSerializer._identityÁ  s9   € Ø×;Ñ;¸D¿M¹MÈ!Ó<LÓM‰ˆØ—‘ Ó"ˆØ*/×Ñ Ó'r   c                ó  € VP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       ^8w  d   \        RVP                  4        24      hV P                  VP	                  ^ 4      4      w  r#\        V4      P                  R4      '       g   \        RV 24      hVP                  R4      p\        W44      pVP                  ^ 4      pVP                  4       pV P                  WgV4       R# )rÞ   ú%expected node.inputsSize() == 1, got ú&expected node.outputsSize() == 1, got z
__torch__.z3expected obj_ctype to start with '__torch__.', got ÚnameN)rá  rÒ   râ  rq  rã  r+  Ú
startswithrk  r0  rc  r  rƒ  )rÇ   rî  Ú	obj_ctypeÚobjri  r    Úoutputr‚  s   &&      r   r	  Ú_NnapiSerializer.add_getattrÆ  sï   € Ø�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð ×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð ×0Ñ0°·±¸qÓ1AÓB‰ˆ	Ü�9‹~×(Ñ(¨×6Ò6Ü ØEÀiÀ[ÐQóð ð �v‰v�f‹~ˆÜ˜Ó"ˆØ—‘ Ó"ˆØ—‘“ˆØ×Ñ ¨uÖ5r   c                óP  € VP                  4       ^ 8w  d   \        RVP                  4        24      hVP                  4       ^8w  d   \        RVP                  4        24      hVP                  ^ 4      pVP	                  4       pVP                  4       pV P                  W#V4       R# )r   z%expected node.inputsSize() == 0, got rh  N)rá  rÒ   râ  rc  r  ÚtoIValuerƒ  )rÇ   rî  rm  r‚  r    s   &&   r   r  Ú"_NnapiSerializer.add_constant_nodeÚ  s›   € Ø�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð ×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð —‘ Ó"ˆØ—‘“ˆØ—‘Ó!ˆØ×Ñ ¨uÖ5r   c                óV  € VP                  4       ^8w  d   \        RVP                  4        24      hVP                  ^ 4      pVP                  4       p. p. pVP	                  4        Fz  pVe6   W`P
                  9   d&   V P                  V4      w  rxVP                  V4       MRpVe7   VP                  4       P                  4       R8X  d   VP                  V4       Kx  RpK|  	  Ve   V P                  W#V4       Ve   V P                  W%4       Vf   Vf   \        RV: 24      hR# R# )rÞ   rh  Nro  zMUnable to handle ListConstruct node.  Neither all constants nor all tensors. )râ  rÒ   rc  r  r  r  rq  rÔ   r†  rƒ  r~  rÅ   )	rÇ   rî  rm  r‚  Ú
const_valsÚtensorsÚinprö   Úvals	   &&       r   r  Ú#_NnapiSerializer.add_list_constructè  s!  € Ø×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð —‘ Ó"ˆØ—‘“ˆØ"$ˆ
Ø!ˆØ—;‘;–=ˆCØÒ%¨#·±Ô*?Ø×0Ñ0°Ó5‘�Ø×!Ñ! #Õ&à!�
ØÒ" s§x¡x£z§¡Ó'8¸LÔ'HØ—‘˜sÖ#à’ñ !ð Ò!ð ×#Ñ# F°:Ô>ØÒØ×$Ñ$ VÔ5ØÒ '¢/ÜØ_Ð`dÑ_gÐhóð ñ #2Ñr   c                óÞ   € VP                  4       ^8w  d   \        RVP                  4        24      hVP                  ^ 4      p\        VP	                  4       4      pV P                  W#4       R# )rÞ   rh  N)râ  rÒ   rc  rœ   r  r~  )rÇ   rî  rm  rÿ   s   &&  r   r  Ú$_NnapiSerializer.add_tuple_construct  sb   € Ø×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð —‘ Ó"ˆÜ�d—k‘k“mÓ$ˆØ× Ñ  Ö0r   c                ó‚  € VP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       ^8w  d   \        RVP                  4        24      hV P                  VP	                  ^ 4      4      w  r#V P                  VP	                  ^4      R4      w  rEVP                  \        P                  8w  d   \        RVP                   24      hV^ 8¼  d   TM"V\        VP                  4      ,           ^,           p\        VP                  4      pVP                  V^4       \        V4      pVP                  VR7      p	R.^,          p
W*^ &   V P                  V4      V
^&   R.^,          pV P!                  VP#                  ^ 4      V	4      V^ &   V P%                  \&        P(                  W«4       R# )r¦   ú%expected node.inputsSize() == 2, got rh  r¯  z,expected dim_order PRESUMED_CONTIGUOUS, got ©rË   N)rá  rÒ   râ  rl  rã  rq  rÄ   r¼   r½   rÑ   rË   rœ   Úinsertr�   r   rR  r  rc  rz  r   rP   )rÇ   rî  r¡  Úin_operrö   rø   Úreal_dimÚout_shape_listré   r¢  r  r  s   &&          r   r  Ú_NnapiSerializer.add_unsqueeze  s•  € Ø�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð ×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð ×EÑEÀdÇmÁmÐTUÓFVÓW‰ˆà×(Ñ(¨¯©°qÓ)9¸9ÓE‰ˆØ×Ñ¤× <Ñ <Ô<Ü Ø>¸w×?PÑ?PÐ>QÐRóð ð  œ(‘3¨¬c°'·-±-Ó.@Õ(@À1Õ(DˆÜ˜gŸm™mÓ,ˆØ×Ñ˜h¨Ô*Ü˜.Ó)ˆ	Ø×#Ñ#¨)Ð#Ó4ˆà�˜!•ˆØˆq‰	Ø×1Ñ1°#Ó6ˆˆq‰	à�&˜1•*ˆØ×,Ñ,¨T¯^©^¸AÓ->ÀÓIˆ�‰
à×ÑÔ.×:Ñ:¸FÖLr   c                ó(   € V P                  V4       R # rŒ   r  r
  s   &&r   r  Ú_NnapiSerializer.add_to1  s   € à�‰�tÖr   c                ó¨  € VP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       ^8w  d   \        RVP                  4        24      hV P                  VP	                  ^ 4      4      w  r#V P                  VP	                  ^4      4      w  rEVP                  4       R8w  d   \        RVP                  4        24      hVP                  4       P                  4       R8w  d+   \        RVP                  4       P                  4        24      h\        V4      ^8H  ;'       d    V^,          R
8H  pVP                  \        P                  8w  d   V'       g   \        R4      h\        P                  ! ^4      P                  VP                   4      P#                  V4      P                   pVP%                  V\        P                  R7      pR	.^,          p	W)^ &   V P'                  V4      V	^&   R	.^,          p
V P)                  VP+                  ^ 4      V4      V
^ &   V P-                  \.        P0                  Wš4       R	# )r¦   r{  rh  r®  z#expected shape_ctype ListType, got r¯  z)expected shape element type IntType, got zSCurrently, reshape is only supported on NHWC tensors if the target size is [X, -1].rî   Nr�  )rá  rÒ   râ  rl  rã  rq  r†  r°  rÑ   rÄ   r¼   r½   rÅ   ÚtorchÚzerosÚexpandrË   Úreshaper   ra  r  rc  rz  r   r4   )rÇ   rî  r¡  r~  Úshape_ctyperË   Úis_trivial_reshaperé   r¢  r  r  s   &&         r   r  Ú_NnapiSerializer.add_reshape5  s  € Ø�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð ×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð ×EÑEÀdÇmÁmÐTUÓFVÓW‰ˆà!×4Ñ4°T·]±]À1Ó5EÓFÑˆØ×ÑÓ Ô+Ü Ø5°k×6FÑ6FÓ6HÐ5IÐJóð ð ×%Ñ%Ó'×,Ñ,Ó.°)Ô;Ü Ø;¸K×<VÑ<VÓ<X×<]Ñ<]Ó<_Ð;`Ðaóð ô ! ›Z¨1™_×?Ð?°°qµ¸R±Ðà×Ñ¤× <Ñ <Ô<×EWÜØeóð ô
 —K’K “N×)Ñ)¨'¯-©-Ó8×@Ñ@ÀÓG×MÑMˆ	Ø×#Ñ#Ø¤x×'CÑ'Cð $ó 
ˆð �˜!•ˆØˆq‰	Ø×1Ñ1°%Ó8ˆˆq‰	à�&˜1•*ˆØ×,Ñ,¨T¯^©^¸AÓ->ÀÓIˆ�‰
à×ÑÔ.×6Ñ6¸ÖHr   c           	     ó¼  € VP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       ^8w  d   \        RVP                  4        24      hV P                  VP	                  ^ 4      4      w  r#V P                  VP	                  ^4      R4      w  rEV P                  VP	                  ^4      R4      w  rg\        VP                  4      ^8H  ;'       dS    VP                  ^,          ^8H  ;'       g5    VP                  ^,          ^8H  ;'       d    VP                  ^,          ^8H  pVP                  \        P                  8w  d   V'       g   \        R4      hV^ 8  d   V\        VP                  4      ,          pV^ 8  d   V\        VP                  4      ,          pVP                  RV \        P                  ! \        P                  VP                  WW^,            4      3,           VP                  V^,           R ,           p	\         ;QJ d/    R VP                  WW^,             4       F  '       g   K   RM$	  RM ! R VP                  WW^,             4       4      '       d   \        R	4      hVP                  RV VP                  V^,           R ,           p
V
P#                  ^ 4      ^8”  d   \        R
4      hVP%                  V	\        P                  R7      pV P'                  VP)                  ^ 4      V4      p\+        V	4       F9  w  rÞV^ 8X  g   K  V P-                  WÍW#P                  P/                  ^ 4      4       K;  	  \0        ;QJ d    . R V	 4       F  NK  	  5M! R V	 4       4      pR.^,          pVV^ &   V P3                  V4      V^&   R.^,          pVV^ &   V P5                  \6        P8                  VV4       R# )rò   ú%expected node.inputsSize() == 3, got rh  r¯  zGCurrently, flatten is not supported on NHWC tensors unless C=1 or H=W=1Nc              3   ó*   "  € T F	  q^ 8H  x € K  	  R# 5irý   r   ©rÑ  rø   s   & r   rÕ  Ú/_NnapiSerializer.add_flatten.<locals>.<genexpr>ƒ  s   é € ÐJÑ#I˜C�aŽxÓ#Iùs   ‚TFz-Flattening flexible dims is not supported yetzOnly 1 dim can be flexiblerî   c              3   ó6   "  € T F  q^ 8w  d   TMRx € K  	  R# 5i)r   Nr�  r   r�  s   & r   rÕ  r�  ”  s   é € ÐF¹I°S q¤™¨bÔ0»IùrÚ  )rá  rÒ   râ  rg  rã  rq  rÑ   rË   rÄ   r¼   r½   rÅ   Ú	functoolsÚreduceÚoperatorÚmulÚanyÚcountr   r  rc  r:  rš  rŸ   r�   ra  rz  r   r4   )rÇ   rî  r¡  r~  Ú_start_ctypeÚ	start_dimÚ
_end_ctypeÚend_dimÚis_trivial_flattenré   Únon_flattened_dimsr¢  Úout_idrí  rø   Úinputs_1r  r  s   &&                r   r  Ú_NnapiSerializer.add_flatten`  sQ  € Ø�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð ×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð ×:Ñ:¸4¿=¹=ÈÓ;KÓL‰ˆà"&×"9Ñ"9¸$¿-¹-ÈÓ:JÈIÓ"VÑˆØ"×5Ñ5°d·m±mÀAÓ6FÈ	ÓRÑˆ
ô ! §¡Ó/°1Ñ4÷ 
ð 
Ø�M‰M˜!Õ Ñ!×VÐV g§m¡m°AÕ&6¸!Ñ&;×&UÐ&UÀÇÁÈaÕ@PÐTUÑ@Uð 	ð ×Ñ¤× <Ñ <Ô<×EWÜØYóð ð �qŒ=Øœ˜WŸ]™]Ó+Õ+ˆIØ�QŒ;Ø”s˜7Ÿ=™=Ó)Õ)ˆGð �M‰M˜*˜9Ð%Ü×Ò¤§¡¨g¯m©m¸IÐRSÍÐ.TÓUÐWõXà�m‰m˜G a�K˜MÐ*õ+ð 	÷ ‹3ÑJ 7§=¡=°Àq½[Ñ#IÓJ�3�3Š3ÑJ 7§=¡=°Àq½[Ñ#IÓJ×JÒJÜØ?óð ð %Ÿ]™]¨:¨IÐ6¸¿¹ÀwÐQRÅ{À}Ð9UÕUÐØ×#Ñ# AÓ&¨Ô*ÜÐ8Ó9Ð9à×#Ñ#Ø¤x×'CÑ'Cð $ó 
ˆð ×(Ñ(¨¯©¸Ó):¸HÓEˆä! )Ö,‰HˆCØ�aŽxØ×*Ñ*¨6¸¿}¹}×?RÑ?RÐSTÓ?UÖVñ -÷ ”5ÑF¹IÓF—5‘5ÑF¹IÓFÓFˆØ�˜!•ˆØˆˆq‰	Ø×1Ñ1°(Ó;ˆˆq‰	à�&˜1•*ˆØˆ�‰
à×ÑÔ.×6Ñ6¸ÀÖHr   c                óŽ  aa€ VP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       ^8w  d   \        RVP                  4        24      hV P                  VP	                  ^ 4      4      w  r#V P                  VP	                  ^4      4      w  poV P                  VP	                  ^4      4      w  rEV P                  VP	                  ^4      4      w  rFV P                  VP	                  ^4      4      w  rGVf   ^ pVf   \        P                  pV^ 8  d   WSP                  S,          ,          pMV\        P                  8X  d   ^ pV^ 8X  d)   V\        P                  8X  d   V P                  V4       R# VP                  S,          ^ 8X  d   \        R4      hV^ 8  d   WcP                  S,          ,          pM(V\        P                  8X  d   VP                  S,          pWV8¼  d   \        R4      hWe,
          V,          o\        ;QJ d+    . VV3R l\        VP                  4       4       F  NK  	  5M$! VV3R l\        VP                  4       4       4      pV P                  VP                  ^ 4      VP                  VR7      4      p	^ p
\        V4       F0  w  r¼V^ 8X  g   K  V P!                  W›W+4       V
^V,          ,          p
K2  	  R.^,          pW-^ &   T P#                  \%        \'        VP                  4      4       Uu. uF  qîS8X  d   TM^ NK  	  up4      V^&   T P#                  \        VP                  4       UUu. uF  w  rìVS8X  d   TMTNK  	  upp4      V^&   T P#                  \%        \'        VP                  4      4       Uu. uF  qîS8X  d   TM^NK  	  up4      V^&   V P)                  ^ 4      V^&   V P)                  V
4      V^&   V P)                  ^ 4      V^&   R.^,          pWŸ^ &   V P+                  \,        P.                  Wß4       R# u upi u uppi u upi )é   ú%expected node.inputsSize() == 5, got rh  Nz#Unable to slice with flexible shapez0Slice start value should be less than stop valuec              3   ó>   <"  € T F  w  rVS8X  d   SMTx € K  	  R # 5irŒ   r   )rÑ  rP  rø   Ú	dim_valueÚout_lens   &  €€r   rÕ  Ú-_NnapiSerializer.add_slice.<locals>.<genexpr>Ê  s"   øé € ð 
Ù=U±6°1�q˜I”~‰G¨3Ô.Ó=Uùs   ƒr|  )rá  rÒ   râ  rg  rã  rq  ÚsysÚmaxsizerË   r  rÅ   r�   r:  r  rc  r   rš  ra  ÚrangerÑ   rR  rz  r   rA   )rÇ   rî  r¡  r~  rö   Ústart_valueÚ
stop_valueÚ
step_valueré   rž  Úend_maskrí  rø   r  rP  r  r¥  r¦  s   &&              @@r   r   Ú_NnapiSerializer.add_slicež  sÅ  ù€ Ø�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð ×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð ×:Ñ:¸4¿=¹=ÈÓ;KÓL‰ˆØ×.Ñ.¨t¯}©}¸QÓ/?Ó@‰ˆˆ9Ø×0Ñ0°·±¸qÓ1AÓB‰ˆØ×/Ñ/°·±¸aÓ0@ÓA‰ˆØ×/Ñ/°·±¸aÓ0@ÓA‰ˆàÒØˆKØÒÜŸ™ˆJà˜Œ?ØŸ=™=¨Õ3Õ3‰KØœCŸK™KÔ'ØˆKà˜!Ô 
¬c¯k©kÔ 9Ø�N‰N˜4Ô Ùà�=‰=˜Õ# qÔ(ÜÐAÓBÐBà˜Œ>ØŸ-™-¨	Õ2Õ2‰JØœ3Ÿ;™;Ô&Ø Ÿ™ yÕ1ˆJàÔ$ÜØBóð ð Õ+°
Õ:ˆß”Eõ 
Ü=FÀwÇ}Á}Ô=Uó
—E‘Eõ 
Ü=FÀwÇ}Á}Ô=Uó
ó 
ˆ	ð ×(Ñ(Ø�N‰N˜1Ó˜w×/Ñ/°iÐ/Ó@ó
ˆð
 ˆÜ! )Ö,‰HˆCØ�aŽxØ×*Ñ*¨6¸ÔCØ˜A �HÕ$’ñ -ð
 �˜!•ˆØˆq‰	Ø×1Ñ1Ü;@ÄÀWÇ]Á]ÓASÔ;TÓUÑ;T°a œN‰[°Ò1Ñ;TÑUó
ˆˆq‰	ð ×1Ñ1ô (¨¯©Ô6ôá6‘F�Að   9œn‘
°#Ò5Ù6òó
ˆˆq‰	ð ×1Ñ1Ü:?ÄÀGÇMÁMÓ@RÔ:SÓTÑ:S°Q 	œ>‰Z¨qÒ0Ñ:SÑTó
ˆˆq‰	ð ×1Ñ1°!Ó4ˆˆq‰	Ø×1Ñ1°(Ó;ˆˆq‰	Ø×1Ñ1°!Ó4ˆˆq‰	à�&˜1•*ˆØ�‰
à×ÑÔ.×<Ñ<¸fÖNùò% Vùóùò Us   Ì"P7Í"P<
Î.Qc                óÞ  € VP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       ^8w  d   \        RVP                  4        24      hV P                  VP	                  ^ 4      4      w  r#V P
                  VP	                  ^4      ,          w  r$VP                  V,          pVP                  ^ 4      pV P                  WfP                  4       V4       R# )r¦   r{  rh  N)
rá  rÒ   râ  rl  rã  r  rË   rc  rƒ  r  )rÇ   rî  rö   r~  r    Úresrm  s   &&     r   r#  Ú_NnapiSerializer.add_sizeï  sÍ   € Ø�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð ×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð ×AÑAÀ$Ç-Á-ÐPQÓBRÓS‰
ˆØ—>‘> $§-¡-°Ó"2Õ3‰ˆØ�m‰m˜EÕ"ˆØ—‘ Ó"ˆØ×Ñ ¯©«°sÖ;r   c                óp  a€ VP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       ^8w  d   \        RVP                  4        24      hV P                  VP	                  ^ 4      ,          pV P                  VP	                  ^4      R4      w  po\        V4      ^ 8:  d   \        R\        V4       24      h. pRp^ pV EFZ  pV P                  V4      w  r‰Vf*   \        V	P                  SR4      p
V	P                  V
R7      pV	P                  VP                  8w  d&   \        RV	P                   RVP                   24      hV	P                  VP                  8w  d&   \        R	V	P                   R
VP                   24      h\        V	P                  SR4      \        VP                  SR4      8w  d<   \        R\        V	P                  SR4       R\        VP                  SR4       24      hVP                  V4       WiP                  S,          ,          pEK]  	  Vf   \        R4      hVP                  \        VP                  SV4      R7      pX	P                  \        P                  8X  dH   \        VP                  4      ^8w  d"   \        R\        VP                  4       24      h. ROS,          pMSpV P!                  VP#                  ^ 4      V4      p\%        VP                  4       F^  w  rÞV^ 8X  g   K  VS8X  d0   RP'                  V3R lV 4       4      pV P)                  WÍV4       KD  V P+                  WÍV^ ,          V4       K`  	  W@P-                  V4      .,           pR.^,          pVV^ &   V P/                  \0        P2                  VV4       R# )r¦   r{  rh  r¯  zexpected len(tensors) > 0, got Nr|  zin_oper.op_type z != out_oper.op_type zin_oper.dim_order z != out_oper.dim_order zshape mismatch: z != zout_oper must not be Nonez9expected len(out_oper.shape) == 4 for CHANNELS_LAST, got ú + c              3   ó<   <"  € T F  p\        VS4      x € K  	  R # 5irŒ   )rù   )rÑ  Úip_idrø   s   & €r   rÕ  Ú+_NnapiSerializer.add_cat.<locals>.<genexpr><  s   øé € Ð&QÉ&À¤y°¸×'<Ð'<Ë&ùs   ƒr�  ©r   rò   rÞ   r¦   )rá  rÒ   râ  r  rã  rq  rÑ   rg  r¢   rË   r   r•   rÄ   rÔ   r¼   r¾   r  rc  r:  r�  r;  rš  rR  rz  r   r    )rÇ   rî  rt  rö   Úin_idsr¢  Úout_dim_sizeru  r¡  r~  ré   Ú	nnapi_dimrž  rí  r™   rË   r  r  rø   s   &&                @r   r&  Ú_NnapiSerializer.add_catÿ  ss  ø€ Ø�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð ×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð ×'Ñ'¨¯©°aÓ(8Õ9ˆØ×(Ñ(¨¯©°qÓ)9¸9ÓE‰ˆˆ3äˆw‹<˜1ÔÜ Ð#BÄ3ÀwÃ<À.Ð!QÓRÐRØˆØˆØˆÜˆCØ!×>Ñ>¸sÓC‰NˆEØÒÜ*¨7¯=©=¸#¸rÓB�	Ø"×+Ñ+°)Ð+Ó<�Ø�‰ (×"2Ñ"2Ô2Ü$Ø& w§¡Ð&7Ð7LÈX×M]ÑM]ÐL^Ð_óð ð × Ñ  H×$6Ñ$6Ô6Ü$Ø(¨×):Ñ):Ð(;Ð;RÐS[×SeÑSeÐRfÐgóð ô ˜gŸm™m¨S°"Ó5¼Ø—‘  Ró:ô ô %Ø&¤~°g·m±mÀSÈ"Ó'MÐ&NÈdÔSaÐbj×bpÑbpÐruÐwyÓSzÐR{Ð|óð ð �M‰M˜%Ô àŸM™M¨#Õ.Õ.‹Lñ- ð0 ÒÜ Ð!<Ó=Ð=Ø×$Ñ$Ü  §¡°°lÓCð %ó 
ˆð ×Ñ¤× 6Ñ 6Ô6Ü�8—>‘>Ó" aÔ'Ü$ØOÔPSÐT\×TbÑTbÓPcÐOdÐeóð ò % SÕ)‰IàˆIà×(Ñ(¨¯©¸Ó):¸HÓEˆÜ §¡Ö/‰FˆCØ�AŽvØ˜#”:Ø!ŸJ™JÔ&QÉ&Ó&QÓQ�EØ×.Ñ.¨v¸EÖBà×.Ñ.¨v¸FÀ1½IÀsÖKñ 0ð ×8Ñ8¸ÓCÐDÕDˆà�&˜1•*ˆØˆ�‰
à×ÑÔ.×<Ñ<¸fÀgÖNr   c                ó
  € VP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       ^8w  d   \        RVP                  4        24      hV P                  VP	                  ^ 4      4      w  r#V P                  VP	                  ^4      4      w  rEVP                  4       R8w  d   \        RVP                  4        24      hVP                  4       P                  4       R8w  d+   \        RVP                  4       P                  4        24      hV P                  VP	                  ^4      R4      w  rgV P                  VP	                  ^4      R4       VP                  \        P                  8X  dW   \        VP                  4      ^8w  d"   \        R	\        VP                  4       24      hV Uu. uF  p. ROV,          NK  	  p	pMTp	\        4       p
V F7  pV^ 8  d   V\        VP                  4      ,          pV
P                  V4       K9  	  VP                  \        P                  8X  dA   V'       g9   V
P                  ^^04      '       g   \        R
V
 24      h\        P                   pMVP                  p. p\#        VP                  4       F9  w  rÞWÚ9  d   VP%                  V4       K  V'       g   K(  VP%                  ^4       K;  	  VP'                  WËR7      pR.^,          pVV^ &   V P)                  V	4      V^&   V P+                  V4      V^&   R.^,          pV P-                  VP/                  ^ 4      V4      V^ &   V P1                  \2        P4                  VV4       R# u upi )r”   ú%expected node.inputsSize() == 4, got rh  r®  z!expected dim_ctype ListType, got r¯  z'expected dim element type IntType, got ÚBoolTypeÚNoneTypez8expected len(in_oper.shape) == 4 for CHANNELS_LAST, got z/expected collapsed_dims to include {2, 3}, got rî   Nr¸  )rá  rÒ   râ  rl  rã  rq  r†  r°  rÄ   r¼   r¾   rÑ   rË   ÚsetÚaddÚ
issupersetr½   r:  rÔ   r   ra  rR  r  rc  rz  r   r=   )rÇ   rî  r¡  r~  Ú	dim_ctyperø   rö   Úkeep_dimr™   r»  Úcollapsed_dimsÚout_dim_orderré   rP  rk  r¢  r  r  s   &&                r   r(  Ú_NnapiSerializer.add_meanH  s   € Ø�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð ×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð ×EÑEÀdÇmÁmÐTUÓFVÓW‰ˆØ×0Ñ0°·±¸qÓ1AÓB‰ˆ	Ø�>‰>Ó˜zÔ)Ü Ð#DÀYÇ^Á^ÓEUÐDVÐ!WÓXÐXØ×#Ñ#Ó%×*Ñ*Ó,°	Ô9Ü Ø9¸)×:RÑ:RÓ:T×:YÑ:YÓ:[Ð9\Ð]óð ð ×-Ñ-¨d¯m©m¸AÓ.>À
ÓK‰ˆà×Ñ §¡¨aÓ 0°*Ô=à×Ñ¤× 6Ñ 6Ô6Ü�7—=‘=Ó! QÔ&Ü$ØNÌsÐSZ×S`ÑS`ÓOaÐNbÐcóð ñ 36Ó6±#¨Qš aŸ˜±#ˆIÐ6ˆIàˆIä›ˆÛˆAØ�1ŒuØ”S˜Ÿ™Ó'Õ'�Ø×Ñ˜qÖ!ñ ð
 ×Ñ¤× 6Ñ 6Ô6¿xØ!×,Ñ,¨a°¨V×4Ò4Ü$ØGÈÐGWÐXóð ô %×8Ñ8‰Mà#×-Ñ-ˆMàˆ	Ü˜gŸm™mÖ,‰DˆAØÔ&Ø× Ñ  Ö#ß‘Ø× Ñ  Ö#ñ	 -ð ×#Ñ#¨)Ð#ÓMˆà�˜!•ˆØˆˆq‰	Ø×1Ñ1°)Ó<ˆˆq‰	Ø×1Ñ1°(Ó;ˆˆq‰	à�&˜1•*ˆØ×,Ñ,¨T¯^©^¸AÓ->ÀÓIˆ�‰
à×ÑÔ.×3Ñ3°V¸WÖEùòI 7s   ÇN c                óˆ  € VP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       ^8w  d   \        RVP                  4        24      hV P                  VP	                  ^ 4      4      w  r#VP
                  \        P                  8w  d   \        R4      hV P                  VP	                  ^4      R4      w  rEV P                  VP	                  ^4      R4      w  rFV P                  VP	                  ^4      R4      w  rGV\        P                  P                  8w  d   \        R4      h\        P                  pVP                  VVVR7      p	R.^,          p
W*^ &   R.^,          pV P!                  VP#                  ^ 4      V	4      V^ &   V P%                  \&        P(                  W«4       R# )	r”   r¾  rh  zqMost hardware backends prefer NHWC quantized tensors.  Try setting `t.nnapi_nhwc = True` on your tensor inputs.  Ú	FloatTyper¯  zKPyTorch NNAPI export only supports quantized tensors with the quint8 dtype.©r•   rÌ   rÍ   N)rá  rÒ   râ  rl  rã  rÄ   r¼   r¾   rÅ   rq  r‰   rŠ   r    r   r   r   r  rc  rz  r   rf   )rÇ   rî  r¡  r~  rö   rÌ   rÍ   Úscalar_typer•   r¢  r  r  s   &&          r   r*  Ú_NnapiSerializer.add_quantize‰  s©  € Ø�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð ×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð ×EÑEÀdÇmÁmÐTUÓFVÓW‰ˆØ×Ñ¤× 6Ñ 6Ô6ÜðMóð ð ×*Ñ*¨4¯=©=¸Ó+;¸[ÓI‰ˆØ×/Ñ/°·±¸aÓ0@À)ÓL‰ˆØ×0Ñ0°·±¸qÓ1AÀ9ÓM‰ˆØÔ*×1Ñ1×7Ñ7Ô7Üð)óð ô $×7Ñ7ˆà×#Ñ#ØØØ!ð $ó 
ˆð �˜!•ˆØˆq‰	à�&˜1•*ˆØ×,Ñ,¨T¯^©^¸AÓ->ÀÓIˆ�‰
à×ÑÔ.×7Ñ7¸ÖIr   c                ó
  € VP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       ^8w  d   \        RVP                  4        24      hV P                  VP	                  ^ 4      4      w  r#VP                  \        P                  R^ R7      pR.^,          pW%^ &   R.^,          pV P                  VP                  ^ 4      V4      V^ &   V P                  \        P                  WV4       R# )rÞ   rg  rh  r"  rË  N)rá  rÒ   râ  rl  rã  r   r   r   r  rc  rz  r   r$   )rÇ   rî  r¡  r~  r¢  r  r  s   &&     r   r,  Ú_NnapiSerializer.add_dequantize±  sû   € Ø�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð ×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð ×EÑEÀdÇmÁmÐTUÓFVÓW‰ˆØ×#Ñ#Ü%×4Ñ4ØØð $ó 
ˆð �˜!•ˆØˆq‰	à�&˜1•*ˆØ×,Ñ,¨T¯^©^¸AÓ->ÀÓIˆ�‰
à×ÑÔ.×9Ñ9¸6ÖKr   c                ó°  € VP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       ^8w  d   \        RVP                  4        24      hV P                  VP	                  ^ 4      4      w  r4TpV\
        P                  8X  d3   VP                  \        P                  8X  d   VP                  ^ RR7      pV P                  VP                  ^ 4      V4      p\        VP                  4       F   w  rxV^ 8X  g   K  V P                  WgW74       K"  	  R.^,          p	W9^ &   R.^,          p
Wj^ &   V P!                  W)V
4       R# )rÞ   rg  rh  )rÍ   rÌ   Ng      p?)rá  rÒ   râ  rg  rã  r   r,   r•   r   r   r   r  rc  r:  rË   rš  rz  )rÇ   rî  ry  r¡  r~  r¢  rž  rí  rø   r  r  s   &&&        r   r7  Ú._NnapiSerializer.add_pointwise_simple_unary_opÊ  s<  € Ø�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð ×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð ×:Ñ:¸4¿=¹=ÈÓ;KÓL‰ˆàˆØÔ(×1Ñ1Ô1ð �‰Ô"3×"GÑ"GÔGØ"×+Ñ+°qÀ	Ð+ÓJ�à×(Ñ(¨¯©¸Ó):¸HÓEˆä! '§-¡-Ö0‰HˆCØ�aŽxØ×*Ñ*¨6¸ÖCñ 1ð �˜!•ˆØˆq‰	à�&˜1•*ˆØ�‰
à×Ñ˜6¨7Ö3r   Úqparamsc          
     óÄ  € VP                  4       ^8w  d   \        RVP                  4        24      hVP                  ^ 4      P                  4       P	                  4       R8w  d:   \        RVP                  ^ 4      P                  4       P	                  4        24      hVP                  ^4      P                  4       P	                  4       R8w  d:   \        RVP                  ^4      P                  4       P	                  4        24      hV P                  VP                  ^ 4      4      '       dQ   V P                  VP                  ^ 4      4      w  rVV P                  VP                  ^4      VP                  4      w  rxM…V P                  VP                  ^4      4      '       dQ   V P                  VP                  ^4      4      w  rxV P                  VP                  ^ 4      VP                  4      w  rVM\        RV R24      hVP                  VP                  8w  d&   \        RVP                   RVP                   24      hV P                  WVWx4      w  rVrx\        VP                  VP                  4      p	VP                  V	R	7      p
Ve   Vw  r¼V
P                  W¼R7      p
V P                  VP!                  ^ 4      V
4      p\#        \%        VP                  VP                  4      4       F¤  w  pw  ppV^8X  d   V^ 8X  d   V P'                  WÞW~4       K+  V^ 8X  d   V^8X  d   V P'                  WÞW^4       KM  V^ 8X  g   KV  V^ 8X  g   K_  V P(                  P+                  R\-        W^4       R\-        W~4       24       V P'                  WÞW^4       K¦  	  R
.^,          pVV^ &   VV^&   V P/                  V4      V^&   R
.^,          pVV^ &   V P1                  VVV4       R
# )zFHelper for pointwise binary broadcast ops with superfluous extra args.rh  ro  ú%expected inputsAt(0) TensorType, got ú%expected inputsAt(1) TensorType, got zCan't do a NNAPI binary op: z on two constantszin0_oper.op_type z != in1_oper.op_type r|  N©rÌ   rÍ   zassert z == )râ  rÒ   rã  r  r†  rd  rg  rr  rÄ   rÅ   r•   r«  rÜ   rË   r   r  rc  r:  rÓ   rš  r  rÔ   rù   rR  rz  )rÇ   rî  ry  Ú	fuse_coderÒ  r¦  r§  r¨  r©  ré   r¢  rÌ   Úzprž  rí  Úd0rÚ   r  r  s   &&&&$              r   Ú_do_add_binaryÚ_NnapiSerializer._do_add_binaryì  s�  € à×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð �=‰=˜Ó× Ñ Ó"×'Ñ'Ó)¨\Ô9Ü Ø7¸¿¹ÀaÓ8H×8MÑ8MÓ8O×8TÑ8TÓ8VÐ7WÐXóð ð �=‰=˜Ó× Ñ Ó"×'Ñ'Ó)¨\Ô9Ü Ø7¸¿¹ÀaÓ8H×8MÑ8MÓ8O×8TÑ8TÓ8VÐ7WÐXóð ð ×&Ñ& t§}¡}°QÓ'7×8Ò8Ø#×@Ñ@ÀÇÁÈqÓAQÓRÑˆFØ#×BÑBØ—‘˜aÓ  (×"4Ñ"4ó ÑˆF�Hð ×(Ñ(¨¯©°qÓ)9×:Ò:Ø#×@Ñ@ÀÇÁÈqÓAQÓRÑˆFØ#×BÑBØ—‘˜aÓ  (×"4Ñ"4ó ÑˆF�Hô Ø.¨v¨hÐ6GÐHóð ð ×Ñ˜x×/Ñ/Ô/Ü Ø# H×$4Ñ$4Ð#5Ð5JÈ8×K[ÑK[ÐJ\Ð]óð ð .2×-IÑ-IØ˜fó.
Ñ*ˆ˜&ô % X§^¡^°X·^±^ÓDˆ	Ø×$Ñ$¨9Ð$Ó5ˆØÒØ‰IˆEØ×(Ñ(¨uÐ(ÓDˆHà×(Ñ(¨¯©¸Ó):¸HÓEˆÜ&¤s¨8¯>©>¸8¿>¹>Ó'JÖK‰MˆC‘�"�bØ�QŒw˜2 œ7Ø×*Ñ*¨6¸ÖDØ�q”˜R 1œWØ×*Ñ*¨6¸ÖDØ�q–˜R 1žWØ×5Ñ5×<Ñ<Øœi¨Ó4Ð5°T¼)ÀFÓ:PÐ9QÐRôð ×*Ñ*¨6¸ÖDñ Lð �˜!•ˆØˆˆq‰	Øˆˆq‰	Ø×1Ñ1°)Ó<ˆˆq‰	à�&˜1•*ˆØˆ�‰
à×Ñ˜6 6¨7Ö3r   c                óŒ   € VP                  4       ^8w  d   \        RVP                  4        24      hV P                  WV4       R# )r¦   r{  N)rá  rÒ   rÚ  )rÇ   rî  ry  r×  s   &&&&r   r3  Ú9_NnapiSerializer.add_pointwise_simple_binary_broadcast_op/  sB   € Ø�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð 	×Ñ˜D¨)Ö4r   c                óö   € VP                  4       ^8w  d   \        RVP                  4        24      hV P                  VP                  ^4      R4      w  rEV^8w  d   \	        R4      hV P                  WV4       R# )rò   r�  r¯  z*NNAPI does not support add/sub with alpha.N)rá  rÒ   rq  rã  rÅ   rÚ  )rÇ   rî  ry  r×  rö   Úalphas   &&&&  r   r/  Ú_NnapiSerializer.add_add_sub_op6  sx   € Ø�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð ×*Ñ*¨4¯=©=¸Ó+;¸YÓG‰ˆØ�AŒ:ÜØ<óð ð 	×Ñ˜D¨)Ö4r   c                ó  € VP                  4       ^8w  d   \        RVP                  4        24      hV P                  VP                  ^4      R4      w  rEV P                  VP                  ^4      R4      w  rFV P	                  WW5V3R7       R# )r”   r¾  rÊ  r¯  )rÒ  N)rá  rÒ   rq  rã  rÚ  )rÇ   rî  ry  r×  rö   rÌ   rÍ   s   &&&&   r   rZ  Ú_NnapiSerializer.add_qaddD  s„   € Ø�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð ×*Ñ*¨4¯=©=¸Ó+;¸[ÓI‰ˆØ×/Ñ/°·±¸aÓ0@À)ÓL‰ˆà×Ñ˜D¨)ÀZÐ=PÐÖQr   c                ón  € VP                  4       ^8w  d   \        RVP                  4        24      hV P                  VP                  ^ 4      4      w  r#V P	                  VP                  ^4      R4      w  rEV P                  VP                  ^ 4      V4      p\        VP                  4       F   w  rxV^ 8X  g   K  V P                  WgW'4       K"  	  R.^,          p	W)^ &   V P                  R4      V	^&   V P                  V4      V	^&   R.^,          p
Wj^ &   V P                  \        P                  Wš4       R# )rò   r�  r¯  Ng      ð?)rá  rÒ   rg  rã  rq  r  rc  r:  rË   rš  rV  rR  rz  r   r7   )rÇ   rî  r¡  r~  rö   Úsoftmax_dimrž  rø   r˜   r  r  s   &&         r   r:  Ú_NnapiSerializer.add_softmaxO  s  € Ø�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð ×:Ñ:¸4¿=¹=ÈÓ;KÓL‰ˆà×0Ñ0°·±¸qÓ1AÀ9ÓM‰ˆà×(Ñ(¨¯©¸Ó):¸GÓDˆÜ" 7§=¡=Ö1‰IˆCØ�qŽyØ×*Ñ*¨6¸ÖCñ 2ð �˜!•ˆØˆq‰	Ø×3Ñ3Øó
ˆˆq‰	ð ×1Ñ1°+Ó>ˆˆq‰	à�&˜1•*ˆØ�‰
à×ÑÔ.×6Ñ6¸ÖHr   c                ó¼  € VP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       ^8w  d   \        RVP                  4        24      hV P                  VP	                  ^ 4      4      w  r#V P                  VP	                  ^4      R4      w  rEV P                  VP	                  ^4      R4      w  rFR\        P                  R\        P                  /pVP                  WV34      pVf   \        R4      hR.^,          p	W)^ &   R.^,          p
V P                  VP                  ^ 4      V4      V
^ &   V P                  W‰V
4       R# )rò   r�  rh  rÊ  Nz9NNAPI only supports hardtanh with args (-1, 1) or (0, 6).)r�  rÞ   )r   é   )rá  rÒ   râ  rl  rã  rq  r   r2   r3   rp  rÅ   r  rc  rz  )rÇ   rî  r¡  r~  rö   Úmin_valÚmax_valÚop_mapry  r  r  s   &&         r   r<  Ú_NnapiSerializer.add_hardtanhi  sS  € Ø�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð ×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð ×EÑEÀdÇmÁmÐTUÓFVÓW‰ˆØ×,Ñ,¨T¯]©]¸1Ó-=¸{ÓK‰
ˆØ×,Ñ,¨T¯]©]¸1Ó-=¸{ÓK‰
ˆð Ô(×.Ñ.ØÔ'×-Ñ-ð
ˆð
 —‘˜WÐ.Ó/ˆØŠ>ÜØKóð ð �˜!•ˆØˆq‰	à�&˜1•*ˆØ×,Ñ,¨T¯^©^¸AÓ->ÀÓHˆ�‰
à×Ñ˜6¨7Ö3r   c                ó¬  € VP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       ^8w  d   \        RVP                  4        24      hVP                  ^ 4      P	                  4       P                  4       R8w  d:   \        RVP                  ^ 4      P	                  4       P                  4        24      hVP                  ^4      P	                  4       P                  4       R8w  d:   \        RVP                  ^4      P	                  4       P                  4        24      hV P                  VP                  ^ 4      4      w  r#V P                  VP                  ^4      4      w  rE\        VP                  4      ^8w  d"   \        R\        VP                  4       24      hVP                  ^ ,          ^ 8:  d    \        RVP                  ^ ,           24      hVP                  ^ ,          ^8”  d"   VP                  4       '       d   \        R4      hV P                  VP                  ^ 4      V4      p\        VP                  4       F2  w  rxV^ 8”  d   K  V^8:  d   \        R	4      hV P                  WgW'4       K4  	  R
.^,          p	W)^ &   WI^&   R
.^,          p
Wj^ &   V P!                  \"        P$                  Wš4       R
# )r¦   r{  rh  ro  rÔ  rÕ  z%expected len(w_oper.shape) == 1, got z"expected w_oper.shape[0] > 0, got z8Per-channel PReLU only supports channels_last right now.z.PReLU requires fixed size for dim 0 and dim 1.N)rá  rÒ   râ  rã  r  r†  rg  ru  rÑ   rË   rÈ   rÅ   r  rc  r:  rš  rz  r   re   )rÇ   rî  r¡  r~  Úw_idÚw_operrž  rø   r˜   r  r  s   &&         r   rF  Ú_NnapiSerializer.add_prelu_opŠ  s…  € Ø�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð ×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð �=‰=˜Ó× Ñ Ó"×'Ñ'Ó)¨\Ô9Ü Ø7¸¿¹ÀaÓ8H×8MÑ8MÓ8O×8TÑ8TÓ8VÐ7WÐXóð ð �=‰=˜Ó× Ñ Ó"×'Ñ'Ó)¨\Ô9Ü Ø7¸¿¹ÀaÓ8H×8MÑ8MÓ8O×8TÑ8TÓ8VÐ7WÐXóð ð ×:Ñ:¸4¿=¹=ÈÓ;KÓL‰ˆØ×9Ñ9¸$¿-¹-ÈÓ:JÓK‰ˆÜˆv�|‰|Ó Ô!Ü Ø7¼¸F¿L¹LÓ8IÐ7JÐKóð ð �<‰<˜�?˜aÔÜ Ð#EÀfÇlÁlÐSTÅoÐEVÐ!WÓXÐXØ�<‰<˜�?˜QÔØ×Ñ×!Ò!äØNóð ð ×(Ñ(¨¯©¸Ó):¸GÓDˆÜ" 7§=¡=Ö1‰IˆCØ�aŒxÙØ˜”ÜØDóð ð ×*Ñ*¨6¸ÖCñ 2ð �˜!•ˆØˆq‰	Øˆq‰	à�&˜1•*ˆØ�‰
à×ÑÔ.×4Ñ4°fÖFr   c                ó¼  € VP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       w  r4rVrxT;'       g    TpV P	                  V P                  V4      WVV4      p	V	P                  ^8w  g   V	P                  ^8w  d   \        R4      hV P                  V4      w  r«\        VP                  4      ^8w  d"   \        R\        VP                  4       24      h\        VP                  W›P                  ^,          R4      pVP                  4       pR.^,          pW®^ &   V P                  V	P                  4      V^&   V P                  V	P                   4      V^&   V P                  V	P"                  4      V^&   V P                  V	P$                  4      V^&   V P                  V	P&                  4      V^&   V P                  V	P(                  4      V^&   V P                  V	P*                  4      V^&   V P                  V	P,                  4      V^&   V P                  \.        P0                  4      V^	&   V P3                  V4      V^
&   R.^,          pV P5                  VP7                  ^ 4      VP9                  VR7      4      V^ &   V P;                  W.V4       R# )rç  z%expected node.inputsSize() == 6, got rh  z'NNAPI does not support dilated pooling.ú)expected len(image_oper.shape) == 4, got FNr|  )rá  rÒ   râ  r  rÄ  r±  r¯   r°   rÅ   rl  rÑ   rË   rê   rÈ   rR  r­   r®   r«   r¬   rª   r©   r¨   r§   r~   r   r[  r  rc  r   rz  )rÇ   rî  ry  ÚimageÚkernelrÁ  rÂ  rÃ  Ú
_ceil_moderà   Úimage_idÚ
image_operré   rÈ   r  r  s   &&&             r   r@  Ú _NnapiSerializer.add_pool2d_nodeÀ  sš  € Ø�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð ×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð @D¿{¹{»}Ñ<ˆ�v¨à×!Ð!˜6ˆð ×2Ñ2Ø×Ñ˜fÓ% v¸ó
ˆð �?‰?˜aÔ 4§?¡?°aÔ#7ÜÐEÓFÐFà#×KÑKÈEÓRÑˆÜˆz×ÑÓ  AÔ%Ü Ø;¼CÀ
×@PÑ@PÓ<QÐ;RÐSóð ô (Ø×Ñ˜d×$4Ñ$4°QÕ$7¸ó
ˆ	ð ×&Ñ&Ó(ˆà�˜"•ˆØˆq‰	Ø×1Ñ1°$·*±*Ó=ˆˆq‰	Ø×1Ñ1°$·*±*Ó=ˆˆq‰	Ø×1Ñ1°$·*±*Ó=ˆˆq‰	Ø×1Ñ1°$·*±*Ó=ˆˆq‰	Ø×1Ñ1°$·-±-Ó@ˆˆq‰	Ø×1Ñ1°$·-±-Ó@ˆˆq‰	Ø×1Ñ1°$·-±-Ó@ˆˆq‰	Ø×1Ñ1°$·-±-Ó@ˆˆq‰	Ø×1Ñ1´.×2KÑ2KÓLˆˆq‰	Ø×3Ñ3°HÓ=ˆˆr‰
à�&˜1•*ˆØ×,Ñ,Ø�N‰N˜1Ó˜z×2Ñ2¸Ð2ÓCó
ˆ�‰
ð 	×Ñ˜6¨7Ö3r   c                ó  € VP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       w  pppppppV P	                  V4      w  ršV P	                  V4      w  r›V
'       d	   V'       d   \        R4      hV P                  V P                  V4      WE4      pV P                  V4      w  rÞ\        VP                  4      ^8w  d"   \        R\        VP                  4       24      h\        VP                  WÎP                  ^,          R4      pVP                  4       pR.^,          pVV^ &   V P                  VP                  4      V^&   V P                  VP                  4      V^&   V P                  VP                   4      V^&   V P                  VP"                  4      V^&   V P                  VP$                  4      V^&   V P                  VP&                  4      V^&   V P                  VP(                  4      V^&   V P                  VP*                  4      V^&   V P                  \,        P.                  4      V^	&   V P1                  V4      V^
&   R.^,          pV P3                  VP5                  ^ 4      VP7                  VR7      4      pV P9                  VW,R4       VV^ &   V P;                  \<        P>                  VV4       R# )é   ú%expected node.inputsSize() == 7, got rh  zANNAPI doesn't support count_include_pad=False or divisor_overriderñ  FNr|  ) rá  rÒ   râ  r  rq  rÅ   rÄ  r±  rg  rÑ   rË   rê   rÈ   rR  r­   r®   r«   r¬   rª   r©   r¨   r§   r~   r   r[  r  rc  r   Ú _handle_conv_pool_flexible_inputrz  r   r   )rÇ   rî  rò  ró  rÁ  rÂ  rô  Úcount_include_padÚdivisor_overriderö   Úcount_include_pad_valueÚdivisor_override_valuerà   rõ  rö  ré   rÈ   r  r  rž  s   &&                  r   r>  Ú_NnapiSerializer.add_avg_pool2dô  sÙ  € Ø�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð ×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð �K‰K‹Mñ	
ØØØØØØØð &*×%<Ñ%<Ð=NÓ%OÑ"ˆØ$(×$;Ñ$;Ð<LÓ$MÑ!ˆß&×*@ÜØSóð ð ×2Ñ2Ø×Ñ˜fÓ% vó
ˆð  $×@Ñ@ÀÓGÑˆÜˆz×ÑÓ  AÔ%Ü Ø;¼CÀ
×@PÑ@PÓ<QÐ;RÐSóð ô (Ø×Ñ˜d×$4Ñ$4°QÕ$7¸ó
ˆ	ð ×&Ñ&Ó(ˆà�˜"•ˆØˆˆq‰	Ø×1Ñ1°$·*±*Ó=ˆˆq‰	Ø×1Ñ1°$·*±*Ó=ˆˆq‰	Ø×1Ñ1°$·*±*Ó=ˆˆq‰	Ø×1Ñ1°$·*±*Ó=ˆˆq‰	Ø×1Ñ1°$·-±-Ó@ˆˆq‰	Ø×1Ñ1°$·-±-Ó@ˆˆq‰	Ø×1Ñ1°$·-±-Ó@ˆˆq‰	Ø×1Ñ1°$·-±-Ó@ˆˆq‰	Ø×1Ñ1´.×2KÑ2KÓLˆˆq‰	Ø×3Ñ3°HÓ=ˆˆr‰
à�&˜1•*ˆØ×(Ñ(Ø�N‰N˜1Ó˜z×2Ñ2¸Ð2ÓCó
ˆð 	×-Ñ-¨f°eÀ5ÔIØˆ�‰
à×ÑÔ.×>Ñ>ÀÈÖPr   c                ó  € VP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       ^8w  d   \        RVP                  4        24      hV P                  VP	                  ^ 4      4      w  r#\        VP                  4      ^8w  d"   \        R\        VP                  4       24      hV P                  VP	                  ^4      4      w  rEVP                  4       R8w  d   \        RVP                  4        24      hVP                  4       P                  4       R8w  d+   \        RVP                  4       P                  4        24      hV^^.8w  d   \        R4      hVP                  R	,          \        V4      ,           pVP                  4       pR
.^,          pW(^ &   V P                  ^ 4      V^&   V P                  ^ 4      V^&   V P                  ^ 4      V^&   V P                  ^ 4      V^&   V P                  ^4      V^&   V P                  ^4      V^&   V P                  VP                  ^,          4      V^&   V P                  VP                  ^,          4      V^&   V P                  \        P                  4      V^	&   V P!                  V4      V^
&   R
.^,          p	V P#                  VP%                  ^ 4      VP'                  VR7      4      V	^ &   V P)                  \*        P,                  W‰4       R
# )r¦   r{  rh  rñ  r®  ú"expected size_ctype ListType, got r¯  ú(expected size element type IntType, got z@NNAPI only supports adaptive_avg_pool2d with output size (1, 1).:r   r¦   NNr|  )rá  rÒ   râ  rl  rã  rÑ   rË   rq  r†  r°  rÅ   r�   rÈ   rR  r~   r   r[  r  rc  r   rz  r   r   )
rÇ   rî  rõ  rö  Ú
size_ctypeÚsize_argré   rÈ   r  r  s
   &&        r   rB  Ú(_NnapiSerializer.add_adaptive_avg_pool2d3  sà  € Ø�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð ×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð  $×KÑKØ�M‰M˜!Óó 
Ñˆô ˆz×ÑÓ  AÔ%Ü Ø;¼CÀ
×@PÑ@PÓ<QÐ;RÐSóð ð  $×6Ñ6°t·}±}ÀQÓ7GÓHÑˆ
Ø�?‰?Ó 
Ô*Ü Ø4°Z·_±_Ó5FÐ4GÐHóð ð ×$Ñ$Ó&×+Ñ+Ó-°Ô:Ü Ø:¸:×;TÑ;TÓ;V×;[Ñ;[Ó;]Ð:^Ð_óð ð ˜˜1�vÔÜØRóð ð ×$Ñ$ SÕ)¬E°(«OÕ;ˆ	Ø×&Ñ&Ó(ˆà�˜"•ˆØˆq‰	Ø×1Ñ1°!Ó4ˆˆq‰	Ø×1Ñ1°!Ó4ˆˆq‰	Ø×1Ñ1°!Ó4ˆˆq‰	Ø×1Ñ1°!Ó4ˆˆq‰	Ø×1Ñ1°!Ó4ˆˆq‰	Ø×1Ñ1°!Ó4ˆˆq‰	Ø×1Ñ1°*×2BÑ2BÀ1Õ2EÓFˆˆq‰	Ø×1Ñ1°*×2BÑ2BÀ1Õ2EÓFˆˆq‰	Ø×1Ñ1´.×2KÑ2KÓLˆˆq‰	Ø×3Ñ3°HÓ=ˆˆr‰
à�&˜1•*ˆØ×,Ñ,Ø�N‰N˜1Ó˜z×2Ñ2¸Ð2ÓCó
ˆ�‰
ð 	×ÑÔ.×>Ñ>ÀÖPr   c                ó\  € VP                  4       ^8X  g2   VP                  4       ^8X  g   \        RVP                  4        24      hVP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       ^8X  d   VP                  4       w  r#pMVP                  4       w  r#rVV P	                  V4      w  rxVP                  4       ^8X  d   V P	                  X4      w  ršMŒV P	                  X4      w  r¼V P	                  X4      w  rÞVP                  4       R8w  d   \        RVP                  4        24      hVP                  4       R8w  d   \        RVP                  4        24      hTp	Tp
V P                  V4      w  pp\        VP                  4      ^8w  d"   \        R\        VP                  4       24      hVP                  4       R8w  d!   V	P                  4       R8w  d   \        R4      hVP                  4       R8w  Ed½   VP                  4       R8w  d   \        R	VP                  4        24      hVP                  4       P                  4       R
8w  d+   \        RVP                  4       P                  4        24      hV	P                  4       R8w  d   \        RV	P                  4        24      hV
e   \        RV
 24      h\        V\        4      '       g   \        R\        V4       24      hV'       g   \        R4      h\        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       g   \        R4      h\        V4      ^8X  d
   V^,          p\        V4      ^8w  d   \        R\        V4       24      hV^ ,          pV^,          pV P                  V4      pV P                  V4      pEM,V	P                  4       R8w  Ed   V	P                  4       R8w  d   \        RV	P                  4        24      hV	P                  4       P                  4       R8w  d+   \        RV	P                  4       P                  4        24      hVP                  4       R8w  d   \        RVP                  4        24      hVe   \        RV 24      h\        V
\        4      '       g   \        R\        V
4       24      hV
'       g   \        R4      h\        ;QJ d    R V
 4       F  '       d   K   RM	  RM! R V
 4       4      '       g   \        R4      h\        V
4      ^8X  d
   V
^,          p
\        V
4      ^8w  d   \        R\        V
4       24      h\!        V
^ ,          VP                  ^,          ,          4      p\!        V
^,          VP                  ^,          ,          4      pV P#                  V
^ ,          4      pV P#                  V
^,          4      pM\        R 4      hVP                  ^ ,          VP                  ^,          VV3pVP%                  4       pV P'                  VP)                  ^ 4      VP+                  VR!7      4      pVP                  ^ ,          ^ 8X  g   VP                  ^,          ^ 8X  d   \        R"4      hR& F§  pVP                  V,          ^ 8X  g   K  VP                  4       R8w  d$   V P-                  VVVV^,
          ,          4       KU  V	P                  4       R8w  d5   V P-                  VVR#V
V^,
          ,           R$\/        VV4       R%24       Kž  \        R 4      h	  R.^,          pVV^ &   VV^&   VV^&   V P1                  V4      V^&   R.^,          pVV^ &   V P3                  \4        P6                  VV4       R# )'rò   z*expected node.inputsSize() == 3 or 4, got rh  rÀ  z%expected scale_h_ctype NoneType, got z%expected scale_w_ctype NoneType, got rñ  z'Size and scale cannot both be non-None.r®  r  r¯  r  z#expected scale_ctype NoneType, got Nzexpected scale_arg None, got z"expected size_arg to be list, got z!expected size_arg to be non-emptyc              3   óB   "  € T F  p\        V\        4      x € K  	  R # 5irŒ   )r  r²   ©rÑ  rv  s   & r   rÕ  Ú:_NnapiSerializer.add_upsample_nearest2d.<locals>.<genexpr>«  s   é € Ð@±x°”z #¤s×+Ð+³xùó   ‚FTz&expected all size_arg values to be intz!expected len(size_arg) == 2, got z#expected scale_ctype ListType, got rÊ  z+expected scale element type FloatType, got z"expected size_ctype NoneType, got zexpected size_arg None, got z#expected scale_arg to be list, got z"expected scale_arg to be non-emptyc              3   óB   "  € T F  p\        V\        4      x € K  	  R # 5irŒ   )r  rÎ   r	  s   & r   rÕ  r
  Ì  s   é € ÐC¹°#”z #¤u×-Ð-»ùr  z)expected all scale_arg values to be floatz"expected len(scale_arg) == 2, got z#Size and scale cannot both be None.r|  z(Flexible batch or channels not supportedzint(z * rŽ  )r¦   rò   )rá  rÒ   râ  r  rq  r†  rg  rÑ   rË   rÅ   r°  r  rœ   r  ÚallrR  r²   rV  rÈ   r  rc  r   r;  rù   r[  rz  r   r|   )rÇ   rî  rò  Úsize_jitÚ	scale_jitÚscale_h_jitÚscale_w_jitr  r  Úscale_ctypeÚ	scale_argÚscale_h_ctypeÚscale_h_argÚscale_w_ctypeÚ_scale_w_argrõ  rö  rç   rè   Úarg_hÚarg_wré   rÈ   rž  rø   r  r  s   &&                         r   rD  Ú'_NnapiSerializer.add_upsample_nearest2dj  s  € Ø—‘Ó! QÔ&¨$¯/©/Ó*;¸qÔ*@Ü Ø<¸T¿_¹_Ó=NÐ<OÐPóð ð ×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð �?‰?Ó Ô!Ø)-¯©«Ñ&ˆE™Yà8<¿¹»Ñ5ˆE˜[Ø#×6Ñ6°xÓ@Ñˆ
à�?‰?Ó Ô!Ø%)×%<Ñ%<¸YÓ%GÑ"ˆK˜à)-×)@Ñ)@ÀÓ)MÑ&ˆMØ*.×*AÑ*AÀ+Ó*NÑ'ˆMð
 ×!Ñ!Ó# zÔ1Ü$Ø;¸M×<NÑ<NÓ<PÐ;QÐRóð ð ×!Ñ!Ó# zÔ1Ü$Ø;¸M×<NÑ<NÓ<PÐ;QÐRóð ð (ˆKØ#ˆIà#×@Ñ@ÀÓGÑˆ�*Üˆz×ÑÓ  AÔ%Ü Ø;¼CÀ
×@PÑ@PÓ<QÐ;RÐSóð ð �?‰?Ó 
Ô*¨{×/?Ñ/?Ó/AÀZÔ/OÜÐEÓFÐFØ�_‰_Ó *Õ,Ø�‰Ó  JÔ.Ü$Ø8¸¿¹Ó9JÐ8KÐLóð ð ×(Ñ(Ó*×/Ñ/Ó1°YÔ>Ü$Ø>¸z×?XÑ?XÓ?Z×?_Ñ?_Ó?aÐ>bÐcóð ð ×ÑÓ! ZÔ/Ü$Ø9¸+×:JÑ:JÓ:LÐ9MÐNóð ð Ò$Ü$Ð'DÀYÀKÐ%PÓQÐQÜ˜h¬×-Ò-Ü$Ø8¼¸h»Ð8HÐIóð ÷ Ü$Ð%HÓIÐIß“3Ñ@±xÓ@—3—3’3Ñ@±xÓ@×@Ò@Ü$Ð%MÓNÐNÜ�8‹} Ô!Ø# a�<�Ü�8‹} Ô!Ü$Ø7¼¸H»°ÐGóð ð ˜Q•KˆEØ˜Q•KˆEØ×1Ñ1°%Ó8ˆEØ×1Ñ1°%Ó8ŠEØ×ÑÓ :Õ-Ø×ÑÓ! ZÔ/Ü$Ø9¸+×:JÑ:JÓ:LÐ9MÐNóð ð ×)Ñ)Ó+×0Ñ0Ó2°kÔAÜ$ØAÀ+×B\ÑB\ÓB^×BcÑBcÓBeÐAfÐgóð ð �‰Ó  JÔ.Ü$Ø8¸¿¹Ó9JÐ8KÐLóð ð Ò#Ü$Ð'CÀHÀ:Ð%NÓOÐOÜ˜i¬×.Ò.Ü$Ø9¼$¸y»/Ð9JÐKóð ÷ Ü$Ð%IÓJÐJß“3ÑC¹ÓC—3—3’3ÑC¹ÓC×CÒCÜ$Ð%PÓQÐQÜ�9‹~ Ô"Ø%¨�M�	Ü�9‹~ Ô"Ü$Ø8¼¸Y»Ð8HÐIóð ô ˜	 !� z×'7Ñ'7¸Õ':Õ:Ó;ˆEÜ˜	 !� z×'7Ñ'7¸Õ':Õ:Ó;ˆEØ×3Ñ3°I¸aµLÓAˆEØ×3Ñ3°I¸aµLÓA‰EäÐAÓBÐBà×%Ñ% aÕ(¨*×*:Ñ*:¸1Õ*=¸uÀeÐLˆ	Ø×&Ñ&Ó(ˆØ×(Ñ(Ø�N‰N˜1Ó˜z×2Ñ2¸Ð2ÓCó
ˆð ×Ñ˜AÕ !Ô# z×'7Ñ'7¸Õ':¸aÔ'?ÜÐFÓGÐGó ˆCØ×Ñ Õ$¨Ö)Ø—?‘?Ó$¨
Ô2à×.Ñ.¨v°s¸HÀSÈ1ÅWÕ<MÖNØ ×%Ñ%Ó'¨:Ô5Ø×.Ñ.ØØà˜y¨¨q­Õ1Ð2°#´iÀÈ#Ó6NÐ5OÈqÐQö	ô $Ø=óð ñ ð" �˜!•ˆØˆˆq‰	Øˆˆq‰	Øˆˆq‰	Ø×2Ñ2°8Ó<ˆˆq‰	à�&˜1•*ˆØˆ�‰
à×ÑÔ.×FÑFÈÐPWÖXr   c                óÚ  € VP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       w  r#rEpWV3 FY  pV P	                  V4      w  r‰VP                  4       R9  d   \        RVP                  4        24      hV	^8w  g   KP  \        R4      h	  V P                  VRW4V4       R# )r¢  r£  rh  z/expected scale_ctype IntType or FloatType, got z6NNAPI Fully-Connected does not support alpha and beta.TN)r¯  rÊ  )rá  rÒ   râ  r  rq  r†  rÅ   Úadd_addmm_or_linear)
rÇ   rî  Újit_biasÚ	jit_inputÚ
jit_weightÚjit_betaÚ	jit_alphar  r  Úscale_values
   &&        r   rH  Ú_NnapiSerializer.add_addmm  sý   € Ø�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð ×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð @D¿{¹{»}Ñ<ˆ˜Z°9àÓ+ˆFØ'+×'>Ñ'>¸vÓ'FÑ$ˆKØ×ÑÓ!Ð)AÔAÜ$ØEÀk×FVÑFVÓFXÐEYÐZóð ð ˜aÖÜØLóð ñ ,ð 	× Ñ   t¨YÀHÖMr   c                ó  € VP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       w  r#pV P	                  VRW#V4       R# )rò   r�  rh  FN)rá  rÒ   râ  r  r  )rÇ   rî  r  r  r  s   &&   r   rJ  Ú_NnapiSerializer.add_linear  sŠ   € Ø�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð ×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð +/¯+©+«-Ñ'ˆ	˜xà× Ñ   u¨iÀXÖNr   c                ón  € V P                  V4      w  rgV P                  V4      w  r‰\        VP                  4      ^8w  d"   \	        R\        VP                  4       24      h\        V	P                  4      ^8w  d"   \	        R\        V	P                  4       24      hV P                  VR4      w  r«\        VP                  4      ^8w  d"   \	        R\        VP                  4       24      hV'       d    VP                  4       P                  4       pMVP                  4       pV P                  V4      pV P                  V,          pVP                  ^ ,          VP                  ^ ,          3pV P                  VP                  ^ 4      VP                  VR7      4      pVP                  ^ ,          ^ 8X  d   V P                  V^ V^ 4       R.^,          pVV^ &   VV^&   VV^&   V P                  \        P                   4      V^&   R.^,          pVV^ &   V P#                  \$        P&                  VV4       R# )r¦   ú)expected len(input_oper.shape) == 2, got ú(expected len(bias_oper.shape) == 1, got ro  z,expected len(weight_tensor.shape) == 2, got r|  N)rg  ru  rÑ   rË   rÒ   rq  rÒ  Ú
contiguousrH  rþ   r  rc  r   rš  rR  r~   r   rz  r   r'   )rÇ   rî  Útranspose_weightr  r  r  Úinput_idÚ
input_operÚbias_idÚ	bias_operrö   Úweight_tensorÚnnapi_weight_tensorÚ	weight_idÚweight_operré   rž  r  r  s   &&&&&&             r   r  Ú$_NnapiSerializer.add_addmm_or_linear&  s  € ð  $×@Ñ@ÀÓKÑˆØ!×?Ñ?ÀÓIÑˆäˆz×ÑÓ  AÔ%Ü Ø;¼CÀ
×@PÑ@PÓ<QÐ;RÐSóð ô ˆy�‰Ó 1Ô$Ü Ø:¼3¸y¿¹Ó;OÐ:PÐQóð ð
  ×2Ñ2°:¸|ÓLÑˆÜˆ}×"Ñ"Ó# qÔ(Ü Ø>¼sÀ=×CVÑCVÓ?WÐ>XÐYóð ÷ Ø"/§/¡/Ó"3×">Ñ">Ó"@Ñà"/×":Ñ":Ó"<ÐØ×6Ñ6Ð7JÓKˆ	Ø—m‘m IÕ.ˆà×%Ñ% aÕ(¨+×*;Ñ*;¸AÕ*>Ð?ˆ	Ø×(Ñ(Ø�N‰N˜1Ó˜z×2Ñ2¸Ð2ÓCó
ˆð ×Ñ˜AÕ !Ô#Ø×&Ñ& v¨q°(¸AÔ>à�˜!•ˆØˆˆq‰	Øˆˆq‰	Øˆˆq‰	Ø×1Ñ1´.×2KÑ2KÓLˆˆq‰	à�&˜1•*ˆØˆ�‰
à×ÑÔ.×>Ñ>ÀÈÖPr   c                ód
  € VP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       w  ppppV P	                  V4      w  rg\        VP                  4      ^8w  d"   \        R\        VP                  4       24      hV P                  VR4      w  r‰V P                  VR4      w  rŠV P                  V4      w  r¼VP                  4       R8w  d   \        RVP                  4        24      hVP                  4       ^ ,          w  rÞVf   \        R	4      h\        VP                  4      ^8w  d"   \        R
\        VP                  4       24      h\        VP                  4      ^8w  d"   \        R\        VP                  4       24      hVP                  ^ ,          VP                  ^ ,          8w  d4   \        RVP                  ^ ,           RVP                  ^ ,           24      hVP                  ^,          VP                  ^,          8w  d4   \        RVP                  ^,           RVP                  ^,           24      hVP                  4       \        P                  8w  d   \        RVP                  4        24      hVP                  \        P                  8X  d   TpM³VP                  \        P                  8w  d   \        RVP                   24      h\        P                   ! VP#                  4       P%                  4       ^€,           P'                  \        P(                  4      VP+                  4       VP-                  4       ^€,           R7      pVP+                  4       pVP.                  V,          p\        P0                  ! VV^ \        P2                  4      pV P5                  V4      pVP.                  V,          V	,          pV^ 8:  d   \        RV 24      hV^8¼  d   \7        R4      hVP9                  4       pV P5                  V4      pV P:                  V,          pVP                  ^ ,          VP                  ^ ,          3pVP=                  VV	V
R7      pR.^,          pVV^ &   VV^&   VV^&   V P?                  \@        PB                  4      V^&   R.^,          pV PE                  VPG                  ^ 4      V4      V^ &   V PI                  \J        PL                  VV4       R# )r”   r¾  rh  r'  rÊ  r¯  ÚLinearPackedParamsBasez2expected weight_ctype LinearPackedParamsBase, got Núraw_bias must not be Nonez)expected len(raw_weight.shape) == 2, got z'expected len(raw_bias.shape) == 1, got zraw_bias.shape[0] z != raw_weight.shape[0] zraw_weight.shape[1] z != input_oper.shape[1] ú5expected raw_weight.qscheme() per_tensor_affine, got ú%expected raw_weight.dtype qint8, got rÖ  úexpected multiplier > 0, got ú°Quantized convolution multiplier is greater than 1.  This is supported by NNAPI, but not by most hardware backends.  Try training a model without quantization-aware training.  ©rË   rÌ   rÍ   )'rá  rÒ   râ  r  rl  rÑ   rË   rq  ri  Ú__getstate__Úqschemer…  Úper_tensor_affiner,  r%  Úqint8Ú!_make_per_tensor_quantized_tensorÚint_reprr²   ÚtoÚuint8r.  r/  rÌ   Úquantize_per_tensorr&  rH  rÅ   r)  rþ   r   rR  r~   r   r  rc  rz  r   r'   )rÇ   rî  r  Újit_packed_weightÚ	jit_scaleÚjit_zero_pointr+  r,  rö   Ú	out_scaleÚout_zero_pointÚweight_ctypeÚpacked_weightÚ
raw_weightÚraw_biasÚunsigned_weightÚweight_scaleÚ
bias_scaleÚint_biasr-  Ú
multiplierr0  r1  r2  ré   r¢  r  r  s   &&                          r   rS  Ú_NnapiSerializer.add_qlinearU  sÞ  € Ø�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð ×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð �K‰K‹Mñ	
ØØØØð  $×KÑKÈIÓVÑˆäˆz×ÑÓ  AÔ%Ü Ø;¼CÀ
×@PÑ@PÓ<QÐ;RÐSóð ð ×.Ñ.¨y¸+ÓF‰ˆØ ×3Ñ3°NÀIÓNÑˆØ&*×&=Ñ&=Ð>OÓ&PÑ#ˆØ×ÑÓÐ":Ô:Ü ØDÀ\×EVÑEVÓEXÐDYÐZóð ð  -×9Ñ9Ó;¸AÕ>Ñˆ
ØÒÜ Ð!<Ó=Ð=äˆz×ÑÓ  AÔ%Ü Ø;¼CÀ
×@PÑ@PÓ<QÐ;RÐSóð ô ˆx�~‰~Ó !Ô#Ü Ø9¼#¸h¿n¹nÓ:MÐ9NÐOóð ð �>‰>˜!Õ 
× 0Ñ 0°Õ 3Ô3Ü Ø$ X§^¡^°AÕ%6Ð$7Ð7OÐPZ×P`ÑP`ÐabÕPcÐOdÐeóð ð ×Ñ˜AÕ *×"2Ñ"2°1Õ"5Ô5Ü Ø& z×'7Ñ'7¸Õ':Ð&;Ð;SÐT^×TdÑTdÐefÕTgÐShÐióð ð ×ÑÓ¤5×#:Ñ#:Ô:Ü ØGÈ
×HZÑHZÓH\ÐG]Ð^óð ð ×ÑœuŸ|™|Ô+Ø(‰Oà×Ñ¤5§;¡;Ô.Ü$Ø;¸J×<LÑ<LÐ;MÐNóð ô $×EÒEØ×$Ñ$Ó&×*Ñ*Ó,¨sÕ2×6Ñ6´u·{±{ÓCØ ×(Ñ(Ó*Ø%×2Ñ2Ó4°sÕ:ôˆOð
 '×.Ñ.Ó0ˆØ×%Ñ%¨Õ4ˆ
Ü×,Ò,¨X°zÀ1ÄeÇlÁlÓSˆØ×4Ñ4°XÓ>ˆà×%Ñ%¨Õ4°yÕ@ˆ
Ø˜Œ?Ü Ð#@ÀÀÐ!MÓNÐNØ˜Œ?ÜðNóð ð .×8Ñ8Ó:ÐØ×6Ñ6Ð7JÓKˆ	Ø—m‘m IÕ.ˆà×%Ñ% aÕ(¨+×*;Ñ*;¸AÕ*>Ð?ˆ	Ø×&Ñ&ØØØ%ð 'ó 
ˆð �˜!•ˆØˆˆq‰	Øˆˆq‰	Øˆˆq‰	Ø×1Ñ1´.×2KÑ2KÓLˆˆq‰	à�&˜1•*ˆØ×,Ñ,¨T¯^©^¸AÓ->ÀÓIˆ�‰
à×ÑÔ.×>Ñ>ÀÈÖPr   c                óH  € V P                  V4      w  rEVP                  4       R 8X  dk   V'       d   ^M^ p\        P                  ! VP	                  4       V,          VP
                  R7      pV P                  V4      pV P                  V,          p	W‰3# V P                  V4      # )rÀ  )r,  )	rq  r†  r…  r†  r˜   r,  rH  rþ   ru  )
rÇ   r  r/  râ   r‚  Ú_valueÚbias_idxÚnnapi_bias_tensorr-  r.  s
   &&&&      r   Úget_optional_biasÚ"_NnapiSerializer.get_optional_bias¾  sŽ   € Ø×/Ñ/°Ó9‰ˆØ�:‰:‹<˜:Ô%ß%‘q¨1ˆHÜ %§¢Ø×"Ñ"Ó$ XÕ.°m×6IÑ6Iô!Ðð ×8Ñ8Ð9JÓKˆGØŸ™ gÕ.ˆIØÐ%Ð%à×5Ñ5°hÓ?Ð?r   c                óø  € VP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       w  pppppppV P	                  VR4      w  ršV P                  WJ4      w  r¼V P                  V
P                  R,          WVWx4      pV P                  VP                  ^ 4      R^ VV
VVR\        P                  4	      # )rù  rú  rh  ro  ºr¦   r”   Nr"  F©rá  rÒ   râ  r  rq  rX  rÄ  rË   Úadd_conv2d_commonrc  r~   r   )rÇ   rî  Ú	jit_imager  r  Ú
jit_strideÚjit_padÚjit_dilationÚ
jit_groupsrö   r/  r-  Ú
_bias_operrà   s   &&            r   rO  Ú_NnapiSerializer.add_conv2dË  s  € Ø�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð ×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð �K‰K‹Mñ	
ØØØØØØØð  ×2Ñ2°:¸|ÓLÑˆØ"×4Ñ4°XÓMÑˆØ×2Ñ2Ø×Ñ Õ$ j¸<ó
ˆð ×%Ñ%Ø�N‰N˜1ÓØØØØØØØÜ×%Ñ%ó

ð 
	
r   c                ó,  € VP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       w  pppppppp	p
p	p	p	p	V P	                  VR4      w  r›V P	                  V4      w  rœV P                  WKV4      w  rÞV P                  VP                  R,          WVWz4      pV P                  VP                  ^ 4      R^ VVVVV\        P                  4	      # )é   z&expected node.inputsSize() == 13, got rh  ro  r[  r"  r\  )rÇ   rî  r^  r  r  r_  r`  ra  Újit_transposerö   rb  r/  râ   r-  rc  rà   s   &&              r   rM  Ú$_NnapiSerializer.add_conv_underscoreñ  s:  € Ø�?‰?Ó Ô"Ü Ø8¸¿¹Ó9JÐ8KÐLóð ð ×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð$ �K‰K‹Mñ	
ØØØØØØØØØØØØØð  ×2Ñ2°:¸|ÓLÑˆØ×.Ñ.¨}Ó=‰ˆØ"×4Ñ4°XÈiÓXÑˆØ×2Ñ2Ø×Ñ Õ$ j¸<ó
ˆð ×%Ñ%Ø�N‰N˜1ÓØØØØØØØÜ×%Ñ%ó

ð 
	
r   c                ó~  € VP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       w  r#pV P	                  V4      w  rVV P                  VR4      w  rxVP                  p	R.^,          p
WZ^ &   V P                  ^4      V
^&   V P                  V4      V
^&   R.^,          pV P                  VP                  ^ 4      VP                  V	R7      4      V^ &   V P                  \        P                  W«4       R# )rò   r�  rh  r¯  Nr|  )rá  rÒ   râ  r  rl  rq  rË   rV  rR  r  rc  r   rz  r   r^   )rÇ   rî  r  Újit_dimÚ_jit_half_to_floatr+  r,  rö   rø   ré   r  r  s   &&          r   rQ  Ú _NnapiSerializer.add_log_softmax	  s7  € Ø�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð ×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð 26·±³Ñ.ˆ	Ð.Ø#×KÑKÈIÓVÑˆØ×(Ñ(¨°)Ó<‰ˆà×$Ñ$ˆ	à�˜!•ˆØˆq‰	à×3Ñ3°AÓ6ˆˆq‰	Ø×1Ñ1°#Ó6ˆˆq‰	à�&˜1•*ˆØ×,Ñ,Ø�N‰N˜1Ó˜z×2Ñ2¸Ð2ÓCó
ˆ�‰
ð 	×ÑÔ.×:Ñ:¸FÖLr   c                óx  € VP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       ^8w  d   \        RVP                  4        24      hVP                  4       w  ppppV P	                  VR4      w  r‰V P	                  VR4      w  rŠV P	                  V4      w  r¼VP                  4       R8w  d   \        RVP                  4        24      hVP                  4       ^ ,          w  pppVR8w  d   \        RV: 24      hVw  ppVw  pVf   \        R	4      hV P                  VP                  R
,          V4      pVP                  4       \        P                  8w  d   \        RVP                  4        24      hVP                  \        P                  8X  d   TpM³VP                  \        P                  8w  d   \        RVP                   24      h\        P                  ! VP!                  4       P#                  4       ^€,           P%                  \        P&                  4      VP)                  4       VP+                  4       ^€,           R7      pVP)                  4       pV P-                  V4      w  ppVP.                  V,          p\        P0                  ! VV^ \        P2                  4      pV P5                  V4      pVP.                  V,          V	,          pV^ 8:  d   \        RV 24      hV^8¼  d   \7        R4      hV P9                  VP;                  ^ 4      V	V
VVVVVV4	      # )r”   r¾  rh  rÊ  r¯  ÚConv2dPackedParamsBasez2expected weight_ctype Conv2dPackedParamsBase, got Ú2zexpected pack_version '2', got r6  r[  r7  r8  rÖ  r9  r:  )rá  rÒ   râ  r  rq  ri  r<  r¾  rË   r=  r…  r>  r,  r%  r?  r@  rA  r²   rB  rC  r.  r/  rg  rÌ   rD  r&  rH  rÅ   r]  rc  )rÇ   rî  r×  râ   r^  rE  rF  rG  rö   rH  rI  rJ  rK  Úpack_versionrt  Úopt_tensorsr·  rL  rM  rà   rN  rO  rö  rP  rQ  r-  rR  s   &&&&                       r   rV  Ú_NnapiSerializer.add_qconv2d:	  s-  € Ø�?‰?Ó Ô!Ü Ø7¸¿¹Ó8IÐ7JÐKóð ð ×ÑÓ Ô"Ü Ø8¸×9IÑ9IÓ9KÐ8LÐMóð ð �K‰K‹Mñ	
ØØØØð ×.Ñ.¨y¸+ÓF‰ˆØ ×3Ñ3°NÀIÓNÑˆØ&*×&=Ñ&=Ð>OÓ&PÑ#ˆØ×ÑÓÐ":Ô:Ü ØDÀ\×EVÑEVÓEXÐDYÐZóð ð ×&Ñ&Ó(¨Õ+ñ		
ØØØà˜3ÔÜ Ð#BÀ<ÑBRÐ!SÓTÐTØ$+Ñ!ˆ�zØ!‰ˆØÒÜ Ð!<Ó=Ð=Ø×3Ñ3Ø×Ñ˜SÕ! =ó
ˆð ×ÑÓ¤5×#:Ñ#:Ô:Ü ØGÈ
×HZÑHZÓH\ÐG]Ð^óð ð ×ÑœuŸ|™|Ô+Ø(‰Oà×Ñ¤5§;¡;Ô.Ü$Ø;¸J×<LÑ<LÐ;MÐNóð ô $×EÒEØ×$Ñ$Ó&×*Ñ*Ó,¨sÕ2×6Ñ6´u·{±{ÓCØ ×(Ñ(Ó*Ø%×2Ñ2Ó4°sÕ:ôˆOð
 '×.Ñ.Ó0ˆØ×9Ñ9¸)ÓD‰ˆˆ:Ø×%Ñ%¨Õ4ˆ
Ü×,Ò,¨X°zÀ1ÄeÇlÁlÓSˆØ×4Ñ4°XÓ>ˆà×%Ñ%¨Õ4°yÕ@ˆ
Ø˜Œ?Ü Ð#@ÀÀÐ!MÓNÐNØ˜Œ?ÜðNóð ð ×%Ñ%Ø�N‰N˜1ÓØØØØØØØØó

ð 
	
r   c
                óN  € V P                  V4      w  r«VP                  ^,          pVP                  ^8X  d   RpV'       d   RpM$RpM!VP                  V8X  d   RpRpM\        R4      hVP                  ! V!  P                  4       pV P                  V4      pV P                  V,          pV P                  V,          pVP                  \        P                  8X  dq   VP                  \        P                  8w  d   \        RVP                   24      hVP                  \        P                  8w  d   \        RVP                   24      hEM=VP                  \        P                  8X  Ed   VP                  \        P                  8w  d   \        RVP                   24      hVP                  \        P                  8w  d   \        RVP                   24      h\        VP                  VP                  ,          VP                  4      '       g7   \        RVP                  VP                  ,           R	VP                   24      hVP                   ^ 8w  d   \        R
VP                    24      hM\        RVP                   24      h\#        VP                  4      ^8w  d"   \        R\#        VP                  4       24      h\#        VP                  4      ^8w  d"   \        R\#        VP                  4       24      h\#        VP                  4      ^8w  d"   \        R\#        VP                  4       24      hV'       d}   VP                  w  ppppV^8w  d   \        RV 24      hVV,          ^ 8w  d   \        RV RV 24      hVV,          pV^8w  d   \        RV 24      hVV8w  d   \        RV RV 24      hM)VP                  w  ppppVV8w  d   \        RV RV 24      hVVP                  ^ ,          8w  d#   \        RV RVP                  ^ ,           24      hVP%                  4       pV'       d   ^p\&        P(                  pM+^pV'       d   \&        P*                  pM\&        P,                  pR.V,          pV
V^ &   VV^&   VV^&   V P/                  VP0                  4      V^&   V P/                  VP2                  4      V^&   V P/                  VP4                  4      V^&   V P/                  VP6                  4      V^&   V P/                  VP8                  4      V^&   V P/                  VP:                  4      V^&   V'       d>   V P/                  ^4      V^	&   V P/                  V	4      V^
&   V P=                  V4      V^&   M(V P/                  V	4      V^	&   V P=                  V4      V^
&   R.^,          p\?        VP                  VVV4      pVPA                  VVVR7      pV PC                  VV4      p V PE                  V WGV4       V V^ &   V PG                  VVV4       R# )rÞ   FTz$Group convolution not supported yet.z)expected weight_oper TENSOR_FLOAT32, got z'expected bias_oper TENSOR_FLOAT32, got z.expected weight_oper TENSOR_QUANT8_ASYMM, got z%expected bias_oper TENSOR_INT32, got z#scale mismatch: image*weight scale z != bias scale z(expected bias_oper.zero_point == 0, got z#Unsupported input type for conv2d: rñ  z*expected len(weight_oper.shape) == 4, got r(  z(expected weight_oper.shape[0] == 1, got zout_c z must be divisible by in_c z"channel_multiplier must be 1, got z	 != in_c zkern_d z != bias_oper.shape[0] Nr;  )rÞ   r¦   rò   r   rñ   )$rg  rË   r±   rÅ   rD  r)  rH  rþ   r•   r   r   rÒ   r   r   r’   rÌ   rÍ   rÑ   rÈ   r   r"   ry   r!   rR  r­   r®   r«   r¬   rª   r©   r[  rê   r   r  rû  rz  )!rÇ   Újit_outrH  rI  r^  r/  r-  rà   râ   r×  rõ  rö  Úin_cÚ	depthwiseÚweight_permutationr0  r1  r2  r.  ÚoneÚ_kern_hÚ_kern_wÚout_cÚchannel_multiplierÚkern_drÈ   Únum_argsry  r  r  ré   r¢  rž  s!   &&&&&&&&&&                       r   r]  Ú"_NnapiSerializer.add_conv2d_common�	  s  € ð  $×@Ñ@ÀÓKÑˆØ×Ñ Õ"ˆà�:‰:˜Œ?àˆIßØ%1Ñ"à%1Ñ"Ø�Z‰Z˜4ÔàˆIØ!-ÑäÐBÓCÐCð ,×3Ò3Ð5GÑH×SÑSÓUÐØ×6Ñ6Ð7JÓKˆ	Ø—m‘m IÕ.ˆà—M‘M 'Õ*ˆ	à×ÑÔ!2×!AÑ!AÔAØ×"Ñ"Ô&7×&FÑ&FÔFÜ$Ø?À×@SÑ@SÐ?TÐUóð ð × Ñ Ô$5×$DÑ$DÔDÜ$Ø=¸i×>OÑ>OÐ=PÐQóð ñ Eð ×ÑÔ#4×#HÑ#HÕHØ×"Ñ"Ô&7×&KÑ&KÔKÜ$ØDÀ[×EXÑEXÐDYÐZóð ð × Ñ Ô$5×$BÑ$BÔBÜ$Ø;¸I×<MÑ<MÐ;NÐOóð ô   
× 0Ñ 0°;×3DÑ3DÕ DÀiÇoÁo×VÒVÜ$Ø9¸*×:JÑ:JÈ[×M^ÑM^Õ:^Ð9_Ð_nÐox×o~Ño~Ðnð  Aóð ð ×#Ñ# qÔ(Ü$Ø>¸y×?SÑ?SÐ>TÐUóð ð )ô
 Ø5°j×6HÑ6HÐ5IÐJóð ô ˆz×ÑÓ  AÔ%Ü Ø;¼CÀ
×@PÑ@PÓ<QÐ;RÐSóð ô ˆ{× Ñ Ó! QÔ&Ü Ø<¼SÀ×ARÑARÓ=SÐ<TÐUóð ô ˆy�‰Ó 1Ô$Ü Ø:¼3¸y¿¹Ó;OÐ:PÐQóð ÷ à+6×+<Ñ+<Ñ(ˆC�˜' 5Ø�aŒxÜ$Ð'OÐPSÈuÐ%UÓVÐVØ�t�|˜qÔ Ü$ v¨e¨WÐ4OÐPTÈvÐ%VÓWÐWØ!&¨$¥ÐØ! QÔ&Ü$Ø8Ð9KÐ8LÐMóð ð ˜Œ}Ü$ v¨e¨W°I¸d¸VÐ%DÓEÐEð ð /:×.?Ñ.?Ñ+ˆE�7˜G VØ˜Œ~Ü$ w¨v¨h°iÀ¸vÐ%FÓGÐGà�I—O‘O AÕ&Ô&Ü Ø˜˜Ð6°y·±ÀqÕ7IÐ6JÐKóð ð ×&Ñ&Ó(ˆçØˆHÜ(×:Ñ:‰FàˆHßÜ,×>Ñ>‘ä,×4Ñ4�à�˜(Õ"ˆØˆˆq‰	Øˆˆq‰	Øˆˆq‰	Ø×1Ñ1°$·*±*Ó=ˆˆq‰	Ø×1Ñ1°$·*±*Ó=ˆˆq‰	Ø×1Ñ1°$·*±*Ó=ˆˆq‰	Ø×1Ñ1°$·*±*Ó=ˆˆq‰	Ø×1Ñ1°$·-±-Ó@ˆˆq‰	Ø×1Ñ1°$·-±-Ó@ˆˆq‰	ßØ×5Ñ5°aÓ8ˆF�1‰IØ×6Ñ6°yÓAˆF�2‰JØ×7Ñ7¸ÓAˆF�2ŠJà×5Ñ5°iÓ@ˆF�1‰IØ×7Ñ7¸ÓAˆF�2‰Jà�&˜1•*ˆÜ'¨
×(8Ñ(8¸$ÀÀyÓQˆ	Ø×&Ñ&ØØØ%ð 'ó 
ˆð
 ×(Ñ(¨°(Ó;ˆØ×-Ñ-¨f°iÀyÔQàˆ�‰
Ø×Ñ˜6 6¨7Ö3r   c                óœ  € V P                  V4      w  rVVP                  w  rxršV^ 8X  d   V P                  V^ V^ 4       V^ 8X  d   \        R4      hV'       d»   V	^ 8X  dU   V P	                  V^R\        V^4       RVP                   RVP                   RVP                   RVP                   2
4       V
^ 8X  dW   V P	                  V^R\        V^4       RVP                   RVP                   RVP                   RVP                   2
4       R# R# V	^ 8X  dV   V P	                  V^R\        V^4       RVP                   RVP                   RVP                   RVP                   R24       V
^ 8X  dX   V P	                  V^R\        V^4       RVP                   RVP                   RVP                   RVP                   R24       R# R# )	r   z Input channels can't be flexibler‹  z - 1) * r´  z - z) // z + 1N)rg  rË   rš  rÅ   r;  rù   r©   r§   r«   r¬   rª   r¨   r­   r®   )rÇ   rž  r^  rà   râ   rõ  rö  rã   Úin_chrå   ræ   s   &&&&&      r   rû  Ú1_NnapiSerializer._handle_conv_pool_flexible_input!
  sè  € Ø#×@Ñ@ÀÓKÑˆØ#-×#3Ñ#3Ñ ˆ�dà�AŒ:Ø×&Ñ& v¨q°(¸AÔ>Ø�AŒ:ÜÐ>Ó?Ð?çØ�qŒyØ×*Ñ*ØØØœ	 (¨AÓ.Ð/¨x¸¿¹°ÀcÈ$Ï-É-ÈÐX[Ð\`×\fÑ\fÐ[gÐgjÐko×kuÑkuÐjvÐwôð
 �qŒyØ×*Ñ*ØØØœ	 (¨AÓ.Ð/¨x¸¿¹°ÀcÈ$Ï-É-ÈÐX[Ð\`×\fÑ\fÐ[gÐgjÐko×kuÑkuÐjvÐwöñ ð �qŒyØ×*Ñ*ØØØœ	 (¨AÓ.Ð/¨s°4·=±=°/ÀÀTÇZÁZÀLÐPSÐTX×T^ÑT^ÐS_Ð_dÐei×erÑerÐdsÐswÐxôð
 �qŒyØ×*Ñ*ØØØœ	 (¨AÓ.Ð/¨s°4·=±=°/ÀÀTÇZÁZÀLÐPSÐTX×T^ÑT^ÐS_Ð_dÐei×erÑerÐdsÐswÐxöñ r   )r
  r  r  r  r	  r  rþ   r  r   r  r  r  r  r  rÿ   r  )FrŒ   )NN)Sr   r	   r
   r   r  r  r  r  r5  r>  r¼   rÀ   rH  rM  rR  rV  r[  ra  rd  rg  rl  r½   rr  ru  rz  r~  rƒ  rq  r“  rš  r;  r£  r«  r±  r¾  rÄ  rµ  rû  rä  Ústaticmethodrå  r_  rß  r  r	  r  r  r  r  r  r  r  r   r#  r&  r(  r*  r,  r7  rÚ  r3  r/  rZ  r:  r<  rF  r@  r>  rB  rD  rH  rJ  r  rS  rX  rO  rM  rQ  rV  r]  rû  r   r¹   rº   s   @r   rû   rû   L  s%  ø‡ € ôò,"ò	òò1
òfð" !)× 9Ñ 9ôò"
1ò
ò

ò

ò

ò1ò7òð !)× <Ñ <ô7ò7ò
5ò/ò
0ô
ô4
òlTò
ò
$ò(
ò

ò
ô*
ò"
ô,z
òx8ð* ñ0ó ð0ðGØÑBðGàÑIðGð 	ÑOðGð 	Ñ Qð	Gð
 	ÑFðGð 	Ñ8ðGð 	Ñ?ðGð 	ÑBðGð 	ÑBðGð 	Ñ>ðGð 	Ñ<ðGð 	Ñ:ðGð 	Ñ<ðGð 	$Ñ%OðGð 	ÑHðGð  	ñ 
ð!Gð& 	ñ 
ñ'Gð, 	ñ 
ð-Gð2 	ñ 
ð3Gð8 	ñ 
ð9Gð> 	ñ 
ð?GðD 	ÑBðEGðF 	ÑDðGGðH 	ÑHðIGðJ 	ñ 
ðKGðP 	$ñ &
ðQGðV 	#ñ %
ðWGð\ 	ÑAð]Gð^ 	Ñ>ð_Gð` 	Ñ@ðaGðb 	ÑOðcGðd 	Ñ@ðeGðf 	ÑJðgGðh 	ÑFñiGðj 	ñ 
ð 	!ñ #
ð 	&ñ (
ð 	ñ 
ð 	ñ  
ð 	ñ 
ñIG€IòRò0ò
6ò(6òò>1òMòBò)IòV<Iò|OOòb<ò GOòR?FòB&JòPLò2 4ðDA4Àô A4òF5ò5ò	RòIò44òB4Gòl24òh=Qò~5QònUYònNò0Oò-Qò^gQôR@ò$
òL+
òZMô8Q
òfR4÷h"ð "r   rû   r  rç  r  Fc               ó8   € \        W$4      P                  WV4      # )aÐ  Convert to NNAPI and serialize torchscript module.

Parameters:
    module: Torchscript module to convert
    inputs: Tensors used to specify input details for NNAPI
    config (optional): Optional config to attach to module
    return_shapes (optional): Specify shape of outputs if
        your module uses runtime flexible shapes to set output
        buffer size for NNAPI
    use_int16_for_qint16 (optional): Use Pytorch int16 to represent NNAPI qint16 values
)rû   rû  )Úmoduler  r  rç  r  s   &&$$$r   rû  rû  F
  s!   € ô ˜FÓ9×IÑIØ˜óð r   )g�íµ ÷Æ°>)r_  Úenumr’  Úloggingr”  rB  r¨  Útypingr   r…  Ú	getLoggerrZ   r   r   r~   r„   ÚEnumr‰   r’   rš   r¢   r¤   r¼   rÂ   rÜ   rê   rï   ró   rù   rû   rû  r   r   r   Ú<module>r‹     sì   ðã Û Û Û Û Û Û 
Ý ã ð ×ÒÐ)Ó*€÷ñ ÷ _!ñ _!÷Dñ ÷ñ ô�t—y‘yô ô7òòô�Zô ô ˆt�y‰yô ô-ˆjô -ò@ òFò06ò(	Nò÷w#ñ w#ðtGØ"ðØ26ðØMRör   