+
    –°³jR ã                   óÈg  a € ERÏ Et‘0 t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHtHt ^ RI	H
t
 ^ RIHt ^ RIHtHt ^ RIHtHt ^ RIHtHt ^ RIt^ RIt^ RIHt ^ RIHt ^ RIHu Ht ^ RIH t H!t!H"t" ^ R	I#H$t$ ^ R
I%H&t& ^ RIH't'H(t(H)t)H*t*H+t+ ^ RI,H-t-H.t.H/t/H0t0 ^ RI1H2t3 ^ RI4H5t5 ]Pl                  Pn                  t7. t8] ^ k ]Pr                  Pt                  Pv                  t; ! R R]4      t<ERÐR R llt=]! ]=]P|                  P~                  RR7      t@]! ]=]P|                  P~                  R7      tA]! ]=]P|                  P~                  RR7      tB]! ]=]P|                  P†                  R7      tDR R ltE]$! ];PŒ                  4      ]0! R4      ]AR R l4       4       4       tF]$! ];PŽ                  4      ]0! R4      ]AR R l4       4       4       tG]$! ];P�                  4      ]0! R4      ]AR R  l4       4       4       tH]$! ];P’                  4      ]0! R4      ]AR! R" l4       4       4       tI]$! ];P”                  P–                  .4      R# 4       tL]$! ];P”                  PD                  .4      R$ R% l4       tM]$! ];Pœ                  4      ]0! 4       ]AR& R' l4       4       4       tN]$! ];Pž                  4      ]0! R4      ]AR( R) l4       4       4       tO]$! ];P                   4      ]0! R4      ]AR* R+ l4       4       4       tP]$! ];P¢                  4      ]0! 4       ]AR, R- l4       4       4       tQ]$! ];P¤                  4      ]0! 4       ]AR. R/ l4       4       4       tR]$! ];P¦                  4      ]0! R4      R0 R1 l4       4       tS]$! ];P¨                  4      ]0! R4      ]AR2 R3 l4       4       4       tT]$! ];Pª                  4      ]0! R4      ]AERÑR4 R5 ll4       4       4       tU]$! ];P¬                  4      ]AR6 R7 l4       4       tV]$! ];P®                  4      ]0! 4       ]AR8 R9 l4       4       4       tW]$! ];P°                  4      ]0! R4      ]AR: R; l4       4       4       tX]$! ];P²                  4      R< R= l4       tY]$! ];P´                  4      R> R? l4       tZ]$! ];P¶                  4      ]0! 4       ]AR@ RA l4       4       4       t[]$! ];P¸                  4      ]0! R4      ]ARB RC l4       4       4       t\]$! ];Pº                  4      ]0! 4       RD RE l4       4       t]RF RG lt^RH RI lt_]$! ];PÀ                  4      ]0! 4       ]A]<PÂ                  PÄ                  3RJ RK ll4       4       4       t`]$! ];PÆ                  4      ]0! R4      ]ARL RM l4       4       4       tc]$! ];PÈ                  4      ERÒRN l4       te]$! ];PÌ                  4      ]0! 4       ]A]<PÂ                  PÄ                  RO3RP RQ ll4       4       4       tf]$! ];PÎ                  PÐ                  4      ]ARR RS l4       4       tg]$! ];PÎ                  PÒ                  4      ]ART RU l4       4       tj]$! ];PÖ                  PÐ                  4      ]ARV RW l4       4       tk]$! ];PÖ                  PØ                  4      ]ARX RY l4       4       tmRZ R[ ltn]$! ];PÞ                  4      ]0! R4      ]AR\ R] l4       4       4       to]$! ];Pà                  4      ]0! R4      R^ R_ l4       4       tp]$! ];Pâ                  4      ]0! R4      R` Ra l4       4       tq]$! ];Pä                  4      ]0! 4       ]AR]<PÂ                  PÄ                  3Rb Rc ll4       4       4       tr]$! ];Pæ                  4      ]0! R4      ]AR]<PÂ                  PÄ                  3Rd Re ll4       4       4       ts]$! ];Pè                  4      ]0! 4       ]A]<PÂ                  PÄ                  3Rf Rg ll4       4       4       tt]$! ];Pê                  4      ]0! R4      ]A]<PÂ                  PÄ                  3Rh Ri ll4       4       4       tu]$! ];Pì                  4      ]0! 4       ERÓRj Rk ll4       4       tv]$! ];Pî                  4      ]0! 4       Rl Rm l4       4       tw]$! ];Pð                  4      ]0! 4       Rn Ro l4       4       tx]$! ];Pò                  PD                  4      ERÔRp Rq ll4       tzRr Rs lt{]$! ];Pø                  4      ]0! 4       ERÔRt Ru ll4       4       t|]$! ];Pú                  4      ]0! 4       Rv Rw l4       4       t}]$! ];Pü                  4      ]0! 4       Rx Ry l4       4       t~Rz R{ lt]$! ];EP                   4      ]0! R4      ]@R| R} l4       4       4       t€]$! ];EP                  4      ]0! 4       ]@R~ R l4       4       4       t�R€ t‚]$! ];EP                  4      ]0! 4       R� R‚ l4       4       tƒ]$! ];EP                  4      ]0! 4       ]ARƒ R„ l4       4       4       t„]$! ];EP
                  4      ]0! 4       R… R† l4       4       t…]$! ];EP                  4      ]0! 4       R‡ Rˆ l4       4       t†]$! ];EP                  PÐ                  4      ]AERÒR‰ RŠ ll4       4       t‡]$! ];EP                  4      ];EP                  PÐ                  EP                  ]7EP                  4      ];EP                  PÐ                  EP                  ]7EP                  4      R‹ RŒ l4       4       4       tˆ]$! ];EP                  4      ]0! R�RŽ4      R� R� l4       4       tŒ]$! ];EP                  4      ]0! 4       R‘ R’ l4       4       t�R“ R” ltŽ]$! ];EP                  4      ]0! RR•7      R– R— l4       4       t�]$! ];EP                   4      ]0! 4       ERÕR˜ R™ ll4       4       t�]$! ];EP"                  4      ]0! 4       Rš R› l4       4       t‘Rœ R� lt’Rž RŸ lt“R  R¡ lt”R¢ R£ lt•R¤ R¥ lt–]$! ];EP.                  PÐ                  ];EP.                  PØ                  .4      ERÒR¦ R§ ll4       t—]$! ];EP0                  PÐ                  ];EP0                  PØ                  .4      ERÖR¨ R© ll4       t˜]$! ];EP2                  PD                  4      ER×Rª R« ll4       t™]$! ];EP4                  PÐ                  4      ER×R¬ R­ ll4       tš]$! ];EP6                  PD                  4      ER×R® R¯ ll4       t›];EP8                  EP:                  EP                  ]7EP                  4      ER×R° R± ll4       tž]$! ];EP>                  PÐ                  ];EP>                  PØ                  .4      ]0! RR•7      ]AERØR² R³ ll4       4       4       tŸ]$! ];EP>                  EP@                  ];EP>                  EPB                  .4      ]0! RR•7      ERØR´ Rµ ll4       4       t¢]$! ];EPF                  4      ]0! 4       ]AERÙR¶ R· ll4       4       4       t£]AERØR¸ R¹ ll4       t¤]$! ];EPJ                  4      ]0! RR•7      ERØRº R» ll4       4       t¥]$! ];EPL                  PÐ                  4      ]AR¼ R½ l4       4       t¦]$! ];EPL                  PØ                  4      R¾ R¿ l4       t§RÀ RÁ lt¨]$! ];EPR                  PÐ                  4      RÂ RÃ l4       t©]$! ];EPR                  PØ                  4      RÄ RÅ l4       tª]$! ];EPV                  PÐ                  4      RÆ RÇ l4       t«]$! ];EPX                  PÐ                  4      RÈ RÉ l4       t¬RÊ RË lt­]$! ];EP\                  4      ]0! RÌRÍRÎ4      RÏ RÐ l4       4       t®];EP\                  PÐ                  EP                  ]7EP                  4      ];EP\                  PÐ                  EP                  ]7EP                  4      RÑ RÒ l4       4       t¯];EP`                  PÐ                  EP                  ]7EP                  4      ER×RÓ RÔ ll4       t±]$! ];EPd                  PÐ                  4      RÕ RÖ l4       t²]$! ];EPf                  PÐ                  4      R× RØ l4       t³]$! ];EPf                  EPh                  4      RÙ RÚ l4       tµ]$! ];EPl                  PÐ                  4      RÛ RÜ l4       t¶RÝ RÞ lt·]$! ];EPp                  PÐ                  4      Rß Rà l4       t¸]$! ];EPr                  PÐ                  4      Rá Râ l4       t¹]$! ];EPt                  PÐ                  4      Rã Rä l4       tº]$! ];EPv                  4      ]0! R�RŽ4      ERÒRå l4       4       t¼]$! ];EPz                  4      ]0! 4       RæRRçRRèRRéRRêRRëR/Rì Rí ll4       4       t½]$! ];EP|                  ];EP~                  ];EP€                  .4      ]0! 4       Rî 4       4       tÁ];EP„                  PÐ                  EP                  ]7EP                  4      ]$! ];EP„                  4      ]0! R�RŽRïRð4      Rñ Rò l4       4       4       tÂRó tÃ]$! ];EPˆ                  PÐ                  4      Rô Rõ l4       tÄ]$! ];EPŠ                  PÐ                  4      Rö R÷ l4       tÅ]$! ];EPŠ                  PØ                  4      Rø Rù l4       tÆ]$! ];EPŽ                  4      ]0! R�RŽRï4      Rú Rû l4       4       tÇ]$! ];EP�                  4      ]0! R�RŽRï4      Rü Rý l4       4       tÈ]$! ];EP’                  4      ]0! 4       ]ARþ Rÿ l4       4       4       tÊER  ER ltË]$! ];EP˜                  4      ]0! RÌER4      . ^ .^.R3ER ER ll4       4       tÌ]$! ];EPš                  4      ]0! RÌER4      . ^ .^.R3ER ER ll4       4       tÍ]$! ];EPœ                  4      ]0! RÌER4      ER ER l4       4       tÎ]$! ];EPž                  4      ]0! RÌER4      ER	 ER
 l4       4       tÏER ER ltÐ]$! ];EP¢                  4      ]0! 4       ER ER l4       4       tÑ]$! ];EP¤                  4      ]0! 4       ER ER l4       4       tÒ]$! ];EP¦                  4      ER^/ER ER ll4       tÓ]$! ];EP¨                  4      ]0! 4       ER^/ER ER ll4       4       tÔER^/ER ER lltÕ]$! ];EP¬                  PÐ                  4      ];EP¬                  PÐ                  EP                  ]7EP                  4      ERÚER l4       4       tÖ]$! ];EP®                  4      ER ER l4       t×]$! ];EP°                  4      ]0! 4       ER ER l4       4       tØER ER ltÙ]$! ];EP´                  4      ]0! ERER 4      ]AER! ER" l4       4       4       tÚ]$! ];EP¶                  4      ]0! 4       ERÛER# ER$ ll4       4       tÛ]$! ];EP¸                  4      ERÜER% l4       tÜER& tÝER' tÞ]$! ];EP¾                  EPÀ                  4      ]$! ];EPÂ                  EPÀ                  4      ]$! ];EPÄ                  EPÀ                  4      ];EP¾                  EPÀ                  EP                  ]7EP                  4      ];EP¾                  EPÀ                  EP                  ]7EP                  4      ];EPÂ                  EPÀ                  EP                  ]7EP                  4      ];EPÂ                  EPÀ                  EP                  ]7EP                  4      ];EPÄ                  EPÀ                  EP                  ]7EP                  4      ];EPÄ                  EPÀ                  EP                  ]7EP                  4      ER( ER) l4       4       4       4       4       4       4       4       4       tã]$! ];EPÈ                  EPÀ                  4      ]$! ];EPÊ                  EPÀ                  4      ]$! ];EPÌ                  EPÀ                  4      ];EPÈ                  EPÀ                  EP                  ]7EP                  4      ];EPÈ                  EPÀ                  EP                  ]7EP                  4      ];EPÊ                  EPÀ                  EP                  ]7EP                  4      ];EPÊ                  EPÀ                  EP                  ]7EP                  4      ];EPÌ                  EPÀ                  EP                  ]7EP                  4      ];EPÌ                  EPÀ                  EP                  ]7EP                  4      ER* ER+ l4       4       4       4       4       4       4       4       4       tçERÝER, ltè]$! ];EP¾                  PÐ                  ];EP¾                  PØ                  .4      ];EP¾                  PÐ                  EP                  ]7EP                  4      ];EP¾                  PÐ                  EP                  ]7EP                  4      ]0! RRER-7      ERÒER. ER/ ll4       4       4       4       tß]$! ];EPÈ                  PÐ                  ];EPÈ                  PØ                  .4      ];EPÈ                  PÐ                  EP                  ]7EP                  4      ];EPÈ                  PÐ                  EP                  ]7EP                  4      ]0! RRER-7      ERÒER0 ER1 ll4       4       4       4       té]$! ];EPÂ                  PÐ                  ];EPÂ                  PØ                  .4      ];EPÂ                  PÐ                  EP                  ]7EP                  4      ];EPÂ                  PÐ                  EP                  ]7EP                  4      ]0! RRER-7      ERÞER2 ER3 ll4       4       4       4       tá]$! ];EPÊ                  PÐ                  ];EPÊ                  PØ                  .4      ];EPÊ                  PÐ                  EP                  ]7EP                  4      ];EPÊ                  PÐ                  EP                  ]7EP                  4      ]0! RRER-7      ERÞER4 ER5 ll4       4       4       4       tå]$! ];EPÄ                  PÐ                  ];EPÄ                  PØ                  .4      ];EPÄ                  PÐ                  EP                  ]7EP                  4      ];EPÄ                  PÐ                  EP                  ]7EP                  4      ]0! RRER-7      ERßER6 ER7 ll4       4       4       4       tâ]$! ];EPÌ                  PÐ                  ];EPÌ                  PØ                  .4      ];EPÌ                  PÐ                  EP                  ]7EP                  4      ];EPÌ                  PÐ                  EP                  ]7EP                  4      ]0! RRER-7      ERßER8 ER9 ll4       4       4       4       tæ]AERÝER: ER; ll4       têER< tëER= tìER> tíER? tîERÝER@ ltïERA tðERB tñERÝERC ltòERÝERD ltóERE tô]$! ];EPê                  EPì                  4      ];EPê                  EPì                  EP                  ]7EP                  4      ];EPê                  EPì                  EP                  ]7EP                  4      ERF 4       4       4       t÷]$! ];EPð                  EPì                  4      ];EPð                  EPì                  EP                  ]7EP                  4      ];EPð                  EPì                  EP                  ]7EP                  4      ERG 4       4       4       tù]$! ];EPð                  EPô                  4      ];EPð                  EPô                  EP                  ]7EP                  4      ];EPð                  EPô                  EP                  ]7EP                  4      ERH 4       4       4       tû]$! ];EPê                  EPô                  4      ];EPê                  EPô                  EP                  ]7EP                  4      ];EPê                  EPô                  EP                  ]7EP                  4      ERI 4       4       4       tüERJ týERÝERK ltþERÝERL ltÿERM Et ]$! ];EP                  EPì                  4      ];EP                  EPì                  EP                  ]7EP                  4      ];EP                  EPì                  EP                  ]7EP                  4      ERN 4       4       4       Et]$! ];EP                  EPô                  4      ];EP                  EPô                  EP                  ]7EP                  4      ];EP                  EPô                  EP                  ]7EP                  4      ERO 4       4       4       EtERP EtERQ Et]$! ];EP                  EPô                  4      ];EP                  EPô                  EP                  ]7EP                  4      ];EP                  EPô                  EP                  ]7EP                  4      ERR 4       4       4       Et]$! ];EP                  EPì                  4      ];EP                  EPì                  EP                  ]7EP                  4      ];EP                  EPì                  EP                  ]7EP                  4      ERS 4       4       4       Et]$! ];EP                  EPÀ                  4      ];EP                  EPÀ                  EP                  ]7EP                  4      ];EP                  EPÀ                  EP                  ]7EP                  4      ERT 4       4       4       Et
]$! ];EP                  EPÀ                  4      ];EP                  EPÀ                  EP                  ]7EP                  4      ];EP                  EPÀ                  EP                  ]7EP                  4      ERU 4       4       4       Et]$! ];EP                  EPÀ                  4      ];EP                  EPÀ                  EP                  ]7EP                  4      ];EP                  EPÀ                  EP                  ]7EP                  4      ERV 4       4       4       Et]$! ];EP                  EPÀ                  4      ]$! ];EP                   EPÀ                  4      ];EP"                  EPÀ                  EP                  ]7EP                  4      ];EP"                  EPÀ                  EP                  ]7EP                  4      ];EP                  EPÀ                  EP                  ]7EP                  4      ];EP                  EPÀ                  EP                  ]7EP                  4      ];EP                   EPÀ                  EP                  ]7EP                  4      ];EP                   EPÀ                  EP                  ]7EP                  4      ERW 4       4       4       4       4       4       4       4       Et]$! ];EP"                  PÐ                  ];EP"                  PØ                  .4      ]0! 4       ERÒERX ERY ll4       4       Et]$! ];EP                  PÐ                  ];EP                  PØ                  .4      ];EP                  PÐ                  EP                  ]7EP                  4      ]0! 4       ERÞERZ ER[ ll4       4       4       Et]$! ];EP                   PÐ                  ];EP                   PØ                  .4      ]0! 4       ERßER\ ER] ll4       4       EtERÒER^ lEtER_ EtER` ERa lEtERb ERc lEt]AERd ERe l4       Et]$! ];EP0                  PÐ                  4      ERf ERg l4       Et]$! ];EP2                  ];EP4                  .4      ]0! 4       ERh 4       4       Et]$! ];EP6                  .4      ERi 4       Et]$! ];EP8                  .4      ERÝERj l4       Et]$! ];EP:                  .4      ERk 4       Et]$! ];EP<                  .4      ERl 4       EtERm ERn lEt]$! ];EP@                  4      ]0! ERERo4      ERp ERq l4       4       Et ]$! ];EPB                  4      ]0! ERERo4      ERr ERs l4       4       Et!ERt ERu lEt"ERv ERw lEt#ERx ERy lEt$ERz ER{ lEt%ER| ER} lEt&ER~ ER lEt'ER€ ER� lEt(ER‚ ERƒ lEt)ER„ ER… lEt*ER† ER‡ lEt+]$! ];EPX                  4      ]0! 4       ]AERˆ ER‰ l4       4       4       Et,ERàERŠ ER‹ llEt-]$! ];EP\                  4      ]0! 4       ]AERáERŒ ER� ll4       4       4       Et.]$! ];EP^                  4      ]0! RR•7      ]AERŽ 4       4       4       Et/]$! ];EP`                  4      ]0! 4       RR]<PÂ                  PÄ                  3ER� l4       4       Et0ER� ER‘ lEt1];EPd                  PÐ                  EP                  ]7EP                  4      ];EPd                  PØ                  EP                  ]7EP                  4      ]0! RER’7      ER“R/ER” l4       4       4       Et2]$! ];EPf                  PÐ                  ];EPf                  PØ                  .4      ];EPf                  PÐ                  EP                  ]7EP                  4      ]0! 4       ]AERÞER• ER– ll4       4       4       4       Et4]$! ];EPf                  EPÀ                  4      ];EPf                  EPÀ                  EP                  ]7EP                  4      ];EPf                  EPÀ                  EP                  ]7EP                  4      ]0! 4       ]AERÒER— ER˜ ll4       4       4       4       4       Et5]$! ];EPl                  4      ]$! ];EPn                  4      ]$! ];EPp                  4      ]A]0! 4       ER™ ERš l4       4       4       4       4       Et9]$! ];EPt                  4      ]$! ];EPv                  4      ]$! ];EPx                  4      ]A]0! 4       ER› ERœ l4       4       4       4       4       Et=ER� ERž lEt>]$! ];EP~                  4      ]$! ];EP€                  4      ]$! ];EP‚                  4      ]0! R4      ERŸ 4       4       4       4       EtB]$! ];EP†                  4      ]0! ER ER¡RR•7      ER¢RER£R/ER¤ l4       4       EtC]$! ];EPˆ                  4      ]0! 4       ERâRæR/ER¥ ll4       4       EtD]$! ];EPŠ                  PÐ                  ];EPŠ                  PØ                  .4      ]0! 4       RæRRç]EPŒ                  RèRRéR/ER¦ ER§ ll4       4       EtG]$! ];EPŠ                  EP�                  .4      RæRRç]EPŒ                  RèRRéR/ER¨ ER© ll4       EtI]$! ]&4      ERª 4       EtJ]$! ];EP–                  4      ];EP–                  PÐ                  EP                  ]7EP                  4      ]0! 4       ^^R]<PÂ                  PÄ                  3ER« ER¬ ll4       4       4       EtK]$! ];EP˜                  4      ];EP˜                  PÐ                  EP                  ]7EP                  4      ]0! ERER­4      ER® ER¯ l4       4       4       EtL]$! ];EPš                  PÐ                  4      ERãER°RER±R/ER² ER³ lll4       EtNER´ EtO]$! ];EP                   .4      ]0! RR•7      ]AERØERµ l4       4       4       EtP]$! ];EP¢                  4      ]0! 4       ER¶ 4       4       EtQ]$! ];EP¤                  4      ER· 4       EtR]$! ];EP¦                  PÐ                  ];EP¦                  PØ                  .4      RæRRÌR/ER¸ ER¹ ll4       EtT]$! ];EPª                  PÐ                  ];EPª                  EP¬                  .4      ERÒERº ER» ll4       EtW]$! ]Pt                  Pv                  EP°                  4      ER×ER¼ l4       EtX]$! ];EP²                  4      ]0! 4       ER½RER¾R/ER¿ l4       4       EtY]$! ];EP´                  PÐ                  4      ERÀR/ERÁ ERÂ ll4       EtZER¾R/ERÃ lEt[ER½RER¾R/ERÄ lEt\]$! ];EPº                  4      ]0! 4       ERÅ 4       4       Et]]$! ];EP¼                  4      ERÒERÆ l4       Et^]$! ];EP¾                  4      ERÇ ERÈ l4       Et_]$! ];EPÀ                  PÐ                  ];EPÀ                  PØ                  .4      ]0! 4       RæRRçRRèRRéR/ERÉ ERÊ ll4       4       Et`]$! ];EPÀ                  EPÂ                  ];EPÀ                  EPÄ                  .4      ]0! 4       ERäRæRRçRRèRRéR/ERË ERÌ lll4       4       EtcE]O! ];EPÈ                  ];EPÊ                  4       E]O! ];EPÌ                  ];EP>                  4       E]O! ];EPÎ                  ];EPJ                  4       E]O! ];EPÐ                  ];EP                   4       E]O! ];EPÒ                  ];P”                  4       E]O! ];EPÔ                  ];EPÖ                  4       E]O! ];EPØ                  ];P¢                  4       E]O! ];EPÚ                  ];EPÜ                  4       E]O! ];EPÞ                  ];Pœ                  4       E]O! ];EPà                  ];EPâ                  4       E]O! ];EPä                  ];EPæ                  4       E]O! ];EPè                  ];EPê                  4       E]O! ];EPì                  ];EPî                  4       E]O! ];EPð                  ];EPò                  4       E]O! ];EPô                  ];EPö                  4       E]O! ];EPø                  ];EPú                  4       E]O! ];EPü                  ];Pº                  4       E]O! ];EPþ                  ];EP                   4       E]O! ];EP                  ];EP                  4       E]O! ];EP                  ];EP                  4       E]O! ];EP
                  ];EP                  4       E]O! ];EP                  ];EP                  4       E]O! ];EP                  ];EP                  4       E]O! ];EP                  ];EP                  4       E]O! ];EP                  ];EP                  4       E]O! ];EP                  ];P®                  4       ];EP                   PÐ                  EP                  ]7EP                  4      ERåERÍ ERÎ ll4       Et�R# (æ  é    N)ÚCallableÚIterable)Únullcontext)ÚEnum)ÚpartialÚreduce)ÚchainÚproduct)ÚAnyÚcast)Ú	sym_floatÚsym_intÚTensor©Úregister_decomposition©Ú	out_dtype)ÚIntLikeÚ
NumberTypeÚsuggest_memory_formatÚ
TensorLikeÚTensorSequenceType)Ú_maybe_convert_to_dtypeÚ_maybe_resize_outÚ_safe_copy_outÚout_wrapper)Ú_pytree)Útree_mapc                   ó"   € ] tR t^1t^ t^t^tRtR# )Ú	Reduction© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚNONEÚMEANÚSUMÚ__static_attributes__r!   ó    Ú]/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/_decomp/decompositions.pyr    r    1   s   † Ø€DØ€DØ
„Cr*   r    Fc                ó\   € V ^8„  d   QhR\         R\        P                  R\        R\        /# )é   ÚfÚtype_promotionÚcompute_dtype_onlyÚinclude_non_tensor_args)r   ÚutilsÚELEMENTWISE_TYPE_PROMOTION_KINDÚbool)Úformats   "r+   Ú__annotate__r6   :   s6   € ÷ 'ñ 'Üð'ä×9Ñ9ð'ô ð'ô "ñ	'r*   c                 óR   a aaa€ \         P                  ! S 4      VV VV3R  l4       pV# )c                  óˆ  <aa	€ S'       d!   \         \        P                  P                  3M\         3p\        P
                  ! V / VB  Uu. uF  p\        W24      '       g   K  VNK  	  pp\        P                  ! VR S/ w  oo	V3R lpV	3R lpS! \        WP4      / \        WQ4      B pS
'       d   V# \        Wg4      # u upi )Útype_promotion_kindc                 óV   <€ \        V \        4      '       d   V P                  S4      # V # ©N©Ú
isinstancer   Úto)ÚxÚcomputation_dtypes   &€r+   Úincrease_precÚ0type_casts.<locals>.inner.<locals>.increase_precO   s%   ø€ Ü˜!œV×$Ò$Ø—t‘tÐ-Ó.Ð.à�r*   c                 óV   <€ \        V \        4      '       d   V P                  S4      # V # r;   r<   )r?   Úresult_dtypes   &€r+   Údecrease_precÚ0type_casts.<locals>.inner.<locals>.decrease_precU   s$   ø€ Ü˜!œV×$Ò$Ø—t‘t˜LÓ)Ð)à�r*   )
r   ÚtorchÚtypesÚ_NumberÚpytreeÚarg_tree_leavesr=   r2   Úelementwise_dtypesr   )ÚargsÚkwargsÚallowed_typesr?   Ú	flat_argsrA   rE   Úrr@   rD   r0   r.   r1   r/   s   *,      @@€€€€r+   ÚinnerÚtype_casts.<locals>.inner@   s¿   ú€ ÷ .EŒV”U—[‘[×(Ñ(Ñ)Ì6È)ð 	ô
 ×+Ò+¨TÐ<°VÒ<ó
á<�Ü˜!×+÷ ˆAÙ<ð 	ð 
ô
 +0×*BÒ*BØð+
Ø,:ñ+
Ñ'Ð˜<õ
	õ	ñ Œx˜Ó,ÐP´¸Ó0OÑPˆßØˆHä˜MÓ-Ð-ùò5
s   ÁB?Á#B?)Ú	functoolsÚwraps)r.   r/   r0   r1   rR   s   ffff r+   Ú
type_castsrV   :   s(   û€ ô ‡_‚_�QÓ÷.ó ð.ð@ €Lr*   T)r/   r0   )r/   )r/   r1   c                ó<   € V ^8„  d   QhR\         R\        R\         /# ©r-   r?   ÚdimÚreturn©r   Úint)r5   s   "r+   r6   r6   w   s!   € ÷ ñ œð ¤cð ¬fñ r*   c                 ót   € \        WP                  4       ,
          4       F  pV P                  R4      p K  	  V # ©é   éÿÿÿÿ)ÚrangerY   Ú	unsqueeze)r?   rY   Ú_s   && r+   Ú_unsqueeze_to_dimrd   w   s+   € Ü�3Ÿ™›•=Ö!ˆØ�K‰K˜‹OŠñ "à€Hr*   Ú
grad_inputc                ó0   € V ^8„  d   QhR\         R\         /# ©r-   Úout_gradÚy©r   )r5   s   "r+   r6   r6   €   s   € ÷ 2ñ 2œFð 2¤vñ 2r*   c                 óJ   € V ^W,          ,
          P                  4       ,          # ©r_   ©Úconj_physical©rh   ri   s   &&r+   Útanh_backwardrp   }   s   € ð �q˜1�5•y×/Ñ/Ó1Õ1Ð1r*   c                ó0   € V ^8„  d   QhR\         R\         /# rg   rj   )r5   s   "r+   r6   r6   ‡   s   € ÷ 4ñ 4œvð 4¬&ñ 4r*   c                 óJ   € W^V,
          ,          P                  4       ,          # rl   rm   ro   s   &&r+   Úsigmoid_backwardrs   „   s   € ð ˜A �E•{×1Ñ1Ó3Õ3Ð3r*   c                óH   € V ^8„  d   QhR\         R\         R\        R\        /# )r-   rh   r?   ÚbetaÚ	threshold©r   Úfloat)r5   s   "r+   r6   r6   Ž   s.   € ÷ Sñ S¤ð S¬6ð S¼ð SÌ5ñ Sr*   c                 ó˜   € W,          P                  4       p\        P                  ! W,          V8„  W V,          VR ,           ,          4      # ©ç      ð?)ÚexprG   Úwhere)rh   r?   ru   rv   Úzs   &&&& r+   Úsoftplus_backwardr   ‹   s7   € ð 
��‰Ó€AÜ�;Š;˜� IÑ-¨xÀA½ÈÈSÍÕ9QÓRÐRr*   c                ó`   € V ^8„  d   QhR\         R\        R\        R\        R\        R\         /# )r-   Úgrad_outputÚalphaÚscaleÚinput_scaleÚ	is_resultÚself_or_result©r   rx   r4   )r5   s   "r+   r6   r6   –   sD   € ÷ 
ñ 
Üð
äð
ô ð
ô ð	
ô
 ð
ô ñ
r*   c                 ó0  € W,          pTpTpV'       d5   \         P                  ! V^ 8*  W,          WV,           ,          W,          4      # \         P                  ! V^ 8*  W,          V,          \         P                  ! WX,          4      ,          W,          4      # ©r   )rG   r}   r|   )	r�   r‚   rƒ   r„   r…   r†   ÚnegcoefÚposcoefÚ
negiptcoefs	   &&&&&&   r+   Úelu_backwardr�   “   s‚   € ð �m€GØ€GØ€JßÜ�{Š{Ø˜aÑØÕ$¨Õ(@ÕAØÕ!ó
ð 	
ô �{Š{Ø˜aÑØÕ$ wÕ.´·²¸>Õ;VÓ1WÕWØÕ!ó
ð 	
r*   c                 ó.   € \         P                  ! W4      # r;   )rG   Ú	full_like©ÚselfÚvalues   &&r+   Úfill_scalarr“   ¯   s   € ä�?Š?˜4Ó'Ð'r*   c                ó$   € V ^8„  d   QhR\         /# )r-   r’   rj   )r5   s   "r+   r6   r6   µ   s   € ÷ "ñ "œVñ "r*   c                 óˆ   a€ \         P                  ! SP                  4       ^ 8H  V3R l4       \        P	                  V S4      # )r   c                  ó,   <€ R S P                  4        R2# )z@fill only supports 0-dimension value tensor but got tensor with z dimensions©rY   ©r’   s   €r+   Ú<lambda>Úfill_tensor.<locals>.<lambda>¸   s   ø€ ÐRÐSX×S\ÑS\ÓS^ÐR_Ð_jÑkr*   )rG   Ú_checkrY   ÚatenÚcopyr�   s   &fr+   Úfill_tensorrž   ´   s3   ø€ ä	‡L‚LØ�	‰	‹�qÑÜkôô �9‰9�T˜5Ó!Ð!r*   c                ó0   € V ^8„  d   QhR\         R\         /# ©r-   r‘   rZ   rj   )r5   s   "r+   r6   r6   À   s   € ÷ @ñ @”fð @¤ñ @r*   c                 óz   € \         P                  ! \         P                  ! V ^,           ^ R7      ^R7      ^,          # ©é   ©Úmin©Úmax©rG   Úclamp©r‘   s   &r+   Úhardsigmoidr«   ½   s)   € ô �;Š;”u—{’{ 4¨!¥8°Ô3¸Ô;¸aÕ?Ð?r*   c                ó0   € V ^8„  d   QhR\         R\         /# )r-   r�   r‘   rj   )r5   s   "r+   r6   r6   Ç   s   € ÷ ñ ¤fð ´Fñ r*   c                 óZ   € \         P                  ! VR8„  VR 8  ,          V R,          R4      # )g      @ç        g      ÀgUUUUUUÅ?©rG   r}   ©r�   r‘   s   &&r+   Úhardsigmoid_backwardr±   Ä   s0   € ô �;Š;Ø	�‰˜ ™Õ$Ø�yÕ!Øóð r*   c                óH   € V ^8„  d   QhR\         R\         R\        R\        /# )r-   r�   r‘   Úmin_valÚmax_valrw   )r5   s   "r+   r6   r6   Ò   s2   € ÷ Pñ PÜðPÜ%ðPÜ05ðPÜ@EñPr*   c                 óH   € \         P                  ! W8*  W8¬  ,          R V 4      # )r®   r¯   )r�   r‘   r³   r´   s   &&&&r+   Úhardtanh_backwardr¶   Ï   s    € ô �;Š;˜™¨D©OÕ<¸cÀ;ÓOÐOr*   c                ó0   € V ^8„  d   QhR\         R\         /# r    rj   )r5   s   "r+   r6   r6   ß   s   € ÷ Gñ G”Fð Gœvñ Gr*   c                 óˆ   € V \         P                  ! \         P                  ! V ^,           ^ R7      ^R7      ,          ^,          # r¢   r¨   rª   s   &r+   Ú	hardswishr¹   Ü   s.   € ð ”%—+’+œeŸkšk¨$°­(¸Ô:ÀÔBÕBÀQÕFÐFr*   c                ó<   € V ^8„  d   QhR\         R\         R\         /# ©r-   r�   r‘   rZ   rj   )r5   s   "r+   r6   r6   æ   s!   € ÷ ñ ¤Fð ´&ð ¼Vñ r*   c           
      ó’   € \         P                  ! VR8*  R\         P                  ! V^8  W^,          R,           ,          V 4      4      # )r£   r®   ç      à?éýÿÿÿr¯   r°   s   &&r+   Úhardswish_backwardr¿   ã   s?   € ô �;Š;Ø�‰
ØÜ�Š�D˜1‘H˜k°Q­h¸#Õ-=Õ>ÀÓLóð r*   c                ó<   € V ^8„  d   QhR\         R\         R\        /# )r-   r�   r‘   rv   rw   )r5   s   "r+   r6   r6   ð   s!   € ÷ :ñ :¤Fð :´&ð :ÄUñ :r*   c                 ó6   € \         P                  ! W8*  ^ V 4      # r‰   r¯   )r�   r‘   rv   s   &&&r+   Úthreshold_backwardrÂ   î   s   € ô �;Š;�tÑ(¨!¨[Ó9Ð9r*   c                óH   € V ^8„  d   QhR\         R\         R\        R\        /# )r-   r�   r‘   Únegative_slopeÚself_is_resultr‡   )r5   s   "r+   r6   r6   ÷   s2   € ÷ Lñ LÜðLÜ%ðLÜ7<ðLÜNRñLr*   c                 óD   € \         P                  ! V^ 8„  W V,          4      # r‰   r¯   )r�   r‘   rÄ   rÅ   s   &&&&r+   Úleaky_relu_backwardrÇ   ô   s   € ô �;Š;�t˜a‘x ¸NÕ.JÓKÐKr*   c                ó<   € V ^8„  d   QhR\         R\         R\        /# )r-   Úgradr‘   Úapproximate)r   Ústr)r5   s   "r+   r6   r6      s!   € ÷ )ñ )œð )¤fð )¼3ñ )r*   c                 óz  € R pRpRpVR8X  d³   W5,          R,          pRpW,          pW�,          p	WaWy,          ,           ,          p
\         P                  ! V
4      pRV,          p^V,           pRV,          p^W»,          ,
          pV^^V,          V,          ,           ,          pWÏ,          V,          pWV,           ,          # TpWT,          R,          pR^\         P                  ! VV,          4      ,           ,          pV\         P                  ! W,          R,          4      ,          pV VVV,          ,           ,          # )gÍ;fž ö?gÍ;fž æ?gm›BP×ò?Útanhr½   g÷Hmâä¦?ç      à¿)rG   rÍ   Úerfr|   )rÉ   r‘   rÊ   ÚM_SQRT2Ú	M_SQRT1_2Ú
M_2_SQRTPIÚkBetaÚkKappaÚx_sqÚx_cuberR   Ú
tanh_innerÚleftÚrightÚleft_derivativeÚtanh_derivativeÚinner_derivativeÚright_derivativeÚkAlphaÚcdfÚpdfs   &&&                  r+   Úgelu_backwardrá   ý   s  € ð %€GØ&€IØ'€JØ�fÔØÕ$ sÕ*ˆØˆØ�{ˆØ•ˆØ ¥Õ/Õ0ˆÜ—Z’Z Ó&ˆ
à�T�zˆØ�J•ˆà �+ˆà˜jÕ5Õ5ˆØ  A¨¨F­
°TÕ(9Õ$9Õ:ÐØÕ1Ð4DÕDÐàÐ)9Õ9Õ:Ð:àˆØÕ&¨Õ,ˆØ�QœŸš 4¨&¥=Ó1Õ1Õ2ˆØ”e—i’i ¥¨dÕ 2Ó3Õ3ˆØ�s˜T C�ZÕ'Õ(Ð(r*   c                ó0   € V ^8„  d   QhR\         R\         /# )r-   r�   Úinputrj   )r5   s   "r+   r6   r6      s   € ÷ 5ñ 5œvð 5¬fñ 5r*   c                 óØ   € \         P                  ! \        P                  ! V4      4      p\         P                  ! V4      pW,          ^W",          ,
          ,          pWV,           ,          # rl   )rG   rÍ   ÚFÚsoftplusÚsigmoid)r�   rã   Úinput_tanh_softplusÚinput_sigmoidÚouts   &&   r+   Úmish_backwardrë     sN   € ô  Ÿ*š*¤Q§Z¢Z°Ó%6Ó7ÐÜ—M’M %Ó(€MØ
Õ
 1Ð':Õ'PÕ#PÕ
Q€CØ°Õ3Õ4Ð4r*   c                ó0   € V ^8„  d   QhR\         R\         /# r    rj   )r5   s   "r+   r6   r6   *  s   € ÷ &ñ &Œvð &œ&ñ &r*   c                 ó<   € V \         P                  ! V 4      ,          # r;   ©rG   rç   rª   s   &r+   Úsilurï   '  s   € ð ”%—-’- Ó%Õ%Ð%r*   c                ó<   € V ^8„  d   QhR\         R\         R\         /# r»   rj   )r5   s   "r+   r6   r6   1  s!   € ÷ >ñ >œvð >¬Vð >¼ñ >r*   c                 óv   € \         P                  ! V4      pW,          ^V^V,
          ,          ,           ,          # rl   rî   )r�   r‘   rç   s   && r+   Úsilu_backwardrò   .  s.   € ô �mŠm˜DÓ!€GØÕ  A¨°°GµÕ(<Õ$<Õ=Ð=r*   c                ó<   € V ^8„  d   QhR\         R\         R\         /# )r-   r‘   ÚweightrZ   rj   )r5   s   "r+   r6   r6   7  s!   € ÷ 6ñ 6œð 6¬ð 6´6ñ 6r*   c                 óD   € \         P                  ! V ^ 8„  WV ,          4      # r‰   r¯   )r‘   rô   s   &&r+   Ú_prelu_kernelrö   6  s   € ä�;Š;�t˜a‘x °¥}Ó5Ð5r*   c          
      ój   € V ^8„  d   QhR\         R\         R\         R\        \         \         3,          /# )r-   r�   r‘   rô   rZ   ©r   Útuple)r5   s   "r+   r6   r6   <  s9   € ÷ %ñ %Üð%ä
ð%ô ð%ô Œ6”6ˆ>Õñ	%r*   c                 óŒ   € \         P                  ! V^ 8„  WV ,          4      p\         P                  ! V^ 8„  RW,          4      pW43# )r   r®   r¯   )r�   r‘   rô   Ú
input_gradÚweight_grads   &&&  r+   Ú_prelu_kernel_backwardrý   ;  s?   € ô —’˜T A™X {¸[Õ4HÓI€JÜ—+’+˜d Q™h¨¨TÕ-?Ó@€KØÐ$Ð$r*   c                óx   € V ^8„  d   QhR\         R\         R\         R\        R\        R\        R\        R\         /# )	r-   r�   r‘   ÚnoiseÚlowerÚupperÚtrainingrÅ   rZ   r‡   )r5   s   "r+   r6   r6   I  sX   € ÷ 
ñ 
Üð
ä
ð
ô ð
ô ð	
ô
 ð
ô ð
ô ð
ô ñ
r*   c                 ó~   € V'       d   V P                  V4      # W4,           ^,          p\        P                  WWv4      # ©r-   )Úmulrœ   rÇ   )r�   r‘   rÿ   r   r  r  rÅ   rÄ   s   &&&&&&& r+   Úrrelu_with_noise_backwardr  F  s:   € ÷ Ø�‰˜uÓ%Ð%à�-¨1Õ,ˆÜ×'Ñ'Ø˜~ó
ð 	
r*   c                óH   € V ^8„  d   QhR\         R\         R\         R\         /# )r-   r�   r‘   ÚbufferrZ   rj   )r5   s   "r+   r6   r6   ^  s(   € ÷ <ñ <¤fð <´Fð <ÄFð <Ìvñ <r*   c                 ó6  € V^ 8  p\         P                  ! V^^ 4      p\         P                  ! V^R4      pVP                  4       ^ 8”  d   TM*\         P                  ! \         P                  ! V4      ) 4      pWWV^V,           ,          ,          ,
          ,          # ©r   r`   )rG   r}   Únumelr|   Úabs)r�   r‘   r  Úin_negativeÚ	max_derivÚsignr~   s   &&&    r+   Úlog_sigmoid_backwardr  [  st   € ð ˜‘(€KÜ—’˜K¨¨AÓ.€IÜ�;Š;�{ A rÓ*€Dð —,‘,“. 1Ô$‰¬%¯)ª)´U·Y²Y¸t³_Ð4DÓ*E€AØ d°1°qµ5­kÕ&:Õ:Õ;Ð;r*   c                ó<   € V ^8„  d   QhR\         R\         R\         /# )r-   r‘   ÚotherrZ   rj   )r5   s   "r+   r6   r6   j  s!   € ÷ /ñ /”ð /œvð /¬&ñ /r*   c                 ó4  € \         P                  ! V P                  4      '       g'   \         P                  ! V P                  4      '       d   \        P
                  MV P                  pV P                  RR VR7      pV \        P                  ! W14      ,          # )ç       @©Údtyper!   )r2   Úis_integer_dtyper  Úis_boolean_dtyperG   Úfloat32Únew_fullÚpow)r‘   r  Ú	two_dtypeÚ
two_tensors   &&  r+   Úldexpr  h  sl   € ô
 ×!Ò! $§*¡*×-Ò-´×1GÒ1GÈÏ
É
×1SÒ1Sô 	�Šà�Z‰Zð ð
 —‘˜r 3¨i�Ó8€JØ”%—)’)˜JÓ.Õ.Ð.r*   c                ó0   € V ^8„  d   QhR\         R\        /# )r-   ÚlossÚ	reductionr[   )r5   s   "r+   r6   r6   t  s   € ÷ ñ œvð ´#ñ r*   c                 óÚ   € V\         P                  P                  8X  d   \        P                  ! V 4      # V\         P
                  P                  8X  d   \        P                  ! V 4      # V # r;   )r    r'   r’   rG   Úmeanr(   Úsum)r   r!  s   &&r+   Úapply_loss_reductionr%  t  sH   € Ø”I—N‘N×(Ñ(Ô(Ü�zŠz˜$ÓÐØ	”i—m‘m×)Ñ)Ô	)Ü�yŠy˜‹Ðàˆr*   c                ó8   € V ^8„  d   QhR\         P                  /# )r-   r  )rG   r  )r5   s   "r+   r6   r6   }  s   € ÷ ñ œŸ™ñ r*   c                 óä   € V \         P                  8X  d   \         P                  # V \         P                  8X  d   \         P                  # V \         P
                  8X  d   \         P                  # R # r;   )rG   Ú	complex32Úfloat16Ú	complex64r  Ú
complex128Úfloat64r  s   &r+   Úto_real_dtyper-  }  sK   € Ø”—‘ÔÜ�}‰}ÐØ	”%—/‘/Ô	!Ü�}‰}ÐØ	”%×"Ñ"Ô	"Ü�}‰}Ðñ 
#r*   c                óH   € V ^8„  d   QhR\         R\         R\        R\         /# )r-   r‘   Útargetr!  rZ   r[   )r5   s   "r+   r6   r6   �  s,   € ÷ 1ñ 1Ü
ð1Ü ð1Ü-0ð1äñ1r*   c                 ó6   € W,
          ^,          p\        W24      # r  )r%  )r‘   r/  r!  r   s   &&& r+   Úmse_lossr1  Œ  s   € ð �M˜aÕ€DÜ Ó0Ð0r*   c                óH   € V ^8„  d   QhR\         R\         R\         R\        /# )r-   r�   rã   r/  r!  r[   )r5   s   "r+   r6   r6   ™  s,   € ÷ 1ñ 1Üð1Ü &ð1Ü06ð1ÜCFñ1r*   c                 óž   € V\         P                  P                  8X  d   R VP                  4       ,          MR pWAV,
          ,          V ,          # )r  )r    r'   r’   r  )r�   rã   r/  r!  Únorms   &&&& r+   Úmse_loss_backwardr5  –  s9   € ð #,¬y¯~©~×/CÑ/CÔ"Cˆ3�—‘“ÖÈ€DØ˜6•>Õ" [Õ0Ð0r*   c                 óð   € \         P                  ! WVR 7      pV P                  \        R4      4      p\         P                  ! WARR7      p\         P
                  ! V4      p\         P                  ! WVV4      # ))rY   r  ú-infT©rY   Úkeepdim)rG   ÚsoftmaxÚeqrx   ÚallÚ
zeros_liker}   )r‘   rY   r  rê   ÚmaskedÚmasked_rowsÚzeross   &&&    r+   Úsafe_softmaxrA     sU   € ä
�-Š-˜¨UÔ
3€CØ�W‰W”U˜6“]Ó#€FÜ—)’)˜F°TÔ:€KÜ×Ò˜SÓ!€EÜ�;Š;�{¨3Ó/Ð/r*   r{   c                óH   € V ^8„  d   QhR\         R\         R\        R\        /# )r-   r‘   r/  r!  ru   ©r   r\   rx   )r5   s   "r+   r6   r6   ¬  s0   € ÷ 	1ñ 	1Ü
ð	1äð	1ô ð	1ô ñ		1r*   c                 ó¾   € W,
          P                  4       p\        P                  ! WC8  R V^,          ,          V,          VR V,          ,
          4      p\        WB4      # ©r½   )r  rG   r}   r%  )r‘   r/  r!  ru   r   s   &&&& r+   Úsmooth_l1_lossrF  ©  sI   € ð �M×ÑÓ €Dä�;Š;�t‘{ C¨$°­'¥M°DÕ$8¸$ÀÀtÅÕ:KÓL€DÜ Ó0Ð0r*   c          
      óT   € V ^8„  d   QhR\         R\         R\         R\        R\        /# )r-   r�   r‘   r/  r!  ru   rC  )r5   s   "r+   r6   r6   º  s4   € ÷ ñ ÜðÜ%ðÜ/5ðÜBEðÜMRñr*   c                 óB  € V\         P                  P                  8X  d   R VP                  4       ,          MR pW,
          p\        P
                  ! V4      pWP,          p\        P                  ! Wt8  W†,          V,          V\        P                  ! V4      ,          4      # rz   )r    r'   r’   r  rG   r  r}   r  )	r�   r‘   r/  r!  ru   r4  r?   Úabs_xÚ	norm_grads	   &&&&&    r+   Úsmooth_l1_loss_backwardrK  ¸  ss   € ð
 "+¬i¯n©n×.BÑ.BÔ!Bˆ3�—‘“ÖÈ€DØ�€AÜ�IŠI�a‹L€EØÕ"€IÜ�;Š;Ø‰Ø�˜ÕØ”E—J’J˜q“MÕ!óð r*   c                ó`   € V ^8„  d   QhR\         R\         R\         R\        R\        R\         /# )r-   r�   r‘   r/  r!  ru   re   rC  )r5   s   "r+   r6   r6   Ê  sL   € ÷ 
Rñ 
RÜð
Rä
ð
Rô ð
Rô ð	
Rô
 ð
Rô ñ
Rr*   c                 ó`   € \        WW#V4      p\        WVP                  4       \        WeR R7      # ©T©Ú	copy_fromÚcopy_toÚexact_dtype)rK  r   Úshaper   )r�   r‘   r/  r!  ru   re   Úresults   &&&&&& r+   Úsmooth_l1_loss_backward_outrU  È  s+   € ô % [¸È4ÓP€FÜ�j§,¡,Ô/Ü FÈDÔQÐQr*   c          
      óT   € V ^8„  d   QhR\         R\         R\         R\        R\        /# )r-   r�   r‘   r/  r!  ÚdeltarC  )r5   s   "r+   r6   r6   Ù  s4   € ÷ 	ñ 	Üð	Ü%ð	Ü/5ð	ÜBEð	ÜNSñ	r*   c           
      ó:  € V\         P                  P                  8X  d   R VP                  4       ,          MR pW,
          p\        P
                  ! Wd) 8  V) V ,          V,          \        P
                  ! Wd8„  WP,          V,          WV,          V ,          4      4      # rz   )r    r'   r’   r  rG   r}   )r�   r‘   r/  r!  rW  r4  r?   s   &&&&&  r+   Úhuber_loss_backwardrY  ×  sv   € ð
 "+¬i¯n©n×.BÑ.BÔ!Bˆ3�—‘“ÖÈ€DØ�€AÜ�;Š;Ø	ˆF‰
Ø	ˆ�Õ˜eÕ#Ü�Š�A‘I˜tÕ1°EÕ9¸4½8ÀkÕ;QÓRóð r*   c                ó`   € V ^8„  d   QhR\         R\         R\         R\        R\        R\         /# )r-   r�   r‘   r/  r!  rW  re   rC  )r5   s   "r+   r6   r6   è  sL   € ÷ 
Rñ 
RÜð
Rä
ð
Rô ð
Rô ð	
Rô
 ð
Rô ñ
Rr*   c                 ó`   € \        WW#V4      p\        WVP                  4       \        WeR R7      # rN  )rY  r   rS  r   )r�   r‘   r/  r!  rW  re   rT  s   &&&&&& r+   Úhuber_loss_backward_outr\  æ  s+   € ô ! °FÀuÓM€FÜ�j§,¡,Ô/Ü FÈDÔQÐQr*   c                ó†   € V ^8„  d   QhR\         R\         R\         R\         R,          R\        R\        R\         R	\         /# ©
r-   r�   r‘   r/  rô   Nr!  Úignore_indexÚtotal_weightrZ   r[   )r5   s   "r+   r6   r6   õ  s\   € ÷ #$ñ #$Üð#$ä
ð#$ô ð#$ô �T�Mð	#$ô
 ð#$ô ð#$ô ð#$ô ñ#$r*   c                 ó  € VP                  4       ^8  d   ^ M^pV\        P                  P                  8X  d	   W,          p VP                  4       ^8X  d   VP                  4       ^ 8”  d
   V^ ,          pVP	                  V4      p\
        P                  ! W%8g  V^ 4      p\
        P                  ! V4      p	\
        P                  ! W—VR4      p	V	P                  4       V P                  4       u;8”  d   ^ 8”  d   M MV P	                  V4      p VeW   \        VP                  4       4       U
u. uF  p
^NK  	  pp
VP                  ^ ,          W·&   VP                  V4      pW,          p \
        P                  ! W%8g  V ^ 4      p W�,          # u up
i )r-   g      ð¿)rY   r    r'   r’   rb   rG   r}   r=  Úscatterra   rS  Úreshape)r�   r‘   r/  rô   r!  r_  r`  Úchannel_dimÚsafe_targetre   rc   Ú	new_shapes   &&&&&&&     r+   Ú_nll_loss_backwardrg  õ  s8  € ð —x‘x“z A”~‘!¨1€KØ”I—N‘N×(Ñ(Ô(Ø!Õ0ˆð
 ‡x�xƒz�Q„˜6Ÿ:™:›<¨!Ô+Ø˜•ˆà×Ñ˜kÓ*€FÜ—+’+˜fÑ4°f¸aÓ@€KÜ×!Ò! $Ó'€JÜ—’˜z¸ÀTÓJ€Jà‡~�~Ó˜+Ÿ/™/Ó+Ö/¨a×/Ø!×+Ñ+¨KÓ8ˆàÒÜ % d§h¡h£jÔ 1Ó2Ñ 1˜1“QÑ 1ˆ	Ð2Ø!'§¡¨a¥ˆ	ÑØ—‘ 	Ó*ˆØ!Õ*ˆä—+’+˜fÑ4°kÀ1ÓE€KàÕ#Ð#ùò 3s   Ä+Fc                óH   € V ^8„  d   QhR\         R\         R\        R\         /# )r-   r�   r‘   rY   rZ   r[   )r5   s   "r+   r6   r6     s.   € ÷ Nñ Nœfð N¬Fð N¼ð NÄñ Nr*   c                 óò  € VP                  4       ^ 8:  d   \        R4      h\        P                  ! VP                  4       V4      pVP	                  V4      pV^,          ^ 8w  d   \        RV RV 24      hV^,          pVP                  V^ V4      pVP                  W5V4      p\        P                  ! V4      pRV,
          V,          V,          V ,          p	W€,          p\        P                  ! W‰.VR7      # )r   z*glu does not support 0-dimensional tensorsz.Halving dimension must be even, but dimension z	 is size r{   r—   )	rY   ÚAssertionErrorr2   Úcanonicalize_dimÚsizeÚnarrowrG   rç   Úcat)
r�   r‘   rY   Úwrap_dimÚnInÚ	inputSizeÚ	firstHalfÚ
secondHalfÚgradInputFirstHalfÚgradInputSecondHalfs
   &&&       r+   Úglu_backwardrv    sæ   € ð ‡x�xƒz�Q„ÜÐIÓJÐJÜ×%Ò% d§h¡h£j°#Ó6€HØ
�)‰)�HÓ
€CØ
ˆQ…w�!„|ÜØ<¸X¸JÀiÐPSÈuÐUó
ð 	
ð �q•€IØ—‘˜H a¨Ó3€IØ—‘˜X°)Ó<€JÜŸš zÓ2Ðà	Ð!Õ	!Ð%7Õ7¸)ÕCÀkÕQð ð ,Õ9ÐÜ�9Š9Ð(Ð>ÀHÔMÐMr*   c                ó†   € V ^8„  d   QhR\         R\         R\         R\         R,          R\        R\        R\         R	\         /# r^  r[   )r5   s   "r+   r6   r6   4  s\   € ÷ .ñ .Üð.ä
ð.ô ð.ô �T�Mð	.ô
 ð.ô ð.ô ð.ô ñ.r*   c           	      óÞ  € ^ VP                  4       u;8:  d   ^8:  g    M \        RVP                  4        R24      hVP                  4       ^8”  d   \        RVP                  4        R24      hVP                  4       ^8H  ;'       d    VP                  4       ^ 8H  pV'       gP   VP                  ^ ,          VP                  ^ ,          8X  g'   \        RVP                   RVP                   R24      hVP                  4       ^8w  d+   \        RVP                   RVP                  4        R	24      hVe2   VP                  4       VP                  R,          8w  d   \        R
4      hV\        P
                  P                  8X  d™   VP                  4       ^8X  d„   V P                  4       ^8X  d*   V P                  ^ ,          VP                  ^ ,          8X  gE   \        RVP                  ^ ,           RV P                  4        RV P                  ^ ,           24      hMBV P                  4       ^8:  d   V P                  4       ^8X  g   \        RV P                   24      h\        WW#WEV4      # )r   ú%input tensor should be 1D or 2D, got ÚDúA0D or 1D target tensor expected, multi-target not supported, got úsize mismatch (got input: ú
, target: Ú)ú:expected total_weight to be a single element tensor, got: z (z
 elements)z<weight tensor should be defined either for all or no classesz7Expected a tensor of dimension 1 and tensor.size[0] == z but got: dimension z and tensor.size[0] == z7Expected a single element grad_output tensor, but got: r`   )rY   rj  rS  r  r    r&   r’   rg  )r�   r‘   r/  rô   r!  r_  r`  Úno_batch_dims   &&&&&&& r+   Únll_loss_backwardr�  2  s.  € ð �—‘“Ö ˜qÖ ÜÐDÀTÇXÁXÃZÀLÐPQÐRÓSÐSØ‡z�zƒ|�aÔÜØOÐPV×PZÑPZÓP\È~Ð]^Ð_ó
ð 	
ð —8‘8“: ‘?×8Ð8 v§z¡z£|°qÑ'8€Lß˜TŸZ™Z¨�]¨f¯l©l¸1­oÔ=ÜØ(¨¯©¨°J¸v¿|¹|¸nÈAÐNó
ð 	
ð ×ÑÓ˜qÔ ÜØHØ×!Ñ!Ð" " \×%7Ñ%7Ó%9Ð$:¸*ðFó
ð 	
ð
 Ò˜fŸl™l›n°·
±
¸2µÔ>ÜØJó
ð 	
ð ”I—N‘N×(Ñ(Ô(¨T¯X©X«Z¸1¬_Ø—‘Ó! QÔ&¨;×+<Ñ+<¸QÕ+?À4Ç:Á:ÈaÅ=Ô+PÜ ØIÈ$Ï*É*ÐUVÍ-Èð Y"Ø"-§/¡/Ó"3Ð!4Ð4KÈK×L]ÑL]Ð^_ÕL`ÐKaðcóð ð ,Qð —‘Ó! QÔ&¨;×+<Ñ+<Ó+>À!Ô+CÜ ØIÈ+×J[ÑJ[ÐI\Ð]óð ô Ø˜6¨9ÀLóð r*   c                ó†   € V ^8„  d   QhR\         R\         R\         R\         R,          R\        R\        R\         R	\         /# r^  r[   )r5   s   "r+   r6   r6   g  s\   € ÷ $ñ $Üð$ä
ð$ô ð$ô �T�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                  ^ ,          8X  dS   VP                  ^,          VP                  ^,          8X  d*   VP                  ^,          VP                  ^,          8X  g&   \        RVP                   RVP                   24      hVP                  4       ^8w  d+   \        RVP                   RVP                  4        R24      h\	        WW#WEV4      # )é   zSonly batches of spatial inputs supported (4D tensors), but got input of dimension: zUonly batches of spatial targets supported (3D tensors) but got targets of dimension: r|  r}  r  z ( z, elements))rY   rj  rS  r  rg  )r�   r‘   r/  rô   r!  r_  r`  s   &&&&&&&r+   Únll_loss2d_backwardr…  e  s5  € ð ‡x�xƒz�Q„ÜØaÐbf×bjÑbjÓblÐamÐnó
ð 	
ð ‡z�zƒ|�qÔÜØcÐdj×dnÑdnÓdpÐcqÐró
ð 	
ð
 	�
‰
�1�˜Ÿ™ a�Ô(Ø�J‰J�q�M˜VŸ\™\¨!�_Ô,Ø�J‰J�q�M˜VŸ\™\¨!�_Ô,äØ(¨¯©¨°J¸v¿|¹|¸nÐMó
ð 	
ð ×ÑÓ˜qÔ ÜðØ ×&Ñ&Ð' s¨<×+=Ñ+=Ó+?Ð*@ÀðMó
ð 	
ô
 Ø˜6¨9ÀLóð r*   c          
      ób   € V ^8„  d   QhR\         R\         R\         R,          R\        R\         /# )r-   r‘   r/  rô   Nr!  rZ   r[   )r5   s   "r+   r6   r6   ‘  s>   € ÷ 1ñ 1Ü
ð1äð1ô �T�Mð1ô ð	1ô
 ñ1r*   c           	      óR  € V^,
          \         P                  ! \         P                  ! V ) 4      V P                  RR4      4      ,          V\         P                  ! \         P                  ! V 4      V P                  RR4      4      ,          ,
          pVe	   WB,          p\        WC4      # )r_   r!   iœÿÿÿ)rG   ÚmaximumÚlog1pr  Úlogr%  )r‘   r/  rô   r!  r   s   &&&& r+   Úbinary_cross_entropyr‹  Ž  s~   € ð �Q�Jœ%Ÿ-š-Ü�Š�T�EÓ˜DŸM™M¨"¨dÓ3óõ à”—’œuŸyšy¨›°·±¸bÀ$Ó0GÓHÕHõI€Dð ÒØ�}ˆÜ Ó0Ð0r*   c                ón   € V ^8„  d   QhR\         R\         R\         R\         R,          R\        R\         /# )r-   r�   r‘   r/  rô   Nr!  rZ   r[   )r5   s   "r+   r6   r6   §  sH   € ÷ ñ Üðä
ðô ðô �T�Mð	ô
 ðô ñr*   c                 ó   € R pWV,
          ,          \         P                  ! V^V,
          ,          VR7      ,          pVe	   Wc,          pV\        P                  P                  8X  d   WaP                  4       ,          pV# )gê-�™—q=r¤   )rG   r©   r    r'   r’   r  )r�   r‘   r/  rô   r!  ÚEPSILONrT  s   &&&&&  r+   Úbinary_cross_entropy_backwardr�  ¤  sa   € ð €GØ 6�MÕ*¬U¯[ª[¸ÀÀTÅÕ9JÐPWÔ-XÕX€FØÒØ•ˆØ”I—N‘N×(Ñ(Ô(ØŸ*™*›,Õ&ˆØ€Mr*   c                óH   € V ^8„  d   QhR\         R\         R\        R\         /# ©r-   rã   r/  r!  rZ   r[   )r5   s   "r+   r6   r6   º  s0   € ÷ 1ñ 1Üð1äð1ô ð1ô ñ	1r*   c                 ó|   € \         P                  ! \         P                  ! V ) V,          4      4      p\        W24      # r;   )rG   r‰  r|   r%  )rã   r/  r!  r   s   &&& r+   Úsoft_margin_lossr“  ·  s,   € ô �;Š;”u—y’y % ¨&¥Ó1Ó2€DÜ Ó0Ð0r*   c          
      óT   € V ^8„  d   QhR\         R\         R\         R\        R\         /# )r-   r�   r‘   r/  r!  rZ   r[   )r5   s   "r+   r6   r6   Æ  s:   € ÷ 	ñ 	Üð	ä
ð	ô ð	ô ð		ô
 ñ	r*   c                 óÐ   € W ,          \         P                  ! W!,          4      ^,
          ,          pV\        P                  P                  8X  d   WAP                  4       ,          pV# rl   )rG   rç   r    r'   r’   r  )r�   r‘   r/  r!  re   s   &&&& r+   Úsoft_margin_loss_backwardr–  Ã  sG   € ð Õ%¬¯ª°vµ}Ó)EÈÕ)IÕJ€JØ”I—N‘N×(Ñ(Ô(Ø§*¡*£,Õ.ˆ
ØÐr*   c                ó<   € V ^8„  d   QhR\         R\         R\        /# )r-   rã   r  Úprw   )r5   s   "r+   r6   r6   Ô  s!   € ÷ )ñ )”ð )œvð )¬%ñ )r*   c                 ó<   € \         P                  W,
          VR 7      # ))r˜  )rœ   r4  )rã   r  r˜  s   &&&r+   Údistrš  Ò  s   € ô �9‰9�U•] aˆ9Ó(Ð(r*   c                ó<   € V ^8„  d   QhR\         R\         R\         /# )r-   Úx1Úx2rZ   rj   )r5   s   "r+   r6   r6   Ú  s!   € ÷ &ñ &œð &¤Fð &¬vñ &r*   c                 ó  € V P                  ^4      P                  RR4      p\        P                  ! V\        P                  R7      pVP                  ^4      P                  RR4      p\        P                  ! V\        P                  R7      p\        P
                  ! V P                  R4      W#.R4      p\        P
                  ! WV.R4      pVP                  VP                  4      pVP                  ^ 4      P                  4       # )r-   T©Úmemory_formatr`   éþÿÿÿ)r  r$  rG   Ú	ones_likeÚcontiguous_formatrn  r  ÚmatmulÚmTÚ	clamp_minÚsqrt)	rœ  r�  Úx1_normÚx1_padÚx2_normÚx2_padÚx1_Úx2_rT  s	   &&       r+   Ú_euclidean_distr®  Ø  s¾   € ð �f‰f�Q‹i�m‰m˜B Ó%€GÜ�_Š_˜W´E×4KÑ4KÔL€FØ�f‰f�Q‹i�m‰m˜B Ó%€GÜ�_Š_˜W´E×4KÑ4KÔL€FÜ
�)Š)�R—V‘V˜B“Z Ð1°2Ó
6€CÜ
�)Š)�R Ð)¨2Ó
.€CØ�Z‰Z˜Ÿ™Ó€FØ×Ñ˜AÓ×#Ñ#Ó%Ð%r*   c                óv   € V ^8„  d   QhR\         R\        \        ,          R\        R\        R\        R\        /# )r-   r�   Úinput_sizesrY   ÚstartÚendÚstep©r   Úlistr\   )r5   s   "r+   r6   r6   ç  sP   € ÷ 	Oñ 	OÜð	Oä”c•ð	Oô 
ð	Oô ð		Oô
 
ð	Oô ñ	Or*   c                 óT   € V P                  V4      p\        P                  ! W`W#WE4      # r;   )Ú	new_zerosrG   Úslice_scatter)r�   r°  rY   r±  r²  r³  re   s   &&&&&& r+   Úslice_backwardr¹  å  s)   € ð ×&Ñ& {Ó3€JÜ×Ò˜z¸ÀCÓNÐNr*   c          
      óp   € V ^8„  d   QhR\         R\        R\        R,          R\        R,          R\        /# )r-   r‘   rY   r±  Nr²  r³  r[   )r5   s   "r+   r6   r6   ô  sD   € ÷ 3?ñ 3?ä
ð3?ô 
ð3?ô ��:ð	3?ô
 
ˆt�ð3?ô ñ3?r*   c                 ó�  € ^ RI Hp V P                  4       pV^ 8X  d   \        R4      h\        P
                  ! V P                  4       V4      p\        V P                  4       4      p\        V P                  4       4      pV^ 8:  d   \        R4      hVe   TM^ p	Ve   TM\        P                  p
V	^ 8  d   W—V,          ,          p	V
^ 8  d   W§V,          ,          p
V	^ 8  d   ^ p	MW—V,          8”  d	   Wq,          p	V! V
\        P                  8H  4      '       d
   Wq,          p
MW©8  d   T	p
MW§V,          8”  d	   Wq,          p
V P                  4       W˜V,          ,          ,           pW©,
          pWÄ,           ^,
          V,          Wq&   W�;;,          V,          uu&   V P                  '       d   \        R4      hV P                  WxV4      # )r   ©Ústatically_known_truez,slice() cannot be applied to a 0-dim tensor.zslice step must be positivez<Slice decomposition for quantized tensors aren't implemented)Ú%torch.fx.experimental.symbolic_shapesr½  rY   ÚRuntimeErrorr2   rk  rµ  rl  ÚstrideÚsysÚmaxsizeÚstorage_offsetÚis_quantizedÚNotImplementedErrorÚ
as_strided)r‘   rY   r±  r²  r³  r½  ÚndimÚsizesÚstridesÚ	start_valÚend_valrÃ  Úlens   &&&&&        r+   Úslice_forwardrÍ  ó  su  € õ Là�8‰8‹:€DØˆq„yÜÐIÓJÐJÜ
×
 Ò
  §¡£¨SÓ
1€CÜ�—‘“Ó€EÜ�4—;‘;“=Ó!€Gàˆq„yÜÐ8Ó9Ð9àÒ*‘°€IØ’_‰c¬#¯+©+€Gà�1„}Ø˜3•ZÕˆ	à�„{Ø˜•:Õˆà�1„}Ø‰	Ø	˜3•ZÔ	Ø•Jˆ	á˜W¬¯©Ñ3×4Ò4Ø•*‰Ø	Ô	Ø‰Ø	˜•:Ô	Ø•*ˆà×(Ñ(Ó*¨YÀ½Õ-EÕE€NØ
Õ
€CØ•*˜q•. TÕ)€E�JØ‡L�DÕƒLà××ÐÜ!ØJó
ð 	
ð �‰˜u¨~Ó>Ð>r*   c                ó’   € V ^8„  d   QhR\         R\        R\        R,          R\        R,          R\        \        \        3,          /# )r-   r?   rY   r±  Nr²  rZ   ©r   r\   rù   )r5   s   "r+   r6   r6   *  sD   € ÷ ñ ÜðÜðÜ # d¥
ðÜ14°tµðä
Œ3”ˆ8…_ñr*   c                ól   a€ V P                   V,          oR V3R llpV! V^ S^ 4      pV! W2SS4      pW#3# )zb
Normalize start and end such that both are in the range
[0, x.get_size()[dim]] and start <= end.
c                ó$   € V ^8„  d   QhR\         /# ©r-   rZ   )r\   )r5   s   "r+   r6   Ú*_normalize_start_end.<locals>.__annotate__3  s   € ÷ +ñ +´#ñ +r*   c                 óZ   <€ V f   V# V ^ 8  d
   V S,           p \        \        W4      V4      # r;   ©r¥   r§   )Úvalr   r  ÚdefaultÚdim_sizes   &&&&€r+   Ú
clamp_wrapÚ(_normalize_start_end.<locals>.clamp_wrap3  s.   ø€ ØŠ;ØˆNØ�Œ7Ø˜•.ˆCÜ”3�s“? EÓ*Ð*r*   ©rS  )r?   rY   r±  r²  rÙ  rØ  s   &&&& @r+   Ú_normalize_start_endrÜ  *  sD   ø€ ð �w‰w�s�|€H÷+ð +ñ �u˜a ¨1Ó-€EÙ
�S ¨8Ó
4€CØˆ:Ðr*   c                ó|   € V ^8„  d   QhR\         R\         R\        R\        R,          R\        R,          R\        /# )r-   rã   ÚsrcrY   r±  Nr²  r³  r[   )r5   s   "r+   r6   r6   C  sT   € ÷ $Uñ $UÜð$Uä	ð$Uô 
ð$Uô ��:ð	$Uô
 
ˆt�ð$Uô ñ$Ur*   c           	      óØ  € \         P                  ! V P                  V4      pV P                  V,          p\	        WW44      w  r4\        V P                  4      pWC,
          V^,
          ,           V,          Wr&   VP                  V4      pV^ 8X  d   WF8X  d   V^8X  d   VP                  4       # R.V P                  4       ,          p\        P                  ! W`P                  R7      p	W“,
          V,          W‚&   \        P                  ! W`P                  \        P                  R7      p
V^ 8w  d   \        P                  ! W©V8¬  4      p
WF8w  d   \        P                  ! W©V8  4      p
V^8w  d(   \        P                  ! W©V,
          V,          ^ 8H  4      p
^.V P                  4       ,          pRW²&   V
P                  V4      p
\         P#                  V
\         P%                  WV^ 4      V 4      # )r_   N©Údevice©rá  r  r`   )r2   rk  rÇ  rS  rÜ  rµ  ÚexpandÚclonerY   rG   Úarangerá  Úonesr4   Úlogical_andÚviewrœ   r}   Ú_unsafe_masked_index)rã   rÞ  rY   r±  r²  r³  rØ  Úsrc_sizeÚindicesÚidxÚmaskÚ
mask_shapes   &&&&&&      r+   r¸  r¸  A  sr  € ô ×
 Ò
  §¡¨SÓ
1€CØ�{‰{˜3Õ€HÜ% e°%Ó=�J€Eä�E—K‘KÓ €HØ•[ D¨1¥HÕ-°$Õ6€H�MØ
�*‰*�XÓ
€Cà�„z�c”o¨$°!¬)Ø�y‰y‹{Ðà$( 6¨E¯I©I«KÕ#7€GÜ
�,Š,�x¯©Ô
5€CØ•K DÕ(€G�Lä�:Š:�h§|¡|¼5¿:¹:ÔF€DØ�„zÜ× Ò  ¨e¡|Ó4ˆà
„Ü× Ò  ¨S¡yÓ1ˆàˆq„yÜ× Ò  ¨e­°tÕ';¸qÑ'@ÓAˆà��u—y‘y“{Õ"€JØ€J�OØ�9‰9�ZÓ €DÜ�:‰:�dœD×5Ñ5°cÀÈ!ÓLÈeÓTÐTr*   c                ó^   € V ^8„  d   QhR\         R\        \        ,          R\        R\        /# )r-   r�   r°  rY   Úindexr´  )r5   s   "r+   r6   r6   l  s3   € ÷ Eñ E¤ð E´d¼3µið EÄcð EÔRUñ Er*   c                 óR   € V P                  V4      p\        P                  ! W@W#4      # r;   )r·  rG   Úselect_scatter)r�   r°  rY   rð  re   s   &&&& r+   Úselect_backwardró  j  s'   € ð ×&Ñ& {Ó3€JÜ×Ò 
¸ÓDÐDr*   c          
      ój   € V ^8„  d   QhR\         R\        \        ,          R\        R\        R\        /# )r-   r�   r°  ÚoffsetÚdim1Údim2r´  )r5   s   "r+   r6   r6   s  s?   € ÷ Oñ OÜðOÜ&*¬3¥iðOÜ9<ðOÜDGðOÜORñOr*   c                 óT   € V P                  V4      p\        P                  ! WPW#V4      # r;   )r·  rG   Údiagonal_scatter)r�   r°  rõ  rö  r÷  re   s   &&&&& r+   Údiagonal_backwardrú  q  s)   € ð
 ×&Ñ& {Ó3€JÜ×!Ò! *¸6ÈÓNÐNr*   c                óP   € V ^8„  d   QhR\         R\         R\        P                  /# )r-   r�   re   Úinput_dtype©r   rG   r  )r5   s   "r+   r6   r6   z  s(   € ÷ ñ ÜðÜ%+ðÜ:?¿+¹+ñr*   c                 óJ   € V P                   V8w  d   VP                  V4      pV# r;   )r  r>   )r�   re   rü  s   &&&r+   Ú_cast_grad_to_input_dtyperÿ  z  s&   € ð ×Ñ˜KÔ'Ø—]‘] ;Ó/ˆ
ØÐr*   c                ó\   € V ^8„  d   QhR\         R\         R\        R\        P                  /# ©r-   r�   ÚoutputrY   rü  ©r   r\   rG   r  )r5   s   "r+   r6   r6   …  s6   € ÷ Xñ XÜðXÜ!'ðXÜ.1ðXÜ@EÇÁñXr*   c                 ó�   € W,          pWA\         P                  ! WBR R7      ,          ,
          p\        WV4      P                  4       # ©Tr8  )rG   r$  rÿ  Ú
contiguous)r�   r  rY   rü  Únew_grad_outputre   s   &&&&  r+   Ú_softmax_backward_datar  ‚  sC   € ð "Õ*€OØ ¬E¯IªIØ¨$ô-õ $õ €Jô % [¸kÓJ×UÑUÓWÐWr*   c                ó\   € V ^8„  d   QhR\         R\         R\        R\        P                  /# r  r  )r5   s   "r+   r6   r6   —  s6   € ÷ Kñ KÜðKÜ!'ðKÜ.1ðKÜ@EÇÁñKr*   c                 óŽ   € V \         P                  ! V4      \         P                  ! WR R7      ,          ,
          p\        WV4      # r  )rG   r|   r$  rÿ  )r�   r  rY   rü  re   s   &&&& r+   Ú_log_softmax_backward_datar  ”  s=   € ð œuŸyšy¨Ó0´5·9²9Ø dô4õ  õ €Jô % [¸kÓJÐJr*   c                ó  € W^,          ,           W!^,
          ,          ,
          p\        \        P                  \        P                  VR7      pV! ^ Wd4      P	                  ^ 4      pV! ^ W,          V4      P	                  R4      p	W‰,           # )z/Utility function to implement im2col and col2im©r  rá  r`   )r   rG   rå  Úint64rb   )
Úinput_dÚkernel_dÚ
dilation_dÚ	padding_dÚstride_drá  Úblocks_dÚ	arange_kwÚblocks_d_indicesÚkernel_grids
   &&&&&&    r+   Ú _im2col_col2im_indices_along_dimr     su   € ð  Q�Õ&¨À!µ|Õ)DÕD€HäœŸ™¬E¯K©KÀÔG€Iñ !  HÓ7×AÑAÀ!ÓDÐñ ˜A˜xÕ4°jÓA×KÑKÈBÓO€Kð Õ)Ð)r*   c                ó¸   € V ^8„  d   QhR\         R\        \        ,          R\        \        ,          R\        \        ,          R\        \        ,          R\         /# )r-   rã   Úkernel_sizeÚdilationÚpaddingrÀ  rZ   r´  )r5   s   "r+   r6   r6   µ  s\   € ÷ Mñ MÜðMä”c•ðMô ”3�iðMô ”#�Yð	Mô
 ”�IðMô ñMr*   c           
      ó  aaaaaa€ \         P                  ! \        S4      ^8H  R 4       \         P                  ! \        S4      ^8H  R 4       \         P                  ! \        S4      ^8H  R 4       \         P                  ! \        S4      ^8H  R 4       RR lpV! SR4       V! SR4       V! SR	R
R7       V! SR4       V P                  o\        S4      p\         P                  ! VR9   ;'       d;    \        ;QJ d    R SRR  4       F  '       d   K   R
M	  RM! R SRR  4       4      V3R l4       \
        ;QJ d$    . R \        SRR SSSS4       4       F  NK  	  5M! R \        SRR SSSS4       4       4      o\         P                  ! \        ;QJ d    R S 4       F  '       d   K   R
M	  RM! R S 4       4      VVVVVV3R l4       V^8H  pV'       g   V P                  ^ 4      p V P                  w  r‰r«Sw  rÍSw  rïSw  ppSw  pp\        V
VVWìV P                  4      p\        VVVWýV P                  4      p\        P                  ! WWþV34      pVP                  R4      P                  R4      pVRRVV3,          pVP                  ^ ^^^^^4      pVP                  ^4      pVP                  ^4      pVP                  W‰V,          V,          VV,          4      pV'       g   VP                  ^ 4      pV# )r-   c                  ó   € R # )z"im2col(): only 2D kernel supportedr!   r!   r*   r+   r™   Úim2col.<locals>.<lambda>¼  s   € Ñ0Tr*   c                  ó   € R # )z$im2col(): only 2D dilation supportedr!   r!   r*   r+   r™   r  ½  s   € Ñ-Sr*   c                  ó   € R # )z#im2col(): only 2D padding supportedr!   r!   r*   r+   r™   r  ¾  s   € Ñ,Qr*   c                  ó   € R # )z"im2col(): only 2D stride supportedr!   r!   r*   r+   r™   r  ¿  s   € Ñ+Or*   Tc                 ó"  a a€ V'       d5   \         ;QJ d    R  S  4       F  '       d   K   RME	  RMA! R  S  4       4      M3\         ;QJ d    R S  4       F  '       d   K   RM	  RM! R S  4       4      p\        P                  ! VV V3R l4       R# )c              3   ó*   "  € T F	  q^ 8„  x € K  	  R# 5i©r   Nr!   ©Ú.0r˜  s   & r+   Ú	<genexpr>Ú1im2col.<locals>.check_positive.<locals>.<genexpr>Â  ó   é € Ð(¡%˜Q�q–5£%ùó   ‚FTc              3   ó*   "  € T F	  q^ 8¬  x € K  	  R# 5ir%  r!   r&  s   & r+   r(  r)  Â  ó   é € Ð;RÉEÀqÀ¾FËEùr+  c                  ó   <€ S R S  2# ©z& should be greater than zero, but got r!   ©ÚparamÚ
param_names   €€r+   r™   Ú0im2col.<locals>.check_positive.<locals>.<lambda>Ä  ó   ø€ ˜Z˜LÐ(NÈuÈgÑVr*   N©r<  rG   r›   ©r1  r2  ÚstrictÚconds   ff& r+   Úcheck_positiveÚim2col.<locals>.check_positiveÁ  óT   ù€ ß,2�s‹sÑ(¡%Ó(�s�sŠsÑ(¡%Ó(Ô(¿»Ñ;RÉEÓ;R¿¿ºÑ;RÉEÓ;RÓ8RˆÜ�ŠØÕVö	
r*   r  r  r  F©r7  rÀ  c              3   ó*   "  € T F	  q^ 8g  x € K  	  R# 5ir%  r!   ©r'  Úds   & r+   r(  Úim2col.<locals>.<genexpr>Ï  ó   é € Ð:©z¨! Ažv«zùr+  Nc                  ó    <€ R \        S 4       2# )zmExpected 3D or 4D (batch mode) tensor for input with possible 0 batch size and non-zero dimensions, but got: ©rù   rÛ  s   €r+   r™   r  Ð  ó   ø€ ð -Ü-2°5«\¨Nñ<r*   c              3   óœ   "  € T FB  w  rr4p^V^V,          ,           W4^,
          ,          ,
          ^,
          V,          ,           x € KD  	  R# 5i©r_   Nr!   )r'  rê   ÚpadÚdilÚkerÚsts   &     r+   r(  r@  Ó  sG   é € ð ñ'
Ñ"ˆC�c ð 	
ˆS�1�s•7�]˜S¨!¥G�_Õ,¨qÕ0°RÕ7×7Ò7ó'
ùs   ‚A
Ac              3   ó*   "  € T F	  q^ 8„  x € K  	  R# 5ir%  r!   )r'  Úcs   & r+   r(  r@  Ú  s   é € Ð'™;�a�ŽE›;ùr+  c                  óF   <€ R \        SRR 4       RS RS  RS RS RS R2# )	z!Given an input with spatial size Nú, kernel_size=ú, dilation=ú
, padding=ú	, stride=z9, the calculated shape of the array of sliding blocks is z*, but its components must be at least one.r¡  rC  )r  r  Úoutput_sizer  rS  rÀ  s   €€€€€€r+   r™   r  Û  sJ   ø€ Ð3´E¸%ÀÀ¸*Ó4EÐ3Fð GØ"�m ;¨x¨jð 9Ø�)˜9 V Hð -àˆ]ÐDñ	Fr*   ºNNN©T©r£   r„  r¾   r¡  r`   )rG   r›   rÌ  rS  r<  rù   Úziprb   r  rá  rå   rG  Úpermuterl  rc  Úsqueeze)rã   r  r  r  rÀ  r9  rÇ  Úbatched_inputÚ	batch_dimrd  Úinput_hÚinput_wÚstride_hÚstride_wÚ	padding_hÚ	padding_wÚ
dilation_hÚ
dilation_wÚkernel_hÚkernel_wÚblocks_row_indicesÚblocks_col_indicesÚpadded_inputr  Únum_blocks_rowÚnum_blocks_colrR  rS  s   &ffff                     @@r+   Úim2colrj  ³  s¾  ý€ ô 
‡L‚L”�[Ó! QÑ&Ñ(TÔUÜ	‡L‚L”�X“ !Ñ#Ñ%SÔTÜ	‡L‚L”�W“ Ñ"Ñ$QÔRÜ	‡L‚L”�V“ Ñ!Ñ#OÔPô
ñ �; Ô.Ù�8˜ZÔ(Ù�8˜Y¨uÕ5Ù�6˜8Ô$à�K‰K€EÜˆu‹:€DÜ	‡L‚LØ�‰×:Ð:Ÿ3›3Ñ:¨u°R°S©zÓ:Ÿ3Ÿ3š3Ñ:¨u°R°S©zÓ:Ó:ô	<ô÷
 ”%ñ ä&)Ø�"�#ˆJ˜ ¨;¸ô'
ó—%‘%ñ ä&)Ø�"�#ˆJ˜ ¨;¸ô'
óó €Kô 
‡L‚Lß‹Ñ'™;Ó'��ŠÑ'™;Ó'Ó'÷	Fñ 	Fôð ˜A‘I€MßØ—‘ Ó"ˆà/4¯{©{Ñ,€I˜GàÑ€HØ"Ñ€IØ%Ñ€J�
Ø$Ñ€Hˆhä9Ø�˜: y¸E¿L¹LóÐô :Ø�˜: y¸E¿L¹LóÐô —5’5˜¨IÀ)Ð LÓM€Là+×5Ñ5°bÓ9×CÑCÀBÓGÐØ˜!˜QÐ 2Ð4FÐFÕG€FØ�^‰^˜A˜q ! Q¨¨1Ó-€FØ'×,Ñ,¨QÓ/€NØ'×,Ñ,¨QÓ/€NØ�^‰^Ø Õ)¨HÕ4°nÀ~Õ6Uó€F÷ Ø—‘ Ó"ˆØ€Mr*   c                óÚ   € V ^8„  d   QhR\         R\        \        ,          R\        \        ,          R\        \        ,          R\        \        ,          R\        \        ,          R\         /# )r-   rã   rR  r  r  r  rÀ  rZ   r´  )r5   s   "r+   r6   r6     sk   € ÷ ]ñ ]Üð]ä”c•ð]ô ”c•ð]ô ”3�ið	]ô
 ”#�Yð]ô ”�Ið]ô ñ]r*   c                 ó  aaaaaa!a"€ \         P                  ! \        S4      ^8H  R 4       \         P                  ! \        S4      ^8H  R 4       \         P                  ! \        S4      ^8H  R 4       \         P                  ! \        S4      ^8H  R 4       \         P                  ! \        S4      ^8H  R 4       RR lpV! SR4       V! SR	4       V! SR
RR7       V! SR4       V! SR4       V P                  o"\        S"4      p\         P                  ! VR9   ;'       d;    \        ;QJ d    R S"RR  4       F  '       d   K   RM	  RM! R S"RR  4       4      V"3R l4       S^ ,          S^,          ,          p\         P                  ! S"R,          V,          ^ 8H  VV"3R l4       \        SSSSS4       U	U
UUUu. uF@  w  ršr¼p^V	^V
,          ,           W¼^,
          ,          ,
          ^,
          V,          ,           NKB  	  pppp
p	pV^ ,          V^,          ,          o!\         P                  ! S"R,          S!8H  V!VVVVV"V3R l4       \         P                  ! S!^ 8„  V!VVVVV"V3R l4       V^8H  pV'       g   V P                  ^ 4      p V P                  o"Sw  ppSw  ppSw  ppSw  ppSw  ppV P                  S"^ ,          S"^,          V,          .S,           V,           4      p V P                  ^ ^^^^^4      p \        VVVVVV P                  4      p\        V^4      p\        VVVVVV P                  4      p\        SS4       UUu. uF  w  ppV^V,          ,           NK  	  pppV P                  S"^ ,          S"^,          \        S4      ,          .V,           4      pRRVV3p \        P                  VV V RR7      p\         P"                  ! VV) V) V) V) 34      pV'       g   VP%                  ^ 4      pV# u upppp
p	i u uppi )r-   c                  ó   € R # )zonly 2D output_size supportedr!   r!   r*   r+   r™   Úcol2im.<locals>.<lambda>  s   € Ñ0Or*   c                  ó   € R # )zonly 2D kernel supportedr!   r!   r*   r+   r™   rn    s   € Ñ0Jr*   c                  ó   € R # )zonly 2D dilation supportedr!   r!   r*   r+   r™   rn    s   € Ñ-Ir*   c                  ó   € R # )zonly 2D padding supportedr!   r!   r*   r+   r™   rn    s   € Ñ,Gr*   c                  ó   € R # )zonly 2D stride supportedr!   r!   r*   r+   r™   rn    s   € Ñ+Er*   Tc                 ó"  a a€ V'       d5   \         ;QJ d    R  S  4       F  '       d   K   RME	  RMA! R  S  4       4      M3\         ;QJ d    R S  4       F  '       d   K   RM	  RM! R S  4       4      p\        P                  ! VV V3R l4       R# )c              3   ó*   "  € T F	  q^ 8„  x € K  	  R# 5ir%  r!   r&  s   & r+   r(  Ú1col2im.<locals>.check_positive.<locals>.<genexpr>  r*  r+  FTc              3   ó*   "  € T F	  q^ 8¬  x € K  	  R# 5ir%  r!   r&  s   & r+   r(  ru    r-  r+  c                  ó   <€ S R S  2# r/  r!   r0  s   €€r+   r™   Ú0col2im.<locals>.check_positive.<locals>.<lambda>  r4  r*   Nr5  r6  s   ff& r+   r9  Úcol2im.<locals>.check_positive  r;  r*   r  r  r  Fr<  rÀ  rR  c              3   ó*   "  € T F	  q^ 8g  x € K  	  R# 5ir%  r!   r>  s   & r+   r(  Úcol2im.<locals>.<genexpr>%  rA  r+  Nc                  ó    <€ R \        S 4       2# )zmExpected 2D or 3D (batch mode) tensor for input with possible 0 batch size and non-zero dimensions, but got: rC  rÛ  s   €r+   r™   rn  &  rD  r*   c                  ó"   <€ R SR,           RS  2# )z|Expected size of input's first non-batch dimension to be divisible by the product of kernel_size, but got input.shape[-2] = z and kernel_size=r¡  r!   )r  rS  s   €€r+   r™   rn  ,  s!   ø€ ð =Ø=BÀ2½Y¸Kð HØ"�mñ%r*   c                  óB   <€ R S RS RS RS RS RS  RSR,           R2# ©	zGiven output_size=rN  rO  rP  rQ  z , expected input.size(-1) to be ú	 but got Ú.r`   r!   ©ÚLr  r  rR  r  rS  rÀ  s   €€€€€€€r+   r™   rn  9  óD   ø€ Ð$ [ M°À¸}ð MØ�:˜Z¨ y°	¸&¸ð B)Ø)*¨¨9°U¸2µY°K¸qñBr*   c                  óB   <€ R S RS RS RS RS RS  RSR,           R2# r  r!   r‚  s   €€€€€€€r+   r™   rn  ?  r„  r*   ©Ú
accumulaterT  )r-   r£   r¡  r`   )rG   r›   rÌ  rS  r<  rV  rb   rc  rW  r  rá  rd   r·  Úprodrœ   Ú_unsafe_index_putrå   rG  rX  )#rã   rR  r  r  r  rÀ  r9  rÇ  Úprod_kernel_sizerê   rG  rH  rI  rJ  ÚcolrY  Úout_hÚout_wr]  r^  r_  r`  ra  rb  rc  rd  Úindices_rowÚindices_colÚor˜  Úoutput_padded_sizer  rì  rƒ  rS  s#   &fffff                           @@r+   Úcol2imr’    s­  þ€ ô 
‡L‚L”�[Ó! QÑ&Ñ(OÔPÜ	‡L‚L”�[Ó! QÑ&Ñ(JÔKÜ	‡L‚L”�X“ !Ñ#Ñ%IÔJÜ	‡L‚L”�W“ Ñ"Ñ$GÔHÜ	‡L‚L”�V“ Ñ!Ñ#EÔFô
ñ �; Ô.Ù�8˜ZÔ(Ù�7˜I¨eÕ4Ù�6˜8Ô$Ù�; Ô.à�K‰K€EÜˆu‹:€DÜ	‡L‚LØ�‰×:Ð:Ÿ3›3Ñ:¨u°R°S©zÓ:Ÿ3Ÿ3š3Ñ:¨u°R°S©zÓ:Ó:ô	<ôð
 # 1•~¨°A­Õ6ÐÜ	‡L‚LØˆb�	Ð$Õ$¨Ñ)õ	%ôô '*Ø˜ (¨K¸ô'
÷ñ'
Ñ"ˆC�c ð 	
ˆS�1�s•7�]˜S¨!¥G�_Õ,¨qÕ0°RÕ7×7Ð7ñ'
ð ô ð 	ˆA���Q•�€AÜ	‡L‚LØˆb�	�Q‰÷	Bò 	Bôô 
‡L‚LØ	ˆA‰÷	Bò 	Bôð ˜A‘I€MßØ—‘ Ó"ˆà�K‰K€Eà�L€Eˆ5ØÑ€HˆhØ"Ñ€IˆyØ%Ñ€J�
Ø$Ñ€Hˆhð �M‰M˜5 �8 U¨1¥XÐ1AÕ%AÐBÀ[ÕPÐSVÕVÓW€EØ�M‰M˜!˜Q  1 a¨Ó+€Eä2Øˆx˜ Y°¸%¿,¹,ó€Kô $ K°Ó3€KÜ2Øˆx˜ Y°¸%¿,¹,ó€Kô 14°KÀÔ0IÔJÑ0I©¨¨1˜!˜a !�eŸ)˜)Ñ0IÐÑJØ�_‰_Ø	ˆq��5˜•8œt KÓ0Õ0Ð1Ð4FÕFó€Fð ��{ KÐ
0€CÜ×#Ñ# F¨C°À4Ð#ÓH€FÜ�UŠU�6˜Y˜J¨¨
°Y°JÀÀ
ÐKÓL€FçØ—‘ Ó"ˆØ€MùökùóV Ks   Ç AP ÍP	c                ó<   € V ^8„  d   QhR\         R\         R\        /# )r-   r�   rí  rƒ   rw   )r5   s   "r+   r6   r6   j  s!   € ÷ 
ñ 
¬ð 
´vð 
Äeñ 
r*   c                 óŠ   € WP                  V 4      V,          ,          P                  \        P                  ! V 4      R 7      pV# )rŸ  )Útype_asrä  r2   r   )r�   rí  rƒ   rQ   s   &&& r+   Únative_dropout_backwardr–  h  s@   € ð 
Ÿ™ [Ó1°EÕ9Õ	:×AÑAÜ×1Ò1°+Ó>ð 	Bó 	€Að €Hr*   c                óv   € V ^8„  d   QhR\         R\        \        ,          R\        R\        R\        R\         /# )r-   rÉ   Ú
input_sizeÚ	dimensionrl  r³  rZ   r´  )r5   s   "r+   r6   r6   y  sH   € ÷ c#ñ c#Ü
ðc#Ü"¤3�iðc#Ü47ðc#Ü?Bðc#ÜJMðc#äñc#r*   c                 ó¼  a aaaaaa€ \         P                  ! S^ 8„  V3R l4       \        S4      ^ 8X  d   \         P                  ! S ^ 4      # \        P
                  ! \        S4      V4      oS P                  S4      oR VV VVVV3R llpSS8¼  d   V! 4       # ^ RIHo R VV VVVV3R llpV! 4       '       d   V! 4       # V3R lpV3R lpR	 VV3R
 llp	SS,          p
S P                  S4      p\        \        S4      4       FÄ  pV! W¬,
          S,           ^,
          S,          ^ 4      pV! W½4      p\         P                  ! VS P                  \         P                  R7      pVS,          V,           pS P                  RV4      P!                  S^ V4      p\#        S4      pVVS&   V	! VV4      p\$        P'                  SSVV4      oKÆ  	  SP)                  4       # )r   c                  ó   <€ R S  R2# )zstep is z but must be > 0r!   )r³  s   €r+   r™   Ú!unfold_backward.<locals>.<lambda>|  s   ø€ ¨8°D°6Ð9IÑ)Jr*   c                ó$   € V ^8„  d   QhR\         /# rÒ  rj   )r5   s   "r+   r6   Ú%unfold_backward.<locals>.__annotate__‚  s   € ÷ ñ ¤6ñ r*   c                  ó„  <€ \         P                  ! SS,          SP                  \         P                  R 7      p V P	                  ^ SS4      P                  4       p SP                  RS^,           4      P                  SS^,           4      pRS,          V 3,           p\        P                  SW!RR7      P                  4       # )râ  Tr†  r`   r;   )
rG   rå  rá  Úint32ÚunfoldÚflattenÚmovedimrœ   r‰  r  )	rì  Úsourcerð  rY   rÉ   re   r˜  rl  r³  s	      €€€€€€r+   Ú_vectorized_index_putÚ.unfold_backward.<locals>._vectorized_index_put‚  s—   ø€ Ü�lŠl˜: c�?°4·;±;ÄeÇkÁkÔRˆØ�j‰j˜˜D $Ó'×/Ñ/Ó1ˆØ—‘˜b #¨¥'Ó*×2Ñ2°3¸¸a½Ó@ˆØ˜#•  Õ&ˆÜ×%Ñ%Ø˜°$ð &ó 
ç
‰*‹,ð	r*   r¼  c                ó$   € V ^8„  d   QhR\         /# rÒ  )r4   )r5   s   "r+   r6   rž  �  s   € ÷ 
ñ 
¤dñ 
r*   c                  ó¶  <€ SP                  4       \        S4      ^,           8w  d   R# S! SP                  R4      S8H  4      '       g   R# SS,          S,
          S,          ^,           p S! SP                  S4      V 8H  4      '       g   R# \        ;QJ d*    VVV3R l\	        S4       4       F  '       d   K   R# 	  R# ! VVV3R l\	        S4       4       4      # )r_   Fc              3   óv   <"  € T F.  w  rVS8H  ;'       g    S! SP                  V4      V8H  4      x € K0  	  R # 5ir;   ©rl  )r'  Ú
source_dimrØ  rY   rÉ   r½  s   &  €€€r+   r(  ÚDunfold_backward.<locals>._is_canonical_grad_shape.<locals>.<genexpr>š  sJ   øé € ð 
ñ )>Ñ$�
ð ˜#Ñ÷ Hð HÙ$ T§Y¡Y¨zÓ%:¸hÑ%FÓGôHã(=ùs   ƒ9–#9Tr`   )rY   rÌ  rl  r<  Ú	enumerate)Ún_foldsrY   rÉ   r˜  rl  r½  r³  s    €€€€€€r+   Ú_is_canonical_grad_shapeÚ1unfold_backward.<locals>._is_canonical_grad_shape�  s´   ø€ Ø�8‰8‹:œ˜Z›¨1Õ,Ô,ÙÙ$ T§Y¡Y¨r£]°dÑ%:×;Ò;Ùà˜c•? TÕ)¨dÕ2°QÕ6ˆÙ$ T§Y¡Y¨s£^°wÑ%>×?Ò?Ùç‹sö 
ô )2°*Ô(=ó
�sŒsð 	
Šsð 	
ˆsö 
ô )2°*Ô(=ó
ó 
ð 	
r*   c                 óx   <€ S! W8*  4      '       d   V # S! W8*  4      '       d   V# \         P                  ! W4      # r;   )rG   Úsym_min©ÚaÚbr½  s   &&€r+   Ú_sym_min_if_neededÚ+unfold_backward.<locals>._sym_min_if_needed£  ó6   ø€ Ù  ¡×(Ò(ØˆHÙ  ¡×(Ò(ØˆHÜ�}Š}˜QÓ"Ð"r*   c                 óx   <€ S! W8¬  4      '       d   V # S! W8¬  4      '       d   V# \         P                  ! W4      # r;   )rG   Úsym_maxr³  s   &&€r+   Ú_sym_max_if_neededÚ+unfold_backward.<locals>._sym_max_if_neededª  r¸  r*   c                óR   € V ^8„  d   QhR\         R\        \        ,          R\         /# )r-   r¤  Útarget_shaperZ   r´  )r5   s   "r+   r6   rž  ±  s%   € ÷ ?ñ ?¤ð ?´d¼3µið ?ÄFñ ?r*   c                 ó  <€ \        V4      pV P                  4       pW28”  d   V P                  V4      # W#,
          p^.V,          p\        V4       FŽ  pVS8X  d   SMWd,           pV^ 8  g   Wr8¼  d   V P                  V4      u # S	! WW,          ^8H  4      '       d   V P                  V,          WW&   Kb  \
        P                  ! V P                  V,          ^8H  R 4       K�  	  V P                  V4      P                  V4      # )r_   c                  ó   € R # )z=unfold_backward grad shape is not broadcastable to input_sizer!   r!   r*   r+   r™   Ú:unfold_backward.<locals>._reshape_source.<locals>.<lambda>Å  s   € ñ $r*   )rÌ  rY   rã  ra   rS  rG   r›   rc  )
r¤  r¾  rÇ  Úsource_ndimÚ
dim_offsetÚ
view_shaper«  Ú
target_dimrY   r½  s
   &&      €€r+   Ú_reshape_sourceÚ(unfold_backward.<locals>._reshape_source±  sß   ø€ Ü�<Ó ˆØ—j‘j“lˆØÔØ—=‘= Ó.Ð.àÕ'ˆ
Ø�S˜4•Zˆ
Ü Ö,ˆJØ *¨cÔ 1™°zÕ7NˆJØ˜AŒ~ Ô!3Ø—}‘} \Ó2Ò2Ù$ ZÕ%;¸qÑ%@×AÒAØ)/¯©°jÕ)A�
Ó&ô
 —’Ø—L‘L Õ,°Ñ1ñ$öñ -ð  �~‰~˜jÓ)×0Ñ0°Ó>Ð>r*   râ  r`   )rG   Ú_check_valuerÌ  Úsqueeze_copyr2   rk  r·  r¾  r½  rl  Úreversedra   rå  rá  r   Úselectrm  rµ  rœ   Ú	index_addr  )rÉ   r˜  r™  rl  r³  r¥  r¯  r¶  r»  rÆ  Úinput_dim_sizeÚgrad_dim_sizerõ  Úmax_valid_lenÚ	valid_lenrì  r¤  Úsource_shaperY   re   r½  s   ff&ff             @@@r+   Úunfold_backwardrÒ  w  s”  þ€ ô
 
×Ò�t˜a‘xÔ!JÔKÜ
ˆ:ƒ˜!ÔÜ×!Ò! $¨Ó*Ð*Ü
×
 Ò
 ¤ Z£°)Ó
<€CØ—‘ 
Ó+€J÷õ ð ˆt„|Ù$Ó&Ð&åK÷
õ 
ñ   ×!Ò!Ù$Ó&Ð&õ#õ#÷?ñ ?ð4   •_€NØ—I‘I˜c“N€Mô œ5 ›;Ö'ˆÙ*ØÕ$ tÕ+¨aÕ/°DÕ8¸!ó
ˆñ ' }ÓDˆ	Ü�lŠl˜9¨T¯[©[ÄÇÁÔLˆØ�D�j˜6Õ!ˆØ—‘˜R Ó(×/Ñ/°°Q¸	ÓBˆÜ˜JÓ'ˆØ%ˆ�SÑÙ  ¨Ó6ˆÜ—^‘^ J°°S¸&ÓAŠ
ñ (ð × Ñ Ó"Ð"r*   c                óV   € V ^8„  d   QhR\         R\         R\        R,          R\         /# )r-   r�   r‘   ÚepsNrZ   rw   )r5   s   "r+   r6   r6   á  s0   € ÷ 
ñ 
Üð
Ü%ð
Ü,1°D­Lð
äñ
r*   c           
      ój  € VeQ   TpRV,
          p\         P                  ! \         P                  ! W8¬  W8*  4      WRV,
          ,          ,          R4      # \         P                  ! \         P                  ! VR8¬  VR8*  4      WRV,
          ,          ,          VP                  R\	        R4      4      4      # )Nr{   r®   Únanr!   )rG   r}   rç  r  rx   )r�   r‘   rÔ  ÚloÚhis   &&&  r+   Úlogit_backwardrÙ  ß  sš   € ð
 ‚ØˆØ�2�XˆÜ�{Š{Ü×Ò˜d™j¨$©*Ó5Ø 3¨¥:Õ.Õ/Øó
ð 	
ô �{Š{Ü×Ò˜d c™k¨4°3©;Ó7Ø 3¨¥:Õ.Õ/Ø�M‰M˜"œe E›lÓ+ó
ð 	
r*   c                óJ   € V ^8„  d   QhR\         R\        R\        R,          /# ©r-   rã   r˜  ÚtrainNr‡   )r5   s   "r+   r6   r6   ÷  s%   € ÷ ñ ”6ð œeð ¬D°4­Kñ r*   c                 ó^   € V'       d%   V^ 8w  d   \         P                  WV4      ^ ,          # V # r‰   )rœ   Únative_dropout)rã   r˜  rÜ  s   &&&r+   Údropoutrß  ô  s*   € ÷ ��a”Ü×"Ñ" 5¨UÓ3°AÕ6Ð6àˆr*   Úout0Úout1c                óJ   € V ^8„  d   QhR\         R\        R\        R,          /# rÛ  r‡   )r5   s   "r+   r6   r6      s*   € ÷ Añ Aœ&ð A¤Uð A´4¸$µ;ñ Ar*   c                 óÈ  € V'       d´   V^ 8w  d­   V^8X  d=   \         P                  ! V 4      \         P                  ! V \         P                  R7      3# V P                  P                  '       g   \        R4      h\         P                  ! V 4      V8„  pW0,          \        RRV,
          ,          4      ,          pWC3# V \         P                  ! V \         P                  R7      3# )r   r  z?result type Float can't be cast to the desired output type Longr{   )	rG   r=  r4   r  Úis_floating_pointr¿  Ú	rand_likerx   r¢  )rã   r˜  rÜ  Ú	bool_maskÚress   &&&  r+   rÞ  rÞ  þ  s­   € ÷ ��a”Ø�Œ6Ü×$Ò$ UÓ+¬U×-=Ò-=¸eÌ5Ï:É:Ô-VÐWÐWØ�{‰{×,×,Ð,ÜØQóð ô —O’O EÓ*¨QÑ.ˆ	ØÕ¤%¨¨s°Q­w­Ó"8Õ8ˆØÐÐà”u—’ u´E·J±JÔ?Ð@Ð@r*   c                ó<   € V ^8„  d   QhR\         R\        R\        /# ©r-   r?   rY   Úhalf_to_float©r   r\   r4   )r5   s   "r+   r6   r6     s!   € ÷ ñ ”ð œSð ´ñ r*   c                 óê  € V P                  4       p V'       d9   V P                  \        P                  8w  d   \	        R V P                   R24      h\
        P                  ! V \
        P                  P                  R7      w  r4V P                  V4      p \        W4      p\        P                  ! W,
          4      pV\        P                  ! WaRR7      ,          pV'       g   VP                  V4      pV# ©z%half_to_float is True but x.dtype is z, expected torch.half©r9   T©r9  )r  r  rG   Úhalfrj  r2   rL   r3   ÚDEFAULTr>   Ú_softmax_unbacked_safe_amaxr|   r$  )r?   rY   rê  r@   rD   Úx_maxÚunnormalizedrT  s   &&&     r+   Ú_softmaxrõ    s½   € ð
 	
�‰‹€AßØ�7‰7”e—j‘jÔ Ü Ø7¸¿¹°yÐ@UÐVóð ô ',×&>Ò&>Ø	œu×DÑD×LÑLô'Ñ#Ðð 	
�‰ÐÓ€AÜ'¨Ó/€EÜ—9’9˜Q�YÓ'€LØœEŸIšI lÀÔFÕF€FßØ—‘˜<Ó(ˆØ€Mr*   c                ó<   € V ^8„  d   QhR\         R\        R\         /# rX   r[   )r5   s   "r+   r6   r6   &  s!   € ÷ ,ñ ,¤6ð ,´ð ,¼ñ ,r*   c           	      óÜ  € ^ RI Hp V P                  ^ 8X  d   \        P                  ! WRR7      # \
        P                  ! V P                  V4      pV! V P                  V,          ^ 8„  4      '       d   \        P                  ! WRR7      # \        V P                  4      p^WC&   \        P                  ! W P                  V\        R4      4      3VR7      p \        P                  ! WRR7      # )r   ©Úguard_or_falseTrï  r7  r—   )r¾  rù  rÇ  rG   Úamaxr2   rk  rS  rµ  rn  r  rx   )r?   rY   rù  Úcanonical_dimÚ	pad_shapes   &&   r+   rò  rò  &  s«   € ÝDà‡v�v�„{Ü�zŠz˜!¨$Ô/Ð/ä×*Ò*¨1¯6©6°3Ó7€MÙ�a—g‘g˜mÕ,¨qÑ0×1Ò1Ü�zŠz˜!¨$Ô/Ð/ô �Q—W‘W“€IØ €IÑÜ�	Š	�1—j‘j ¬E°&«MÓ:Ð;ÀÔE€AÜ�:Š:�a dÔ+Ð+r*   )rR  c                ó<   € V ^8„  d   QhR\         R\        R\        /# ré  rë  )r5   s   "r+   r6   r6   <  s!   € ÷ ñ ”Fð ¤ð ´Tñ r*   c                 ó  € V P                  4       p V'       d9   V P                  \        P                  8w  d   \	        R V P                   R24      h\
        P                  ! V \
        P                  P                  R7      w  r4V P                  V4      p \        W4      pW,
          p\        P                  ! \        P                  ! \        P                  ! V4      VRR7      4      pWg,
          pV'       g   VP                  V4      pV# rí  )r  r  rG   rð  rj  r2   rL   r3   rñ  r>   rò  rŠ  r$  r|   )	r?   rY   rê  r@   rD   ró  ÚshiftedÚshifted_logsumexprT  s	   &&&      r+   Ú_log_softmaxr  :  sÌ   € ð
 	
�‰‹€AßØ�7‰7”e—j‘jÔ Ü Ø7¸¿¹°yÐ@UÐVóð ô ',×&>Ò&>Ø	œu×DÑD×LÑLô'Ñ#Ðð 	
�‰ÐÓ€AÜ'¨Ó/€EØ�i€GÜŸ	š	¤%§)¢)¬E¯IªI°gÓ,>ÀÈTÔ"RÓSÐØÕ(€FßØ—‘˜<Ó(ˆØ€Mr*   c                ó`   € V ^8„  d   QhR\         R\         R\        R\        R\        R\         /# )r-   rô   rë  Úpadding_idxÚscale_grad_by_freqÚsparserZ   rë  )r5   s   "r+   r6   r6   T  sD   € ÷ ñ Üðäðô ðô ð	ô
 ðô ñr*   c                 ó  € V P                  4       ^8w  d   \        RV P                  4        R24      hVP                  ^8:  d7   V P                  ^ V4      pVP                  ^ 8X  d   VP	                  ^ 4      pV# W,          # )r-   z'weight' must be 2-D, got z-D)rY   rj  rÇ  Úindex_selectrX  )rô   rë  r  r  r  rê   s   &&&&& r+   Ú	embeddingr  R  sq   € ð ‡z�zƒ|�qÔÜÐ9¸&¿*¹*»,¸ÀrÐJÓKÐKà‡|�|�qÔà×!Ñ! ! WÓ-ˆØ�<‰<˜1ÔØ—+‘+˜a“.ˆCØˆ
à�Ðr*   c          
      óT   € V ^8„  d   QhR\         R\         R\        R\        R\        /# )r-   r�   rë  Únum_weightsr  r  rë  )r5   s   "r+   r6   r6   j  s:   € ÷ ñ Üðäðô ðô ð	ô
 ñr*   c                 ó²  € \         P                  ! V \         P                  P                  R 7      w  rVV P	                  V4      p \        V\        P                  4      pV^ 8¬  W8  ,          pV'       dp   VP                  V34      p\        P                  ! V4      p	\        P                  W‡V.V	4      p\        P                  W‡V.^4      p
W
P                  R4      ,          p \        WqV8g  ,          V P                  4      pV P                  V3V P                   VP                  R ,           4      p\        P                  WËV.V 4      P	                  V4      # )rî  Nr`   )r2   rL   r3   rñ  r>   r   rG   Úlongr·  r¢  rœ   Ú#_unsafe_masked_index_put_accumulateré  rb   rd   rÇ  rS  )r�   rë  r
  r  r  r@   rD   Úvalid_indicesÚcountsræ  Úgrad_weights_scalerí  Úgrad_weights   &&&&&        r+   Úembedding_dense_backwardr  h  s5  € ô ',×&>Ò&>Ø¬×)NÑ)N×)VÑ)Vô'Ñ#Ðð —.‘.Ð!2Ó3€KÜ% g¬u¯z©zÓ:€GØ ‘\ gÑ&;Õ<€MßØ×"Ñ" K >Ó2ˆÜ�Š˜wÓ'ˆÜ×9Ñ9Ø G 9¨dó
ˆô "×6Ñ6Ø G 9¨aó
Ðð "×$@Ñ$@ÀÓ$DÕDˆä˜]¸Ñ.DÕEÀ{×GWÑGWÓX€DØ×'Ñ'Ø	ˆ˜×*Ñ*¨7¯<©<¨>Ð:Õ:ó€Kô ×3Ñ3Ø˜G˜9 kóç�bˆÓðr*   c                ó:   € V ^8„  d   QhR\         \        ,          /# )r-   r?   ©rµ  r\   )r5   s   "r+   r6   r6   ‹  s   € ÷ ñ ŒD”�Iñ r*   c                 ó,   € ^pV  F  pW,          pK  	  V# rl   r!   )r?   rQ   Úis   &  r+   rˆ  rˆ  ‹  s   € Ø	€AÛˆØ	�Šñ à€Hr*   c          	      ót   € V ^8„  d   QhR\         \        ,          R\        R\        R\         \        ,          /# )r-   ÚtensorsrY   Ú
num_chunksrZ   ©rµ  r   r\   )r5   s   "r+   r6   r6   ’  s8   € ÷ ñ Ü”&�\ðä	ðô ðô 
Œ&…\ñ	r*   c                 óÌ  € . pV  FÛ  pVP                  4       pWQ,          V,           ^,
          V,          V,          pWeV,          8w  dV   ^ .^,          VP                  V,
          ^,
          ,          ^ WeV,          ,
          .,           p\        P                  WG^ 4      pVRV \        P
                  ! VR.4      ,           pVP                  VP                  V4      4       KÝ  	  V# )r_   Nr`   )rl  rÇ  rœ   Úconstant_pad_ndrG   ÚSizeÚappendrc  )	r  rY   r  Úpadded_tensorsÚtensorÚtensor_sizeÚpad_along_dimrG  Ú	view_sizes	   &&&      r+   Ú
_pad_chunkr$  ’  sÍ   € ð
 €NÛˆØ—k‘k“mˆØ$Õ)¨JÕ6¸Õ:¸zÕIÈJÕVˆØ¨Õ,Ô,à�#˜•'˜VŸ[™[¨3Õ.°Õ2Õ3ØØ¨CÕ 0Õ0ð7õ ˆCô ×)Ñ)¨&°qÓ9ˆFØ  Ð%¬¯
ª
°JÀÐ3CÓ(DÕDˆ	Ø×Ñ˜fŸn™n¨YÓ7Ö8ñ ð Ðr*   c                ó:   € V ^8„  d   QhR\         \        ,          /# )r-   r  ©rµ  r   )r5   s   "r+   r6   r6   §  s   € ÷ ñ œT¤&�\ñ r*   c                 óf   € V ^ ,          P                   pV  F  pVP                   V8w  g   K   R# 	  R# )r   FT©rÇ  )r  rÇ  r   s   &  r+   Úhave_same_ndimsr)  §  s-   € Ø�1�:�?‰?€DÛˆØ�;‰;˜$ÖÚñ ñ r*   c                óF   € V ^8„  d   QhR\         \        ,          R\        /# )r-   r  rY   r  )r5   s   "r+   r6   r6   ¯  s   € ÷ 
ñ 
¤t¬F¥|ð 
¼#ñ 
r*   c                 ó¤   € V ^ ,          P                  4       RV pV  F/  p\        P                  ! VP                  4       RV V8H  R 4       K1  	  R# )r   Nc                  ó   € R # )zG_chunk_cat expects same sizes of 0,...,dim-1 dimensions for all tensorsr!   r!   r*   r+   r™   Ú+leading_dimension_matches.<locals>.<lambda>´  s   € Ñ]r*   )rl  rG   r›   )r  rY   Úleading_dim_sizesr   s   &&  r+   Úleading_dimension_matchesr/  ¯  sI   € Ø �
Ÿ™Ó)¨$¨3Ð/ÐÛˆÜ�ŠØ�K‰K‹M˜$˜3ÐÐ#4Ñ4Ù]ö	
ó r*   c                óR   € V ^8„  d   QhR\         \        ,          R\        R\        /# )r-   r  rY   r  r  )r5   s   "r+   r6   r6   ¸  s*   € ÷ "ñ "Ü”&�\ð"ä	ð"ô ñ"r*   c                 óê  € \         P                  ! V^8¬  R 4       \         P                  ! \        V 4      ^ 8„  R 4       V ^ ,          P                  pV ^ ,          P                  pV  Fv  p\         P                  ! VP                  4       ^ 8„  R 4       \         P                  ! VP                  V8H  R 4       \         P                  ! VP                  V8H  R 4       Kx  	  \        V 4      '       d.   \        P                  ! V ^ ,          P                  4       V4      pMH\         P                  ! V^ 8¬  R 4       V  F'  p\         P                  ! WP                  8  R 4       K)  	  \        W4       V# )r_   c                  ó   € R # )z&_chunk_cat expects positive num_chunksr!   r!   r*   r+   r™   Ú._preprocess_chunk_cat_inputs.<locals>.<lambda>½  s   € Ñ*Rr*   c                  ó   € R # )z0_chunk_cat expects a non-empty input tensor listr!   r!   r*   r+   r™   r3  ¿  s   € Ñ"Tr*   c                  ó   € R # )z#_chunk_cat expects non-empty tensorr!   r!   r*   r+   r™   r3  Ä  s   € Ñ1Vr*   c                  ó   € R # )z8_chunk_cat expects all input tensors with the same dtyper!   r!   r*   r+   r™   r3  Ç  ó   € ÑNr*   c                  ó   € R # )z8_chunk_cat expects all inputs tensors on the same devicer!   r!   r*   r+   r™   r3  Ë  r7  r*   c                  ó   € R # )zK_chunk_cat expects non-negative dim when input tensors have different ndimsr!   r!   r*   r+   r™   r3  Ò  s   € Ñar*   c                  ó   € R # )z3_chunk_cat expects dim < ndim for all input tensorsr!   r!   r*   r+   r™   r3  ×  ó   € ÑMr*   )rG   r›   rÌ  r  rá  r  r)  r2   rk  rY   rÇ  r/  )r  rY   r  Úexpected_dtypeÚexpected_devicer   s   &&&   r+   Ú_preprocess_chunk_cat_inputsr>  ¸  s"  € ô
 
‡L‚L�˜q‘Ñ"RÔSÜ	‡L‚LÜˆG‹�qÑÑTôð ˜Q•Z×%Ñ%€NØ˜a•j×'Ñ'€OÛˆÜ�Š�V—\‘\“^ aÑ'Ñ)VÔWÜ�ŠØ�L‰L˜NÑ*ÙNô	
ô 	�ŠØ�M‰M˜_Ñ,ÙNö	
ñ ô �w×ÒÜ×$Ò$ W¨Q¥Z§^¡^Ó%5°sÓ;‰ä�ŠØ�1‰HÙaô	
ó ˆFÜ�LŠLØ—k‘kÑ!ÙMöñ ô
 ˜gÔ+Ø€Jr*   c          
      óx   € V ^8„  d   QhR\         \        ,          R\        R\        R\        R,          R\        /# )r-   r  rY   r  rê   NrZ   r  )r5   s   "r+   r6   r6   Þ  sB   € ÷ ñ Ü”&�\ðä	ðô ðô 
�$�ð	ô
 ñr*   c                 ó¶   € \        WV4      p\        WV4      pVf   \        P                  ! WA^,           4      # \        P                  ! WA^,           VR7       V# )N)rê   )r>  r$  rG   rn  )r  rY   r  rê   r  s   &&&& r+   Ú
_chunk_catrA  Ý  sK   € ô ' w°ZÓ
@€CÜ ¨jÓ9€NØ
‚{Ü�yŠy˜¨q­Ó1Ð1ä�	Š	�.¨¥'¨sÕ3Øˆ
r*   c                ó²   € V ^8„  d   QhR\         R\        \        ,          R\        R\        \         ,          R,          R\        \         ,          R,          /# )r-   r‘   Úsplit_sizesrY   rê   NrZ   r´  )r5   s   "r+   r6   r6   ñ  sP   € ÷ ñ Ü
ðä”c•ðô 
ðô 
Œf�˜Õ	ð	ô
 
Œ&…\�DÕñr*   c                 ó  € \         P                  WVR 7      pVf0   V Uu. uF"  qUP                  \        P                  R7      NK$  	  up# \        W44       F'  w  rg\        WgP                  4       \        WvRR7       K)  	  R# u upi )r—   NrŸ  TrO  )	rœ   Úsplit_with_sizesrä  rG   r£  rV  r   rS  r   )r‘   rC  rY   rê   ÚsplitsÚsr  Úsplits   &&&&    r+   Úsplit_with_sizes_copyrI  î  st   € ô ×"Ñ" 4¸#Ð"Ó>€FØ
‚{ÙHNÓOÉÀ1—‘¤e×&=Ñ&=�Ö>ÉÑOÐOä  Ö-‰MˆFÜ˜f§k¡kÔ2Ü UÈ×Mñ .ñ ùò Ps    (Bc          
      ób   € V ^8„  d   QhR\         R\        R\        R\        \         R3,          /# )r-   rã   Ú
split_sizerY   rZ   .rÏ  )r5   s   "r+   r6   r6     s2   € ÷ 5ñ 5œð 5¬Cð 5´cð 5Ä%ÌÐPSÈÕBTñ 5r*   c                 óB   € \         P                  P                  WV4      # r;   )rœ   rH  r   )rã   rK  rY   s   &&&r+   Úunsafe_splitrM    s   € ä�:‰:×Ñ˜U°Ó4Ð4r*   c          
      óx   € V ^8„  d   QhR\         R\        \        ,          R\        R\        \         R3,          /# )r-   rã   rC  rY   rZ   .)r   rµ  r\   rù   )r5   s   "r+   r6   r6     s?   € ÷ Bñ BÜðBÜ $¤S¥	ðBÜ03ðBä
Œ6�3ˆ;ÕñBr*   c                 óB   € \         P                  P                  WV4      # r;   )rœ   rE  r×  )rã   rC  rY   s   &&&r+   Úunsafe_split_with_sizesrP    s   € ô × Ñ ×(Ñ(¨¸SÓAÐAr*   c          
      ób   € V ^8„  d   QhR\         R\        R\        R\        \         R3,          /# )r-   r‘   rK  rY   rZ   .rÏ  )r5   s   "r+   r6   r6     s1   € ÷ /ñ /”ð /¤Cð /¬cð /¼%ÄÈÀÕ:Lñ /r*   c                 óÀ  aa€ V P                   pW2,          o\        P                  ! S^ 8¬  V3R l4       S^ 8X  d   V P                  4       3# \        P                  ! S^ 8„  V3R l4       SS,           ^,
          S,          p^ RIHp V! V4      p\        V4       Uu. uF  pSNK  	  ppSSV,          S,
          ,
          VR&   \        P                  ! WV4      # u upi )r   c                  ó   <€ R S  2# )z=split expects split_size be non-negative, but got split_size=r!   )rK  s   €r+   r™   Úsplit.<locals>.<lambda>  s   ø€ ÐOÐPZÈ|Ñ\r*   c                  ó   <€ R S  2# )zKsplit_size can only be 0 if dimension size is 0, but got dimension size of r!   )rØ  s   €r+   r™   rT    s   ø€ ð %Ø%- Jñ0r*   )Ú	guard_intr`   )rS  rG   r›   Údetachr¾  rV  ra   rH  )	r‘   rK  rY   r°  ÚchunksrV  r  rC  rØ  s	   &f&     @r+   rH  rH    sÆ   ù€ à—*‘*€KØÕ€HÜ	‡L‚LØ�a‰Ü\ôð �1„}Ø—‘“ÐÐÜ	‡L‚LØ�Q‰ô	0ôð
 ˜Õ# aÕ'¨JÕ6€Fõ @á�vÓ€FÜ',¨V¤}Ó5¡} !“:¡}€KÐ5Ø  J°Õ$7¸(Õ$BÕC€K��OÜ�;Š;�t¨#Ó.Ð.ùò 6s   ÂCc          
      ób   € V ^8„  d   QhR\         R\         R\        R\        \         R3,          /# )r-   r‘   Útensor_indices_or_sectionsrY   rZ   .rÏ  )r5   s   "r+   r6   r6   *  s9   € ÷ //ñ //Ü
ð//ä &ð//ô 
ð//ô Œ6�3ˆ;Õñ	//r*   c                 ód  a	€ VP                   P                  R 8w  d   \        RVP                    24      hVP                  \        P
                  8w  d   \        RVP                   24      hVP                  4       o	\        P                  ! S	^8H  ;'       g    S	^ 8H  V	3R l4       S	^ 8X  dY   VP                  4       p\        V\        4      '       g"   \        R\        V4      P                   24      hV P                  W24      # \        p\        P                  P                  4       ;p'       d!   VP                   ;p'       d   VP"                  pV! 4       ;_uu_ 4        V Uu. uF  qwP                  4       NK  	  ppRRR4       V P                  XV4      # u upi   + '       g   i     L'; i)Úcpuz/tensor_indices_or_sections must be on CPU, got z.tensor_indices_or_sections must be int64, got c                  ó   <€ R S  R2# )z{tensor_split expected tensor_indices_or_sections to be a zero-dimensional or one-dimensional tensor, but got a tensor with z dimsr!   )Ú	split_dims   €r+   r™   ÚAtensor_split_tensor_indices_or_sections_py_impl.<locals>.<lambda>:  s   ø€ ð <Ø<E¸;ÀeñMr*   z%Expected sections to be IntLike, got N)rá  Útyperj  r  rG   r  rY   r›   Úitemr=   r   r"   Útensor_splitr   Ú_guardsÚdetect_fake_modeÚ	shape_envÚignore_fresh_unbacked_symbols)
r‘   rZ  rY   ÚsectionsÚctxÚ	fake_modere  r  rë  r^  s
   &&&      @r+   Ú/tensor_split_tensor_indices_or_sections_py_implrj  '  s}  ø€ ð "×(Ñ(×-Ñ-°Ô6ÜØ=Ð>X×>_Ñ>_Ð=`Ðaó
ð 	
ð "×'Ñ'¬5¯;©;Ô6ÜØ<Ð=W×=]Ñ=]Ð<^Ð_ó
ð 	
ð +×.Ñ.Ó0€IÜ	‡L‚LØ�Q‰×(Ð(˜) q™.ô	Môð
 �A„~Ø-×2Ñ2Ó4ˆÜ˜(¤G×,Ò,Ü Ø7¼¸X»×8OÑ8OÐ7PÐQóð ð × Ñ  Ó/Ð/äˆÜŸ™×7Ñ7Ó9Ð9ˆIÖ9Ø"×,Ñ,Ð,ˆIÖ,à×9Ñ9ˆCñ
 �U�UÙ)CÓDÑ)C A—v‘v–xÑ)CˆGÐD÷ ð × Ñ  ¨#Ó.Ð.ùò E÷ �Uús   Å!FÅ&FÅ>FÆFÆF/	c          
      óT   € V ^8„  d   QhR\         R\         R\         R\        R\        /# )r-   r‘   Úmat1Úmat2ru   r‚   r[   )r5   s   "r+   r6   r6   `  s/   € ÷ ñ ”ð œfð ¬Fð ¼#ð Ì#ñ r*   c                 óð   € V P                  4       '       g-   V P                  4       '       g   \        V4      p\        V4      pV\        P                  ! W4      ,          pV^ 8X  d   V# WSV ,          ,           # r‰   )rä  Ú
is_complexr\   rG   Úmm)r‘   rl  rm  ru   r‚   rê   s   &&&&& r+   Úaddmmrq  ]  s_   € ð ×!Ñ!×#Ò#¨D¯O©O×,=Ò,=Ü�4‹yˆÜ�E“
ˆØ
”%—(’(˜4Ó&Õ
&€CØˆq„yØˆ
ð ˜•ÕÐr*   c                ót   € V ^8„  d   QhR\         R\         R\         R\        P                  R\        R\        /# )r-   r‘   rl  rm  r   ru   r‚   )r   rG   r  r\   )r5   s   "r+   r6   r6   s  sH   € ÷ +ñ +Ü
ð+ä
ð+ô ð+ô �{‰{ð	+ô
 ð+ô ñ+r*   c                 óŽ   € V\         P                  ! WVR 7      ,          pV^ 8X  d   V# WdV P                  V4      ,          ,           # )r   )rG   rp  r>   )r‘   rl  rm  r   ru   r‚   rê   s   &&&&&& r+   Úaddmm_dtypert  q  s<   € ð ”%—(’(˜4°Ô;Õ
;€CØˆq„yØˆ
Ø˜Ÿ™ 	Ó*Õ*Õ*Ð*r*   c                ó`   € V ^8„  d   QhR\         R\         R\         R\        R\        R\        /# )r-   r‘   rl  rm  ru   r‚   Úuse_gelurë  )r5   s   "r+   r6   r6   „  sD   € ÷ ñ Ü
ðä
ðô ðô ð	ô
 ðô ñr*   c                 óÒ   € \        WW#V4      pV'       d?   V P                  '       d   \        P                  VR R7      # \        P                  V4      # \        P	                  V4      # )rÍ   )rÊ   )rq  Úis_cudarœ   ÚgeluÚrelu)r‘   rl  rm  ru   r‚   rv  rê   s   &&&&&& r+   Ú_addmm_activationr{  �  sM   € ô �˜D¨Ó
.€CßØ�<�<ˆ<Ü—9‘9˜S¨f�9Ó5Ð5ä—9‘9˜S“>Ð!Ü�9‰9�S‹>Ðr*   c          
      óT   € V ^8„  d   QhR\         R\         R\         R\        R\        /# ©r-   r‘   rl  Úvecru   r‚   r[   )r5   s   "r+   r6   r6   –  s/   € ÷ 	ñ 	”fð 	¤Fð 	´ð 	¼sð 	Ìsñ 	r*   c                 ó*  € V P                  4       '       g-   V P                  4       '       g   \        V4      p\        V4      pV\        P                  ! W4      ,          pV^ 8X  d   V# VP                  4       ^ 8X  d	   W0,          # WSV ,          ,           # r‰   )rä  ro  r\   rG   Úmvr  )r‘   rl  r~  ru   r‚   rê   s   &&&&& r+   Ú_addmv_implr�  •  sq   € à×!Ñ!×#Ò#¨D¯O©O×,=Ò,=Ü�4‹yˆÜ�E“
ˆØ
”%—(’(˜4Ó%Õ
%€CØˆq„yØˆ
Ø
‡y�yƒ{�aÔØ�{ÐØ˜•ÕÐr*   c          
      óT   € V ^8„  d   QhR\         R\         R\         R\        R\        /# r}  r[   )r5   s   "r+   r6   r6   ¤  s/   € ÷ 5ñ 5”ð 5œfð 5¬6ð 5¼ð 5Ìñ 5r*   c                 óÎ   a aa€ \         P                  ! S P                  SP                  8H  ;'       d    SP                  SP                  8H  VV V3R  l4       \        S SSW44      # )c                  óV   <€ R SP                    RS P                    RSP                    2# )z6addmv input tensors must have the same dtype, but got ú, z, and r  )rl  r‘   r~  s   €€€r+   r™   Úaddmv.<locals>.<lambda>§  s/   ø€ ÐHÈÏÉÈÐTVÐW[×WaÑWaÐVbÐbhÐil×irÑirÐhsÑtr*   )rG   r›   r  r�  )r‘   rl  r~  ru   r‚   s   fff&&r+   Úaddmvr‡  ¢  sL   ú€ ô 
‡L‚LØ�
‰
�d—j‘jÑ ×<Ð< T§Z¡Z°3·9±9Ñ%<Þtôô �t˜T 3¨Ó4Ð4r*   c                ó  € V ^8„  d   QhR\         R\         R\         R\         R\         R,          R\        R\        R	\        R
\        R\        \        ,          R\        \         R,          \         R,          \         R,          3,          /# )r-   r�   rã   r#  ÚrstdÚgammaNÚNÚCÚHxWÚgroupÚoutput_maskrZ   )r   r\   rµ  r4   rù   )r5   s   "r+   r6   r6   ®  s£   € ÷ S&ñ S&ÜðS&äðS&ô ðS&ô ð	S&ô
 �D�=ðS&ô ðS&ô ðS&ô 
ðS&ô ðS&ô ”d•ðS&ô Œ6�D�=œ& 4�-¬°$­Ð6Õ7ñS&r*   c
           	      óh	  aaaaaa€ \         P                  ! WSVR R7       \         P                  ! WR R7       \         P                  ! SVR R7       \        P                  ! VP                  4       SS,          S,          8H  VVV3R l4       \        P                  ! SP                  SS38H  VVV3R l4       \        P                  ! SRJ ;'       g    SP                  4       S8H  VV3R l4       SS,          p
\        P                  ! SV
S,          8H  VV3R l4       \        P                  ! W4      P                  SSS4      P                  ^.R7      pV P                  SSS4      P                  ^.R7      pRpRpRpV	^ ,          '       Edu   RSV
,          ,          pSeÅ   \        P                  ! VSP                  ^ 4      4      P                  SSV
4      P                  ^4      p\        P                  ! VSP                  ^ 4      4      P                  SSV
4      P                  ^4      p\        P                  ! VP                  R
4      SP                  ^SV
4      4      pM�VP                  SSV
4      P                  ^4      pVP                  SSV
4      P                  ^4      p\        P                  ! VP                  R
4      \        P                  ! ^SV
3VP                  R	7      4      p\        P                  ! V) VS4      V,          V,          V,          V,          pV) S,          VV,          V,          ,
          pVP                  R
4      p\        V^4      p\        V^4      p\        P                  ! V P                  SSV
S4      V4      \        P                  ! VP                  SSV
S4      V4      ,           V,           pVP                  VP                  4      P                  VP                   4      pV	^,          '       dx   VP#                  SSV
4      VP#                  SSV
4      SP                  R
4      ,          ,
          VP                  R
4      ,          P                  ^ .R7      P                  S4      pV	^,          '       d   VP                  ^ .R7      pWÞV3# )F)Úallow_cpu_scalar_tensorsc                  ó,   <€ R SS ,          S,           R2# )zExpect input to have z	 elementsr!   )rŒ  r�  r‹  s   €€€r+   r™   Ú,native_group_norm_backward.<locals>.<lambda>Á  s   ø€ Ð'¨¨A­°­ }°IÑ>r*   c                  ó.   <€ R S  RS RSP                    2# )zExpect mean to have shape (r…  z
, but got rÛ  )r‹  rŽ  r#  s   €€€r+   r™   r“  Å  s   ø€ Ð-¨a¨S°°5°'¸ÀDÇJÁJÀ<ÑPr*   Nc                  ó@   <€ R S  RSe   SP                  4        2# R 2# )zExpect gamma to have z elements but got r`   )r  )rŒ  rŠ  s   €€r+   r™   r“  É  s)   ø€ Ð'¨ sÐ*<ÈeÒN_¸U¿[¹[»]Ð<hÑiÐegÐ<hÑir*   c                  ó   <€ R S  RS 2# )zExpect number of channels z, to be evenly-divisible by number of groups r!   )rŒ  rŽ  s   €€r+   r™   r“  Ï  s   ø€ Ð,¨Q¨CÐ/[Ð\aÐ[bÑcr*   r—   r{   rà  r`   )r2   Úcheck_same_deviceÚcheck_same_shaperG   r›   r  rS  r  rc  r$  rb   ræ  rá  Úaddcmulrd   r>   r  rè  )r�   rã   r#  r‰  rŠ  r‹  rŒ  r�  rŽ  r�  ÚcpgÚdsÚdbÚd_inputÚd_gammaÚd_biasrG  Úds_valÚdb_valÚc1Úc2Úc3s   &&f&fffff&            r+   Únative_group_norm_backwardr¥  ¬  sÁ  ý€ ô 
×ÒØ˜D $Àõô 
×Ò˜5ÈÕNÜ	×Ò˜4 ÀÕFÜ	‡L‚LØ�‰‹˜˜Q� �Ñ$Þ>ôô 
‡L‚LØ�
‰
�q˜%�jÑ ÞPôô 
‡L‚LØ�ˆ×+Ð+˜Ÿ™›¨!Ñ+Ýiôð
 ˆu�*€CÜ	‡L‚LØ	ˆS�5�[ÑÝcôô 
�Š�;Ó	&×	.Ñ	.¨q°!°SÓ	9×	=Ñ	=À1À#Ð	=Ó	F€BØ	×	Ñ	˜Q  3Ó	'×	+Ñ	+°°Ð	+Ó	4€Bà!€GØ!€GØ €FØ�1‡~…~Ø�3˜•9ÕˆØÒÜ—Y’Y˜r 5§?¡?°1Ó#5Ó6×>Ñ>¸qÀ%ÈÓM×QÑQÐRSÓTˆFÜ—Y’Y˜r 5§?¡?°1Ó#5Ó6×>Ñ>¸qÀ%ÈÓM×QÑQÐRSÓTˆFÜ—’Ø—‘˜rÓ"Ø—‘˜a ¨Ó,ó‰Bð
 —Z‘Z  5¨#Ó.×2Ñ2°1Ó5ˆFØ—Z‘Z  5¨#Ó.×2Ñ2°1Ó5ˆFÜ—’Ø—‘˜rÓ"Ü—
’
˜A˜u c˜?°4·;±;Ô?óˆBô �]Š]˜F˜7 F¨DÓ1°DÕ8¸4Õ?À$ÕFÈÕJˆØˆS�4�Z˜& 4�-¨!Õ+Õ+ˆà�\‰\˜"ÓˆÜ˜r 1Ó%ˆÜ˜r 1Ó%ˆä�IŠI�k×)Ñ)¨!¨U°C¸Ó=¸rÓBÜ�iŠi˜Ÿ™ a¨°°SÓ9¸2Ó>õ?àõð 	ð
 —/‘/ %§+¡+Ó.×1Ñ1°%·+±+Ó>ˆØ�1‡~„~ð —‘˜˜E 3Ó'¨"¯'©'°!°U¸CÓ*@À4Ç>Á>ÐRTÓCUÕ*UÕUØ—.‘. Ó$õ%÷ ‰S�a�SˆS‹\ß‰W�Q‹Zð 	ð �1‡~„~Ø—‘˜Q˜C�“ˆà˜fÐ%Ð%r*   c                 óv  € V ^8„  d   QhR\         R\         R\         R\         R\         R,          R\        R\        R	\        R
\        R\        \        ,          R\        P                   R\        P                   R\        P                   R\
        \         R,          \         R,          \         R,          3,          /# )r-   r�   rã   r#  r‰  rŠ  Nr‹  rŒ  r�  rŽ  r�  rà  rá  Úout2rZ   )r   r\   rµ  r4   rG   rù   )r5   s   "r+   r6   r6     sÀ   € ÷ ñ Üðäðô ðô ð	ô
 �D�=ðô ðô ðô 
ðô ðô ”d•ðô �,‰,ðô �,‰,ðô �,‰,ðô Œ6�D�=œ& 4�-¬°$­Ð6Õ7ñr*   c
                óÂ   € \        WW#WEWgW‰4
      pW«V3p\        V4       F<  w  ppVf   K  \        Wï,          VP                  4       \	        VWï,          RR7       K>  	  V# ©NTrO  )r¥  r­  r   rS  r   )r�   rã   r#  r‰  rŠ  r‹  rŒ  r�  rŽ  r�  rà  rá  r§  rT  re   r  rQ   s   &&&&&&&&&&$$$    r+   Únative_group_norm_backward_outrª    sc   € ô" (Ø˜D¨°!¸%ó€Fð ˜dÐ#€JÜ˜&Ö!‰ˆˆ1ØŒ=Ü˜j�m¨Q¯W©WÔ5Ü Q°
µÈ4×Pñ "ð
 Ðr*   c                óL   € V ^8„  d   QhR\         R,          R\         R,          /# )r-   r?   NrZ   rj   )r5   s   "r+   r6   r6   "  s"   € ÷ ñ ”6˜D•=ð ¬F°T­Mñ r*   c                 ó0   € V e   V P                  V4      # V # r;   ©r>   )r?   r  s   &&r+   Ú_maybe_castr®  "  s   € Ø‚}Ø�t‰t�E‹{ÐØ€Hr*   c                ó"  € V ^8„  d   QhR\         R\         R\        \        ,          R\         R\         R\         R,          R\         R,          R	\        \        ,          R
\        \         R,          \         R,          \         R,          3,          /	# )r-   Úgrad_outrã   Únormalized_shaper#  r‰  rô   NÚbiasr�  rZ   ©r   rµ  r\   r4   rù   )r5   s   "r+   r6   r6   *  s•   € ÷ Qñ QÜðQäðQô œ3•iðQô ð	Qô
 ðQô �T�MðQô �4�-ðQô ”d•ðQô Œ6�D�=œ& 4�-¬°$­Ð6Õ7ñQr*   c                 óŽ  a"€ VP                   pVP                  4       p	\        P                  ! VP                  4      o"V"3R  lWWV3 4       w  r«rÍV
f   \        R4      hV	\        V4      ,
          pWŽR pVRV p. p. p\        V	4       F.  pVV8¼  d   VP                  V4       K  VP                  V4       K0  	  \        V4      p\        V4      p^ RI
Hp V! V^ 8H  4      '       g   V! V^ 8H  4      '       dk   V^ ,          '       d   VP                  V4      MRV^,          '       d   VP                  WŽR 4      MRV^,          '       d   VP                  WŽR 4      3# R3# \        W;P                  4       4      p\        WKP                  4       4      pVf   \        R4      hW³,
          V,          pVe
   W¬,          pMT
pVV,          p\        P                  ! VVR4      p\        P                   ! VV4      p\        P                  ! VVR4      p\        P                   ! VV4      pVV,
          V,
          pRpRp Rp!V^ ,          '       d   VV,          V,          pV^,          '       d>   Ve:   \        V4      ^ 8”  d!   \        P                  ! V
V,          VR4      p M	V
V,          p V^,          '       d>   Ve:   \        V4      ^ 8”  d   \        P                  ! V
VR4      p!MV
P#                  4       p!\%        VVP                  4      \%        T Ve   VP                  MR4      \%        T!Ve   VP                  4      3# R4      3# )c              3   ór   <"  € T F,  pVe"   VP                  S\        P                  R7      MTx € K.  	  R # 5i©NrŸ  )r>   rG   r£  ©r'  r?   r@   s   & €r+   r(  Ú-native_layer_norm_backward.<locals>.<genexpr>7  s?   øé € ð 9ñ 1ˆAð Š=ð 	
�‰Ð¬e×.EÑ.EˆÔFàô	ó 1ùs   ƒ47Nú grad_out_cast should not be Noner¼  zinput_cast should not be NoneTF)rS  rY   r2   Úget_computation_dtyper  rj  rÌ  ra   r  rˆ  r¾  r½  r·  rd   rG   r$  r  rä  r®  )#r°  rã   r±  r#  r‰  rô   r²  r�  Úinput_shapeÚ
input_ndimÚgrad_out_castÚ
input_castÚweight_castÚ	bias_castÚaxisÚ
inner_dimsÚ
outer_dimsÚinner_dim_indicesÚouter_dim_indicesr  r‹  ÚMr½  Úx_hatÚ
grad_x_hatr´  rµ  r¢  r£  r¤  rR   r�  Úd_weightrŸ  r@   s#   &&&&&&&&                          @r+   Únative_layer_norm_backwardrÊ  )  s  ø€ ð —+‘+€KØ—‘“€JÜ×3Ò3°E·K±KÓ@Ðô9ð  6Ñ0ó	9Ñ5€M˜{ð ÒÜÐ?Ó@Ð@àœÐ,Ó-Õ-€DØ˜UÐ#€JØ˜U˜dÐ#€JØ#%ÐØ#%ÐÜ�:ÖˆØ�Œ9Ø×$Ñ$ QÖ'à×$Ñ$ QÖ'ñ	 ô 	ˆZÓ€AÜˆZÓ€AÝKá˜Q !™V×$Ò$Ñ(=¸aÀ1¹f×(EÒ(Eà,7¸¯N¬NˆE�O‰O˜KÔ(ÀØ3>¸q·>´>ˆE�O‰O˜K¨Ð.Ô/ÀtØ3>¸q·>´>ˆE�O‰O˜K¨Ð.Ó/ð
ð 	
ð HLð
ð 	
ô
 ˜T§>¡>Ó#3Ó4€DÜ˜T§>¡>Ó#3Ó4€DØÒÜÐ<Ó=Ð=ØÕ $Õ&€EØÒØ"Õ0‰
à"ˆ
Ø�Q�€AÜ�	Š	�*Ð/°Ó6€AÜ	�Š�:˜uÓ	%€BÜ	�Š�2Ð(¨$Ó	/€BÜ	�Š�5˜"Ó	€Bà��E�B�J€EØ!€GØ"€HØ €FØ�1‡~„~Ø˜!•8˜uÕ$ˆà�1‡~„~˜+Ò1ÜÐ Ó! AÔ%Ü—y’y °Õ!6Ð8IÈ5ÓQ‰Hà$ uÕ,ˆHà�1‡~„~˜)Ò/ÜÐ Ó! AÔ%Ü—Y’Y˜}Ð.?ÀÓG‰Fà"×(Ñ(Ó*ˆFô 	�G˜UŸ[™[Ó)Ü�H¨fÒ.@˜fŸlšlÀdÓKÜ�F¨$Ò*:˜DŸJ™JÓEðð ð AEÓEðð r*   c                ó‚  € V ^8„  d   QhR\         R\         R\        \        ,          R\         R\         R\         R,          R\         R,          R	\        \        ,          R
\        P                   R\        P                   R\        P                   R\
        \         R,          \         R,          \         R,          3,          /# )r-   r°  rã   r±  r#  r‰  rô   Nr²  r�  rà  rá  r§  rZ   )r   rµ  r\   r4   rG   rù   )r5   s   "r+   r6   r6   €  s´   € ÷ ñ Üðäðô œ3•iðô ð	ô
 ðô �T�Mðô �4�-ðô ”d•ðô �,‰,ðô �,‰,ðô �,‰,ðô Œ6�D�=œ& 4�-¬°$­Ð6Õ7ñr*   c          
      ó¾   € \        WW#WEWg4      pW‰V
3p\        V4       F;  w  rÞVf   K  \        WÍ,          VP                  4       \	        WìV,          RR7       K=  	  V# r©  )rÊ  r­  r   rS  r   )r°  rã   r±  r#  r‰  rô   r²  r�  rà  rá  r§  rT  re   r  rQ   s   &&&&&&&&$$$    r+   Únative_layer_norm_backward_outrÍ    s`   € ô (ØÐ)°¸tó€Fð ˜dÐ#€JÜ˜&Ö!‰ˆØŒ=Ü˜j�m¨Q¯W©WÔ5Ü Q¸1µÈ4×Pñ "ð
 Ðr*   c                ó¨   € V ^8„  d   QhR\         R\        \        ,          R\         R,          R\        R,          R\        \         \         3,          /# )r-   rã   r±  rô   NrÔ  rZ   )r   rµ  r\   rx   rù   )r5   s   "r+   r6   r6   ›  sO   € ÷ 3ñ 3Üð3äœ3•ið3ô �T�Mð3ô 
��ð	3ô
 Œ6”6ˆ>Õñ3r*   c           	      ó„  € . p\        \        V4      4       F0  pVP                  V P                  4       V,
          ^,
          4       K2  	  \        P
                  ! V P                  4      pV P                  V4      pVf„   V\        P                  \        P                  39   d0   \        P                  ! \        P                  4      P                  pM1\        P                  ! \        P                  4      P                  pMTp\        P                  ! \        P                  P                   P"                  P%                  \        P&                  ! V^4      P)                  VRR7      V4      4      p	VP+                  V	4      p
Ve   V
P+                  V4      p
V P,                  ;'       g    VRJ;'       d    VP,                  p\        P.                  ! V 4      pV\        P0                  \        P2                  39   pV'       g)   V'       g!   V
P5                  4       p
V	P5                  4       p	V
P7                  V 4      pWé3# )r_   NTr8  )ra   rÌ  r  rY   r2   rº  r  r>   rG   r  r*  ÚfinforÔ  r,  ÚrsqrtÚopsrœ   ÚaddÚScalarr  r#  r  Ú	is_nestedr   Úchannels_lastÚchannels_last_3dr  r•  )rã   r±  rô   rÔ  Údims_to_reducer  r@   Úupcasted_inputÚeps_valÚrqrst_inputÚupcasted_resultrÕ  r   Úis_channels_lastrT  s   &&&&           r+   Ú_fused_rms_normrÞ  š  s¾  € ð !#€NÜ”3Ð'Ó(Ö)ˆØ×Ñ˜eŸi™i›k¨A�o°Õ1Ö2ñ *ô ×3Ò3°E·K±KÓ@ÐØ—X‘XÐ/Ó0€Nð ‚{Ø¤§¡´·±Ð @Ô@Ü—k’k¤%§-¡-Ó0×4Ñ4‰Gä—k’k¤%§-¡-Ó0×4Ñ4‰Gàˆä—+’+ô 	�	‰	�‰×Ñ×!Ñ!Ü�IŠI�n aÓ(×-Ñ-°.È$Ð-ÓOÐQXó	
ó€Kð %×(Ñ(¨Ó5€OàÒØ)×-Ñ-¨fÓ5ˆð —‘×LÐL F°$Ð$6×$KÐ$K¸6×;KÑ;K€IÜ×/Ò/°Ó6€MØ$Ü×ÑÜ×Ñð)ñ Ð÷
 ×-Ø)×4Ñ4Ó6ˆØ!×,Ñ,Ó.ˆð ×$Ñ$ UÓ+€FàÐÐr*   c                óä   € V ^8„  d   QhR\         R\         R\        \        ,          R\         R\         R,          R\        \        ,          R\        \         R,          \         R,          3,          /# )	r-   r°  rã   r±  r‰  rô   Nr�  rZ   r³  )r5   s   "r+   r6   r6   Ò  su   € ÷ Hñ HÜðHäðHô œ3•iðHô ð	Hô
 �T�MðHô ”d•ðHô Œ6�D�=œ& 4�-Ð'Õ(ñHr*   c                 ó  € VP                   pVP                  4       p\        P                  ! VP                  4      pV P                  V\        P                  R 7      p	VP                  V\        P                  R 7      p
Ve"   VP                  V\        P                  R 7      MRpV	f   \        R4      hV\        V4      ,
          pWlR pVRV p. p. p\        V4       F.  pVV8¼  d   VP                  V4       K  VP                  V4       K0  	  \        V4      p\        V4      p^ RIHp V! V^ 8H  4      '       g   V! V^ 8H  4      '       dH   V^ ,          '       d   VP                  V4      MRV^,          '       d   VP                  WlR 4      3# R3# \!        W:P                  4       4      pVe
   W›,          pMT	pRpRpW£,          pV^ ,          '       d?   \        P"                  ! VV,          VRR7      pVVV,          V,          ,
          V,          pV^,          '       d:   Ve6   V	V,          p\        V4      ^ 8”  d   \        P"                  ! VVRR7      pMTp\%        VVP                  4      \%        VVP                  4      3# )rŸ  Nr¹  rø  Tr8  F)rS  rY   r2   rº  r  r>   rG   r£  rj  rÌ  ra   r  rˆ  r¾  rù  r·  rd   r$  r®  )r°  rã   r±  r‰  rô   r�  r»  r¼  r@   r½  r¾  r¿  rÁ  rÂ  rÃ  rÄ  rÅ  r  r‹  rÆ  rù  rÈ  r�  rÉ  rÇ  Úsum_valÚd_weight_full_shapes   &&&&&&                     r+   Ú_fused_rms_norm_backwardrã  Ñ  s`  € ð —+‘+€KØ—‘“€JÜ×3Ò3°E·K±KÓ@Ðà—K‘KØ¬×)@Ñ)@ð  ó €Mð —‘Ð+¼5×;RÑ;R�ÓS€Jð Òð 	�	‰	Ð#´5×3JÑ3Jˆ	ÔKàð ð
 ÒÜÐ?Ó@Ð@àœÐ,Ó-Õ-€DØ˜UÐ#€JØ˜U˜dÐ#€JØ#%ÐØ#%ÐÜ�:ÖˆØ�Œ9Ø×$Ñ$ QÖ'à×$Ñ$ QÖ'ñ	 ô 	ˆZÓ€AÜˆZÓ€AÝDá�a˜1‘f×Ò¡°°Q±×!7Ò!7à,7¸¯N¬NˆE�O‰O˜KÔ(ÀØ3>¸q·>´>ˆE�O‰O˜K¨Ð.Ó/ð
ð 	
àGKð
ð 	
ô
 ˜T§>¡>Ó#3Ó4€DØÒØ"Õ0‰
à"ˆ
à!€GØ"€HàÕ€Eà�1‡~„~Ü—)’)˜E JÕ.Ð4EÈtÔTˆØ ¨¥¨gÕ 5Õ5¸Õ=ˆà�1‡~„~˜+Ò1Ø+¨eÕ3ÐÜÐ Ó! AÔ%Ü—y’yØ#Ð):ÀEô‰Hð +ˆHô 	�G˜UŸ[™[Ó)Ü�H˜eŸk™kÓ*ðð r*   c                ó$  € V ^8„  d   QhR\         R\         R,          R\         R,          R\         R,          R\         R,          R\        R\        R	\        R
\        R\        \         \         \         \         R,          \         R,          3,          /
# )r-   rã   rô   Nr²  Úrunning_meanÚrunning_varr  ÚmomentumrÔ  Ú
functionalrZ   ©r   r4   rx   rù   )r5   s   "r+   r6   r6     s    € ÷ Rñ RÜðRä�T�MðRô �4�-ðRô ˜4•-ð	Rô
 ˜$•ðRô ðRô ðRô 
ðRô ðRô Œ6”6œ6¤6¨D¥=´&¸4µ-Ð?Õ@ñRr*   c	                 óJ  € ^ .\        \        ^V P                  4       4      4      ,           p	\        P                  ! V P
                  4      p
TpTpV'       Edr   \        P                  ! V P
                  4      p
V P                  V
R7      p\        P                  ! WÙ^ RR7      w  rï\        P                  ! Wç,           4      pW,
          V,          p\        P                  ! Wù4      p\        P                  ! VV	4      pVe8   VV,          ^V,
          V,          ,           pV'       g   VP                  V4       Ve�   V P                  4       V P                  ^,          ,          p\        P                  ! Wé4      pVVV^,
          ,          ,          pVV,          ^V,
          V,          ,           pV'       g   VP                  V4       MíVe   Vf   \        R4      hVP                  V
RR7      pTpVP                  V
RR7      pTpTp\        P                  ! WG,           4      pV P                  P                   R8w  d   TpTpM"V P#                  R4      pV P#                  R4      p\%        WðP                  4       ^,
          4      p\%        VV P                  4       ^,
          4      pW,
          V,          pVe:   VP'                  4       p\%        WP                  4       ^,
          4      pVV,          pVe:   VP'                  4       p\%        W P                  4       ^,
          4      pVV,           pV P                  P                   R8X  d9   VP                  V P
                  R7      pVP                  V P
                  R7      pVP                  V P
                  R7      VVVV3# )r   r  T)rY   Ú
correctionr9  z:running_mean and running_var must not be None in eval mode)r  r�   r\  r‰   )rµ  ra   rY   r2   rº  r  r>   rG   Úvar_meanrÑ  rX  Úcopy_r  rS  rj  rá  r`  r·  rd   r¢  )rã   rô   r²  rå  ræ  r  rç  rÔ  rè  Úreduction_dimsr@   Únew_running_meanÚnew_running_varÚ	input_accÚ
biased_varr#  r‰  r  Ú	save_meanÚ	save_rstdÚnÚsqueezed_varÚunbiased_varÚinvstds   &&&&&&&&&               r+   Únative_batch_norm_helperrù    sî  € ð �Sœ4¤ a¨¯©«Ó 5Ó6Õ6€NÜ×3Ò3°E·K±KÓ@ÐØ#ÐØ!€Oß€xÜ!×7Ò7¸¿¹ÓDÐØ—H‘HÐ#4�HÓ5ˆ	Ü Ÿ>š>Ø°aÀô
Ñˆ
ô �{Š{˜:Õ+Ó,ˆà•, $Õ&ˆä—M’M $Ó7ˆ	Ü—M’M $¨Ó7ˆ	ØÒ#Ø'¨)Õ3°q¸8µ|À|Õ6SÕSÐßØ×"Ñ"Ð#3Ô4ØÒ"Ø—‘“ §¡¨A¥Õ.ˆAô !Ÿ=š=¨ÓDˆLØ'¨1°°Aµ­;Õ7ˆLØ&¨Õ5¸¸X½ÈÕ8TÕTˆOßØ×!Ñ! /Ô2øàÒ ;Ò#6Ü ØLóð ð $—‘Ð->ÀT�ÓJˆØ'ÐØ!—n‘nÐ+<À4�nÓHˆØ%ˆØˆÜ—’˜[Õ.Ó/ˆà�<‰<×Ñ Ô%Ø$ˆIØ‰IàŸ™¨Ó-ˆIØŸ™¨Ó-ˆIÜ  §y¡y£{°Q¥Ó7ˆÜ" 6¨5¯9©9«;¸­?Ó;ˆØ•, &Õ(ˆàÒØ—‘Ó!ˆÜ" 6¯9©9«;¸­?Ó;ˆØ˜&•ˆàÒØ�|‰|‹~ˆÜ  §y¡y£{°Q¥Ó7ˆØ˜$•ˆà‡|�|×Ñ˜EÔ!Ø—L‘L u§{¡{�LÓ3ˆ	Ø—L‘L u§{¡{�LÓ3ˆ	à�	‰	˜Ÿ™ˆ	Ó$ØØØØðð r*   rê   ró  Úsave_invstdc                óè   € V ^8„  d   QhR\         R\         R,          R\         R,          R\         R,          R\         R,          R\        R\        R	\        R
\        \         \         \         3,          /	# ©r-   rã   rô   Nr²  rå  ræ  r  rç  rÔ  rZ   ré  )r5   s   "r+   r6   r6   t  s~   € ÷ (ñ (Üð(ä�T�Mð(ô �4�-ð(ô ˜4•-ð	(ô
 ˜$•ð(ô ð(ô ð(ô 
ð(ô Œ6”6œ6Ð!Õ"ñ(r*   c                 ó2   € \        WW#WEWgR 4	      w  r‰p
 pW‰V
3# ©F©rù  ©rã   rô   r²  rå  ræ  r  rç  rÔ  r  ró  rô  rc   s   &&&&&&&&    r+   Únative_batch_normr  r  s1   € ô *BØ�t¨;À(ÐQVó*Ñ&€F�y ! Qð ˜iÐ'Ð'r*   c                óè   € V ^8„  d   QhR\         R\         R,          R\         R,          R\         R,          R\         R,          R\        R\        R	\        R
\        \         \         \         3,          /	# rü  ré  )r5   s   "r+   r6   r6   �  s~   € ÷  
ñ  
Üð 
ä�T�Mð 
ô �4�-ð 
ô ˜4•-ð	 
ô
 ˜$•ð 
ô ð 
ô ð 
ô 
ð 
ô Œ6”6œ6Ð!Õ"ñ 
r*   c           
      óì   € Vf   Vf   \         P                  WW%Wg4      # Vf   \        R4      hVf   \        R4      hV'       d   \         P                  WW#WEWg4      # \         P                  WW#WFV4      # )Nz`running_mean is None, but running_var is provided. They should both be None or both be provided.z`running_var is None, but running_mean is provided. They should both be None or both be provided.)rœ   Ú_native_batch_norm_legitr¿  Ú$_native_batch_norm_legit_no_training)rã   rô   r²  rå  ræ  r  rç  rÔ  s   &&&&&&&&r+   Únative_batch_norm_decompositionr  Ž  sœ   € ð Ò Ò 3Ü×,Ñ,Ø˜4¨8ó
ð 	
ð ÒÜð<ó
ð 	
ð ÒÜð<ó
ð 	
÷ ä×,Ñ,Ø˜4¨{Àhó
ð 	
ô ×8Ñ8Ø˜4¨{Àcó
ð 	
r*   c                ó:   € V ^8„  d   QhR\         \        ,          /# rÒ  r&  )r5   s   "r+   r6   r6   ´  s   € ÷ Gñ G´4¼µ<ñ Gr*   c                 ó¶  € V P                  V4      pW1,           ^,
          V,          pV^ 8X  dt   V^ 8X  dm   \        V4       Uu. uF  qTNK  	  ppWDV,          V,
          ,
          Wa^,
          &   \        P                  P                  P
                  P                  WV4      # \        P                  P                  P                  P                  WV4      # u upi rl   )	rl  ra   rG   rÒ  rœ   rP  r×  rM  r   )r   rX  rY   rØ  rK  rc   rC  s   &&&    r+   Úunsafe_chunk_py_implr	  ³  s¨   € à�{‰{˜3Ó€HØÕ# aÕ'¨FÕ2€Jà�Q„˜8 qœ=Ü+0°¬=Ó9©= a’z©=ˆÐ9Ø",¸VÕ0CÀhÕ0NÕ"Oˆ˜Q•JÑÜ�y‰y�~‰~×5Ñ5×=Ñ=¸fÐSVÓWÐWÜ�9‰9�>‰>×&Ñ&×-Ñ-¨fÀ#ÓFÐFùò :s   Á
Cc                óÀ   € V ^8„  d   QhR\         R\         R,          R\         R,          R\         R\         R\        R\        R	\        \         \         \         3,          /# ©
r-   rã   rô   Nr²  rå  ræ  rç  rÔ  rZ   ©r   rx   rù   )r5   s   "r+   r6   r6   À  sl   € ÷ ñ Üðä�T�Mðô �4�-ðô ð	ô
 ðô ðô 
ðô Œ6”6œ6Ð!Õ"ñr*   c           
      óN   € \         P                  P                  V VVVVR VV4      # rþ  )rœ   r  r×  )rã   rô   r²  rå  ræ  rç  rÔ  s   &&&&&&&r+   r  r  ¿  s5   € ô ×(Ñ(×0Ñ0ØØØØØØØØó	ð 	r*   c                óÌ   € V ^8„  d   QhR\         R\         R,          R\         R,          R\         R\         R\        R\        R	\        R
\        \         \         \         3,          /	# rü  ré  )r5   s   "r+   r6   r6   Ö  sv   € ÷ (ñ (Üð(ä�T�Mð(ô �4�-ð(ô ð	(ô
 ð(ô ð(ô ð(ô 
ð(ô Œ6”6œ6Ð!Õ"ñ(r*   c                 ó2   € \        WW#WEWgR 4	      w  r‰p
 pW‰V
3# rþ  rÿ  r   s   &&&&&&&&    r+   r  r  Õ  s1   € ô *BØ�t¨;À(ÐQVó*Ñ&€F�y ! Qð ˜iÐ'Ð'r*   c                ó´   € V ^8„  d   QhR\         R\         R,          R\         R,          R\        R\        R\        R\        \         \         \         3,          /# )	r-   rã   rô   Nr²  r  rç  rÔ  rZ   ré  )r5   s   "r+   r6   r6   ç  sb   € ÷ (ñ (Üð(ä�T�Mð(ô �4�-ð(ô ð	(ô
 ð(ô 
ð(ô Œ6”6œ6Ð!Õ"ñ(r*   c                 ó6   € \        WVR R W4VR4	      w  rgp p	WgV3# ©NFrÿ  )
rã   rô   r²  r  rç  rÔ  r  ró  rô  rc   s
   &&&&&&    r+   Ú!_native_batch_norm_legit_no_statsr  æ  s4   € ô *BØ�t˜T 4¨¸SÀ%ó*Ñ&€F�y ! Qð ˜iÐ'Ð'r*   c                óà   € V ^8„  d   QhR\         R\         R,          R\         R,          R\         R\         R\        R\        R	\        R
\        \         \         \         \         \         3,          /	# rü  ré  )r5   s   "r+   r6   r6   ö  s…   € ÷ Kñ KÜðKä�T�MðKô �4�-ðKô ð	Kô
 ðKô ðKô ðKô 
ðKô Œ6”6œ6¤6¬6Ð1Õ2ñKr*   c                 ór   € \        WW#WEWgR 4	      w  pp	p
ppVf   \        R4      hVf   \        R4      hW‰W«V3# )Tú#new_running_mean should not be Noneú"new_running_var should not be None)rù  rj  )rã   rô   r²  rå  ræ  r  rç  rÔ  r  ró  rô  rï  rð  s   &&&&&&&&     r+   Ú#_native_batch_norm_legit_functionalr  õ  s_   € ô" 	!Ø�t¨;À(ÐQUó	ñØØØØØð ÒÜÐBÓCÐCØÒÜÐAÓBÐBØ˜i¸?ÐJÐJr*   c                ó”   € V ^8„  d   QhR\         R\         R,          R\         R,          R\         R\         R\        R\        R	\         /# )
r-   rã   rô   Nr²  rå  ræ  rÔ  r  rZ   r‡   )r5   s   "r+   r6   r6   	  s`   € ÷ ñ Üðä�T�Mðô �4�-ðô ð	ô
 ðô 
ðô ðô ñr*   c           	     óT  € \         P                  P                  WW#VRV4      p^ pV\         P                  P                  P                  8X  d    \         P                  P                  W4      p\         P                  ! V\         P                  V P                  V P                  R7      # )a‘  
Return a reserve tensor for batch norm, used only by cudnn to pass forward state to the
backward pass. This is needed for `_batch_norm_with_update` and `_batch_norm_no_update`,
which support a variety of backends including cudnn. We create this tensor here to get
the correct shape in the traced graph if we detect that will call the cudnn kernel,
and rely on DCE to avoid materializing this tensor.
T)r  Úlayoutrá  )
rG   Ú_CÚ_select_batch_norm_backendÚ_BatchNormBackendÚCudnnÚ(_get_cudnn_batch_norm_reserve_space_sizeÚemptyÚuint8r  rá  )	rã   rô   r²  rå  ræ  rÔ  r  ÚbackendÚreserve_sizes	   &&&&&&&  r+   Ú_get_batch_norm_reserve_tensorr%  	  s�   € ô  �h‰h×1Ñ1Ø�t¨;¸¸có€Gð €LØ”%—(‘(×,Ñ,×2Ñ2Ô2Ü—x‘x×HÑHØó
ˆô �;Š;ØœEŸK™K°·±ÀUÇ\Á\ôð r*   c                óÊ   € V ^8„  d   QhR\         R\         R,          R\         R,          R\         R\         R\        R\        R	\        \         \         \         \         3,          /# r  r  )r5   s   "r+   r6   r6   .	  ón   € ÷ 1ñ 1Üð1ä�T�Mð1ô �4�-ð1ô ð	1ô
 ð1ô ð1ô 
ð1ô Œ6”6œ6¤6Ð)Õ*ñ1r*   c                 óX   € \        V VVVVR VVR4	      w  rxp	 p
\        WW#WFR R7      pWxW›3# )TF©r  ©rù  r%  ©rã   rô   r²  rå  ræ  rç  rÔ  r  ró  rô  rc   Úreserves   &&&&&&&     r+   Ú_batch_norm_with_updater-  -	  sU   € ô *BØØØØØØØØØó
*Ñ&€F�y ! Qô -Ø�t¨;Àdô€Gð ˜iÐ0Ð0r*   c                óÞ   € V ^8„  d   QhR\         R\         R,          R\         R,          R\         R\         R\        R\        R	\        \         \         \         \         \         \         3,          /# r  r  )r5   s   "r+   r6   r6   I	  s|   € ÷ Cñ CÜðCä�T�MðCô �4�-ðCô ð	Cô
 ðCô ðCô 
ðCô Œ6”6œ6¤6¬6´6Ð9Õ:ñCr*   c                 ó’   € \        WW#VR WVR 4	      w  ppp	p
p\        WW#WFR R7      pV
f   \        R4      hVf   \        R4      hWxWœW«3# )Tr)  r  r  )rù  r%  rj  )rã   rô   r²  rå  ræ  rç  rÔ  r  ró  rô  Únew_rmÚnew_rvr,  s   &&&&&&&      r+   Ú"_batch_norm_with_update_functionalr2  H	  ss   € ô  	!Ø�t¨;¸¸hÈTó	ñØØØØØô -Ø�t¨;Àdô€Gð ‚~ÜÐBÓCÐCØ‚~ÜÐAÓBÐBØ˜y°6ÐBÐBr*   c                óÊ   € V ^8„  d   QhR\         R\         R,          R\         R,          R\         R\         R\        R\        R	\        \         \         \         \         3,          /# r  r  )r5   s   "r+   r6   r6   f	  r'  r*   c                 óX   € \        V VVVVR VVR 4	      w  rxp	 p
\        WW#WFR R7      pWxW›3# )Fr)  r*  r+  s   &&&&&&&     r+   Ú_batch_norm_no_updater5  e	  sU   € ô *BØØØØØØØØØó
*Ñ&€F�y ! Qô -Ø�t¨;Àeô€Gð ˜iÐ0Ð0r*   c                 óÐ  € Ve   \        RV 24      h\        P                  ! V \        P                  P                  R7      w  r4V P                  V4      p\        P                  ! V4      V8  P                  \        P                  R7      p\        P                  ! RW0P                  R7      V,          pVP                  V4      V,          V,          pVP                  V4      V3# )Nz=generator must be None for _fused_dropout decomposition, got rî  r  r{   r  )rj  r2   rL   r3   rñ  r>   rG   rå  r"  Úscalar_tensorrá  )	rã   r˜  Ú	generatorr@   rD   rñ  rí  rƒ   rç  s	   &&&      r+   Ú_fused_dropout_decompositionr9  €	  sÈ   € ð ÒÜØKÈIÈ;ÐWó
ð 	
ô ',×&>Ò&>Ø¤5×#HÑ#H×#PÑ#Pô'Ñ#Ðð —‘Ð*Ó+€IÜ�OŠO˜IÓ&¨Ñ*×.Ñ.´U·[±[Ð.ÓA€DÜ×Ò Ð+<Ç\Á\ÔRÐUVÕV€EØ
�'‰'Ð#Ó
$ yÕ
0°5Õ
8€CØ�F‰F�<Ó  $Ð'Ð'r*   r  r  rá  Ú
pin_memoryÚnon_blockingr   c                óÜ   € V ^8„  d   QhR\         \        ,          R\        P                  R,          R\        P                  R,          R\
        R\
        R\        P                  R,          /# )r-   r?   r  Nrá  r:  r;  r   )r   r   rG   r  rá  r4   r   )r5   s   "r+   r6   r6   “	  sp   € ÷ Añ AÜ”
ÕðAô �;‰;˜ÕðAô
 �L‰L˜4ÕðAô ðAô ðAô ×&Ñ&¨Õ-ñAr*   c                ó  € V'       d$   V\         P                  8w  d   \        R V 24      hV'       d   \        R4      h\        V \         P                  \
        \        \        \        34      '       g"   \        R\        V 4      P                   24      hVf;   Vf7   Vf3   \        V \         P                  4      '       d   V P                  4       # V # Rp\        V \         P                  4      '       d   T pM\         P                  ! V 4      pVe©   W8P                  8w  d™   Veu   Rp	VP                  R8X  d   Rp	M5VP                  \         P                  8X  d   ^ RIHp
 V
! V4      '       g   Rp	V	'       d"   \         P$                  P'                  W�4      pRp\         P$                  P)                  WƒV4      pVe*   V'       g"   \         P$                  P'                  W�4      pRpVe   \         P                  ! W†R7      # V# )z*layout must be None or torch.strided, got z:pin_memory=True is not supported in _to_copy decompositionz x must be Tensor or scalar, got Fr\  T)Údevice_supports_fp64rŸ  )rG   Ústridedrj  r=   r   r\   rx   r4   Úcomplexr`  r"   rä  r7  rá  r  r,  Útorch._inductor.utilsr>  Ú_primsÚconvert_element_typeÚ
device_put)r?   r  r  rá  r:  r;  r   Údtype_convertedÚx_tensorÚconvert_before_transferr>  s   &$$$$$$    r+   Ú_to_copyrH  ‘	  s”  € ÷ �&œEŸM™MÔ)ÜÐIÈ&ÈÐRÓSÐSßÜØHó
ð 	
ô �aœ%Ÿ,™,¬¬U´D¼'ÐB×CÒCÜÐ?ÄÀQÃ×@PÑ@PÐ?QÐRÓSÐSØ‚~˜%š-¨MÒ,AÜ�aœŸ™×&Ò&Ø—7‘7“9ÐàˆHØ€Oä�!”U—\‘\×"Ò"Ø‰ä×&Ò& qÓ)ˆàÒ˜f¯©Ô7ð ÒØ&+Ð#Ø�{‰{˜eÔ#ð +/Ñ'Ø—‘¤5§=¡=Ô0õ
 Gá+¨F×3Ò3Ø.2Ð+ç&Ü Ÿ<™<×<Ñ<¸XÓM�Ø"&�Ü—<‘<×*Ñ*¨8¸\ÓJˆàÒ§Ü—<‘<×4Ñ4°XÓEˆØˆàÒ Ü�{Š{˜8ÔAÐAØ€Or*   c                 ó,   € \         P                  V 4      # r;   )rœ   Úalias)r?   s   &r+   Únop_decompositionrK  Ú	  s   € ô �:‰:�a‹=Ðr*   r§  Úout3c                ó¢   € V ^8„  d   QhR\         R\         R\         R,          R\         R,          R\         R,          R\        R\        R	\        /# )
r-   rã   rô   r²  Nrå  ræ  r  Úexponential_average_factorÚepsilon)r   r4   rx   )r5   s   "r+   r6   r6   å	  sd   € ÷ ñ Üðäðô �4�-ðô ˜4•-ð	ô
 ˜$•ðô ðô !&ðô ñr*   c           
      ó  € \         P                  V VVVVVVV4      w  r‰p
V'       d$   W‰W P                  R\        P                  R7      3# VVP                  R4      VP                  R4      V P                  R\        P                  R7      3# )r   r  r‰   )rœ   r  r·  rG   r"  )rã   rô   r²  rå  ræ  r  rN  rO  r´  rµ  rL  s   &&&&&&&&   r+   Úcudnn_batch_normrQ  â	  sŽ   € ô ×$Ñ$ØØØØØØØ"Øó	�G€Aˆ!÷ Ø�aŸ™¨´U·[±[˜ÓAÐBÐBà	Ø×Ñ˜ÓØ×Ñ˜ÓØ�‰˜¤E§K¡KˆÓ0ð	ð r*   c                 ó¶   € \        V4       FI  w  r#V^8X  g   K  W P                  8  d   V P                  V,          V8X  d   K8  V P                  V4      p KK  	  V # rl   )r­  rÇ  rS  rb   )r?   Úbroadcast_maskrÁ  rí  s   &&  r+   Ú_broadcast_batch_norm_backwardrT  
  sF   € Ü Ö/‰
ˆØ�1Ž9˜d§V¡Vœm°·±¸µÀÖ0EØ—‘˜DÓ!ŠAñ 0ð €Hr*   c                óL  € V ^8„  d   QhR\         R\         R\         R,          R\         R,          R\         R,          R\         R,          R\         R,          R	\        R
\        R\        \        ,          R\         R\        \         \         R,          \         R,          3,          /# )r-   r°  rã   rô   Nrå  ræ  ró  rú  rÜ  rÔ  r�  r,  rZ   ©r   r4   rx   rµ  rù   )r5   s   "r+   r6   r6   
  s¬   € ÷ ñ Üðäðô �T�Mðô ˜4•-ð	ô
 ˜$•ðô ˜�}ðô ˜$•ðô ðô 
ðô ”d•ðô ðô Œ6”6˜D•=¤&¨4¥-Ð/Õ0ñr*   c                 ó*   € \        V VVVVVVVVV	4
      # r;   )Únative_batch_norm_backward)r°  rã   rô   rå  ræ  ró  rú  rÜ  rÔ  r�  r,  s   &&&&&&&&&&&r+   Úbatch_norm_backwardrY  
  s/   € ô &ØØØØØØØØØØóð r*   c                ó@  € V ^8„  d   QhR\         R\         R\         R,          R\         R,          R\         R,          R\         R,          R\         R,          R	\        R
\        R\        \        ,          R\        \         \         R,          \         R,          3,          /# )r-   r°  rã   rô   Nrå  ræ  ró  rú  rÜ  rÔ  r�  rZ   rV  )r5   s   "r+   r6   r6   (
  s¯   € ÷ iñ iÜðiäðiô �T�Mðiô ˜4•-ð	iô
 ˜$•ðiô ˜�}ðiô ˜$•ðiô ðiô 
ðiô ”d•ðiô Œ6”6˜D•=¤&¨4¥-Ð/Õ0ñir*   c
                 ó(  a&€ VP                   p
Ve   VP                   pMT
p\        P                  ! VP                   4      o&V&3R lV VVVVVV3 4       w  pppppppVP                  pVP	                  4       pV^8  d   \        RV 24      h^p\        \        V4      4      VV,          ,          pTpTpV'       d   Ve   Vf   \        R4      hM2Ve   Vf   \        R4      hTp\        P                  ! VV,           4      p^.V,          pVV,          VV&   . p\        V4       F  pVV8w  g   K  VP                  V4       K  	  \        VV4      pRV,          p\        P                  ! VV4      p\        P                  ! WÍV,
          ,          V4      p\        VV,          V4      p\        \        P                  ! VV,          VV,          4      V4      p Vf   \        VV4      R,          p!M\        VV,          V4      p!V'       d)   VV,
          V ,          p"VV",
          V,
          V!,          p#M	VV!,          p#V	^,          '       d   VV,          p$MR p$V	^,          '       d   Tp%MR p%V#P                  V
4      \!        V$V4      \!        V%V4      3# )Nc              3   óR   <"  € T F  pVe   VP                  S4      MTx € K  	  R # 5ir;   r­  r·  s   & €r+   r(  Ú-native_batch_norm_backward.<locals>.<genexpr>B
  s/   øé € ð 	ñ
ˆAð $%¢=ˆ�‰ÐÔ°aÔ7ó
ùs   ƒ$'z*rank of the input must be at least 2, got z1mean and invstd must not be None in training modezDrunning_mean_cast and running_var_cast must not be None in eval moder{   )r  r2   rº  rS  rY   rj  rˆ  rµ  rG   rÑ  ra   r  rT  r$  r  r>   r®  )'r°  rã   rô   rå  ræ  ró  rú  rÜ  rÔ  r�  rü  Úweight_dtyper½  r¾  r¿  Úrunning_mean_castÚrunning_var_castÚsave_mean_castÚsave_invstd_castr»  Ú
input_rankrÁ  Únum_featuresr#  rø  rS  Úreduction_axesr  r4  Úgrad_output_sumÚdot_pÚ	grad_meanÚ
proj_scaleÚ
grad_scaleÚprojre   r  Ú	grad_biasr@   s'   &&&&&&&&&&                            @r+   rX  rX  '
  s’  ø€ ð —+‘+€KØÒØ—|‘|‰à"ˆÜ×3Ò3°E·K±KÓ@Ðô	ð ØØØØØØñ
ó	ñØØØØØØØð —+‘+€KØ—‘“€JØ�A„~ÜÐIÈ*ÈÐVÓWÐWà€DÜœ˜[Ó)Ó*¨[¸Õ->Õ>€LØ€DØ€FßØŠ<˜6š>Ü Ð!TÓUÐUð *ð Ò$Ð(8Ò(@Ü ØVóð ð !ˆÜ—’Ð-°Õ3Ó4ˆà!"  jÕ 0€NØ& tÕ,€N�4Ñà "€NÜ�:ÖˆØ�Ž9Ø×!Ñ! !Ö$ñ ô *¨$°Ó?€DØ�Õ€DÜ—i’i ¨~Ó>€OÜ�IŠI�m°DÕ'8Õ9¸>ÓJ€Eä.¨ÀÕ/EÀ~ÓV€IÜ/Ü�	Š	�%˜$•, ¨¥Ó0Øó€Jð
 ÒÜ3°F¸NÓKÈcÕQ‰
ä3Ø�[Õ  .ó
ˆ
÷ Ø˜TÕ! ZÕ/ˆØ$ tÕ+¨yÕ8¸JÕF‰
à" ZÕ/ˆ
à�1‡~„~Ø˜f•n‰àˆà�1‡~„~Ø#‰	àˆ	ð 	�‰�kÓ"Ü�K Ó.Ü�I˜|Ó,ðð r*   c                 ó   € V ^8„  d   QhR\         R\         R\         R,          R\         R,          R\         R,          R\         R,          R\         R,          R	\        R
\        R\        \        ,          R\        P                   R\        P                   R\        P                   R\
        \         \         R,          \         R,          3,          /# )r-   r°  rã   rô   Nrå  ræ  ró  rú  rÜ  rÔ  r�  rà  rá  r§  rZ   )r   r4   rx   rµ  rG   rù   )r5   s   "r+   r6   r6   –
  sÌ   € ÷ "ñ "Üð"äð"ô �T�Mð"ô ˜4•-ð	"ô
 ˜$•ð"ô ˜�}ð"ô ˜$•ð"ô ð"ô 
ð"ô ”d•ð"ô �,‰,ð"ô �,‰,ð"ô �,‰,ð"ô Œ6”6˜D•=¤&¨4¥-Ð/Õ0ñ"r*   c
                óÌ   € \        V VVVVVVVVV	4
      pW«V3p\        V4       F<  w  ppVf   K  \        Wï,          VP                  4       \	        VWï,          RR7       K>  	  V# r©  )rX  r­  r   rS  r   )r°  rã   rô   rå  ræ  ró  rú  rÜ  rÔ  r�  rà  rá  r§  rT  re   r  rQ   s   &&&&&&&&&&$$$    r+   Únative_batch_norm_backward_outro  •
  sv   € ô" (ØØØØØØØØØØó€Fð ˜dÐ#€JÜ˜&Ö!‰ˆˆ1ØŒ=Ü˜j�m¨Q¯W©WÔ5Ü Q°
µÈ4×Pñ "ð
 Ðr*   c                ó°   € V ^8„  d   QhR\         R\         R\         R\         R,          R\         R,          R\         R,          R\         R,          R	\        /# )
r-   rã   r�   rô   rå  Nræ  ró  Úsave_varrO  rw   )r5   s   "r+   r6   r6   ½
  sh   € ÷ ñ Üðäðô ðô ˜4•-ð	ô
 ˜$•ðô ˜�}ðô �t�mðô ñr*   c                 óB   € \         P                  VV VVVVVR V. RO4
      # ©T)TTT©rœ   rX  )rã   r�   rô   rå  ræ  ró  rq  rO  s   &&&&&&&&r+   Úmiopen_batch_norm_backwardru  »
  s5   € ô ×*Ñ*ØØØØØØØØØÚóð r*   c                ó¼   € V ^8„  d   QhR\         R\         R\         R\         R,          R\         R,          R\         R,          R\         R,          R	\        R
\         /	# )r-   rã   r�   rô   rå  Nræ  ró  rq  rO  ÚreserveSpacerw   )r5   s   "r+   r6   r6   ×
  sr   € ÷ ñ Üðäðô ðô ˜4•-ð	ô
 ˜$•ðô ˜�}ðô �t�mðô ðô ñr*   c	                 óB   € \         P                  VV VVVVVR V. RO4
      # rs  rt  )	rã   r�   rô   rå  ræ  ró  rq  rO  rw  s	   &&&&&&&&&r+   Úcudnn_batch_norm_backwardry  Õ
  s5   € ô ×*Ñ*ØØØØØØØØØÚóð r*   c                óR   € V ^8„  d   QhR\         R\        \        \        3,          /# )r-   rã   rR  ©r   rù   r\   )r5   s   "r+   r6   r6   ó
  s&   € ÷ d'ñ d'œvð d'´E¼#¼s¸(µOñ d'r*   c                 ó  aaaaa€ V P                   oV P                  o\        S4      o\        P                  ! SR9   V3R l4       V P                  RR  F!  p\        P                  ! V^ 8g  V3R l4       K#  	  SR,          VR,          ,          ^ 8X  dÓ   SR,          VR,          ,          ^ 8X  d·   \
        ;QJ d!    . R \        SRR V4       4       F  NK  	  5M! R \        SRR V4       4       4      p\
        ;QJ d!    . R \        SRR W4       4       F  NK  	  5M! R \        SRR W4       4       4      p\        P                  P                  P                  WV4      # R oR oVVV3R lpV! SR,          VR,          4      w  rgr‰V! SR,          VR,          4      w  r«rÍV R	\        V^4      V
3,          pV	'       g!   V'       g   \        P                  ! VRR
7      # R pV! WçW‰RR7      w  rçV! WëWÍRR7      w  rëRp\        \        VP                  R,          4      \        VP                  R,          4      4       F-  w  ppVf   VR	VRV3,          pK  VVR	VRV3,          ,           pK/  	  VW{,          ,          # )r£   c                  ó   <€ R S  2# )z9adaptive_avg_pool2d(): Expected 3D or 4D tensor, but got r!   r(  s   €r+   r™   Ú%adaptive_avg_pool2d.<locals>.<lambda>ú
  s   ø€ ÐKÈDÈ6ÑRr*   Nc                  ó"   <€ R \        S 4       R2# )zjadaptive_avg_pool2d(): Expected input to have non-zero size for non-batch dimensions, but input has shape r�  rC  rÛ  s   €r+   r™   r~  ÿ
  s   ø€ ð 9Ü9>¸u»¸ÀañIr*   c              3   ó6   "  € T F  w  rW,          x € K  	  R # 5ir;   r!   )r'  r  r�  s   &  r+   r(  Ú&adaptive_avg_pool2d.<locals>.<genexpr>  s   é € ÐGÑ*F¡$ !�q—v’vÓ*Fùó   ‚c              3   óT   "  € T F  w  rq1V^,
          V,          ,
          x € K   	  R# 5irF  r!   )r'  r  r�  rG  s   &   r+   r(  r�    s$   é € ð 
Ù+O¡  a��Q•˜!•�OŠOÓ+Oùs   ‚&(c                 ó@   € \         P                  ! W,          VR R7      # )Útrunc©Úrounding_mode©rG   Údiv©r´  rµ  rL  s   &&&r+   Ústart_indexÚ(adaptive_avg_pool2d.<locals>.start_index  s   € Ü�yŠy˜� °Ô9Ð9r*   c                 ól   € \         P                  ! V ^,           V,          V,           ^,
          VRR7      # )r_   r…  r†  rˆ  rŠ  s   &&&r+   Ú	end_indexÚ&adaptive_avg_pool2d.<locals>.end_index  s&   € Ü�yŠy˜!˜a�% 1� q�¨1Õ,¨a¸wÔGÐGr*   c                 ób  <€ \         P                  ! VS\         P                  R 7      pS! W!V 4      pW,          ^,           pW,          pV^ 8H  ;'       g    W,          ^ 8H  '       * pV'       d   V^,          pMV^ 8X  d
   V^,          p\         P                  ! VS\         P                  R 7      pVP                  R4      V,           pV'       d]   \         P                  ! V ^,
          VP
                  VP                  R7      p	\         P                  ! W‰4      pS! W!V 4      p
W£,
          pMTpW‹Wv3# )râ  r  r`   )rG   rå  r  rb   r7  r  rá  Úminimum)Úin_sizeÚout_sizeÚorangeÚi0Ú	maxlengthÚin_size_modÚadaptiveÚ	range_maxrì  ÚmaxvalÚi1Úlengthrá  rŽ  r‹  s   &&          €€€r+   Úcompute_idxÚ(adaptive_avg_pool2d.<locals>.compute_idx  sü   ø€ Ü—’˜h¨v¼U¿[¹[ÔIˆÙ˜¨7Ó3ˆð Õ'¨!Õ+ˆ	ØÕ(ˆà# qÑ(×GÐG¨HÕ,BÀaÑ,GÔHˆßØ˜�N‰IØ˜AÔØ˜�NˆIä—L’L °6ÄÇÁÔMˆ	Ø�l‰l˜2Ó Õ*ˆßô ×(Ò(Ø˜!• 3§9¡9°S·Z±ZôˆFô —-’- Ó,ˆCñ ˜6¨WÓ5ˆBØ•W‰FàˆFØ˜IÐ/Ð/r*   .r—   c                 óö   € \        V\        4      '       d   W3# V^ 8¼  d   \        RV 24      hW!P                  R4      8¬  pVR8X  d   \	        V^4      p\
        P                  ! WR4      p \	        W) 4      pW3# )r   z)dim should be negative when masking, got r®   r`   r¡  )r=   r   rj  rb   rd   rG   Úmasked_fill)Úvalsrœ  r™  r˜  rY   rí  s   &&&&& r+   Ú
maybe_maskÚ'adaptive_avg_pool2d.<locals>.maybe_mask9  s�   € Ü�fœg×&Ò&Ø�<Ðð �aŒxÜ$Ð'PÐQTÐPUÐ%VÓWÐWà× 0Ñ 0°Ó 4Ñ4ˆDØ�bŒyÜ(¨¨qÓ1�Ü×$Ò$ T°Ó5ˆDä& v¨tÓ4ˆFØ�<Ðr*   )r˜  rY   rS  rU  r¡  r`   r¾   )r¾   r`   )rá  rS  rÌ  rG   r›   rù   rV  Únnrè  Ú
avg_pool2drd   r#  r
   ra   )rã   rR  r?  rÀ  Úkernelr�  ÚidxhÚlength_hÚrange_max_hÚ
adaptive_hÚidxwÚlength_wÚrange_max_wÚ
adaptive_wr¡  r¢  Úretr  Újrá  rŽ  rÇ  rS  r‹  s   &&                 @@@@@r+   Úadaptive_avg_pool2dr±  ð
  sF  ü€ ð
 �\‰\€FØ�K‰K€EÜˆu‹:€DÜ	‡L‚LØ�‰ÜRôð �[‰[˜˜ÓˆÜ�ŠØ�‰FôIö	
ñ ð ˆR…y�;˜r•?Õ" aÔ'¨E°"­I¸ÀB½Õ,GÈ1Ô,Lß”ÑG¬#¨e°B°C¨j¸+Ô*FÓG—‘ÑG¬#¨e°B°C¨j¸+Ô*FÓGÓGˆß”ñ 
Ü+.¨u°R°S¨z¸;Ô+Oó
—‘ñ 
Ü+.¨u°R°S¨z¸;Ô+Oó
ó 
ˆô �x‰x×"Ñ"×-Ñ-¨e¸VÓDÐDò:òH÷0ñ@ /:¸%À½)À[ÐQSÅ_Ó.UÑ+€D�KÙ.9¸%À½)À[ÐQSÅ_Ó.UÑ+€D�Kà�Ô'¨¨aÓ0°$Ð6Õ7€DçŸjÜ�zŠz˜$ HÔ-Ð-ò ñ   Ø˜¸bô�N€Dñ  Ø˜¸bô�N€Dð
 €CÜœ˜dŸj™j¨�nÓ-¬u°T·Z±ZÀµ^Ó/DÖE‰ˆˆ1ØŠ;Ø�s˜A˜q !�|Õ$ŠCà˜˜S ! Q¨˜\Õ*Õ*ŠCñ	 Fð
 �(Õ%Õ&Ð&r*   c                óò   € V ^8„  d   QhR\         R\        \        ,          R\        \        ,          R\        \        ,          R\        \        ,          R\        R\        R\        \         \         3,          /# )	r-   r‘   r  rÀ  r  r  Ú	ceil_modeÚn_dimrZ   r³  )r5   s   "r+   r6   r6   Z  s{   € ÷ C ñ C Ü
ðC ä”c•ðC ô ”�IðC ô ”#�Yð	C ô
 ”3�iðC ô ðC ô ðC ô Œ6”6ˆ>ÕñC r*   c                 ó  a a€ RR V3R lllpV! V4      pV! W(R7      p	V! V4      p
V! V4      p\         P                  ! S P                  S^,           S^,           39   VV 3R l4       S P                  S^,           8H  pV'       g   S P                  ^ 4      o \	        S P
                  S) R  4      pS P                  p\        S4       Uu. uFE  p\         P                  P                  Wß,          W�,          W¯,          WŸ,          W¿,          V4      NKG  	  ppS P                  pRpV\         P                  J d   RpMÙVP                  '       d   \        R4      pM»\         P                  ! V4      pVP                  ^ 8  d!   S P!                  \         P"                  4      o M0VP                  ^@8  d    S P!                  \         P$                  4      o VP                  ^@8  d   \        VP&                  ^,
          4      M\        VP&                  4      pRp. p\)        \        S4      4       F�  pW¯,          pVV,          ^,
          WŸ,          ,          W�,          ^,
          W¿,          ,          ,           ^,           p\+        ^ VWß,          ^W¯,          ,          ,           ,
          4      W¯,          ,           pVP-                  VV.4       KŸ  	  \.        P0                  ! S VVR	7      p. p\        S4       Fø  p\         P2                  ! VV,          V\         P$                  R
7      P                  ^4      WŸ,          ,          \         P2                  ! W�,          V\         P$                  R
7      P                  ^ 4      W¿,          ,          ,           p^.^S,          ,          pVV,          V^V,          &   W�,          V^V,          ^,           &   VP5                  VP7                  V4      4       Kú  	  V\8        .VO5,          p^p\	        \        V4      4      pT\        S4       Uu. uF  pV^V,          ,           NK  	  up,          pT\        S4       Uu. uF  pV^V,          ,           ^,           NK  	  up,          pVP;                  V4      p\	        VP
                  R VS,            4      p VP6                  ! . V ORN5!  pVP+                  RR7      w  p!p". p#T"p$\        S4       FP  p^p%\        V^,           S4       F  p&V%VV&,          ,          p%K  	  V#P5                  V$V%,          4       V$V%,          p$KR  	  . p'\        S4       Fª  p^.VS,           ,          pVV,          VVV,           &   \         P2                  ! VV,          V\         P$                  R
7      P7                  V4      p(V'P5                  V(WŸ,          ,          V#V,          W¿,          ,          ,           W¯,          ,
          4       K¬  	  V'^ ,          p)\        ^S4       F   pV)Wß,          ,          V'V,          ,           p)K"  	  V'       d   V!P!                  V4      p!V'       g#   V!P=                  ^ 4      p!V)P=                  ^ 4      p)V!V)3# u upi u upi u upi )Nc                ó¢   € V ^8„  d   QhR\         \        ,          \        ,          R\         \        ,          R,          R\         \        ,          /# )r-   rÖ  r×  NrZ   r  )r5   s   "r+   r6   Ú/_max_pool_nd_with_indices.<locals>.__annotate__c  s7   € ÷ ;ñ ;”Tœ#•Y¤•_ð ;¬t´C­y¸4Õ/?ð ;Ì4ÔPSÍ9ñ ;r*   c                 óà   <€ \        V \        \        34      '       g   V .S,          # V '       g   \        P                  ! VR JR 4       V# \        V 4      ^8X  d
   V S,          # \        V 4      # )Nc                  ó   € R # )zdefault must be providedr!   r!   r*   r+   r™   Ú<_max_pool_nd_with_indices.<locals>._expand.<locals>.<lambda>g  s   € Ñ6Pr*   )r=   rµ  rù   rG   r›   rÌ  )rÖ  r×  r´  s   &&€r+   Ú_expandÚ*_max_pool_nd_with_indices.<locals>._expandc  sY   ø€ Ü˜#¤¤e˜}×-Ò-Ø�5˜5•=Ð ßÜ�LŠL˜¨Ð,Ñ.PÔQØˆNÜ! #›h¨!œmˆs�U�{Ð:´°c³Ð:r*   )r×  c                  óL   <€ R S ^,            RS ^,            RSP                    R2# )z	Expected úD or zD input, got rz  r(  )r´  r‘   s   €€r+   r™   Ú+_max_pool_nd_with_indices.<locals>.<lambda>r  s&   ø€ �)˜E A�I˜; e¨E°A­I¨;°mÀDÇIÁIÀ;ÈaÑPr*   Fr®   r7  Tr˜   râ  r—   r;   r`   )rG   r›   rÇ  rb   rµ  rS  rá  ra   Ú_meta_registrationsÚpooling_output_shaper  r4   rä  rx   ÚiinfoÚbitsr>   r   r  r¥   rÊ  r§   Úextendrå   rG  rå  r  rc  ÚEllipsisrW  rX  )*r‘   r  rÀ  r  r  r³  r´  r»  ÚksrJ  ÚpaÚdiÚ
is_batchedr°  rá  r?  Úoutput_sizesr  ÚpromotedÚ
fill_valueÚinfoÚpad_argsrØ   ÚneededrÙ   r?   Úidx_tensorsrì  rS  ÚwindowsÚn_batchÚpermÚ	out_shapeÚvaluesÚlocal_argmaxÚ
kernel_posÚ	remainingÚdivisorÚddÚorig_coordsÚout_posÚflat_indicess*   f&&&&&f                                   r+   Ú_max_pool_nd_with_indicesrÞ  Z  s7  ù€ ÷;ò ;ñ 
�Ó	€BÙ	�Ô	$€BÙ	�Ó	€BÙ	�Ó	€Bä	‡L‚LØ�	‰	�e˜a•i ¨¥Ð+Ñ+ÝPôð
 —‘˜e a�iÑ'€JßØ�~‰~˜aÓ ˆä�t—z‘z 5 & 'Ð*Ó+€KØ�[‰[€Fô �u”ó	ñ ˆAô 	×!Ñ!×6Ñ6Ø�N˜B�E 2¥5¨"­%°µ¸	ö	
ñ ð	 ð ð �J‰J€EØ€HØ”—
‘
ÓØ‰
Ø	×	 ×	 Ð	 Ü˜6“]‰
ä�{Š{˜5Ó!ˆØ�9‰9�rŒ>Ø—7‘7œ5Ÿ;™;Ó'‰DØ�Y‰Y˜Œ^Ø—7‘7œ5Ÿ;™;Ó'ˆDØ,0¯I©I¸¬N”U˜4Ÿ8™8 a�<Ô(ÄÀdÇhÁhÃˆ
Øˆð €HÜ”e˜E“lÖ#ˆØ�uˆØ˜q•/ AÕ%¨­Õ.°"µ%¸!µ)¸r½uÕ1DÕDÀqÕHˆÜ�A�v ¥°!°bµeµ)Õ!;Õ<Ó=ÀÅÕEˆØ�‰˜˜u˜Ö&ñ	 $ô
 	
�Šˆd�H JÔ/€Að
 €KÜ�5Ž\ˆä�LŠL˜ a�°¼u¿{¹{ÔK×UÑUÐVWÓXØ�eõä�lŠl˜2�5¨´u·{±{ÔC×MÑMÈaÓPÐSUÕSXÕXõYð 	ð
 ��q˜5•yÕ!ˆØ# A•ˆˆa�!�e‰Ø�5ˆˆa�!�e�a�iÑØ×Ñ˜3Ÿ;™; uÓ-Ö.ñ ð ”Ð(˜KÑ(Õ)€Gð €GÜ”�g“Ó€DØ¤e¨E¤lÓ3¡l ˆW�q˜1•u�_ˆ_¡lÑ3Õ3€DØ¬%°¬,Ó7©, QˆW�q˜1•u�_˜q× Ð ©,Ñ7Õ7€DØ�o‰o˜dÓ#€Gô �W—]‘]Ð#4 W¨u¥_Ð5Ó6€IØ�oŠoÐ-˜yÐ-¨"Ó-€GØ"Ÿ;™;¨2˜;Ó.Ñ€FˆLð €JØ€IÜ�5Ž\ˆØˆÜ˜˜A�˜uÖ%ˆBØ�r˜"•vÕŠGñ &à×Ñ˜) wÕ.Ô/Ø Õ'Š	ñ ð €KÜ�5Ž\ˆØ��w •Õ'ˆØ)¨!�_ˆˆg˜�kÑÜ—,’,Ø˜�O F´%·+±+ô
ç
‰'�%‹.ð 	ð 	×Ñ˜7 R¥U�?¨Z¸­]¸R½UÕ-BÕBÀRÅUÕJÖKñ ð ˜q•>€LÜ�1�eŽ_ˆØ# k¥nÕ4°{À1µ~ÕEŠñ ÷ Ø—‘˜5Ó!ˆçØ—‘ Ó"ˆØ#×+Ñ+¨AÓ.ˆà�<ÐÐùòCùòr 4ùÚ7s   Ã	AY3Ð"Y8Ñ Y=rë  c                óæ   € V ^8„  d   QhR\         R\        \        ,          R\        \        ,          R\        \        ,          R\        \        ,          R\        R\        \         \         3,          /# ©r-   r‘   r  rÀ  r  r  r³  rZ   r³  )r5   s   "r+   r6   r6   â  óg   € ÷ 
ñ 
Ü
ð
ä”c•ð
ô ”�Ið
ô ”#�Yð	
ô
 ”3�ið
ô ð
ô Œ6”6ˆ>Õñ
r*   c           
      ó    € \        WW#WE^R7      # )r-   ©r´  ©rÞ  ©r‘   r  rÀ  r  r  r³  s   &&&&&&r+   Úmax_pool2d_with_indicesræ  à  ó   € ô %Ø˜6¨HÀqôð r*   c                óæ   € V ^8„  d   QhR\         R\        \        ,          R\        \        ,          R\        \        ,          R\        \        ,          R\        R\        \         \         3,          /# rà  r³  )r5   s   "r+   r6   r6   ñ  rá  r*   c           
      ó    € \        WW#WE^R7      # )r£   rã  rä  rå  s   &&&&&&r+   Úmax_pool3d_with_indicesrê  ï  rç  r*   c                ó€   € V ^8„  d   QhR\         R\        \        \        3,          R\        \         \         3,          /# ©r-   rã   rR  rZ   r{  )r5   s   "r+   r6   r6      s7   € ÷ ,ñ ,Üð,ä”sœC�x•ð,ô Œ6”6ˆ>Õñ,r*   c                 ó\  a a
a€ S P                   o\        P                  ! SR9   V3R l4       \        ^S4       F1  o
\        P                  ! S P	                  S
4      ^ 8„  V
V 3R l4       K3  	  S P
                  R	,          pS P
                  R
,          pVw  rEV^ 8X  g   V^ 8X  dS   \        S P
                  RR	 4      WE.,           pS P                  V4      S P                  V\        P                  R7      3# V^8X  di   V^8X  db   \        P                  ! S RRR7      p\        P                  ! S P                  R	4      R
R7      P                  R
4      P                  R
4      pWx3# W$,          ^ 8X  d4   W5,          ^ 8X  d'   W$,          W5,          .p	\        P                  S V	4      # \        # )r£   c                  ó   <€ R S  R2# )z9adaptive_max_pool2d(): Expected 3D or 4D tensor, but got rz  r!   r(  s   €r+   r™   Ú%adaptive_max_pool2d.<locals>.<lambda>  ó   ø€ ÐKÈDÈ6ÐQRÑSr*   c                  ó*   <€ R SP                    RS  R2# )zjadaptive_max_pool2d(): Expected input to have non-zero size for non-batch dimensions, but input has sizes ú with dimension ú being emptyrÛ  ©r  rã   s   €€r+   r™   rï    ó    ø€ ð'Ø',§{¡{ mÐ3CÀAÀ3ÀlñTr*   Nr  Tr8  r—   rU  r¡  r`   )r¡  r`   )rÇ  rG   r›   ra   rl  rS  rµ  Ú	new_emptyr  rú  Úargmaxr¢  rb   rœ   ræ  ÚNotImplemented)rã   rR  Úh_inÚw_inÚh_outÚw_outÚoutput_shaperÕ  rë  r  r  rÇ  s   f&        @@r+   Úadaptive_max_pool2drþ  þ  sf  ú€ ð �:‰:€DÜ	‡L‚LØ�‰ÜSôô �1�dŽ^ˆÜ�ŠØ�J‰J�q‹M˜AÑõö	
ñ ð �;‰;�r�?€DØ�;‰;�r�?€DØ�L€Eð �„z�U˜a”ZÜ˜EŸK™K¨¨Ð,Ó-°°Õ>ˆà�O‰O˜LÓ)Ø�O‰O˜L´·±ˆOÓ<ð
ð 	
ð �„z�e˜q”jÜ—’˜E x¸Ô>ˆÜ—,’,˜uŸ}™}¨RÓ0°bÔ9×CÑCÀBÓG×QÑQÐRTÓUˆØˆÐð …|�qÔ˜T�\¨QÔ.Ø•} d¥mÐ4ˆÜ×+Ñ+¨E°;Ó?Ð?ô Ðr*   c                óŠ   € V ^8„  d   QhR\         R\        \        \        \        3,          R\        \         \         3,          /# rì  r{  )r5   s   "r+   r6   r6   1  s:   € ÷ 3ñ 3Üð3ä”sœC¤�}Õ%ð3ô Œ6”6ˆ>Õñ3r*   c                 óè  a aa€ S P                   o\        P                  ! SR9   V3R l4       \        ^S4       F1  o\        P                  ! S P	                  S4      ^ 8„  VV 3R l4       K3  	  S P
                  R	,          pS P
                  R
,          pS P
                  R,          pVw  rVpV^ 8X  g   V^ 8X  g   V^ 8X  dT   \        S P
                  RR	 4      WVV.,           pS P                  V4      S P                  V\        P                  R7      3# V^8X  d   V^8X  dx   V^8X  dq   \        P                  ! S RRR7      p	\        P                  ! S P                  R	4      RR7      P                  R4      P                  R4      P                  R4      p
Wš3# W%,          ^ 8X  dH   W6,          ^ 8X  d;   WG,          ^ 8X  d.   W%,          W6,          WG,          .p\        P                  S V4      # \        # )r„  c                  ó   <€ R S  R2# )z9adaptive_max_pool3d(): Expected 4D or 5D tensor, but got rz  r!   r(  s   €r+   r™   Ú%adaptive_max_pool3d.<locals>.<lambda>8  rð  r*   c                  ó*   <€ R SP                    RS  R2# )zjadaptive_max_pool3d(): Expected input to have non-zero size for non-batch dimensions, but input has sizes rò  ró  rÛ  rô  s   €€r+   r™   r  =  rõ  r*   Nr  Tr8  r—   ©r„  é   r¾   r¡  r`   )r¾   r¡  r`   )rÇ  rG   r›   ra   rl  rS  rµ  rö  r  rú  r÷  r¢  rb   rœ   rê  rø  )rã   rR  Úd_inrù  rú  Úd_outrû  rü  rý  rÕ  rë  r  r  rÇ  s   f&          @@r+   Úadaptive_max_pool3dr  /  s›  ú€ ð �:‰:€DÜ	‡L‚LØ�‰ÜSôô �1�dŽ^ˆÜ�ŠØ�J‰J�q‹M˜AÑõö	
ñ ð �;‰;�r�?€DØ�;‰;�r�?€DØ�;‰;�r�?€DØ%Ñ€E�%ð �„z�U˜a”Z 5¨A¤:Ü˜EŸK™K¨¨Ð,Ó-°¸uÐ0EÕEˆà�O‰O˜LÓ)Ø�O‰O˜L´·±ˆOÓ<ð
ð 	
ð �„z�e˜q”j U¨a¤ZÜ—’˜E |¸TÔBˆä�LŠL˜Ÿ™ rÓ*°Ô3ß‰Y�r‹]ß‰Y�r‹]ß‰Y�r‹]ð	 	ð ˆÐð …|�qÔ˜T�\¨QÔ.°4µ<À1Ô3DØ•} d¥m°Tµ]ÐCˆÜ×+Ñ+¨E°;Ó?Ð?ô Ðr*   c                ó^   € V ^8„  d   QhR\         R\         R\        \        ,          R\        /# )r-   r‘   rë  rR  rY   ©r   rµ  r\   )r5   s   "r+   r6   r6   g  s0   € ÷ 8ñ 8Ü
ð8Ü)ð8Ü8<¼S½	ð8ÜHKñ8r*   c                 óî  a a€ \         P                  ! R S R24       \        V4       F&  w  rE\        P                  ! V^ 8¬  WE3V3R ll4       K(  	  R VV 3R llp\        S P                  RS)  4      \        V4      ,           p\        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       d   V! S P                  V4      4      # \        \        P                  S P                  RS)  4      p\        \        P                  V4      p	^.S P                  ,          p
S P                  RS)  V
RS) % V\        P                  VS P                  R	7      P!                  V
4      V	,          ,           P#                  R4      pS P                  V4      p\        P%                  VP#                  R4      V.S P#                  R4      RR
7      P!                  VP                  4      pV! V4      # )Úmax_unpoolingÚd_forward_outc                 ó   <€ R S RV  RV 2# )r  zSd(): output_size must contain non-negative spatial dimensions, but got output_size[z]=r!   )r  rl  rY   s   &&€r+   r™   Ú_max_unpoolnd.<locals>.<lambda>t  s    ø€ Ø ˜uð %;Ø;<¸#¸RÀ¸vñGr*   c                ó0   € V ^8„  d   QhR\         R\         /# ©r-   ÚtrZ   )r   )r5   s   "r+   r6   Ú#_max_unpoolnd.<locals>.__annotate__~  s   € ÷ ñ ”Zð ¤Jñ r*   c                 ó˜   <€ S^8X  dB   SP                   P                  R9   d'   V P                  \        P                  ! S4      R7      # V # )r-   rŸ  )r\  Úxpu)rá  r`  r  r2   r   )r  rY   r‘   s   &€€r+   Ú	_restrideÚ _max_unpoolnd.<locals>._restride~  s<   ø€ Ø�!Œ8˜Ÿ™×(Ñ(¨NÔ:Ø—<‘<¬e×.IÒ.IÈ$Ó.O�<ÓPÐPØˆr*   Nc              3   ó*   "  € T F	  q^ 8H  x € K  	  R# 5ir%  r!   )r'  rG  s   & r+   r(  Ú _max_unpoolnd.<locals>.<genexpr>„  s   é € Ð
(™<�a�Ž6›<ùr+  TFrà  r†  r`   )r2   Úalert_not_deterministicr­  rG   r›   rµ  rS  Úanyr·  r   Úoperatorr  rÇ  rœ   rå  rá  rè  rc  r‰  r`  r  r   )r‘   rë  rR  rY   r  rl  r  rý  ÚncÚhwÚindices_nc_shapeÚindices_flatr  rT  s   f&&f          r+   Ú_max_unpoolndr!  g  s�  ù€ ô 
×!Ò! M°#°°mÐ"DÔEÜ˜[Ö)‰ˆÜ�ŠØ�A‰IØö ö	
ñ *÷ñ ô
 ˜Ÿ
™
 5 S DÐ)Ó*¬T°+Ó->Õ>€Lß
ƒsÑ
(™<Ó
(‡s‡s‚sÑ
(™<Ó
(×(Ò(ñ ˜Ÿ™¨Ó5Ó6Ð6Ü	”—‘˜dŸj™j¨¨3¨$Ð/Ó	0€BÜ	”—‘˜kÓ	*€BØ�s˜TŸY™Y•ÐØ"Ÿj™j¨¨3¨$Ð/Ð�U�s�dÐà”$—+‘+˜b¨¯©�+Ó5×:Ñ:Ð;KÓLÈrÕQÕQß�gˆbƒkð ð �^‰^˜LÓ)€FÜ×#Ñ#Ø�‰�rÓ˜\˜N¨D¯L©L¸Ó,<Èð $ó ç
�dˆ6�<‰<Óð ñ �VÓÐr*   c                óR   € V ^8„  d   QhR\         R\         R\        \        ,          /# )r-   r‘   rë  rR  r
  )r5   s   "r+   r6   r6   ¤  s*   € ÷ *8ñ *8Ü
ð*8äð*8ô ”c•ñ*8r*   c                 ó,  a aaa€ \         P                  ! SP                  \         P                  8H  V3R  l4       \         P                  ! \	        S4      ^8H  V3R l4       \         P                  ! S P
                  R9   V 3R l4       \         P                  ! S P                  SP                  8H  VV 3R l4       \        ^S P
                  4       F1  o\         P                  ! S P                  S4      ^ 8„  VV 3R l4       K3  	  \        S SS^4      # )c                  ó"   <€ R S P                    2# )z2elements in indices should be type int64 but got: r  )rë  s   €r+   r™   Úmax_unpool2d.<locals>.<lambda>«  s   ø€ ÐDÀWÇ]Á]ÀOÑTr*   c                  ó"   <€ R \        S 4       R2# )zMThere should be exactly two elements (height, width) in output_size, but got ú
 elements.©rÌ  ©rR  s   €r+   r™   r%  ¯  ó   ø€ ðÜ˜;Ó'Ð(¨
ñ4r*   c                  ó$   <€ R S P                    R2# )zLInput to max_unpooling2d should be a 3d or 4d Tensor, but got a tensor with ú dimensions.r(  rª   s   €r+   r™   r%  ·  s   ø€ ð%Ø%)§Y¡Y K¨|ñ=r*   c                  ó<   <€ R SP                    RS P                    2# ©zBExpected shape of indices to be same as that of the input tensor (z%) but got indices tensor with shape: rÛ  )rë  r‘   s   €€r+   r™   r%  ¾  s'   ø€ ØPÐQU×Q[ÑQ[ÐP\ð ]2Ø29·-±-°ñBr*   c                  ó*   <€ R SP                    RS  R2# )zZmax_unpooling2d(): Expected input to have non-zero size for non-batch dimensions, but got rò  ú being empty.rÛ  )r  r‘   s   €€r+   r™   r%  Ç  s    ø€ ðàŸ:™:˜,Ð&6°q°c¸ñHr*   rU  )
rG   r›   r  r  rÌ  rÇ  rS  ra   rl  r!  )r‘   rë  rR  r  s   fff@r+   Úmax_unpool2dr1  ¢  sÑ   û€ ô 
‡L‚LØ�‰œŸ™Ñ$ÜTôô 
‡L‚LÜˆKÓ˜AÑô	
ôô 
‡L‚LØ�	‰	�VÑô	
ôô 
‡L‚LØ�
‰
�g—m‘mÑ#õ	
ôô �1�d—i‘iÖ ˆÜ�ŠØ�I‰I�a‹L˜1Ñõö	
ñ !ô ˜˜w¨°QÓ7Ð7r*   c                ó–   € V ^8„  d   QhR\         R\         R\        \        ,          R\        \        ,          R\        \        ,          /# )r-   rã   rë  rR  rÀ  r  r
  )r5   s   "r+   r6   r6   Ó  sF   € ÷ 49ñ 49Üð49äð49ô ”c•ð49ô ”�Ið	49ô
 ”#�Yñ49r*   c                 ó`  a aaaaa€ \         P                  ! SP                  \         P                  8H  R  4       \         P                  ! S P                  R9   V 3R l4       \         P                  ! \        S4      ^8H  V3R l4       \         P                  ! \        S4      ^8H  V3R l4       \         P                  ! \        S4      ^8H  V3R l4       \         P                  ! S P                  SP                  8H  VV 3R l4       \        ^S P                  4       F1  o\         P                  ! S P                  S4      ^ 8„  VV 3R l4       K3  	  \         P                  ! S^ ,          ^ 8„  ;'       d!    S^,          ^ 8„  ;'       d    S^,          ^ 8„  V3R l4       \        S SS^4      # )	c                  ó   € R # )z(elements in indices should be type int64r!   r!   r*   r+   r™   Úmax_unpool3d.<locals>.<lambda>Û  s   € Ñ.Xr*   c                  ó$   <€ R S P                    R2# )zLInput to max_unpooling3d should be a 4d or 5d Tensor, but got a tensor with r,  r(  ©rã   s   €r+   r™   r5  ß  s   ø€ Ð^Ð_d×_iÑ_iÐ^jÐjvÑwr*   c                  ó"   <€ R \        S 4       R2# )zVThere should be exactly three elements (depth, height, width) in output_size, but got r'  r(  r)  s   €r+   r™   r5  ã  r*  r*   c                  ó"   <€ R \        S 4       R2# )zRThere should be exactly three elements (depth, height, width) in stride, but got: r'  r(  ©rÀ  s   €r+   r™   r5  ê  s   ø€ ÐdÔehÐioÓepÐdqÐq{Ñ|r*   c                  ó"   <€ R \        S 4       R2# )zSThere should be exactly three elements (depth, height, width) in padding, but got: r'  r(  )r  s   €r+   r™   r5  î  s   ø€ ÐeÔfiÐjqÓfrÐesÐs}Ñ~r*   c                  ó<   <€ R SP                    RS P                    2# r.  rÛ  )rë  rã   s   €€r+   r™   r5  ò  s'   ø€ ØPÐQV×Q\ÑQ\ÐP]ð ^2Ø29·-±-°ñBr*   c                  ó*   <€ R SP                    RS  R2# )zZmax_unpooling3d(): Expected input to have non-zero size for non-batch dimensions, but got rò  r0  rÛ  rô  s   €€r+   r™   r5  û  s    ø€ ðà Ÿ;™;˜-Ð'7¸°s¸-ñIr*   c                  ó   <€ R S  2# )z5strides should be greater than zero, but got stride: r!   r:  s   €r+   r™   r5    s   ø€ ÐGÈÀxÑPr*   r  )
rG   r›   r  r  rÇ  rÌ  rS  ra   rl  r!  )rã   rë  rR  rÀ  r  r  s   fffff@r+   Úmax_unpool3dr?  Ñ  sE  ý€ ô 
‡L‚LØ�‰œŸ™Ñ$Ñ&Xôô 
‡L‚LØ�
‰
�fÑÜwôô 
‡L‚LÜˆKÓ˜AÑô	
ôô 
‡L‚LÜˆF‹�qÑÜ|ôô 
‡L‚LÜˆG‹˜ÑÜ~ôô 
‡L‚LØ�‰�w—}‘}Ñ$õ	
ôô �1�e—j‘jÖ!ˆÜ�ŠØ�J‰J�q‹M˜AÑõö	
ñ "ô 
‡L‚LØˆq�	�A‰×9Ð9˜& �) a™-×9Ð9¨F°1­I¸©MÜPôô
 ˜ ¨°aÓ8Ð8r*   r‚   c          
      óT   € V ^8„  d   QhR\         R\        R\         R\         R\        /# ©r-   r?   rY   rð  r   r‚   ©r   r\   r   )r5   s   "r+   r6   r6     sA   € ÷ Hñ HÜðHä	ðHô ðHô ð	Hô ñHr*   c          	      ó    € \        WW#R VR7      # )T©Úinplacer‚   ©Ú
_index_add©r?   rY   rð  r   r‚   s   &&&&$r+   Ú
index_add_rI  
  s   € ô �a˜e°TÀÔGÐGr*   c          
      óT   € V ^8„  d   QhR\         R\        R\         R\         R\        /# rA  rB  )r5   s   "r+   r6   r6     sA   € ÷ Iñ IÜðIä	ðIô ðIô ð	Iô ñIr*   c          	      ó    € \        WW#R VR7      # )FrD  rF  rH  s   &&&&$r+   rÌ  rÌ    s   € ô �a˜e°UÀ%ÔHÐHr*   c                ó`   € V ^8„  d   QhR\         R\        R\         R\         R\        R\        /# )r-   r?   rY   rð  r   rE  r‚   )r   r\   r4   r   )r5   s   "r+   r6   r6   #  sL   € ÷ -@ñ -@Üð-@ä	ð-@ô ð-@ô ð	-@ô ð-@ô ñ-@r*   c                óT  a aaaaaaa€ \         P                  ! S P                  S4      o\        P                  ! S P
                  SP
                  8H  ;'       d    S P
                  SP
                  8H  VVV 3R  l4       \        P                  ! SP                  ^8*  V3R l4       SP                  ^8X  d   SP                  ^ 4      M^oSP                  ^ 8”  d   SP                  S4      M^o\        P                  ! SS8H  VVV3R l4       S^8w  dt   \         P                  ! S P                  4      o\        P                  ! S\        J ;'       g!    \         P                  ! \        S4      S4      VV3R l4       SS,          oS P                  ^ 8H  pV'       d   S P                  ^ 4      MS pRS,          S3,           pV'       d   \        P                  M\        P                  p	V	! WxSRR7      p
V'       d   S # V'       d   V
P!                  ^ 4      # V
P#                  4       # )c                  óV   <€ R SP                    RS P                    RSP                    2# )zVindex_add(): self, index and source expected to be in the same device, but got (self) ú
, (index) ú, and (source) rà  ©rð  r   r?   s   €€€r+   r™   Ú_index_add.<locals>.<lambda>/  ó/   ø€ ðØŸh™h˜Z z°%·,±,°ð @Ø"ŸM™M˜?ñ,r*   c                  ó$   <€ R S P                    R2# ©z(Index should have dimension 1 or 0 (got r~  r(  ©rð  s   €r+   r™   rR  7  ó   ø€ Ð:¸5¿:¹:¸,ÀaÑHr*   c                  ó   <€ R S RS RS : 2# )zNumber of indices (z') should be equal to tensor.size(dim) (z), for dim=r!   )rY   Ú
index_sizer!  s   €€€r+   r™   rR  =  s   ø€ Ð% j \Ð1XÐYdÐXeÐeqÐmpÑlrÑsr*   c                  ó(   <€ R \        S 4       RS R2# )zalpha argument of type z cannot be safely cast to type Ú!)r`  )r‚   Úpython_types   €€r+   r™   rR  D  s   ø€ Ð-¬d°5«k¨]Ð:YÐZeÐYfÐfgÑhr*   Tr†  r;   )r2   Úcanonicalize_dimsrÇ  rG   r›   rá  rl  Údtype_to_typer  r4   Úis_weakly_lesser_typer`  rb   rœ   Ú
index_put_Ú	index_putrX  r  )r?   rY   rð  r   rE  r‚   Úzero_dimrœ  rì  ra  rê   rY  r\  r!  s   ffff$d     @@@r+   rG  rG  #  s‰  ÿ€ ô ×
!Ò
! !§&¡&¨#Ó
.€CÜ	‡L‚LØ	�‰�E—L‘LÑ ×>Ð> Q§X¡X°·±Ñ%>ö	
ôô 
‡L‚LØ�
‰
�a‰ÜHôð #(§*¡*°¤/�—‘˜A”°q€JØ&,§k¡k°A¤o�&—+‘+˜cÔ"¸1€KÜ	‡L‚LØ�zÑ!Þsôð �„zÜ×)Ò)¨!¯'©'Ó2ˆÜ�ŠØœ4Ð÷ Eð EÜ×*Ò*¬4°«;¸ÓDÝhô	
ð
 ˜%•ˆà�v‰v˜‰{€Hß#ˆ�‰�QŒ¨€BØ
�C�-˜5˜(Õ
"€Cß#*”—’´·±€IÙ
�B˜V°Ô
5€CßØˆç!)ˆs�{‰{˜1‹~Ð?¨s¯~©~Ó/?Ð?r*   c                 óV  a€ \         P                  ! \        V 4      ^ 8„  R 4       \         P                  ! SR8H  ;'       g    SR8H  V3R l4       \        V 4      pV ^ ,          P                  4       pVR,          p\	        \         P
                  R V  4       4      pV'       d   WG3pMWt3pW†,           pV ^ ,          P                  W‚4      p	R	\        V4      ,          p
\        V4       F¼  pW,          P                  V	P                  R7      pW|P                  ^ 4      ,
          pSR8X  d!   \        P                  WÊ^ V3,           V4      pM\        P                  WÊV^ 3,           V4      pV'       d   \        P                  Wž^ VR7      p	K¤  \        P                  Wž^VR7      p	K¾  	  V	# )
r   c                  ó   € R # )z#received an empty list of sequencesr!   r!   r*   r+   r™   Úpad_sequence.<locals>.<lambda>V  s   € Ñ-Rr*   rØ   rÙ   c                  ó   <€ R S  R2# )z:Expected padding_side to be one of left or right, but got r�  r!   )Úpadding_sides   €r+   r™   re  Y  s   ø€ ÐLÈ\ÈNÐZ[Ñ\r*   ºr_   NNc              3   óB   "  € T F  qP                  ^ 4      x € K  	  R# 5ir%  rª  )r'  r?   s   & r+   r(  Úpad_sequence.<locals>.<genexpr>`  s   é € Ð$B¹	°1§V¡V¨A§Y Y»	ùs   ‚r  ©rY   rð  )r   r   )rG   r›   rÌ  rl  r   rº  r  ra   r>   r  rœ   r  rò  )Ú	sequencesÚbatch_firstÚpadding_valuerg  Úsequences_sizeÚmax_sizeÚtrailing_dimsÚmax_lenÚout_dimsrê   Údim_paddingsr  ÚcurrseqÚ
pad_amountÚrows   &&&f           r+   Úpad_sequencerx  S  sr  ø€ ô 
‡L‚L”�Y“ !Ñ#Ñ%RÔSÜ	‡L‚LØ˜Ñ×9Ð9 ,°'Ñ"9Ü\ôô ˜“^€NØ˜�|× Ñ Ó"€HØ˜R•L€Mô ”U—]‘]Ñ$B¹	Ó$BÓC€GßØ"Ð,‰àÐ,ˆØÕ'€HØ
�A�,×
Ñ
 Ó
8€CØœC Ó.Õ.€LÜ�>Ö"ˆØ•,—/‘/¨¯	©	�/Ó2ˆØŸ|™|¨A›Õ.ˆ
Ø˜7Ô"Ü×&Ñ&Ø¨¨J¨Õ7¸ó‰Cô ×&Ñ&Ø¨°Q¨Õ7¸óˆC÷ Ü×%Ñ% c°A¸QÐ%Ó?ŠCä×%Ñ% c°A¸QÐ%Ó?ŠCñ #ð €Jr*   c                óH   € V ^8„  d   QhR\         R\        R\         R\         /# ©r-   r?   rY   rð  r   ©r   r\   )r5   s   "r+   r6   r6   {  s(   € ÷ <ñ <”:ð <¤Cð <´
ð <ÄJñ <r*   c                 ó   € \        WW#R R7      # )T©rE  ©Ú_index_copy©r?   rY   rð  r   s   &&&&r+   Úindex_copy_r�  z  s   € ä�q˜u°dÔ;Ð;r*   c                óH   € V ^8„  d   QhR\         R\        R\         R\         /# rz  r{  )r5   s   "r+   r6   r6   �  s(   € ÷ =ñ =”*ð =¤3ð =¬zð =Ä:ñ =r*   c                 ó   € \        WW#R R7      # )Fr}  r~  r€  s   &&&&r+   Ú
index_copyr„    s   € ô �q˜u°eÔ<Ð<r*   c          
      óT   € V ^8„  d   QhR\         R\        R\         R\         R\        /# )r-   r?   rY   rð  r   rE  )r   r\   r4   )r5   s   "r+   r6   r6   …  sB   € ÷ C@ñ C@ÜðC@ÜðC@Ü$.ðC@Ü8BðC@ÜPTñC@r*   c                ó¢  a aaaaaa€ ^ RI Hp \        P                  ! S P                  S4      o\
        P                  ! S P                  SP                  8H  ;'       d    S P                  SP                  8H  VVV 3R l4       \
        P                  ! SP                  ^8*  V3R l4       SP                  4       oSP                  ^ 8X  d    \
        P                  ! S^8H  V3R l4       MDS P                  ^ 8w  d4   \
        P                  ! SP                  S P                  8H  VV 3R l4       S P                  ^ 8”  d+   S P                  RS S P                  S^,           R ,           MR	oSP                  ^ 8”  d+   SP                  RS SP                  S^,           R ,           MR	o\
        P                  ! V! SS4      VVV3R l4       SP                  ^ 8w  d0   \
        P                  ! SSP                  S4      8H  VVV3R l4       S P                  ^ 8H  pV'       d   S P                  ^ 4      MS pSP                  ^ 8X  d   SP                  ^ 4      MSoR
S,          S3,           pV'       d   \        P                  M\        P                  p	V	! WxS4      p
V'       d   S # V'       d   V
P                  ^ 4      # V
P!                  4       # )r   )Úsym_eqc                  óV   <€ R SP                    RS P                    RSP                    2# )zWindex_copy(): self, index and source expected to be in the same device, but got (self) rO  rP  rà  rQ  s   €€€r+   r™   Ú_index_copy.<locals>.<lambda>�  rS  r*   c                  ó$   <€ R S P                    R2# rU  r(  rV  s   €r+   r™   r‰  •  rW  r*   c                  ó   <€ R S  R2# )zIindex_copy_(): When source is scalar, index should have one element (got r~  r!   )Únum_indicess   €r+   r™   r‰  ›  s   ø€ ð$Ø$/ =°ñ3r*   c                  ó>   <€ R S P                    RSP                    R2# )ztindex_copy_(): When source and destination are not scalars, their dimensionality must match. Source dimensionality (z), destination dimensionality (r~  r(  )r   r?   s   €€r+   r™   r‰  £  s$   ø€ ðà—K‘K�=Ð ?ÀÇÁ¸xÀqñJr*   Nc                  ó   <€ R S RS  RS R2# )z_index_copy_(): Source/destination tensor must have same slice shapes. Destination slice shape: z at dimension z and source slice shape: z at dimension 0.r!   )rY   Útensor_sliced_shapeÚx_sliced_shapes   €€€r+   r™   r‰  °  s)   ø€ ð(Ø(6Ð'7°~ÀcÀUð K'Ø':Ð&;Ð;KñMr*   c                  ó4   <€ R S RSP                  S 4       R2# )z"index_copy_(): Number of indices (z') should be equal to source.size(dim) (r~  rª  )rY   rŒ  r   s   €€€r+   r™   r‰  ¹  s'   ø€ Ø4°[°Mð B.Ø.4¯k©k¸#Ó.>Ð-?¸qñBr*   r!   r;   )r¾  r‡  r2   r]  rÇ  rG   r›   rá  r  rS  rl  rb   rœ   r`  ra  rX  r  )r?   rY   rð  r   rE  r‡  rb  rœ  rì  ra  rê   rŒ  r�  r�  s   ffff$      @@@r+   r  r  …  s  þ€ õ =ä
×
!Ò
! !§&¡&¨#Ó
.€CÜ	‡L‚LØ	�‰�E—L‘LÑ ×>Ð> Q§X¡X°·±Ñ%>ö	
ôô 
‡L‚LØ�
‰
�a‰ÜHôð —+‘+“-€KØ‡{�{�aÔÜ�ŠØ˜1Ñôõ	
ð 
�‰�1ŒÜ�ŠØ�K‰K˜1Ÿ6™6Ñ!õô	
ð <=¿6¹6ÀA¼:�Q—W‘W˜T˜c�] Q§W¡W¨S°1­W¨YÐ%7Ö7È2€Nà8>¿¹Àa¼ˆ�‰�T�cÐ˜VŸ\™\¨#°­'¨)Ð4Ö4ÈRð ô 
‡L‚LÙˆ~Ð2Ó3ö	
ôð ‡{�{�aÔÜ�ŠØ˜6Ÿ;™; sÓ+Ñ+öô	
ð �v‰v˜‰{€Hß#ˆ�‰�QŒ¨€BØ"'§*¡*°¤/ˆE�O‰O˜AÔ°u€EØ
�C�-˜5˜(Õ
"€Cß#*”—’´·±€IÙ
�B˜VÓ
$€CßØˆç!)ˆs�{‰{˜1‹~Ð?¨s¯~©~Ó/?Ð?r*   r  r  c                óR   € V ^8„  d   QhR\         R\        \         \         3,          /# r    rø   )r5   s   "r+   r6   r6   Ï  s#   € ÷ (ñ (œfð (¬¬v´v¨~Õ)>ñ (r*   c                 óR  € \         P                  ! V P                  R4      V 4      p\         P                  ! \         P                  ! V 4      ) 4      pV P
                  '       g   V P                  '       d   V P                  R4      pMTpV\         P                  ! V4      ,
          V3# )r   r!   r‰   )rG   r‘  r·  r|   r  rx  Úis_xpur‰  )r‘   r¥   r~   r  s   &   r+   Úlog_sigmoid_forwardr•  Ì  sr   € ô �-Š-˜Ÿ™ rÓ*¨DÓ
1€CÜ�	Š	”5—9’9˜T“?Ð"Ó#€AØ‡|‡|€|�t—{—{�{Ø—‘ Ó%‰àˆØ”—’˜Q“Õ Ð'Ð'r*   c          	      óÂ   € V ^8„  d   QhR\         R\        \        ,          \        ,          R\        \        ,          \        ,          R\        P
                  R,          /# )r-   r?   ÚlowÚhighr8  N)r   r4   r\   rx   rG   Ú	Generator)r5   s   "r+   r6   r6   Û  sK   € ÷ ñ Üðä	”�”eÕ	ðô ”�*”uÕ
ðô �‰ Õ%ñ	r*   c           
      ó¸   € \         P                  ! V P                  V P                  4       \	        V4      \	        V4      V P
                  V P                  VR 7      # ))rÀ  r—  r˜  r  rá  r8  )ÚprimsÚ_uniform_helperrS  rÀ  r   r  rá  )r?   r—  r˜  r8  s   &&&&r+   Úuniformr�  Ù  sF   € ô × Ò Ø	�‰Ø�x‰x‹zÜ�c‹NÜ�t‹_Ø�g‰gØ�x‰xØôð r*   c                 ó8   € V P                  \        WW#4      4      # r;   )rí  r�  )r‘   r—  r˜  r8  s   &&&&r+   Úuniform_rŸ  ì  s   € à�:‰:”g˜d¨Ó9Ó:Ð:r*   c                 ór  € \        V 4      ^,
          pVeA   \        P                  ! VRJ R 4       \        P                  ! \        V4      V8H  R 4       V# VeÅ   \        P                  ! VRJ R 4       \        P                  ! \        V4      V8H  R 4       . p\        V4       Fs  w  rE\	        V4      V8X  d1   VP                  W^,           ,          \	        V4      ,          4       KE  VP                  \        W^,           ,          V,          4      4       Ku  	  V# \        P                  ! RR 4       R# )r-   Nc                  ó   € R # ©z9Must specify exactly one of output_size and scale_factorsr!   r!   r*   r+   r™   Ú.upsample_compute_output_size.<locals>.<lambda>÷  ó   € ÑOr*   c                  ó   € R # ©Ú r!   r!   r*   r+   r™   r£  ù  s   € ÁRr*   c                  ó   € R # r¢  r!   r!   r*   r+   r™   r£  ÿ  r¤  r*   c                  ó   € R # r¦  r!   r!   r*   r+   r™   r£    s   € Árr*   Fc                  ó   € R # r¢  r!   r!   r*   r+   r™   r£  
  s   € ÑRr*   )rÌ  rG   r›   r­  r\   r  r   )r˜  rR  Úscale_factorsÚspatial_dimensionsr  rG  s   &&&   r+   Úupsample_compute_output_sizer­  ò  sÿ   € Ü˜Z›¨1Õ,ÐØÒÜ�ŠØ˜TÐ!ÙOô	
ô 	�Š”S˜Ó%Ð);Ñ;¹ZÔHØÐØÒ ä�ŠØ˜4ÐÙOô	
ô 	�Š”S˜Ó'Ð+=Ñ=¹zÔJØˆÜ˜mÖ,‰DˆAÜ�1‹v˜Œ{Ø×"Ñ" :°!­eÕ#4´s¸1³vÕ#=Ö>à×"Ñ"¤7¨:¸!µeÕ+<¸qÕ+@Ó#AÖBñ	 -ð
 ÐÜ	‡L‚LØÑRör*   c                 ó   € V f   R # W,          # r;   r!   )Úscalesrì  s   &&r+   Úget_scale_valuer°    s   € Ø‚~ÙØ�;Ðr*   c                ó�   € V ^8„  d   QhR\         R\        \        ,          R,          R\        \        ,          R,          R\         /# ©r-   rã   rR  Nr«  rZ   ©r   rµ  r\   rx   )r5   s   "r+   r6   r6     sB   € ÷ 	3ñ 	3Üð	3ä”c•˜TÕ!ð	3ô œ•; Õ%ð	3ô ñ		3r*   c                 óˆ   € \        V P                  4       W4      pV'       d   TMR .\        V4      ,          p\        WV4      # r;   ©r­  rl  rÌ  Ú_upsample_nearest©rã   rR  r«  Úosizer¯  s   &&&  r+   Ú_upsample_nearest_vecr¹    s<   € ô )¨¯©«°{ÓR€Eç&‰¨T¨F´S¸³ZÕ,?ð ô ˜U¨6Ó2Ð2r*   c                ó�   € V ^8„  d   QhR\         R\        \        ,          R,          R\        \        ,          R,          R\         /# r²  r³  )r5   s   "r+   r6   r6   2  sB   € ÷ 	?ñ 	?Üð	?ä”c•˜TÕ!ð	?ô œ•; Õ%ð	?ô ñ		?r*   c                 óŒ   € \        V P                  4       W4      pV'       d   TMR .\        V4      ,          p\        WVRR7      # )NT©Úexactrµ  r·  s   &&&  r+   Ú_upsample_nearest_exact_vecr¾  )  s>   € ô )¨¯©«°{ÓR€Eç&‰¨T¨F´S¸³ZÕ,?ð ô ˜U¨6¸Ô>Ð>r*   c                 óH  € . p\        V4      pV'       d   R MRp\        V4       Fù  pW,          pV P                  V) V,           ,          p	W',          e#   W',          ^ 8”  d   W™W',          ,          ,          MW˜,          p
\        P                  ! V\        P
                  V P                  R7      pW¶,           V
,          P                  \        P                  4      p\        V^,
          V,
          4       F  pVP                  R4      pK  	  VP                  V4       Kû  	  V# )r½   r®   r  r`   )rÌ  ra   rS  rG   rå  r  rá  r>   r  rb   r  )rã   rR  r¯  r½  rë  Únum_spatial_dimsrõ  r?  r¸  Úisizerƒ   Úoutput_indicesÚinput_indicesrc   s   &&&&          r+   Ú!_compute_upsample_nearest_indicesrÄ  >  sí   € ð €GÜ˜;Ó'Ðß‰S˜s€FäÐ#Ö$ˆð •ˆØ—‘Ð-Ð-°Õ1Õ2ˆð
 �yÒ$¨­°Q¬ð ˜V�YÕ&Ö'à•ð 	ô Ÿš e´5·=±=ÈÏÉÔVˆØ(Õ1°UÕ:×>Ñ>¼u¿{¹{ÓKˆÜÐ'¨!Õ+¨aÕ/Ö0ˆAØ)×3Ñ3°BÓ7ŠMñ 1à�‰�}Ö%ñ7 %ð8 €Nr*   )Úpreserve_memory_formatrR  c                ól   € V ^8„  d   QhR\         R\        \        ,          R\        R,          R\         /# ©r-   rã   rR  r¯  NrZ   r³  )r5   s   "r+   r6   r6   h  s8   € ÷ ;ñ ;Üð;ä”c•ð;ô �D�Lð;ô ñ	;r*   c                 ó   € \        WV.4      # r;   ©r¶  ©rã   rR  r¯  s   &&&r+   Úupsample_nearest1drË  d  s   € ô ˜U°&°Ó:Ð:r*   c                ól   € V ^8„  d   QhR\         R\        \        ,          R\        R,          R\         /# rÇ  r³  )r5   s   "r+   r6   r6   v  s>   € ÷ Gñ GÜðGä”c•ðGô �D�LðGô ñ	Gr*   c                 ó    € \        WV.R R7      # ©Tr¼  rÉ  rÊ  s   &&&r+   Úupsample_nearest_exact1drÏ  p  s   € ô ˜U°&°ÀÔFÐFr*   c          
      ó†   € V ^8„  d   QhR\         R\        \        ,          R\        R,          R\        R,          R\         /# ©r-   rã   rR  Úscales_hNÚscales_wrZ   r³  )r5   s   "r+   r6   r6   ‚  sM   € ÷ Gñ GÜðGä”c•ðGô �d�lðGô �d�lð	Gô
 ñGr*   c                 ó   € \        WW#.4      # r;   rÉ  ©rã   rR  rÒ  rÓ  s   &&&&r+   Úupsample_nearest2drÖ  ~  s   € ô ˜U°(Ð1EÓFÐFr*   c          
      ó†   € V ^8„  d   QhR\         R\        \        ,          R\        R,          R\        R,          R\         /# rÑ  r³  )r5   s   "r+   r6   r6   ‘  sM   € ÷ Sñ SÜðSä”c•ðSô �d�lðSô �d�lð	Sô
 ñSr*   c                 ó    € \        WW#.R R7      # rÎ  rÉ  rÕ  s   &&&&r+   Ú_upsample_nearest_exact2drÙ  ‹  s   € ô ˜U°(Ð1EÈTÔRÐRr*   c                ó    € V ^8„  d   QhR\         R\        \        ,          R\        R,          R\        R,          R\        R,          R\         /# ©r-   rã   rR  Úscales_dNrÒ  rÓ  rZ   r³  )r5   s   "r+   r6   r6   ž  s\   € ÷ Qñ QÜðQä”c•ðQô �d�lðQô �d�lð	Qô
 �d�lðQô ñQr*   c                 ó   € \        WW#V.4      # r;   rÉ  ©rã   rR  rÜ  rÒ  rÓ  s   &&&&&r+   Úupsample_nearest3drß  š  s   € ô ˜U°(ÀhÐ1OÓPÐPr*   c                ó    € V ^8„  d   QhR\         R\        \        ,          R\        R,          R\        R,          R\        R,          R\         /# rÛ  r³  )r5   s   "r+   r6   r6   ®  sT   € ÷ 	ñ 	Üð	ä”c•ð	ô �d�lð	ô �d�lð		ô
 �d�lð	ô ñ	r*   c                 ó"   € \        WW#V.R R7      # rÎ  rÉ  rÞ  s   &&&&&r+   Ú_upsample_nearest_exact3drâ  ¨  s   € ô Ø˜X°Ð:À$ôð r*   c          
      óŽ   € V ^8„  d   QhR\         R\        \        ,          R\        \        R,          ,          R\        R\         /# )r-   rã   rR  r¯  Nr½  rZ   )r   rµ  r\   rx   r4   )r5   s   "r+   r6   r6   »  sG   € ÷ ñ Üðä”c•ðô ”˜•Õðô ð	ô
 ñr*   c                 ó~  € \        WW#R 7      pRR.V,           p\        P                  W4      pVP                  R9   d   \        P
                  ! V 4      pV P                  ^,          pVP                  ^8X  d3   V P                  P                  R8X  d   V^8  d   \        P                  pVP                  VR7      pV# )r¼  NÚcudarŸ  r  )rÄ  rœ   Ú_unsafe_indexrÇ  r2   r   rS  rá  r`  rG   r£  r  )	rã   rR  r¯  r½  Úspatial_indicesrë  rT  r   Ú
n_channelss	   &&&&     r+   r¶  r¶  º  s¤   € ô 8Ø˜Fô€Oð �Tˆl˜_Õ,€GÜ×Ñ Ó/€Fà‡{�{�fÔä×3Ò3°EÓ:ˆð —[‘[ •^ˆ
Ø�;‰;˜!Ô §¡× 1Ñ 1°VÔ ;À
ÈQÄÜ!×3Ñ3ˆMà×"Ñ"°Ð"Ó?ˆØ€Mr*   c           	      ó2  € V'       d   V'       d   ^pMV'       d   ^pMV'       d   ^pM^p\        V 4      V,          ^ 8w  d   \        R\        V 4       RV 24      h\        ^ \        V 4      V4       Uu. uF  p\        WWC,            4      NK  	  up# u upi )r  zlen(params)=z  is not divisible by group_size=)rÌ  rj  ra   rù   )ÚparamsÚ
has_biasesÚhas_projectionsÚ
group_sizer  s   &&&  r+   Úgather_paramsrî  Õ  s‘   € ß—oØ‰
ß	Ø‰
ß	Ø‰
àˆ
ä
ˆ6ƒ{�ZÕ 1Ô$ÜØœ3˜v›;˜-Ð'GÈ
À|ÐTó
ð 	
ô 49¸¼CÀ»KÈÔ3TóÙ3T¨aŒˆf˜�Ð(Ö)Ñ3Tñð ùò s   Á5Bc                 óØ   € V'       dN   V ^V,          ,          V^V,          ,          rTV ^V,          ^,           ,          V^V,          ^,           ,          rvMW,          W,          rTRRrvWEWg3# )r-   Nr!   )rê  Úhiddensr  ÚbidirectionalÚ
cur_paramsÚ
cur_hiddenÚbidir_paramsÚbidir_hiddens   &&&&    r+   Úparams_hiddensrö  è  sZ   € ßØ!'¨¨A­¥°¸¸A½µ�JØ%+¨A°­E°A­IÕ%6¸ÀÀAÅÈÅ	Õ8J‘là!'¥¨G­J�JØ%)¨4�là <Ð=Ð=r*   c                 ó¨   € W8:  d   \        R V RV R24      hVP                  V P                  ^ W!V,
          4      4       V P                  ^ ^ V4      # )úlast_batch_size (z) must be > batch_size (r~  )rj  r  rm  )ró  Úlast_batch_sizeÚ
batch_sizerð  s   &&&&r+   Úupdate_hidden_for_packedrû  ó  s_   € ØÔ$ÜØ Ð0Ð0HÈÈÐTUÐVó
ð 	
ð ‡N�N�:×$Ñ$ Q¨
ÀjÕ4PÓQÔRØ×Ñ˜Q  :Ó.Ð.r*   c           	      ó    € W8X  d   V # W8¼  d   \        R V RV R24      h\        P                  ! V VP                  ^ WV,
          4      34      # )rø  z) must be < batch_size (r~  )rj  rG   Úconcatrm  )ró  rù  rú  Ú
inp_hiddens   &&&&r+   Ú update_hidden_for_packed_reverserÿ  ü  sh   € ð Ô$ØÐØÔ$ÜØ Ð0Ð0HÈÈÐTUÐVó
ð 	
ô �<Š<àØ×Ñ˜a ¸Õ2NÓOð	
óð r*   c           	      óð  € V^ ,          pV^,          pV'       d
   V^,          MRp	V'       d
   V^,          MRp
. p. pV'       d
   VR,          MV^ ,          pVP                  ^ ^ V4      p\        P                  ! V \        V4      4      pV'       d   VRRR1,          pV F^  p V P                  ^ ,          pVV8X  d   M#V'       d   \        WíVV4      pM\        WíVV4      pV! WWyWŠ4      pTpVP                  V4       K`  	  V'       d   VP                  4        M!VP                  V4       VP                  4        \        P                  ! V^ 4      pV'       g   \        P                  ! V^ 4      MTpVV3# )r   Nr`   )
rm  rG   rH  rµ  rS  rÿ  rû  r  Úreversern  )ÚinpÚhiddenrê  rë  Ú	hidden_fnÚbatch_sizesr  Ú	ih_weightÚ	hh_weightÚih_biasÚhh_biasÚstep_outputrð  rù  ró  Ú	split_inpr  rê   Ú
hidden_outs   &&&&&&&            r+   Úone_layer_rnn_datar    sC  € ð �q•	€IØ�q•	€Iß%ˆf�QŽi¨4€Gß%ˆf�QŽi¨4€Gà€KØ"$€Gç)0�k "–o°kÀ!µn€OØ—‘˜q ! _Ó5€JÜ—’˜C¤ kÓ!2Ó3€IßØ™d ˜d•Oˆ	ÛˆØ�I‰I�a�Lˆà˜aÔØçÜ9Ø¨Q°ó‰Jô 2Ø¨Q°óˆJñ ˜s°	ÀIÓWˆ
ØˆØ×Ñ˜:Ö&ñ# ÷& Ø×ÑÕà�‰�zÔ"Ø�‰Ôä
�)Š)�K Ó
#€Cß.5”—’˜7 AÔ&¸:€JØ�
ˆ?Ðr*   c                 ó   a € V 3R  lpV# )c                 óL   <€ S! \         P                  ! WV4      V ,           4      # r;   ©rå   Úlinear©r  ró  r  r  r  r	  Únonlinearitys   &&&&&&€r+   rR   Úrnn_cell.<locals>.inner<  s   ø€ ÙœAŸHšH Z¸GÓDÀqÕHÓIÐIr*   r!   ©r  rR   s   f r+   Úrnn_cellr  ;  s   ø€ õJð €Lr*   c                 ó   a € V 3R  lpV# )c                 óz   <€ \         P                  ! WV4      p S! \         P                  ! WV4      V ,           4      # r;   r  r  s   &&&&&&€r+   rR   Úrnn_cell_data.<locals>.innerC  s.   ø€ Ü�HŠH�Q 7Ó+ˆÙœAŸHšH Z¸GÓDÀqÕHÓIÐIr*   r!   r  s   f r+   Úrnn_cell_datar  B  s   ø€ õJð €Lr*   c           	      óÆ  € V^ ,          pV^,          pV'       d
   V^,          MRpV'       d
   V^,          MRp	\         P                  ! WV4      p
V'       d   V
P                  ^ 4      MT
p
VP                  ^ 4      p. pV
 F  pV! WÛWhWy4      pVP	                  V4       K   	  V'       d   VP                  4        \        P                  ! V^ 4      pWëP                  ^ 4      3# r%  )	rå   r  Úfliprb   r  r  rG   rn  rX  )r  r  rê  rë  r  r  r  r  r  r	  Úprecomputed_inputró  r
  r  rê   s   &&&&&&         r+   Úone_layer_rnnr  J  sÆ   € Ø�q•	€IØ�q•	€Iß%ˆf�QŽi¨4€Gß%ˆf�QŽi¨4€GäŸš °Ó9Ðß5<Ð)×.Ñ.¨qÔ1ÐBSÐØ×!Ñ! !Ó$€JØ€KÛˆÙ˜q¨iÀ)ÓUˆ
Ø×Ñ˜:Ö&ñ ÷ Ø×ÑÔä
�)Š)�K Ó
#€Cà×"Ñ" 1Ó%Ð%Ð%r*   c                 óè  € V^ ,          pV^,          pV'       d   V^,          pV^,          pMH\         P                  ! VP                  4       4      p\         P                  ! VP                  4       4      pV^ ,          P                  ^ 4      p	V^,          P                  ^ 4      p
. p^pV	P                  ^4      p^pRpRpRpV P	                  4       p V	P	                  4       p	V
P	                  4       p
\         P
                  P                  P                  P                  V VVVVV	V
VVVVVVVVV4      pV^ ,          V^,          V^,          pppVVP                  ^ 4      VP                  ^ 4      33# )r   F)
rG   r@  rl  rb   r  rÒ  rœ   Úmkldnn_rnn_layerr×  rX  )r  r  rê  rë  r  Úw0Úw1Úw2Úw3ÚhxÚcxr  ÚmodeÚhidden_sizeÚ
num_layersrñ  rm  rÜ  Úoutputsri   ÚhyÚcys   &&&&&                 r+   Úmkldnn_one_layer_lstmr-  `  sS  € Ø	��€BØ	��€BßØ�A�YˆØ�A�Y‰ä�[Š[˜Ÿ™›Ó#ˆÜ�[Š[˜Ÿ™›Ó#ˆà	��×	Ñ	˜QÓ	€BØ	��×	Ñ	˜QÓ	€Bà€KØ€DØ—'‘'˜!“*€KØ€Jð €MØ€Kà€Eð �.‰.Ó
€CØ	�‰‹€BØ	�‰‹€BÜ�i‰i�n‰n×-Ñ-×5Ñ5ØØ
Ø
Ø
Ø
Ø
Ø
ØØØØØØØØØó!€Gð$ ˜•
˜G A�J¨°­
ˆ2€r€AØˆr�z‰z˜!‹}˜bŸj™j¨›mÐ,Ð,Ð,r*   c
           	      ó^  € V'       d   V P                  ^ ^4      MT p . p
\        V4       Fâ  p\        W!W·4      w  rÍrïV'       d   WK^,
          8  d   TMRpV	! WWÃ4      w  ppV
P                  V4       V'       d    V	! WWãRR7      w  ppV
P                  V4       V'       d0   \        P
                  ! VX.VP                  4       ^,
          4      p MTp V^ 8w  g   K±  V'       g   K»  W´^,
          8  g   KÊ  \        P                  ! WRR7      p Kä  	  V'       d   V P                  ^ ^4      MT p W
3# )r   r®   T)r  )rÜ  )Ú	transposera   rö  r  rG   rn  rY   rß  )rã   r  rê  rë  r)  rß  rÜ  rñ  rm  Úlayer_fnÚfinal_hiddensr  rò  ró  rô  rõ  Úfwd_inpÚ
fwd_hiddenÚbwd_inpÚ
bwd_hiddens   &&&&&&&&&&          r+   Ú_rnn_helperr6  ’  s  € ÷ &1ˆE�O‰O˜A˜qÔ!°e€EØ€Mä�:ÖˆÜ=KØ˜Aó>
Ñ:ˆ
 ÷ $¨
¸µUÔ(:‘'ÀˆÙ& u¸*ÓQÑˆ�Ø×Ñ˜ZÔ(çÙ"*Ø \Àtô#ÑˆG�Zð × Ñ  Ô,çÜ—I’I˜w¨Ð0°'·+±+³-À!Õ2CÓD‰EàˆEà�aŽ<ŸE™E a°q­.Ö&8Ü—M’M %¸Ô=ŠEñ) ÷, &1ˆE�O‰O˜A˜qÔ!°e€EØÐÐr*   c	                 óæ   € VP                  ^ 4      p	\        W#R4      p\        V V	VVVVVVV\        \        \        \        P                  4      R7      4
      w  r«V
\        P                  ! V^ 4      3# ©r   F©r  )	Úunbindrî  r6  r   r  r  rG   rÍ   Ústack©rã   r%  rê  rë  r)  rß  rÜ  rñ  rm  r  rê   r1  s   &&&&&&&&&   r+   Úrnn_tanh_inputr=  »  óp   € ð �Y‰Y�q‹\€FÜ˜6¨uÓ5€FÜ$ØØØØØØØØØÜ”¬´%·*±*Ó)=Ô>óÑ€Cð ”—’˜M¨1Ó-Ð-Ð-r*   c	                 óæ   € VP                  ^ 4      p	\        W#R4      p\        V V	VVVVVVV\        \        \        \        P                  4      R7      4
      w  r«V
\        P                  ! V^ 4      3# r8  )	r:  rî  r6  r   r  r  rG   rz  r;  r<  s   &&&&&&&&&   r+   Úrnn_relu_inputr@  Ú  r>  r*   c	                 óè   € VP                  ^ 4      p	\        W4R4      p\        V V	VVVVVVR\        \        V\        \        P                  4      R7      4
      w  r«V
\        P                  ! V^ 4      3# ©r   F©r  r  )	r:  rî  r6  r   r  r  rG   rz  r;  ©Údatar  r%  rê  rë  r)  rß  rÜ  rñ  r  rê   r1  s   &&&&&&&&&   r+   Úrnn_relu_datarF  ù  ów   € ð �Y‰Y�q‹\€FÜ˜6¨uÓ5€FÜ$ØØØØØØØØØÜÜØ#Ü#¤E§J¡JÓ/ô	
óÑ€Cð  ”—’˜M¨1Ó-Ð-Ð-r*   c	                 óè   € VP                  ^ 4      p	\        W4R4      p\        V V	VVVVVVR\        \        V\        \        P                  4      R7      4
      w  r«V
\        P                  ! V^ 4      3# rB  )	r:  rî  r6  r   r  r  rG   rÍ   r;  rD  s   &&&&&&&&&   r+   Úrnn_tanh_datarI    rG  r*   c                 ó°  € \         P                  ! WV4      V ,           pVP                  ^V4      pV^ ,          P                  4       p	V^,          P                  4       p
V^,          P	                  4       pV^,          P                  4       pW¢,          W›,          ,           pWÍP	                  4       ,          pVf   TM\         P                  ! WåR4      pWí3# )r„  N©rå   r  Úchunkrç   rÍ   )r  r%  r&  r  r	  Ú	hr_weightÚ	chunk_dimÚgatesÚchunked_gatesÚin_gateÚforget_gateÚ	cell_gateÚout_gater,  r+  s   &&&&&&&        r+   Ú	lstm_cellrU  ?  s¯   € Ü�HŠH�R GÓ,¨sÕ2€EØ—K‘K  9Ó-€MØ˜AÕ×&Ñ&Ó(€GØ Õ"×*Ñ*Ó,€KØ˜aÕ ×%Ñ%Ó'€IØ˜QÕ×'Ñ'Ó)€HØ	Õ	˜WÕ0Õ	1€BØ	—G‘G“IÕ	€BØÒ ‰¤a§h¢h¨r¸dÓ&C€Bàˆ6€Mr*   c                 óœ  € V^ ,          pV^,          pV'       d
   V^,          MRpV'       d
   V^,          MRp\        V4      ^8X  d
   V^,          M\        V4      ^8X  d
   V^,          MRp	V^ ,          P                  ^ 4      p
V^,          P                  ^ 4      p\        P                  ! WV4      pV'       d   VP	                  ^ 4      MTp. pV F%  p \        W
W¶W‰^R7      w  r«VP                  V
4       K'  	  V'       d   VP                  4        \        P                  ! V^ 4      pWêP                  ^ 4      VP                  ^ 4      33# )r   N©rN  )rÌ  rb   rå   r  r  rU  r  r  rG   rn  rX  )r  r  rê  rë  r  r  r  r  r	  rM  r%  r&  r  r
  rê   s   &&&&&          r+   Úone_layer_lstmrX  M  s  € Ø�q•	€IØ�q•	€Iß%ˆf�QŽi¨4€Gß%ˆf�QŽi¨4€Gä˜“[ AÔ%ˆˆqŽ	¼¸F»ÀqÔ8H¨6°!®9Èdð ð 
��×	Ñ	˜QÓ	€BØ	��×	Ñ	˜QÓ	€BäŸš °Ó9Ðß5<Ð)×.Ñ.¨qÔ1ÐBSÐØ€KÛ ˆÜ˜3 B°7ÐQRÔS‰ˆØ×Ñ˜2Öñ !÷ Ø×ÑÔä
�)Š)�K Ó
#€Cà—‘˜A“ §
¡
¨1£Ð.Ð.Ð.r*   c                 ó‚  € V^ ,          pV^,          pV'       d
   V^,          MRpV'       d
   V^,          MRp	\        V4      ^8X  d
   V^,          M\        V4      ^8X  d
   V^,          MRp
. p. pV'       d
   VR,          MV^ ,          p\        P                  ! V \        V4      4      pV'       d   VRRR1,          pV^ ,          pV^,          pVP	                  ^ ^ V4      VP	                  ^ ^ V4      ppV EF.  p V P
                  ^ ,          p\        P                  ! WV4      p VV8  dj   VP                  VP	                  ^ VVV,
          4      VP	                  ^ VVV,
          4      34       VP	                  ^ ^ V4      VP	                  ^ ^ V4      ppVV8”  dc   \        P                  ! VVP	                  ^ VVV,
          4      3^ 4      p\        P                  ! VVP	                  ^ VVV,
          4      3^ 4      p\        V VVWyV
^R7      w  ppTpVP                  V4       EK1  	  V'       d   VP                  4        VV3pM]VP                  VV34       VP                  4        \        V!  w  pp\        P                  ! V^ 4      \        P                  ! V^ 4      3p\        P                  ! V^ 4      pVV3# )r   NrW  r`   )rÌ  rG   rH  rµ  rm  rS  rå   r  r  rý  rU  r  rV  rn  )r  r  rê  rë  r  r  r  r  r  r	  rM  r
  rð  rù  r  Úorig_hxÚorig_cxr%  r&  r  r  Úhidden0Úhidden1rê   s   &&&&&&                  r+   Úone_layer_lstm_datar^  h  sp  € Ø�q•	€IØ�q•	€Iß%ˆf�QŽi¨4€Gß%ˆf�QŽi¨4€Gä˜“[ AÔ%ˆˆqŽ	¼¸F»ÀqÔ8H¨6°!®9Èdð ð €KØ€Gç)0�k "–o°kÀ!µn€OÜ—’˜C¤ kÓ!2Ó3€IßØ™d ˜d•Oˆ	à�Q�i€GØ�Q�i€Gà�‰�q˜!˜_Ó-Ø�‰�q˜!˜_Ó-ð 	€Bô
 ˆØ�I‰I�a�LˆÜ�hŠh�s wÓ/ˆð ˆÔØ�N‰Nà—I‘I˜a  O°aÕ$7Ó8Ø—I‘I˜a  O°aÕ$7Ó8ðôð —Y‘Y˜q ! QÓ'¨¯©°1°a¸Ó);�ˆBð ˆÔÜ—’Ø�W—^‘^ A ¸¸OÕ8KÓLÐMÈqóˆBô —’Ø�W—^‘^ A ¸¸OÕ8KÓLÐMÈqóˆBô ˜3  B¨	¸IÐQRÔS‰ˆˆBØˆØ×Ñ˜2×ñ3 ÷6 Ø×ÑÔØ˜"�X‰
à�‰˜˜B�xÔ Ø�‰ÔÜ ™=Ñˆ�Ü—Y’Y˜w¨Ó*¬E¯IªI°g¸qÓ,AÐAˆ
ä
�)Š)�K Ó
#€CØ�
ˆ?Ðr*   c                ó>   € R pV! WV4      '       d   \         # \        # )aþ  Check whether we could use decompose lstm with mkldnn_rnn_layer.
All the below conditions need to be met:
    * ``torch._C._get_mkldnn_enabled()`` returns ``True``.
    * All the input args are on CPU.
    * The dtypes of args are either torch.float or torch.bfloat16.
    * Inference.
    * ``has_projections`` returns ``False``.

Args:
    * input: the input sequence to LSTM
    * hx: a tuple of the input hidden state and cell state ``(h_0, c_0)`` to LSTM
    * params: the weight and bias tensors of LSTM
c                 óº  € \         P                  P                  4       '       g   R # V .\        V4      ,           \        \        P
                  ! V4      4      ,           pV Uu0 uF  qDP                  kK  	  pp\        V4      ^8w  d   R # VP                  4       pV\         P                  ! R4      8w  d   R # V Uu0 uF  qDP                  kK  	  ppV F+  pV\         P                  \         P                  39  g   K*   R # 	  V P                  '       d   R # V^ ,          P                  ^4      V^,          P                  ^4      8g  p	V	'       d   R # R# u upi u upi )Fr\  T)rG   r  Ú_get_mkldnn_enabledrµ  r	   Úfrom_iterablerá  rÌ  Úpopr  rx   Úbfloat16Úrequires_gradrl  )
rã   r%  rê  r  r  Údevicesrá  Údtypesr  rì  s
   &&&       r+   Ú
use_mkldnnÚ2select_one_layer_lstm_function.<locals>.use_mkldnn·  sÿ   € Ü�x‰x×+Ñ+×-Ò-Ùà�'œD ›HÕ$¤t¬E×,?Ò,?ÀÓ,GÓ'HÕHˆÙ%,Ó-¡W —8”8¡WˆÐ-Üˆw‹<˜1ÔÙà—‘“ˆØ”U—\’\ %Ó(Ô(Ùá#*Ó+¡7˜a—'”'¡7ˆÐ+ÛˆEØœUŸ[™[¬%¯.©.Ð9Ö9Úñ ð ××ÐÙà˜Q�%Ÿ*™* Q›-¨2¨a­5¯:©:°a«=Ñ8ˆßÙáùò) .ùò ,s   Á"EÂ;E)r-  rX  )rã   r%  rê  rh  s   &&& r+   Úselect_one_layer_lstm_functionrj  ¨  s"   € òñ: �%˜V×$Ò$Ü$Ð$äÐr*   c	                 óî  € \        V4      ^8w  d   \        R\        V4       24      h\        W#V^ ,          P                  ^4      V^,          P                  ^4      8g  4      p\	        \        V^ ,          V^,          4      4      p	\        WV4      p
\        V V	VVVVVVVV
4
      w  r¼\	        \        V!  4      pV\        P                  ! V^ ,          ^ 4      \        P                  ! V^,          ^ 4      3# )r-   ú$lstm expects two hidden states, got )
rÌ  rj  rî  rl  rµ  rV  rj  r6  rG   r;  )rã   r%  rê  rë  r)  rß  rÜ  rñ  rm  r  r0  rê   r1  s   &&&&&&&&&    r+   Ú	lstm_implrm  Ú  sÞ   € ô ˆ2ƒw�!„|ÜÐCÄCÈÃGÀ9ÐMÓNÐNÜ˜6¨r°!­u¯z©z¸!«}ÀÀ1ÅÇ
Á
È1ÃÑ/MÓN€FÜ”#�b˜•e˜R �UÓ#Ó$€FÜ-¨e¸Ó@€HÜ$ØØØØØØØØØØóÑ€Cô œ˜mÑ,Ó-€MØ”—’˜M¨!Õ,¨aÓ0´%·+²+¸mÈAÕ>NÐPQÓ2RÐRÐRr*   c	                 óô  € \        V4      ^8w  d   \        R\        V4       24      h\        W4V^ ,          P                  ^4      V^,          P                  ^4      8g  4      p\	        \        V^ ,          V^,          4      4      p	\        V V	VVVVVVR\        \        VR7      4
      w  r«\	        \        V!  4      pV
\        P                  ! V^ ,          ^ 4      \        P                  ! V^,          ^ 4      3# )r-   rl  F)r  )rÌ  rj  rî  rl  rµ  rV  r6  r   r^  rG   r;  rD  s   &&&&&&&&&   r+   Úlstm_data_implro  ý  sÚ   € ô ˆ2ƒw�!„|ÜÐCÄCÈÃGÀ9ÐMÓNÐNÜ˜6¨r°!­u¯z©z¸!«}ÀÀ1ÅÇ
Á
È1ÃÑ/MÓN€FÜ”#�b˜•e˜R �UÓ#Ó$€FÜ$ØØØØØØØØØÜÔ#°Ô=óÑ€Cô œ˜mÑ,Ó-€MØ”—’˜M¨!Õ,¨aÓ0´%·+²+¸mÈAÕ>NÐPQÓ2RÐRÐRr*   c                 óŒ  € V P                  ^^4      p\        P                  ! WV4      P                  ^^4      pV^ ,          V^ ,          ,           P                  4       pV^,          V^,          ,           P                  4       p	V^,          V^,          V,          ,           P	                  4       p
W,
          V	,          V
,           # ©r£   )rL  rå   r  rç   rÍ   ©r  ró  r  r  r  r	  Úchunked_igatesÚchunked_hgatesÚ
reset_gateÚ
input_gateÚnew_gates   &&&&&&     r+   Úgru_cellrx    s�   € Ø—Y‘Y˜q !“_€NÜ—X’X˜j°WÓ=×CÑCÀAÀqÓI€NØ  Õ# n°QÕ&7Õ7×@Ñ@ÓB€JØ  Õ# n°QÕ&7Õ7×@Ñ@ÓB€JØ˜qÕ! ^°AÕ%6¸Õ%CÕD×JÑJÓL€HØÕ! ZÕ/°(Õ:Ð:r*   c                 ó¶  € \         P                  ! WV4      P                  ^^4      p\         P                  ! WV4      P                  ^^4      pV^ ,          V^ ,          ,           P                  4       pV^,          V^,          ,           P                  4       p	V^,          V^,          V,          ,           P	                  4       p
W,
          V	,          V
,           # rq  rK  rr  s   &&&&&&     r+   Úgru_cell_datarz  (  s«   € Ü—X’X˜c¨gÓ6×<Ñ<¸QÀÓB€NÜ—X’X˜j°WÓ=×CÑCÀAÀqÓI€NØ  Õ# n°QÕ&7Õ7×@Ñ@ÓB€JØ  Õ# n°QÕ&7Õ7×@Ñ@ÓB€JØ˜qÕ! ^°AÕ%6¸Õ%CÕD×JÑJÓL€HØÕ! ZÕ/°(Õ:Ð:r*   c	                 ó¾   € \        W4R 4      p\        V VP                  ^ 4      VVVVVVR \        \        V\
        R7      4
      w  ršV	\        P                  ! V
^ 4      3# )FrC  )rî  r6  r:  r   r  rz  rG   r;  )rE  r  r%  rê  rë  r)  rß  rÜ  rñ  rê   r1  s   &&&&&&&&&  r+   Úgru_impl_datar|  1  se   € ô ˜6¨uÓ5€FÜ$ØØ
�	‰	�!‹ØØØØØØØÜÔ"°Ä}ÔUóÑ€Cð ”—’˜M¨1Ó-Ð-Ð-r*   c	                 ó¼   € \        W#R 4      p\        V VP                  ^ 4      VVVVVVV\        \        \
        R7      4
      w  ršV	\        P                  ! V
^ 4      3# )Fr9  )rî  r6  r:  r   r  rx  rG   r;  )rã   r%  rê  rë  r)  rß  rÜ  rñ  rm  rê   r1  s   &&&&&&&&&  r+   Úgru_implr~  O  sb   € ô ˜6¨uÓ5€FÜ$ØØ
�	‰	�!‹ØØØØØØØÜ”¬Ô2óÑ€Cð ”—’˜M¨1Ó-Ð-Ð-r*   c                 ó¼   € \        V P                  4       W4      p\        V^ 4      p\        V^4      p\        P                  P
                  P                  WW%V4      # r‰   )r­  rl  r°  rG   rÒ  rœ   Ú_upsample_bilinear2d_aa©rã   rR  Úalign_cornersr«  r¸  Úscale_hÚscale_ws   &&&&   r+   Úupsample_bilinear2d_aa_vecr…  m  sP   € ô )¨¯©«°{ÓR€EÜ˜m¨QÓ/€GÜ˜m¨QÓ/€GÜ�9‰9�>‰>×1Ñ1Ø�m¨góð r*   c                 ó¼   € \        V P                  4       W4      p\        V^ 4      p\        V^4      p\        P                  P
                  P                  WW%V4      # r‰   )r­  rl  r°  rG   rÒ  rœ   Ú_upsample_bicubic2d_aar�  s   &&&&   r+   Úupsample_bicubic2d_aa_vecrˆ  y  óP   € ô )¨¯©«°{ÓR€EÜ˜m¨QÓ/€GÜ˜m¨QÓ/€GÜ�9‰9�>‰>×0Ñ0Ø�m¨góð r*   c                 ó¼   € \        V P                  4       W4      p\        V^ 4      p\        V^4      p\        P                  P
                  P                  WW%V4      # r‰   )r­  rl  r°  rG   rÒ  rœ   Ú_upsample_lanczos2d_aar�  s   &&&&   r+   Úupsample_lanczos2d_aa_vecrŒ  …  r‰  r*   c                 óˆ   € \        V P                  4       W4      pV'       d   TMR .\        V4      ,          p\        WW%4      # r;   )r­  rl  rÌ  Ú_upsample_linear)rã   rR  r‚  r«  r¸  r¯  s   &&&&  r+   Ú_upsample_linear_vecr�  ‘  s7   € ô )¨¯©«°{ÓR€Eß+‰]°$°¼#¸e»*Õ1D€FÜ˜E¨-Ó@Ð@r*   c          
      óx   € V ^8„  d   QhR\         R\        \        ,          R\        R\        R,          R\         /# )r-   rã   rR  r‚  rÓ  NrZ   ©r   rµ  r\   r4   rx   )r5   s   "r+   r6   r6   ¡  sI   € ÷ Kñ KÜðKä”c•ðKô ðKô �d�lð	Kô
 ñKr*   c                 ó   € \        WW#.4      # r;   ©rŽ  )rã   rR  r‚  rÓ  s   &&&&r+   Úupsample_linear1dr”  Ÿ  s   € ô ˜E°¸zÓJÐJr*   c                ó’   € V ^8„  d   QhR\         R\        \        ,          R\        R\        R,          R\        R,          R\         /# )r-   rã   rR  r‚  rÒ  NrÓ  rZ   r‘  )r5   s   "r+   r6   r6   ¯  sX   € ÷ Uñ UÜðUä”c•ðUô ðUô �d�lð	Uô
 �d�lðUô ñUr*   c                 ó   € \        WW#V.4      # r;   r“  )rã   rR  r‚  rÒ  rÓ  s   &&&&&r+   Úupsample_bilinear2dr—  ª  s   € ô ˜E°È(Ð?SÓTÐTr*   c                ó¬   € V ^8„  d   QhR\         R\        \        ,          R\        R\        R,          R\        R,          R\        R,          R\         /# )	r-   rã   rR  r‚  rÜ  NrÒ  rÓ  rZ   r‘  )r5   s   "r+   r6   r6   ½  s^   € ÷ 
ñ 
Üð
ä”c•ð
ô ð
ô �d�lð	
ô
 �d�lð
ô �d�lð
ô ñ
r*   c                 ó   € \        WW#WE.4      # r;   r“  )rã   rR  r‚  rÜ  rÒ  rÓ  s   &&&&&&r+   Úupsample_trilinear3drš  ¹  s   € ô Ø˜M°hÐ+Ióð r*   c                 óŠ   € V'       d!   V^8”  d   V R,
          VR,
          ,          # ^ # Ve   V^ 8”  d
   RV,          # W,          # )r_   r{   r!   )r’  r“  r‚  rƒ   s   &&&&r+   Ú_compute_scalerœ  Ê  s@   € ßØ5=À´\�˜#• (¨S¥.Õ1ÐHÀqÐHà#Ò/°E¸A´Iˆs�U�{ÐUÀ7ÕCUÐUr*   c                 óN   € V'       d	   W,          # WR ,           ,          R ,
          # rE  r!   )rƒ   Ú	dst_indexr‚  s   &&&r+   Ú_compute_source_indexrŸ  Ñ  s    € ßØÕ Ð à C�Õ(¨3Õ.Ð.r*   c                ót   € V ^8„  d   QhR\         \        ,          R\         \        ,          R\        R\        /# )r-   rÞ  ÚweightsÚweights_precisionrZ   ©r   r   )r5   s   "r+   r6   r6   Ø  s6   € ÷ 7ñ 7Ü	”&Õ	ð7Ü$,¬VÕ$4ð7ÜIOð7äñ7r*   c                 óÜ   € \        R  \        W4       4       4      ^V^,
          ,          ,           pW2,	          p\        P                  ! V^ ^ÿ4      P	                  \        P
                  4      # )c              3   ó¬   "  € T FJ  w  rVP                  \        P                  4      VP                  \        P                  4      ,          x € KL  	  R # 5ir;   )r>   rG   r   )r'  rG  rL  s   &  r+   r(  Ú%_sum_tensors_uint8.<locals>.<genexpr>Û  s8   é € ð Ù:K±$°!ˆ�‰ŒU�[‰[Ó˜AŸD™D¤§¡Ó-×-Ò-Ó:Kùs   ‚AA)Ú_sum_tensorsrV  rG   r©   r>   r"  )rÞ  r¡  r¢  r  s   &&& r+   Ú_sum_tensors_uint8r¨  Ø  s_   € ô ñ Ü:=¸cÔ:Kóó à	
Ð  1Õ$Õ	%õ'€Fð Õ(€FÜ�;Š;�v˜q #Ó&×)Ñ)¬%¯+©+Ó6Ð6r*   c                ó0   € V ^8„  d   QhR\         R\        /# )r-   r¡  rZ   ©r   r   )r5   s   "r+   r6   r6   â  s   € ÷ -ñ -Ô'9ð -¼fñ -r*   c                 ó  € \         P                  ! V 4      P                  4       p^p\         P                  ! W!P                  R7      pRV^V^,           ,          ,          ,           pVR8¬  pW%P                  4       ,
          # )é   rà  r½   i €  )rG   r;  r§   rå  rá  r$  )r¡  Ú
max_weightÚmax_weight_precisionÚ
precisionsrÕ  rí  s   &     r+   Ú_compute_weight_precisionr°  â  se   € Ü—’˜WÓ%×)Ñ)Ó+€JØÐÜ—’Ð2×;LÑ;LÔM€JØ�:  z°A¥~Õ!6Õ7Õ7€FØ�gÑ€DØ§(¡(£*Õ,Ð,r*   c          
      óŽ   € V ^8„  d   QhR\         R\        \        ,          R\        R\        \        R,          ,          R\         /# )r-   rã   rR  r‚  r¯  NrZ   r‘  )r5   s   "r+   r6   r6   ì  sN   € ÷ Iñ IÜðIä”c•ðIô ðIô ”˜•Õð	Iô
 ñIr*   c                 ó  a aa€ S P                   ^,          pS P                   R,          p\        V4      p\        P                  ! S \        P                  P
                  R7      w  poVVV 3R lp\        \        WQV4      4       U	U
UUu. uF   w  p	w  r«pV! W«W6^,
          V	,
          4      NK"  	  ppp
p	p\        \        V!  4      w  rÞp. p\        ^ ^..V,          !   Fx  pRR.\        V4       Uu. uF#  pVV,          ^ 8X  d
   VV,          MVV,          NK%  	  up,           p\        P                  S V4      p\        VS4      pVP                  V4       Kz  	  \        \        V4      4       Fˆ  p	WÙ,          Wé,          ,
          P!                  RR4      P#                  S4      p\        VR,          VR,          4       UUu. uF+  w  ppV\$        P&                  ! VV,
          V4      ,           NK-  	  pppKŠ  	  \        V4      ^8w  d   \)        R	\        V4       24      hV^ ,          p\        P*                  ! S 4      pS P,                  P.                  R
8X  d   V^8  d   \$        P0                  p\3        V\$        P4                  4      '       g"   \)        R\/        V4      P6                   24      hVP9                  VR7      pS P;                  4       '       g   VP=                  4       pV# u uppp
p	i u upi u uppi )r_   ºr-   NNrî  c                 óš  <€ \        WS	V4      p\        P                  ! VSP                  R 7      P	                  S
R7      p\        WES	4      P                  RR7      pVP                  ! VP                  ^ ,          .^.V,          O5!  pVP	                  \        P                  4      pV^,           P                  V ^,
          R7      pWgV3# )rà  r  r®   r¤   r¦   )
rœ  rG   rå  rá  r>   rŸ  r©   rc  rS  r  )Úinp_sizer“  r¯  ÚnsqueezeÚscale_factorr  Úx_f32r?   Úxp1r‚  r  rã   s   &&&&     €€€r+   Ú
get_valuesÚ$_upsample_linear.<locals>.get_valuesü  s¦   ø€ ä% h¸-ÈÓPˆô �LŠL˜¨%¯,©,Ô7×:Ñ:ÀÐ:ÓGˆä% l°}ÓE×KÑKÐPSÐKÓTˆØ—’˜eŸk™k¨!�nÐ@°¨s°hÕ/?Ó@ˆØ�H‰H”U—[‘[Ó!ˆØ�1�u�m‰m ¨1¥ˆmÓ-ˆØ˜ˆ}Ðr*   Nr®   r{   :NNr-   :r_   Nr-   z+Expected vs to have exactly 1 element, got rå  z$Expected result to be a Tensor, got rŸ  )rS  rÌ  r2   rL   r3   ÚINT_TO_FLOATr­  rV  rµ  r
   ra   rœ   ræ  r   r  rÊ  r©   r>   rG   r  rj  r   rá  r`  r£  r=   r   r"   r  rä  Úround)rã   rR  r‚  r¯  rè  Ú	inp_sizesÚn_dimsrc   rº  r  rµ  r“  rÕ  Úxs_f32ÚxsÚxp1sÚvsr´  Úkrì  ÚvÚxscaleÚv1Úv2rT  r   r  s   f&f&                      @r+   rŽ  rŽ  ë  s�  ú€ ð —‘˜Q•€JØ—‘˜B•€IÜ�‹^€Fä×'Ò'ØÜ!×AÑA×NÑNô�H€A€u÷
ô 09Ü�	¨Ó/ô0
öñ0
Ñ+ˆAÑ+� Fñ 	�8 v¸­z¸A­~Ö>ñ0
ð ó ô œC ™LÓ)Ñ€F�à	€BÜ˜˜1�v�h Õ'Ô(ˆØ�TˆlÄuÈVÄ}ÓUÁ}À! q¨¥t¨q¤y˜b že°d¸1µgÒ=Á}ÑUÕUˆÜ×Ñ˜u cÓ*ˆÜ# A uÓ-ˆØ
�	‰	�!Žñ	 )ô ”e˜F“mÖ$ˆØ•)˜b�eÕ#×*Ñ*¨3°Ó4×7Ñ7¸Ó>ˆô ˜b �g r¨$¥xÔ0ô
ñ 1‘��Bð ”—’˜2 �7 FÓ+×+Ð+Ù0ð 	ñ 
‰ñ %ô ˆ2ƒw�!„|ÜÐJÌ3ÈrË7È)ÐTÓUÐUØ��U€Fô ×/Ò/°Ó6€Mð ‡|�|×Ñ˜FÔ" z°B¤Ü×/Ñ/ˆä�fœeŸl™l×+Ò+ÜØ2´4¸³<×3HÑ3HÐ2IÐJó
ð 	
ð ×Ñ¨]ÐÓ;€Fà×"Ñ"×$Ò$Ø—‘“ˆà€MùõYùò Vùó
s   Â
&K.
Ã2)K6Ç1K;c                ó<   € V ^8„  d   QhR\         R\         R\        /# )r-   r´  rµ  rZ   ©r   r4   )r5   s   "r+   r6   r6   :  s!   € ÷ ñ ”Fð œvð ¬$ñ r*   c                 ó4   € V P                   VP                   8H  # r;   rÛ  )r´  rµ  s   &&r+   Úis_same_sizerÌ  9  s   € à�7‰7�a—g‘gÑÐr*   c                 ó,   € \         P                  W4      # r;   )rœ   rè  )r?   rS  rM   s   &&*r+   Ú_reshape_aliasrÎ  >  s   € ô �9‰9�QÓÐr*   c                 ó,   € \         P                  W4      # r;   )rœ   rð  )r?   rë  s   &&r+   ræ  ræ  D  s   € ä�:‰:�aÓ!Ð!r*   c                 ó.   € \         P                  WW#4      # r;   )rœ   ra  )r?   rë  r’   r‡  s   &&&&r+   r‰  r‰  I  s   € ä�>‰>˜! eÓ8Ð8r*   c                 óÀ  € V FL  pVf   K	  \         P                  ! VP                  \         P                  \         P                  39   R 4       KN  	  \         P                  ! VP                  \         P
                  8H  R 4       ^ RIHp V! V P                  4       ^ 8H  4      '       d<   \         P                  P                  W4      pV P                  VP                  V4      # \        \        V4      4       F<  pW',          pVf   K  VP                  ^ V P!                  V4      ^,
          R7      W'&   K>  	  \"        P%                  W4      P'                  V( V4      # )Nc                  ó   € R # ©z3tensors used as indices must be long or int tensorsr!   r!   r*   r+   r™   Ú&_unsafe_masked_index.<locals>.<lambda>T  r;  r*   c                  ó   € R # ©z*tensors used as masks must be bool tensorsr!   r!   r*   r+   r™   rÔ  Y  ó   € Ñ<r*   rø  rÕ  )rG   r›   r  r  r\   r4   r¾  rù  r  rÀ  Úmeta_index_Tensorr  rS  ra   rÌ  r©   rl  rœ   ræ  r   )r?   rí  rë  Úfillrð  rù  Úmeta_resultr  s   &&&&    r+   ré  ré  N  s  € ãˆØÔÜ�LŠLØ—‘¤§
¡
¬E¯I©IÐ6Ñ6ÙMöñ ô 
‡L‚LØ�
‰
”e—j‘jÑ Ù<ôõ
 Eá�a—g‘g“i 1‘n×%Ò%Ü×/Ñ/×AÑAÀ!ÓMˆØ�z‰z˜+×+Ñ+¨TÓ2Ð2ä”3�w“<Ö ˆØ•
ˆØÔØŸ™¨°·±°q³	¸Aµ˜Ó>ˆG‹Jñ !ô
 ×Ñ˜aÓ)×5Ñ5°t°e¸TÓBÐBr*   c                 ót  € V FL  pVf   K	  \         P                  ! VP                  \         P                  \         P                  39   R 4       KN  	  \         P                  ! VP                  \         P
                  8H  R 4       V P                  4       ^ 8X  d   V P                  4       # \        \        V4      4       FL  pW%,          pVf   K  VP                  V P                  V4      ) V P                  V4      ^,
          R7      W%&   KN  	  VP                  V( ^ 4      p\        P                  WVRR7      # )Nc                  ó   € R # rÓ  r!   r!   r*   r+   r™   Ú5_unsafe_masked_index_put_accumulate.<locals>.<lambda>p  r;  r*   c                  ó   € R # rÖ  r!   r!   r*   r+   r™   rÝ  u  r×  r*   rÕ  Tr†  )rG   r›   r  r  r\   r4   r  rä  ra   rÌ  r©   rl  r   rœ   r‰  )r?   rí  rë  rÕ  rð  r  Úmasked_values   &&&&   r+   r  r  j  sî   € ãˆØÔÜ�LŠLØ—‘¤§
¡
¬E¯I©IÐ6Ñ6ÙMöñ ô 
‡L‚LØ�
‰
”e—j‘jÑ Ù<ôð
 	‡w�wƒy�A„~Ø�w‰w‹yÐä”3�w“<Ö ˆØ•
ˆØÔØŸ™¨!¯&©&°«)¨¸¿¹À»ÀQ½˜ÓGˆG‹Jñ !ð
 ×%Ñ% t e¨QÓ/€LÜ×!Ñ! !¨lÀtÐ!ÓLÐLr*   c                ó�   € V ^8„  d   QhR\         R\         R\         R,          R\        R\        R\        \         \         3,          /# ©r-   r‘   r/  rô   Nr!  r_  rZ   rÏ  )r5   s   "r+   r6   r6   „  sQ   € ÷ 3 ñ 3 Ü
ð3 äð3 ô �T�Mð3 ô ð	3 ô
 ð3 ô Œ6”6ˆ>Õñ3 r*   c                 ó
  € V P                  4       p^pV^8  d   ^ pVeC   V^8”  d2   ^.V,          pVP                  ^ ,          Wv&   VP                  V4      pMTpW,          p \        P                  ! W8g  V^ 4      p	V	P                  V4      p
\        P                  ! WV
4      P                  V4      ) p\        P                  ! W8g  V^ 4      pV\        P                  P                  8X  d   V^8”  d   V P                  RR4      pW¼3# Vem   XP                  V P                  4      p\        P                  ! W†V
4      P                  V4      p\        P                  ! W8g  V^ 4      pVP                  4       pM!W8g  P                  4       P                  V 4      pV\        P                  P                  8X  d   VP                  4       pW¼3# V\        P                   P                  8X  d   VP                  4       V,          pW¼3# )r_   r®   r!   )rY   rS  rè  rG   r}   rb   ÚgatherrX  r    r&   r’   r  rã  r$  r>   r(   r'   )r‘   r/  rô   r!  r_  r¿  rd  rS  Úwre  Úsafe_target_rT  r`  Úwsums   &&&&&         r+   Ú_nll_loss_forwardrç  „  sº  € ð �X‰X‹Z€FØ€KØ�„zØˆàÒØ�AŒ:àðàõˆEð "(§¡¨a¥ˆEÑØ—‘˜EÓ"‰AàˆAØ�xˆÜ—+’+˜fÑ4°f¸aÓ@€KØ×(Ñ(¨Ó5€Lô �lŠl˜4¨lÓ;×CÑCÀKÓPÐP€Fä�[Š[˜Ñ/°¸Ó;€Fà”I—N‘N×(Ñ(Ô(¨V°a¬ZØ—}‘} R¨Ó-ˆØÐ#Ð#àÒà�H‰H�T—Z‘ZÓ ˆÜ�|Š|˜A¨LÓ9×AÑAÀ+ÓNˆÜ�{Š{˜6Ñ1°4¸Ó;ˆØ—x‘x“z‰àÑ.×3Ñ3Ó5×8Ñ8¸Ó>ˆà”I—M‘M×'Ñ'Ô'Ø—‘“ˆð ÐÐð 
”i—n‘n×*Ñ*Ô	*Ø—‘“ Õ,ˆàÐÐr*   r`  c                ó�   € V ^8„  d   QhR\         R\         R\         R,          R\        R\        R\        \         \         3,          /# rá  rÏ  )r5   s   "r+   r6   r6   ¼  sY   € ÷ Lñ LÜ
ðLäðLô �T�MðLô ð	Lô
 ðLô Œ6”6ˆ>ÕñLr*   c                 óº  a a€ S P                  4       ^ 8”  d   S P                  4       ^8:  g   \        RS P                  4        R24      hSP                  4       ^8”  d   \        RSP                  4        R24      hS P                  4       ^8H  ;'       d    SP                  4       ^ 8H  pV'       gB   \        P                  ! S P                  ^ ,          SP                  ^ ,          8H  V V3R l4       S P                  R,          pVeF   VP                  4       ^8X  d   VP                  4       V8X  g   \        RV RVP                   24      h\        S SW#V4      # )r   ry  rz  r{  c                  ó>   <€ R S P                    RSP                    R2# )r|  r}  r~  rÛ  )r‘   r/  s   €€r+   r™   Ú"nll_loss_forward.<locals>.<lambda>Î  s   ø€ Ð0°·±°¸JÀvÇ|Á|ÀnÐTUÑVr*   z/weight tensor should be defined either for all z7 classes or no classes but got weight tensor of shape: r`   )rY   rj  rG   r›   rS  r  rç  )r‘   r/  rô   r!  r_  r€  Ú	n_classess   ff&&&  r+   Únll_loss_forwardrí  º  s$  ù€ ð �H‰H‹J˜ŒN˜tŸx™x›z¨QœÜÐDÀTÇXÁXÃZÀLÐPQÐRÓSÐSØ‡z�zƒ|�aÔÜØOÐPV×PZÑPZÓP\È~Ð]^Ð_ó
ð 	
ð —8‘8“: ‘?×8Ð8 v§z¡z£|°qÑ'8€LßÜ�ŠØ�J‰J�q�M˜VŸ\™\¨!�_Ñ,ÝVô	
ð
 —
‘
˜2•€IàÒ 6§:¡:£<°1Ô#4¸¿¹»È9Ô9TÜØ=¸i¸[ð I/Ø/5¯|©|¨nð>ó
ð 	
ô
 ˜T 6¨6¸lÓKÐKr*   c                ó�   € V ^8„  d   QhR\         R\         R\         R,          R\        R\        R\        \         \         3,          /# rá  rÏ  )r5   s   "r+   r6   r6   Þ  sY   € ÷ Lñ LÜ
ðLäðLô �T�MðLô ð	Lô
 ðLô Œ6”6ˆ>ÕñLr*   c                 ó   € \        WW#V4      # r;   )rç  )r‘   r/  rô   r!  r_  s   &&&&&r+   Únll_loss2d_forwardrð  Ü  s   € ô ˜T¨6¸lÓKÐKr*   c                ó<   € V ^8„  d   QhR\         R\        R\         /# ©r-   r?   ÚArZ   rw   )r5   s   "r+   r6   r6   ê  s!   € ÷ /ñ /¤Fð /¬uð /¼ñ /r*   c                 óh   € V^,           V ,          V^,           ,
          V ,          V ,          ^,           # r  r!   ©r?   ró  s   &&r+   Ú_upsample_cubic_convolution1rö  ê  s(   € Ø��U�a�K˜1˜q�5Õ! QÕ&¨Õ*¨QÕ.Ð.r*   c                ó<   € V ^8„  d   QhR\         R\        R\         /# rò  rw   )r5   s   "r+   r6   r6   î  s!   € ÷ 5ñ 5¤Fð 5¬uð 5¼ñ 5r*   c                 ó‚   € W,          ^V,          ,
          V ,          ^V,          ,           V ,          ^V,          ,
          # )r  r!   rõ  s   &&r+   Ú_upsample_cubic_convolution2rù  î  s.   € Ø�U�Q˜•U�]˜aÕ ! a¥%Õ'¨1Õ,¨q°1­uÕ4Ð4r*   c                ó0   € V ^8„  d   QhR\         R\        /# r  ©r   r   )r5   s   "r+   r6   r6   ò  s   € ÷ 
ñ 
¬ð 
Ô3Eñ 
r*   c                 ó  € RpV P                   \        P                   ! R4      8X  d˜   \        P                  ! V RV ,
          .^ R7      p\        P                  ! V R,           RV ,
          .^ R7      p\        W14      p\	        W!4      p\        P
                  ! V^ R7      w  rg\        P
                  ! V^ R7      w  r‰WhW—3# \        V R,           V4      \	        W4      \	        RV ,
          V4      \        RV ,
          V4      3# )g      è?r\  r{   r—   r  g      è¿)rá  rG   r;  rù  rö  r:  )
r  ró  Útt1Útt2Úw03Úw12r!  r$  r"  r#  s
   &         r+   Ú _upsample_get_cubic_coefficientsr  ò  sÑ   € Ø€Aà‡x�x”5—<’< Ó&Ô&Ü�kŠk˜1˜c A�g˜,¨AÔ.ˆÜ�kŠk˜1˜s�7 C¨!¥GÐ,°!Ô4ˆÜ*¨3Ó2ˆÜ*¨3Ó2ˆÜ—’˜c qÔ)‰ˆÜ—’˜c qÔ)‰ˆØ�rˆ~Ðô )¨¨S­°!Ó4Ü(¨Ó.Ü(¨¨q­°!Ó4Ü(¨¨q­°!Ó4ð	
ð 	
r*   c                ó<   € V ^8„  d   QhR\         R\        R\        /# )r-   ÚcoeffsÚtsrZ   rª  )r5   s   "r+   r6   r6     s'   € ÷ Fñ FÔ%7ð F¼Vð FÌñ Fr*   c                 óN   € \        V4      p\        R  \        W4       4       4      # )c              3   ó6   "  € T F  w  rW,          x € K  	  R # 5ir;   r!   ©r'  r¢  r£  s   &  r+   r(  Ú+_upsample_cubic_interp1d.<locals>.<genexpr>  s   é € ÐEÑ0D¡H R˜ŸšÓ0Dùr‚  )r  r§  rV  )r  r  Úcoeffs2s   && r+   Ú_upsample_cubic_interp1dr
    s"   € Ü.¨rÓ2€GÜÑE´°FÔ0DÓEÓEÐEr*   c                óF   € V ^8„  d   QhR\         \        ,          R\        /# )r-   r  rZ   r£  )r5   s   "r+   r6   r6     s   € ÷ !ñ !”XœfÕ%ð !¬&ñ !r*   c                 ó6   € \        \        P                  V 4      # r;   )r   rG   rÓ  )r  s   &r+   r§  r§    s   € Ü”%—)‘)˜RÓ Ð r*   c                óp   € V ^8„  d   QhR\         R\        R\        P                  R\        P                  /# )r-   Ú	num_stepsr‚  r  rá  )r\   r4   rG   r  rá  )r5   s   "r+   r6   r6     s:   € ÷ Nñ NÜðNÜ#'ðNÜ05·±ðNÜEJÇ\Á\ñNr*   c                 ó¨   € V ^8:  d   \         P                  ! ^ W2R7      # V'       g   V ^,
          V ,          M^p\         P                  ! V) W@W2R7      # )r_   râ  )Ústepsrá  r  )rG   r   Úlinspace)r  r‚  r  rá  r´  s   &&&& r+   Ú_linspace_from_neg_oner    sC   € ð �A„~Ü�|Š|˜A fÔ:Ð:ç-:ˆ)�a�-˜9Ö	$À€AÜ�>Š>˜1˜"˜a¸ÔMÐMr*   c                óH   € V ^8„  d   QhR\         R\        R\        R\        /# )r-   ÚthetaÚhrä  r‚  rë  )r5   s   "r+   r6   r6     s(   € ÷ &ñ &œfð &¬ð &´ð &ÄTñ &r*   c                 ó  € V P                   pV P                  p\        W#WE4      P                  ^V^4      p\        WWE4      P                  V^^4      p\        P
                  ! RWER7      p\        P                  P                  P                  VRR^ R7      p\        P                  P                  P                  VRR^ R7      p\        P                  P                  P                  VRR^ R7      pWg,           V,           # )r_   r  Úconstant©rG  r'  r’   )r_   r_   r_   )r   r-   ©r_   r_   )r-   r   ©	r  rá  r  rè  rG   ræ  r¤  rè  rG  )	r  r  rä  r‚  r  rá  Úgrid_xÚgrid_yÚgrid_ones	   &&&&     r+   Ú_make_base_grid_4dr    sÙ   € Ø�K‰K€EØ�\‰\€Fô $ A°eÓD×IÑIÈ!ÈQÐPQÓR€FÜ# A°eÓD×IÑIÈ!ÈQÐPQÓR€FÜ�zŠz˜)¨5Ô@€Hô �X‰X× Ñ ×$Ñ$ V°¸jÐPQÐ$ÓR€FÜ�X‰X× Ñ ×$Ñ$ V°¸jÐPQÐ$ÓR€FÜ�x‰x×"Ñ"×&Ñ& x°VÀ*ÐTUÐ&ÓV€HØ�?˜XÕ%Ð%r*   c          
      óT   € V ^8„  d   QhR\         R\        R\        R\        R\        /# )r-   r  r?  r  rä  r‚  rë  )r5   s   "r+   r6   r6   +  s/   € ÷ /ñ /œfð /¬ð /´ð /¼ð /ÌTñ /r*   c                 óª  € V P                   pV P                  p\        W4WV4      P                  ^^V^4      p\        W$WV4      P                  ^V^^4      p\        WWV4      P                  V^^^4      p	\        P
                  ! RWVR7      p
\        P                  P                  P                  VRR^ R7      p\        P                  P                  P                  VRR^ R7      p\        P                  P                  P                  V	RR^ R7      p	\        P                  P                  P                  V
RR^ R7      p
Wx,           V	,           V
,           # )	r_   r  r  r  )r_   r_   r_   r_   )r   r£   )r_   r-   )r-   r_   )r£   r   r  )r  r?  r  rä  r‚  r  rá  r  r  Úgrid_zr  s   &&&&&      r+   Ú_make_base_grid_5dr"  +  s%  € Ø�K‰K€EØ�\‰\€Fä# A°eÓD×IÑIÈ!ÈQÐPQÐSTÓU€FÜ# A°eÓD×IÑIÈ!ÈQÐPQÐSTÓU€FÜ# A°eÓD×IÑIÈ!ÈQÐPQÐSTÓU€FÜ�zŠz˜,¨eÔC€Hô �X‰X× Ñ ×$Ñ$ V°¸jÐPQÐ$ÓR€FÜ�X‰X× Ñ ×$Ñ$ V°¸jÐPQÐ$ÓR€FÜ�X‰X× Ñ ×$Ñ$ V°¸jÐPQÐ$ÓR€FÜ�x‰x×"Ñ"×&Ñ& x°VÀ*ÐTUÐ&ÓV€HØ�?˜VÕ# hÕ.Ð.r*   c                óR   € V ^8„  d   QhR\         R\        \        ,          R\        /# ©r-   r  rl  r‚  ©r   rµ  r\   r4   )r5   s   "r+   r6   r6   <  s%   € ÷ !ñ !¤Vð !´4¼µ9ð !ÌTñ !r*   c                 óÐ   € Vw  r4rV\        WWbR 7      pVP                  R^^4      V P                  P                  ^4      ,          P	                  R4      pVP                  W5V^4      # ©©r‚  r`   r¡  )r  rè  r¥  rb   r$  )	r  rl  r‚  rõ  rc   r  rä  Ú	base_gridÚgrids	   &&&      r+   Ú_affine_grid_generator_4dr+  <  s]   € Ø�J€Aˆ!Ü" 5¨QÔL€Ið �N‰N˜2˜q !Ó$ u§x¡x×'9Ñ'9¸!Ó'<Õ<×AÑAÀ"ÓE€DØ�9‰9�Q˜1˜aÓ Ð r*   c                óR   € V ^8„  d   QhR\         R\        \        ,          R\        /# r$  r%  )r5   s   "r+   r6   r6   F  s%   € ÷ $ñ $¤Vð $´4¼µ9ð $ÌTñ $r*   c                 óÔ   € Vw  r4rVp\        WWgVR 7      pVP                  R^^4      V P                  P                  ^4      ,          P	                  R4      p	V	P                  W5Wg^4      # r'  )r"  rè  r¥  rb   r$  )
r  rl  r‚  rõ  rc   r?  r  rä  r)  r*  s
   &&&       r+   Ú_affine_grid_generator_5dr.  F  sa   € Ø�M€Aˆ!�Ü" 5¨QÀÔO€Ið �N‰N˜2˜q !Ó$ u§x¡x×'9Ñ'9¸!Ó'<Õ<×AÑAÀ"ÓE€DØ�9‰9�Q˜1 Ó#Ð#r*   c                óR   € V ^8„  d   QhR\         R\        \        ,          R\        /# r$  r%  )r5   s   "r+   r6   r6   S  s*   € ÷ Sñ S¤ð S¬t´C­yð SÌñ Sr*   c                 óž   € \         P                  ! \        V4      R9   R 4       \        V4      ^8X  d   \        WVR7      # \	        WVR7      # )r„  c                  ó   € R # )zCaffine_grid_generator needs 4d (spatial) or 5d (volumetric) inputs.r!   r!   r*   r+   r™   Ú'affine_grid_generator.<locals>.<lambda>V  s   € ÑUr*   r(  r  )rG   r›   rÌ  r+  r.  )r  rl  r‚  s   &&&r+   Úaffine_grid_generatorr3  P  sF   € ô 
‡L‚LÜˆD‹	�VÑÙUôô ˆ4ƒy�A„~Ü(¨ÀMÔRÐRä(¨ÀMÔRÐRr*   c                ól   € V ^8„  d   QhR\         R\         R\        R\        R\        R\        R\         /# )r-   r´  r*  Úinterpolation_modeÚpadding_moder‚  Ú_expand_gridrZ   rë  )r5   s   "r+   r6   r6   ^  sW   € ÷ p4ñ p4Üðp4ä
ðp4ô ðp4ô ð	p4ô
 ðp4ô ðp4ô ñp4r*   c           	      ó  a aaaaaa a!a"a#a$a%a&a'a(a)a*a+a,a-a.a/a0a1a2€ \         P                  ! SR9   V3R l4       \         P                  ! SR9   V3R l4       R V3R llo2R R lo0R VVV03R llo$R	 V$V23R
 llpS P                  w  o!oo(o)VP                  w  po.o/pV^8w  d   \        RV 24      h^ RIHp	Hp
 \         P                  ! \         P                  4      P                  pS P                  P                  R9   ;'       d    V	! V
! S(V8*  S)V8*  4      4      pV'       d   \         P                  M\         P                  o+S'       d)   VP                  S!^S.S/V4      P                  S!SS.S/^4      pR V(V)3R llo*\         P                  ! S!S P                  R7      P                  S!^^^4      o"\         P                  ! SS P                  R7      P                  ^S^^4      o R VV!VV*V+V.V/3R llo#R V V"V V#3R llo&VR,          pVR,          pS^ 8X  dÏ   V! VS)4      pV! VS(4      pVP!                  4       VP!                  4       uo,o-S,^,           S-ppS,S-^,           ppTTppVV,
          VV,
          ,          pVV,
          VV,
          ,          pVV,
          VV,
          ,          pVS,,
          VS-,
          ,          p\#        V&3R lS,S-V3VVV3VVV3VVV33 4       4      # S^8X  d=   V! VS)4      pV! VS(4      pVP%                  4       pVP%                  4       pS&! VV^4      # S2! VS)4      pS2! VS(4      pVP!                  4       o,VP!                  4       o-VS,,
          o1VS-,
          pS'       g#   S1P'                  ^4      o1VP'                  ^4      pR V$V&V(V)3R llo'R V'V,V-V13R llo%\(        ;QJ d     . V%3R l\+        ^4       4       F  NK  	  5M! V%3R l\+        ^4       4       4      p\-        VV4      # )r   c                  ó   <€ R S  2# )zInvalid interpolation mode r!   )r5  s   €r+   r™   Ú"_grid_sampler_2d.<locals>.<lambda>o  s   ø€ Ð-Ð.@Ð-AÑBr*   c                  ó   <€ R S  2# )zInvalid padding mode r!   )r6  s   €r+   r™   r:  r  s   ø€ Ð-BÀ<À.Ñ+Qr*   c                ó<   € V ^8„  d   QhR\         R\        R\         /# ©r-   Úcoordsrl  rZ   r[   )r5   s   "r+   r6   Ú&_grid_sampler_2d.<locals>.__annotate__u  s!   € ÷ "ñ "œFð "¬#ð "´&ñ "r*   c                 ó„   <€ S'       d   VR ,          R ,
          MVR ,          pVR ,          R ,
          pW,          V,           # rE  r!   )r>  rl  r  Úofsr‚  s   &&  €r+   ÚunnormalizeÚ%_grid_sampler_2d.<locals>.unnormalizeu  s6   ø€ ÷ %2ˆt�c�z˜CÖ¸¸s½
ˆØ�S�j˜3ÕˆØ�|˜cÕ!Ð!r*   c                óH   € V ^8„  d   QhR\         R\        R\        R\         /# )r-   r>  Ú	twice_lowÚ
twice_highrZ   r[   )r5   s   "r+   r6   r?  €  s)   € ÷ 

ñ 

¤Fð 

´sð 

Ìð 

ÔPVñ 

r*   c                 ó”  € W8X  d   \         P                  ! V 4      # V^,          pW!,
          ^,          pW,
          P                  4       p\         P                  ! WT4      pWT,          P	                  4       P                  \         P                  R7      p\         P                  ! V^,          ^ 8H  Wc,           WC,           V,
          4      # )r-   r  )rG   r=  r  ÚfmodÚfloorr>   Úint8r}   )r>  rE  rF  Ú
coords_minÚcoords_spanÚcoords2ÚextraÚflipss   &&&     r+   Úreflect_coordinatesÚ-_grid_sampler_2d.<locals>.reflect_coordinates€  sœ   € ØÔ"Ü×#Ò# FÓ+Ð+Ø •]ˆ
Ø!Õ-°Õ2ˆØÕ&×+Ñ+Ó-ˆÜ—
’
˜7Ó0ˆØÕ&×-Ñ-Ó/×2Ñ2¼¿¹Ð2ÓDˆÜ�{Š{Ø�A�I˜‰N˜EÕ.°Õ0HÈ5Õ0Pó
ð 	
r*   c                ó<   € V ^8„  d   QhR\         R\        R\         /# r=  r[   )r5   s   "r+   r6   r?  Œ  s!   € ÷ 
>ñ 
>¤Fð 
>´#ð 
>¼&ñ 
>r*   c                 ó  <€ S^ 8X  d   V # S^8X  d    \         P                  ! V ^ V^,
          4      # S'       d   S! V ^ ^V^,
          ,          4      pMS! V R^V,          ^,
          4      p\         P                  ! V^ V^,
          4      # r
  r¨   )r>  rl  Úcoords_reflectedr‚  r6  rP  s   && €€€r+   Úcompute_coordinatesÚ-_grid_sampler_2d.<locals>.compute_coordinatesŒ  sx   ø€ Ø˜1ÔØˆMØ˜QÔÜ—;’;˜v q¨$°­(Ó3Ð3çÙ#6°v¸qÀ!ÀtÈaÅxÅ.Ó#QÑ á#6°v¸rÀ1ÀtÅ8ÈaÅ<Ó#PÐ Ü—;’;Ð/°°D¸1µHÓ=Ð=r*   c                ó<   € V ^8„  d   QhR\         R\        R\         /# r=  r[   )r5   s   "r+   r6   r?  ˜  s!   € ÷ 4ñ 4¤Vð 4´3ð 4¼6ñ 4r*   c                 ó$   <€ S! W4      pS! W!4      # r;   r!   )r>  rl  Ú	coords_unrU  rB  s   && €€r+   Úcompute_source_indexÚ._grid_sampler_2d.<locals>.compute_source_index˜  s   ø€ Ù Ó-ˆ	Ù" 9Ó3Ð3r*   z4grid last dimension must be 2 (for x,y coords), got )rù  Úsym_andc                ó<   € V ^8„  d   QhR\         R\         R\         /# )r-   rÁ  ÚysrZ   rj   )r5   s   "r+   r6   r?  µ  s!   € ÷ 
ñ 
œ6ð 
¤vð 
´&ñ 
r*   c                 óž   <€ \         P                  ! ^ V 8*  \         P                  ! V S8  \         P                  ! ^ V8*  VS8  4      4      4      # r‰   ©rG   rç  )rÁ  r^  ÚiHÚiWs   &&€€r+   Úin_bounds_condÚ(_grid_sampler_2d.<locals>.in_bounds_condµ  sF   ø€ Ü× Ò Ø�‰G”U×&Ò& r¨B¡w´×0AÒ0AÀ!ÀrÁ'È2ÐPRÉ7Ó0SÓTó
ð 	
r*   rà  c                óH   € V ^8„  d   QhR\         R\         R\         R\        /# )r-   rÁ  r^  ÚwsrZ   rû  )r5   s   "r+   r6   r?  ½  s)   € ÷ 

ñ 

”ð 

œVð 

¬ð 

Ô4Fñ 

r*   c                 ó0  <aa€ S! W4      oS'       d   SM^o\         ;QJ d>    . VVVV
V3R lV P                  S	R7      VP                  S	R7      V3 4       F  NK  	  5# ! VVVV
V3R lV P                  S	R7      VP                  S	R7      V3 4       4      # )r_   c              3   óx   <"  € T F/  p\         P                  ! SV^ 4      P                  SSSS4      x € K1  	  R# 5ir%  )rG   r}   rè  )r'  r  r‹  rL  r8  ÚoHÚoWs   & €€€€€r+   r(  Ú1_grid_sampler_2d.<locals>.clip.<locals>.<genexpr>Ä  s9   øé € ð 
áM�ô �KŠK˜˜a Ó#×(Ñ(¨¨A¨r°2×6Ð6ÛMùs   ƒ7:r  )rù   r>   )rÁ  r^  rf  rL  r8  rŒ  r‹  r7  rc  Úindex_dtyperi  rj  s   &&&@@€€€€€€€r+   ÚclipÚ_grid_sampler_2d.<locals>.clip½  sŽ   ú€ Ù˜bÓ%ˆ÷
 ‰A 1ˆßŒu÷ 
ð 
à—e‘e +�eÓ.°·±¸K°Ó0HÈ"ÑMó
�uð 	
ˆu÷ 
ð 
à—e‘e +�eÓ.°·±¸K°Ó0HÈ"ÑMó
ó 
ð 	
r*   c                ó<   € V ^8„  d   QhR\         R\         R\         /# ©r-   ÚixÚiyrZ   rj   )r5   s   "r+   r6   r?  É  s!   € ÷ 2ñ 2œð 2¤Fð 2´&ñ 2r*   c                 óB   <€ S	! WV4      w  r4pSSSWC3,          V,          # r;   r!   )
rq  rr  rä  Úidx_xÚidx_yÚw_ÚC_idxÚN_idxr´  rm  s
   &&&   €€€€r+   Úget_summandÚ%_grid_sampler_2d.<locals>.get_summandÉ  s*   ø€ á ¨›?Ñˆ�bØ�˜˜uÐ+Õ,¨rÕ1Ð1r*   c              3   ó<   <"  € T F  w  rpS! WV4      x € K  	  R # 5ir;   r!   )r'  rq  rr  rä  ry  s   &   €r+   r(  Ú#_grid_sampler_2d.<locals>.<genexpr>ß  s*   øé € ð 
ñ ‘�˜ñ ˜ ×"Ð"ó ùs   ƒc                ó<   € V ^8„  d   QhR\         R\         R\         /# rp  rj   )r5   s   "r+   r6   r?  þ  s!   € ÷ 	(ñ 	(¤&ð 	(¬fð 	(¼ñ 	(r*   c                 ó:   <€ S! V S4      pS! VS4      pS! W#^4      # rl   r!   )rq  rr  r?   ri   rU  ry  ra  rb  s   &&  €€€€r+   Úget_value_boundedÚ+_grid_sampler_2d.<locals>.get_value_boundedþ  s(   ø€ Ù# B¨Ó+ˆAÙ# B¨Ó+ˆAÙ˜q QÓ'Ð'r*   c                ó0   € V ^8„  d   QhR\         R\        /# )r-   rA  rZ   )r\   r   )r5   s   "r+   r6   r?    s   € ÷ 	4ñ 	4œ3ð 	4¤6ñ 	4r*   c                 óª   <€ SV ^,
          ,           pS! S^,
          V4      S! SV4      S! S^,           V4      S! S^,           V4      3p\        VS4      # rl   )r
  )rA  Úiy_ofsÚcsr  Úix_nwÚiy_nwÚtxs   &  €€€€r+   Ú	get_coeffÚ#_grid_sampler_2d.<locals>.get_coeff  s[   ø€ Ø˜c A�gÕ&ˆFá! %¨!¥)¨VÓ4Ù! %¨Ó0Ù! %¨!¥)¨VÓ4Ù! %¨!¥)¨VÓ4ð	ˆBô ,¨B°Ó3Ð3r*   c              3   ó4   <"  € T F  pS! V4      x € K  	  R # 5ir;   r!   )r'  rA  rˆ  s   & €r+   r(  r|    s   øé € Ð:±¨#‘y —~�~³ùó   ƒ)r   r_   r-   )rå  r  ).r   ).r_   )rG   r›   rS  rj  r¾  rù  r\  rÂ  r   r§   rá  r`  r  rè  rã  rå  rI  r§  r½  rb   rù   ra   r
  )3r´  r*  r5  r6  r‚  r7  rZ  rc   Útworù  r\  Ú	int32_maxÚuse_32bit_indicesr?   ri   rq  rr  Úix_neÚiy_neÚix_swÚiy_swÚix_seÚiy_seÚw_nwÚw_neÚw_swÚw_seÚ
ix_nearestÚ
iy_nearestÚtyr  rŒ  rw  r‹  rx  rm  rU  rˆ  ry  r  ra  rb  rc  rl  r…  r†  ri  rj  rP  r‡  rB  s3   f&ffff                         @@@@@@@@@@@@@@@@@@@@r+   Ú_grid_sampler_2drœ  ^  s‡  ÿÿÿø€ ô 
‡L‚LØ˜iÑ'ÜBôô 
‡L‚LØ˜	Ñ!Ô#Qô÷"ð "õ

÷
>ò 
>÷4ñ 4ð —7‘7�L€A€qˆ"ˆbØ—Z‘Z�N€A€rˆ2ˆsØ
ˆa„xÜØBÀ3À%ÐHó
ð 	
÷ Nä—’œEŸK™KÓ(×,Ñ,€Ið Ÿ™Ÿ™¨Ñ8÷ ð ¹^Ù��i‘  y¡Ó1ó>Ð÷ "3”%—+’+¼¿¹€Kçð �y‰y˜˜A˜r 2 sÓ+×2Ñ2°1°a¸¸RÀÓCˆ÷
ñ 
ô
 �LŠL˜ 1§8¡8Ô,×1Ñ1°!°Q¸¸1Ó=€EÜ�LŠL˜ 1§8¡8Ô,×1Ñ1°!°Q¸¸1Ó=€E÷

ö 

÷2ó 2ð
 	ˆV�€AØˆV�€Aà˜QÔÙ! ! RÓ(ˆÙ! ! RÓ(ˆà—x‘x“z 2§8¡8£:ˆˆˆuØ˜q•y %ˆuˆØ˜e a�iˆuˆØ˜eˆuˆà˜•
˜u r�zÕ*ˆØ�U•
˜u r�zÕ*ˆØ˜•
˜r E�zÕ*ˆØ�U•
˜r E�zÕ*ˆäô 
ð ˜˜tÐ$Ø˜˜tÐ$Ø˜˜tÐ$Ø˜˜tÐ$ñ	 ó
ó 
ð 	
ð 
˜qÔ	 Ù! ! RÓ(ˆÙ! ! RÓ(ˆà—X‘X“Zˆ
Ø—X‘X“Zˆ
á˜: z°1Ó5Ð5á˜˜BÓˆÙ˜˜BÓˆà—‘“
ˆØ—‘“
ˆà�%�ZˆØ�%�ZˆçØ—‘˜a“ˆBØ—‘˜a“ˆB÷	(ó 	(÷
	4ó 	4÷ ”Ô:´°q´Ó:—‘Ô:´°q´Ó:Ó:ˆÜ'¨°Ó3Ð3r*   c                ó`   € V ^8„  d   QhR\         R\         R\        R\        R\        R\         /# )r-   r´  r*  r5  r6  r‚  rZ   rë  )r5   s   "r+   r6   r6     sD   € ÷ ñ Üðä
ðô ðô ð	ô
 ðô ñr*   c                 ó"   € \        V VVVVR 7      # ))r*  r5  r6  r‚  )rœ  )r´  r*  r5  r6  r‚  s   &&&&&r+   Úgrid_sampler_2drŸ    s    € ô Ø	ØØ-Ø!Ø#ôð r*   c                 óB  a a€ \         P                  ! S P                  4       ^8H  ;'       d    SP                  4       ^8H  V V3R l4       \         P                  ! S P                  ^4      SP                  ^ 4      8H  V V3R l4       S S,          P	                  ^R7      # )r-   c                  óL   <€ R S P                  4        RSP                  4        2# )zmatrix @ vector expected, got r…  r—   ©r‘   r~  s   €€r+   r™   Úmv.<locals>.<lambda>*  s   ø€ Ð0°·±³°¸B¸s¿w¹w»y¸kÑJr*   c                  óv   <€ R S P                  ^ 4       RS P                  ^4       RSP                  ^ 4       R2# )zsize mismatch, got input (r?   z), vec (r~  rª  r¢  s   €€r+   r™   r£  .  s:   ø€ Ð,¨T¯Y©Y°q«\¨N¸!¸D¿I¹IÀa»L¸>ÈÐRU×RZÑRZÐ[\ÓR]ÐQ^Ð^_Ñ`r*   r—   )rG   r›   rY   rl  r$  r¢  s   ffr+   r€  r€  $  sv   ù€ ô 
‡L‚LØ�‰‹
�a‰×*Ð*˜CŸG™G›I¨™NÝJôô 
‡L‚LØ�	‰	�!‹˜Ÿ™ ›Ñ#Ý`ôð �3�J×Ñ ÐÓ"Ð"r*   c                 óX  € VeK   V^,
          V,          ^,           p^V,
          V ,          V\         P                  ! V 4      ,          ,
          pM+^V,
          V ,          \         P                  ! V 4      ,
          pVe	   Wb,          pVP                  VP                  4      p\	        Wd4      # r;   )rå   Ú
logsigmoidr>   r  r%  )r‘   r/  rô   Ú
pos_weightr!  Ú
log_weightr   s   &&&&&  r+   Ú binary_cross_entropy_with_logitsr©  3  s†   € ð
 ÒØ  1•n¨Õ.°Õ2ˆ
Ø�F•
˜dÕ" j´1·<²<ÀÓ3EÕ&EÕF‰à�F•
˜dÕ"¤Q§\¢\°$Ó%7Õ7ˆàÒØ�}ˆð �7‰7�6—<‘<Ó €DÜ Ó0Ð0r*   c                óp   € V ^8„  d   QhR\         P                  R\         P                  R\        R\        /# )r-   Útensor1Útensor2Úis_outrZ   )rG   r   r4   )r5   s   "r+   r6   r6   G  s0   € ÷ ñ œŸ™ð ´·±ð Ädð Ìtñ r*   c                 óÈ  a	€ V P                   VP                   8¼  d   W3MW3w  r4^ RIHo	 VP                   ^8¼  d   VP                   ^8:  g   R# VP                  '       d   V'       g   R# V P                   ^8X  d   R# S	! \	        V4      ^ 8H  4      '       d   R# VP
                  pVP                  4       p^.p\        VR,          4       F!  pVP                  W‡R,          ,          4       K#  	  \        ;QJ d<    V	3R l\        V\        \        V4      4      V4       4       F  '       d   K   R# 	  R# ! V	3R l\        V\        \        V4      4      V4       4       4      # )r   rø  FTrh  c              3   ód   <"  € T F%  w  rpS! V^8H  4      ;'       g    S! W8H  4      x € K'  	  R# 5irF  r!   )r'  rØ   rÙ   rl  rù  s   &   €r+   r(  Úshould_fold.<locals>.<genexpr>_  s<   øé € ð ñ"
ÑˆD˜ñ 	�t˜q‘yÓ!×BÐB¡^°D±MÓ%BÔBó"
ùs   ƒ0�0r`   )rÇ  r¾  rù  re  Ú	sym_numelrS  rÀ  rÊ  r  r<  rV  rµ  )
r«  r¬  r­  Út1Út2Út1_shapeÚ	t1_strideÚexpected_striderl  rù  s
   &&&      @r+   Úshould_foldr·  G  s"  ø€ ð $+§<¡<°7·<±<Ô#?ˆgÑÀgÐEW�F€BåDà�G‰G�qŒL˜RŸW™W¨œ\ÙØ	××Ð§ÙØ‡|�|�qÔÙÙ”i “m qÑ(×)Ò)Ùà�x‰x€HØ—	‘	“€Ið �c€OÜ˜ "�Ö&ˆØ×Ñ˜t°bÕ&9Õ9Ö:ñ 'ç‹3ô ä!$Ø”tœH _Ó5Ó6¸ô"
ó�3Œ3ð Š3ð ˆ3ô ä!$Ø”tœH _Ó5Ó6¸ô"
óó ð r*   )Úpass_is_outr­  c                óÐ
  € ^ RI HpHp V P                  4       pVP                  4       pV^ 8X  g   V^ 8X  d   \	        RV RV 24      hV^8X  d   V^8X  d   \
        P                  ! W4      # V^8X  d   V^8X  d   \
        P                  ! W4      # V^8X  dI   V^8X  dB   \
        P                  ! \
        P                  ! \
        P                  ! V ^ 4      V4      ^ 4      # V^8X  d   V^8X  d   \
        P                  ! W4      # \        WV4      '       Ede   We8„  pV'       d   VP                  MT pV'       g   TMV^8X  d   V P                  4       MT p	VP                  p
\        V
RR 4      p\!        \"        P$                  V4      pV	P                  4       ^8H  pV'       d#   VP'                  V	P                  ^,          4       VP)                  WÊR,          4      pV'       d^   \
        P*                  P,                  P/                  VP                  V	4      V4      pV'       d   VP                  P1                  4       # T# \
        P*                  P,                  P/                  VP                  V	4      V4      # V^8¼  EdÍ   V^8¼  EdÅ   V^8”  d   V P3                  R4      M^pV P3                  R4      pV P                  RR pV^8”  d   VP3                  R4      MVP3                  R4      pV^8”  d   VP3                  R4      M^p. p\5        V^,
          4       F#  pVP'                  VP3                  V4      4       K%  	  V^8X  d°   V^8X  d©   V! V^ ,          V^ ,          8g  4      '       dŠ   V! V^ ,          ^8H  4      '       d.   V P6                  '       d   \9        V P                  ^ 4      V4      # V! V^ ,          ^8H  4      '       d-   VP6                  '       d   \9        WP                  ^ 4      4      # \        \
        P:                  ! VV4      4      pVVV.,           p\=        V4      pV P?                  V4      P)                  VVV4      pV^8H  pV'       d<   VV.,           pVP?                  V4      P)                  VV4      P                  ^4      pM-VVV.,           pVP?                  V4      P)                  VVV4      pTpV^8”  d   VP'                  V4       V^8”  d   VP'                  V4       V'       d0   VPA                  V4      P                  R4      PC                  V4      # VPA                  V4      PC                  V4      # \
        PD                  ! RR 4       R# )	r   )rù  Úguard_or_truez9matmul does not support 0-dimensional tensors, got dims: z and NFc                  ó   € R # )z/both arguments to matmul need to be at least 1Dr!   r!   r*   r+   r™   Úmatmul.<locals>.<lambda>ã  s   € Ñ$Ur*   r`   r¡  )#r¾  rù  rº  rY   rj  rG   Údotr€  rX  rp  rb   r·  r¥  r  rS  rµ  r   r  r  r  rc  rÒ  rœ   Ú_unsafe_viewr  rl  ra   re  r¤  Úbroadcast_shapesrˆ  rã  Úbmmrè  r›   )r«  r¬  r­  rù  rº  Údim_tensor1Údim_tensor2r/  r²  r³  Úsizes_1rý  Úfolded_dim1Út2_is_matrixÚ	t1_foldedr  rõ  Úm1Úbatch_tensor1Úm2r˜  Úbatch_tensor2r  Úexpand_batch_portionÚtensor1_expand_sizeÚexpand_batch_productÚtensor1_expandedÚ
vector_rhsÚtensor2_expand_sizeÚtensor2_expandeds   &&$                           r+   r¤  r¤  g  s‰  € ÷ Tà—+‘+“-€KØ—+‘+“-€KØ�aÔ˜;¨!Ô+ÜØGÈÀ}ÐTYÐZeÐYfÐgó
ð 	
ð �aÔ˜K¨1Ô,Ü�yŠy˜Ó*Ð*Ø	˜Ô	˜k¨QÔ.Ü�xŠx˜Ó)Ð)Ø	˜Ô	˜k¨QÔ.Ü�}Š}œUŸXšX¤e§o¢o°g¸qÓ&AÀ7ÓKÈQÓOÐOØ	˜Ô	˜k¨QÔ.Ü�xŠx˜Ó)Ð)Ü	�W v×	.Ó	.ð  Ñ-ˆ	ß$ˆW�ZŠZ¨'ˆç$‰G¸+ÈÔ:J¨7¯9©9¬;ÐPWð 	ð —(‘(ˆÜ˜G C R˜LÓ)ˆÜœXŸ\™\¨<Ó8ˆð —v‘v“x 1‘}ˆßØ×Ñ §¡¨¥Ô,ð —J‘J˜{°B­KÓ8ˆ	ßô —Y‘Y—^‘^×0Ñ0°·±¸bÓ1AÀ<ÓPˆFß-6�6—9‘9×'Ñ'Ó)ÐB¸FÐBä—9‘9—>‘>×.Ñ.¨y¯|©|¸BÓ/?ÀÓNÐNà	˜Õ	˜k¨QÕ.ð !,¨a¤ˆG�L‰L˜Ô°QˆØ�\‰\˜"ÓˆØŸ™ c rÐ*ˆØ!,¨q¤ˆW�\‰\˜"Ô°g·l±lÀ2Ó6FˆØ +¨a¤ˆG�L‰L˜Ô°Qˆà#%ˆä�{ Q•Ö'ˆAØ× Ñ  §¡¨a£Ö1ñ (ð ˜1ÔØ˜qÔ Ù˜m¨AÕ.°-ÀÕ2BÑB×CÒCá˜m¨AÕ.°!Ñ3×4Ò4¸×9N×9NÐ9NÜ˜gŸo™o¨aÓ0°'Ó:Ð:Ù˜m¨AÕ.°!Ñ3×4Ò4¸×9N×9NÐ9NÜ˜g§¡°qÓ'9Ó:Ð:ô  $Ü×"Ò" =°-Ó@ó 
Ðð 3°a¸°WÕ<Ðä#Ð$8Ó9Ðð #Ÿ>™>Ð*=Ó>×FÑFØ  ! Ró
Ðð ! AÑ%ˆ
ßØ"6¸"¸Õ"=Ðà—‘Ð2Ó3ß‘Ð-¨rÓ2ß‘˜1“ñ ð #7¸"¸a¸Õ"@ÐØ&Ÿ~™~Ð.AÓB×JÑJØ$ b¨!ó Ðð ,ˆØ˜Œ?Ø×Ñ Ô"à˜Œ?Ø×Ñ Ô"çØ#×'Ñ'Ð(8Ó9×AÑAÀ"ÓE×JÑJÈ<ÓXÐXà#×'Ñ'Ð(8Ó9×>Ñ>¸|ÓLÐLä�Š�UÑUÖVr*   c                óž   € V ^8„  d   QhR\         R\        \        \        3,          R\        R\        R,          R\        R,          R\         /# )r-   rã   rR  r‚  rƒ  Nr„  rZ   ©r   rù   r\   r4   rx   )r5   s   "r+   r6   r6   ê  s\   € ÷ Tñ TÜðTä”sœC�x•ðTô ðTô �T�\ð	Tô
 �T�\ðTô ñTr*   c                 ó\  a aaaaaaa€ S P                   w   poo\        SV^ ,          W#4      p\        SV^,          W$4      p\        P                  ! S \        P                  P
                  R7      w  rX\        P                  ! V^ ,          S P                  R7      P                  VR7      p	\        P                  ! V^,          S P                  R7      P                  VR7      p
\        WzV4      p\        WiV4      pVP                  R4      pVP                  4       pVP                  4       pWÎ,
          P                  RR4      pW½,
          P                  RR4      pVP                  \        P                  4      pVP                  \        P                  4      pV^,
          Wî^,           V^,           3pV^,
          WÝ^,           V^,           3o\        V4      o\        V4      pRRuopS P                   \        P"                  8X  dÔ   \%        S4      o\%        V4      pS Uu. uFR  pV^S,          ,          \        P&                  ! V4      R,          ,           P                  \        P(                  4      NKT  	  upoV Uu. uFR  pV^V,          ,          \        P&                  ! V4      R,          ,           P                  \        P(                  4      NKT  	  ppVVV 3R loV VVVV3R	 lo\*        ;QJ d    . V3R
 lV 4       F  NK  	  5M! V3R
 lV 4       4      pS P                   \        P"                  8X  d   Vf   \-        R4      h\/        VVV4      pM\1        R \3        VV4       4       4      p\        P4                  ! S 4      pVP7                  VR7      pV# u upi u upi )r   rî  rà  r  r®   r{   Nr½   c                 ó¶   <€ \         P                  ! V ^ S^,
          4      p\         P                  ! V^ S^,
          4      p\        P                  SRRW#.4      pV# r%  )rG   r©   rœ   ræ  )r^  rÁ  Úy_idxÚx_idxrÅ  Úin_hÚin_wrã   s   &&   €€€r+   Úload_boundedÚ0upsample_bicubic2d_default.<locals>.load_bounded#  sM   ø€ Ü—’˜B  4¨!¥8Ó,ˆÜ—’˜B  4¨!¥8Ó,ˆÜ×Ñ˜u t¨T°5Ð&@ÓAˆØˆr*   c                 ó  <a € \         ;QJ d    . VV 3R  lS 4       F  NK  	  5M! VV 3R  lS 4       4      pSP                  \        P                  8X  d   Sf   \	        R4      h\        VSS4      # \        R \        VS4       4       4      # )c              3   ó6   <"  € T F  pS! SV4      x € K  	  R # 5ir;   r!   )r'  Úx_ofsrÚ  ri   s   & €€r+   r(  ÚCupsample_bicubic2d_default.<locals>.get_x_interp.<locals>.<genexpr>*  s   øé € ÐB¹'°‘l 1 e×,Ð,»'ùs   ƒz4weights_precision_x must not be None for uint8 inputc              3   ó6   "  € T F  w  rW,          x € K  	  R # 5ir;   r!   r  s   &  r+   r(  rß  1  s   é € ÐJÑ4I©¨˜BŸGšGÓ4Iùr‚  )rù   r  rG   r"  rj  r¨  r§  rV  )ri   Úsrc_xrã   Úixs_ofsrÚ  Úweights_precision_xÚ	weights_xs   f €€€€€r+   Úget_x_interpÚ0upsample_bicubic2d_default.<locals>.get_x_interp)  sq   ù€ ß”ÕB¹'ÓB—‘ÕB¹'ÓBÓBˆØ�;‰;œ%Ÿ+™+Ô%Ø"Ò*Ü$ØJóð ô & e¨YÐ8KÓLÐLÜÑJ´C¸¸yÔ4IÓJÓJÐJr*   c              3   ó4   <"  € T F  pS! V4      x € K  	  R # 5ir;   r!   )r'  Úy_ofsrå  s   & €r+   r(  Ú-upsample_bicubic2d_default.<locals>.<genexpr>3  s   øé € Ð;±7¨%‘,˜u×%Ð%³7ùr‹  z4weights_precision_y must not be None for uint8 inputc              3   ó6   "  € T F  w  rW,          x € K  	  R # 5ir;   r!   r  s   &  r+   r(  ré  9  s   é € ÐLÑ6K©(¨2˜bŸgšgÓ6Kùr‚  rŸ  r`   )rS  rœ  r2   rL   r3   r¼  rG   rå  rá  r>   rŸ  rb   rI  r©   r  r  r  r"  r°  r  Úint16rù   rj  r¨  r§  rV  r   r  )rã   rR  r‚  rƒ  r„  rc   Úh_scale_factorÚw_scale_factorr  r  r°  Úx_floatÚy_floatr?   ri   ÚyscalerÆ  Úiys_ofsÚ	weights_yÚweights_precision_yrä  Úsrc_yrT  r   rå  rØ  rÙ  râ  rÚ  rã  rä  s   f&&&&                   @@@@@@@r+   Úupsample_bicubic2d_defaultrõ  æ  sù  ÿ€ ð —{‘{Ñ€A€qˆ$�ô $ D¨+°a­.¸-ÓQ€NÜ# D¨+°a­.¸-ÓQ€Nä×'Ò'Ø¤5×#HÑ#H×#UÑ#Uô�H€Aô 	�Š�[ •^¨E¯L©LÔ9×<Ñ<À5Ð<ÓI€AÜ�Š�[ •^¨E¯L©LÔ9×<Ñ<À5Ð<ÓI€Aä# N°}ÓE€GÜ# N°}ÓE€GØ×Ñ Ó#€Gà�‰‹€AØ�‰‹€Að �k× Ñ   cÓ*€FØ�k× Ñ   cÓ*€FØ	�‰ŒU�[‰[Ó€AØ	�‰ŒU�[‰[Ó€Aà�1�u�a˜Q�  A¥Ð&€GØ�1�u�a˜Q�  A¥Ð&€Gä0°Ó8€IÜ0°Ó8€Ià/3°TÐ,ÐÐ,Ø‡{�{”e—k‘kÔ!Ü7¸	ÓBÐÜ7¸	ÓBÐñ ó
á�ð �!Ð*Õ*Õ+¬e¯jªj¸«m¸cÕ.AÕA×EÑEÄeÇkÁkÖRÙñ
ˆ	ñ ó
á�ð �!Ð*Õ*Õ+¬e¯jªj¸«m¸cÕ.AÕA×EÑEÄeÇkÁkÖRÙð 	ð 
÷
÷Kñ K÷ ŒEÔ;±7Ó;�E‰EÔ;±7Ó;Ó;€EØ‡{�{”e—k‘kÔ!ØÒ&Ü Ð!WÓXÐXÜ# E¨9Ð6IÓJ‰äÑL´c¸%ÀÔ6KÓLÓLˆô ×/Ò/°Ó6€MØ×Ñ¨]ÐÓ;€FØ€MùòI
ùò
s   È%AN$ÊAN)c          
      ó´   € V ^8„  d   QhR\         R\        \        \        3,          R,          R\        R\        \        \        3,          R,          R\         /# )r-   r´  rR  Nr‚  r«  rZ   rÓ  )r5   s   "r+   r6   r6   F  s\   € ÷ Wñ WÜðWä”sœC�x• 4Õ'ðWô ðWô œ¤˜Õ&¨Õ-ð	Wô
 ñWr*   c           
      óÈ  € \         P                  ! \        V4      \        V4      ,           ^8H  R 4       Vf‘   Vf   \        R4      h\	        \
        \        \        3,          \
        ;QJ d/    . R \        V P                  R,          V4       4       F  NK  	  5M(! R \        V P                  R,          V4       4       4      4      pV'       d   TMRw  rE\        WW$V4      # )r_   c                  ó   € R # )z:Must specify exactly one of output_size and scale_factors.r!   r!   r*   r+   r™   Ú(upsample_bicubic2d_vec.<locals>.<lambda>N  s   € ÑLr*   z7scale_factors must not be None when output_size is Nonec              3   ó\   "  € T F"  w  r\        \        V4      V,          4      x € K$  	  R # 5ir;   )r   r   )r'  rä  rƒ   s   &  r+   r(  Ú)upsample_bicubic2d_vec.<locals>.<genexpr>W  s*   é € ð á ?‘H�Aô œ	 !› uÕ,×-Ð-Û ?ùs   ‚*,r³  ©NN)
rG   r›   r4   rj  r   rù   r\   rV  rS  rõ  )r´  rR  r‚  r«  rƒ  r„  s   &&&&  r+   Úupsample_bicubic2d_vecrý  A  sÂ   € ô 
‡L‚LÜˆ[ÓœD Ó/Õ/°1Ñ4ÙLôð ÒØÒ Ü ØIóð ô Ü”#”s�(�OßŒEñ ä # A§G¡G¨B¥K°Ô ?ó�E‰Eñ ä # A§G¡G¨B¥K°Ô ?óó ó
ˆ÷ )6‘}¸<Ñ€GÜ% a°mÈgÓVÐVr*   c                óV   € V ^8„  d   QhR\         R\        \        R3,          R\         /# ©r-   r´  r  .rZ   r{  )r5   s   "r+   r6   r6   e  s)   € ÷ 	ñ 	”vð 	¬¬c°3¨h­ð 	¼Fñ 	r*   c                 ó*   a € V 3R  lp\        S VV4      # )c                 óÌ   <€ \         P                  ! V ) W,           SP                  R 7      pV^,
          V^,
          VP                  4       ,
          P                  4       ,
          # ©rà  )rG   rå  rá  r  ©rØ   ÚmiddlerÙ   Údim_idxr´  s   &&& €r+   rì  Ú_reflection_pad.<locals>.idxf  sD   ø€ Ü—,’, ˜u f¥n¸Q¿X¹XÔFˆØ˜�z˜V a�Z¨'¯+©+«-Õ7×<Ñ<Ó>Õ>Ð>r*   ©Ú_reflection_or_replication_pad©r´  r  rì  s   f& r+   Ú_reflection_padr
  `  s    ø€ õ?ô *Ø	ØØóð r*   c                óV   € V ^8„  d   QhR\         R\        \        R3,          R\         /# rÿ  r{  )r5   s   "r+   r6   r6   v  s)   € ÷ 	ñ 	œð 	¬¬s°C¨x­ð 	¼Vñ 	r*   c                 ó*   a € V 3R  lp\        S VV4      # )c                 ó–   <€ \         P                  ! V ) W,           SP                  R 7      p\         P                  ! V^ V^,
          4      # r  )rG   rå  rá  r©   r  s   &&& €r+   rì  Ú_replication_pad.<locals>.idxw  s4   ø€ Ü—,’, ˜u f¥n¸Q¿X¹XÔFˆÜ�{Š{˜7 A v°¥zÓ2Ð2r*   r  r	  s   f& r+   Ú_replication_padr  q  s    ø€ õ3ô *Ø	ØØóð r*   c          	      óš   € V ^8„  d   QhR\         R\        \        R3,          R\        \        \        \        .\         3,          R\         /# )r-   r´  r  .Úidx_fnrZ   )r   rù   r\   r   )r5   s   "r+   r6   r6   ‚  sH   € ÷ %ñ %Üð%ä”3˜�8�_ð%ô ”cœ3¤�_¤fÐ,Õ-ð%ô ñ	%r*   c                 ó\  a€ \        V4      ^,          o\        P                  ! V P                  4       S^,           S^,           39   V3R l4       V P                  S) R pV P                  4       S,
          p\        S4       Uu. uF   qQ^S^,
          V,
          ,          ,          NK"  	  pp\        S4       Uu. uF'  qQ^S^,
          V,
          ,          ^,           ,          NK)  	  ppT p\        S4       FU  pR.VP                  4       ,          p	V! We,          W5,          Wu,          4      W•V,           &   \        P                  W‰4      pKW  	  V P                  P                  R9   d   \        P                  p
M\        P                  ! V 4      p
VP                  V
R7      pV# u upi u upi )r-   c                  ó8   <€ R S  RS ^,            RS ^,            R2# )Úreflection_padzd requires r¾  zD inputr!   r—   s   €r+   r™   Ú0_reflection_or_replication_pad.<locals>.<lambda>Š  s"   ø€ �.   [°°qµ°	¸¸sÀQ½w¸iÀwÑOr*   NrŸ  )rå  Úmpsr  )rÌ  rG   r›   rY   rS  ra   rœ   ræ  rá  r`  r£  r2   r   r  )r´  r  r  Ú	inp_shapeÚnc_dimr  Úpadding_leftÚpadding_rightrT  rì  r   rY   s   &&&        @r+   r  r  ‚  sY  ø€ ô
 ˆg‹,˜!Õ
€CÜ	‡L‚LØ	�‰‹�C˜!•G˜S 1�WÐ%Ñ%ÜOôð —‘˜˜˜�€IØ�U‰U‹W�s�]€Fä8=¸c¼
ÓC¹
°1˜A  q¥¨1¥Õ-×.Ð.¹
€LÐCÜ=BÀ3¼ZÓH¹Z¸˜Q #¨¥'¨A¥+Õ.°Õ2×3Ð3¹Z€MÐHà€FÜ�3ŽZˆØ˜ &§*¡*£,Õ.ˆÙ  ¥°)µ,ÀÕ@PÓQˆ��J‰Ü×#Ñ# FÓ0Šñ ð 	‡x�x‡}�}Ð.Ô.Ü×/Ñ/‰ä×3Ò3°AÓ6ˆØ×Ñ¨]ÐÓ;€FØ€Mùò1 DùÚHs   Â&F$Â9-F)c           
      ó¸  a aaa€ \        V4      ^,          oVP                  S) R  Uu. uF  q3^,
          NK  	  pp\        S4       Uu. uF   qR^S^,
          V,
          ,          ,          NK"  	  pp\        S4       Uu. uF'  qR^S^,
          V,
          ,          ^,           ,          NK)  	  pp. p\        VP                  4       Fl  p^.VP                  ,          p	RW•&   VP	                  \
        P                  ! VP                  V,          VP                  R7      P                  V	4      4       Kn  	  VRS)  oVS) R p
R o\        S4       Uu. uF  qZV,          We,          ,           NK  	  pp\        S4       Uu. uF  qVV,          W¥,          ,
          NK  	  pp\        S4       Uu. uF,  p^WE,          ,          We,          ,           W¥,          ,
          NK.  	  pp\        S4       Uu. uF.  q[V,          ^ WE,          We,          ,           Wu,          ,           3NK0  	  pp\        P                  ! \        P                  \        S4       Uu. uF  pS! Wå,          4      NK  	  up4      p\        P                  S VSV,           R4      pVVV V3R lp\        P                  ! \        S4       Uu. uF  p. RONK	  	  up!   Fç  pV\!        ^ .S,          4      8X  d   K  . p. p\        S4       F­  pVV,          ^ 8X  d   Wµ,          pWå,          pMiVV,          R8X  d   WÅ,          pW¥,          ^We,          3pMAVV,          ^8X  d4   WÕ,          pW¥,          WE,          Wu,          ,
          WE,          ^,
          3pVP	                  X4       VP	                  X4       K¯  	  V! VVV4      pKé  	  V# u upi u upi u upi u upi u upi u upi u upi u upi u upi )r-   Nrà  c                 óB   € V w  rp\         P                  ! W8¬  W8*  4      # r;   r`  )Úindex_ranger  ÚlbÚubs   &   r+   Úindex_range_conditionÚ7_reflection_pad_backward.<locals>.index_range_condition¿  s"   € Ø‰	ˆˆrÜ× Ò  ¡¨!©'Ó2Ð2r*   r®   c           	      ó|  <€ \        S	4       FF  pW#,          ^,          W#,          ^,          8  p\        V\        4      '       g   K:  V'       g   KD  V u # 	  \        P                  ! \
        P                  V Uu. uF  pS! V4      NK  	  up4      p\
        P                  S
VSV,           R4      pW,           # u upi )r-   r®   )ra   r=   r4   rT   r   rœ   rç  ré  )rÉ   rê   Úindex_rangesr  Úupper_less_than_lowerr  r8  Úgrµ  rY   r�   r   s   &&&     €€€€r+   r‡  Ú,_reflection_pad_backward.<locals>.accumulateÛ  s¡   ø€ ô �s–ˆAØ$0¥O°AÕ$6¸½ÈÕ9KÑ$KÐ!ÜÐ/´×6Ô6×;PÑ;PØ’ñ ô
 ×ÒÜ×ÑÙCOÓPÁ<°KÑ" ;Ö/Á<ÑPó
ˆô ×%Ñ% k°4¸¸S½À#ÓFˆØ�xˆùò Qs   Á:B9
r`   )r`   r   r_   )rÌ  rS  ra   rÇ  r  rG   rå  rá  rè  rT   r   rœ   rç  ré  Ú	itertoolsr
   rù   )r�   r?   r  r  Údhwr  r  r  rë  rÄ  ÚxyzÚcenterÚleft_reflectÚright_reflectÚrange_cr8  rÉ   r‡  rc   ÚareaÚoutsr#  rê   r  rµ  rY   r   s   f&&                     @@@r+   Ú_reflection_pad_backwardr0  ª  sB  û€ ô
 ˆg‹,˜!Õ
€CàŸ'™' 3 $ %™.Ó
)™.�Qˆq�5ˆ5™.€CÐ
)ä8=¸c¼
ÓC¹
°1˜A  q¥¨1¥Õ-×.Ð.¹
€LÐCÜ=BÀ3¼ZÓH¹Z¸˜Q #¨¥'¨A¥+Õ.°Õ2×3Ð3¹Z€MÐHà€GÜ�1—6‘6Ž]ˆØ�S˜1Ÿ6™6•\ˆ
Øˆ
‰Ø�‰”u—|’| A§G¡G¨A¥J°q·x±xÔ@×EÑEÀjÓQÖRñ ð
 	��#�ˆ€AØ
�3�$�%ˆ.€Cò3ô 16°c´
Ó;±
¨1�!�f�|•×&Ð&±
€FÐ;Ü6;¸C´jÓA±j° •O c¥f×,Ð,±j€LÐAÜDIÈ#ÄJÓOÁJ¸q�Q˜�•Z ,¥/Õ1°CµF×:Ð:ÁJ€MÐOô
 NSÐSVÌZóÙMWÈ���A�s•v ¥Õ/°-Õ2BÕBÓCÉZð ð ô ×ÒÜ×ÑÄeÈCÄjÓQÁjÀÑ0°µÖ<ÁjÑQó€Dô ×$Ñ$ [°$¸¸F½
ÀCÓH€D÷ð ô ×!Ò!¼¸c¼
Ó#C¹
°1¥J¹
Ñ#CÔDˆØ”5˜!˜˜s�Ó#Ô#áàˆØˆä�s–ˆAØ�A�w˜!Œ|Ø•i�Ø%�j‘Ø�a•˜B”Ø"•o�Ø"�v q¨,­/Ð:‘Ø�a•˜A”Ø#Õ&�Ø"�v s¥v°Õ0@Õ'@À#Å&È1Å*ÐM�à�K‰K˜ÔØ×Ñ Ö,ñ ñ ˜$  lÓ3Šñ- Eð0 €Kùòc *ùâCùÚHùò2 <ùÚAùÚOùòùò Rùò& $Ds5   ©N/Á	&N4Á>-N9ÅN>Å=OÆ*2OÇ+4OÉO
Ê0Or¥   r§   rY   r9  c                óh   € \         P                  ! WVR 7      p\         P                  ! WVR 7      pW43# )r8  )rG   Úaminrú  )r‘   rY   r9  r2  rú  s   &$$  r+   Úaminmaxr3    s,   € ô �:Š:�d¨WÔ5€Dä�:Š:�d¨WÔ5€DØˆ:Ðr*   c                ó†   € \         P                  \        P                  ! \        P                  ! V 4      ^ V 4      WVR7      # )r   r  )rœ   r$  rG   r}   Úisnan)r‘   rY   r9  r  s   &&&$r+   Únansumr6    s0   € ô �8‰8”E—K’K¤§¢¨DÓ 1°1°dÓ;¸SÐQVˆ8ÓWÐWr*   c          
      ó¬   € V ^8„  d   QhR\         R\        P                  R,          R\        P                  R\        P                  R,          R\
        /# )r-   r²  r  Nr  rá  r:  ©r   rG   r  r  rá  r4   )r5   s   "r+   r6   r6     sR   € ÷ 
ñ 
Ü	ð
ô �;‰;˜Õð
ô �L‰Lð	
ô
 �L‰L˜4Õð
ô ñ
r*   c          
      óJ   € \         P                  P                  ^ V ^WW4R7      # )r   ©r  r  rá  r:  ©rœ   rå  Ú
start_step)r²  r  r  rá  r:  s   &$$$$r+   Úarange_defaultr=    s+   € ô �;‰;×!Ñ!Ø	ˆ3�˜°fð "ó ð r*   c                ó¸   € V ^8„  d   QhR\         R\         R\        P                  R,          R\        P                  R\        P                  R,          R\
        /# )r-   r±  r²  r  Nr  rá  r:  r8  )r5   s   "r+   r6   r6   %  sZ   € ÷ ñ Üðä	ðô �;‰;˜Õð	ô
 �L‰Lðô �L‰L˜4Õðô ñr*   c          
      óH   € \         P                  P                  W^W#WER7      # )r_   r:  r;  )r±  r²  r  r  rá  r:  s   &&$$$$r+   Úarange_startr@  $  s)   € ô �;‰;×!Ñ!Ø�A˜U¸&ð "ó ð r*   c                  ó   € ^ RI Hp V! V / VB # )r   )Úout_dtype_dense)Ú!torch._higher_order_ops.out_dtyperB  )rM   rN   rB  s   *, r+   Úout_dtype_decomprD  3  s   € åAá˜DÐ+ FÑ+Ð+r*   c                óz   € V ^8„  d   QhR\         R\         R\        R\        R\         R,          R\        R\         /# )	r-   rã   r/  r˜  Úmarginrô   Nr!  rZ   )r   r   r\   )r5   s   "r+   r6   r6   =  sR   € ÷ ,ñ ,Üð,äð,ô ð,ô ð	,ô
 �T�Mð,ô ð,ô ñ,r*   c                 ó8  a aaa
a€ \         P                  ! S 4      o \         P                  ! S4      oS P                  ^ ,          oS P                  ^,          o
\         P                  ! V^8H  ;'       g    V^8H  R 4       \         P                  ! S P
                  ^8H  ;'       d    S
^ 8g  V 3R l4       \         P                  ! SP
                  ^8H  ;'       d    SP                  4       S8H  VV3R l4       Se[   \         P                  ! S4      o\         P                  ! SP
                  ^8H  ;'       d    SP                  4       S
8H  V
V3R l4       SpSP                  ^4      o\         P                  ! S ^SR7      pW7,
          S ,           pVP                  ^ 4      pV^8X  d   TMWˆ,          pSe    VSV,          P                  ^4      ,          p\         P                  ! S
S P                  R7      p	\         P                  ! V	S8g  V^ 4      pV\        P                  P                  8X  d   VP!                  4       # V\        P"                  P                  8X  d)   VP%                  4       VP                  ^,          ,          # VP!                  ^R7      # )r   c                  ó   € R # )z only p == 1 and p == 2 supportedr!   r!   r*   r+   r™   Ú#multi_margin_loss.<locals>.<lambda>I  s   € Ñ+Mr*   c                  ó"   <€ R S P                    2# ©zMExpected non-empty vector or matrix with optional 0-dim batch size, but got: rÛ  r7  s   €r+   r™   rI  L  s   ø€ Ð_Ð`e×`kÑ`kÐ_lÑmr*   c                  ó(   <€ R S  RSP                    2# )z#inconsistent target size, expected r€  rÛ  )Únframer/  s   €€r+   r™   rI  P  s   ø€ Ð5°f°X¸YÀvÇ|Á|ÀnÑUr*   c                  ó(   <€ R S  RSP                    2# )z#inconsistent weight size, expected r€  rÛ  )rY   rô   s   €€r+   r™   rI  V  s   ø€ Ð9¸#¸¸iÈÏÉÀ~ÑVr*   rk  rà  r—   )rG   Ú
atleast_2dÚ
atleast_1drS  r›   rÇ  r  rb   rã  r¦  rå  rá  r}   r    r'   r’   r#  r(   r$  )rã   r/  r˜  rF  rô   r!  Ú	target_1dÚur~   rì  rY   rM  s   ff&&f&    @@r+   Úmulti_margin_lossrS  :  sí  ü€ ô ×Ò˜UÓ#€EÜ×Ò˜fÓ%€FØ�[‰[˜�^€FØ
�+‰+�a�.€CÜ	‡L‚L��a‘×!Ð!˜1 ™6Ñ#MÔNÜ	‡L‚LØ�
‰
�a‰×$Ð$˜C 1™HÜmôô 
‡L‚LØ�‰�qÑ×5Ð5˜VŸ\™\›^¨vÑ5ÝUôð ÒÜ×!Ò! &Ó)ˆÜ�ŠØ�K‰K˜1Ñ×6Ð6 §¡£°3Ñ!6ÝVô	
ð
 €IØ×Ñ˜aÓ €FÜ�Š�U ¨Ô0€AØ�
�UÕ€AØ	�‰�A‹€AØ�!ŒV‰˜�€AØÒà��yÕ!×+Ñ+¨AÓ.Õ.ˆÜ
�,Š,�s 5§<¡<Ô
0€CÜ�Š�C˜6‘M 1 aÓ(€AØ”I—N‘N×(Ñ(Ô(Ø�v‰v‹xˆØ	”i—m‘m×)Ñ)Ô	)Ø�u‰u‹w˜Ÿ™ �Õ#Ð#à�v‰v˜!ˆv‹}Ðr*   Ú	is_targetc          
      ój   € V ^8„  d   QhR\         R\         R\        R\        \         \         3,          /# r‘  rÏ  )r5   s   "r+   r6   r6   o  s9   € ÷ /ñ /Üð/äð/ô ð/ô Œ6”6ˆ>Õñ	/r*   c                 ó�  aa€ V P                   oVP                   o\        P                  ! V 4      p \        P                  ! V4      pV P                   ^,          p\        P                  ! \	        S4      ^8*  ;'       d    V^ 8g  V3R l4       \        P                  ! \	        S4      ^8*  ;'       d    SS8H  VV3R l4       \        P
                  ! W1P                  R7      pVR	8H  p\        P                  ! \        P                  ! WTV4      R	RR7      pWF8  p\        P                  ! Wq^ 4      p\        P                  ! V R	VR7      p	\        P                  ! WqR	4      p
\        P                  ! WJP                  R	R7      8H  ^R7      pRV	P                  P                  R	R7      ,
          V ,           pVP                  ^ 4      pWÃ,          p\        P                  ! V^ V4      p\        P                  ! VP                  P                  R	R7      V^ 4      pV\        P                  P                   8X  d"   VP#                  R
R7      P%                  4       pMBV\        P&                  P                   8X  d   VP#                  4       pMVP#                  R
R7      pVP)                  V P*                  4      P-                  S4      pWË3# )r_   c                  ó   <€ R S  2# rK  r!   )Úorig_input_shapes   €r+   r™   Ú0multilabel_margin_loss_forward.<locals>.<lambda>{  s   ø€ Ð_Ð`pÐ_qÑrr*   c                  ó   <€ R S RS  2# )zinconsistent target size: z for input of size: r!   )rX  Úorig_target_shapes   €€r+   r™   rY    s   ø€ Ð,Ð->Ð,?Ð?SÐTdÐSeÑfr*   rà  Tr8  rk  r—   r{   r`   r
  )rS  rG   rO  r›   rÌ  rå  rá  r2  r}   rã  r  rb   ÚTr¦  r    r'   r’   r$  r#  r(   r>   r  rc  )rã   r/  r!  rY   rì  Úis_endÚend_idxÚtarget_maskÚtidx0rR  Útidx1rT  r~   rX  r[  s   &&&          @@r+   Úmultilabel_margin_loss_forwardrb  l  s  ù€ ð —{‘{ÐØŸ™ÐÜ×Ò˜UÓ#€EÜ×Ò˜fÓ%€FØ
�+‰+�a�.€CÜ	‡L‚LÜÐÓ Ñ"×/Ð/ s¨a¡xÜrôô 
‡L‚LÜÐÓ !Ñ#×MÐMÐ(9Ð=MÑ(MÝfôô
 �,Š,�s§=¡=Ô
1€CØ�r‰\€FÜ�jŠjœŸš V°#Ó6¸BÈÔM€Gà‘-€Kä�KŠK˜¨QÓ/€EÜ�Š�U ¨%Ô0€Aä�KŠK˜¨RÓ0€EÜ—	’	˜#§¡°R Ó!8Ñ8¸aÔ@€Iàˆa�c‰c�m‰m ˆmÓ#Õ# eÕ+€AØ	�‰�A‹€AØ	�€Aä�Š�I˜q !Ó$€Aä�Š�K—M‘M×+Ñ+°Ð+Ó3°Q¸Ó:€Aà”I—N‘N×(Ñ(Ô(Ø�E‰E�gˆEÓ×#Ñ#Ó%‰Ø	”i—m‘m×)Ñ)Ô	)Ø�E‰E‹G‰à�E‰E�gˆEÓˆà—‘˜UŸ[™[Ó)×1Ñ1Ð2CÓD€IØˆ<Ðr*   Ú	attn_maskrƒ   c                ó¶   € V ^8„  d   QhR\         R\         R\         R\        R\        R\         R,          R\        R,          R	\        \         \         3,          /# )
r-   ÚqueryÚkeyr’   Ú	dropout_pÚ	is_causalrc  Nrƒ   rZ   )r   rx   r4   rù   )r5   s   "r+   r6   r6   ®  ss   € ÷ Añ AÜðAä	ðAô ðAô ð	Aô
 ðAô ˜�}ðAô �4�<ðAô Œ6”6ˆ>ÕñAr*   c                óh  a aaa€ \         P                  ! \         P                  ! S 4      V 3R  l4       \         P                  ! S P                  4       ^8H  ;'       d/    SP                  4       ^8H  ;'       d    SP                  4       ^8H  VV V3R l4       \         P                  ! SR8H  V3R l4       \         P                  ! S P                  ^,          SP                  ^,          8H  ;'       d(    SP                  ^,          SP                  ^,          8H  R 4       \
        P                  P                  S SSVSVRVS P                  ^4      SP                  ^4      8g  R7	      w  rxVP                  ^^ ^^4      P                  \         P                  R7      P                  ^^^ ^4      pWx3# )c                  ó"   <€ R S P                    2# )z-query must be FP32, FP64, BF16, FP16 but got r  )re  s   €r+   r™   Ú<scaled_dot_product_flash_attention_for_cpu.<locals>.<lambda>º  s   ø€ Ð?ÀÇÁ¸}ÑMr*   c                  ón   <€ R SP                  4        RS P                  4        RSP                  4        2# )z,q, k, v must be a 4 dimensional tensor, got r…  r—   )rf  re  r’   s   €€€r+   r™   rk  ¾  s1   ø€ Ð>¸u¿y¹y»{¸mÈ2ÈcÏgÉgËiÈ[ÐXZÐ[`×[dÑ[dÓ[fÐZgÑhr*   r®   c                  ó   <€ R S  2# )z&dropout probability must be zero, got r!   )rg  s   €r+   r™   rk  Á  s   ø€ Ð$JÈ9È+Ñ"Vr*   c                  ó   € R # )z&q, k, v should have the same head sizer!   r!   r*   r+   r™   rk  Å  s   € Ñ8r*   N)rc  rg  rh  Údropout_maskrƒ   Ú
enable_gqarŸ  )rG   r›   rä  rY   rS  rœ   Ú"_scaled_dot_product_attention_mathr×  rl  rW  r  r£  )	re  rf  r’   rg  rh  rc  rƒ   r  Úattns	   ffff&$$  r+   Ú*scaled_dot_product_flash_attention_for_cpurs  ­  s[  û€ ô 
‡L‚LÜ×Ò Ó&ÜMôô 
‡L‚LØ�	‰	‹�qÑ×@Ð@˜SŸW™W›Y¨!™^×@Ð@°·	±	³¸qÑ0@Þhôô 
‡L‚LØ�SÑÔVôô 
‡L‚LØ�‰�A�˜%Ÿ+™+ a�.Ñ(×KÐK¨S¯Y©Y°q­\¸U¿[¹[È½^Ñ-KÙ8ôô
 ×:Ñ:×BÑBØØØØØØØØØ—:‘:˜a“= C§H¡H¨Q£KÑ/ð Có 
�L€FðF 	�‰�q˜!˜Q Ó"ß	‰¤%×"9Ñ"9ˆÓ	:ß	‰��A�q˜!Ó	ð ð
 ˆ<Ðr*   c                 ó0   a€ \        V 4      V3R  l4       pV# )c                  óD   <€ S! V / VB pV ^ ,          P                  V4      # r‰   )rí  )rM   rN   rê   Úoutplace_ops   *, €r+   Ú
inplace_opÚ$register_inplace.<locals>.inplace_opó  s%   ø€ á˜4Ð* 6Ñ*ˆØ�A�w�}‰}˜SÓ!Ð!r*   r   )Úaten_oprv  rw  s   &f r+   Úregister_inplacerz  ò  s"   ø€ Ü˜GÓ$ô"ó %ð"ð Ðr*   c                 ó�  € V P                  4       '       g-   V P                  4       '       g   \        V4      p\        V4      p\        P                  ! W4      p\        V\        P                  4      '       d   V^8w  d	   WT,          pV^ 8X  d   V# \        V\        P                  4      '       d   V^8w  d	   W,          p W,           # rl   )rä  ro  r\   rG   rÀ  r=   ÚnumbersÚNumber)r‘   Úbatch1Úbatch2ru   r‚   rT  s   &&&&& r+   Úbaddbmmr€  û  s�   € ð ×!Ñ!×#Ò#¨D¯O©O×,=Ò,=Ü�4‹yˆÜ�E“
ˆÜ�YŠY�vÓ&€FÜ�eœWŸ^™^×,Ò,°¸´
Ø•ˆØˆq„yØˆÜ�dœGŸN™N×+Ò+¨t°q¬yØ�{ˆØ�=Ðr*   c                 ó2   € \         P                  ! WR R7      # )rI  r†  rˆ  )r‘   r  s   &&r+   Úfloor_divider‚    s   € ô �9Š9�T°Ô8Ð8r*   c                 ób   € \         P                  ! \        P                  V P                  ^4      # rl   )rT   r   r  r  rS  )r  s   &r+   r±  r±    s   € ä×ÒœHŸL™L¨!¯'©'°1Ó5Ð5r*   c                óx   € V ^8„  d   QhR\         R\        P                  R,          R\         R,          R\         /# )r-   r‘   r  Nrê   rZ   rý  )r5   s   "r+   r6   r6     sE   € ÷ 	Dñ 	DÜ
ð	Dô �;‰;˜Õð	Dô 
�$�ð		Dô
 ñ	Dr*   c                ó’   € Vf#   \         P                  P                  V . VR7      # \         P                  P                  V . WR7      # )Nr  )r  rê   )rœ   r$  Údim_IntListÚIntList_out)r‘   r  rê   s   &$$r+   Úsum_defaultrˆ    sA   € ð ‚{Ü�x‰x×#Ñ# D¨"°EÐ#Ó:Ð:ä�x‰x×#Ñ# D¨"°EÐ#ÓCÐCr*   c                ó>   € V ^8„  d   QhR\         R\        R,          /# )r-   r‘   rY   Nr[   )r5   s   "r+   r6   r6   %  s   € ÷ .ñ .œ&ð .¤s¨T¥zñ .r*   c           	      ó  € \        V \        P                  4      '       g   V # VfA   \        P                  P                  V \        \        V P                  4       4      4      4      # \        P                  P                  W.4      # r;   )	r=   rG   r   rœ   rX  Údimsrµ  ra   rY   )r‘   rY   s   &&r+   Úsqueeze_defaultrŒ  $  s]   € ô �dœEŸL™L×)Ò)Øˆà
‚{Ü�|‰|× Ñ  ¤t¬E°$·(±(³*Ó,=Ó'>Ó?Ð?ä�|‰|× Ñ   uÓ-Ð-r*   c                 ó¸  a€ \         ;QJ d3    . V3R  l\        \        V P                  4      4       4       F  NK  	  5M,! V3R  l\        \        V P                  4      4       4       4      pVP                  \
        P                  8X  d   \
        P                  MRpV P                  ^VRVR7      pWVP                  VP                  4      ,          ,          V3# )c              3   ó8   <"  € T F  qS8w  g   K  Vx € K  	  R # 5ir;   r!   )r'  r  rY   s   & €r+   r(  Ú)_weight_norm_interface.<locals>.<genexpr>3  s   øé € Ð@Ñ 3˜1¸C±x—Q’QÓ 3ùs   ƒ�
NT)r9  r  )
rù   ra   rÌ  rS  r  rG   rd  rx   r4  r>   )rÅ  r%  rY   Úkeep_dimÚ
norm_dtyper4  s   &&f   r+   Ú_weight_norm_interfacer’  0  s�   ø€ ÷ ŒuÔ@¤¤c¨!¯'©'£lÔ 3Ó@�u‰uÔ@¤¤c¨!¯'©'£lÔ 3Ó@Ó@€Hà !§¡¬5¯>©>Ô 9”—’¸t€JØ�6‰6�!�X t°:ˆ6Ó>€DØ�D—G‘G˜AŸG™GÓ$Õ$Õ% tÐ+Ð+r*   Úassume_uniqueÚinvertc                óè  € \        V \        P                  4      '       g"   \        P                  ! WP                  R 7      p \        V\        P                  4      '       g5   V'       d   \        P
                  ! W4      # \        P                  ! W4      # ^ RIHp V! VP                  4       R\        V P                  4       R4      ,          8  4      '       d   \        WVR7      # \        WW#R7      # )rà  rø  g      $@g�Âõ(\�Â?)r”  )r“  r”  )r=   rG   r   r7  rá  Úner;  r¾  rù  r  r  Úisin_defaultÚisin_sorting)ÚelementsÚtest_elementsr“  r”  rù  s   &&$$ r+   Úisinr›  :  s«   € ô �h¤§¡×-Ò-Ü×&Ò& x×8LÑ8LÔMˆÜ�m¤U§\¡\×2Ò2ßÜ—8’8˜HÓ4Ð4ä—8’8˜HÓ4Ð4åDá�m×)Ñ)Ó+¨d´S¸¿¹Ó9IÈ5Ó5QÕ.QÑQ×RÒRÜ˜H¸FÔCÐCäØ°=ô
ð 	
r*   r8  c                ó†   € V ^8„  d   QhR\         P                  R\         P                  R,          R\         P                  /# )r-   r‘   r8  NrZ   )rG   r   r™  )r5   s   "r+   r6   r6   Q  s9   € ÷ ñ Ü
�,‰,ðô �‰ Õ%ðô ‡\�\ñ	r*   c                óH  € VfA   \         P                  ! V P                  4       \         P                  V P                  R7      pM@\         P                  ! V P                  4       V\         P                  V P                  R7      pW 8  P                  V P                  4      pV# )Nr  )r8  r  rá  )rG   Úrandrl  r  rá  r>   r  )r‘   r8  Úraw_pr˜  s   &$  r+   Ú	bernoullir   P  so   € ð ÒÜ—
’
˜4Ÿ9™9›;¬e¯m©mÀDÇKÁKÔP‰ä—
’
Ø�I‰I‹KØÜ—-‘-Ø—;‘;ô	
ˆð 
‰×Ñ˜$Ÿ*™*Ó%€AØ€Hr*   c                ó¸  € V P                  4       ^ 8X  d'   \        P                  ! V \        P                  R7      # VP                  ^ 8X  d   W8H  pV'       d   V( # T# V P
                  RVP                  ,          ,           pV P                  V4      p\        \        RVP                  ) ^,
          R4      4      pWQ8H  P                  VR7      pV'       d   V( # T# )r   r  r—   rl   r`   )
r  rG   Ú
empty_liker4   rÇ  rS  rè  rù   ra   r  )r™  rš  r”  rç  Úexpanded_elem_shaper?   rY   s   &&$    r+   r—  r—  c  s¼   € Ø‡~�~Ó˜1ÔÜ×Ò ´·
±
Ô;Ð;Ø×Ñ˜QÔØÑ'ˆß�ˆtÐ& 3Ð&Ø"Ÿ.™.¨4°-×2DÑ2DÕ+DÕDÐØ�‰Ð)Ó*€AÜ
”�b˜=×-Ñ-Ð-°Õ1°2Ó6Ó
7€CØÑ×
"Ñ
" sÐ
"Ó
+€CßˆCˆ4Ð"˜sÐ"r*   c                ó
  € V P                  4       pVP                  4       pV'       dÇ   \        P                  ! WE.4      p\        P                  ! VR R7      w  rxVR,          VRR 8H  p	\        P                  ! V	^ ^.R4      p	V'       d   V	P                  4       p	\        P                  ! V	4      p
V
P                  ^ W‰4      p
V
^ V P                  4        P                  V P                  4      # \        P                  ! V4      w  r¼\        P                  ! W´4      p\        P                  ! WÛP                  4       8  V^ 4      pW¾,          V8H  pV'       d   VP                  4       MTpVP                  V P                  4      # )T)Ústablerh  NFr`   )r¢  rG   rn  Úsortr  Úlogical_notr¢  r„  r  rc  rS  Úsearchsortedr}   )r™  rš  r“  r”  Úelements_flatÚtest_elements_flatÚall_elementsÚsorted_elementsÚsorted_orderÚduplicate_maskrí  Úsorted_test_elementsrc   rì  Útest_idxÚcmps   &&$$            r+   r˜  r˜  p  s<  € Ø×$Ñ$Ó&€MØ&×.Ñ.Ó0Ðßô —y’y -Ð!DÓEˆÜ(-¯
ª
°<ÈÔ(MÑ%ˆà(¨Õ,°ÀÀÐ0DÑDˆÜ×.Ò.¨~ÀÀ1¸vÀuÓMˆçØ+×7Ñ7Ó9ˆNä×Ò Ó/ˆØ�‰˜q ,Ó?ˆà�A˜Ÿ™Ó(Ð)×1Ñ1°(·.±.ÓAÐAä"'§*¢*Ð-?Ó"@ÑÐÜ× Ò Ð!5ÓEˆÜ—;’;˜s×%?Ñ%?Ó%AÑAÀ3ÈÓJˆØ"Õ,°Ñ=ˆß#)ˆc�o‰oÔ¨sˆØ�{‰{˜8Ÿ>™>Ó*Ð*r*   c                 ó4   € V P                  R4      pW!,          # r^   )rc  )r‘   rð  Ú	flatteneds   && r+   Útaker´  �  s   € ð —‘˜RÓ €IØÕÐr*   c                 ó¬   € Vf   \         P                  pV\         P                  8X  d   \        V4      p\        P                  WP                  VR7      # r¶  )rG   r£  Úpreserve_formatr   rœ   ÚresizerS  )r‘   r  r   s   &&&r+   Ú	resize_asr¸  ”  sB   € àÒÜ×/Ñ/ˆØœ×-Ñ-Ô-Ü-¨eÓ4ˆÜ�;‰;�tŸ[™[¸ˆ;ÓFÐFr*   c                óH   € V ^8„  d   QhR\         R\         R\        R\         /# )r-   r�   r‘   r³  rë  rÊ  )r5   s   "r+   r6   r6   ž  s6   € ÷ vñ vÜðvä
ðvô ðvô ñvr*   c                óü  € \         P                  ! 4       '       d   \        # V P                  '       d   \        # V P                  P
                  R8X  d   \        # VP                  R4      pVP                  R4      p	V P                  R4      p
V P                  R4      pVP                  4       ^8H  pV'       g4   VP                  ^ 4      pV P                  ^ 4      p VP                  ^ 4      pVP                  ^ 4      pVP                  ^4      pV P                  \         P                  \         P                  39   pV'       d   \         P                  MV P                  p\         P                  ! WÞ,          W‰,          VV P                  R7      pV P                  WÞ,          W«,          4      pVP                  WÞ,          W«,          4      pV'       d    VP                  \         P                  4      pVP!                  ^VV4      pVP                  WÞW‰4      pV'       d   VP                  V P                  4      p\"        P$                  ! V4      pVP'                  VR7      pV'       g   VP)                  ^ 4      pV# )uj  
Decomposition of max_pool2d_with_indices_backward using scatter_add.

This replaces the native implementation with a high-level decomposition
that uses scatter_add for gradient accumulation. The scatter-based approach
provides automatic optimization opportunities for Inductor and handles all
pooling configurations without requiring specialized fallback paths.

Algorithm:
    For each output gradient position, use the corresponding index from the
    forward pass to scatter the gradient to the input position. When multiple
    output positions select the same input position as max, scatter_add
    automatically accumulates their gradients.

Complexity: O(B * C * H_out * W_out)
    Independent of kernel size, unlike traditional O(B * C * H_in * W_in * KÂ²)
    approaches that iterate over input positions and kernel windows.

Known Limitations:
    - FP16/BF16: Uses FP32 accumulation internally to preserve precision when
      many gradients accumulate to the same position (overlapping pooling windows).
      This adds slight overhead but ensures numerical stability.
    - Deterministic mode: Falls back to native implementation to ensure
      consistent results across runs

Args:
    grad_output: Gradient w.r.t. pooling output [B, C, H_out, W_out]
    self: Original input tensor (for shape) [B, C, H_in, W_in]
    kernel_size: Pooling kernel size
    stride: Pooling stride
    padding: Pooling padding
    dilation: Pooling dilation
    ceil_mode: Whether to use ceil for output size calculation
    indices: Indices from forward pass (per-channel linear positions)

Returns:
    Gradient w.r.t. input [B, C, H_in, W_in]
r  r  rŸ  r¡  r`   )rG   Ú$are_deterministic_algorithms_enabledrø  r”  rá  r`  rl  rY   rb   r  r)  rd  r  r@  rc  r>   Úscatter_addr2   r   r  rX  )r�   r‘   r  rÀ  r  r  r³  rë  Ú	in_heightÚin_widthÚ
out_heightÚ	out_widthrÉ  rú  ÚchannelsÚuse_fp32_accumÚaccum_dtypeÚgrad_input_flatÚgrad_output_flatr   re   r   s   &&&&&&&&              r+   Ú max_pool2d_with_indices_backwardrÆ  �  s  € ôd ×1Ò1×3Ò3ÜÐà××ÐÜÐð ×Ñ×Ñ %Ô'ÜÐð —	‘	˜"“€IØ�y‰y˜‹}€HØ×!Ñ! "Ó%€JØ× Ñ  Ó$€Ið —‘“˜q‘€JßØ�~‰~˜aÓ ˆØ!×+Ñ+¨AÓ.ˆØ×#Ñ# AÓ&ˆà—‘˜1“€JØ�y‰y˜‹|€Hð
 !×&Ñ&¬5¯=©=¼%¿.¹.Ð*IÑI€Nß#1”%—-’-°{×7HÑ7H€Kô —k’kØÕØÕØØ×!Ñ!ô	€Oð #×*Ñ*ØÕ˜zÕ5óÐð —?‘? :Õ#8¸*Õ:PÓQ€L÷ Ø+×.Ñ.¬u¯}©}Ó=Ðð &×1Ñ1°!°\ÐCSÓT€Oð !×(Ñ(¨¸yÓS€J÷ Ø—]‘] ;×#4Ñ#4Ó5ˆ
ô ×/Ò/°Ó5€MØ×&Ñ&°]Ð&ÓC€J÷ Ø×'Ñ'¨Ó*ˆ
àÐr*   c                óÔ   € V ^8„  d   QhR\         R\        P                  R,          R\        P                  R,          R\        P                  R,          R\
        R,          R\        /# )r-   Úwindow_lengthr  Nr  rá  r:  rZ   )r\   rG   r  r  rá  r4   r   )r5   s   "r+   r6   r6     se   € ÷ ñ Üðô �;‰;˜Õðô �L‰L˜4Õð	ô
 �L‰L˜4Õðô �t•ðô ñr*   c          	     óL   € \         P                  P                  V RVVVVR7      # )a›  hann_window(window_length, *, dtype=None, layout=None, device=None, pin_memory=False) -> Tensor

Returns a Hann window of size :attr:`window_length` with ``periodic=True``.

Equivalent to :func:`torch.hann_window` with ``periodic=True``.

Args:
    window_length (int): the size of returned window.

Keyword args:
    dtype (:class:`torch.dtype`, optional): desired dtype. Default: global default.
    layout (:class:`torch.layout`, optional): desired layout. Default: ``torch.strided``.
    device (:class:`torch.device`, optional): desired device. Default: current device.
    pin_memory (bool, optional): if ``True``, pins the returned tensor. Default: ``False``.
Tr:  )rœ   Úhann_windowÚperiodic)rÈ  r  r  rá  r:  s   &$$$$r+   rÊ  rÊ    s4   € ô2 ×Ñ×$Ñ$ØØØØØØð %ó ð r*   c                óà   € V ^8„  d   QhR\         R\        R\        P                  R,          R\        P                  R,          R\        P
                  R,          R\        R,          R\        /# )	r-   rÈ  rË  r  Nr  rá  r:  rZ   )r\   r4   rG   r  r  rá  r   )r5   s   "r+   r6   r6   <  sm   € ÷ 6ñ 6Üð6äð6ô �;‰;˜Õð	6ô
 �L‰L˜4Õð6ô �L‰L˜4Õð6ô �t•ð6ô ñ6r*   c               ó@  € Ve   TM\         P                  ! 4       pV ^ 8X  d   \         P                  ! RW#WER7      # V ^8X  d   \         P                  ! RW#WER7      # \        P
                  ! V4      pV'       d
   V ^,           MT p\         P                  ! VVVVVR7      pVR\         P                  ,          V^,
          ,          ,          p\         P                  ! V4      pVR,          R,           pV'       d   VP                  ^ ^ V 4      MTp	V	P                  V4      # )a   hann_window(window_length, periodic=True, *, dtype=None, layout=None, device=None, pin_memory=False) -> Tensor

Returns a Hann window of size :attr:`window_length`.

.. math::
    w[n] = 0.5 - 0.5 \cos\!\left(\frac{2\pi n}{N-1}\right)

where :math:`N` is ``window_length + 1`` when ``periodic=True`` (for spectral analysis),
or ``window_length`` when ``periodic=False`` (symmetric window).

Low-precision dtypes (``bfloat16``, ``float16``) are computed in ``float32`` then cast.

Args:
    window_length (int): the size of returned window.
    periodic (bool, optional): if ``True``, returns a periodic window for use with STFT.
        Default: ``True``.

Keyword args:
    dtype (:class:`torch.dtype`, optional): desired dtype. Default: global default.
    layout (:class:`torch.layout`, optional): desired layout. Default: ``torch.strided``.
    device (:class:`torch.device`, optional): desired device. Default: current device.
    pin_memory (bool, optional): if ``True``, pins the returned tensor. Default: ``False``.
r:  r  r½   r‰   rl   rÎ   )rG   Úget_default_dtyper!  ræ  r2   rº  rå  ÚpiÚcosrm  r>   )
rÈ  rË  r  r  rá  r:  Úcompute_dtyperõ  r  Úwindows
   &&$$$$    r+   Úhann_window_periodicrÓ  :  sõ   € ðD Ò&‰E¬E×,CÒ,CÓ,E€EØ˜ÔÜ�{Š{Ø˜°Vô
ð 	
ð ˜ÔÜ�zŠzØ˜°Vô
ð 	
ô ×/Ò/°Ó6€Mß%ˆ˜Ö¨=€AÜ�ŠØ	ØØØØô	€Að 	
ˆS”5—8‘8�^˜q 1�uÕ%Õ&€AÜ�	Š	�!‹€AØ	ˆD��3�€Aß.6ˆQ�X‰X�a˜˜MÔ*¸A€FØ�9‰9�UÓÐr*   c                ó<   € V ^8„  d   QhR\         R\        R\         /# )r-   r‘   Únum_classesrZ   r[   )r5   s   "r+   r6   r6   ’  s!   € ÷ ñ ”&ð ¤sð ´Fñ r*   c                 óü  € VR8X  d/   \        V P                  4       P                  4       4      ^,           p\        P                  P                  \        P                  ! V ^ 8¬  4      R4       \        P                  P                  \        P                  ! W8  4      R4       V P                  R4      \        P                  ! WP                  V P                  R7      8H  P                  \        P                  4      # )r_   z+one_hot: Class values must be non-negative.z7one_hot: Class values must be smaller than num_classes.r  r`   )r\   r§   ra  rœ   Ú_assert_asyncÚmsgrG   r<  rb   rå  r  rá  r>   r  )r‘   rÕ  s   &&r+   Úone_hotrÙ  ‘  s±   € à�bÔÜ˜$Ÿ(™(›*Ÿ/™/Ó+Ó,¨qÕ0ˆä×Ñ×ÑÜ�	Š	�$˜!‘)ÓØ5ôô 	×Ñ×ÑÜ�	Š	�$Ñ$Ó%ØAôð
 	�‰�rÓÜ�<Š<˜¯:©:¸d¿k¹kÔJñ	Kç�bŒ�‰ƒoðr*   c                óV   € V ^8„  d   Qh/ ^ \         9   d   \        \        ,          ;R&   # )r-   Ú__all__)Ú__conditional_annotations__rµ  rË   )r5   s   "r+   r6   r6      s    € × Ñ ÷R Ò ŒŒc�Ñ òS r*   )FF)Únoner;   r  )r   NNr_   )r`   FFr%  r‰   r  )r_   r_   F)Fr®   rÙ   )r®   r{   N)r   r_   Nrþ  rü  )NNN)r   r   FT)r   r   Fr  )r®   FrT  )r`   (’  rÜ  rT   r'  r|  r  rÁ  Úcollections.abcr   r   Ú
contextlibr   Úenumr   r   r   r	   r
   Útypingr   r   rG   Útorch._meta_registrationsÚtorch._primsrB  r›  Útorch._prims_commonÚ_prims_commonr2   Útorch.nn.functionalr¤  rè  rå   r   r   r   Útorch._decompr   rC  r   r   r   r   r   r   Útorch._prims_common.wrappersr   r   r   r   Útorch.utilsr   rJ   Útorch.utils._pytreer   r  ÚDispatchKeyrÛ  Ú_opsrÒ  rœ   r    rV   r3   rñ  Úcompute_only_pw_cast_for_opmathÚpw_cast_for_opmathÚ"pw_cast_for_opmath_non_tensor_argsr¼  Úpw_cast_for_int_to_realrd   rp   rs   r   r�   rÙ  rÔ  r“   rž   r«   r±   r¶   r¹   r¿   rÂ   rÇ   rá   rë   rï   rò   rö   rý   r  r  r  r%  r-  r1  r'   r’   r5  Ú_safe_softmaxrA  rF  rK  r×  re   rU  rY  rê   r\  rg  rv  r�  r…  r‹  r�  r“  r–  rš  r®  r¹  ÚslicerÍ  rÜ  r¸  ró  rú  rÿ  r  r  r  rj  r’  r–  rÒ  rÙ  rß  Úpy_implÚCompositeImplicitAutogradÚAutogradrÞ  rõ  rò  r  r  r  rˆ  r$  r)  r/  r>  rA  rI  rM  rP  rH  rb  rZ  rj  rq  r  Ú	dtype_outrt  r{  r�  r‡  r¥  rª  r®  rÊ  rÍ  rÞ  rã  rù  r  r  Úunsafe_chunkr	  r  r  Úno_statsr  r  r%  r-  r2  r5  Ú_fused_dropoutr9  rH  rW  ÚliftÚ
lift_freshrK  rQ  rT  rY  rX  ro  ru  ry  Ú_adaptive_avg_pool2dr±  rÞ  ræ  rê  rþ  r  r!  r1  r?  rI  rÌ  rG  rx  r�  r„  r  r•  r�  rŸ  r­  r°  rË  r~  rÖ  rß  r¹  Ú_upsample_nearest_exact1drÙ  râ  r¾  rÄ  rÏ  r¶  rî  rö  rû  rÿ  r  r  r  r  r-  r6  Úrnn_tanhrã   r=  Úrnn_relur@  rE  rF  rI  rU  rX  r^  rj  Úlstmrm  ro  rx  rz  Úgrur|  r~  r€  r…  r‡  rˆ  r‹  rŒ  r—  rš  r”  r�  rœ  rŸ  r¨  r°  rŽ  rÌ  rÎ  r¾  ræ  r‰  ré  r  rç  rí  rð  rö  rù  r  r
  r§  r  r  r"  r+  r.  r3  rœ  rŸ  r€  r©  r·  r¤  Úupsample_bicubic2drõ  rý  Úreflection_pad1dÚreflection_pad2dÚreflection_pad3dr
  Úreplication_pad1dÚreplication_pad2dÚreplication_pad3dr  r  Úreflection_pad1d_backwardÚreflection_pad2d_backwardÚreflection_pad3d_backwardr0  r3  r6  rå  r?  r=  r±  r@  rD  rS  rb  Ú+_scaled_dot_product_flash_attention_for_cpurs  rz  r€  r‚  r±  r$  rˆ  rX  rY   rŒ  r’  r›  r   r—  r˜  r´  r¸  rÆ  rÊ  rË  Úperiodic_outrÓ  Úaddbmm_ÚaddbmmÚaddmm_Úaddmv_Úbaddbmm_Úfill_Úgelu_ry  Ú
hardswish_Ú	hardtanh_ÚhardtanhÚhardsigmoid_Ú__iand__Ú__and__Ú__ilshift__Ú
__lshift__r`  ra  Úindex_reduce_Úindex_reduceÚ__ior__Ú__or__Ú__irshift__Ú
__rshift__Ú__ixor__Ú__xor__Úldexp_Úleaky_relu_Ú
leaky_reluÚlogit_ÚlogitÚrelu_rz  Úrenorm_ÚrenormÚround_r½  Úscatter_rb  Úscatter_add_r¼  Úscatter_reduce_Úscatter_reduceÚsilu_rÙ  r6   )rÜ  s   @r+   Ú<module>r3	     s)0  øð÷ Ò Û Û Û Û 
ß .Ý "Ý ß %ß $ß ã Û  Ý Ý #ß Ð ß ,Ñ ,Ý 0Ý 7÷õ ÷ó õ *Ý (ð �h‰h×"Ñ"€ð €Ó à‡z�z‡~�~×Ñ€ô�ô ÷'ð 'ñT #*ØØ×8Ñ8×@Ñ@Øô#Ð ñ
 Ø˜u×DÑD×LÑLôÐ ñ &-ØØ×8Ñ8×@Ñ@Ø ô&Ð "ñ
 "Ø˜u×DÑD×QÑQôÐ õñ ˜×*Ñ*Ó+Ùˆ\ÓØô2ó ó ó ,ð2ñ ˜×-Ñ-Ó.Ùˆ\ÓØô4ó ó ó /ð4ñ ˜×.Ñ.Ó/Ùˆ\ÓØôSó ó ó 0ðSñ
 ˜×)Ñ)Ó*Ùˆ\ÓØô
ó ó ó +ð
ñ2 ˜Ÿ™×)Ñ)Ð*Ó+ñ(ó ,ð(ñ ˜Ÿ™×)Ñ)Ð*Ó+ô"ó ,ð"ñ ˜×(Ñ(Ó)ÙƒØô@ó ó ó *ð@ñ ˜×1Ñ1Ó2Ùˆ\ÓØôó ó ó 3ðñ ˜×.Ñ.Ó/Ùˆ\ÓØôPó ó ó 0ðPñ ˜Ÿ™Ó'ÙƒØôGó ó ó (ðGñ ˜×/Ñ/Ó0ÙƒØôó ó ó 1ðñ ˜×/Ñ/Ó0Ùˆ\Óô:ó ó 1ð:ñ ˜×0Ñ0Ó1Ùˆ\ÓØôLó ó ó 2ðLñ ˜×*Ñ*Ó+Ùˆ\ÓØ÷)ó ó ó ,ð)ñ< ˜×*Ñ*Ó+Øô5ó ó ,ð5ñ ˜Ÿ	™	Ó"ÙƒØô&ó ó ó #ð&ñ ˜×*Ñ*Ó+Ùˆ\ÓØô>ó ó ó ,ð>ñ
 ˜×*Ñ*Ó+ô6ó ,ð6ñ ˜×3Ñ3Ó4ô%ó 5ð%ñ ˜×6Ñ6Ó7ÙƒØô
ó ó ó 8ð
ñ$ ˜×1Ñ1Ó2Ùˆ\ÓØô<ó ó ó 3ð<ñ ˜Ÿ
™
Ó#Ùƒô/ó ó $ð/õõñ ˜Ÿ™Ó&ÙƒØà3<·>±>×3GÑ3Gö1ó ó ó 'ð1ñ ˜×.Ñ.Ó/Ùˆ\ÓØô1ó ó ó 0ð1ñ ˜×*Ñ*Ó+ô0ó ,ð0ñ ˜×+Ñ+Ó,ÙƒØð —^‘^×)Ñ)Øö		1ó ó ó -ð	1ñ ˜×4Ñ4×<Ñ<Ó=Øôó ó >ðñ ˜×4Ñ4×?Ñ?Ó@Øô
Ró ó Að
Rñ ˜×0Ñ0×8Ñ8Ó9Øô	ó ó :ð	ñ ˜×0Ñ0×4Ñ4Ó5Øô
Ró ó 6ð
Rõ#$ñL ˜×)Ñ)Ó*Ùˆ\ÓØôNó ó ó +ðNñ( ˜×.Ñ.Ó/Ùˆ\Óô.ó ó 0ð.ñb ˜×0Ñ0Ó1Ùˆ\Óô$ó ó 2ð$ñN ˜×1Ñ1Ó2ÙƒØð !Ø—^‘^×)Ñ)ö	1ó ó ó 3ð1ñ& ˜×:Ñ:Ó;Ùˆ\ÓØð
 !Ø—^‘^×)Ñ)öó ó ó <ðñ  ˜×-Ñ-Ó.ÙƒØð —^‘^×)Ñ)ö1ó ó ó /ð1ñ ˜×6Ñ6Ó7Ùˆ\ÓØð
 —^‘^×)Ñ)ö		ó ó ó 8ð	ñ ˜Ÿ	™	Ó"Ùƒ÷)ó ó #ð)ñ ˜×,Ñ,Ó-Ùƒô&ó ó .ð&ñ ˜×+Ñ+Ó,Ùƒô	Oó ó -ð	Oñ ˜Ÿ
™
×)Ñ)Ó*÷3?ó +ð3?õlñ. ˜×*Ñ*Ó+Ùƒ÷$Uó ó ,ð$UñN ˜×,Ñ,Ó-ÙƒôEó ó .ðEñ
 ˜×.Ñ.Ó/ÙƒôOó ó 0ðOõñ ˜×3Ò3Ó4Ùˆ\ÓØ ôXó !ó ó 5ðXñ ˜×7Ò7Ó8ÙƒØ ôKó !ó ó 9ðKò*ñ& ˜ŸšÓ$ÙƒôMó ó %ðMñ` ˜ŸšÓ$ÙƒØô]ó ó ó %ð]ñ@ ˜×4Ò4Ó5Ùƒô
ó ó 6ð
ñ ˜×,Ò,Ó-Ùƒôc#ó ó .ðc#ñL ˜×+Ò+×3Ñ3Ó4Ø÷
ó ó 5ð
ñ& ˜ŸšÓ%Ø‡‚×Ñ×Ò˜k×CÒCÓDØ‡‚×Ñ×Ò˜k×2Ò2Ó3ôó 4ó Eó &ðñ ˜×+Ò+Ó,ÙˆV�VÓôAó ó -ðAñ ˜ŸšÓ&Ùƒôó ó 'ðõ*,ñ( ˜×)Ò)Ó*Ù˜Ôôó ó +ðñ, ˜ŸšÓ'Ùƒ÷ó ó (ðñ( ˜×5Ò5Ó6Ùƒôó ó 7ðõBõõ*õ
õ"ñJ ˜Ÿš×0Ñ0°$·/²/×2EÑ2EÐFÓG÷ó Hðñ  Ø	×Ò×'Ñ'¨×)CÒ)C×)GÑ)GÐHó÷óðñ  ˜×)Ò)×0Ñ0Ó1÷5ó 2ð5ñ ˜×4Ò4×<Ñ<Ó=÷Bó >ðBñ ˜Ÿ
š
×)Ñ)Ó*÷/ó +ð/ð2 ×Ò×-Ò-×5Ò5Ø×)Ò)ó÷//óð//ñf ˜Ÿš×+Ñ+¨T¯ZªZ¯^©^Ð<Ó=Ù˜ÔØ÷ó ó ó >ðñ" ˜Ÿš×)Ò)¨4¯:ª:×+?Ò+?Ð@ÓAÙ˜Ô÷+ó ó Bð+ñ ˜×.Ò.Ó/ÙƒØ÷ó ó ó 0ðð" ÷	ó ð	ñ ˜Ÿ
š
Ó#Ù˜Ô÷5ó ó $ð5ñ ˜×7Ò7×?Ñ?Ó@ØôS&ó ó AðS&ñn ˜×7Ò7×;Ñ;Ó<ôó =ðõ8ñ ˜×7Ò7×?Ñ?Ó@ôQó AðQñj ˜×7Ò7×;Ñ;Ó<ôó =ðñ4 ˜×,Ò,×4Ñ4Ó5ô3ó 6ð3ñl ˜×5Ò5×=Ñ=Ó>ôHó ?ðHõVRñj ˜×.Ò.Ó/ÙˆU�K Ó/ô(ó 0ó 0ð(ð4 ×Ò×Ñ×'Ò'¨×(<Ò(<Ó=Ø×Ò×Ñ×'Ò'¨×(MÒ(MÓNô 
ó Oó >ð 
ðF ×Ò×Ñ×"Ò" ;×#HÒ#HÓI÷Gó JðGñ ˜×AÒA×IÑIÓJôó Kðñ* ˜×5Ò5×=Ñ=Ó>ô(ó ?ð(ñ  ˜×5Ò5×>Ò>Ó?ô(ó @ð(ñ ˜×@Ò@×HÑHÓIôKó JðKõ4ñ: ˜×4Ò4×<Ñ<Ó=ô1ó >ð1ñ4 ˜×?Ò?×GÑGÓHôCó IðCñ8 ˜×2Ò2×:Ñ:Ó;ô1ó <ð1ñ4 ˜×+Ò+Ó,ÙˆV�VÓô(ó ó -ð(ñ ˜ŸšÓ&ÙƒðAð !%ðAð ð	Að
 #'ðAð ðAð ðAð 15öAó ó 'ðAñN ˜Ÿš d§i¢i°·²ÐAÓBÙƒñó ó Cðð ×Ò×Ñ×&Ò& {×';Ò';Ó<Ù˜×-Ò-Ó.ÙˆV�V˜V VÓ,ôó -ó /ó =ðò>ñ ˜×0Ò0×8Ñ8Ó9ôó :ðñ6 ˜×7Ò7×?Ñ?Ó@ôió AðiñZ ˜×7Ò7×;Ñ;Ó<ô"ó =ð"ñJ ˜×7Ò7Ó8ÙˆV�V˜VÓ$ôó %ó 9ðñ0 ˜×6Ò6Ó7ÙˆV�V˜VÓ$ôó %ó 8ðñ2 ˜×1Ò1Ó2ÙƒØôd'ó ó ó 3ðd'÷NC ñL ˜×4Ò4Ó5ÙˆU‘IÓð Ø˜Ø˜#Ø÷
ð 
ó ó 6ð
ñ ˜×4Ò4Ó5ÙˆU‘IÓð Ø˜Ø˜#Ø÷
ð 
ó ó 6ð
ñ ˜×0Ò0Ó1ÙˆU‘IÓö,ó ó 2ð,ñ^ ˜×0Ò0Ó1ÙˆU‘IÓö3ó ó 2ð3÷l8ñv ˜×)Ò)Ó*Ùƒö*8ó ó +ð*8ñZ ˜×)Ò)Ó*Ùƒö49ó ó +ð49ñn ˜ŸšÓ(ñHð ÷Hð Hó )ðHñ ˜ŸšÓ'ÙƒñIð ÷Ið Ió ó (ðIñ-@ð ÷-@ñ -@ñ` ˜×)Ò)×1Ñ1Ó2Ø×Ò×Ñ×"Ò" ;×#HÒ#HÓIõ"ó Jó 3ð"ñJ ˜×(Ò(Ó)ö<ó *ð<ñ ˜ŸšÓ(Ùƒö=ó ó )ð=÷C@ñN ˜×0Ò0Ó1Ù‰X‘xÓ Øö(ó ó !ó 2ð(ñ ˜ŸšÓ%Ùƒ÷ñ ó ó &ðñ" ˜ŸšÓ&õ;ó 'ð;ó
ó8ñ ˜×/Ò/×3Ò3Ó4Ù˜×/Ò/×3Ò3Ó4Ù˜×/Ò/×3Ò3Ó4Ø×Ò×Ò×$Ò$ [×%JÒ%JÓKØ×Ò×Ò×$Ò$ [×%9Ò%9Ó:Ø×Ò×Ò×$Ò$ [×%JÒ%JÓKØ×Ò×Ò×$Ò$ [×%9Ò%9Ó:Ø×Ò×Ò×$Ò$ [×%JÒ%JÓKØ×Ò×Ò×$Ò$ [×%9Ò%9Ó:ö	3ó ;ó Ló ;ó Ló ;ó Ló 5ó 5ó 5ð	3ñ ˜×6Ò6×:Ò:Ó;Ù˜×6Ò6×:Ò:Ó;Ù˜×6Ò6×:Ò:Ó;Ø×Ò×#Ò#×+Ò+¨K×,QÒ,QÓRØ×Ò×#Ò#×+Ò+¨K×,@Ò,@ÓAØ×Ò×#Ò#×+Ò+¨K×,QÒ,QÓRØ×Ò×#Ò#×+Ò+¨K×,@Ò,@ÓAØ×Ò×#Ò#×+Ò+¨K×,QÒ,QÓRØ×Ò×#Ò#×+Ò+¨K×,@Ò,@ÓAö	?ó Bó Só Bó Só Bó Só <ó <ó <ð	?ö#ñL ˜×0Ò0×8Ñ8¸$×:QÒ:Q×:UÑ:UÐVÓWØ×Ò× Ñ ×(Ò(¨×)NÒ)NÓOØ×Ò× Ñ ×(Ò(¨×)=Ò)=Ó>Ù D°dÕ;÷;ñ ;ó <ó ?ó Pó Xð;ñ Ø	×#Ò#×+Ñ+¨T×-KÒ-K×-OÑ-OÐPóð ×Ò×'Ñ'×/Ò/°×0UÒ0UÓVØ×Ò×'Ñ'×/Ò/°×0DÒ0DÓEÙ D°dÕ;÷Gñ Gó <ó Fó WóðGñ ˜×0Ò0×8Ñ8¸$×:QÒ:Q×:UÑ:UÐVÓWØ×Ò× Ñ ×(Ò(¨×)NÒ)NÓOØ×Ò× Ñ ×(Ò(¨×)=Ò)=Ó>Ù D°dÕ;÷Gñ Gó <ó ?ó Pó XðGñ Ø	×#Ò#×+Ñ+¨T×-KÒ-K×-OÑ-OÐPóð ×Ò×'Ñ'×/Ò/°×0UÒ0UÓVØ×Ò×'Ñ'×/Ò/°×0DÒ0DÓEÙ D°dÕ;÷Sñ Só <ó Fó WóðSñ ˜×0Ò0×8Ñ8¸$×:QÒ:Q×:UÑ:UÐVÓWØ×Ò× Ñ ×(Ò(¨×)NÒ)NÓOØ×Ò× Ñ ×(Ò(¨×)=Ò)=Ó>Ù D°dÕ;÷Qñ Qó <ó ?ó Pó XðQñ Ø	×#Ò#×+Ñ+¨T×-KÒ-K×-OÑ-OÐPóð ×Ò×'Ñ'×/Ò/°×0UÒ0UÓVØ×Ò×'Ñ'×/Ò/°×0DÒ0DÓEÙ D°dÕ;÷	ñ 	ó <ó Fó Wóð	ð ÷ñ ó ðó4ó&>ó/óö"+ó\óö&ö,/-ód& ñR ˜Ÿš×+Ò+Ó,Ø‡‚×Ò×Ò˜[×BÒBÓCØ‡‚×Ò×Ò˜[×1Ò1Ó2ò.ó 3ó Dó -ð.ñ8 ˜Ÿš×+Ò+Ó,Ø‡‚×Ò×Ò˜[×BÒBÓCØ‡‚×Ò×Ò˜[×1Ò1Ó2ò.ó 3ó Dó -ð.ñ8 ˜Ÿš×*Ò*Ó+Ø‡‚×Ò×Ò˜K×AÒAÓBØ‡‚×Ò×Ò˜K×0Ò0Ó1ò.ó 2ó Có ,ð.ñ@ ˜Ÿš×*Ò*Ó+Ø‡‚×Ò×Ò˜K×AÒAÓBØ‡‚×Ò×Ò˜K×0Ò0Ó1ò.ó 2ó Có ,ð.ó@ö/ö6=ô@/ñd ˜Ÿ	š	ŸšÓ(Ø‡‚‡‚×Ò˜×>Ò>Ó?Ø‡‚‡‚×Ò˜×-Ò-Ó.òSó /ó @ó )ñSñ@ ˜Ÿ	š	ŸšÓ'Ø‡‚‡‚×Ò˜×=Ò=Ó>Ø‡‚‡‚×Ò˜×,Ò,Ó-òSó .ó ?ó (ñSô>;ô;ñ ˜ŸšŸšÓ&Ø‡‚‡‚×Ò�{×<Ò<Ó=Ø‡‚‡‚×Ò�{×+Ò+Ó,ò.ó -ó >ó 'ñ.ñ6 ˜ŸšŸšÓ'Ø‡‚‡‚×Ò˜×=Ò=Ó>Ø‡‚‡‚×Ò˜×,Ò,Ó-ò.ó .ó ?ó (ñ.ñ6 ˜×4Ò4×8Ò8Ó9Ø×Ò×!Ò!×)Ò)¨+×*OÒ*OÓPØ×Ò×!Ò!×)Ò)¨+×*>Ò*>Ó?òó @ó Qó :ññ ˜×3Ò3×7Ò7Ó8Ø×Ò× Ò ×(Ò(¨×)NÒ)NÓOØ×Ò× Ò ×(Ò(¨×)=Ò)=Ó>òó ?ó Pó 9ññ ˜×3Ò3×7Ò7Ó8Ø×Ò× Ò ×(Ò(¨×)NÒ)NÓOØ×Ò× Ò ×(Ò(¨×)=Ò)=Ó>òó ?ó Pó 9ññ ˜×0Ò0×4Ò4Ó5Ù˜×1Ò1×5Ò5Ó6Ø×Ò×Ò×#Ò# K×$IÒ$IÓJØ×Ò×Ò×#Ò# K×$8Ò$8Ó9Ø×Ò×Ò×%Ò% k×&KÒ&KÓLØ×Ò×Ò×%Ò% k×&:Ò&:Ó;Ø×Ò×Ò×&Ò& {×'LÒ'LÓMØ×Ò×Ò×&Ò& {×';Ò';Ó<òAó =ó Nó <ó Mó :ó Kó 7ó 6ñAñ ˜×/Ò/×7Ñ7¸×9OÒ9O×9SÑ9SÐTÓUÙƒ÷Kñ Kó ó VñKñ Ø	×Ò×%Ñ% t×'?Ò'?×'CÑ'CÐDóð ×Ò×!Ñ!×)Ò)¨+×*>Ò*>Ó?Ùƒ÷Uñ Uó ó @óñ
Uñ Ø	×Ò×&Ñ&¨×(AÒ(A×(EÑ(EÐFóñ ƒ÷
ñ 
ó óñ
÷Vô/÷7ð 7÷-ð -ð öIó ñIñZ ˜×)Ò)×1Ñ1Ó2öó 3ññ ˜×,Ò,¨d×.?Ò.?Ð@ÓAÙƒòó ó Bññ ˜×+Ò+Ð,Ó-ò"ó .ñ"ñ ˜×/Ò/Ð0Ó1õ9ó 2ñ9ñ ˜×2Ò2Ð3Ó4òCó 5ñCñ6 ˜×AÒAÐBÓCòMó DñM÷23 ð 3 ñl ˜×-Ò-Ó.Ù‰X‘~Ó&öLó 'ó /ñLñ@ ˜×/Ò/Ó0Ù‰X‘~Ó&öLó 'ó 1ñL÷/ð /÷5ð 5÷
ð 
÷(Fð F÷!ð !÷Nð N÷&ð &÷"/ð /÷"!ð !÷$ð $ñ ˜×2Ò2Ó3ÙƒØöSó ó ó 4ñS÷p4ó p4ñf ˜×,Ò,Ó-ÙƒØ÷ñ ó ó ó .ññ  ˜ŸšÓ Ù˜ÔØò	#ó ó ó !ñ	#ñ ˜×=Ò=Ó>Ùƒà¨$¸)¿.¹.×:NÑ:Nô1ó ó ?ñ1÷$ð ð@ ‡‚×Ñ×Ò˜[×BÒBÓCØ‡‚‡�×Ò˜×>Ò>Ó?Ù˜ÕñyW uô yWó ó @ó DñyWñx ˜×0Ò0×8Ñ8¸$×:QÒ:Q×:UÑ:UÐVÓWØ×Ò× Ñ ×(Ò(¨×)=Ò)=Ó>ÙƒØ÷Tñ Tó ó ó ?ó XñTñn ˜×/Ò/×3Ò3Ó4Ø×Ò×Ò×$Ò$ [×%JÒ%JÓKØ×Ò×Ò×$Ò$ [×%9Ò%9Ó:ÙƒØ÷Wñ Wó ó ó ;ó Ló 5ñ
Wñ4 ˜×-Ò-Ó.Ù˜×-Ò-Ó.Ù˜×-Ò-Ó.ØÙƒö	ó ó ó /ó /ó /ñ
	ñ ˜×.Ò.Ó/Ù˜×.Ò.Ó/Ù˜×.Ò.Ó/ØÙƒö	ó ó ó 0ó 0ó 0ñ
	÷%ð %ñP ˜×6Ò6Ó7Ù˜×6Ò6Ó7Ù˜×6Ò6Ó7Ùˆ\ÓòTó ó 8ó 8ó 8ñTñn ˜ŸšÓ%Ù‰U‘E tÔ,ñ˜ñ  uô ó -ó &ññ ˜ŸšÓ$ÙƒòX°4õ Xó ó %ñXñ ˜Ÿš×,Ñ,¨d¯kªk¯o©oÐ>Ó?Ùƒð
ð !%ð
ð !Ÿ=š=ð	
ð
 #'ð
ð ÷
ð 
ó ó @ñ
ñ ˜Ÿš×*Ò*Ð+Ó,ðð !%ð	ð
 !Ÿ=š=ðð #'ðð ÷ð ó -ññ ˜	Ó"ò,ó #ñ,ñ ˜×.Ò.Ó/Ø×Ò×Ñ×'Ò'¨×(<Ò(<Ó=Ùƒð ØØ Ø—^‘^×)Ñ)÷,ð ,ó ó >ó 0ñ,ñ^ ˜×;Ò;Ó<Ø×$Ò$×,Ñ,×4Ò4°[×5IÒ5IÓJÙ‰X‘{Ó#ö/ó $ó Kó =ñ/ñ| ˜×HÒH×PÑPÓQóAð  $ñAð ÷Añ Aó RñAôHñ ˜Ÿš˜Ó'Ù˜ÔØõó ó ó (ññ ˜×)Ò)Ó*Ùƒò9ó ó +ñ9ñ ˜ŸšÓ'ò6ó (ñ6ñ ˜Ÿš×)Ñ)¨4¯8ª8¯<©<Ð8Ó9ð	Dð !%ð	Dð ÷		Dð 	Dó :ñ	Dñ ˜Ÿš×-Ñ-¨t¯|ª|×/?Ò/?Ð@ÓA÷.ñ .ó Bñ.ñ ˜Ÿ	™	Ÿ™×=Ò=Ó>õ,ó ?ñ,ñ ˜Ÿ	š	Ó"Ùƒñ
°5ñ 
Àô 
ó ó #ñ
ñ( ˜Ÿš×.Ñ.Ó/ñð )-÷ð ó 0ññ$
#°Eö 
#ñ+¸5ñ +Èö +ñ: ˜Ÿ	š	Ó"Ùƒòó ó #ññ
 ˜ŸšÓ'õGó (ñGñ ˜×=Ò=Ó>övó ?ñvñr ˜×)Ò)×1Ñ1°4×3CÒ3C×3GÑ3GÐHÓIÙƒðð !%ðð #'ð	ð
 #'ðð #÷ð ó ó JññB ˜×)Ò)×2Ò2°D×4DÒ4D×4QÒ4QÐRÓSÙƒò6ð !%ð	6ð
 #'ð6ð #'ð6ð #÷6ñ 6ó ó Tñ6òr �—’˜tŸ{š{Ô +Ú �—’˜dŸjšjÔ )Ú �—’˜dŸjšjÔ )Ú �—’ §¢Ô -Ú �—’˜TŸY™YÔ 'Ú �—’˜TŸYšYÔ 'Ú �—’ $§.¡.Ô 1Ú �—’ §¢Ô /Ú �×"Ò" D×$4Ñ$4Ô 5Ú �—’ §¢Ô -Ú �×!Ò! 4§?¢?Ô 3Ú �—’ $§.¢.Ô 1Ú �×#Ò# T×%6Ò%6Ô 7Ú �—’˜tŸ{š{Ô +Ú �×!Ò! 4§?¢?Ô 3Ú �—’ §¢Ô -Ú �—’˜dŸj™jÔ )Ú �×!Ò! 4§?¢?Ô 3Ú �—’˜dŸjšjÔ )Ú �—’˜TŸYšYÔ 'Ú �—’˜tŸ{š{Ô +Ú �—’˜dŸjšjÔ )Ú �—’ §¢Ô -Ú �×"Ò" D×$4Ò$4Ô 5Ú �×%Ò% t×':Ò':Ô ;Ú �—’˜TŸY™YÔ 'ð ‡‚×Ñ×Ò˜k×CÒCÓD÷ñ ó Eór*   